Abstract:
In a wireless communications system, an inverse of a lattice reduction matrix can be obtained at the same time as performance of the LLL algorithm to determine the lattice reduction. This is achieved by interposing in the LLL algorithm corresponding steps applied to a running calculation of the inverse matrix. Similarly, a row-wise sum of the inverse matrix can be calculated, if this is all that is required in subsequent processing.

Description:
CROSS-REFERENCE OF APPLICATION  
       [0001]     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.  
       FIELD OF INVENTION  
       [0002]     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.  
       BACKGROUND OF THE INVENTION  
       [0003]     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. 
 
         [0004]     It will be understood by the skilled reader that the same representation can be used for multi-user detection in CDMA systems.  
         [0005]     Recent publications have demonstrated how the use of a technique called Lattice Reduction can improve the performance of MIMO detection methods.  
         [0006]     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.  
         [0007]     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.  
         [0008]     “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.  
         [0009]     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.  
         [0010]     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  FIG. 5  in Wubben et al.) relative to a non-lattice aided linear detector or pre-coder.  
         [0011]     This process comprises the steps described as follows: y r , x r  and H r  are defined to be the real-valued representations of y, x, and H respectively, such that:  
           y   r     =     [           Re   ⁡     (   y   )                 Im   ⁡     (   y   )             ]       ,       x   r     =     [           Re   ⁡     (   x   )                 Im   ⁡     (   x   )             ]       ,       H   r     =     [           Re   ⁡     (   H   )             -     Im   ⁡     (   H   )                   Im   ⁡     (   H   )             Re   ⁡     (   H   )             ]           
 
 where Re( ) and Im( ) denote the real and imaginary components of their arguments. 
 
         [0012]     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 =H r T 
 
         [0013]     The matrix T contains only integer entries and its determinant is ×1.  
         [0014]     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”).  
         [0015]     Lattice reduction re-expresses the mathematical description of the communications system as: 
 
 y   r   =H   r   X   r   +v   r   =H   r   TT   −1   x   r   +v   r   ={tilde over (H)}   r   T   −1   x   r   +v   r   ={tilde over (H)}   r   z+v   r  
 
 where z r =T −1 x r . The received signal, y r , in this redefined system is then equalised to obtain an estimate of z r . 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   *y   r  
 
         [0016]     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 H r .  
         [0017]     Assuming that the transmitted symbols contained in x are obtained from an M-QAM constellation then x r  can be formed as 
 
 x   r   =αs +β
 
 where s is taken from the set of integers (limited by the dimension of the constellation) and α and β are scalar values.  FIG. 1  illustrates this, showing that α defines the minimum distance between two adjacent constellation points and β is the offset from the origin when s=0. 
 
         [0018]     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:  
           z   ^     r     =       α   ⁢           ⁢   Q   ⁢     {       1   α     ⁢     (         z   ~     r     -       T     -   1       ⁢   1   ⁢           ⁢   β       )       }       +       T     -   1       ⁢   1   ⁢           ⁢   β           
 
 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. 
 
         [0019]     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.  
         [0020]     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.  
         [0021]     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.  
         [0022]     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 i th  candidate vector in this list is defined as c (i) , and hence c (1) ={circumflex over (z)} r .  
         [0023]     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:  
           c     (   1   )       =     [             z   ^       r   ⁢           ⁢   1                   z   ^       r   ⁢           ⁢   2             ]       ,       c     (   2   )       =     [               z   ^       r   ⁢           ⁢   1       +   α                 z   ^       r   ⁢           ⁢   2             ]       ,       c     (   3   )       =     [               z   ^       r   ⁢           ⁢   1       -   α                 z   ^       r   ⁢           ⁢   2             ]       ,       c     (   4   )       =     [             z   ^       r   ⁢           ⁢   1                     z   ^       r   ⁢           ⁢   2       +   α           ]       ,     
     ⁢       c     (   5   )       =       [             z   ^       r   ⁢           ⁢   1                     z   ^       r   ⁢           ⁢   2       -   α           ]     .           
 
         [0024]     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.  
         [0025]     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.  
         [0026]     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.  
         [0027]     For each candidate symbol vector {circumflex over (x)} r   (i)  its probability of being transmitted is calculated as:  
         p     (   i   )       =       1       π   ⁢           ⁢     σ   v   2           ⁢     exp   ⁡     (       -            y   r     -       H   r     ⁢       x   ^     r     (   i   )                    σ   v   2       )             
 
         [0028]     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:  
           P   ⁡     (     k   ,     x   ′       )       =         ∑     {       i   ❘       x   ^     k     (   i   )         =     x   ′       }       ⁢           ⁢       p     (   i   )       ⁢             ⁢             ⁢   for   ⁢           ⁢   k       =   1       ,   …   ⁢           ,       m   ⁢           ⁢   and   ⁢           ⁢     x   ′       ∈   X         
 
         [0029]     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.  
         [0030]     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:  
         L   ⁡     (     b     k   ,   i       )       =     log   ⁡     (         ∑       x   ′     ∈     X     (   1   )           ⁢           ⁢     P   ⁡     (     k   ,     x   ′       )             ∑       x   ′′     ∈     X     (   0   )           ⁢           ⁢     P   ⁡     (     k   ,     x   ′′       )           )           
 
 where: 
 
 L(b k,i ) is the log-likelihood ratio of bit b k,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 b k,I =1 and b k,I =0 respectively. 
 
         [0031]     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.  
         [0032]     In fact, the MIMO decoder described above doesn&#39;t actually need the matrix T −1  but instead requires only the product T −1 1. Hence it is desirable to provide a decoder invoking a modified LLL algorithm which can thus provide either (or both) of these variables.  
       SUMMARY OF INVENTION  
       [0033]     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.  
         [0034]     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.  
         [0035]     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.  
         [0036]     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.  
         [0037]     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.  
         [0038]     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.  
         [0039]     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.  
         [0040]     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.  
         [0041]     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: 
     
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0042]      FIG. 1  illustrates a graph of a standard constellation illustrating the dimension and nature of perturbations;  
         [0043]      FIG. 2  illustrates a graph of performance of an implementation of a specific embodiment of the invention in comparison with a prior art example described above;  
         [0044]      FIG. 3  illustrates schematically a MIMO system including a transmitter and a receiver;  
         [0045]      FIG. 4  illustrates in further detail the receiver of  FIG. 3 ; and  
         [0046]      FIG. 5  illustrates a detecting method operable by means of the detector illustrated in  FIG. 4 . 
     
    
     DETAILED DESCRIPTION  
       [0047]     The present invention will now be described with reference to an implementation thereof for the equalization of a wireless communication system.  FIG. 3  illustrates such a system, comprising a MIMO data communications system  10  of generally known construction. New components, in accordance with a specific embodiment of the invention, will be evident from the following description.  
         [0048]     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.  
         [0049]     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.  
         [0050]     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 .  
         [0051]     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.  
         [0052]     The specific function of the lattice-reduction-aided decoder  30  will be described in due course.  
         [0053]      FIG. 4  illustrates schematically hardware operably configured (by means of software or application specific hardware components) as the receiver device  16 . The receiver device  16  comprises a processor  110  operable to execute machine code instructions stored in a working memory  112  and/or retrievable from a mass storage device  116 . By means of a general purpose bus  114 , user operable input devices  118  are capable of communication with the processor  110 . The user operable input devices  118  comprise, in this example, a keyboard and a mouse though it will be appreciated that any other input devices could also or alternatively be provided, such as another type of pointing device, a writing tablet, speech recognition means, or any other means by which a user input action can be interpreted and converted into data signals.  
         [0054]     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.  
         [0055]     Communications hardware devices  122 , connected to the general purpose bus  114 , are connected to the antenna  26 . In the illustrated embodiment in  FIG. 4 , the working memory  112  stores user applications  130  which, when executed by the processor  110 , cause the establishment of a user interface to enable communication of data to and from a user. The applications in this embodiment establish general purpose or specific computer implemented utilities that might habitually be used by a user.  
         [0056]     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 .  
         [0057]     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.  
         [0058]     The function of the lattice-reduction aided decoder  30  will now be described in further detail in accordance with  FIG. 5 . In step S 1 - 2 , this employs a modified LLL algorithm to convert the input channel matrix into a reduced basis.  
         [0059]     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:  
                                                                                                                                                                                                                                     INPUT: Q,R,P (default P = I m )                                        OUTPUT: {tilde over (Q)},{tilde over (R)},T                                (1)   Initialisation: {tilde over (Q)} = Q,{tilde over (R)} = R,T = P           (2)   k = 2           (3)   while k ≦ m                                (4)   for l = k − 1,...,1                                (5)           μ   =     〈         R   ~     ⁡     (     l   ,   k     )       /       R   ~     ⁡     (     l   ,   l     )         〉                     (6)   if μ ≠ 0                                (7)   {tilde over (R)}(1:l,k) = {tilde over (R)}(1:l,k) − μ{tilde over (R)}(1:l,l)           (8)   T(;,k) = T(:,k) − μT(:,l)                (9)   end                (10)   end                                (11)   if δ{tilde over (R)}(k − 1,k − 1) 2  &gt; {tilde over (R)}(k,k) 2  + {tilde over (R)}(k − 1,k) 2                                  (12)   swap columns k−1 and k in {tilde over (R)} and T           (13)   calculate Givens rotation matrix Θ such               that element {tilde over (R)}(k, k − 1) becomes zero:                                    Θ   =       (         a       b             -   b         a         )     ⁢           ⁢   with   ⁢           a   =         R   ~     ⁡     (       k   -   1     ,     k   -   1       )                R   ~     ⁡     (         k   -   1     :   k     ,     k   -   1       )                          b   =         R   ~     ⁡     (     k   ,     k   -   1       )                R   ~     ⁡     (         k   -   1     :   k     ,     k   -   1       )                                                             (14)   {tilde over (R)}(k − 1:k,k − 1:m) = Θ{tilde over (R)}(k − 1:k, k − 1:m)           (15)   {tilde over (Q)}(:,k − 1:k) = {tilde over (Q)}(:,k − 1:k)Θ T             (16)   k = max{k − 1,2}                (17)   else                (18)   k = k + 1                (19)   end                (20)   end                      
 
         [0060]     Note that δ=¾ in Wubben et al. and that (x) denotes the nearest integer to x.  
         [0061]     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).  
         [0062]     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 −1 1. In this case, therefore, the LLL algorithm as described above is modified by adding the following operations: (1a) initialise  
         V   =         P     -   1       ⁢           ⁢   and   ⁢           ⁢   s     =     V   ⁢           ⁢   1         ,     i   .   e   .     ,       s   j     =       ∑     i   =   1     m     ⁢           ⁢     V   ji             
 
 V ( l ,:)=μ V ( k ,:)+ V ( l ,:),  s   1   =μs   k   +s   l    (8a) 
 
 (12a) swap rows k−1 and k in  V  and elements k−1 and k in  s  
 
         [0063]     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 −1 1 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.  
         [0064]     Then, for the reduced basis determined in this way, a set of candidate vectors in the reduced lattice is determined, in step S 1 - 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.  
         [0065]     Once a list of candidate vectors in the reduced lattice has been obtained then, in step S 1 - 6 , log likelihood ratios L(bk,i) are derived as set out in the introduction to the field of the invention, detailed above.  
         [0066]     The graph of  FIG. 2  sets out experimental performance data of the present method in comparison with prior art decoding methods aiming to provide hard information for the channel decoder.  FIG. 2  demonstrates the benefit that can be obtained by providing a lattice reduction detection scheme to output soft information for the channel decoder.  
         [0067]     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.  
         [0068]     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.  
         [0069]     Whereas the invention can be so provided, it could also be by way exclusively by hardware, such as on an ASIC.  
         [0070]     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.