CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a non-provisional application claiming priority to U.S. Pat. App. Ser. No. 60/887,271, entitled “Hypercube Bounding Over Lattice Searching Background”, filed on Jan. 30, 2007. The above-referenced application is incorporated herein by reference.
FIELD OF THE INVENTION
The present disclosure is directed to communication systems, and more particularly, but not by way of limitation, to lattice-reduction-aided (LR-aided) communication systems.
BACKGROUND
When using linear transformation in communication systems a typical operation is an equalization step. For example, the zero forcing equalizer takes the channel matrix H and inverts it in order to perform detection. Other equalizers include the minimum mean square error equalizer and successive interference cancellation. All of these equalizers can be combined with other processing such as lattice-reduction in order to perform detection. Methods and systems that reduce detection complexity are desirable.
SUMMARY
In at least some embodiments, a wireless communication system comprises a transmitter that transmits a signal over a communication channel. The system also comprises a receiver that receives the signal as an output of the communication channel. The receiver establishes a boundary for a transformed lattice and eliminates candidates outside the established boundary.
In at least some embodiments, an electronic device comprises a processor and a receiver coupled to the processor. The receiver checks whether received candidate points are within a transformed lattice boundary.
In at least some embodiments, a method for wireless signal detection comprises identifying a boundary for a transformed lattice. The method further comprises eliminating candidates outside the boundary.
BRIEF DESCRIPTION OF THE DRAWINGS
For a detailed description of various embodiments of the invention, reference will now be made to the accompanying drawings in which:
FIG. 1 illustrates an integer lattice-based list in accordance with embodiments of the disclosure;
FIG. 2 illustrates a linear transformation on a lattice in accordance with embodiments of the disclosure;
FIG. 3 illustrates a bounding operation for the lattice of FIG. 2 in accordance with embodiments of the disclosure;
FIG. 4 illustrates an Minimum Mean-Squared Error (MMSE) Lattice-Reduction-Aided (LR-aided) Multiple-Input Multiple-Output (MIMO) detector in accordance with embodiments of the disclosure;
FIG. 5 shows a block diagram of a receiver in accordance with embodiments of the disclosure;
FIG. 6 illustrates a wireless communication system in accordance with embodiments of the disclosure;
FIG. 7 illustrates an electronic device in accordance with embodiments of the disclosure; and
FIG. 8 illustrates a wireless signal detection method in accordance with embodiments of the disclosure.
NOTATION AND NOMENCLATURE
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ”. Also, the term “couple” or “couples” is intended to mean either an indirect, direct, optical or wireless electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, through an indirect electrical connection via other devices and connections, through an optical electrical connection, or through a wireless electrical connection.
DETAILED DESCRIPTION
It should be understood at the outset that although an exemplary implementation of one embodiment of the present disclosure is illustrated below, the present system may be implemented using any number of techniques, whether currently known or in existence. The present disclosure should in no way be limited to the exemplary implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
Embodiments of the disclosure define a boundary for a translated lattice. In at least some embodiments, the boundary is formed by tracking corner or edge elements of a lattice before and after translation (before the translation, the lattice elements represent the transmitted constellation). The boundary is used to identify whether translated lattice elements (sometimes called “entries”, “points”, or “candidates”) are within a valid search space. Translated lattice entries outside the boundary are eliminated as possible candidates. Defining a boundary and identifying whether translated lattice entries are within a valid search space can reduce complexity of wireless signal detection.
FIG. 1 illustrates an integer lattice-based list in accordance with embodiments of the disclosure. In FIG. 1, a definition of an integer lattice is provided as well as a description of how a linear transformation affects a geometric shape. An integer lattice in the real vector space Rn is a discrete subgroup of the space Rn spanning the real vector space Rn. Integer lattices in Rn can be generated from a basis for the space by creating all linear combinations of the basis with integer coefficients, where the lattice elements are regularly spaced. In FIG. 1, V 102 represents V=[v1 v2] and is the basis used to generate an integer lattice E 104 having elements 108. The integer lattice E 104 represents E={m v 1+n v 2|m=±1, ±2, . . . ±c; n=±1, ±2, . . . , ±c} and is the linear combination of basis vectors v1 and v2 for integer coefficients −2, −1, 0, 1, and 2. The list L 106 represents L⊂E, c=2 and is a subset of the integer lattice E 104, where c=2. In at least some embodiments, determining a list such as L involves defining a boundary for a translated integer lattice and identifying whether translated integer lattice entries are within a valid search space. Although the embodiments described herein involve an integer lattice, alternative embodiments may involve a floating point lattice, which requires higher complexity to process.
FIG. 2 illustrates a linear transformation on a lattice in accordance with embodiments of the disclosure. The transformation shown in FIG. 2 is illustrated in two dimensions, but the same concept extends to higher dimensions as well. In FIG. 2, a square lattice 202 is passed though a matrix H 204 (i.e., by multiplication). The matrix multiplication is nothing more than a linear transformation and is, geometrically, just a stretching and squeezing of one shape into another.
As shown, the stretching and squeezing of the square lattice 202 results in a parallelogram lattice 206. Similarly, in two dimensions a linear transformation on a circle produces an ellipse. The same concept extends to higher dimensions. For example, in three dimensions a sphere becomes an ellipsoid. In dimensions four and above, a hypersphere becomes a hyperellipsoid. Also, in dimensions four and above, a hyperparallelopiped becomes another hyperparallelopiped even though the two objects are transformations of one another.
In a communication system, various lattice shapes such as those described herein may represent transmitted data. In at least some embodiments, the geometry of a translated lattice is used to place bounds on the search space. In this manner, search operations are only performed within a bounded and finite geometry formed via a translation of the input finite lattice.
FIG. 3 illustrates a bounding operation for the lattice 202 of FIG. 2 in accordance with embodiments of the disclosure. In FIG. 2, the lattice 202 is an example of a standard square quadrature-amplitude modulated (QAM) alphabet having a plurality of elements 208, including four boundary elements 310 (shown by “X”). For the square lattice 202, the boundary elements 310 are located at each corner. In alternative embodiments, lattices could be another two-dimensional shape (e.g., a rectangle, circle or ellipse) or a higher-dimensional shape (e.g., a sphere, an ellipsoid, a hypersphere, a hyperellipsoid, or a hyperparallelopiped). In such cases, additional or fewer boundary elements 310 may be used. In the case of circles, ellipses or other curved lattice surfaces, boundary elements 310 may define a curve rather than a corner.
In FIG. 3, the boundary element 310 at the bottom left corner of the lattice 202 is at the origin. After passing through a linear transformation (i.e., the matrix H) 204, the lattice 202 has been transformed into the lattice 206. As shown, the corner elements 310 of the lattice 202 remain the corner elements 310 of the transformed lattice 206. In at least some embodiments, this result is due to defining the integer alphabet such that one of the corner elements 308 is at the origin. Because the corner elements 310 are known, boundary lines 312 can be determined. Subsequently, elements 208 in the transformed space can be compared to the boundary lines 312 to determine whether or not elements 208 are within the boundary lines 312. As shown, some elements may be outside the boundary lines 312 and can thus be eliminated as candidates. The same boundary concept extends to higher dimensions and prevents searches outside of the lattice. For simplicity, the lattice 202 may be constrained to the 1st quadrant and may be composed only of integer elements. However, alternative embodiments may vary with respect to quadrant location and/or with respect to composition (i.e., integer or non-integer elements).
FIG. 4 illustrates a MMSE LR-aided Multiple-Input Multiple-Output (MIMO) detector 400 in accordance with embodiments of the disclosure. An LR-aided detector such as detector 400 operates in three steps. First, the detector 400 performs lattice reduction to find a reduced basis {tilde over (H)}=HT in block 402. As used herein, T refers to a unimodular matrix having integer entries, where the absolute value of T's determinant is 1. Second, the detector 400 adapts the viewpoint r′={tilde over (H)}c+ω′ by adding the output of block 402 with ω′ (using adder 404) and implements a low-complexity MIMO detector (e.g., a linear or decision-feedback detector) to recover c. As used herein, c refers to a shifted and scaled version of the channel input. In FIG. 4, blocks 406, 408 and 410 represent a technique for estimating c as ĉLR-MMSE=[{tilde over (H)} + r′], where
denotes a component-wise rounding to integers. In at least some embodiments, estimating ĉ involves performing the lattice bounding operation and eliminating candidates outside the boundary as described herein. Third, the detector 400 recovers the inputs to the original channel using the relationship b=Tc in block 412. In FIG. 4, b is estimated as {circumflex over (b)}=[Tĉ]B, where [•]B denotes a component-wise rounding to the nearest element of B.
When performing LR-aided detection, a common approach is to pass a 1st quadrant alphabet through a linear transformation and additive noise, where detection in the translated space is performed by rounding to the nearest integer as described for FIG. 4. Unfortunately, detection at this stage cannot guarantee that the estimated symbol truly corresponds to a point in the original lattice. To verify that the estimated symbol corresponds to a point in the original lattice, the estimate is passed back through the inverse transformation which is yet another matrix multiplication. Then the estimate is compared to the transmitted alphabet adding further complexity.
With the lattice bounding operation, the number of matrix multiplications can be reduced from two to one. Further, the need for taking the matrix inverse is eliminated for translated elements that are outside the boundary. In other words, establishing boundaries in the received space (after linear transformation) enables a comparison of received points against the lines of the bounded lattice. One way to perform the boundary check is to determine whether a candidate is on the interior of each boundary line (e.g., the lines 312). If a candidate is outside the established boundaries, the candidate is presumed to be invalid and the inverse transformation and comparison (to the original lattice) steps described previously can be omitted. Alternatively, if a candidate is within the established boundaries, the inverse transformation and comparison steps can be performed to guarantee the candidate truly corresponds to a point in the original lattice.
FIG. 5 shows a block diagram of a receiver 500 in accordance with embodiments of the disclosure. In FIG. 5, the channel output block 502 represents an incoming signal from a channel (e.g., a MIMO channel). In some embodiments, the channel output (r) is provided to a channel estimation block 504, which estimates the MIMO channel and outputs the channel matrix H. In other embodiments, the channel matrix H may have been estimated previously by other means and stored. The channel output r is also provided to a noise-variance estimation block 514, which estimates the noise variance ({circumflex over (σ)}2) of the channel output r. As shown, an equalization block 406 equalizes the channel output r and the channel matrix H yielding the equalized channel output y and the equalized channel matrix R.
The receiver 500 also has a lattice boundary computation block 510, which receives the channel matrix H and outputs boundary information to the detector 512. For example, the boundary information may correspond to the translated version of corner points or boundary points from the original set of all possible input symbol vectors to the receiver 500. The detector 512 then detects incoming signals based on the equalized channel output y, the equalized channel matrix R and the boundary information. The output of the detector 512 is forwarded to a decoder 514, which decodes the incoming signal. The bounding operation can advantageously reduce the computational burden of the receiver 500 by reducing the number of matrix multiplications (inverse transformations) and subsequent comparisons performed for detection. The blocks of FIG. 5 can be representative of hardware, firmware, and/or software as would be understood by one of skill in the art.
FIG. 6 shows an illustrative embodiment of a wireless communication system 600 in accordance with embodiments of the invention. As shown, the wireless communication system 600 comprises a MIMO transmitter 602 having at least one antenna 606 for transmitting radio frequency signals received as input 612. The MIMO transmitter 602 may represent a fixed or portable wireless device, a cellular phone, a personal digital assistant, a wireless modem card, or any other device configured to transmit on a MIMO wireless network. In FIG. 1, a MIMO receiver 604 is configured to receive radio frequency signals transmitted by the MIMO transmitter 602. The MIMO receiver 604 has at least one antenna 608 for receiving transmitted radio frequency signals.
As shown, the MIMO transmitter 602 transmits radio frequency signals to the MIMO receiver 604 through a channel 610. While MIMO systems may greatly increase spectral efficiency, the process of separating signals simultaneously transmitted from multiple antennas 606 may be burdensome for the MIMO receiver 604. To reduce the computational burden, the MIMO receiver 604 comprises a lattice boundary tester 616, which efficiently eliminates candidates determined to be outside the established boundaries of a translated lattice search space. In at least some embodiments, the lattice boundary tester 616 comprises an Application-Specific Integrated Circuit (ASIC) that receives the channel matrix as input and then outputs boundary information to the detector/decoder 614. The boundary information could take a number of forms. In at least some embodiments, the boundary information corresponds to the translated version of corner points or boundary points from the original set of all possible input symbol vectors to the receiver 604.
FIG. 7 illustrates an electronic device 702 in accordance with embodiments of the disclosure. Electronic devices such as the device 702 communicate wirelessly (or via a wired connection) using a variety of techniques to prepare, send, receive, and recover data. For example, data preparation techniques may include data scrambling, error correction coding, interleaving, data packet formatting, and/or other techniques. The data to be transmitted is converted into blocks of data (i.e., bits) transmitted as information symbols. Each information symbol is associated with a constellation of complex amplitudes.
If data communication is wireless, the electronic device 702 may employ one or more antennas to “pick up” wireless signals, after which data is recovered by sampling the received signal and decoding each information symbol. To recover data, the electronic device 702 may implement techniques such as signal amplification, digitization, sample rate conversion, data correlation, equalization, demodulation, de-interleaving, de-coding, and/or de-scrambling.
The electronic device 702 may represent any of a variety of devices such as a server, a desktop computer, a laptop computer, a cellular phone, a Personal Digital Assistant (PDA), a smart phone or other electronic devices. In various embodiments, the electronic device 702 receives communications based on an 802.11(a), (g), or (n) protocol, a Worldwide Interoperability of Microwave Access (WiMAX) protocol, an Ultra Wideband (UWB) protocol, a Long-Term Evolution (LTE) protocol or some other communication protocol now known or later developed.
As shown, the electronic device 702 comprises a processor 704 coupled to a memory 706 and a transceiver 710. The memory 706 stores applications 708 for execution by the processor 704. The applications 708 could comprise any known or future application useful for individuals or organizations. As an example, such applications 608 could be categorized as operating systems, device drivers, databases, presentation tools, emailers, file browsers, firewalls, instant messaging, finance tools, games, word processors or other categories. Regardless of the exact nature of the applications 708, at least some of the applications 708 may rely on signals received via the transceiver 710.
To more efficiently process received signals, the transceiver 710 employs a lattice detector 720 having a lattice boundary tester 722. The lattice boundary tester 722 includes a boundary definer 724 and a candidate-to-boundary comparator 726. In at least some embodiments, the boundary definer 724 identifies corner points or boundary points of a translated lattice based on the original (untranslated) set of all possible input symbol vectors to the transceiver 710. Once the boundary is defined, the candidate-to-boundary comparator 726 can compare points (candidates) in the translated space to the boundaries. If a candidate is outside the established boundaries, the candidate is presumed to be invalid and further processing for the candidate (e.g., inverse transformation and comparison to points of the original lattice) can be omitted. If a candidate is within the established boundaries, the lattice detector 720 may perform the inverse transformation and comparison steps to guarantee the candidate truly corresponds to a point in the original lattice.
FIG. 8 illustrates a wireless signal detection method 800 in accordance with embodiments of the disclosure. The method 800 comprises identifying a boundary for a translated lattice (block 802). The method 800 also comprises eliminating candidates that are outside the boundary (block 804). In at least some embodiments, identifying the boundary involves determining corner points or boundary points of a transformed lattice. If a candidate is outside the established boundaries, the candidate is presumed to be invalid and further processing for the candidate (e.g., inverse transformation and comparison to points of the original lattice) can be omitted. Thus, the method 800 can reduce the computational burden of wireless signal detection.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein, but may be modified within the scope of the appended claims along with their full scope of equivalents. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
Also, techniques, systems, subsystems and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as directly coupled or communicating with each other may be coupled through some interface or device, such that the items may no longer be considered directly coupled to each other but may still be indirectly coupled and in communication, whether electrically, mechanically, or otherwise with one another. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.