# Patent

## Title
System for soft symbol decoding with MIMO log-map detection

## Abstract

A soft symbol decoder for use in a multiple input multiple output (MIMO) and OFDM (orthogonal frequency division multiplexing) system. The decoder generates soft symbol values for a digital signal that represents a number of source bits. The source bits are transmitted as symbols in corresponding to points in a signaling constellation. Soft metrics are determined by searching for all possible multi-dimensional symbols that could have been transmitted. The method includes transmitting a sample of the multi-dimensional symbol using K transmit antennas. The multi-dimensional symbol is represent-able as a complex, K-dimensional vector x. Each vector component of vector x represents a signal transmitted with one of the K transmit antennas. After transmission through a communication channel, a sample corresponding to the transmitted sample is received. The received sample is represented by a complex, N-dimensional vector y, where N is the number of receive antennas in the MIMO system. After the sample is received, a soft metric L(bi) is determined for each bit bi encoded by x according to the equation:




  
    
      L
      ⁡
      
        (
        
          b
          i
        
        )
      
    
    =
    
      
        σ
        
          -
          2
        
      
      ·
      
        (
        
          
            
              min
              
                
                  x
                  j
                
                ⁢
                
                  
                  
                    
                      b
                      i
                    
                    =
                    
                      -
                      1
                    
                  
                  
                
              
            
            ⁢
            
              
                
                
                  y
                  -
                  
                    Hx
                    j
                  
                
                
              
              2
            
          
          -
          
            
              min
              
                
                  x
                  j
                
                ⁢
                
                  
                  
                    
                      b
                      i
                    
                    =
                    
                      +
                      1
                    
                  
                  
                
              
            
            ⁢
            
              
                
                
                  y
                  -
                  
                    Hx
                    j
                  
                
                
              
              2
            
          
        
        )
      
    
  
  ,




and xj represents all possible values for x. In addition, a reduced complexity method is used for providing soft metric values in the MIMO system. This exemplary aspect reduces the complexity of the above computations from 2BK to 2B(K−1), where B is the number of bits transmitted per symbol per antenna.

## Background
The present application is a continuation application of, and claims priority to, U.S. Non-Provisional application Ser. No. 10/068,571, filed on Feb. 5, 2002, which is hereby incorporated herein by reference.


BACKGROUND OF THE INVENTION
The present invention relates generally to the field of communication systems and more specifically to systems for soft decoding data symbols in multiple input multiple output communication systems.
Decoding is used by receivers to correctly identify transmitted data symbols. During data transmission, noise from many sources may corrupt transmitted signals so that what is received is not necessarily what was transmitted. For example, a signal transmitted as a 1 may be corrupted by noise and thereafter misinterpreted as a 0 at the receiver. Accurate information transmission depends upon being able to reliably detect transmitted 1s as 1s and 0s as 0s.
One technique for transmitting data symbols is known as M-ary signaling. In M-ary signaling, the transmitter repeatedly selects one of M possible unique symbols to send to represent the data being sent. In many systems, M=2k for some integer k and thus each symbol represents k bits. BPSK (binary phase shift keying) is an example of transmitting with M=2; the symbols can be represented as 0 and 1. QPSK (quadrature phase shift keying) provides for four symbols where each symbol codes for two bits (representable as 00, 01, 10 and 11).
In more complex keying schemes (e.g. QPSK), the signal amplitude varies as well as the phase. A signaling constellation is a mapping of symbols to particular (amplitude, phase) pairs. For single transmit and receive antennas, the signaling constellation has constellation points corresponding to the total number of symbols available. For instance, in QPSK, each symbol 00, 01, 10 and 11 is uniquely identifiable by a constellation point in the signaling constellation. The problem of signal fading manifests itself as distortions of signaling constellations where some of the points move closer together. For example, point 00 may be misinterpreted as point 01. This causes errors at the receiver during the detection process, where a constellation point is misinterpreted as a different constellation point.
To facilitate correct interpretation of constellation points, soft decision decoders are employed at receivers for providing soft decisions. A “soft decision” is neither a 0 nor a 1 but a number in between that provides a degree of confidence as to whether the signal is a 0 or a 1. After soft decisions are made, the numbers are passed on to an apparatus or process that determines, from the context, whether the signals are 0 or 1. One such process is the well-known Viterbi algorithm.
A system where one transmitter is used to transmit the data to one receiver is referred to as a SISO (single input single output) system, whereas a system where more than one transmitter is used and more than one receiver is used is referred to as a MIMO (multiple input multiple output) system. MIMO systems have advantages, such as being able to overcome the information capacity of SISO systems, increasing data rate, and obtaining increased receiver sensitivity. However, SISO systems have an advantage of simpler constellations. Conventional soft symbol decoding techniques used for SISO systems are inapplicable to MIMO systems which have more complex constellations.
What is needed is a soft symbol decoding system that can reliably perform soft symbol decoding for MIMO systems.
BRIEF SUMMARY OF THE INVENTION
A method for providing soft metrics in a MIMO communication system is disclosed. The method provides soft metrics by searching for all possible multi-dimensional symbols that could have been transmitted. As noted, such symbols are transmitted by K transmit antennas and received by N receive antennas, where K and N may be 2, 3, 4 . . . etc. Each component of the multi-dimensional symbol is transmitted with one of the K transmit antennas. The challenge is to ascertain that components received by the N receive antennas are what was transmitted by the K transmit antennas.
To accomplish this, soft metrics are provided to indicate likelihoods that a particular multi-dimensional symbol was transmitted. Specifically, a likelihood value is generated for each bit of the multi-dimensional symbol. Once generated, these metrics are forwarded to a decoder (e.g. a Viterbi decoder) for making hard decisions for the received symbols.
According to a first aspect of the present invention, the method includes the step of transmitting a sample of the multi-dimensional symbol using K transmit antennas. It should be noted that the multi-dimensional symbol is represent-able as a complex, K-dimensional vector x. Each component of vector x represents a signal transmitted with one of the K transmit antennas. After traveling through a communication channel, the sample is received by the receiver. The received sample is represented by a complex, N-dimensional vector y, where N is the number of receive antennas in the MIMO communication system.
In one aspect, the vector y is related to vector x according to an equation: y=Hx+n, where H is an N×K channel matrix modeling phase shifts and amplitude changes on paths between the K transmit and N receive antennas, and n is a complex N-dimensional vector representing communication channel noise. After the sample is received, the method further includes the step of determining a soft metric L(bi) for each bit bi encoded by x according to the equation:




  
    
      L
      ⁡
      
        (
        
          b
          i
        
        )
      
    
    =
    
      
        σ
        
          -
          2
        
      
      ·
      
        (
        
          
            
              min
              
                
                  x
                  j
                
                ⁢
                
                  
                  
                    
                      b
                      i
                    
                    =
                    
                      -
                      1
                    
                  
                
              
            
            ⁢
            
              
                
                
                  y
                  -
                  
                    Hx
                    j
                  
                
                
              
              2
            
          
          -
          
            
              min
              
                
                  x
                  j
                
                ⁢
                
                  
                  
                    
                      b
                      i
                    
                    =
                    
                      +
                      1
                    
                  
                
              
            
            ⁢
            
              
                
                
                  y
                  -
                  
                    Hx
                    j
                  
                
                
              
              2
            
          
        
        )
      
    
  
  ,




