a-2c illustrate functional blocks of detectors, receivers, and transmitters.
a-3b show 2×2 MIMO OFDM transmitter and receiver.
a-4c are search tree diagrams.
a-5b are simulation results.
Preferred embodiment detectors and detection methods for multi-input, multi-output (MIMO) systems apply (successive) rotation(s) of received signal vectors to provide detection as a tree-based search, and restriction in the search range lowers computational complexity;
Preferred embodiment communication systems, such as wireless local area networks, include preferred embodiment detectors and receivers employing preferred embodiment detection methods. The computations can be performed with digital signal processors (DSPs) or general-purpose programmable processors and/or application specific circuitry (ASICs) and/or systems on a chip such as both a DSP, ASIC, and RISC processor on the same chip with the RISC processor control. Analog-to-digital converters and digital-to-analog converters provide coupling to the real world, and modulators and demodulators (plus antenna front ends for air interfaces) provide coupling for transmission waveforms.
a illustrates a generic MIMO transmitter, and
r=Hs+v
where r is the N-vector of samples of the received baseband signal (complex numbers) corresponding to a transmission time (interval) n:
s is the M-vector of transmitted symbols (sets of complex numbers from symbol constellations) for time n:
H is the N×M channel matrix of attenuations and phase shifts expressed as complex numbers; and v is an N-vector of samples of received (white) noise. That is, the (q,p)th element of H is the channel (including multipath combining and equalization) from the pth transmit source to the qth receive sink, and the qth element of v is the noise seen at the qth receive sink.
Note that the foregoing relation applies generally to various systems with various interference problems and in which n, r, s, M, and N have corresponding interpretations. For example:
(i) High data rate multi-antenna systems such as BLAST (Bell Labs layered space time) or MIMO and multi-stream space-time coding: spatial interference suppression techniques are used in detection.
(ii) Broadband wireless systems employing OFDM (orthogonal frequency division multiplex) signaling and MIMO techniques for each tone or across tones.
(iii) TDMA (time division multiple access) systems having frequency-selective channels with long impulse response which causes severe ISI (intersymbol interference); use equalizers to mitigate ISI.
(iv) CDMA (code division multiple access) systems having frequency-selective channels which cause MUI (multi-user interference) as a result of the loss of orthogonality between spreading codes. For high data rate CDMA systems such as HSDPA and 1×EV-DV, this problem is more severe due to the presence of ISI. Equalizers and/or interference cancellation may be used to mitigate these impairments.
(v) Combinations of foregoing.
M is essentially the number of symbols that are jointly detected as they interfere with one another, and N is simply the number of collected samples at the receiver. Because there are M independent sources, N must be at least as large as M to separate the M symbols. A detector in a receiver as in
Maximum likelihood (ML) detection estimates the transmitted M-vector of symbols as that vector which minimizes the error between the received N-vector signal, r, and the estimated-channel-matrix-H-computed transmitted signal, Hs:
ŝ
ML
=arg{minsεΠC(∥r−Hs∥2)}
where sεΠC indicates the minimization is over all M-vectors s which are elements of the product of the symbol constellations for the transmitters. The following sections will recast ML detection as a tree detection (
Linear filtering equalization detectors, such as linear zero-forcing (LZF) or linear minimum mean square error (LMMSE), make soft estimates, denoted by M-vector z, for the transmitted M-vector of symbols, s, from the N-vector of received signals, r, by linear filtering with an M×N matrix: z=Fr. Then quantization (hard decision) of z yields the transmitted symbol vector estimate: ŝ=Q(z). LZF detection essentially takes F to be the pseudoinverse of H; namely, F=[HHH]−1 HH, where H denotes Hermitian conjugate. Note that F reduces to the inverse, H−1, for an invertible (square) matrix H.
In contrast, LMMSE detection finds the matrix F by minimizing the mean squared error in the product space of the symbol constellations, E[∥z−s∥2]. With perfect estimation of the channel H, the minimizing matrix F is given by:
F=[H
H
H+Σ]
−1HH
where Σ is the covariance matrix of the additive white noise v. Note F has the form of a matrix product of an equalization matrix with the matched filter for the channel (HH).
c illustrates linear detection with interference cancellation; namely, hard decisions are made sequentially on the set of M symbols detected with each hard decision used to regenerate an estimate of the interference from that symbol to subtract for redetection of the remaining symbols. The order of hard decisions may be based on the symbol post-detection signal-to-interference-plus-noise ratio (SINR); this helps reduce the effect of decision feedback error. In particular, let the detection order be π(1), π(2), . . . , π(M) where π( ) is a permutation of the M integers {1,2, . . . ,M}; that is, the first estimated symbol (hard decision output) will be ŝπ(l). The maximum SINR among the components of the first soft M-vector estimate z(1), which estimates all M symbols, determines π(1). Similarly, the SINRs of the components of z(2), which estimates all of the symbols except the cancelled sπ(1), determines π(2), and so forth. That is, the ith iteration estimates symbol sπ(i), and modifying the foregoing to accommodate the ordering is routine but omitted for clarity in notation. Indeed, simply denote the resulting M soft symbol estimates as z1, z2, . . . , zM. Note that the interference cancellation steps can be interpreted as either sequentially deleting columns from the channel matrix H and components from the symbol vector s to yield successively smaller systems, or as sequentially zeroing out columns of the channel matrix. In both cases the received signal vector sequentially has the interference vectors subtracted.
The preferred embodiment detections can be explained in terms of a restricted tree search; thus express the foregoing detection methods (ML plus linear and iterative ZF/MMSE) in terms of tree searches in order to contrast the preferred embodiments. For ease of explanation, initially consider a 2×2 system;
First, note that the foregoing detection methods are invariant under rotation in the received signal space. In particular, if U is a unitary matrix (UHU=I), then ∥r−Hs∥2=<r−Hs|r−Hs>=<r−Hs|UHU(r−Hs)>=<U(r−Hs)|U(r−Hs)>=∥{tilde over (r)}−{tilde over (H)}s∥2 where {tilde over (H)}=UH, {tilde over (r)}=Ur, and <.|.> denotes inner (scalar) product. Analogously, FZFr=[HHH]−1 HHr=[HHUHUH]−1 HHUHUr=[(UH)H(UH)]31 1 (UH)HUr=[{tilde over (H)}H{tilde over (H)}]−1 {tilde over (H)}H{tilde over (r)}={tilde over (F)}ZF{tilde over (r)}. Similarly for MMSE, [HHH+Σ]−1 HHr=[{tilde over (H)}H{tilde over (H)}+Σ]−1 {tilde over (H)}H{tilde over (r)}.
For a 2×2 system:
where
Now find a rotation (2×2 unitary) matrix U which makes the 2×2 product matrix UH a triangle matrix (a lower left element equal to 0); that is:
For example, U could be:
where c is the normalization: c2=1/(1+|h21/h11|2).
In general, a triangle channel matrix allows for simple system solutions by successive component solutions plus back substitutions; this provides a simple interference cancellation. In particular, first transform the 2×2 system by left-multiply the equation r=Hs+v with U to obtain a 2×2 triangular system:
LZF finds soft estimate z for s by left-multiplying {tilde over (r)} with {tilde over (F)}ZF (which is the left inverse of {tilde over (H)}):
Iterative ZF detection (with symbols detected in reverse index order) finds ŝ2 by a quantization (hard decision) of z2={tilde over (r)}2/{tilde over (h)}22, and then back-substitutes this ŝ2 to cancel its estimated contribution, {tilde over (h)}2ŝ2, from the received signal, {tilde over (r)}, to have {tilde over (r)}′={tilde over (r)}−{tilde over (h)}2ŝ2. This defines a system for s1 by deleting the second column from the H matrix (which corresponds to s2 propagation) and deleting the corresponding second component (row) of the symbol vector s corresponding to s2. This yields a 2×1 system for the remaining symbol s1. (The second component (row) is trivial and is just the noise because the channel matrix is triangular; this row could also be deleted to yield a 1×1 system.) Then solve for the soft estimate, z1, of the first symbol, s1
z
1
={tilde over (r)}
1
′/{tilde over (h)}
11
={tilde over (r)}
1
/{tilde over (h)}
11
−{tilde over (h)}
12
ŝ
2
/{tilde over (h)}
11.
Lastly, quantize z1 to complete the hard decision output (ŝ1, ŝ2) of a decoder. Alternatively, the soft estimates (z1, z2) could be output to a sequence decoder.
The LMMSE and the iterative MMSE solutions can also be obtained by choosing the appropriate unitary matrix U. Indeed, to have [{tilde over (H)}H{tilde over (H)}+Σ]−1 {tilde over (H)}H={tilde over (F)}MMSE as a triangular matrix in the 2×2 case (with Σ diagonal σ2/EI) simply requires a U such that UH=[u1u2] satisfies <u1|h1>/<u2|h2>=detHσ2/E. Of course, {tilde over (H)} triangular is the same as <u2|h1>=0, but this may not be simultaneously possible with {tilde over (F)}MMSE triangular.
a illustrates the two steps of the just-described iterative ZF method interpreted as branch choices in a decoding tree for the case of a symbol constellation with four points, such as QPSK. The first step makes the hard decision estimate ŝ2 by minimizing the s2 detection error e2=|{tilde over (r)}−{tilde over (h)}22s2|2; that is, first solve for e2=0 to get the soft estimate z2={tilde over (r)}2/{tilde over (h)}22 then quantize (hard decision) z2 to get ŝ2: the quantization picks the constellation point which minimizes the distance to z2. Next, the second step makes the hard decision estimate ŝ1 by minimizing the s1 detection error after back substitution of the first step hard decision, ŝ2; that is, minimize the error e1=|({tilde over (r)}1−{tilde over (h)}12ŝ2)−{tilde over (h)}11s1|2 by first solve e1=0 to find soft estimate z1={tilde over (r)}1/{tilde over (h)}11−{tilde over (h)}12ŝ2/{tilde over (h)}11 and then quantize z1 by minimizing the distance to the constellation to get ŝ1. In short, at each node there are four branches (corresponding to the four possible values of the single symbol under consideration), and the smallest error branch (solid arrow in
Note that in
The maximum likelihood (ML) method also may be interpreted as a tree search but with the minimization of the combined error e2+e1 rather than minimizing each of the errors sequentially. This implies that even though ML might choose a branch on the tree for which e2 is not minimized in the first step, the total error e2+e1 could still be minimized with this branch. Indeed,
Thus the ML method effectively performs an interference cancellation with each of the constellation points as a possible hard decision for the first-step branch. It also computes the first step error for each possibility. And for each such interference cancellation it obtains a possible second-step branch and associated error. It then chooses the hard decisions as from the two branches which minimize the sum of the errors.
The problem with the iterative ZF/MMSE methods is evident from the tree interpretation of ML: if the symbol decision in the first step from the root of the tree in the iterative method is wrong, then this leads to an “error feedback” in the second branch computations. The ML method minimizes the impact of this error feedback by including all of the constellation points as possible candidates in the first step.
The preferred embodiments also perform a tree search, but in contrast to ML and (iterative) ZF/MMSE, the preferred embodiments restrict the number of branches searched on the first step and thereby reduce the complexity of the ML method of full tree searching but still typically search more than one branch to obtain close-to-ML performance. In particular, a first preferred embodiment detection method for the 2×2 triangle system {tilde over (r)}={tilde over (H)}s+{tilde over (v)} with K2 branches searched in the first step proceeds as follows:
There are two possible approaches to the candidate symbols: (1) pick the K2 symbols, s2(1), s2(2), . . . , s2(K
This set of K2 candidate symbols will include the iterative ZF/MMSE hard decision because the hard decision is the symbol minimizing |z2−s2|2. These K2 symbols constitute the restricted search of the first step which then determines the tree nodes for the second step searches. The triangular form of {tilde over (H)} makes {tilde over (r)}2 only depend upon s2, thus a candidate symbol decision, s2(j), allows both a corresponding error computation e2(j)=|{tilde over (r)}2−{tilde over (h)}22s2(j)|2 because the other symbol, s1, need not be specified and a back substitution to eliminate the {tilde over (r)}2 equation.
The ordering of the computations could be reversed; in fact, a selection of which symbol to consider first (and thus use for cancellation) could be based on the larger received SNR or some other such metric, and the U transform accordingly selected.
The following pseudocode implements interference cancellation for ZF which is used for each candidate in step (3).
The foregoing procedure can be extended to the case of M transmit antennas and N receive antennas (an N×M channel matrix H) with N≧M Two different approaches may be used:
Then apply tree-based decoding: LT is upper triangular, so LT s has the right structure. And the MMSE rotations need not be unitary.
An explicit 4×4 example will help illustrate these approaches and variants of them. Thus, presume four antennas transmitting symbols s1, s2, s3, s4 with each symbol from a 16 QAM constellation; the transmissions propagate to four receiver antennas through a channel with 4×4 matrix H.
(1) Initial triangularization preferred embodiments
First, consider the approach of initially triangularizing H and detecting the symbols in order s4, s3, s2, s1 with four candidate symbols at each step (K4=K3=K2=K1=4). Thus presume a 4×4 unitary matrix U has been found and applied to triangularize 4×4 system into:
Initial symbol detection. (a) Start with s4: find the soft estimate z4 from the linear z=Fr with F either the LZF filter or the LMMSE filter. The LZF filter is simple:
where the upper off-diagonal elements (cofactors divided by the determinant) are not explicitly shown for clarity. FZF immediately gives: z4=r4/h44. The LMMSE filter, FMMSE, is not as simple and z4=f41r1+f42r2+f43r3+f44r4 where [f41,f42,f43,f44] is the fourth row of FMMSE.
(b) Denote by s4(1), s4(2), s4(3), s4(4) the four (K4=4) candidate symbols in the 16 QAM constellation which are closest to z4 computed in (a). That is, the four smallest |z4−s4|2 out of the sixteen possible.
(c) Compute the error corresponding to each of the four candidate symbols from step (b): e4(1)=|r4−h44s4(1)|2, e4(2)=|r4−h44s4(2)|2, e4(3)=|r4−h44s4(3)|2, and e4(4)=|r4−h44s4(4)|2. The triangular matrix allows this error to avoid dependence on the yet-to-be-considered symbols and thereby greatly reduce complexity.
(d) For each of the four candidate symbols, cancel the interference in r from that candidate symbol to give a new 3×3 system for the remaining symbols s3, s2, s1. That is, delete the fourth component of r and the fourth row of H because they only contained s4 information and candidates for s4 have just been chosen; the candidate value is used in s. Thus for each j=1,2,3,4:
which is the same as:
That is, each candidate s4(j) has an error measure e4(j) and a 3×3 system for the remaining three symbols. In terms of the tree, each candidate corresponds to a branch from the root node to a first level node, the 3×3 system corresponds to the portion of the tree from the first node to the leaves, and the candidate's error corresponds to the metric for the candidate branch.
Next symbol detection. (a) For s3 in the 3×3 system corresponding to a condidate s4(j): find the soft estimate z3(f) from the linear z(j)=Fr(j) with F either the LZF filter or the LMMSE filter for the 3×3 triangular matrix and
(b) Denote by s3(j)(1), s3(j)(2), s3(j)(3),s3(j)(4)the four (K3=4) candidate symbols in the 16 QAM constellation closest to z3(j) computed in (a). That is, the four smallest |z3(j)=s3|2 out of the sixteen possible. Thus there are a total now of sixteen candidate symbols s3(j)(k) and symbol pairs (s4(j), s3(j)(k)).
(c) Compute the error corresponding to each of the sixteen candidate symbols from (b): e3(j)(k)=|r3−h34s4(j)−h33s3(j)(k)|2. Again, the triangular matrix allows for an error computation without involving the yet-to-be-considered symbols s2, s1.
(d) For each of the sixty-four candidate symbols from (b), cancel the interference in r from that candidate symbol to give a new 2×2 system for the remaining symbols s2, s1. That is, delete the third component of r and the third row of the 3×3 H because they only contained s3 information and candidates for s3 have just been chosen; the candidate value is used in s. Thus for each j=1,2,3,4 and k=1,2,3,4:
So each candidate s3(j)(k) has an error measure and a 2×2 system for the remaining symbols. In terms of the tree, each candidate pair corresponds to a sequence of two branches from the root node to a first level node to a second level node, the 2×2 system corresponds to the portion of the tree from the second level node to the leaves, and the candidate's error corresponds to the metric for the second branch so the sum of errors e4(j)+e3(j)(k) corresponds to the metric for the pair of branches. There are sixteen (=K4K3) sequences of two branches from the root node to second level nodes.
Third symbol detection. (a) For s2 in the 2×2 system corresponding to the candidate s3(j)(k): find the soft estimate z2(j)(k) from the linear z(f)(k)=Fr(j)(k) with F either the LZF filter or the LMMSE filter for the 2×2 triangular matrix and
(b) Denote by s2(j)(k)(1), s2(j)(k)(2), s2(j)(k)(3), s2(j)(k)(4) the four (K2=4) candidate symbols in the 16 QAM constellation closest to z2(j)(k) from (a). Thus there are a total now of sixty-four candidate symbols s2(j)(k)(i) and thus sixty-four candidate symbol triplets (s4(j), s3(j)(k), s2(j)(k)(i)).
(c) Compute the error corresponding to each of the sixty-four candidate symbols from (b): e2(j)(k)(i)=|r2−h24s4(j)−h23s3(j)(k)−h22s2(j)(k)(i)|2. Again, the triangular matrix allows for an error computation without involving the yet-to-be-considered symbol s1.
(d) For each of the sixty-four candidate symbols from (b), cancel the interference in r from that candidate symbol to give a (trivial) new 1×1 system for the remaining symbol s1. Thus for each j=1,2,3,4, k=1,2,3,4, and i=1,2,3,4:
r
1
−h
14
s
4
(j)
−h
13
s
3
(j)(k)
−h
12
s
2
(j)(k)(i)
=h
11
s
1
+v
1.
So each candidate s2(j)(k)(i) has an error measure and a trivial 1×1 system for the remaining symbol. In terms of the tree, each candidate triple corresponds to a sequence of three branches from the root node to a first level node to a second level node to a third level node, the 1×1 system corresponds to the portion of the tree from the third level node to the leaves, and the candidate's error corresponds to the metric for the third branch so the sum of errors e4(j), e3(j)(k), e2(j)(k)(i) corresponds to the metric for the sequence of three branches. There are sixty-four (=K4K3K2) sequences of three branches from the root node to third level nodes.
Last symbol detection. (a) Each of the sixty-four 1×1 systems for s1 has a trivial soft estimate z1(j)(k)(i)=r1(j)(k)(i)/h11=r1−h14s4(j)−h12s2(j)(k)(i)/h11.
(b) Denote by s1(j)(k)(i)(1), s1(j)(k)(i)(2), s1(j)(k)(i)(3),s3(j)(k)(i)(4) the four (K1=4) candidate symbols in the 16 QAM constellation closest to z1(j)(k)(i) from (a). Thus there are a total now of 256(=K4K3K2K1) candidate symbols s1(j)(k)(i)(m) and 256 candidate symbol quartets (s4(j), s3(j)(k), s2(j)(k)(i), s1(j)(k)(i)(m)).
(c) Compute the error corresponding to each of the 256 candidate symbols from (b): e1(j)(k)(i)(m)=|r1−h14s4(j)−h13s3(j)(k)−h12s2(j)(k)(i)−h11s1(j)(k)(i)(m)|2.
(d) Each of the 256 total errors e4(j)+e3(j)(k)+e2(i)(k)(i)+e1(j)(k)(i)(m) corresponds to the metric for a sequence of four branches (and a quartet of candidate symbols) from the root node to a leaf. Let j=j0, k=k0, i=i0, m=m0, be the smallest total error, then the four detected symbols are: s1(j
Also, each of the four steps could be expressed in terms of the original 4×4 triangular channel matrix with the various 4-vectors incorporating the candidates and interference cancellations. Indeed, the four steps in terms of 4×4 systems are, successively:
(2) Initial triangular with full last branch preferred embodiment
A first alternative follows all of the foregoing except it does not restrict the last symbol candidates to only the four nearest the soft estimate. Rather, treat all sixteen constellation elements as candidates (i.e., K1=16) and compute all 1024 errors e1(j)(k)(i)(m) for j=1,2,3,4; k=1,2,3,4; i=1,2,3,4; and m=1,2, . . . ,16. Then find the smallest of the 1024 total errors to determine the detected four symbols.
(3) Initial triangular with single last branch preferred embodiment
Another alternative follows all of the foregoing except it restricts the last branch symbol candidates to the single symbol closest the soft estimate rather than the four closest (i.e., K1=1). Because there will be no subsequent branches, the preferred embodiment attempts to find the minimum error final branch by minimal computation. Thus compute only the sixty-four errors e1(i)(k)(i)(m) for j=1,2,3,4; k=1,2,3,4; i=1,2,3,4; and m=1. Then find the smallest of the 64 total errors e4(j)+e3(j)(k)+e2(j)(k)(i)+e1(j)(k)(i)(1) to determine the detected sequence of four symbols ŝ4, ŝ3, ŝ2, ŝ1. This approach relies on the last branch ZF or MMSE soft estimate z1=(r1−h14s4(j)−h13s3(j)(k)−h12s2(j)(k)(i)/h11 and so the closest symbol s1(j)(k)(i)(1) to z1 minimizes |z1−s1(j)(k)(i)(m)|2 which thus also minimizes e1(j)(k)(i)(m)=|h11(z1−s1(j)(k)(i)(m))|2=|r1−h14s4(j)−h13s3(j)(k)−h12s2(j)(k)(i)−h11s1(j)(k)(i)(m)|2. That is, the smallest of the last branch errors is just the one associated with the candidate symbol closest to the soft estimate.
(4) SINR-ordered full triangular preferred embodiments
A second alternative follows any of the foregoing (1)-(3) but prior to the initial triangularizing unitary matrix U, the method applies LZF or LMMSE filter to estimate the symbol signal-to-interference-plus-noise ratios (SINR) for each of the symbols, and the method permutes the antennas indices to have s1, s2, s3, s4 be in increasing SINR order. Then the unitary (or other) matrix is found and applied. This should decrease error feedback due to an increased probability that the first branch candidates include the actual transmitted s4 symbol.
(5) Sequential rotation preferred embodiments
Rather than initially full triangularizing H, just find a rotation U4 to make h41=h42=h43=0; this suffices to compute the candidate S4 ) error in received-signal space, cancel its interference, and reduce the 4×4 system to a 3×3 system as in the previous methods (1)-(4). Again, the detection will be in order s4, s3, s2, s1 with K4=K3=K2=K1=4. However, as in method (4), first estimate the SINR for each of the symbols and, next, permute the indices so that s4 has the largest SINR. Then find a 4×4 unitary matrix U4 and left-multiply to yield the 4×4 system:
Again, if h44=0, then the system is degenerate and all four symbols cannot be detected. If U4H=[u1, u2, u3, u4], then the requirement for U4 is simply to have u4 orthogonal to the original h1, h2, h3 (i.e., <u4|h1>=<4|h2>=<u4|h3>=0) which means that u1, u2, u3 can be any orthonormal set in the span of the original h1, h2, h3.
Initial symbol detection. (a) Start with s4: find the soft estimate z4 from the linear z=Fr with F either the LZF filter or the LMMSE filter. The LZF filter is simple:
where the non-bottom-row elements (cofactors divided by the determinant) are not explicitly shown for clarity. FZF immediately gives: z4=r4/h44. The LMMSE filter, FMMSE, is not as simple and is z4=f41r1+f42r2+f43r3+f44r4 where [f41,f42,f43, f44] is the fourth row of FMMSE.
(b) Denote by s4(1), s4(2), s4(3), s4(4) the four (K4=4) candidate symbols in the 16 QAM constellation closest to z4 from (a). That is, the four smallest |z4−s4|2 out of the sixteen possible s4s.
(c) Compute the error corresponding to each of the four candidate symbols from (b): e4(1)=|r4−h44s4(1)|2, e4(2)=|r4−h44s4(2)|2, e4(3)=|r4−h44s4(3)|2, e4(4)=|r4−h44s4(4)|2, The special form of the bottom row of the H matrix allows this error computation to avoid involving the yet-to-be-considered symbols.
(d) For each of the four candidate symbols, cancel the interference in r from that candidate symbol to give a new 3×3 system for the remaining symbols s3, s2, s1. That is, delete the fourth component of r and the fourth row of H because they only contained 54 information and candidates for s4 have just been chosen; the candidate value is used in s. Thus for each j=1,2,3,4:
Next symbol detection: (a) As for the initial symbol detection, first find a rotation U3 to make the last row simple: h31=h32=0. Again, this will allow cancellation the candidate s3(j)(k) interference and reduce the 3×3 system to a 2×2 system as in the previous methods (1)-(4). Also, as for the initial symbol detection, first estimate the SINR of the remaining symbols and permute the indices so that s3 has the largest SINR prior to finding U3. Note that each of the four 3×3 systems (for j=1,2,3,4) has its own SINRs and thus the four U3s may differ. But in each case after the U3 rotation the 3×3 system has the form:
(b) For s3 in the 3×3 system corresponding to s4(j): find the soft estimate z3(j) from the linear z(j)=Fr(j) with F either the LZF filter or the LMMSE filter for the 3×3 matrix with the simple last row.
(c) Denote by s3(j)(1), s3(j)(2), s3(j)(3), s3(j)(4) the four (K3=4) candidate symbols in the 16 QAM constellation closest to z3(j) from (b). That is, the four smallest |z3(j)−s3|2 out of the sixteen possible. As before, there are a total now of sixteen candidate symbols s3(j)(k) and symbol pairs (s4(j), s3(j)(k)).
(d) Compute the error corresponding to each of the sixteen candidate symbols from (b): e3(j)(k)=|r3−h34s4(j)−h33s3(j)(k)|2. Again, the simple bottom row matrix allows for an error computation without involving the yet-to-be-considered symbols s2, s1.
(e) For each of the sixty-four candidate symbols from (c), cancel the interference in r from that candidate symbol to give a new 2×2 system for the remaining symbols s2, s1. That is, delete the third component of r and the third row of the 3×3 H because they only contained s3 information and candidates for s3 have just been chosen; the candidate value is used in s. Thus for each j=1,2,3,4 and k=1,2,3,4:
So each candidate s3(j)(k) has an error measure and a 2×2 system for the remaining symbols. In terms of the tree, each candidate pair corresponds to a sequence of two branches from the root node to a first level node to a second level node, the 2×2 system corresponds to the portion of the tree from the second level node to the leaves, and the candidate's error corresponds to the metric for the second branch so the sum of errors e4(j)+e3(j)(k) corresponds to the metric for the pair of branches. There are sixteen (=K4K3) sequences of two branches from the root node to second level nodes.
Third symbol detection. (a) As with the prior two symbol detections, first estimate the SINRs for the remaining (two) symbols, permute the indices to make s2 the symbol with the larger SINR prior to finding U2. Note that each of the sixteen 2×2 systems (for j=1,2,3,4, k=1,2,3,4) has its own SINRs and thus the sixteen U2s may differ. But in each case after the U2 rotation the 2×2 system has the form:
(b) For s2 in the 2×2 system corresponding to s3(j)(k): find the soft estimate z2(j)(k)from the linear z(j)(k)=Fr(j)(k) with F either the LZF filter or the LMMSE filter for the 2×2 triangular matrix. Note that these 2×2 systems are the same as in the prior methods (1)-(4) because the matrix is now fully triangular. Thus proceeds as in any of the prior methods for the last two symbol detections.
(6) Threshold for Km preferred embodiments
In any of the foregoing symbol detection examples, when the four candidates are determined as the four closest symbols to the soft estimate, a further alternative method simplify the computations by discarding ones of the candidates which are not close enough to the soft estimate when compared to the closest candidate. For example, if |z4−s4(1)|2 is the smallest and |a4−s4(4)|2 is the fourth smallest, and if 3|z4−s4(1)|2<|z4−s4(4)|2 then discard s4(4) and only use three branches. In effect, Km becomes adaptive and decreases when the ZF or MMSE hard estimate is very close to the soft estimate (the branch error is very small); this dynamically prunes the tree.
(7) Received-signal candidate selection preferred embodiments
In the foregoing preferred embodiments at each step the candidate symbols were picked by closeness to the soft estimate, and then the errors are computed. An alternative at each step computes the errors for all branches from each current node, and then picks the Km candidate symbols as those yielding the Km smallest errors. For the 4×4 example, in the first step compute the error for each of the 16 symbols of 16 QAM: e4(j)=|r431 h44s4(j)|2 for j=1, 2, . . . ,16. Then the four smallest errors determine the candidate symbols (reindexed): s4(1), s4(2), s4(3), s4(4). Note that no soft estimate was needed. In the second step, for each four first step candidate symbols, s4(j), j=1, 2, 3, 4, compute the next-branch error for each of the 16 symbols of 16 QAM: e3(j)(k)=|r3−h34s4(f)−h33s3(j)(k)|2 for k=1, 2, . . . ,16. Then for each set of 16 errors, the four smallest errors determine the candidate symbols (reindexed): s3(j)(1), s3(j)(2), s3(j)(3), s3(j)(4). Thus a total of 16 pairs of candidate symbols, (s4(j), s3(j)(k)) with both indexes in the range 1,2,3,4. Repeat for the third step; this yields 64 triplets of candidate symbols, (s4(j), s3(j)(k), s2(j)(k)(m)) with each index in the range 1,2,3,4. In the fourth (final) step, only the smallest error of each of the 64 sets of 16 errors is needed; this yields 64 quartets of candidate symbols, (s4(j), s3(j)(k), s2(j)(k)(m), s1(j)(k)(m)(1)), with each index j,k,m in the range 1,2,3,4. The quartet with the smallest total error (e4(j)+e3(j)(k)+e2(j )(k)(m)+e1(j)(k)(m)(1)) is then the detected set of four symbols. The computations were 16 errors in the first step, 64 errors in the second step, 256 errors in the third step, 1024 errors in the fourth step. This is roughly 2% of the complexity of ML.
A variation of this candidate selection from 16 error computations is in the fourth (final) step: simply use hard estimates from the soft estimates to pick the 64 candidates s1(i)(k)(m)(1)), and then compute only the corresponding 64 errors rather than the 1024 errors to use in the total error minimization.
a-5b show the performance of a preferred embodiment method as compared to the ML method. The IZF method of was used to obtain the starting point.
This application claims priority from provisional application No.: 60/640,904, filed Dec. 30, 2004.
Number | Date | Country | |
---|---|---|---|
60640904 | Dec 2004 | US |