Patent Publication Number: US-6707849-B1

Title: Methods, receivers and equalizers having increased computational efficiency

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to the field of communications and more particularly, to receiving methods and systems. 
     Digital wireless communications systems use equalization to compensate for intersymbol interference (ISI) resulting from time dispersion and/or delay spread in a radio channel. Typically, a non-linear equalizer, such as a Maximum Likelihood Sequence Estimation (MLSE) equalizer (also known as a Viterbi equalizer), can be used to provide coherent demodulation, and thus compensate for inter-symbol interference (ISI), in such digital wireless communications systems. An MLSE equalizer considers various hypothesis for a transmitted symbol sequence, and with a model of the dispersive radio channel, determines which hypothesis best fits the received samples. This determination can be realized using the Viterbi algorithm. The MLSE equalization technique is discussed, for example by J. C. Proakis in Digital Communications, McGraw-Hill (1995) pages 589-593. An MLSE equalizer, however, may be difficult to implement. 
     With an MLSE equalizer, transmitted symbols s(n) can take values from an 8PSK constellation:            {          j2πk   /   8       }         k   =   0                    k   =   7       ,                   
     and can be transmitted over a radio channel to a radio receiver. At the receiver, the received signal can be filtered, amplified, and mixed down using I and Q carriers, then sampled once every symbol period T, providing a received signal stream r(n). In this example, the channel can include L rays such that:                r        (   n   )       =         ∑     i   =   0       L   -   1                         h        (   i   )            s        (     n   -   i     )           +       w        (   n   )       .               (   1   )                         
     In this equation, h(i) denotes a complex-valued channel tap and w(n) is additive noise or interference. 
     Using N to denote the number of transmitted 8PSK symbols, there will be 8 N  possible transmitted sequences of length N. The Viterbi algorithm/equalizer provides a way to determine a best sequence by traveling on a trellis. The trellis has N stages, denoted by n=0, n=1, n=2, . . . , n=N−1. The states in the trellis of the Viterbi algorithm at stage n−1 are vectors of the form X(n−1)=[s (n−1), . . . , s(n-L+1)], i.e. the last (L−1) most recently received symbols at time n−1. Since each element in the state vector has 8 possible values, the Viterbi trellis has 8 L−1  different possible (hypothetical) values, and the Viterbi trellis has 8 L−1  different possible states at each stage. Associated with each state at time n−1, there will be a stored path history including an n-tuple of 8PSK symbols from time “0” to time “n−1”, and an accumulated (total) path metric M(X(n−1)). At the n-th stage of the trellis, the branch metric corresponding to the state transition from the previous state, X(n−1), to the current state, X(n), is computed using:                dM        (       X        (     n   -   1     )       ,     X        (   n   )         )       =                r        (   n   )       -       ∑     i   =   0       L   -   1                         h        (   i   )            s        (     n   -   i     )                  2     .             (   2   )                         
     This branch metric is then added to the accumulated path metric M(X(n−1)). The accumulated path metric of the state X(n) is obtained according to: 
     
       
           M ( X ( n ))=aug min  X(n)   {M ( X ( n −1))+ dM ( X ( n −1),  X ( n ))}.  (3) 
       
     
     In the accumulated path metric, the minimization is over those X(n−1)&#39;s that have a valid state transition to X(n). Since there are 8 valid transitions to each next state X(n), 8 L  different branch metrics need to be computed at each stage of the Viterbi trellis. The complexity of the Viterbi algorithm, which is dominated by branch metric computations, may thus be formidible when the number of channel taps L is large. For a 5-tap channel (i.e. L=5), 32,768 branch metrics may need to be computed at each stage of the Viterbi trellis. 
     Decision Feedback Sequence Estimation (DFSE) equalizers have thus been proposed to reduce computational complexity by reducing the number of branch metric computations at each stage of the trellis, and more particularly, by reducing the number of states in the trellis. DFSE equalizers are discussed, for example, by A. Duel-Hallen et al. in  Delayed Decision - Feedback Sequence Estimation , IEEE Transactions on Communications, Vol. 37, No. 5, May, 1989, the disclosure of which is incorporated herein in its entirety by reference. In a DFSE equalizer L channel taps can be divided into LMLSE taps and LDFSE taps so that L=LMLSE+LDFSE. In other words, channel taps h( 0 ) . . . h(LMLSE−1) are defined as LMLSE taps, and channel taps h(LMLSE) . . . h(L−1) are defined as LDFSE channel taps. The n-th stage of the trellis used for the DFSE algorithm has 8 LMLSE−1  states, corresponding to vectors of the most recent LMLSE−1 symbols: XDFSE(n)=[s(n−1), . . . , s(n-LMLSE+1)]. Furthermore, at time n−1 there is a stored path history including an n-tuple of 8PSK symbols from time “0” to time “n−1” associated with each DFSE state. The DFSE algorithm operates similarly to the Viterbi algorithm. The DFSE algorithm operates on the DFSE trellis, and each branch metric is computed as follows:                dM        (       X        (     n   -   1     )       ,     X        (   n   )         )       =                r        (   n   )       -       ∑     i   =   0       LMLSE   -   1                         h        (   i   )            s        (     n   -   i     )           -       ∑     i   =   LMLSE       L   -   1                         h        (   i   )              s   _          (     n   -   i     )                  2     .             (   4   )                         
     In equation 4, the symbols (s(n−1), . . . , s(n-LMLSE+1)) are obtained from the hypothesized state at time n−1 and the current state at time n, i.e. from (X(n−1), X(n)). The symbols ({overscore (s)}(n-LMLSE), . . . , {overscore (s)}(n-L+1)) are obtained from the path history associated with the previous state X(n−1). 
     The number of states at each stage of the DFSE trellis is 8 LMLSE−1 , and 8 branches fan out from each state, so that 8 LMLSE  branch metrics may need to be computed at each stage of the DFSE trellis. With a 5-tap channel and with 2 MLSE taps (LMLSE=2), 64 branch metrics need to be computed at each stage of the DFSE trellis (compared with 32,768 branch metrics in the Viterbi trellis). 
     Notwithstanding the DFSE algorithm discussed above, there continues to exist a need in the art for further improved DFSE equalizers having reduced computational complexity. 
     SUMMARY OF THE INVENTION 
     According to the present invention, methods, receivers, and equalizers can calculate a common portion of branch metrics that is common to each of the branch metrics from the previous hypothesized state to each of the current possible states, and difference variables can be calculated representing a difference between the common portion of the branch metrics and each of the branch metrics from the previous hypothesized trellis state to each of the current possible states. The common portion of the branch metrics and each of the difference variables can then be combined to provide a respective metric for each of the possible current states. A total number of operations used to calculate metrics in a DFSE equalizer can thus be reduced thereby reducing complexity and/or increasing performance of methods, receivers, and equalizers according to the present invention. A digital signal processor used to implement an equalizer according to the present invention, for example, can compute the metrics more efficiently, and the increased efficiency can allow use of a less complex digital signal processor, and/or an increase in the speed at which the metrics are calculated. 
     Operations of the present invention can be implemented, for example, using a DFSE equalizer having two MLSE taps and providing 8-PSK modulation so that there are 8 possible states at each stage of the trellis. While two MLSE taps are discussed for the purposes of illustration, any number of MLSE taps can be used according to the present invention. Moreover, the combining of the common portion of the branch metrics and each of the difference variables can include providing eight respective metrics each of which is associated with a respective one of the eight possible current states. In addition, calculating the difference variables can include calculating four difference variables. Combining the common portion of the branch metrics and each of the difference variables can thus include adding each of the four difference variables to the common portion of the branch metrics to provide four of the metrics, and subtracting each of the four difference variables from the common portion of the branch metrics to provide another four of the metrics. In other words, four difference variables can each be added to and subtracted from the common portion of the branch metrics to provide eight respective metrics. 
     More particularly, calculating the difference variables can include calculating a first intermediate variable as twice a product of a conjugate of a primary channel tap and a difference between a sampled signal and a summation of non-primary channel taps and hypothesized symbols corresponding to the non-primary channel taps. A second intermediate variable can be calculated as a product of the first intermediate variable and e −jπ/4 . A first one of the difference variables can be calculated as a real portion of the first intermediate variable, a second one of the difference variables can be calculated as an imaginary portion of the first intermediate variable, a third one of the difference variables can be calculated as a real portion of the second intermediate variable, and a fourth one of the difference variables can be calculated as an imaginary portion of the second intermediate variable. 
     Methods, receivers, and equalizers according to the present invention can thus reduce computational complexity associated with calculating metrics at each stage of a DFSE trellis thereby increasing efficiency. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a communications system including a DFSE equalizer according to the present invention. 
     FIG. 2 is illustrates a fan-out of branch metrics from a previous state to each possible current state in a DFSE equalizer according to the present invention. 
     FIG. 3 is a flow chart illustrating operations of a DFSE equalizer according to the present invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. As will be appreciated by those of skill in the art, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment or an embodiment combining software and hardware aspects. 
     A communications system including a receiver  39  with a DFSE equalizer  49  according to the present invention is illustrated in FIG.  1 . As shown, a radio transmitter  21  can include a digital symbol generator  19  that generates a sequence of symbols s(n) based on communications data generated by transmitter processor  17 . The sequence of symbols s(n) can be filtered using filter  23  and mixed up to a transmitting frequency f t  using mixer  25  before being transmitted as a radio signal from antenna  27  over the radio channel  29 . The radio signal can be received at a receiver  39  including antenna  41 , mixed down to a baseband frequency f b  at the mixer  43 , filtered at filter  45 , and sampled at A-to-D converter  47  to provide a received signal stream r(n). The received signal stream r(n) can then be processed using DFSE equalizer  49  to produce an estimate ŝ(n) of the sequence of symbols s(n). The estimate of the sequence of symbols can then be processed by the receiver processor  51  to reproduce the communications data at the receiver  39 . 
     The receiver  39  can also include a prefilter as discussed for example in co-pending application Ser. No. 09/378,314, entitled “Method And Apparatus For Computing Prefilter Coefficients” to Kambiz C. Zangi et al. and filed Aug. 20, 1999, (Attorney Docket No. P10412-US1-RCUR) the disclosure of which is hereby incorporated herein in its entirety by reference. Such a prefilter can be defined, for example, as a portion of the DFSE equalizer  49 , as a portion of the A-to-D converter  47 , or as a separate block between the A-to-D converter and the DFSE equalizer. Moreover, a baseband processor in the receiver can be defined to include the DFSE equalizer  49  as well as a synchronizer, a channel estimator, a prefilter coefficient generator, and/or a prefilter as also discussed in the co-pending Zangi et al. application. Alternately, a synchronizer, a channel estimator, a prefilter coefficient generator, and/or a prefilter can be defined as portions of the illustrated A-to-D converter, the DFSE equalizer, and/or a separate block. FIG. 1 illustrates the A-to-D converter  47  as coupled with the DFSE equalizer  49  for ease of illustration and ease of discussion herein without limiting the scope of the invention thereto. 
     In a DFSE equalizer with 2 MLSE channel taps, 64 branch metrics are computed at each trellis stage wherein each branch connects one possible previous state to one possible current state. These 64 branch metrics can be grouped into 8 groups such that each group includes 8 branches that fan out from a particular possible previous state s l (n−1)=e jπl/4  to each possible current state s l (n)=e jπk/4 . The l-th such group will include all 8 branches that fan out of the previous state e jπl/4 . As there are eight previous states, l=0, 1, . . . , 7, and eight possible current states, k=0, 1, . . . , 7, sixty four branch metrics and total metrics are calculated at each DFSE trellis stage. While two MLSE taps are discussed for the purposes of illustration, any number of MLSE taps can be used according to the present invention. 
     The branch metric associated with branches in the l-th group can be denoted by {B(l,k)} 7   k=0 , such that B(l,k) is the branch metric for the branch connecting the l-th previous state to the k-th current state as shown in FIG. 2. A total metric J(l) for a previous hypothesized trellis state represents an error associated with a hypothesized sequence of symbols (s l (n−1), s l (n−2), s l (n−3), . . . ) for the previous state and preceeding states. Using this notation, the branch metrics can be calculated using:                B        (     l   ,   k     )       =              r        (   n   )       -       ∑     i   =   1       L   -   1                         h        (   i   )              s   l          (     n   -   i     )           -       h        (   0   )                 j                 π                   k   /   4                  2             (   5   )               =                    r   ^     l          (   n   )       -       h        (   0   )                 j                 π                   k   /   4                  2     .             (   6   )                         
     In equation 6, {circumflex over (r)} l (n) is defined as: 
     
       
           {circumflex over (r)}   l ( n )= r ( n )−Σ L−1   i=l   h ( i ) s   l ( n−i )  (7) 
       
     
     To efficiently compute {B(l,k)} 7   k=0 , it is noted that the summation of equation (7) can be evaluated with the help of a precomputed table assuming that the channel coefficients do not vary over the slot. Using these tables, each {circumflex over (r)} l (n) can be computed with as few as two complex additions (4 real additions). 
     All 8 branch metrics {B(l,k)} 7   k=0  from a single previous state can then be computed using intermediate variables. Equation 6 can thus be expressed as:                B        (     l   ,   k     )       =                  r   ^     l          (   n   )       -       h        (   0   )                 j                 π                   k   /   4                  2             (   8   )               =                  r   ^     l          (   n   )            2     +            h        (   0   )            2     -     2                 Re          {           r   ^     l          (   n   )          h   *     (   0   )                 -   j                   π                   k   /   4           }     .                 (   9   )                         
     Three intermediate variables can then be defined as: 
     
       
           E   l ( 0 )=2 {circumflex over (r)}   l ( n )h*( 0 )  (10) 
       
     
     
       
           E   l ( 1 )= E   l ( 0 ) e   −jπ/4   (11) 
       
     
     
       
           D   l ( 0 )=|h( 0 )| 2   +|{circumflex over (r)}   l ( n )| 2   +J ( l ),  (12) 
       
     
     In equation (12), J(l) denotes the total metric associated with the previous l-th state. The above three intermediate variables depend on the previous state (i.e. they depend on l). Furthermore, each previous state has a unique path history in a DFSE Equalizer so that Dl( 0 ) depends on the previous state and should not be ignored. 
     The 8 branch metrics {B(l,k)} 7   k=0  can thus be computed using the real/imaginary parts of the three intermediate variables defined above. If J(l,k) denotes the total metric associated with branch metric B(l,k) then: 
     
       
           J ( l , 0 )= D   l ( 0 )− E   l   R ( 0 )  (13) 
       
     
     
       
           J ( l , 1 )= D   l ( 0 )− E   l   R ( 1 )  (14) 
       
     
     
       
           J ( l , 2 )= D   l ( 0 )− E   l   l ( 0 )  (15) 
       
     
     
       
           J ( l , 3 )= D   l ( 0 )− E   l   l ( 1 )  (16) 
       
     
     
       
           J ( l , 4 )= D   l ( 0 )+ E   l   R ( 0 )  (17) 
       
     
     
       
           J ( l , 5 )= D   l ( 0 )+ E   l   R ( 1 )  (18) 
       
     
     
       
           J ( l , 6 )= D   l ( 0 )+ E   l   l ( 0 )  (19) 
       
     
     
       
           J ( l , 7 )= D   l ( 0 )+ E   l   l ( 1 )  (20) 
       
     
     where E l   R (i)=Real{E l (i))} and E l   l (i)=Imaginary{E l (i)}. 
     In addition, (J(l,k),J(l,k+4)) can be computed using a butterfly-type operation as shown: 
       J ( l,k )= D   l ( 0 )− E   l   R ( k )  k =0, . . . , 3  (21) 
     
       
           J ( l,k +4)= D   l ( 0 )+ E   l   R ( k ). k =0, . . . , 3  (22) 
       
     
     The 8 total metrics fanning out from the l-th previous state can thus be computed as indicated below: 
     ( 1 ) Compute E l ( 0 ), E l ( 1 ), and D l ( 0 )[12 real operations]; 
     (2) Compute {B(l,k)} 7   =0 [8 real adds]; and 
     (3) Compute {J(l,k)} 7   =0 [8 real adds]. 
     Methods of the present invention can thus be used to reduce the number of calculations needed to perform DFSE equalization. The speed of DFSE equalization can thus be increased, and/or the complexity of hardware used to perform DFSE equalization can be reduced. 
     Operations for calculating a total metric according to the present invention are illustrated in the flow chart of FIG.  3 . In particular, a total metric J(l) for a previous hypothesized trellis state can be provided at block  81 . As discussed above, the total metric for the previous hypothesized trellis state represents an error associated with a sequence of symbols (s l (n−1), s l (n−2), s l (n−3), . . . ) hypothesized for the previous trellis stage and trellis stages preceding the previous trellis stage as shown in FIG. 2. A common portion of the branch metrics |h( 0 )| 2  +|{dot over (r)} l (n)| 2  that is common to each of the branch metrics B(l,k) can be calculated at block  83  and then combined with the total metric J(l) for the previous hypothesized trellis state using equation (12) to provide D l ( 0 ). The intermediate variables E l ( 0 ) and E l ( 1 ) can be calculated using equations (10) and (11), and these intermediate variables can be used to calculated the four difference variables E l   R ( 0 ), E l   R ( 1 ), E l   l ( 0 ), and E l   l ( 1 ) at block  85 . The four difference variables can then each be added to and subtracted from D l ( 0 ) using equations (13-20) to provide a total metric J(l,k) for each of the current states s(n)=e jkπ4  at block  87 . 
     Operations according to the present invention can thus be used to provide a total metric for each possible current state fanning out from a previous hypothesized state at a trellis stage during equalization. The operations can also be used to provide total metrics for each possible current state fanning out from each of the previous possible states at the trellis stage. In a DFSE equalizer providing 8PSK demodulation, operations of the present invention can be used to calculate all 64 total metrics J(l,k) (where l=0, 1, . . . , 7 and k=0, 1, . . . , 7) of a trellis stage. Moreover, operations according to the present invention can be used to calculate total metrics for preceding and subsequent trellis stages. The operations of FIG. 3 can thus be repeated within the equalizer  49  to provide total metrics for each branch at each trellis stage. 
     Operations of the present invention have thus been described above with respect to the flowchart illustrations of FIG.  3  and the block diagram of FIG.  1 . It will be understood that each block of the flowchart illustrations and the block diagram illustrations, and combinations of blocks in the flowchart and block diagram illustrations can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions which execute on the processor create means for implementing the functions specified in the flowchart and block diagram block or blocks. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer implemented process such that the instructions which execute on the processor provide steps for implementing the functions specified in the flowchart and block diagram block or blocks. 
     Accordingly, blocks of the flowchart illustrations and the block diagrams support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the flowchart illustrations and block diagrams, and combinations of blocks in the flowchart illustrations and block diagrams, can be implemented by special purpose hardware-based systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions. 
     In the drawings and specification, there have been disclosed typical preferred embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention being set forth in the following claims. For example, methods, receivers, and systems according to the present invention can be used in radio communications systems such as the Enhanced Data Rates for Global Evolution (EDGE), or other systems such as IS-136+to improve performance of equalization at baseband.