where xj represents all possible values for x, and σ is a standard deviation of the noise and/or interference in the received signal, assumed equal across antennas. σ can be estimated or some fixed value can be used if it is expected that all symbols have the same signal-to-noise ratio. It should be observed that the complexity of this technique of soft value computation is 2BK, where B is the number of bits transmitted per symbol on each antenna. For example, where K=2 and each symbol is modulated using 16-QAM, for example, then the multi-dimensional symbol has 162=256 possible values. When soft metrics are determined, they are passed to a Viterbi decoder that renders requisite hard decisions for the symbol bits.

According to another aspect of this invention, a reduced complexity method for providing soft metric values in the MIMO communication system is taught. This method reduces the complexity of the above computations from 2BK to 2B(K−1). For example, if K=2, and 64 QAM is employed for the MIMO system, a 64-fold reduction in complexity is obtained. In particular, for small values of K e.g. 2 or 3, the reduction in complexity is considerable.
Among other steps, the method includes providing a soft metric L(bi) for each bit bi encoded by a complex vector x. For illustrative purposes only, it is assumed that complex vector x contains no more than two elements namely a first element and a second element. This is the case where two transmit antennas (K=2) are employed within the system. However, one of ordinary skill in the art will realize that the complex vector x may contain two or more vector components as proves necessary in the present invention.
Next, this reduced complexity method includes the step of receiving a sample represented by a complex vector y. Thereafter, a vector estimate of vector x is obtained by using the received vector y. In one aspect, this estimate is a scalar number obtained by factoring in amplitude and phase shifts in the communication channel. After the vector estimate of vector x is determined, its elements i.e., the first and second elements are obtained. For the first element, a hard decision is made on values for each of its bits. Using these values, a soft metric L(bi) for each bit bi encoded by the second element is determined. Similarly, for the second element, a hard decision is made on values for each of its bits. Using these values, a soft metric L(bi) is determined for each bit bi encoded by the first element. These soft metrics are then forwarded to a Viterbi decoder where hard decisions are made.
A further understanding of the nature and advantages of the present invention herein may be realized by reference to the remaining portions of the specification and the attached drawings. References to “steps” of the present invention should not be construed as limited to “step plus function” means, and is not intended to refer to a specific order for implementing the invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, the same reference numbers indicate identical or functionally similar elements.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a MIMO communication system in which soft symbol decoding is implemented in accordance with a first embodiment of the present invention.
FIG. 2 is a method for providing soft symbol decoding of multi-dimensional symbols in accordance with one exemplary embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
The following notation is used for number representation in the Specification: (1) lower case italic represents scalar quantities; (2) lower case bold represents vectors, and (3) upper case bold is used for matrices.
Briefly, one aspect of the present invention provides for a soft symbol decoder in a multiple input multiple output (MIMO) communication system. The decoder receives signals and generates corresponding soft symbol values. Soft symbols are used for indicating the likelihood that each bit of a symbol has a 0 or 1 state. That is, the probability that the transmitted bit is 0 or 1.
Transmitted signals are represented as multi-dimensional symbols or vectors in a signaling constellation. Multi-dimensional symbols may be sequential groupings of one-dimensional symbols. An example of such one-dimensional symbols is a QAM constellation. Although each symbol has in-phase and quadrature components, it is nevertheless considered a complex one-dimensional symbol. Multidimensional vectors may contain sequential groupings of such QAM constellation members. Each signal representing a vector element is accurately detected by using maximum a posteriori probability as further described herein.
FIG. 1 is a block diagram of a communication system 100 in which soft symbol decoding is used in accordance with a first embodiment of this invention.
Among other components, communication system 100 includes a transmitter system 122 and a receiver system 124. Transmitter system 122 comprises a forward error correction (FEC) encoder 104 for encoding an input data stream using a suitable FEC code, and an interleaver 105 for grouping the input data for mapping. Transmitter system 122 also includes modulator 106 for modulating the data stream into a form suitable for transmission over a transmission channel via multiple transmit antennas K.
Receiver system 124 includes a demodulator 114 for demodulating the modulated signal received via multiple receive antennas N, and a log-map decoder 120 for providing soft symbol decision values in accordance with an exemplary embodiment of the this invention. Receiver system 124 further includes a de-interleaver 121 for inverting the interleaving introduced at the transmitter, and a Viterbi decoder 116 for decoding the soft decision symbol values into output data 130, as shown. Although not shown, communication system 100 comprises other components such as a scrambler and FFT/IFFT processing blocks. Discussion of such components is omitted as not being critical to understanding this invention.
Communication system 100 is preferably an OFDM (orthogonal frequency division multiplexing) system. By using OFDM, signals are split into several narrowband channels at different frequencies and processed to minimize interference between the channels. Preferably, OFDM is combined with a MIMO system having K transmit antennas and N receive antennas, where K and N can be greater than one. As noted, data rate and receiver sensitivity are increased by using MIMO systems. In addition, communication system 100 is operable in various modes, one of which is compliant with the IEEE 802.11a standard entitled “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications, High-speed Physical Layer in the 5 GHz Band.”
As shown in FIG. 1, input data 102 is fed into FEC encoder 104, where the data stream is encoded. The purpose of encoding is to decrease the bit error rate of the transmitted signal by introducing some form of redundancy into the transmitted data stream. After input data 102 is encoded, the encoded data bits are fed into an interleaver 105. These bits are grouped by interleaver 105 into groups that can be directly mapped to symbols. After interleaving, the grouped bits are provided to constellation mapper (not shown) which maps the encoded bits into signaling constellation symbols. Bits can be mapped onto BPSK, QPSK, 16 QAM and 64 QAM tones, for example. Thereafter, the complex number symbols are modulated by modulator 106 for transmission via the K transmit antennas. Note that data bits are transmitted as K dimensional vectors containing K complex number elements. Each vector element is chosen from the M-ary constellation used. For example, if K=2, and 16 QAM is used, vector elements may be represented by 0001 and 1010. Further, one element is transmitted by the first antenna while the other is transmitted by the second antenna. Also, note that total bits transmitted per channel usage is given by K*k=8.
At receiver 124, the transmitted signal is received and the reverse of the transmitter process occurs. However, in accordance with this invention, soft symbol decoding is performed by log map decoder 120. This soft metric is then fed to Viterbi decoder 116. The soft metrics are for indicating the likelihood of each state of transmitted bits. That is, the probability that the transmitted bit is 0 or 1. This probability is derived by obtaining the squared error between the received signal and all possible candidate transmissions. Log map decoder 120 calculates the difference of minimum distances between the received symbol and all possible symbols that have been sent with a 0 or 1 for each bit location. A normalized version of this distance is the desired soft metric. One of ordinary skill in the art will realize that log map decoder 120 comprises logic circuitry implementable through software, hardware or a combination of both. For example, one or more software instructions may be provided for running the steps of this invention.
Note that in the MIMO system used in the present invention, there are at least 256 possible candidate transmissions in the present invention. That is, where K=2, and each element of the transmitted vector is modulated using 16 QAM for example, there are 162=256 possible transmissions. This means that decoding computations are 16 times as complex relative to SISO systems. In general, there will be MK possible candidate transmissions, where M is the signaling constellation used. Also, the complexity of this way of soft value computation is 2BK, where B is the number of bits transmitted per symbol on each antenna.
FIG. 2 is a method 200 for providing soft symbol decoding in MIMO communication system 100 in accordance with one exemplary embodiment of the present invention.
Specifically, soft values for a received multi-dimensional symbol is provided by Log MAP decoder 120. These values are thereafter forwarded to FEC decoder 120a. As noted, K transmit antennas and N receive antennas are employed in MIMO communication system 100. One objective is to combine the increased data rate due to the use of multiple transmit antenna, and the increased receiver sensitivity (i.e. lower required signal to noise ratio) of obtained by using multiple receivers.
At block 202, a sample of a multi-dimensional symbol is transmitted by transmit antenna K. The multi-dimensional symbol is represent-able as a K-dimensional vector x containing K complex numbers xl . . . xk. Each complex number is chosen from an M-ary constellation, where M is the number of bits encoded. For example, in a 16-QAM constellation, each of the complex numbers is one of sixteen constellation points. Note that k=4 bits so that each complex number encodes 4 bits. Thus, each vector component of the vector x represents a signal transmitted with one of the K transmit antenna. In total, K×k bits are transmitted.
At block 204, the signal is transmitted through transmission channel represented by the equation:

