The invention relates to a method and system for determining a signal vector.
Multiple-input and multiple-output (MIMO) systems have been receiving growing attention as a promising candidate for next-generation communication systems due to the fact that the use of multiple transmit and receive antennas dramatically increases the system capacity. As the optimal maximum likelihood (ML) detection incurs an exponential complexity and thus is not suitable for practical use, suboptimal detection algorithms are usually used. However, as an example, the low complexity nulling plus cancellation algorithm (see [1]) suffers from significant diversity loss and power loss.
A lot of efforts have been put into the search for algorithms with low complexity but nearly the performance of maximum likelihood detection, among which sphere decoding (see [2]-[8]) and QR decomposition (QRD) combined with the so-called M-algorithm (QRD-M) [9] are the most appealing ones. Both algorithms are tree-search based algorithms, in which sphere decoding is a depth-first search and QRD-M is a breadth-first search. Sphere decoding reduces complexity by only searching through those candidates falling inside a hypersphere and QRD-M algorithm reduces complexity by only keeping those candidates with smallest accumulated metrics at each step. Although on average sphere decoding has lower complexity than QRD-M algorithm, but its worst-case complexity is significantly higher.
An object of the invention is to provide a detection method with improved performance compared to conventional detection methods.
A method for determining a signal vector comprising a plurality of components from a received signal vector is provided that comprises performing a QR decomposition of a channel matrix characterizing the communication channel via which the signal vector was received and being expanded by variance information about the noise on the communication channel, carrying out a plurality of determination steps using the QR decomposition of the expanded channel matrix, wherein in each step a set of possible sub-vectors of the signal vector is determined and wherein in each step, the number of possible sub-vectors in the set is lower than a predefined maximum number, and selecting one vector of the set of possible sub-vectors determined in the last step of the plurality of determination steps as the signal vector.
In other embodiments, a system and a computer program product according to the method for determining a signal vector are provided.
Illustrative embodiments of the invention are explained below with reference to the drawings.
Illustratively, in one embodiment, the QRD-M algorithm is carried out for detection but instead of basing it on zero-forcing, it is based on the MMSE (minimum mean squared error) estimate of the signal vector. The near maximum likelihood performance of the QRD-M algorithm may be retained but the overall complexity may be reduced by 50% compared to conventional QRD-M. The QRD-M method based on the MMSE estimate may also be seen as a pre-filtered QRD-M algorithm based on the MMSE filtering principle.
Embodiments which are described in the context of the method for determining a signal vector are analogously valid for the system and computer program product.
The signal vector to be determined is for example sent by a transmitter and the maximum number is lower than the number of all signal vectors that could be sent by the transmitter. The signal vector may also be sent by multiple transmitters, for example according to multiuser MIMO or according to CDMA.
This means that not all possible sub-vectors are taken into account in the determination process which leads to a complexity reduction. When the sub-vectors are determined based on a maximum-likelihood search, this means that the search is not exhaustive.
For example, when for each component of the signal vector a number of possible component values could be sent by the transmitter, the predefined maximum number may be lower than the number of possible component values to the power of the number of components of the signal vector.
In one embodiment, all sub-vectors in a set of possible sub-vectors determined in a step have the same dimension. This is not necessary, however, the sub-vectors may also have different dimensions. The number of determination steps carried out may be the number of components of the signal vector.
In one embodiment, the signal vector is determined using a QRD-M algorithm based on the expanded channel matrix.
The method may further comprise pre-filtering the received signal vector using a MMSE filtering matrix. The sets of sub-vectors may then be determined based on the pre-filtered received vector using an QRD-M algorithm.
As mentioned above, in one embodiment, the minimum mean squared error estimate for the signal vector is determined and the signal vector is determined based on the minimum mean squared estimate using an QRD-M algorithm.
For example, in the first step of the plurality of determination steps, a set of possible symbols for a first component of the signal vector is determined. Furthermore, in each determination step but the first, the set of sub-vectors may be determined based on the set of sub-vectors in the previous step.
In one embodiment, in each step but the first step, the dimensions of the sub-vectors of the set of sub-vectors are larger by one than the dimensions of the sub-vectors of the set of sub-vectors determined in the previous step.
In one embodiment, in each step but the first step, each sub-vector of the set of sub-vectors is a sub-vector of the set of sub-vectors determined in the previous step expanded by one possible symbol for a component of the signal vector for which the sub-vectors in the previous step do not comprise a possible symbol.
In one embodiment, the order of the components of the signal vector according to which the sub-vectors are expanded from step to step is based on the matrix R of the QR decomposition, the column norm or the row norm of the expanded channel matrix or based on post-filtering signal to noise ratio.
The signal vector is for example sent using a plurality of sending antennas and is for example received by a plurality of receiving antennas. Each component of the channel matrix may characterize the channel gain from one of the sending antennas to one of the receiving antennas.
A circuit used in the embodiments of the invention, e.g. in the receiver, can be a hardware circuit designed for the respective functionality or also a programmable unit, such as a processor, programmed for the respective functionality.
The communication system 100 comprises a transmitter 101 and a receiver 102. The transmitter 101 comprises a plurality of transmit antennas 103, each transmit antenna 103 being coupled with a respective sending unit 104.
Each sending unit 104 is supplied with a component of a signal vector s=[s1, s2, . . . sN
Since Nr and Nt are assumed to be both bigger than one, the communication system 100 is a MIMO (multiple input multiple output) system, for example a MIMO-OFDM (orthogonal frequency division multiplexing) system with Nt=Nr=4 or 8 and working at a centre frequency of 5 GHz with a system bandwidth of 20 MHz. Modulation is for example done according to QPSK (quadrature phase shift keying) or 16 QAM (quadrature amplitude modulation). The transmitter 101 may also comprise a circuit for turbo coding (e.g. according to 3GPP) the data to be sent and may comprise a bit interleaver. For modulation, gray mapping may be used. The receiver 102 carries out the respective inverse operations, for example bit de-interleaving and turbo decoding.
Each receive antenna 105 receives one component of the received signal vector r and the respective component is output by the receiving unit 106 coupled to the antenna and fed to a detector 107.
The communication channel 108 is assumed to be a quasi-static flat fading channel. The transmission characteristics of the communication channel 108 between the transmit antennas 103 and the receive antennas 105 can be modelled by a complex channel matrix H. The component Hj,i of H characterizes the path gain from the ith transmit antenna 103 to the jth receive antenna 105. It is assumed that the channel matrix H is known to the receiver 102 for example by channel estimation carried out before transmitting the signal vector s.
The received signal vector r can be written as
r=H·s+η (1)
where η=[η1, η2, . . . ηN
The communication system 100 may for example be formed according to the V-BLAST architecture.
The signal vector s is generated from a single data stream that is de-multiplexed in the transmitter 101 into Nt sub-streams. Each sub-stream is encoded into symbols and one symbol of a sub-stream corresponds to a component of the signal vector s.
The detector 107 uses the received signal vector r to generate an estimated signal vector {tilde over (s)} which is an estimate for the originally sent signal vector s.
In the following, some detection methods are described which could be used by the detector 107 to determine the estimated signal vector {tilde over (s)}.
The estimate {tilde over (s)} may be determined as the solution of Maximum likelihood detection given by
where Ω denotes the modulation size, i.e., si ε Ω for all i.
According to maximum likelihood detection, an exhaustive search is carried out over |Ω|Nt candidate vectors for ŝMLD. The complexity is therefore high.
Applying QR decomposition to H such that H=QR, where Q is an orthonormal matrix and R is an upper triangular matrix with Ri,j , j≧i are its non-zero elements and Ri,i is a positive real number for each i, and assuming Nr≧Nt, equation (2) may be reformulated:
where y=QHr and ŝ=H†r=R554y is the zero-forcing solution and † indicates the pseudo-inverse of the respective matrix. It can be seen that the second term is independent of the transmitted signal vector s and can therefore be ignored in the minimisation process.
The exhaustive search which may lead to very high complexity can be avoided by using sphere decoding for detection.
A sphere decoder only examines those points falling inside a hypersphere with radius d as candidate vectors for the estimation ŝ, i.e. those vectors s which fulfil
To tell which points s are inside a hypersphere, a more and more stringent necessary condition is applied in sphere detection at each step, e.g., at a first step,
|RNt,Nt(ŝNt−sNt)|2≦d2
is used to find the component {tilde over (s)}Nt of a vector in the hypersphere, at the second step,
|R
Nt,Nt(ŝNt−sNt)|2+|RNt-1,Nt-1(ŝNt-1−sNt-1)+RNt-1,Nt(ŝNt−sNt)|2d2
is used to find the component {tilde over (s)}Nt-1 given {tilde over (s)}Nt. Proceeding in this fashion, all the points can be found eventually as is shown in [5] and [7].
By sphere decoding, the Nt-dimensional joint search is reduced to Nt one-dimensional search, with a later stage being correlated to all the previous stages, which is essentially a depth-first tree search. Once one point inside the hypersphere is found, the radius is immediately reduced to the new smaller value and the search process is performed again until the maximum likelihood estimate is found.
The complexity of sphere decoding heavily depends on the choice of the initial radius d. If d is chosen too large, too many points are found and if it is too small, no points are found and the radius has to be increased and the search has to be repeated. As suggested in [7], following rule can be used to obtain a value for d,
∥r−Hs∥2=∥η∥2≈NoE{χ2n
where E{·} denotes the expectation operation. Therefore, d can be chosen based on d2=KNoNr where K≧1 is a scaling factor. By trial and error, a good K can be found.
The sphere decoder is guaranteed to achieve ML performance (i.e. guaranteed to find the optimal maximum likelihood solution) if the radius is increased when no points inside the specified hypersphere are found, at the cost of higher complexity though. To reduce the complexity without compromising the ML performance, some ordering schemes may be applied:
|RNt,Nt(ŝNt−sNt)|2
|RNt-1,Nt-1(ŝNt-1−sNt-1)+RNt-1,Nt(ŝNt−sNt)|2
|RNt,Nt(ŝNt−sNt)|2≦d2
In one embodiment, the detector 107 determines {tilde over (s)} according to the QRD-M algorithm (see [9]). The QRD-M algorithm keeps, to minimize the metric in equation (3), only M branches at each step with the smallest accumulated metric. This means that only for M candidate vectors for {tilde over (s)}, the components (determined so far) are taken into account in the following step. This means that after each step (i.e. after each step of determining a further possible component {tilde over (s)}) only M vectors are kept as being sub-vectors of {tilde over (s)}.
For example, at the first step, only M out of Ω possible sNt with smallest |RNt,Nt(ŝNt−sNt)|2 are stored. At the second step, only M out of MΩ combinations (the M stored possibilities for sNt-1 from the first step times Ω possibilities for sNt) of sNt-1 and sNt with the smallest accumulated metric |RNt,Nt(ŝNt−sNt)|2+|RNt-1,Nt-1(ŝNt-1−sNt-1)+RNt,Nt-1(ŝNt−sNt)|2 are stored and so on. At the last step, the s with smallest overall metric is chosen as the maximum likelihood estimate. This maximum likelihood may not be the optimal one found by an exhaustive search. Consequently, the QRD-M algorithm is a sub-optimal detector in nature and only when M=ΩNt, it becomes an exhaustive maximum likelihood search. When M=1, it is essentially zero-forcing detection with interference cancellation.
An advantage of the QRD-M algorithm over sphere decoding is that its complexity is fixed when M is fixed. For sphere decoding, the best-case and worst case complexity may differ a lot. However, the overall expected complexity may still be lower than that of the QRD-M algorithm.
The ordering described above for sphere decoding except for the ordering based on the branch metric may also be used when the QRD-M algorithm is used for detection to improve the system performance. The ordering based on the column norm of H is for example applied in the standard QRD-M algorithm described in [9].
For sphere decoding, the expected complexity of most communication systems is O(Nt3) (see [5]). The number of nodes searched may be used as an indication of the complexity or to be more accurate, the number of real multiplications performed based on (3) may be used. It may be assumed that the complexity of testing whether one point is inside a sphere or not is negligible. Moreover, the manipulation on the channel matrix may also be considered as being negligible in the calculation of the complexity. Note that Rj,i is real when j=i and complex when j≠i.
For coded systems the working SNR is for example set as 7 dB. When the SNR increases the complexity typically decreases. It can be seen from simulations that ordering based on the branch metric (see [4]) has the most significant effect on the complexity, which becomes insensitive to the initial radius. While for those orderings that do not take into consideration the metric, the complexity surges as the radius increases. The H-norm ordering and DiagR ordering can help to reduce the complexity a little bit provided that initial radius is chosen properly.
When the initial radius is too large, their complexities are even higher than the case without ordering. Ordering based on DiagR always leads to a lower complexity than ordering based on H-norm. The mean complexity of the ordering metric algorithm is reduced by around 25% when combined with ordering DiagR or H-norm.
For a 16 QAM modulated 4×4 system, for example, in terms of mean number of nodes searched and mean number of real multiplications performed, respectively, with the working SNR being,set as 15 dB it can be seen that for a large range of the initial radius, the H-norm ordering and DiagR ordering lead to a lower complexity than the case without ordering. When the dimension increases, e.g. for a 8×8 system, the complexity reduction may become more significant when ordering is applied.
The maximum complexity between sphere decoding without ordering, with branch metric ordering and branch metric ordering may differ a lot in practical cases.
In tables 1 and 2, a summarization of a study on the complexity comparison among the maximum likelihood achieving schemes for QPSK and 16 QAM modulated 4×4 systems, respectively, is given. For sphere decoding, metric ordering combined with H-norm ordering is used as reference since this ordering will not introduce too much complexity as opposed to DiagR ordering. For QRD-M algorithm, to achieve ML performance, M=4 is used for QPSK and M=16 is used for 16 QAM. Note that this comparison is meant for hard decision ML only.
It can be seen from Tables 1 and 2 that sphere decoding always has the lowest average complexity and its advantage is more obvious for 16 QAM modulation because the complexity of sphere decoding is not so sensitive to the modulation size as opposed to the QRD-M and true ML detections. The problem of sphere decoder is that its worst case complexity is significantly higher than its average complexity. One way to alleviate this problem is to simply limit the upper bound of the complexity. If there is no point found, it is assumed that the zero-forcing solution is the ML estimate. This, however, will bring degradation to the system.
The QRD-M algorithm as described above may be considered as computing the branch metric values based on the zero forcing solution. Since the zero-forcing algorithm is susdeptible to noise enhancement especially when the channel matrix (and hence the corresponding upper triangular matrix in the QR decomposition) is ill conditioned, in one embodiment, a QRD-M algorithm is used for detection which is based on the pseudo-inverse MMSE (minimum mean squared error) algorithm. In one embodiment, this is an application of the pseudo-inverse MMSE algorithm proposed by Hassibi in [10] for MMSE VBLAST nulling and cancellation detection.
Since MMSE is better than zero-forcing algorithm in dealing with the bad channel effect, the performance of the worst branch can be expected to be improved by using this method. Consequently, the number of branches can be reduced in order to achieve the same level of BER performance.
As above, the signal model is expressed as
r=H·s+η (6)
The standard MMSE filtering matrix can be written as
W
H
=H
H(HH+NoI)−1=(HHH+NoI)−1HH.
The channel matrix is expanded using variance information about the noise as
where I is the Nt×Nt identity matrix. Further, let
where O is a Nt×1 zero column vector. Then G†{tilde over (y)}=WHr. The ML detection problem can then be written as
where {tilde over (R)}={tilde over (Q)}H{tilde over (G)} with {tilde over (R)}i,j denoting the components of R and {tilde over (s)}=G†{tilde over (y)}=WHr is the MMSE estimate. The search process can be done in the same way as in sphere decoding or QRD-M algorithm, except that there is one more term No∥s∥2 participating the search process. For QPSK, for example, it is a constant and can be ignored in the search process.
From simulations it can be seen that pseudo-inverse MMSE based QRD-M with M=4 and H-norm ordering is able to achieve similar performance to the conventional zero-forcing based QRD-M with M=8 and V-BLAST ordering. When V-BLAST ordering is applied, its performance almost reaches ML performance and it outperforms its zero-forcing based counterpart by about 10 dB.
The pre-filtered QRD-M detection scheme can be applied to the Orthogonal Frequency and Code Division Multiplexing (OFCDM) MIMO System (cf. [11]).
The pre-filtered QRD-M detection scheme, i.e. the QRD-M detection method based on the MMSE estimation, may be applied to a MIMO system as shown in
The pre-filtered QRD-M detection scheme described may also be used for detection in a base station of a multi-user code division multiple access (CDMA) system. The corresponding signal model can in this case be written as:
r=Rd+η, (8)
where r=(r1,R2, . . . , rK)T and rj denotes the jth spreading code matched filter output, R denotes the correlation matrix of the K active users, d denotes the transmitted signal vector, and η denotes the code sequence filtered AWGN noise. The filtered noise is no longer AWGN when the spreading codes of the users are not orthogonal.
The channel gain and the multipath effects for the various users are all incorporated into the correlation matrix R.
A detection method according to an embodiment of the invention is described with reference to
In 201, a signal vector is received, for example by the receiver of a MIMO system.
It is assumed that the channel via which the signal vector has been received can be characterized by a channel matrix.
In 202, the channel matrix is expanded by variance information about the noise on the communication channel. For example, with the notations used above, the matrix G is generated from the channel matrix H according to G=
where, as above, No denotes the variance of the noise on the communication channel.
In 203, a QR decomposition of the expanded channel matrix is carried out.
In 204, a plurality of determination steps are carried using the QR decomposition of the expanded channel matrix, wherein in each step a set of possible sub-vectors of the signal vector is determined and wherein in each step, the number of possible sub-vectors in the set is lower than a predefined maximum number. After the last determination step, one vector of the set of possible sub-vectors determined in the last determination step is selected as the signal vector.
The plurality of determination steps are for example carried out according to the QRD-M algorithm.
If the channel characteristics do not rapidly change, a plurality of signal vectors may be determined using the same expanded channel matrix and the same QR decomposition.
Further, the MMSE-based QRD-M scheme may be combined with the adaptive trellis extension scheme described in [11] to reduce the computational complexity.
In this document, the following publications are cited:
This application claims the benefit of U.S. provisional application 60/797,509 filed 4 May 2006, the entire content of which is incorporated by reference herein for all purposes.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SG07/00126 | 5/3/2007 | WO | 00 | 10/5/2009 |
Number | Date | Country | |
---|---|---|---|
60797509 | May 2006 | US |