This invention relates to a receiver for use in a Multiple Input, Multiple Output (MIMO) communications system, and is directed particularly, but not exclusively, at improvements in the manner of decoding a received signal into symbols of a possible set (constellation) of such symbols.
The transmitter device 12 comprises a data source 16, which provides data (comprising information bits or symbols) to a channel encoder 18. The channel encoder 18 in this example comprises a convolutional coder such as a recursive systematic convolutional (RSC) encoder, or a stronger so-called turbo encoder (which includes an interleaver). More bits are output than are input, and typically the rate is one half or one third.
The channel encoder 18 is followed by a channel interleaver 20 and, in the illustrated example, a space-time encoder 22. The space-time encoder 22 encodes an incoming stream of bits as a plurality of code symbols for simultaneous transmission from a transmitter antenna array 24 comprising a plurality of transmit antennas 25. In this illustrated example, three transmit antennas 25 are provided.
The encoded transmitted signals propagate through a MIMO channel 28 defined between the transmit antenna array 24 and a corresponding receive antenna array 26 of the receiver device 14. The receive antenna array 26 comprises a plurality of receive antennas 27 which provide a plurality of inputs to a space-time (and/or frequency) decoder 30 of the receiver device 14. In this specific embodiment, the receive antenna array 26 comprises three receive antennas 27.
The decoder 30 has the task of removing the effect of the encoder 22. The output of the decoder 30 comprises a plurality of bits, equal to the number of the bits input to the space-time encoder 22, each carrying so-called soft or likelihood data on the probability of a each bit having a particular value, i.e. +1 or −1. This data is provided to a channel de-interleaver 32 which reverses the effect of the channel interleaver 20, and the convolutional code output by this channel de-interleaver 32 is then presented to a channel decoder 34, in this example a Viterbi decoder, which decodes the convolutional code.
Typically, the channel decoder 34 is a SISO (soft-in soft-out) decoder, that is operable to receive bit likelihood data and to provide similar likelihood data as an output rather than, say, data on which a hard decision has been made. The output of channel decoder 120 is provided to a data sink 36, for further processing of the data in any desired manner.
MIMO decoders attempt to solve the “integer least-squares problem”, i.e. find {tilde over (s)} that minimizes the distance dmin between the received vector r and the operation of the MIMO channel matrix H on {tilde over (s)}. This problem can be expressed as a process of estimating {tilde over (s)} that produces dmin=min∥r−H {tilde over (s)}∥2, where r=Hs+n is the MIMO channel transfer equation.
The channel transfer matrix H is assumed to be perfectly known by the receiver, but this assumption is not restrictive for the scope of this invention. The channel transfer matrix H is normally estimated using pre-defined training sequences sent by the transmitter and specific techniques for channel estimation do not affect the design of the technology presented in this invention.
Traditional Maximum Likelihood (ML) detection requires an exhaustive evaluation of 2q-N distance metrics, where q is the number of bits in the symbol constellation (e.g. 6 for 64-QAM, 4 for 16-QAM, 2 for QPSK) and N is the number of layers (symbols) to be jointly decoded (e.g. N for spatial-multiplexing on N transmit antennas).
A soft-output decoder must also provide reliability information on the estimated bits, which are used by the channel decoder to improve the bit detection performance. The log-likelihood reliability/ratio for each bit bk is given by the natural logarithm of the ratio of the probability that this bit is 1 divided by the probability that this bit is −1 (possible bit states are regarded as +1 and −1).
It can be shown that the Max-Log approximation transforms this reliability formula into:
The reliability formula depends on both the distance metrics and the noise variance. A typical Space-Time code specifically designed for 3 transmit antennas is illustrated in the table set out in
The MIMO system for which solution of the integer squares problem is required, as well as providing reliability information according to equation 1, is:
It is assumed that the channel is quasi-static, i.e. the channel matrix does not change over two time intervals. A similar assumption (over frequency) has to be assumed in the case of Space-Frequency Alamouti encoding. In the general case of a Space-Time-Frequency code, the channel is assumed quasi-static over both dimensions (Time and Frequency).
Equation 2 can be restructured as:
The submatrix h consisting of the first two columns of the channel matrix H represent the Alamouti orthogonalized channel, which has the property h hHh=γI. This property is taken into consideration in the design of the reduced-complexity ML detectors as will be described in the following explanation of the specific embodiment of the invention.
The tree structure of a conventional soft-output MIMO ML-detector for the system of equation 3 is shown in
The structure consists of 4 layers, each layer consisting of all 2q possible candidates for each unique symbol in the Space-Time transmission scheme (
One aspect of the present invention is intended to provide a solution to this problem. This is achieved in one embodiment of the invention by taking advantage of the special form of the channel matrix and designing a reduced complexity ML detector.
In “Combined ML and DFE decoding for the V-BLAST system” (Won-Joon Choi; Negi, R.; Cioffi, J. M., Communications, 2000. ICC 2000. 2000 IEEE International Conference on, Vol. 3, Iss., 2000, Pages:1243-1248 vol. 3), an ML-DFE detector is presented, which is based on both ML decoding and the Successive Interference Cancellation technique. The channel matrix is partially decomposed, then the first symbols are ML decoded and the remaining symbols decoded successively using the DFE procedure.
In contrast, an embodiment of the present invention provides soft ST-detector output. Further, the technique used in that disclosure is targeted to space-multiplexing only and enhances the performance compared to the original V-BLAST algorithm. An embodiment of the present invention instead uses ST-codes with certain structure as described below and provides full-ML performance.
“On Detection Algorithms and Hardware Implementations for V-BLAST” (Z Guo and P Nilsson, in Proceedings of the Swedish System-on-Chip Conference (SsoCC'02), Falkenberg, Sweden, Mar. 18-19, 2002) presents the p-ML detector, which is again based on both ML decoding and the Successive Interference Cancellation technique, similar to the paper by Choi et al discussed above.
“Successive decoding of multiple space time coded streams in multi-input multi-output systems” (Jung-Tao Liu, Global Telecommunications Conference, 2002. GLOBECOM '02. IEEE, Vol. 1, Iss., 17-21 November 2002, Pages: 1007-1011 vol. 1) presents a method based on grouping the antennas into subsets which are individually ST-encoded. A DFE approach is used in order to estimate symbols belonging to all but one subset; this subset is then decoded and its contribution is subtracted from the signal vector. This process is repeated until all antenna groups are processed.
However, this technique uses a DFE approach not employed in embodiments of the present invention. This technique may suffer from propagation errors, which is inherent in a DFE approach.
“Optimum efficiently decodable layered space-time block codes” (Prasad, N.; Varanasi, M. K. Signals, Systems and Computers, 2001. Conference Record of the Thirty-Fifth Asilomar Conference on, Vol. 1, Iss., 2001, Pages:227-231 vol. 1) uses the technique of DFE combined with ST-codes (e.g. Alamouti), presented in the paper by Tarokh et al. referred to above.
“Applications of space-time block codes and interference suppression for high capacity and high data rate wireless systems” (Naguib, A. F.; Seshadri, N.; Calderbank, A. R., Signals, Systems & Computers, 1998. Conference Record of the Thirty-Second Asilomar Conference on, Vol. 2, Iss., 1-4 November 1998, Pages:1803-1810 vol. 2) describes the use of ML combined with interference cancellation schemes and ST-coding in order to suppress interference from co-channel space-time users. This paper is technically equivalent to the disclosure contained in International Patent Application WO9918682A3.
An embodiment of the invention presents an alternative to the popular sphere detectors. The specific embodiments of a detector presented herein are specifically operable to take account of certain ST-code structures and are low complexity and optimal performance (first embodiment) and near-optimal (embodiments 2 and 3).
One aspect of the invention provides a receiver operable to receive a multiple element signal resultant from a MIMO transmission, the receiver including decoding means for identifying symbols, from a predetermined set of such symbols, carried in said signal, and estimating the corresponding bits according to a pre-defined mapping of symbols to bits along with associated likelihood information representing the likelihood of an identified bit being such a bit, the decoding means being operable to detect bits in a received signal corresponding to an orthogonal transmission of information on two transmit antennas and taking account of the orthogonal transmission format, having already decoded in a first decoding stage the remaining data.
Specific embodiments of the invention will now be described, with reference to the accompanying drawings, in which:
The existence of a reduced complexity ML detector depends on the MIMO configuration and the design of the ST-code. Here it is assumed that the MIMO system uses 3 transmit and 3 receive antennas and the ST-code previously described. It should be noted that the principles behind the reduced complexity ML detector can also be applied to other MIMO configurations and ST-codes, however in the case of 3×3, the detector realization is particularly attractive as the full-ML performance can be achieved at significantly reduced complexity. All descriptions from now on will be focussed on this particular MIMO configuration and specific ST-code as previously described.
It is assumed that log-likelihood information is constantly updated during this exhaustive search process, according to equation 1.
The implementation searches over all possible combinations of s3 and s4. When picking a pair of {s3, s4}, equation 3 can then be simplified to:
It will be appreciated that the new channel matrix h′ in this simplified expression of the system is orthogonal. This system of equations can be solved by simple linear processing (i.e. using an Alamouti detector):
Finally, by quantizing s1 and s2 to the nearest constellation points, the distance metric Ds
The vector {tilde over (s)} that gives the minimum distance metric is therefore the hard-ML solution.
This procedure is equivalent to Maximum-Likelihood detection in terms of both performance and structure. As every possible combination of s3 and s4 is removed from equation 3, the Alamouti detector operates on the simplified equation; bearing in mind that the Alamouti detector is a ML detector, then it is evident that the complete detector is an ML detector, but with reduced complexity. The complexity is significantly reduced compared to a full-brute-force approach and is e.g. 642=4096 trials for 64-QAM, while the full-ML approach, as noted above, would require 644=16.7 million trials.
It should be noted that the orthogonality of the sub-matrix in equation 3 can only be exploited in this manner. A sphere detector would be unsuitable for carrying out the process of estimating s3 and s4; sphere decoding relies on reformulating the cost (distance) function into a summation over the individual transmit antenna symbol candidates, e.g. by QR decomposition of the channel matrix. There is no evident way of using this technique without destroying this specific property of orthogonality of the channel matrix that is used advantageously to simplify complexity.
A second embodiment of the invention will now be described. This embodiment provides detection of symbols and associated likelihood information with a fixed degree of complexity. It is a list reduced-complexity ML-detector.
This detector operates on the basis that it is possible to deliver performance equal to or approaching that of the previous detector at a fraction of the complexity. The detector of the second embodiment of the invention has the same structure as the fundamental reduced-complexity detector, i.e. that described in the first specific embodiment of the invention, but instead of exhaustively searching over all 64 constellation points for symbols s3 and s4, it first calculates the ZF solution and then considers only the constellation points around this solution.
The search is not exhaustive but delivers similar performance to the full-ML search given a sufficient number of candidates (the number of candidates depends on the SNR and is channel-specific. The problem of the number of candidates needed is not tackled by this embodiment of the invention. Certain embodiments not described here could calculate the number of candidates given some metrics on the channel “quality” and the Signal to Noise Ratio.
An example of a possible algorithm's path through the constellation space for layers s3 and s4 is shown in
The path for s3 is traversed for each point in the s4 path. In this case the ML solution for both layers is eventually reached (also shown in bold in the path list above). It should be noted that there is no guarantee that the detector of this embodiment will arrive at the ML solution, although in practice it is highly likely. In practice the average path length for each layer can be expected to be lower than this example: simulations for the 802.1 In standard channel model ‘B’ showed that the ZF solution and the ML solution for at least one layer usually overlap for an SNR of around 15 dB per receive antenna and non-line-of-sight conditions. The algorithm's path length to reach the ML solution therefore depends on the channel under consideration. Nevertheless, the reader should be reminded that the hard-ML solution is not the only information that is supplied to the channel (e.g. Viterbi) decoder.
For the sake of clarity, other examples of the traversed path on both layers are found in
In
In other words, the detector selects the first constellation point from the first path and evaluates all points across the second path. Then it selects the second point from the first path and evaluates all points across the second path. This process is repeated until all the points from the first path have been selected. In
In this example, the ML solution for symbol s4 coincided with the ZF solution. The detector would still need to evaluate all combinations to reach that conclusion in this embodiment.
It will be appreciated that the detector of this embodiment offers one example of several variants all operable in accordance with the same overall concept.
For example, it is possible to design a metric that could be used for stopping the search, e.g. when the calculated distance metrics ∥r−H{tilde over (s)}∥2 in the search begin to surpass a large value.
In cases where the noise is correlated across layers s4 and s3, it would be possible to order the candidates according to the predicted noise vector. For example, by observing the distance metrics ∥r−H{tilde over (s)}∥2 across the search space of s4, it would be possible to have an estimation of the properties of the noise vector for this layer (e.g. vector direction). Knowing that the noise vector for layer s3 is correlated with the noise vector for s4, it would be possible to estimate the noise vector direction for layer s3 and therefore prioritize the constellation points in that direction.
It should also be noted that the order in which the detector considers the constellation points is not significant, as long as the detector considers the constellation points that have the smallest Euclidean distance to the ZF solution point.
The complexity is lower than that of the first embodiment: and is in the order of (num_candidates)2, while the performance is in the region of ML for more than 12 candidates.
In this second embodiment, the initial solution can be based on solving for the ZF solution, using for example V-BLAST or more preferably a decomposition-based approach (QR-decomposition, sorted-QR decomposition, CORDIC). An interesting property of the specific space-time code used throughout these examples is that the ordering to be performed during decomposition is known; this is because of the properties of the columns of the channel matrix: columns 1 and 2 have the same magnitude—the same holds for columns 3 and 4. The magnitude of column 1 or 2 is statistically (on average) more significant the magnitude of column 3 or 4, because half of the elements of columns 3 and 4 are zero.
It is possible that a hardware processor capable of parallelization would jointly consider two or more candidates (belonging to the same layer). It is evident that processing can be simplified in this way because repeating the whole process for any two adjacent e.g. s4 candidates involves repeated steps (e.g. removing s3 from the equation) or common arithmetic operations (the multiplications of a with b, then with b+d, then with b+2*d etc. can be reduced to a single multiplication plus some multiplications with 2 and additions). However, without loss of generality and for ease of description, only the case of serial candidate consideration without explicit optimizations will be assumed throughout this invention.
An improved heuristic-method can be applied in a third embodiment of the invention which provides a fixed complexity method of detecting symbols, and determining associated likelihood information, in a stream received on a MIMO channel.
In accordance with this third specific embodiment, a novel heuristic algorithm will now be described, which has equivalent performance but further reduction in complexity as compared with the ML and candidate-ML algorithms described with regard to the first and second specific embodiments above.
With regard to
The underlying concept harnessed in the third embodiment described here is to combine local minima across both dimensions/layers in order to get the global minimum. This essentially yields a sub-optimal decoder but however yields a performance in the region of the ML decoder with far fewer distance metric calculations (in particular, fewer than calculated in the second embodiment for the same performance).
The algorithm operates in two stages, having parameters a and b where a is the number of candidates and b is the secondary number of candidates. An initial solution such as the ZF solution {tilde over (s)}ZF=[s1,ZF s2ZF s3ZF s4ZF]T is needed.
The steps of the algorithm can be described as follows:
Total: 2*a−1+b*b calculations instead of num_candidates2.
A working example of the process of the third embodiment will now be described with reference to FIGS. 11 to 13.
As illustrated in
In a second stage of the third embodiment, as illustrated in
A generalized version of the third embodiment is also envisaged. This involves modifying the algorithm so that it is more general. The number of candidates for layer s3 might not be the same as layer s4. The steps of the generalized algorithm would then be:
Second stage. Search over the bs3*bs4 space
In a further modification of the third embodiment, it would also possible to keep the number of candidates fixed by having as3=as4. and bs3 and bs4 only satisfy bs3+bs4=b. The best candidates from both layers considered together {x1,x2, . . . ,xb
It is also possible that a minimum number of candidates (i.e. rows and columns in the distance graph) are considered by the detector.
This technology enables optimum performance (hard- and soft-output ML-detection) of MIMO ST-coded streams under significantly reduced complexity.
Simulations have shown that only considering a certain number of candidates yields practically identical performance as the exhaustive approach, for both hard- and soft-output detectors. FIGS. 14 to 16 illustrate the performance characteristics of the various described embodiments in practical examples.
During the operation of the decoders presented in the second embodiment (and also in the third embodiment), it can arise that the values
for a certain bit bk are empty. This happens because not all possible values for {tilde over (s)} are evaluated. As an example, in the first embodiment, s4 and s3 are exhaustively evaluated, so the both of the values above exist. However, the linear detector of the next stage delivers only a single value for s2 and s1 for a given s4 and s3. Therefore it might occur that e.g. bit bk=+1 belonging to either s1, or s2 never occurs for a certain k so the value
will be empty. One way to rectify this problem would be to initialize all the values for
to a certain initial value, preferably one that is larger than the Euclidean distance of the two constellation points spaced the furthest apart on the constellation grid.
While the foregoing is provided by way of example of the invention for which protection is claimed, it will be appreciated that further modifications and alternative arrangements will fall within the scope of protection, which is to be determined by the appended claims as construed in the light of the description and the drawings.
In particular, it will be appreciated that the invention can be put into practice in suitably configured general purpose computing and/or communications apparatus, such as configured by software, which may be introduced by means of a storage medium readable by the apparatus concerned, or by apparatus networked with the apparatus concerned, or by apparatus with which the apparatus concerned is temporarily at least in communication, whether directly or indirectly. Further, the software could be introduced by means of a program downloaded from a remotely accessible data server, such as via the internet. Alternatively, the apparatus may be configured to operate in accordance with an aspect of the invention by virtue of introduction thereto of suitable hardware components, such as an application specific integrated circuit or similarly configured electronic means to configure the apparatus accordingly.
Number | Date | Country | Kind |
---|---|---|---|
0420465.7 | Sep 2004 | GB | national |