y=Hx+n  (1)

where y is the symbol received by receiver 124, y being an N-dimensional complex vector, H is an N×K vector channel matrix consisting of K columns vectors h1 . . . hK. Each of these vectors hk represents the channel coefficients modeling phase shift and amplitude change on the path between the K-th transmit antenna to the N receive antennas 1 . . . N. In addition, n is a complex, N-dimensional vector representing the channel noise picked up at the N-th receive antenna. Each element n has the same expected power E{ni*ni}=E[|ni|2]=σ2.
At block 206, a sample represented by the complex vector y is received by receiver 124. Thereafter, log map decoder 120 applies soft decision decoding for each bit bi encoded by vector x according to the same equation:




  
    
      
        
          L
          ⁡
          
            (
            
              b
              i
            
            )
          
        
        =
        
          
            σ
            
              -
              2
            
          
          ·
          
            (
            
              
                
                  min
                  
                    
                      x
                      j
                    
                    ⁢
                    
                      
                      
                        
                          b
                          i
                        
                        =
                        
                          -
                          1
                        
                      
                    
                  
                
                ⁢
                
                  
                    
                    
                      y
                      -
                      
                        Hx
                        j
                      
                    
                    
                  
                  2
                
              
              -
              
                
                  min
                  
                    
                      x
                      j
                    
                    ⁢
                    
                      
                      
                        
                          b
                          i
                        
                        =
                        
                          +
                          1
                        
                      
                    
                  
                
                ⁢
                
                  
                    
                    
                      y
                      -
                      
                        Hx
                        j
                      
                    
                    
                  
                  2
                
              
            
            )
          
        
      
    
    
      
        (
        2
        )
      
    
  




where xj are all possible values for x. The receiver has to search over all possible x which are vectors. So if K=2 and each element of x is modulated using 16-QAM, for example, then x has 162=256 possible values. In general the complexity of this way of soft value computation is 2BK, where B is the number of bits transmitted per symbol on each antenna, and K is the number of antennas.

It should be noted that for any N-dimensional complex vector v, the squared vector length is calculated as




  
    
      
        
          
          v
          
        
        =
        
          
            
              
                v
                *
              
              ·
              v
            
          
          =
          
            
              
                ∑
                
                  i
                  =
                  1
                
                N
              
              ⁢
              
                
                  v
                  i
                  *
                
                ·
                
                  v
                  1
                
              
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




Thus, in terms of real and imaginary components the complex elements of v:

vi*·vi=|vi|2=Re(vi)2+Im(vi)2  (4)

This vector length can be approximated (with minimal soft value accuracy degradation) as





  
    
      
        
          
          v
          
        
        ≈
        
          
            
              ∑
              
                i
                =
                1
              
              N
            
            ⁢
            
              
              
                Re
                (
                
                  v
                  i
                
                )
              
              
            
          
          +
          
            
            
              Im
              (
              
                v
                i
              
              )
            
            
          
        
      
    
    
      
        (
        5
        )
      
    
  




Reduced Complexity MIMO Reception
This exemplary embodiment is a method that reduces the complexity of the above computations from 2BK to 2B(K−1). For small values of K, i.e. 2 or 3 transmit antennas the reduction in complexity is considerable, especially if B is large. For instance for 64 QAM and K=2, a 64-fold reduction is obtained.
When y is received symbol, and H=[h1 . . . hK] is the channel matrix, first a scalar number z is computed as follows.




  
    
      
        z
        =
        
          
            
              
                h
                1
                *
              
              ⁢
              y
            
            
              
                h
                1
                *
              
              ⁢
              
                h
                1
              
            
          
          =
          
            
              
                h
                1
                *
              
              ⁢
              y
            
            
              
                
                
                  h
                  1
                
                
              
              2
            
          
        
      
    
    
      
        (
        6
        )
      
    
  




Note that z is obtained by dividing two scalars. Here h1* is the complex conjugate transpose of the first column of channel matrix H. Thereafter, the receiver starts a loop for all values of x2, . . . xK. Therefore this loop is executed 2B(K−1) times.

