Abstract:
A method is provided for soft-decision sphere decoding for softbit computation which can be applied to all sphere decoding algorithms, in particular sphere decoding algorithms in any MIMO OFDM receiver implementations. Complexity reduction is achieved by using an approximate of linear Euclidean distances during the sphere decoding search. The method can be used in conjunction with MIMO OFDM communication systems like LTE, WiMax and WLAN.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority of European application No. 10189471.5 filed on Oct. 29, 2010, the entire contents of which is hereby incorporated by reference herein. 
       FIELD OF THE INVENTION 
       [0002]    The invention relates to a method and an arrangement for soft-decision sphere decoding. 
       BACKGROUND OF THE INVENTION 
       [0003]    The system model of MIMO OFDM systems using N T  transmit and N R  receive antennas can be described in the frequency domain for every OFDM subcarrier individually by the received signal vector y=[y 1 , . . . , y N     R   ] T , the N R ×N T  channel matrix H, the transmitted symbol x=[X 1 , . . . , x N     T   ] T , and a disturbance vector n=[n 1 , . . . , n N     R   ] T  which represents the thermal noise on the receive antennas. The following equation then describes the transmission model: 
         [0000]        y=H·x+n   (1)
 
         [0004]    The elements of the transmitted symbol vector x are complex valued QAM symbols taken from a QAM modulation e.g. 4-QAM, 16-QAM, or 64-QAM. Depending on the modulation alphabet, every QAM symbol is associated to a number of transmitted bits N Bit , with 
         [0000]    
       
         
           
             
               N 
               Bit 
             
             = 
             
               { 
               
                 
                   
                     2 
                   
                   
                     
                       
                         for 
                          
                         
                             
                         
                          
                         4 
                       
                       - 
                       QAM 
                     
                   
                 
                 
                   
                     4 
                   
                   
                     
                       
                         for 
                          
                         
                             
                         
                          
                         16 
                       
                       - 
                       QAM 
                     
                   
                 
                 
                   
                     6 
                   
                   
                     
                       
                         for 
                          
                         
                             
                         
                          
                         64 
                       
                       - 
                       QAM 
                     
                   
                 
               
             
           
         
       
     
         [0005]    The elements of the channel matrix h i,j  are also complex valued. They are estimated by the receiver. 
         [0006]    At a certain stage of the signal processing chain the receiver computes softbits for every transmitted bit associated to the transmitted symbol vector x. Several methods are known for this purpose, with different error probabilities and different computational complexities. One near-optimal approach in terms of error probability is soft-decision sphere decoding. 
         [0007]    A soft-decision sphere decoder takes the received signal vector y and the channel matrix H as input and outputs a softbit (i.e. a likelihood value) for every bit associated to x. When denoting the bits associated to x j  (the QAM symbols of the j-th transmit antenna) by [b j,1 , . . . , b j,n , . . . , b j,Nbit(j) ], a softbit p j,n  is defined by the following Euclidean distances: 
         [0000]        d   0,j,n   2 =min x     0,j,n     {∥y−H·x   0,j,n, ∥ 2 }
 
         [0000]        d   1,j,n   2 =min x     1,j,n     {∥y−H·x   1,j,n ∥ 2 }  (2)
 
         [0000]    wherein d 0,j,n   2  and d 1,j,n   2  are the minimum Euclidean distances between the received signal vector y and all possible combinations of transmit symbols x, with the restriction that x 0,j,n  represents all those combinations of x for which the n-th bit of the j-th transmit antenna is zero. On the other hand, x 1,j,n  represents all those combinations of x for which the n-th bit of the j-th transmit antenna is one. The softbit for the n-th bit of the j-th transmit antenna is given by 
         [0000]      ρ j,n   =d   0   2   −d   1   2   (3).
 
         [0008]    A straight-forward algorithm would have to consider all combinations of x in the above equations in order to compute the softbits for one OFDM subcarrier. Since this approach is computationally very intensive and implies an exponential complexity, soft-decision sphere decoding algorithms have been proposed as a way to simplify the search. The simplification is achieved by QR decomposition of the channel matrix H followed by a tree search. 
         [0009]    QR decomposition decomposes the channel matrix H into a orthogonal rotation matrix Q and an upper triangular matrix R, such that H=Q·R. Since rotation by Q does not influence the Euclidean distances in the above equations, one can simplify the Euclidean distances d 0,j,n   2  and d 1,j,n   2  by 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         d 
                         
                           0 
                           , 
                           j 
                           , 
                           n 
                         
                         2 
                       
                       = 
                       
                         
                           min 
                           
                             x 
                             
                               0 
                               , 
                               j 
                               , 
                               n 
                             
                           
                         
                          
                         
                           { 
                           
                             
                                
                               
                                 
                                   y 
                                   ′ 
                                 
                                 - 
                                 
                                   R 
                                   · 
                                   
                                     x 
                                     
                                       0 
                                       , 
                                       j 
                                       , 
                                       n 
                                     
                                   
                                 
                               
                                
                             
                             2 
                           
                           } 
                         
                       
                     
                      
                     
                       
 
                     
                      
                     
                       d 
                       
                         1 
                         , 
                         j 
                         , 
                         n 
                       
                       2 
                     
                     = 
                     
                       
                         min 
                         
                           x 
                           
                             1 
                             , 
                             j 
                             , 
                             n 
                           
                         
                       
                        
                       
                         { 
                         
                           
                              
                             
                               
                                 y 
                                 ′ 
                               
                               - 
                               
                                 R 
                                 · 
                                 
                                   x 
                                   
                                     1 
                                     , 
                                     j 
                                     , 
                                     n 
                                   
                                 
                               
                             
                              
                           
                           2 
                         
                         } 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       with 
                        
                       
                           
                       
                        
                       
                         y 
                         ′ 
                       
                     
                     = 
                     
                       
                         Q 
                         H 
                       
                       · 
                       
                         y 
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0010]    A second step of the sphere decoding algorithm is the tree search. 
         [0011]    The Euclidean distance from above, d 2 =∥y′−R·x∥ 2 , can be separated into partial Euclidean distances p 1   2 , . . . , p N     T     2  as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       d 
                       2 
                     
                     = 
                     
                       
                         
                            
                           
                             
                               ( 
                               
                                 
                                   
                                     
                                       y 
                                       1 
                                       ′ 
                                     
                                   
                                 
                                 
                                   
                                     … 
                                   
                                 
                                 
                                   
                                     
                                       y 
                                       
                                         N 
                                         T 
                                       
                                       ′ 
                                     
                                   
                                 
                               
                               ) 
                             
                             - 
                             
                               
                                 ( 
                                 
                                   
                                     
                                       
                                         r 
                                         11 
                                       
                                     
                                     
                                       … 
                                     
                                     
                                       
                                         r 
                                         
                                           1 
                                            
                                           
                                             N 
                                             T 
                                           
                                         
                                       
                                     
                                   
                                   
                                     
                                       0 
                                     
                                     
                                       … 
                                     
                                     
                                       … 
                                     
                                   
                                   
                                     
                                       0 
                                     
                                     
                                       0 
                                     
                                     
                                       
                                         r 
                                         
                                           
                                             N 
                                             T 
                                           
                                            
                                           
                                             N 
                                             T 
                                           
                                         
                                       
                                     
                                   
                                 
                                 ) 
                               
                                
                               
                                 ( 
                                 
                                   
                                     
                                       
                                         x 
                                         1 
                                       
                                     
                                   
                                   
                                     
                                       … 
                                     
                                   
                                   
                                     
                                       
                                         x 
                                         
                                           N 
                                           T 
                                         
                                       
                                     
                                   
                                 
                                 ) 
                               
                             
                           
                            
                         
                         2 
                       
                       = 
                       
                         
                           p 
                           1 
                           2 
                         
                         + 
                         … 
                         + 
                         
                           p 
                           
                             N 
                             T 
                           
                           2 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   with 
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
             
               
                 
                   
                     p 
                     
                       N 
                       T 
                     
                     2 
                   
                   = 
                   
                     
                        
                       
                         
                           y 
                           
                             N 
                             T 
                           
                           ′ 
                         
                         - 
                         
                           
                             r 
                             
                               
                                 N 
                                 T 
                               
                                
                               
                                 N 
                                 T 
                               
                             
                           
                           · 
                           
                             x 
                             
                               N 
                               T 
                             
                           
                         
                       
                        
                     
                     2 
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
             
               
                 
                   
                     p 
                     1 
                     2 
                   
                   = 
                   
                     
                       
                          
                         
                           
                             y 
                             1 
                             ′ 
                           
                           - 
                           
                             
                               r 
                               11 
                             
                             · 
                             
                               x 
                               1 
                             
                           
                           - 
                           … 
                           - 
                           
                             
                               r 
                               
                                 1 
                                  
                                 
                                   N 
                                   T 
                                 
                               
                             
                             · 
                             
                               x 
                               
                                 N 
                                 T 
                               
                             
                           
                         
                          
                       
                       2 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0012]    The partial Euclidean distances separate the original Euclidean distance into N T  portions. Due to the upper triangular structure of the R matrix, the partial Euclidean distances also separate the distance computation from the possibly transmitted QAM symbols x 1 , . . . , x N     T    such that p N     T     2  only depends on the QAM symbol x N     T    and is not dependent on x 1 , . . . , x N     T     -1 . Also, p N     T     -1   2  only depends on x N     T    and x N     T     -1 , and is not dependent on x 1 , . . . , x N     T     -2 . This kind of dependency separation is utilized by the sphere decoding tree search in order to find the “closest” possible transmit symbol vector x min . 
         [0013]    The sphere decoding tree search assumes a maximum Euclidean distance d max   2  which is definitely smaller than the Euclidean distance of the “closest” transmit symbol vector x min . If now the search would start by choosing a candidate for x N     T   , the partial Euclidean distance p N     T     2  is determined. In case of p N     T     2 &gt;d max   2 , all the Euclidean distances d 2  for all possible combinations of x 1 , . . . , x N     T-1    (assuming the chosen x N     T   ) will also exceed the maximum search radius d max   2 . Therefore, the search can skip computing the partial Euclidean distance p 1   2 , . . . , p N     T-1     2 , and can continue with another candidate for x N     T   . 
         [0014]    This search procedure can be illustrated as a tree search as depicted in  FIG. 1 . The search tree consists of N T  levels, that correspond to the QAM symbols of the different transmit antennas. In  FIG. 1  N T =3 is assumed. Each tree node is associated to one possible QAM symbol x 1 , . . . , x N     T   . Therefore, the leave nodes of the tree represent all possible combinations of x. 
         [0015]    In the example above, with p N     T     2 &gt;d max   2 , after choosing a candidate for x N     T    the complete sub-tree below the chosen x N     T    would be skipped during the sphere search. 
         [0016]    For finding the “closest” transmit symbol vector x, the maximum Euclidean distance d max   2  is initialized with ∞ (infinity). This means, that the partial Euclidean distances never exceed the limit, and that the sphere search reaches the bottom level after N T  depth-first steps. The resulting Euclidean distance d 2  then provides an update of the maximum search distance d max   2 . The sphere search would now continue and try to update d max   2  if the bottom level of the tree is reached and if the resulting Euclidean distance would shrink d max   2 . 
         [0017]    The result of this search process is d max   2  being the Euclidean distance according to the “closest” possible symbol vector x min . If x min  is restricted to certain bits being 0 or 1, the search tree can be adopted accordingly such that the search tree is built upon QAM symbols which meet the respective restrictions. 
         [0018]      FIG. 2  illustrates an improvement of the sphere search by ordering the sibling nodes at a tree level k by increasing partial Euclidean distances p k   2 . 
         [0019]    In a case where the maximum search distance d max   2  is exceeded at a tree level k (solid tree node) and the partial Euclidean distances p k   2  are not ordered, the search would continue with the next candidate node (the respective QAM symbol x k ) on the same level (arrow “A”). However, if the nodes in the tree are ordered by increasing p k   2 , the search can continue with the next node at level k−1 (arrow “B”). This is, permissible simply because due to the ordering of the sibling nodes the next candidate at the same level k would also exceed the maximum search distance d max   2 . In this case, the sub-tree which is skipped during the sphere search is much larger, and thus search complexity is much lower. It will be understood from the above that ordering of the sibling nodes by increasing partial Euclidean distances is essential for any efficient sphere decoding algorithm. 
         [0020]    As mentioned above, Euclidean distances have to be computed during the sphere decoding algorithm which are given by the following equation: 
         [0000]        d   2   =∥y′−R·x∥   2   (8).
 
         [0021]    These distances are used as a search metric in order to find the closest possible symbol vector x min  and its associated Euclidean distance. 
         [0022]    However, the computation of the Euclidean distances always requires multiplications for calculating the squared absolute value of a vector z=[z 1 , . . . , z N     R   ] having complex elements z r . 
         [0000]        z=y′−R·x   (9)
 
         [0000]        d   2   =∥z   1 ∥ 2   + . . . +∥z   N     R   ∥ 2   (10)
 
         [0023]    For practical implementations multiplications always involve significant computational complexity. Furthermore, multiplications increase the bit-width requirements of the multiplication result. 
         [0024]    An object of the invention therefore is to provide a sphere decoding search algorithm with reduced computational complexity. 
       SUMMARY OF THE INVENTION 
       [0025]    According to the invention there is provided a method for soft-decision sphere decoding. 
         [0026]    The inventive method is adapted for use in a MIMO OFDM receiver with two receive antennas and comprises the steps of: receiving a channel matrix H and a received signal vector y; decomposing the channel matrix H into an orthogonal rotation matrix Q and an upper triangular matrix R, such that H=Q·R; performing a tree search based on Euclidean distances d 2  given by d 2 =∥z∥ 2  to find a symbol vector x min  having a best likelihood to correspond to a transmitted symbol x, with z=y′−R·x and y′=Q H ·y. According to the invention, the tree search step comprises determining and using a linear approximation of the square-root of the Euclidean distances which is expressed as 
         [0000]      {tilde over ( d )}=(16 ·a   1 +5·( a   2   +a   3 )+4 ·a   4 )/16,
 
         [0000]    wherein a 1 , a 2 , a 3 , a 4  are absolute values of the real and imaginary parts of z 1  and z 2 , ordered in descending order, such that a 1 ≧{a 2 , a 3 }≧a 4 , with z 1  and z 2  being the complex valued elements of the vector z. 
         [0027]    The invention also provides an arrangement for soft-decision sphere decoding for use in an MIMO OFDM receiver. Advantageously, the arrangement according to the invention exhibits very low complexity; in particular it does not comprise any multipliers. 
         [0028]    By using linear distances and in particular a linear approximation of the square-root Euclidean distances instead of squared Euclidean distances, the novel approach provides for significantly reduced computational complexity. The linear approximation of the square-root of Euclidean distances according to the invention is devised such that any multiplication operations can be dispensed with for computing d. Thus, the invention provides a way to significantly reduce computational complexity for practical implementations. A further advantage is the limited bit-width requirement on distance computation. 
         [0029]    The invention can be used in conjunction with MIMO OFDM communication systems like LTE, WiMax, and WLAN. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0030]    Additional features and advantages of the present invention will be apparent from the following detailed description of specific embodiments which is given by way of example only and in which reference will be made to the accompanying drawings, wherein: 
           [0031]      FIG. 1  illustrates a tree search scheme; 
           [0032]      FIG. 2  illustrates an optimization of sphere search in the tree search of  FIG. 1 ; and 
           [0033]      FIG. 3  shows a block diagram of an arrangement for computing the approximate square-root Euclidean distance according to the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0034]    As stated before, the search metric for the sphere decoding search is based on the Euclidean distances d 2  given by d 2 =∥y′−R·x∥ 2 . 
         [0035]    Instead, the sphere decoding search algorithm according to the invention uses the square-root of the Euclidean distances d given by 
         [0000]        d=√ {square root over (∥ y′−R·x∥   2 )}  (11).
 
         [0036]    In this case, the search for the closest possible symbol vectors x min  will lead to the same result. However, the minimum search metric at the end of the search will be d instead of d 2 . 
         [0037]    For softbit computation for the n-th bit of the j-th transmit antenna still the given equation must be fulfilled: 
         [0000]      ρ j,n   =d   0,j,n   2   −d   1,j,n   2   (12).
 
         [0038]    When using square-root Euclidean distances d for the sphere decoding search, the multiplication would then be required for calculating p j,n  instead upon calculating the search metric. However, the inventors have realized that in this case the overall complexity is still much lower than if Euclidean distances d 2  would be used during the sphere decoding search. 
         [0039]    For the case of a MIMO OFDM system with 2 receive and 2 transmit antennas (N T =2, N R =2) the square-root Euclidean distance is given by 
         [0000]        d =√{square root over (∥z∥ 2 )},  (13)
 
         [0000]      which corresponds to 
         [0000]        d =√{square root over (real( z   1 ) 2 +imag( z   1 ) 2 +real( z   2 ) 2 +imag( z   2 ) 2 )}{square root over (real( z   1 ) 2 +imag( z   1 ) 2 +real( z   2 ) 2 +imag( z   2 ) 2 )}{square root over (real( z   1 ) 2 +imag( z   1 ) 2 +real( z   2 ) 2 +imag( z   2 ) 2 )}{square root over (real( z   1 ) 2 +imag( z   1 ) 2 +real( z   2 ) 2 +imag( z   2 ) 2 )}  (14).
 
         [0040]    It is known from literature, Paul S. Heckbert (editor), Graphics Gems IV′ (IBM Version): IBM Version No. 4, Elsevier LTD, Oxford; Jun. 17, 1994), chapter 11.2, that such distance metric can be approximated by the following linear equation 
         [0000]      {tilde over ( d )}=0.9262 ·a   1 +0.3836 ·a   2 +0.2943 ·a   3 +0.2482 ·a   4   (15),
 
         [0000]    wherein a 1 , a 2 , a 3 , a 4  are the absolute values of the real and imaginary parts of z 1  and z 2 , ordered in descending order, such that a 1 ≧a 2 ≧a 3 ≧a 4 . The coefficients for the approximation have been optimized to minimize the maximum relative error between d and d 2 . 
         [0041]    The method of soft-decision sphere decoding according to the invention uses a modification of the above linear approximation of expression (15). This modification has been devised by the inventor with regard to a very simple implementation thereof in hardware: 
         [0000]      {tilde over ( d )}=(16 ·a   1 +5·( a   2   +a   3 )+4 ·a   4 )/16  (16).
 
         [0042]    This linear metric can be implemented by simple shift operations and additions, rather than multiplications. Furthermore, for the disclosed metric (16), a 2  and a 3  do not have to be sorted necessarily, which eliminates one sorting operation. For calculating d with satisfying accuracy, a complete ordering such that a 2 ≧a 3  is not required. So, the sorting follows a 1 ≧{a 2 , a 3 }≧a 4  only. 
         [0043]      FIG. 3  shows a block diagram of an exemplary embodiment of an arrangement for determining the approximate square-root Euclidean distance {tilde over (d)} according to the approximative expression (16) of the invention. 
         [0044]    Since the approximation only involves multiplications by constants, no real multiplication is needed for calculating {tilde over (d)}. 
         [0045]    In detail, the arrangement of  FIG. 3  comprises an absolute-value generator  10  for determining the absolute value of the real part of z 1 , an absolute-value generator  12  for determining the absolute value of the imaginary part of z 1  an absolute-value generator  14  for determining the absolute value of the real part of z 2 , and an absolute-value generator  16  for determining the absolute value of the imaginary part of z 2 . 
         [0046]    The arrangement further comprises a comparator  20  connected to both of absolute-value generators  10  and  12  to determine a higher and a lower one of the two absolute values therefrom and to output them as a maximum and a minimum value, respectively. Similarly, a comparator  22  is connected to both of absolute-value generators  14  and  16  to determine and output a maximum and a minimum of the two absolute values therefrom. 
         [0047]    A comparator  24  is connected to a first output of comparator  20  and to a first output of comparator  22  to receive the respective maximum absolute values therefrom. Comparator  24  compares the two maximum values and determines the higher one thereof as the highest of all four absolute values, i.e. a 1 . A comparator  26  is connected to a second output of comparator  20  and to a second output of comparator  22  to receive the respective minimum absolute values therefrom. Comparator  26  compares the two minimum values and determines the lower one thereof as the lowest of all four absolute values, i.e. a 4 . 
         [0048]    As mentioned before, for the linear approximation according to the invention as set forth in expression (16), a sorting operation for a 2  and a 3  can be dispensed with. Rather, satisfying accuracy of soft-decision sphere decoding is obtained by sorting the four absolute values according to a 1 ≧{a 2 , a 3 }≧a 4  as performed by comparators  20 ,  22 ,  24 , and  26 . An adder  30  is connected to comparators  24  and  26  to receive therefrom the two intermediate absolute values to add them up to obtain a sum of a 2  and a 3 . 
         [0049]    The arrangement of  FIG. 3  further comprises bit shifters  40 ,  42 ,  44 , and  60 . Left-shift operations by n bits are indicated by “&lt;&lt;n”, and right-shift operations are indicated by “&gt;&gt;n”. As can be seen in the figure, bit shifter  40  is connected to comparator  24  to receive a 1  to subject it to a left shift operation by 4 bits to effect a multiplication of a 1  by 16. Bit shifter  42  is connected to adder  30  to receive therefrom the sum of a 2  and a 3  to subject it to a left shift operation by 2 bits which effects a multiplication of the sum by 4. Bit shifter  44  is connected to comparator  26  to receive a 4  to subject it to a left shift operation by 2 bits to effect a multiplication of a 4  by 4. 
         [0050]    An adder  50  is connected to adder  30  and to each of bit shifters  40 ,  42 , and  44  to receive the outputs therefrom to add them all up, i.e. adder  50  sums  16 ·a 1  and 4·(a 2 +a 3 ), and (a 2 +a 3 ), and 4·a 4 . Bit shifter  60  subjects the output of adder  50  to a right shift operation by 4 bits to implement a division of the sum from adder  50  by 16, and outputs the result as {tilde over (d)}, according to expression (16). 
         [0051]    The disclosed method and arrangement for soft-decision sphere decoding using linear distances as described above provides a solution for further complexity reduction of all sphere decoding search algorithms. It can be shown by simulations that the introduced approximation to the square-root Euclidean distances is accurate enough for the overall soft-decision sphere decoding algorithm.