Abstract:
A method of estimating the sequence of transmitted symbols in a digital communication system is provided. By assuming that the transmitted symbols have a zero mean and a covariance matrix given by an identity matrix, as is the case in an EDGE communication system, the solution to the minimization of the expectation value of ∥{circumflex over ( s )}− s ∥ 2  always allows a lower triangular matrix to be found through Cholesky decomposition. The lower triangular matrix allows an efficient block decision-feedback sequence estimation to be carried out. The method is no more complex than the zero-forcing block decision-feedback sequence estimation technique, yet a solution always exists and performance is improved over the zero-forcing method.

Description:
FIELD OF THE INVENTION 
     This invention relates to digital communication systems, and more particularly to the estimation of the sequence of transmitted symbols in such systems. 
     BACKGROUND OF THE INVENTION 
     In EDGE (Enhanced Data Rates for GSM Evolution) cellular communication systems a sequence of symbols is transmitted as an 8 Phase Shift Keying (8-PSK) modulated signal. The signal may propagate along several propagation paths to a receiver. If the time delay between the various propagation paths is comparable to the intersymbol period, then the signal received by the receiver will contain intersymbol interference. The attenuation along each path will vary, as will phase changes due to reflections, so the intersymbol interference will not be merely additive. In addition, the received signal will contain noise, which is assumed to be additive white Gaussian noise. 
     The receiver must estimate the transmitted sequence of symbols from the received sequence of signal samples. This is assisted by use of a data model. The received signal sample at any discrete time k can be modelled as          x   k     =           ∑     j   =   0     v                       a   j                     s     k   -   j           +     n   k       ∈   C                            
     where x k  is the received signal sample at time k, v is the number of additional paths being considered by the estimator, a j  is the channel impulse response coefficient of the j-th path, s k−j  is the actual symbol transmitted at time k−j, and n k  is the additive white Gaussian noise. The channel impulse response coefficients are determined from training symbols embedded in the transmitted sequence. The receiver knows what transmitted training data to expect, and by comparing the expected training symbols with the training symbols actually received a least squared channel estimator can estimate the channel impulse response coefficients for temporally proximate symbols. 
     Using vector notation, the data model can be rewritten as 
     
       
         
           x 
           k 
           = a   s   
           k 
           +n 
           k 
         
       
     
     where  a =[a 0 , . . . ,a v ], and  s =[s k , . . . ,s k−v ] T . N+v consecutive received signal samples can be represented as a vector  x =[x 1 , . . . ,x N+v ] T . A stacked data model is then given by 
     
       
         
             x =A s + n   
         
       
     
     where  s =[s 1 , . . . ,s N ] T ,  n =[n 1 , . . . ,n N+v ] T , and        A   =       [           a   0         0       0       …       …       0             a   1           a   0         0       …       …       0             a   2           a   1           a   0         …       …       0           ⋮       ⋮       ⋮       ⋰       …       ⋮             a   v           a     v   -   1             a     v   -   2           …       ⋰       0           0       ⋮       ⋮       …       …       ⋮         ]     ∈     C       (     N   +   v     )     ×   N                                
     One method of estimating the transmitted sequence of symbols is the Maximum Likelihood Sequence Estimation (MLSE) method. For each of the possible transmitted symbols, the received signal is compared with the signal that should have been received if it was that symbol that had been transmitted. Based on these comparisons, the MLSE method then selects the symbol which was most likely to have been transmitted. The MLSE method is a very accurate sequence estimation method. However, the complexity of the MLSE method is proportional to the number of possible transmitted symbols raised to the power of the number of propagation paths being considered. In EDGE systems there are eight possible transmitted symbols and seven propagation paths are considered, and the complexity of the MLSE method makes it impractical. 
     A second method of estimating the transmitted symbols is the Zero-Forcing Block Linear Equalizer (ZF-BLE) method. In the ZF-BLE method, the quantity Q is minimized with respect to  s , where 
     
       
           Q=∥ x −A s ∥   Rnn   2 , 
       
     
     R nn =ε{ nn   H } is the covariance matrix of the noise, and the operator ε{ } denotes the expectation value. The solution to this minimization is 
     
       
           {circumflex over ( s )}=(   A   H   R   nn   −1   A ) −1   A   H   R   nn   −1     x     
       
     
     where {circumflex over ( s )} is the estimation of the sequence of transmitted symbols  s , and A H  is the Hermitian (or conjugate transpose) of A. 
     An improvement over the ZF-BLE method is the Zero-Forcing Block Decision-Feedback Sequence Estimation (ZF-BDFSE) method. The ZF-BDFSE method attempts to simplify the processing required to be carried out by the receiver. The substitution 
     
       
         
           A 
           H 
           R 
           nn 
           −1 
           A=LL 
           H 
         
       
     
     can be made, where L is a lower triangular matrix, L H  is the Hermitian of L, and the product LL H  is determined by Cholesky decomposition. The estimated sequence of symbols is then given by 
     
       
         
           {circumflex over ( s )}=L 
           −H 
           L 
           −1 
           A 
           H 
           R 
           nn 
           −1 
           
             x 
           
         
       
     
     Although {circumflex over ( s )} could be calculated from this expression, the resulting values would lie on a continuum and would generally not match the discrete possible values of the transmitted symbols. However, if a vector  z  is defined as 
     
       
         
             z =L 
           −1 
           A 
           H 
           R 
           nn 
           −1 
           
             x 
           
         
       
     
     and a difference vector  Δ  is defined as 
     
       
           Δ = L   H   {circumflex over ( s )}− z     
       
     
     then the estimation of {circumflex over ( s )} can be determined by minimizing the magnitude of the difference vector  Δ  with respect to the vector of discrete possible values. 
     Although the ZF-BDFSE method is less complex than the MLSE method, and has improved performance over the ZF-BLE method, it has a weakness in that a Cholesky decomposition does not always exist. A matrix L can only be found if the channel impulse response correlation matrix is positive definite. To avoid this risk noise can be added to the channel impulse response correlation matrix, but this results in performance degradation. A method is required which does not have the complexity of the MLSE method, which maintains performance improvement over the ZF-BLE method, and for which a solution always exists without having to degrade performance by artificially adding noise. 
     SUMMARY OF THE INVENTION 
     The present invention provides a method of estimating a transmitted sequence of symbols from a received sequence of signal samples  x . Each symbol in the transmitted sequence of symbols is one of a set of discrete possible symbol values. The received sequence of signal samples is a combination of noise having a covariance matrix represented as R nn  and of the transmitted sequence of symbols propagating along at least one path, the paths having a matrix of channel impulse response coefficients represented as A. The method comprises the steps of determining a lower triangular matrix L from the relationship LL H =A H R nn   −1 A+I where I is an identity matrix, calculating a vector  z =L −1 A H R nn   −1   x , and determining an estimated sequence of symbols {circumflex over ( s )} belonging to the set of discrete possible symbol values such that the square of the magnitude of a difference vector L H {circumflex over ( s )}− z  is minimized. The step of determining the estimated sequence of symbols can be carried out by minimizing each term in the expression for the square of the magnitude of the difference vector successively in order of increasing number of symbols needed to resolve the term. The method can be implemented in a processor in a receiver of a digital communication system. 
     The method provides improved performance over the ZF-BDFSE method without increasing complexity, thereby improving the quality of the signal or, alternatively, allowing lower mobile transmitted power to be used. 
     Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will now be described in greater detail with reference to the accompanying diagrams, in which: 
     FIG. 1 is a block diagram illustrating a portion of a digital communication system which implements the invention; 
     FIG. 2 is a flow chart showing the method of the invention; 
     FIG. 3 is a diagram of a transmitted slot in an EDGE communication system; and 
     FIG. 4 is a flow chart showing an alternate method of the invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to FIG. 1, a signal composed of multiple slots is transmitted to a receiver. Each transmitted slot includes a transmitted sequence of symbols  2 , which can be represented as a vector  s , a sequence of transmitted training symbols, and header and tail information. The signal may propagate along several paths  4 , undergoing different amplitude and phase changes along each path before reaching the receiver  6 . The receiver receives a received signal which it interprets as a series of received slots. Each received slot includes a received sequence of signal samples  8 , which can be represented as a vector  x , a sequence of received training symbols, and header and tail information. The sequence of received signal samples  x  can be related to the sequence of transmitted symbols  s  using a data model  x =A s + n , where A is a matrix of channel impulse response coefficients, and  n  is a vector of additive white Gaussian noise. 
     If the vector  s  is presumed to have a distribution described by a mean  μ  and a covariance matrix R ss , then a digital signal processor  10  can determine an estimated sequence of symbols  12 , represented by a vector {circumflex over ( s )}, which most closely matches  s  by minimizing the expectation value of ∥{circumflex over ( s )}− s ∥ 2 . This has a well known solution of 
     
       
         {circumflex over ( s )}= μ +( A   H   R   nn   −1   A+R   ss   −1 ) −1   A   H   R   nn   −1 (   x −A μ   ) 
       
     
     where R nn  is the covariance matrix of the vector of noise  n  (and is usually assumed to be an identity matrix I multiplied by a noise variance σ 2 ), and A H  is the Hermitian of the matrix A. For an 8-PSK communication system, such as an EDGE system,  μ = 0  and R ss =I, an identity matrix. Then 
     
       
           {circumflex over ( s )}= ( A   H   R   nn   −1   A+I ) −1   A   H   R   nn   −1     x     
       
     
     FIG. 2 shows a flowchart of the method of the invention by which the processor determines the estimated sequence of symbols {circumflex over ( s )} from the received sequence of sample signals  x . A slot is received at step  14 . A least squared channel estimator determines A at step  16  from the sequence of received training symbols using well known techniques. At step  22  a product of triangular matrices LL H  is found by performing a Cholesky decomposition, such that 
     
       
         
           LL 
           H 
           =A 
           H 
           R 
           nn 
           −1 
           A+I 
         
       
     
     Unlike in the ZF-BDFSE method, a solution to L always exists in the method of the invention. Substituting LL H  into the solution for {circumflex over ( s )}, and multiplying both sides of the equation by L H , it can be readily seen that 
     
       
         
           L 
           H 
           {circumflex over ( s )}=L 
           −1 
           A 
           H 
           R 
           nn 
           −1 
           
             x 
           
         
       
     
     At step  28  the vector  z , defined as 
     
       
         
             z =L 
           −1 
           A 
           H 
           R 
           nn 
           −1 
           
             x 
           
         
       
     
     is calculated. A difference vector  Δ  can be defined as 
     
       
           Δ = L   H   {circumflex over ( s )}− z     
       
     
     If the vectors and matrix are expanded, the square of the magnitude of this difference vector is seen to be                 Δ   _          2     =                [           l   11           l   12         …         l     1      N               0         l   22         …         l     2      N               ⋮       ⋮       ⋰       ⋮           0       0       …         l   NN           ]          [             s   ^     1                 s   ^     2             ⋮               s   ^     N           ]       -     [           z   1               z   2             ⋮             z   N           ]            2                            
     and then                 Δ   _          2     =                  l   NN                       s   ^     N       -     z   N            2     +                l       N   -   1     ,     N   -   1                           s   ^       N   -   1         +       l       N   -   1     ,   N                         s   ^     N       -     z     N   -   1              2     +                     …   +                ∑     j   =   i     N                       l   ij                       s   ^     j         -     z   i            2     +   …   +                ∑     j   =   1     N                       l     1      j                         s   ^     j         -     z   1            2                                  
     For convenience, the terms in the above series will be referred to as Δ N , Δ N−1 , . . . Δ 1 . 
     At step 34 the terms in the expression for ∥ Δ ∥ 2  are minimized iteratively with respect to each possible discrete value of a transmitted symbol. The only unknown in the first term Δ N  is the value of the N-th estimated symbol ŝ N . The term Δ N  is minimized by substituting in turn each possible value of the transmitted symbol into ŝ N . The value which results in the lowest value of Δ N  is assigned to ŝ N . The next term, Δ N−1 , is minimized in the same way to find ŝ N−1 , using the value of ŝ N  found when minimizing the previous term. This process is repeated for each term until a value is found for each symbol ŝ in the estimated sequence of symbols. The actual transmitted sequence of symbols  s  is then presumed to be the complete estimated sequence of symbols {circumflex over ( s )}. 
     The above method minimizes the square of the magnitude of the difference vector with respect to the possible transmitted symbols one at a time. If a symbol is inaccurately estimated early in the method, this error will propagate through the estimation of the remaining symbols. The risk of this type of error can be reduced by grouping the vector and matrix elements in the expression ∥ Δ ∥ 2  into blocks. A term in the expression for ∥ Δ ∥ 2  can then be minimized with respect to several symbols simultaneously, yielding more accurate estimations. For example, if blocks of two elements are used, the matrix expression for ∥ Δ ∥ 2  becomes                 Δ   _          2     =                [           L   11           L   12         …         L     1      Q               0         L   22         …         L     2      Q               ⋮       ⋮       ⋰       ⋮           0       0       …         L   QQ           ]          [               s   ^     _     1                   s   ^     _     2             ⋮                 s   ^     _     Q           ]       -     [             z   –     1                 z   –     2             ⋮               z   –     Q           ]            2                            
     and then                 Δ   _          2     =                  L   QQ                         s   ^     _     Q       -       z   _     Q            2     +                L       Q   -   1     ,     Q   -   1                             s   ^     _       Q   -   1         +       L       Q   -   1     ,   Q                           s   ^     _     Q       -       z   _       Q   -   1              2     +              …   +                ∑     j   =   i     Q                       L   ij                         s   ^     _     j         -       z   _     i            2     +   …   +                ∑     j   =   i     Q                       l     1      j                           s   ^     _     j         -       z   _     1            2                              
     where Q=N/2, {circumflex over ( s )} 1 =(ŝ 1 , ŝ 2 ), . . . {circumflex over ( s )} Q =(ŝ N−1 , ŝ N ),  z   1 =(z 1 , z 2 ), . . .  z   Q =(z N−1 , z N ), and            L   11     =     [           l   11           l   12             0         l   22           ]       ,       …                   L   QQ       =     [           l       N   -   1     ,     N   -   1               l       N   -   1     ,   N               0         l     N   ,   N             ]                              
     The first term, Δ Q  is minimized with respect to {circumflex over ( s )} Q  by substituting each combination of two possible transmitted symbols into ŝ N−1  and ŝ N . The two values which result in the lowest value of Δ Q  are assigned to ŝ N−1  and ŝ N . The remaining terms are minimized in the same way, using the values of ŝ previously determined. The transmitted sequence of symbols  s  is then presumed to be the complete estimated sequence of symbols {circumflex over ( s )}. Larger block sizes can yield more accurate estimations of the transmitted sequence. However since the number of combinations of symbol values which must be considered in minimizing each term is equal to the number of possible symbol values raised to the power of the size of the blocks, processing capabilities will limit the blocks to reasonable sizes (normally 3 or 4 for an 8-PSK communication system). 
     Either method can be generalized to receivers having multiple antennae. For example, in a receiver having two antennae the stacked data model can be written as 
     
       
         
           
             x 
           
           1 
           =A 
           1 
             s + n   
           1 
         
       
     
     
       
         
           
             x 
           
           2 
           =A 
           2 
             s + n   
           2 
         
       
     
     where the subscript  1  refers to the signal received by the first antenna and the subscript  2  refers to the signal received by the second antenna. If it is assumed that there is no correlation between the noise received at each antenna and that the covariance matrix of the vectors of noise is given by R n     1     n     1   =R n     2     n     2   =σ 2 I, the triangular matrix L is now determined from 
     
       
           LL   H =( A   1   H   R   n     1     n     1     −1   A   1   +A   2   H   R   n     2     n     2     −1   A   2   +I ) 
       
     
     and the vector  z  is defined as 
         z =L   −1 ( A   1   H   R   n     1     n     1     −1     x     1   +A   2   H   R   n     2     n     2     −1     x     2 ) 
     The square of the magnitude of the difference vector  Δ  is then minimized in the same manner as described above for the single antenna case, but using the values of  z  and L H  calculated using the new expressions. 
     For communication systems in which the transmitted sequence of symbols is transmitted along with a sequence of header symbols, a sequence of tail symbols, and the sequence of training symbols, pre-processing can be applied to the received sequence of signal samples to remove the interference effects of these additional known transmitted symbols on the received sequence of signal samples. For example, the transmitted slot in an EDGE communication system is shown in FIG. 3, in which there are two transmitted sequences of fifty-eight symbols (N=58). The following example assumes the number of additional propagation paths being considered is v=6, though in general there may be more or fewer. Considering first the first transmitted sequence of symbols, denoted in FIG. 3 by s i   1 , the intersymbol interference of the header symbols and the training symbols with the corresponding received sequence of signal samples can be removed using the expression            x   _     p   1     =         x   _                     (     4   :   67     )       -     [             M   1                     h   _                 0   –                 M   2                       m   _     1             ]                              
     to generate a pre-processed received sequence of signal samples  x   p   1 , where  x (4:67) is the received sequence of N+v=64 signal samples ( x (4:61) being the received signal samples corresponding to user data and  x (62:67) being the received signal samples corresponding to training symbols),  0  is a vertical vector of zeros of length N−v,  h =[h 1 ,h 2 ,h 3 ] T  is a vector of header symbols,  m   1 =[m 1 , . . . m 6 ] T  is a vector of v training symbols which interfere with the first transmitted sequence of symbols, and M 1  and M 2  are matrices given by          M   1     =         [           a   3           a   2           a   1               a   4           a   3           a   2               a   5           a   4           a   3               a   6           a   5           a   4             0         a   6           a   5             0       0         a   6           ]                     M   2       =     [           a   0         0       0       0       0       0             a   1           a   0         0       0       0       0             a   2           a   1           a   0         0       0       0             a   3           a   2           a   1           a   0         0       0             a   4           a   3           a   2           a   1           a   0         0             a   5           a   4           a   3           a   2           a   1           a   0           ]                              
     where the matrix elements a i  are the channel impulse response coefficients. Similarly for the second transmitted sequence of symbols, denoted in FIG. 3 by s i   2 , the intersymbol interference of the tail symbols and the training symbols with the corresponding received sequence of signal samples can be removed using the expression            x   _     p   2     =         x   _                     (     88   :   151     )       -     [             M   3                       m   _     2                 0   _                 M   2                     t   _             ]                              
     to generate a pre-processed received sequence of signal samples  x   p   2 , where  x (88:151) is the received sequence of N+v=64 signal samples,  0  vertical vector of zeros of length N−v,  t =[t 1 , . . . t 6 ] T  is a vector of tail symbols,  m   2 =[m 21 , . . . m 26 ] T  is a vector of v training symbols which interfere with the second transmitted sequence of symbols, and M 3  is a matrix given by          M   3     =     [           a   6           a   5           a   4           a   3           a   2           a   1             0         a   6           a   5           a   4           a   3           a   2             0       0         a   6           a   5           a   4           a   3             0       0       0         a   6           a   5           a   4             0       0       0       0         a   6           a   5             0       0       0       0       0         a   6           ]                            
     FIG. 4 shows a flowchart of the method of the invention when pre-processing is carried out. The pre-processing occurs at step  24 , where  x   p  is calculated using the above expression which is appropriate to whether the received sequence of signal samples corresponds to the first transmitted sequence of symbols in the EDGE slot or to the second transmitted sequence of symbols in the EDGE slot. The remainder of the method is the same as that shown in FIG. 2, except that the pre-processed received sequence of signal samples  x   p  is used at step  28  to determine  z  instead of the unprocessed received sequence of signal samples  x . The method is applied to each of the two transmitted sequences of symbols within the EDGE slot. The method uses the same value of the matrix A for each of the two transmitted sequences of symbols, and only one Cholesky decomposition needs to be carried out to determine L for the two transmitted sequences. In other words, the method shown in FIG. 4 can determine the estimated sequence of symbols for both transmitted sequences of symbols of a slot by repeating only steps  24 ,  28  and  34 . 
     The method is not confined to EDGE communication systems, nor even to 8-PSK communication systems, but can be applied in any communication system in which the transmitted symbols have a mean of 0 and a covariance matrix given by an identity matrix. 
     What has been described is merely illustrative of the application of the principles of the invention. Other arrangements and methods can be implemented by those skilled in the art without departing from the spirit and scope of the present invention.