Loop:
An estimate of x1, the first element of the transmitted vector x is formed as follows, by correcting x




  
    
      
        
          
            x
            ^
          
          1
        
        =
        
          z
          -
          
            
              
                
                  h
                  1
                  *
                
                ⁢
                
                  h
                  2
                
                ⁢
                
                  x
                  2
                
              
              -
              ...
              -
              
                
                  h
                  1
                  *
                
                ⁢
                
                  h
                  K
                
                ⁢
                
                  x
                  K
                
              
            
            
              
                h
                1
                *
              
              ⁢
              
                h
                1
              
            
          
        
      
    
    
      
        (
        7
        )
      
    
  




A simple QAM slicer is now applied to {circumflex over (x)}1 to make hard decisions on the values of the bits of symbol x1. Then the hard-decided x1, and the x2 . . . xN loop variables are substituted in the equation below:

∥y−HxJ∥2  (8)

End Loop
The 2B(K−1) values obtained are used to determine the minima in the equation below




  
    
      
        
          L
          ⁡
          
            (
            
              b
              i
            
            )
          
        
        =
        
          
            σ
            
              -
              2
            
          
          ·
          
            (
            
              
                
                  min
                  
                    
                      x
                      j
                    
                    ⁢
                    
                      
                      
                        
                          b
                          i
                        
                        =
                        
                          -
                          1
                        
                      
                    
                  
                
                ⁢
                
                  
                    
                    
                      y
                      -
                      
                        Hx
                        j
                      
                    
                    
                  
                  2
                
              
              -
              
                
                  min
                  
                    
                      x
                      j
                    
                    ⁢
                    
                      
                      
                        
                          b
                          i
                        
                        =
                        
                          +
                          1
                        
                      
                    
                  
                
                ⁢
                
                  
                    
                    
                      y
                      -
                      
                        Hx
                        j
                      
                    
                    
                  
                  2
                
              
            
            )
          
        
      
    
    
      
        (
        9
        )
      
    
  




and obtain the L(bi) values for all bits in symbols x2 . . . xK. The entire procedure above is now redone, except that:





  
    
      
        z
        =
        
          
            
              
                h
                K
                *
              
              ⁢
              y
            
            
              
                h
                K
                *
              
              ⁢
              
                h
                K
              
            
          
          =
          
            
              
                h
                K
                *
              
              ⁢
              y
            
            
              
                
                
                  h
                  K
                
                
              
              2
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




This yields soft values for all bits in symbols x1 . . . xK−1. The soft values for x2 . . . xK−1 can now be thrown away since they have already been obtained in the first step. Those for x1 will be retained and added to the values for x2 . . . xK obtained before.
While the above is a complete description of exemplary specific embodiments of the invention, additional embodiments are also possible. For example, a simplified variation of the reduced complexity algorithm is possible that only does the search loop once, possibly with performance costs. In contrast, the above technique does the loop twice to come up with the soft values for the first antenna. Rather than making only hard decisions on the values of the bits of symbol x1, a conventional QAM soft decision is made on




  
    
      x
      ^
    
    1
  
  =
  
    z
    -
    
      
        
          
            h
            1
            *
          
          ⁢
          
            h
            2
          
          ⁢
          
            x
            2
          
        
        -
        ...
        -
        
          
            h
            1
            *
          
          ⁢
          
            h
            K
          
          ⁢
          
            x
            K
          
        
      
      
        
          h
          1
          *
        
        ⁢
        
          h
          1
        
      
    
  




on to obtain a soft metric values. Another augmentation to determining L(bi) would include determining soft metrics with the added assumption that the noise variance is not spatially white and is correlated. That is, the noise variance varies across receive antennas. The soft-metric computation would then be modified to be





  
    
      
        
          L
          ⁡
          
            (
            
              b
              i
            
            )
          
        
        =
        
          (
          
            
              
                min
                
                  
                    x
                    j
                  
                  ⁢
                  
                    
                    
                      
                        b
                        i
                      
                      =
                      
                        -
                        1
                      
                    
                  
                
              
              ⁢
              
                
                
                  
                    (
                    
                      y
                      -
                      
                        Hx
                        j
                      
                    
                    )
                  
                  ⁢
                  
                    
                      
                        R
                        
                          -
                          1
                        
                      
                      ⁡
                      
                        (
                        
                          y
                          -
                          
                            Hx
                            j
                          
                        
                        )
                      
                    
                    
                      *
                      2
                    
                  
                
                
              
            
            -
            
              
                min
                
                  
                    x
                    j
                  
                  ⁢
                  
                    
                    
                      
                        b
                        i
                      
                      =
                      
                        +
                        1
                      
                    
                  
                
              
              ⁢
              
                
                
                  
                    (
                    
                      y
                      -
                      
                        Hx
                        j
                      
                    
                    )
                  
                  ⁢
                  
                    
                      
                        
                          R
                          
                            -
                            1
                          
                        
                        ⁡
                        
                          (
                          
                            y
                            -
                            
                              Hx
                              j
                            
                          
                          )
                        
                      
                      *
                    
                    2
                  
                
                
              
            
          
          )
        
      
    
    
      
        (
        11
        )
      
    
  




