USPatent applicationPatented

Methods, receivers and equalizers having increased computational efficiency

Granted 16 Mar 2004 · 1 office action

Assignee: Ericsson

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Rajaram Ramesh, Dennis Hui, Jung-Fu Cheng, Kambiz C. Zangi · Examiner: Young T. Tse · AU 2634 · TC 2600

Application· this page
9499977
filed 8 Feb 2000
Publication
Not published
not published
Patent
US 6,707,849
granted 16 Mar 2004

Life of the application

7 dated events
⤢ drag to zoom20002002200420062008201020122014201620182020ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Metrics associated with each branch from a previous hypothesized trellis state to each respective possible current trellis state in a DFSE equalizer can be calculated. In particular, a common portion of branch metrics can be calculated that is common to each of the branch metrics from the previous hypothesized state to each of the current possible states, and difference variables representing a difference between the common portion of the branch metrics and each of the branch metrics from the previous hypothesized state to each of the current possible states can also be calculated. 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.

Description

5 parts
›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)'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 · 1 of 2

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:

›DETAILED DESCRIPTION OF THE INVENTION · 2 of 2

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.

Claims as granted

32 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

9 codes
IPC · International Patent Classification
Section H — Electricity
  • H04L25/03
USPC · US Patent Classification
375/233714/796714/792375/346714/795375/341714/794375/262

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2000Jul 2000Jan 2001Jul 2001Jan 2002Jul 2002Jan 2003Jul 2003Jan 2004USPTOApplicantNon-final rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
4.1 y
1,498 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Young T. Tse
art unit 2634 · TC 2600
Citations: 12 back · 8 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20002002200420062008201020122014201620182020Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock