This application is based on and claims priority to United Kingdom Patent Application 0614088.3, filed Jul. 14, 2006, the entire contents of which is incorporated herein.
The present invention is in the field of wireless communication, and particularly, but not exclusively, the field of multiple input, multiple output (MIMO) communications systems.
Conventional communication systems can be represented mathematically as:
y=Hx+v
in which, for a MEMO communication system, y is an n-by-1 vector representing the received signal, H is an n-by-m channel matrix modelling the transmission characteristics of the communications channel, x is an m-by-1 vector representing transmit symbols, v is an n-by-1 noise vector and wherein m and n denote the number of transmit and receive antennas respectively.
It will be understood by the skilled reader that the same representation can be used for multi-user detection in CDMA systems.
Recent publications have demonstrated how the use of a technique called Lattice Reduction can improve the performance of MIMO detection methods.
For example, “Lattice-Reduction-Aided Detectors for MIMO Communication Systems”, (H. Yao and G. W. Womell, Proc. IEEE Globecom, November 2002, pp. 424-428) describes Lattice-reduction (LR) techniques for enhancing the performance of multiple-input multiple-output (MIMO) digital communication systems.
In addition, “Low-Complexity Near-Maximum-Likelihood Detection and Precoding for MIMO Systems using Lattice Reduction”, (C. Windpassinger and R. Fischer, in Proc. IEEE Information Theory Workshop, Paris, March, 2003, pp. 346-348) studies the lattice-reduction-aided detection scheme proposed by Yao and Womell. It extends this with the use of the well-known LLL algorithm, which enables the application to MIMO systems with arbitrary numbers of dimensions.
“Lattice-Reduction-Aided Receivers for MIMO-OFDM in Spatial Multiplexing Systems”, (I. Berenguer, J. Adeane, I. Wassell and X. Wang, in Proc. Int. Symp. on Personal Indoor and Mobile Radio Communications, September 2004, pp. 1517-1521, hereinafter referred to as “Berenguer et al.”) describes the use of Orthogonal Frequency Division Multiplexing (OFDM) to significantly reduce receiver complexity in wireless systems with Multipath propagation, and notes its proposed use in wireless broadband multi-antenna (MIMO) systems.
Finally, “MMSE-Based Lattice-Reduction for Near-ML Detection of MIMO Systems”, (D. Wubben, R. Bohnke, V. Kuhn and K. Kammeyer, in Proc. ITG Workshop on Smart Antennas, 2004, hereinafter referred to as “Wubben et al.”) adopts the lattice-reduction aided schemes described above to the MMSE criterion.
The techniques used in the publications described above use the concept that mathematically, the columns of the channel matrix, H (which describes the propagation environment between the transmit and receive antennas) can be viewed as describing the basis of a lattice. An equivalent description of this lattice (a so-called ‘reduced basis’) can therefore be calculated so that the basis vectors are close to orthogonal. If the receiver then uses this reduced basis to equalise the channel, noise enhancement can be kept to a minimum and detection performance will be improved (such as, as illustrated in
This process comprises the steps described as follows: yr, xr and Hr are defined to be the real-valued representations of y, x, and H respectively, such that:
where Re( ) and Im( ) denote the real and imaginary components of their arguments.
It will be noted that Berenguer et al. describes the equivalent method in the complex plane, though for the purpose of clarity the Real axis representation of the method is used herein. However, it will be appreciated by the reader that any algorithm, real or complex, can be used to perform lattice reduction. To this end, a number of lattice reduction algorithms exist in the art. Any one of these lattice reduction algorithms can be used to calculate a transformation matrix, T, such that a reduced basis, {tilde over (H)}r is given by
{tilde over (H)}r=HrT
The matrix T contains only integer entries and its determinant is ×1.
One suitable lattice reduction algorithm is the Lenstra-Lenstra-Lovasz (LLL) algorithm referred to above, which is disclosed in Wubben et al., and also in “Factoring Polynomials with Rational Coefficients”, (A. Lenstra, H. Lenstra and L. Lovasz, Math Ann., Vol. 261, pp. 515-534, 1982, hereinafter referred to as “Lenstra et al.”), and in “An Algorithmic Theory of Numbers, Graphs and Convexity”, (L. Lovasz, Philadelpia, SIAM, 1980, hereinafter referred to as “Lovasz”).
Lattice reduction re-expresses the mathematical description of the communications system as:
yr=HrXr+vr=HrTT−1xr+vr={tilde over (H)}rT−1xr+vr={tilde over (H)}rz+vr
where zr=T−1xr. The received signal, yr, in this redefined system is then equalised to obtain an estimate of zr. This equalisation process then employs, for example, a linear zero forcing (ZF) technique, which obtains:
{tilde over (z)}r=({tilde over (H)}r*{tilde over (H)}r)−1{tilde over (H)}r*yr
Since {tilde over (H)}r is close to orthogonal, {tilde over (z)}r should suffer much less noise enhancement than if the receiver directly equalised the channel Hr.
Assuming that the transmitted symbols contained in x are obtained from an M-QAM constellation then xr can be formed as
xr=αs+β
where s is taken from the set of integers (limited by the dimension of the constellation) and α and β are scalar values.
The equalised signal, {tilde over (z)}r, can then be quantised by transformation thereof to an integer lattice. This uses a shifting and scaling operation, as follows:
where Q{ } is the quantisation function that rounds each element of its argument to the nearest integer, and where 1 is a column vector of ones. Apart from this quantisation function apart, the remaining operations are a result of M-QAM constellations being scaled and translated versions of the integer lattice. The integer quantisation therefore requires the same simple scaling and translation operations.
To obtain soft information, i.e. Log Likelihood Ratios (LLRs), the technique described in UK Patent Application 0518036.0 may be used, as briefly described below.
As an input this approach takes the quantised estimate of the transmitted lattice point in the reduced basis, {circumflex over (z)}r, as defined above.
In a first step, the vector {circumflex over (z)}r is treated as the first entry in a list of candidate vectors. Other candidate vectors are then obtained by modifying one or more elements of the vector {circumflex over (z)}r and adding these as new candidate vectors to the list.
Whilst any of these additional candidate vectors may differ from {circumflex over (z)}r in more than one element, this approach generates candidates by only ever allowing these to vary one element of {circumflex over (z)}r. The ith candidate vector in this list is defined as c(i), and hence c(1)={circumflex over (z)}r.
A simple and effective way (but not the only way) of generating a list of candidates is to perturb each element of {circumflex over (z)}r in turn by ±α (where a is the minimum distance between 2 constellation points). For example, if {circumflex over (z)}r is a 2-by-1 vector, then there would be 4 additional candidate vectors, giving a total of 5 candidates as follows:
The effect of perturbing elements of {circumflex over (z)}r is to generate other points in the reduced lattice. The perturbations by ±α, give the closest points in the lattice as a is the distance between any two neighbouring points.
An alternative implementation may involve increasing the list of candidates through perturbing elements of {circumflex over (z)}r by multiples of a (i.e. to not just the closest point, but the closest few points), and/or by perturbing multiple elements of {circumflex over (z)}r simultaneously rather than just one element at a time.
Just as for a hard-output detector, occasionally it is possible that some of the elements of the vector {circumflex over (x)}r(i) may not be valid symbols. In such cases these symbols are mapped to the nearest valid symbol. For example, for 16-QAM, if the values ±1, ±3 define the valid entries, then if an element were equal to +5, this would be mapped to a value of +3.
For each candidate symbol vector {circumflex over (x)}r(i) its probability of being transmitted is calculated as:
These probabilities are then used to calculate the probability of symbol x′ having been transmitted from antenna k, where x′εX and X defines the set of symbols in the chosen constellation:
Depending on the list of candidates, according to the above definition P may not be specified for all values of k and x′. In these cases P is set to a default (small) value. This default can be a fixed value or it could varied according to a method such as that described in “Adaptive Selection of Surviving Symbol Replica Candidates Based on Maximum Reliability in QRM-MLD for OFCDM MIMO Multiplexing” (K. Higuchi, H. Kawai, N. Maeda and M. Sawahashi, in Proc. IEEE Globecom, Dallas, December 2004), or by any other appropriate method.
Now that the receiver has information on the probability of different symbols having been transmitted, these can be processed in the conventional way to obtain, for instance, a log-likelihood ratio for each transmitted bit. This can be done as follows:
where:
L(bk,i) is the log-likelihood ratio of bit bk,i,
k indicates the transmit antenna,
i=1, . . . , M where M is the number of bits per symbol, and
X(1) and X(0) are the sets of symbols for which bk,I=1 and bk,I=0 respectively.
When using lattice reduction in, for instance, MIMO decoding or precoding, it is not only the lattice reduction matrix T that is needed, but also its inverse T−1. The LLL algorithm does not provide T−1, so this must be computed afterwards. This involves an explicit matrix inversion once the lattice reduction matrix T has been found.
In fact, the MIMO decoder described above doesn't actually need the matrix T−1 but instead requires only the product T−11. Hence it is desirable to provide a decoder invoking a modified LLL algorithm which can thus provide either (or both) of these variables.
A first aspect of the invention provides a method of decoding a received signal in a wireless communications system, the method comprising obtaining an estimate of channel response in said system, applying lattice reduction to said channel response, and applying equalisation of said received signal in accordance with the reduced basis channel, the step of applying lattice reduction being in accordance with the LLL algorithm and including, in each operation of the lattice reduction step in accordance with the LLL algorithm, determining a lattice reduction inverse by derivation from an initial condition or a previous operation of the lattice reduction step.
The step of determining a lattice reduction inverse may include the step of initialising a calculation matrix to an identity matrix and processing said calculation matrix in correspondence with processing of said lattice reduction step so as to mirror processing of a matrix representing the lattice reduction, so as to generate an inverse thereof.
The step of processing said calculation matrix in correspondence with processing of said lattice reduction step may comprise linear combination of rows in correspondence with linear combination of columns in the LLL algorithm, and/or swapping rows in correspondence with swapping columns in the LLL algorithm.
In each operation of the lattice reduction step in accordance with the LLL algorithm, the method may comprise determining a row-wise sum of a lattice reduction inverse by derivation from an initial condition or a previous operation of the lattice reduction step.
According to a second aspect of the invention, there is provided a method of decoding a received signal in a wireless communications system, the method comprising obtaining an estimate of channel response in said system, applying lattice reduction to said channel response and applying equalisation of said received signal in accordance with the reduced basis channel, the step of applying lattice reduction being in accordance with the LLL algorithm and including, in each operation of the lattice reduction step in accordance with the LLL algorithm, determining a row-wise sum of a lattice reduction inverse by derivation from an initial condition or a previous operation of the lattice reduction step.
The method may comprise determining a row-wise sum of a lattice reduction inverse includes the step of initialising a calculation vector and processing said calculation vector in correspondence with processing of said lattice reduction step, said processed calculation vector thereby resulting in said row-wise sum.
The step of processing said calculation vector in correspondence with processing of said lattice reduction step may comprise linear combination of elements of said vector in correspondence with linear combination of columns in the LLL algorithm, and/or swapping elements of said calculation vector in correspondence with swapping columns in the LLL algorithm.
There is further provided a method of determining soft estimates of transmitted bit values from a received signal in a lattice reduction aided receiver, the method comprising decoding said signal in accordance with any preceding aspect of the invention and determining probabilities of transmitted bits having particular values.
The invention may also be provided by computer implemented means, such as software configuring a general purpose communications configured computer apparatus, or more application specific apparatus such as an ASIC, an FPGA or a DSP. To this end, the invention may be embodied in a software product, which may be delivered on computer readable storage media, such as optical or magnetic media or flash memory storage media, or by means of a computer receivable signal, such as a downloaded file or collection of files. No part of the following description of specific embodiments of the invention should be interpreted as a limitation on the scope of application of the invention, as the embodiments so described are provided by way of example only, with reference to the accompanying drawings, in which:
The present invention will now be described with reference to an implementation thereof for the equalization of a wireless communication system.
The communications system 10 comprises a transmitter device 12 and a receiver device 14. It will be appreciated that in many circumstances, a wireless communications device will be provided with the facilities of a transmitter and a receiver in combination but, for this example, the devices have been illustrated as one way communications devices for reasons of simplicity.
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 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 symbol or symbols 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, though practical implementations may include more, or less antennas depending on the application.
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 lattice-reduction-aided decoder 30 of the receiver device 14. In this specific embodiment, the receive antenna array 26 comprises three receive antennas 27.
The lattice-reduction-aided decoder 30 has the task of removing the effect of the MIMO channel 28. The output of the lattice-reduction-aided decoder 30 comprises a plurality of signal streams, one for each transmit antenna 25, each carrying so-called soft or likelihood data on the probability of a transmitted bit having a particular value. This data is provided to a channel de-interleaver 32 which reverses the effect of the channel interleaver 20, and the de-interleaved bits output by this channel de-interleaver 32 are then presented to a channel decoder 34, in this example a Viterbi decoder, which decodes the convolutional code. The output of channel decoder 34 is provided to a data sink 36, for further processing of the data in any desired manner.
The specific function of the lattice-reduction-aided decoder 30 will be described in due course.
Audio/video output hardware devices 120 are further connected to the general purpose bus 114, for the output of information to a user. Audio/video output hardware devices 120 can include a visual display unit, a speaker or any other device capable of presenting information to a user.
Communications hardware devices 122, connected to the general purpose bus 114, are connected to the antenna 26. In the illustrated embodiment in
Communications facilities 132 in accordance with the specific embodiment are also stored in the working memory 112, for establishing a communications protocol to enable data generated in the execution of one of the applications 130 to be processed and then passed to the communications hardware devices 122 for transmission and communication with another communications device. It will be understood that the software defining the applications 130 and the communications facilities 132 may be partly stored in the working memory 112 and the mass storage device 116, for convenience. A memory manager could optionally be provided to enable this to be managed effectively, to take account of the possible different speeds of access to data stored in the working memory 112 and the mass storage device 116.
On execution by the processor 110 of processor executable instructions corresponding with the communications facilities 132, the processor 110 is operable to establish communication with another device in accordance with a recognised communications protocol.
The function of the lattice-reduction aided decoder 30 will now be described in further detail in accordance with
For ease of reference, and to demonstrate the difference between operation of the altrrice reduction aided decoder 30 with regard to prior art examples, the LLL algorithm as described in Wubben et al. is set out below, in step form. This algorithm operates on a QR decomposition of the m×n channel matrix, H=QR, hence:
Note that δ=¾ in Wubben et al. and that (x) denotes the nearest integer to x.
The LLL algorithm as set out above operates by either replacing columns of the channel matrix with a linear combinations of columns (line 8) or by swapping columns (line 12).
In this described embodiment of the present invention, it is also desired to compute the inverse V=T−1 and/or its row-wise sum T−11. In this case, therefore, the LLL algorithm as described above is modified by adding the following operations: (1a) initialise
V(l,:)=μV(k,:)+V(l,:), s1=μsk+sl (8a)
(12a) swap rows k−1 and k in V and elements k−1 and k in s
These steps follow steps (1), (8) and (12) respectively. It will be noted that P−1 is trivial if P is chosen as the identity matrix or the output of a previous call to the modified LLL algorithm (in which case the inverse would already have been calculated). The algorithm in accordance with the specific embodiment of the invention will now produce the lattice reduction inverse V=T−1 and its row-wise sum s=T−11 without the need for an explicit matrix inversion. It will be noted that V and s are independent in the sense that they can be computed individually. Hence, if only one of them is sought, the other one does not have to be computed.
Then, for the reduced basis determined in this way, a set of candidate vectors in the reduced lattice is determined, in step S1-4. For the purpose of this description of a specific embodiment, the method of generating a list of candidates described in the introduction, perturbing each element of {circumflex over (z)}r in turn, is used.
Once a list of candidate vectors in the reduced lattice has been obtained then, in step S1-6, log likelihood ratios L(bk,i) are derived as set out in the introduction to the field of the invention, detailed above.
The graph of
It will be appreciated that the foregoing disclosure of specific embodiments of the invention can be applied to any communications product employing MIMO transmission techniques, to take advantage of the benefits of the invention. Further, the invention is applicable to any circumstance in which the detection of symbols which may be based on multiple input is required. This could arise in systems where a plurality of antennas are provided in separate locations. Further, CDMA MUD may be a suitable basis for use of the method of the present invention.
The invention has been described by way of a software implementation. This software implementation can be introduced as a stand alone software product, such as borne on a storage medium, e.g. an optical disk, or by means of a signal. Further, the implementation could be by means of an upgrade or plug-in to existing software.
Whereas the invention can be so provided, it could also be by way exclusively by hardware, such as on an ASIC.
The reader will appreciate that the foregoing is but one example of implementation of the present invention, and that further aspects, features, variations and advantages may arise from using the invention in different embodiments. The scope of protection is intended to be provided by the claims appended hereto, which are to be interpreted in the light of the description with reference to the drawings and not to be limited thereby.
Number | Date | Country | Kind |
---|---|---|---|
GB 0614088.3 | Jul 2006 | GB | national |