where R−1 is the inverse of the spatial noise/interference auto-covariance matrix. In the case that the noise is independent across antennas (but not necessarily equal), this inverse matrix can be described for the N=3 case as:




  
    R
    
      -
      1
    
  
  =
  
    [
    
      
        
          
            1
            
              σ
              1
              2
            
          
        
        
          0
        
        
          0
        
      
      
        
          0
        
        
          
            1
            
              σ
              2
              2
            
          
        
        
          0
        
      
      
        
          0
        
        
          0
        
        
          
            1
            
              σ
              3
              2
            
          
        
      
    
    ]
  




where σi2 is the noise/interference power at antenna input i. Thus, the above description should not be taken as limiting the scope of the invention, which is defined by the appended claims along with their full scope of equivalents.

## Claims

1. A method for determining soft metrics in a multiple-input multiple-output (MIMO) communication system, wherein a soft metric is determined for each bit, bi, encoded by a multi-dimensional symbol, wherein the soft metrics indicate discrepancies in the MIMO communication system, the method comprising:
transmitting a sample of the multi-dimensional symbol, wherein the multi-dimensional symbol is represent-able as a complex, K-dimensional vector x, K being an integer corresponding to the number of transmit antennas in the MIMO system, wherein each vector component of the vector x represents a signal transmitted with one of the K transmit antennas, the multi-dimensional symbol being transmitted through a communication channel;
receiving from the communication channel, a sample represented by a complex, N-dimensional vector y, N being an integer corresponding to the number of receive antennas in the MIMO system, and wherein vector y is related to vector x according to an equation: y=Hx+n, where H is an N×K channel matrix modeling phase shifts and amplitude changes on paths between the K transmit and N receive antennas, n is a complex N-dimensional vector representing communication channel noise; and
determining a soft metric L(bi) for each bit bi encoded by x according to the equation: L(bi)=σ−2·(minxj|bi=−1∥y−Hxj∥2−minxj|bi=+1∥y−Hxj∥2), where σ is a standard deviation of the noise and/or interference, and xj represents the j-th possible value for x.

2. The method of claim 1 wherein the soft metric indicates a likelihood that each bit, bi, encoded by a multi-dimensional symbol has a 0 or 1 state or equivalent states thereof.

3. The method of claim 1 wherein the MIMO system has two transmit and two receive antennas forming at least a 2 by 2 matrix channel.

4. The method of claim 1 wherein all possible values of x are given by 2B(K−1), such that complexity of computations is reduced, where B is the number of bits transmitted per symbol.

5. In a MIMO communication system, a reduced complexity method for determining a soft metric L(bi) for each bit bi encoded by a complex vector x, wherein the soft metrics indicate discrepancies in the MIMO communication system, the method comprising:
receiving via a communication channel, a sample represented by a complex vector y, where complex vector y is related to the complex vector x; and
using complex vector y to determine soft metrics L(bi) for each bit bi encoded by x according to the equation: L(bi)=σ−2·(minxj|bi=−1∥y−Hxj∥2−minxj|bi=+1∥y−Hxj∥2) where H is a channel matrix modeling phase shifts and amplitude changes for the communication channel; and xj represents the j-th possible value of x from no more than 2B(K−1) possible values for x, where B is the number of bits transmitted per symbol, and where σ is a standard deviation of noise/interference in a received signal.

6. The method of claim 5 wherein the complex vector x includes a first element and a second element, the method further comprising:
determining a first symbol value by making a hard decision for each bit bi of the first element;
using the first symbol value to determine soft metrics L(bi) for each bit bi encoded by the second element;
determining a second symbol value by making a hard decision for each bit bi of the second element; and
using the second symbol value to determine soft metrics L(bi) for each bit bi encoded by the first element.

7. In a MIMO communication system, a reduced complexity method for determining a soft metric L(bi) for each bit bi encoded by a complex vector x, wherein the soft metrics indicate discrepancies in the MIMO communication system, the method comprising:
receiving via a communication channel, a sample represented by a complex vector y;
determining a vector estimate of vector x using the received vector y, a first element and a second element being estimated from the vector estimate;
making a hard decision on values for each bit bi of the first element;
using the values of the first element to determine a soft metric L(bi) for each bit bi encoded by the second element;
making a hard decision on values for each bit bi of the second element; and
using the values of the second element to determine a soft metric L(bi) for each bit bi encoded by the first element.

8. The method of claim 7 wherein the complex vector x is K-dimensional, the method further comprising:
prior to the act of receiving, transmitting a sample of a multi-dimensional symbol, wherein the multi-dimensional symbol is represent-able as the complex, K-dimensional vector x, K being an integer corresponding to the number of antennas in the MIMO system, wherein each vector element of the vector x represents a signal transmitted with one of the K transmit antennas.

9. The method of claim 8 wherein the complex vector y is N-dimensional, N being an integer corresponding to the number of receive antennas in the MIMO system, and wherein vector y is related to vector x according to an equation: y=Hx+n, where H is an N×K channel matrix modeling phase shifts and amplitude changes on paths between the K transmit and N receive antennas, n is a complex N-dimensional vector representing communication channel noise.

