The present invention relates generally to equalization of received signals and more particularly, to reduced complexity approaches to signal equalization to mitigate the effects of intersymbol interference.
There are three main categories of equalizers. Linear equalizers can be thought of as linear filters, which try to collect the energy of the signal that has been spread over the channel response. Linear equalizers may also try to suppress residual interference due to intersymbol interference (ISI), or interference from other signals, by treating the interference as colored noise. Examples of linear receivers include the RAKE and GRAKE receivers and the chip equalizer.
A second category comprises non-linear equalizers that operate over a trellis. The trellis is defined by the state space derived from the channel model. Paths through the trellis represent candidate symbol sequences. These equalizers conduct a breadth first search through the trellis. Examples of non-linear include maximum likelihood sequence estimation (MLSE), truncated MLSE (TMLSE), and decision feedback sequence estimation (DFSE).
A third category is non-linear equalizers that operate over a tree. The tree is also defined by the channel state space. Paths on the tree represent symbol sequences. These equalizers conduct a depth first search, focusing on the most promising symbol sequences first. Examples include the stack algorithm (SA), the M algorithm, and the bucket algorithm.
The use of large signal constellations such as 16, 32 and 64QAM in EDGE, HSPA, LTE and WiMax systems makes equalization more difficult. ISI causes the equalization complexity to grow exponentially with the size of the signal constellation. Thus, there is an interest in designing equalizers with low complexity and good performance for higher order modulation.
The present invention relates to equalizing of a received signal that is subject to intersymbol interference (ISI). A detection circuit comprises a primary detector and a secondary detector. The primary detector implements a suboptimal detection algorithm to generate an initial sequence estimate based on the received signal. The primary detector or the secondary detector computes an error metric for the initial sequence estimate. The secondary detector then generates revised sequence estimates by substituting nearest neighbor symbols for initial symbol estimates in the initial sequence estimate, computes error metrics for the revised sequence estimates, and replaces the initial sequence estimate with a revised sequence estimate if one of the revised sequence estimate produces a lower error metric. In some embodiments of the invention, the secondary detector may also compute bit soft values for bits in the final symbol estimates.
Referring now to the drawings,
Wireless communication terminal 100 comprises a transceiver 110 coupled to an antenna 102 for transmitting and receiving signals, and a baseband processing circuit 120 for processing signals transmitted and received by the wireless communication terminal 100. Although only one antenna 102 is shown, those skilled in the art will appreciate that the wireless communication terminal 100 may have multiple antennas 102 for both transmission and reception.
The transceiver 110 includes a receiver and a transmitter. The receiver filters, amplifies, and downconverts received signals to baseband frequency. The baseband signals are converted into digital signals for input to the baseband processor 120. The transmitter converts transmit signals output by the baseband processor 120 into analog signals, which are then upconverted, filtered, and amplified for transmission via antenna 102.
The baseband processor 120 processes the signals transmitted and received by the wireless communication terminal 100. Typical processing tasks include, for example, equalization, modulation/demodulation, channel coding/decoding, etc. Program instructions and data to control the operation of the baseband processor 120 as hereinafter described may be stored in a computer readable memory, such as a random access memory (RAM), read-only member (ROM), flash memory, or other memory device. Control circuits 130 control the operation of the transceiver 110 and baseband processor 130. Control circuits 130 may be implemented in one or more processors. Baseband processor 120 and control circuit 130 may comprise one or more processors, microcontrollers, hardware circuits, or a combination thereof. Further, those skilled in the art will appreciate that the control circuit 130 and baseband processing circuit 120 may be implemented in a single processor.
The baseband processing circuit 120 includes a detection circuit 122 (
The detection circuit 122 according to the present invention recovers some of the performance loss of the reduced complexity equalization. The detection circuit 122 comprises a primary detector 124 for generating an initial sequence estimate using a reduced complexity algorithm, and a secondary detector 126 to search for a better sequence estimate in the vicinity of the initial sequence estimate generated by the primary detector 124. In one embodiment, the secondary detector 124 uses the true ML metric and performs a search of nearest neighbor symbols as hereinafter described. The secondary detector 124 may also generate bit soft values for use in subsequent decoding operations.
A brief description of the channel model is given to facilitate description of the present invention. For a symbol-spaced channel with memory M, the system model is given by:
rk=HMsk−M+ . . . +H1sk−1+H0sk+vk (1)
where rk is the received symbol at symbol period k, HM is a channel estimate vector for a channel with memory M from the transmit antenna to receive antenna j, sk is the transmitted symbol at symbol period k, and vk is the white Gaussian noise. For simplicity, it is assumed that there is a single transmit antenna, and one or more receive antennas. The extension to multiple transmit antennas is straightforward. The channel estimates are assumed to be constant over the duration of a burst of data, which will be equalized in one shot. The signal sk has symbol constellation Q of size q.
For simplicity, it is assumed that the transmitter uses uncoded modulation. The transmitter may use partial response signaling, which is in effect filtering at the transmitter. In general, the effect of filtering at the transmitter or the receiver may be incorporated into the channel model above. If coded modulation such as trellis coded modulation or block coded modulation is used, the number of possible candidate sequences is reduced and will be reflected in the structure of the search trellis or the search tree. Otherwise, the same principles apply.
If K symbols are transmitted by the transmitter, the receiver must choose among qK possible candidate sequences of length K, denoted Ŝ1=(ŝ1 . . . ŝK), where the index i denotes a particular candidate sequence. An ML detector associates a sequence metric with each candidate sequence Ŝ1, and selects the candidate sequence with the “best” sequence metric. In the ML case, the detector computes incremental metrics for each symbol estimate in a candidate sequence and sums the incremental metrics to get a sequence metric. The incremental metric for a symbol in the candidate sequence is the minimum mean squared error given by
ek=∥rk−{circumflex over (r)}k∥2 (2)
where rk is the actual received symbol and {circumflex over (r)}k is a reconstructed received symbol given by
{circumflex over (r)}k=HMŝk−M+ . . . +H0ŝk (3)
The channel estimates can be computed from pilot symbols. The sequence metric EK is the sum of incremental symbol metrics, given by
The sequence metric EK is the correct metric in the maximum likelihood (ML) sense. That is, if all possible sequences are searched, the one with the smallest EK is the ML solution.
A maximum likelihood sequence estimation (MLSE) equalizer uses the sequence metric EK and searches over all qK possible sequences. However, the optimal equalizer in the ML sense is also the most complex. For a channel with memory M, the MLSE equalizer operates on a trellis with K stages, where each stage has qM states, and the transition to the next stage has qM+1 branches. At stage k−1, a state represents M symbols (ŝk−M, . . . , ŝk−1). For notational simplicity, we label the states at each stage 0 to qM−1. At the transition from stage k−1 to stage k, a branch represents a symbol ŝk, and is labeled by its starting and ending state pair (j′,j). For each state j, the fan-in I(j) is the set of incoming branches.
The branch metric of a branch (j′,j) is denoted ek(j′,j), and given by Eq. (2). The trellis starts at stage 0 in state 0. At each stage, the equalizer determines a surviving path for each state and computes a sequence metric for the surviving path. The surviving path is the path leading into a state with the lowest sequence metric. The sequence metric for the surviving path becomes the state metric for the state. At stage k, the state metric Ek(j) of state j is given by
In addition, the state in I(j) that achieves the minimum is the called the predecessor of state j, and denoted πk−1(j). Note that by tracing back from state j to state 0, we identify the partial sequence (ŝ1, . . . , ŝk) whose sequence metric according to Eq. 4 coincides with Ek(j). When the last stage K is reached, the best sequence overall can be found by tracing back through the trellis from the state with the best state metric. Roughly speaking, the storage complexity of the MLSE is driven by the number of states, and the computational complexity by the number of branches. As either M or q grows large, the complexity explodes.
There are a number of reduced complexity equalizers that attempt to approximate the ML solution. One such reduced complexity equalizer is the decision feedback sequence estimation (DFSE) equalizer. The DFSE equalizer uses the ML metric, but reduces the search space. The DFSE memory M′<M is a design parameter. The DFSE trellis is the same as a MLSE trellis, but with qM′ states.
At stage k−1, a state now represents the newer M′ symbols (ŝk−M′, . . . , ŝk−1). The missing older (M-M′) symbols needed to compute the incremental metrics are found by tentative decisions. That is, they are identified by tracing back (M-M′) stages from that state. The reduction of the state space means that the DFSE equalizer search is restricted. Conceptually, by making tentative decisions at intermediate stages, the DFSE is only considering the most promising partial sequences for further extension in subsequent stages.
Another reduced complexity equalizer is referred to herein as the truncated MLSE equalizer. The truncated MLSE equalizer reduces complexity by truncating the channel response and ignoring channel taps beyond a certain value M′<M in the computation of the branch metrics. The truncated MLSE trellis is the same as a MLSE trellis, but with qM′ states at each stage. At stage k−1, a state represents M′ symbols (ŝk−M′, . . . , ŝk−1). The incremental metric is restricted to M′ symbols and channel taps. Consequently the sequence metric is different from the ML metric.
Another type of equalizer is the Stack algorithm (SA) equalizer. The SA is an aggressive depth first tree search algorithm with a simple structure. It is well suited for scenarios where the state space is very large, making breadth first techniques impractical. One notable feature of the Stack algorithm is the comparison of symbol sequences of different lengths, for the purpose of ranking them as more or less likely eventual solutions. This is made possible by the Fano metric.
The Stack algorithm operates on a tree of depth K. The root node of the tree, denoted Θ, is at index 0. A node N at index k−1 is associated with its partial sequence (ŝ1, . . . , ŝk−1) starting from the root node. The fan-out of node N is the set of q branches that start in N. Each branch represents a symbol ŝk. The extension of node N by a branch B results in a new node N′ at index k, associated with the partial sequence (ŝ1, . . . , ŝk).
The branch B is allocated an incremental metric, given by
fk(B)=∥rk−{circumflex over (r)}k∥2−βk (6)
This is known as the Fano metric. The bias term βk is needed to enable the comparison of partial sequences of different lengths. There are many methods for choosing this bias. For instance, a simple bias is given by the noise power. The end node N′ is allocated a node metric, given by
Fk(N′)=Fk−1(N)+fk(B) (7)
Note that the true sequence metric of (ŝ1, . . . , ŝk), given by Eq. 4 does not coincide with Fk(N′), due to the bias in the Fano metric.
In the full tree of depth K, each node is extended, and every possible sequence of length K is represented. However, the SA does not search the full tree, but instead tries to focus on the nodes corresponding to the most likely sequences. In this sense, the SA defines a sparse sub-tree of the full tree.
The SA equalizer includes an ordered list of nodes, with the best candidate on top. The best node is removed from the stack. It is extended via the branches in its fan-out. The resulting new nodes are slotted in the stack according to their Fano-based sequence metric. The SA is initialized with Θ. The SA stops when the node at the top of the stack has index k=K. The sequence of length K corresponding to that node is the output.
Returning to
Because a suboptimal search algorithm is used in the primary detector 124, detection errors may occur.
Changing ŝi to
This equation highlights the change in the sequence metric. It is also an efficient way of computing ÊK if K is large compared to M. If ÊK<{tilde over (E)}K, then
The primary purpose of the secondary detector 126 is to perform a search in the vicinity of the initial sequence estimate Ŝ generated by primary detector 124 to determine if a better sequence estimate exists. Of course, the search is not exhaustive and dos not guarantee that the best solution will be found.
The secondary detector 124 generates the revised sequence estimates by substituting nearest neighbor symbols for initial symbol estimates in the initial sequence estimate. A nearest neighbor symbol is one of N symbols in the signaling constellation with the smallest Euclidean distances from a symbol in the initial sequence estimate. The secondary detector 124 defines a set of nearest neighbor symbols for each initial symbol estimate and substitutes each nearest neighbor symbol into the initial sequence estimate to generate one revised sequence estimate. In some embodiments, the set of nearest neighbor symbols will include only the true nearest neighbor. In other embodiments, the set of nearest neighbor symbols may include the two or more nearest neighbor symbols. Generally, it is preferred that the nearest neighbor symbols be determined in the “receive domain” to account for the effects of the channel. That is, the selection of the nearest neighbor should consider the effect of the channel, and consider the nearest neighbors of the reconstructed received sequence {circumflex over (R)}({circumflex over (r)}1, . . . , {circumflex over (r)}K), where each value {circumflex over (r)}1 is found from the appropriate symbols of Ŝ using Eq. 2. Finding the nearest neighbor in the receive domain is a highly complex operation. Also, since the channel changes with time, the operation needs to be repeated each time the channel conditions change.
One aspect of the present invention is to provide a more manageable nearest neighbor procedure. In one exemplary embodiment, the nearest neighbor symbols in the “transmit domain” rather than the “receive domain” are used. That is, the effect of the channel is ignored, and the only nearest neighbor symbols of Ŝ in the signaling constellation are considered. Furthermore, the nearest neighbor symbols can, in some embodiments, be determined for individual symbols in Ŝ, which will greatly simplify the search for nearest neighbor symbols. The nearest neighbor set of a symbol value ŝ is denoted T(s).
By ignoring the effect of channel in determining the nearest neighbor set, some valuable information is lost. A nearest neighbor symbol in the transmit domain is not necessarily a nearest neighbor symbol in the receive domain. Nevertheless, it is a good guess in an average sense. Also, while the nearest neighbor symbols are determined in the transmit domain, the effect of the channel on the nearest neighbor symbols is taken into account in the form of short length error events, as it will become clear below.
A popular map for QAM is defined per ASK component. That is, for 16-QAM, the 4-bit map is defined as two 2-bit Gray maps on the 4-ASK components. One can check that the 4 inner symbols each have 4 nearest neighbors. The 4 corner symbols each have 2 nearest neighbors. The remaining 8 outer symbols each have 3 nearest neighbors. Similarly, for 64-QAM, the 6-bit map is defined as two 3-bit Gray maps on the 8-ASK components. The 36 inner symbols each have 4 nearest neighbors. The 4 corner symbols each have 2 nearest neighbors. The remaining 24 outer symbols each have 3 nearest neighbors.
In one exemplary embodiment, the sequence generator 130 changes one symbol at a time in the initial sequence estimate to generate the revised sequence estimates and the error calculator 132 computes an error metric for each revised sequence estimate as well as the initial sequence estimate Ŝ. That is, the sequence generator 130 starts with the first symbol ŝ1 in Ŝ and replaces it with one of the nearest neighbor symbols
In some embodiments of the invention, the sequence generator 130 may change two or more one symbols in the initial sequence estimate Ŝ at a time to generate the revised sequence estimates
The sequence generator 130 may change up to L adjacent symbols at a time. The number L is a design parameter. Thus, the nearest neighbor set U(
U(
Including
The search procedure for the case where multiple symbols are changed at a given time is essentially the same as previously described. The sequence generator 130 starts with the first L symbols in the initial sequence estimate Ŝ, using U(
The search procedure may be generalized further by overlapping the successive groups of L symbols. For instance, assuming L is an even number, after the first L symbols are considered, the next L symbols to be considered consist of the second half of the first L symbols and the next L/2 symbols, and so on. The benefit of overlap is that more potential candidates are included in the search. There is a corresponding increase in complexity.
As mentioned earlier, bit soft values can be exploited by a subsequent decoder to boost overall performance. The generation of bit soft values can be an awkward add-on to the primary detector 124, but is a natural extension of the secondary detector 126. Consider a constellation with 2J symbols. Let b[1] . . . b[J] denote the J bits mapping into a symbol s in the final sequence estimate. In order to describe the bit soft values, it is convenient to define the bit nearest neighbor (BNN) set for each bit in symbol s. For bit b[j] in symbol s, the BNN is the closest symbol in the constellation with b[j] flipped. If two symbols satisfy the BNN requirement, one is picked so the BNN is unique. No condition is imposed on the remaining J−1 bits, which may or may not change. Note that the BNNs can be computed off-line, from the constellation and the bit map.
As one example, consider 4-ASK with a Gray map, shown in 4. For s=−3 with b[1]b[2]=00, s′[1]+1 and s′[2]=−1. For s=−1 with b[1]b[2]=01, s′[1] and s′[2]=−3, etc.
As another example consider 8-ASK with a Gray map, shown in 5. For s=−7 with b[1]b[2]b[3]=000, s′[1]=+1, s′[2]=−3, and s′[3]=−5. For s=−1 with b[1]b[2]b[3]=010, s′[1]=+1, s′[2]=−5, and s′[3]=−3, etc.
The procedure used to compute bit soft values is similar to the procedure for computing sequence metrics for the revised sequence estimates. To compute a bit soft value for bit j in symbol
λ=|{tilde over (E)}K−ĒK| (10)
It can be seen from the ASK example above that {tilde over (S)} may already be in the nearest neighbor set, so {tilde over (E)}K would have already been computed in the secondary detector 126, in which case there is no need to re-compute it for the soft value generation.
Thus far the nearest neighbor set was defined strictly, to include only the true nearest neighbors. It is possible to relax the definition of nearest neighbor set, to include the next nearest neighbors, for instance. In a large constellation, the relaxed nearest neighbor set would still be small in comparison to the constellation. The nearest neighbor set can be relaxed further to include a third level of nearest neighbors, etc. In general, relaxing the nearest neighbor sets enables a wider search in the secondary detector 126, increasing the chance to identify the true ML solution. Of course, this is done at the price of higher complexity.
Although the primary detector 124 is not naturally well suited for generating soft values, reliability information produced by the primary detector can be exploited in the secondary detector 124. One simple source of reliability information is the sequence of incremental metrics. In general, a small incremental metric at index i indicates high reliability for the symbol at the same index, and a large incremental metric indicates the opposite. Another simple source of reliability information is difference between the best sequence metric ending in a given state at index i, and the second best sequence metric. A large difference indicates a high reliability for the symbol at index (i−M−1), and a small difference indicates the opposite.
The secondary detector 126 can exploit reliability information from the primary detector 124. One approach is to rank the symbols in the initial sequence estimate Ŝ from least to most reliable, and to check their nearest neighbor sets in that order. Thus, the neighborhoods of the least reliable symbols are searched first, since they are the most likely to be in error. Furthermore, a secondary detector 126 may only search the nearest neighbor sets of the least reliable symbols in Ŝ, for instance only the worst x %.
The secondary detector 126 in the present invention is a suitable second stage to follow a primary detector 124 that either does not conduct an exhaustive search, or does not use the true ML metric, or both. The secondary detector 126 also provides a convenient for soft value generation.
The present invention may, of course, be carried out in other specific ways than those herein set forth without departing from the scope and essential characteristics of the invention. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.
Number | Name | Date | Kind |
---|---|---|---|
5303263 | Shoji et al. | Apr 1994 | A |
6512802 | Olivier et al. | Jan 2003 | B1 |
7080295 | Peeters et al. | Jul 2006 | B2 |
7155660 | Burd | Dec 2006 | B1 |
7765441 | Peeters et al. | Jul 2010 | B2 |
7917836 | Burd | Mar 2011 | B1 |
Number | Date | Country | |
---|---|---|---|
20110085623 A1 | Apr 2011 | US |