This invention relates to Multiple Input Multiple Output (MIMO) communications systems and especially to Low Complexity Sphere Decoding for Spatial Multiplexing MIMO.
One of the most promising MIMO transmission methods is spatial multiplexing (SM). In SM the transmitter endowed with M transmit antennas, transmits M independent information streams, one from each antenna. In the case of SM, the receiver endowed with N≧M receive antennas, is to decode the transmitted information streams. It is known that the optimal solution to the decoding of SM signals is maximum-likelihood (ML), which involves exhaustive search in multiple dimensions.
Sphere decoding [1] is an iterative method for the computation of the ML estimator in SM MIMO. However, one of the severe problems in the implementation of SD lies in the fact that the number of iterations per realization is neither defined nor bounded. Thus, usually, SD methods are not suitable for hardware implementation.
Recent results [2] show that diversity achieving scheme may be devised, by combination of the low complexity zero forcing (ZF) algorithm and ML detection. This method is based of division of the channel matrices into 2 sets according to the condition number. Matrices with condition number lower than a predefined threshold are ZF decoded, while the others are ML decoded. However, this result does not allow hardware implementation of SD for the ML estimates since again, the number of iterations is not defined.
The mathematical model for the received vector y in the case of SM is
y=Hs+ρv (1)
where H is the channel matrix, s is the transmitted signal vector and ρv vector of independent complex valued Gaussian random variables (RV) each with variance ρ.
Solve the unconstrained least-squares problem to obtain
ŝZF=H+y (2)
where H+ denotes the pseudo-inverse of H. The complexity of finding the ZF estimate is essentially determined by the complexity of finding the pseudo-inverse of the matrix H in (1). For large matrices, the simplest way of calculating the pseudo-inverse is by means of QR factorization, H=QR. It can also be calculated in a more stable way (which, avoids inverting the upper triangular matrix R) by means of the singular value decomposition (SVD) of H. The ZF solution provides diversity order of N−M+1 and array gain of
The problem with the ZF approach is evident when the channel matrix H is ill conditioned (small determinant), corresponding to strong correlation between the channels. In this case, the entries of H+ in (2) are large. This leads to large noise at the output of the ZF estimator. This calls for another approach that does not rely on the inverse of possibly ill-conditioned matrices.
In the MIMO case, the optimal log likelihood ratio (LLR) of a bit b in the data-stream s is nothing but
Applying Bayes formula we obtain
Using (1) we obtain
which is approximated by
The major differences lye in the facts, that the ZF procedure is canceled and the search for the minimum in (6). The problem with this approach is that it implies exhaustive search, which is not, practical when either the number of streams or number of constellation points is high.
SD is an iterative method that converges to the ML when the number of iterations is not bounded. In SD, the multidimensional search implies by the ML criterion is transformed to multiple searches in one complex dimension.
The building block of the optimal LLR is the search for the minimizer of the functional
over some set of points (2-dimensional QAM) Γ.
Continuing for simplicity on the 2×2 case, denoting the ZF solution as ŝ, the cost functional in (7) may be rewritten as
∥H(ŝ−s)∥2=(ŝ−s)*H*H(ŝ−s) (8)
Note that since H*H is a positive definite symmetric matrix, it can always be decomposed to U*U=H*H where U is an upper triangular matrix with real diagonal (this can be done by applying the QR decomposition on H). Thus, the cost functional (8) turns to
(ŝ−s)*U*U(ŝ−s) (9)
The special structure of U allows writing (9) explicitly as
We begin with searching for points s for which the cost functional (10) is smaller than an arbitrary r2. Taking only the first term in the sum (10) we obtain a necessary (but not sufficient) for a point s to have a cost smaller than r2 as
which implies that a necessary condition is that s2 lies within a circle about the ZF solution ŝ. If there are no points in the set Γ satisfying (11), the magnitude of r is increased and the algorithm starts all over. In the case there are points that satisfy the condition, we peak one of them and use it to produce a similar condition on s1 (for the specific s2 chosen) through (10) as
which implies that s1 should lie within a circle about ZF that depends on the s2 chosen. If there are no points s1 satisfying the condition, we turn to the next point s2 satisfying (11), Otherwise we have a point s with cost smaller than r2, dubbed candidate. We compute the cost of this point say {tilde over (r)}2<r2 and repeat the algorithm with {tilde over (r)}2.
Eventually, r2 will be small enough such that no points with smaller cost exist and the minimizer is the candidate of the last iteration. Surely, if no points exist for a certain r2 and no candidates have been found in previous iterations, r2 should be increased.
One of the major problems with the SD algorithm is that the number of iterations is not constant and may significantly vary between matrices. This makes hardware implementation of SD very difficult.
In this application we present a novel method for decoding multiple input-multiple output (MIMO) transmission, which combines sphere decoding (SD) and zero forcing (ZF) techniques to provide near optimal low complexity and high performance constant time modified sphere decoding algorithm. This algorithm was designed especially for large number of transmit antennas, that allows efficient implementation in hardware. We do this by limiting the number of overall SD iterations. Moreover, we make sure that matrices with high condition number are more likely to undergo SD.
The invention will now be described by way of example and with references to the accompanying drawings.
The proposed method assumes constant hardware clock budget for the decoding of the K matrices, each with dimensions N×M, as is the common case in modern communication e.g. OFDM. The schematic representation of the system is shown on
We further assume that the clock budget is larger than that needed for ZF decoding of all matrices.
The method is based on several ideas. The first is that matrices with high condition number should be likely to undergo SD. The second is that the hardware clock budget must remain constant for the decoding of K matrices. Note that we do not attempt to construct an SD algorithm with finite number of iterations for each matrix, but restrict the number of overall iterations for the decoding of multiple matrices.
Following this line of thought, the proposed method sums up to the following steps:
Compute the linear ZF decoder
ŝ=H+y=(H*H)−1H*y (13)
for each of the K SM inputs. We note that QR or SVD based calculations are preferred here since they expedite the calculation of the condition number.
Order the K matrices according to the condition number, in descending order (largest first). This way the more problematic matrices in terms, of decoding are first in order.
Apply SD to the matrices according to the above-mentioned order until the hardware clock budget runs out. We note that the SD algorithm requires the ZF solution already obtained in the first step, so no waste of clock budget is done in the first step.
The algorithm steps, described above can be summarized by the flowchart provided in
Thus, in the proposed algorithm provided in
We conclude with the understanding that the performance of the algorithm in actual scenarios is determined by the clock budget allocated and the distribution of the condition number of the channel matrices.
Simulation results for the proposed algorithm are given in
where
nTOT—is the number of overall HW clocks, reserved for the decoding
nZF—is the number of HW clocks, reserved for ZF decoding
The BER curves for ZF and ML are added to the figure for means of comparison. The figure shows the BER curves corresponding to the performance of the proposed algorithm with different clock budgets. Obviously the BER is smaller as the clock budget is increased. The most important result of our method we can see in
It will be recognized that the foregoing is but one example of a system and method within the scope of the present invention, and that various modifications will occur to those skilled in the art upon reading the disclosure set forth hereinbefore, together with the related drawings.
Number | Date | Country | Kind |
---|---|---|---|
189328 | Feb 2008 | IL | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IL09/00125 | 2/2/2009 | WO | 00 | 8/6/2010 |