10. The method of claim 9 wherein the act of determining an estimate of vector x further comprises:
determining a scalar number z according to the equation:





  z
  =
  
    
      
        
          h
          1
          *
        
        ⁢
        y
      
      
        
          h
          1
          *
        
        ⁢
        
          h
          1
        
      
    
    =
    
      
        
          h
          1
          *
        
        ⁢
        y
      
      
        
          
          
            h
            1
          
          
        
        2
      
    
  




where h1* is the complex conjugate transpose of the first column of channel matrix H.

11. The method of claim 10 wherein the estimate of the first element of the transmitted vector x is formed according to the equation:




  
    
      
        x
        ^
      
      1
    
    =
    
      z
      -
      
        
          
            
              h
              1
              *
            
            ⁢
            
              h
              2
            
            ⁢
            
              x
              2
            
          
          -
          ...
          -
          
            
              h
              1
              *
            
            ⁢
            
              h
              K
            
            ⁢
            
              x
              K
            
          
        
        
          
            h
            1
            *
          
          ⁢
          
            h
            1
          
        
      
    
  
  ,




wherein




  
    
      x
      ^
    
    1
  
  =
  
    z
    -
    
      
        
          
            h
            1
            *
          
          ⁢
          
            h
            2
          
          ⁢
          
            x
            2
          
        
        -
        ...
        -
        
          
            h
            1
            *
          
          ⁢
          
            h
            K
          
          ⁢
          
            x
            K
          
        
      
      
        
          h
          1
          *
        
        ⁢
        
          h
          1
        
      
    
  




is rounded to a constellation point nearest to transmitted vector x to get {circumflex over (x)}1.

12. A system for determining soft metrics in a multiple-input multiple-output (MIMO) communication system, wherein a soft metric is determined for each bit, bi, encoded by a multi-dimensional symbol, wherein the soft metrics indicate discrepancies in the MIMO communication system, the system comprising:
a transmitter having one or more software instructions for transmitting a sample of the multi-dimensional symbol, wherein the multi-dimensional symbol is represent-able as a complex, K-dimensional vector x, K being an integer corresponding to the number of transmit antennas in the MIMO system, wherein each vector component of the vector x represents a signal transmitted with one of the K transmit antennas, the multi-dimensional symbol being transmitted through a communication channel;
a receiver having one or more software instructions for receiving from the communication channel, a sample represented by a complex, N-dimensional vector y, N being an integer corresponding to the number of receive antennas in the MIMO system, and wherein vector y is related to vector x according to an equation: y=Hx+n, where H is an N×K channel matrix modeling phase shifts and amplitude changes on paths between the K transmit and N receive antennas, n is a complex N-dimensional vector representing communication channel noise; and
one or more software instructions for determining a soft metric L(bi) for each bit bi encoded by x according to the equation: L(bi)=σ−2·(minxj|bi=−1∥y−Hxj∥2−minxj|bi=+1∥y−Hxj∥2) where xj represents the j-th possible value for x and where σ is a standard deviation of noise/interference in a received signal.

13. In a MIMO communication system, a reduced complexity method for determining a soft metric L(bi) for each bit bi encoded by a complex vector x, wherein the soft metrics indicate discrepancies in the MIMO communication system, the method comprising:
receiving via a communication channel, a sample represented by a complex vector y;
determining a vector estimate of vector x using the received vector y, a first element and a second element being estimated from the vector estimate;
making a hard decision on values for each bit bi of the first element, as well as a conventional soft decision on





  
    
      x
      ^
    
    1
  
  =
  
    z
    -
    
      
        
          
            h
            1
            *
          
          ⁢
          
            h
            2
          
          ⁢
          
            x
            2
          
        
        -
        ...
        -
        
          
            h
            1
            *
          
          ⁢
          
            h
            K
          
          ⁢
          
            x
            K
          
        
      
      
        
          h
          1
          *
        
        ⁢
        
          h
          1
        
      
    
  




to get a soft metric for the first element where h1* is the complex conjugate transpose of a selected column of channel matrix H; and
using the values of the first element to determine a soft metric L(bi) for each bit bi encoded by the second element.

14. In a MIMO communication system, a method for determining a soft metrics L(bi) for each bit bi encoded by a complex vector x, wherein the soft metrics indicate discrepancies in the MIMO communication system, the method comprising:
receiving via a communication channel, a sample represented by a complex vector y, where complex vector y is related to the complex vector x; and
using complex vector y to determine soft metric L(bi) for each bit bi encoded by x according to the equation: L(bi)=(minxj|bi=−1∥(y−Hxj)R−1(y−Hxj)*∥2−minxj|bi=+1∥(y−Hxj)R−1(y−Hxj)*∥2) where H is a channel matrix modeling phase shifts and amplitude changes for the communication channel; and xj represents no more than 2B(K−1) possible values for x, where B is the number of bits transmitted per symbol, and R−1 is the inverse of a spatial noise/interference auto-covariance matrix.

15. A method for determining soft metrics for each bit encoded by a multi-dimensional symbol in a multiple-input multiple-output (MIMO) communication system having K transmit antennas and N receive antennas with K being an integer corresponding to the number of transmit antennas and K being greater than one and N being an integer corresponding to the number of receive antennas, wherein the soft metrics indicate discrepancies in the MIMO communication system, the method comprising:
transmitting a signal corresponding to the multi-dimensional symbol through a communication channel, the multi-dimensional symbol being a symbol representable as a complex, K-dimensional vector x wherein each vector component of the vector x represents a signal transmitted with one of the K transmit antennas and represents one or more bits, bi;
receiving, from the communication channel, samples represented by a complex, N-dimensional vector, y, wherein the vector y is related to the vector x according to an equation y=Hx+n, where H is an N×K channel matrix that models phase shifts and amplitude changes on paths between the K transmit antennas and the N receive antennas and where n is a complex N-dimensional vector representing channel noise over the communication channel; and
determining a soft metric L(bi) for each bit bi encoded by the vector x from measurements of the vector y and the matrix H.

16. The method of claim 15, wherein the soft metric is a maximum a posteriori probability metric.

17. The method of claim 15, wherein the soft metric is a metric derived from an output of a log MAP decoder.

18. The method of claim 15, wherein determining the soft metric comprises determining soft metrics that maximize receive diversity order.

19. The method of claim 15, wherein determining the soft metric comprises computing a likelihood metric by calculating a difference of minimum distances between the received symbol represented by the vector y and symbols from the set of all possible symbols for each combination of Hxj where xj represents the j-th possible value for x.

20. The method of claim 15, wherein the soft metric L(bi) is a scaled likelihood metric.

21. The method of claim 20, wherein the scaled likelihood metric for L(bi) is computed according to an equation L(bi)=σ−2·(minxj|bi=−1∥y−Hxj∥2−minxj|bi=+1∥y−Hxj∥2) where σ is a standard deviation of noise/interference in a received signal and xj represents the j-th possible value for x.

22. The method of claim 15, wherein transmitting comprises one or more of bit interleaving and symbol interleaving and receiving comprises one or more of de-interleaving hard metrics and de-interleaving soft metrics.

23. The method of claim 15, further comprising encoding the signal, prior to transmitting, using forward error correction (FEC) and decoding the signal, after receiving, using a Viterbi decoding process.

24. The method of claim 15, further comprising interference processing that includes statistics of interference included in log MAP metrics.

25. A method for determining soft metrics for each bit encoded by a multi-dimensional orthogonal frequency division multiplexing (OFDM) symbol in a multiple-input multiple-output orthogonal frequency division multiplexing (MIMO-OFDM) communication system having K transmit antennas and N receive antennas with K being an integer corresponding to the number of transmit antennas and K being greater than one and with N being an integer corresponding to the number of receive antennas, wherein the soft metrics indicate discrepancies in the MIMO-OFDM communication system, the method comprising:
transmitting a signal corresponding to the multi-dimensional OFDM symbol through a communication channel, a multi-dimensional symbol being a symbol representable as a complex, K-dimensional vector x wherein each vector component of the vector x represents a signal transmitted with one of the K transmit antennas and represents one or more bits, bi, for a single tone of an OFDM waveform;
receiving, from the communication channel, samples represented by a complex, N-dimensional vector, y, wherein the vector y is related to the vector x according to an equation y=Hx+n where H is an N×K channel matrix that models frequency domain phase shifts and amplitude changes on paths between the K transmit antennas and the N receive antennas and where n is a complex N-dimensional vector representing channel noise over the communication channel; and
determining a soft metric L(bi) for each bit bi encoded by the vector x from measurements of the vector y and the matrix H.

26. The method of claim 25, wherein the soft metric is a maximum a posteriori probability metric.

27. The method of claim 25, wherein the soft metric is a metric derived from an output of a log MAP decoder.

28. The method of claim 25, wherein determining the soft metric comprises determining soft metrics that maximize receive diversity order.

29. The method of claim 28, wherein determining the soft metric comprises computing a likelihood metric by calculating a difference of minimum distances between the received symbol represented by the vector y and symbols form the set of all possible symbols for each combination of Hxj where xj represents the j-th possible value for x.

30. The method of claim 25, wherein the soft metric L(bi) is a scaled likelihood metric.

31. The method of claim 30, wherein the scaled likelihood metric L(bi) is computed according to an equation L(bi)=σ−2·(minxj|bi=−1∥y−Hxj∥2−minxj|bi=+1∥y−Hxj∥2) where σ is a standard deviation of noise/interference in a received signal and xj represents the j-th possible value for x.

32. The method of claim 25, wherein the orthogonal frequency division multiplexing is OFDM modulation according to IEEE 802.11 standards.

33. The method of claim 25, wherein transmitting comprises one or more of bit interleaving and symbol interleaving and receiving comprises one or more of de-interleaving hard metrics and de-interleaving soft metrics.

34. The method of claim 25, further comprising encoding the signal, prior to transmitting, using forward error correction (FEC) and decoding the signal, after receiving, using a Viterbi decoding process.

35. The method of claim 25, further comprising interference processing that includes statistics of interference included in log MAP metrics.