MLSE USING LOOK UP TABLES FOR MULTIPLICATION

Abstract: The present invention involves demodulation of radio signals modulated with M-ary modulation in the presence of intersymbol interference distortion. The invention presents a method for reducing the number of multiplications needed to implement a maximum-likelihood-sequence-estimation (MLSE) equalizer for signals modulated with M-ary modulation. In exemplary embodiments of the present invention, the number of multiplications is reduced by pre-computing certain values needed for the determination of the branch metric and storing these pre-computed values in a product table. When a branch metric computation is to be made, whether it is an Euclidean branch metric computation or an Ungerboeck branch metric computation, certain multiplication operations are replaced by simple table look-up operations. As a result, the power efficiency and speed of the system are increased. Any receiver that demodulates signals that are modulated with M-ary modulation can be implemented using the present invention. The resulting demodulator will have a lower complexity than existing demodulators.

Description: MLSE USING LOOK UP TABLES FOR MULTIPLICATION BACKGROUND Digital wireless communication systems are used to convey a variety of information between multiple locations. With digital communications, information is translated into a digital or binary form, referred to as bits, for communication purposes. The transmitter maps this bit stream into a modulated symbol stream, which is detected at the digital receiver and mapped back into bits and information. In digital communications, the radio environment presents many difficulties that impede successful communications. One difficulty is that the signal level can fade because the signal may travel in multiple paths. As a result, signal images may arrive at the receiver antenna out of phase. This type of fading is commonly referred to as Rayleigh fading or fast fading. When the signal fades, the signal-to-noise ratio becomes lower, causing degradation in the quality of the communication link. A second problem occurs when the multiple signal paths are much different in length. In this case, time dispersion occurs, in which multiple fading signal images arrive at the receiver antenna at different times, thus giving rise to signal echoes or rays. This causes intersymbol interference (ISI), where the echoes of one symbol interfere with subsequent symbols. At the receiver, coherent demodulation is desirable, since it provides the best performance. This requires knowledge of the multipath channel. In many wireless applications, this channel is time-varying, due to transmitter motion, receiver motion, and/or scatterer motion. Thus, there is a need to track a time varying multipath channel. To provide coherent demodulation of multipath signals, a maximum-likelihood- sequence-estimation (MLSE) equalizer may be employed. Such an equalizer considers various hypotheses for the transmitted symbol sequence, and with a model of the dispersive channel, determines which hypothesis best fits the received data. This is efficiently realized using the Viterbi algorithm. This equalization technique is well known to those skilled in the art, and can be found in J.C. Proakis, Digital Communications, The conventional MLSE equalizer can be explained by a simple example. Suppose the transmitter transmits a symbol stream s(n), which takes on values " +B" or "-B" corresponding to bit values 0 or 1 , respectively. This stream is modulated using binary- shift keying (BPSK). At the receiver, the received signal is filtered, amplified, and mixed down using the I and Q carriers, then sampled once every symbol period (7), giving a received signal stream rin). In this example, the intervening channel consists of two rays, a main ray and an echo, where the echo arrives T seconds later and T is the symbol period. Then the received signal can be modeled as r(n) = C Q SQI) + c^n - 1) +η(n), (1) where c 0 and c λ are complex channel tap values and η(n) is additive noise or interference. In the MLSE equalizer, at iteration n, there would be two different previous "states," 0 and 1, corresponding to the two possible values for the previous symbols: 1. s(n - 1) = B « Previous State = 0 2. s(n - 1) = -B « Previous State = 1. Associated with each previous state there would be an accumulated metric, accumulated from previous iterations, giving rise to accumulated metrics A 0 (n - 1) and A (n - 1) for previous state 0 and previous state 1, respectively. There would also be two current states corresponding to two possible values for s(n). Each possible pairing of a previous state with a current state corresponds to a hypothetical sequence {s h (n - 1), s h (n)}. For each of these hypotheses, there will be a corresponding hypothesized received signal value at time n: r h (n) = CrA(rt) + c λ s h (n - 1). (2) Furthermore, for each of these hypotheses, there will be a corresponding "branch" metric given by M h (n) = \r(n) - r h (n)\ (3) In the example, there are four possible hypothetical sequences which can be denoted by h e {00, 01, 10, 11}, as illustrated in Table 1. Table 1: Naming Convention for States The candidate metrics for each possible current state would be the sum of the corresponding branch metrics and the previously accumulated metric associated with s h (n - 1). For each current state, there are two possible previous states. For each current state, the previous state which gives the smallest candidate metric is selected as the predecessor state, and the candidate metric becomes the accumulated metric for that current state. Thus, for current state 0 (i.e., there will be two hypothetical sequences {s h (n - 1) = B, s h (ή) = -9} or {s h (n - 1) = -B, s h (n) = B}, denoted by hypotheses h = 00 and h = 10. This gives rise to two candidate metrics for current state 0: C n) = A 0 (n - 1) + M n) (4) C I0 (n) = A,(n - 1) + M l0 (n). (5) The smaller of these two candidate metrics gives the accumulated metric for current state 0. The corresponding previous state becomes the predecessor state to state 0 at time n: 1. If C 10 (n) < Qo(n). A 0 ( ) = C lQ (n) 2. If oo(n) < C, 0 (n), A 0 (n) = C ∞ (ri) A similar procedure is applied to current state 1 (i.e., s(ή) = -B), in which case the two hypotheses are Λ = 01 and h = 11. For each n, four hypothesized received signal values must be computed according to equation (2). Computing each hypothesized value r h ( ) involves two multiplication operations. Each of these multiplication operations involves the product of one of the channel taps and a hypothetical symbol value. If B is set to + 1, the multiplications become simply sign changes. However, if amplitude modulation is used, this is not possible. Also, suppose symbol values can be normalized to g J 8 r (i.e., 8PSK modulation). In this case, the necessary multiplications can not be implemented as simple sign changes. One way to increase the throughput over a digital channel is to allow each transmitted symbol to take on more than two values. In general, each symbol might be chosen from a set of M possible values {B l5 B 2 , ..., B M } thereby increasing the number of bits per symbol. The complexity of the conventional implementation of the MLSE equalizer increases exponentially with the number of allowed symbols (i.e., with M). Specifically, with "L" channel taps, the number of multiplications needed for the conventional implementation of the equalizer is proportional (proportionality constant greater than one) to M L_1 . Even with moderate values for M and L (e.g., 8 and 5 respectively), it is impractical to implement the equalizer in grand purpose DSPs with low power consumption. The trend in power sensitive applications is to move away from DSPs toward ASICs. ASICs can be optimized for performing one task with low power consumption and small size (i.e. , small gate count). Implementing multipliers in an ASIC is much more expensive (in terms of power consumption and gate count) than implementing circuits for addition or subtraction. Therefore, it is highly desirable to avoid many of the multiplications associated with the conventional implementation of MLSE equalizers. Because of the trend toward increasing the number of required multiplication operations and due to the fact that technology is moving away from DSPs, where multiplication operations are easy, toward ASICs, where multiplications are relatively expensive, it is desirable to reduce the number of multiplications actually performed by the MLSE. SUMMARY This disclosure concerns demodulation of radio signals modulated with M-ary modulation in the presence of intersymbol interference distortion. The invention presents a method for reducing the number of multiplications needed to implement an MLSE equalizer for signals modulated with M-ary modulation. In exemplary embodiments of the present invention, the number of multiplications is reduced by pre-computing certain values needed for the determination of the branch metric and storing these pre-computed values in a product table. When a branch metric computation is to be made, whether it is an Euclidean branch metric computation or an Ungerboeck branch metric computation, certain multiplication operations are replaced by simple table look-up operations. As a result, the power consumption and size of the equalizer are, reduced. Any receiver that demodulates signals that are modulated with M-ary modulation can be implemented using the instant invention. The resulting demodulator will have a lower complexity than existing demodulators. BRIEF DESCRIPTION OF THE DRAWINGS The above objects and features of the present invention will be more apparent from the following description of the preferred embodiments with reference to the accompanying drawings, wherein: Figure 1 illustrates a radio communication system within which the techniques according to the present invention can be implemented; Figure 2 illustrates a functional block diagram of the baseband processor of Figure i; Figure 3 illustrates a functional block diagram of the transmission function of Figure 1; Figure 4 illustrates a system for computing an Euclidean branch metric within which the techniques according to the instant invention may be implemented; Figure 5 illustrates a functional block diagram of a filter used to compute an Euclidean metric according to the prior art; Figure 6 illustrates a product table for the Euclidean metric according to one embodiment of the present invention; Figure 7 illustrates a functional block diagram of the filter for computing the Euclidean metric according to one embodiment of the present invention; Figure 8 illustrates a system for computing an Ungerboeck branch metric within which the techniques according to the instant invention may be implemented; Figure 9 illustrates a functional block diagram of a conventional filter used to compute the Ungerboeck metric according to the prior art; Figure 10 illustrates a product table for the Ungerboeck metric according to one embodiment of the present invention; and Figure 11 illustrates a functional block diagram of the filter for computing the Ungerboeck metric according to one embodiment of the present invention. DETAILED DESCRIPTION Figure 1 illustrates a radio communication system within which the present invention may be implemented. In Figure 1, a radio transmitter and receiver for a radio communication system are provided. The radio communication system may operate using FDMA, TDMA, or CDMA, or some combination thereof. A transmitter has a digital symbol generator 102 which receives an information carrying signal 101 and generates a corresponding digital symbol sequence, S. The symbols S are subjected to digital-to- analog (D/A) conversion, modulation, pulse shape filtering and amplification, and are transmitted as analog signal Yby digital transmitter 103 according to known techniques. Signal Y travels through the radio channel and is intercepted by the antenna 104 at the receiver. Thermal noise n is also intercepted by the antenna 104. Radio unit 105 amplifies, down-converts, and filters the received signal according to known methods to produce an analog output. This analog output is coupled to an A/D converter 106 which converts the analog signal into a received signal sample stream r(kT s ), where T s is the sample period, and k is an integer counter. The sampling period T s may be less than the symbol period T. The received signal sample streams are collected in processor 107, which processes this stream to produce an estimate of the transmitted digital symbol stream S. In later descriptions, transmission function 109 is used to refer to the signal path through digital transmitter 103, the radio transmission channel 105, and A/D 106 collectively. The transmission function 109 produces the received signal sample stream r(kT s ) which is sent to processing unit 107 where it is processed in accordance with the present invention. A functional block diagram of the baseband processing unit 107 is illustrated in Figure 2. The received signal sample stream r(kT s ) is coupled to a signal pre-processor, or sync, 206 where the received signal sample stream is correlated with a known timing/synchronization sequence according to known techniques. For the case of symbol- spaced demodulation, if the sample period T s is less than the symbol period T, the signal pre-processor 206 performs a decimation of the received signal sample stream r(kT s ) to produce one sample per symbol, designated as r(n). For fractionally-spaced demodulation, more than one sample per symbol is generated. Estimating circuit 202 produces channel tap estimates c(τ) which are used to model the radio transmission channel according to known techniques. This might involve an initial channel estimation period followed by a tracking period. The channel tap estimates c(τ) are coupled to the input of the branch metric processor 203. The branch metric processor 203 is coupled to a sequence estimation processor 204 which provides an estimate of the digital symbol stream S. The transmission function 109 is illustrated in more detail in Figure 3, where for simplicity, the number of received antennas is restricted to one. One skilled in the art will appreciate that the present invention may also be used for the case where there are two or more antennas. In Figure 3, the symbol sequence S is input to the digital transmitter 103 which transmits analog signal 7. The analog signal Y propagates through a radio transmission channel to the radio unit 105. Radio channel 301 may introduce fading and time dispersion. Omnipresent thermal noise n is also received. Radio unit 105 amplifies, down-converts, and filters the received signal according to known techniques to produce an analog signal. This analog signal is coupled to an A/D 106 which converts this analog signal into the received signal samples r(kT s ). In an MLSE equalizer, all possible transmitted symbol sequences S are effectively considered. In one implementation, hypothesized symbol values s h (n) are filtered by channel tap estimates c(τ) to produce hypothesized received samples r h (n). The difference between the hypothesized r h (n) and the actual r(n) received signal sample stream, referred to as the hypothesis error e(n), gives an indication of how good a particular hypothesis is. The squared magnitude of the hypothesis error is used as a metric to evaluate a particular hypothesis. The metric is accumulated for different hypotheses for use in determining which hypotheses are better using the sequence estimation algorithm. This process may be efficiently realized using the Viterbi algorithm. A description of the Viterbi algorithm can be found in G. Forney, Jr. , "The Virterbi Algorithm, " Proceedings of the IEEE, vol. 61, no. 3, March 1973, pp. 267-278. As will be appreciated by one skilled in the art, other sequence estimation algorithms may also be used. In an MLSE equalizer, there are states associated with different transmitted sequence hypotheses s h (n). At a given iteration, there are previous states, each of which is associated with an accumulated metric. Each pairing of a previous state with a current state results in a branch metric M h (n). The candidate metric for a current state is then the sum of this branch metric M h (n) and the previously accumulated metric. For each current state, the previous state which gives the smallest candidate metric is selected as the predecessor state, and the smallest candidate metric becomes the accumulated metric for the current state. The branch metric can be expressed as: where N.-l r /,(") = Σ ( k ) S n (" " *)• (7) <t=0 The channel tap estimates are designated by c(τ) where τ is the delay (i.e. τ = 0 is the main ray, τ = 1 is the first echo, etc). N, is the number of channel taps estimated. For each n, the hypothesized received signal r h (n) must be computed according to equation (7). In the most general case, computing each hypothesized received value r h (n) involves N t complex multiplications (i.e. 4N, real multiplications). Each of these complex-valued multiplications involves the product of one of the estimated channel taps and a hypothesized transmitted signal. Figure 4 illustrates a system for computing an Euclidean branch metric M h (ri) within which the techniques according to the instant invention may be implemented. In Figure 4, the hypothesized sequence of symbols s h (n) which is generated by symbol sequence generator 410 is coupled into filter 400 to produce the hypothesized received samples r h (ri). The difference between the hypothesized received samples r h (n) and the actual received signal sample stream r(n) is the hypothesized error e(n). The squared magnitude of the hypothesized error is performed by unit 403 to produce the branch metric M h (ri). A functional block diagram of a conventional filter for computing an Euclidean branch metric is illustrated in Figure 5. In Figure 5, N, complex multiplications are performed to compute each r h (ri). If the transmitted symbols are restricted to be in a set of M possible values, {B B 2 ,..., B M }, the present invention provides a method for implementing the filter 400 that avoids performing any multiplications. With an Euclidean metric, assume that each hypothesized transmitted symbol s h (ri) is in the set {-9,, B 2 ,... , B M }. The first term in the sum in equation (7) is in the set {-5 ; c(0)}, =1 . All the members of this set can be pre-computed and stored in the first column of an M x N table (see Figure 6). Th j-th column of this table, corresponding to estimated channel tap c(j - 1), stores all the possible values of (s h (.)c(j - 1)), i.e. {B c(j - 1), B 2 c(j - 1),..., 2V0 - !)}• Each hypothesized received value r h (n) can then be computed by simply adding the appropriate entries from this product table (see Figure 7). As a concrete example, consider a two-tap channel (c 0 , c.) with 8PSK modulation i.e. , (n)e % \ . In this case, the first column of the table illustrated in Figure 6 will r J«=o have 8 entries, corresponding to channel tap c 0 , as: Similarly, the second column of the table in Figure 6 will have 8 entries, corresponding to channel tap c,, as: Symmetry can be used to reduce storage requirements. First, negative symmetry can be used to halve the items stored. Basically, Therefore, only values for 0 = 0, 1, 2, 3 need to be stored. Furthermore, ^- 2 ,2π 0 e 8 c 0 = j e 8 c 0 (11) and 2π - J — 3 e 8 c, J * c 0 (12) Thus, by switching real and imaginary parts and negating the new real part, one only needs to store values for 0 = 0 and 1. For 0 = 0, no multiplication is necessary since Thus, one can simply store c 0 and <?' n/4 c 0 and derive the other values using logic that negates and possibly switches real and imaginary parts. This savings results from the quadrantile symmetry in the 8PSK signal constellation. The Ungerboeck metric is obtained from the Euclidean metric M h (n) of equation (3) in two steps. The first step is to expand M h (ri) to get M h (ή) = A(ή) + B(n) + C(n) + D(n), (14) where A(n) = \r(n)\ 2 (15) (n)} -2Re{r(n)c * l s h * («-l)} (16) C(n) = \c 0 \ 2 \s h (n)\ 2 + | 2 ("-D| 2 (17) E>(»)=2Re{c 0 c; s h (tήsKn-l)}. (18) The Ungerboeck method drops the term A(n), which is common to all hypotheses. The second step combines terms proportional to s h * (n) from different iterations. At iteration (n + 1), the terms become: (»)} (19) C(n+ \) = |c 0 | 2 |^+l)| 2 + \ Cl \ 2 \s k {n)\ 2 (20) D(n+ 1) = 2Re{c < f] s h (n+ \)s h («)}. (21) Thus, there are terms proportional to s h * (n) in both iterations. These terms can be combined by defining a new metric, M h (n) , as M A (n) = Re {s„' (n) [-2z(n) + q h (n) + q x s h (n-l)\} (22) where z(n) = c ti ) + c r(n + 1) (23) = 2c Q C j (25) Here, q 0 and qi are referred to as s-parameters. Thus with an Ungerboeck metric, the branch metric M h (ri) is defined as: M h (n) = Re{s h n)[-2z(n) + t h (n)]}, (26) where Figure 8 illustrates a system for computing an Ungerboeck branch metric within which the techniques according to the instant invention may be implemented. In Figure 8, the hypothesized symbols s h (n) are coupled into the filter 600, with impulse response q(τ , to produce the t h (n). q(τ)'s are determined from the estimated channel taps c(τ)'s; hence, q(τ)'s do not depend on the hypothesized symbols s h (ή). The current state of the art for implementing a filter of Figure 8 requires N, complex multiplications, as illustrated in Figure 9. Assume that each hypothesized transmitted symbol s h (n) is in the set {B B 2 ,..., B M }. The first term in the sum in equation (27) is in the set {R,<7(0)}, =1 . All the members of this set can be pre-computed and stored in the first column of an M x N r table (see Figure 10). The 7-th column of this table, corresponding to q(j - 1), stores all the possible values of s h (.)q(j - 1), i.e., {B { q(j - 1), B 2 q(j - 1),..., B^tf - 1)}. Each hypothesized t h (n) can then be computed by simply adding the appropriate entries from this product table (see Figure 11). As described earlier, quadrantile symmetry can be used to reduce the number of items stored in each column to two. The partial Ungerboeck metric also has terms like q { set forth in the previous section; hence, the present invention can be used to reduce the number of multiplications needed to implement a demodulator that uses the partial Ungerboeck metric. The partial Ungerboeck metric is disclosed in U.S. Patent 5,499,272 to Bottomley. For a multi-channel MLSE with Euclidean metric, the transmitted symbol stream is received via several channels. With two channels, there would be two received signals r n) and r n), corresponding to channels a and b respectively: rjn) = c a( β(n) + c al s(n - I) + ηjn) (28) r b (n) = Cκfi(n) + c bl s(n - I) + η b (n). (29) Corresponding to each received signal and each hypothesized symbol sequence, there would be a branch error signal: ejn) = r n) - r n) (30) ejn) = r b (n) - r bh (n), (31) where r n) and r bh (n) are the hypothesized received signals for channel a and channel b (both corresponding to the same hypothesized sequence {s h (n - 1), s h (n - 1)}: r n) = c a( βjn) + C al s h (n - 1) (32) rjn) = c b( β h (n) + C bl s h (n - 1). (33) Note that one branch metric for channel a is ejn)e * jn), and one branch metric for channel b is e n)e * jn). Different branch metrics for the joint equalization of the outputs of both channels can be obtained by combining ejn) and ejn) in different ways. Several interesting branch metrics for the joint equalization problem can be expressed in the following form: M h (n) = E h (n) H QE h (n), (34) where β a ( n ) ) = (35) e n) and Q is a two by two weighting matrix. Any branch metric of the form given by equation (34) can be computed efficiently using two pre-computed tables. Each hypothesized received signal rjn) or rjn) can be computed without performing a multiplication operation by using two pre-computed tables. It would be appreciated by one skilled in the art how the present invention can be used when more than two channels are received. Similarly, it would be appreciated by one skilled in the art how the present invention can be used when the symbols can take on one of M possible values. In metric combining, the weighting matrix Q is a diagonal matrix. The diagonal entries of this matrix are the weighting coefficients for each channel. In Interference Rejection Combining (IRC), the weighting matrix Q is the inverse of the correlation matrix of the impairment. Specifically, the impairment vector i(n) may be defined as and let R ηη = E{i(n)i(n)"}. In IRC, the weighting matrix Q is simply Q = R ηη . IRC is described more fully in U.S. Patent No. 5,680,419 which is incorporated by reference herein. For a multi-channel MLSE with Ungerboeck metric, consider the case with two channels; hence, for each "n" there would be two received samples r n) and r n) as given by equations (28)-(29). In this case, the Ungerboeck branch metric is given by: M h (n) = Re{s^(n)[-2z(n) + q 0 s h (n) + q χ s h (n - 1)]} ( 37 ) where z(n) is obtained from both received signals and both channel taps, and (q 0 , q ) are obtained from both channel taps and the inverse of the impairment's correlation matrix (see US Patent 5,680,419). It is important to note that (q 0 , #,) do not depend on the hypothesized symbols and are fixed. From equation (37) , it is evident that computing M h (n) in the multi-channel case requires computing tjn) = q$Jn) + q^Jn - 1). (38) Computing t A (n) would normally require two multiplications. These multiplications can be avoided by pre-computing the values {s<7 0 , sqj} for possible symbol values s and storing them in a table in memory. Any hypothetical t Λ can then be computed by adding the appropriate entries from this pre-computed table. It would be appreciated by one skilled in the art how the present invention can be used when more than two channels are received. Similarly, it would be appreciated by one skilled in the art how the present invention can be used when the symbols can take on one of M possible values. For the case of fractionally-spaced MLSE equalization, a (772) fractionally-spaced MLSE equalizer will receive two samples in each sampling interval of length T. Let rjn) represent the even samples of the received signal, and let rjn) represent the odd samples of the received signal. Note the rjn) and rjn) are symbol-spaced. In a particular implementation of the fractionally-spaced MLSE equalizer, rjn) and rjn) are treated as two separate received signals (resulting from the same transmitted symbol stream). According to this exemplary embodiment, the two-input MLSE equalizer of the last section is used to detect the transmitted symbol stream. The techniques disclosed above for reducing the complexity of the diversity of the MLSE equalizer are obviously applicable to this implementation of the fractionally-spaced MLSE equalizer. It would be appreciated by one skilled in the art how the present invention can be used with other forms of fractionally-spaced equalization. For example, in one particular realization of the fractionally-spaced equalizer, a pre-whitening filter is applied to each sub-sampled sequence (see Hamied and Stuber, "A Fractionally Spaced MLSE Receiver, " IEEE 1995). This particular formulation is very similar to metric combining. In yet another formulation of the fractionally-spaced equalizer, an Ungerboeck metric is used; hence, the present invention can again be used to reduce the complexity of this equalizer. It would also be appreciated by one skilled in the art how the present invention can be used when more than two samples are received per symbol. For a MLSE with a time- varying channel, at each iteration, a different set of channel taps might be considered. With the Euclidean metric, the hypothesized received signal is expressed as: rjn) = c 0 (n) s h (n) + c, (n) sjn - 1) (39) In this case, at iteration "n", the table might be updated and used for computing all the different hypothesized received values at this iteration. A new table is computed for iteration "n + 1" and so forth. It would be appreciated by one skilled in the art how the present invention can be used when the Ungerboeck metric is used with a time-varying channel. The table would be updated every time the q s are updated. For demodulation of signals modulated using offset M-ary modulation, the present invention can be modified to reduce the complexity of the demodulator even further. In offset M-ary modulation, the transmitted symbols for even "n" are purely real, and the transmitted symbols for odd "n" are purely imaginary: where each B ; is purely real. Hence, s h (ri) can take one of 2M values . However, by pre-rotating the received signal τ( ) by j "n we can reduce the demodulation problem to demodulating purely real symbols where each real symbol is in the set {#,}, =! • With this pre-rotation, we would only need to store the product of the channels taps and each of {R,}, =1 's. It will be apparent to one of ordinary skill in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed description of well-known methods, devices, and circuits are omitted so as not to obscure the description of the present invention with unnecessary details. Many variants and combinations of the techniques taught above may be devised by a person skilled in the art without departing from the spirit or scope of the invention as described by the following claims.

Claims: WHAT IS CLAIMED IS: 1. A method for determining a branch metric in a maximum-likelihood- sequence-estimation equalizer which receives at least one antenna signal modulated with M-ary modulation, said method comprising the steps of: pre-computing values equal to a product of a complex number and a hypothetical symbol value; storing said pre-computed values in a product table; adding select pre-computed values from said product table to produce a result; and determining said branch metric using said result. 2. The method of claim 1 wherein said complex number corresponds to a channel coefficient. 3. The method of claim 1 wherein said complex number corresponds to a s-parameter. 4. A filter in a maximum-likelihood-sequence-estimation equalizer, which demodulates at least one received radio signal modulated with M-ary modulation, for producing a hypothesized received signal sample to be used for determining a branch metric, said filter comprising: a memory for storing a product table having pre-computed values equal to a product of a channel tap estimate and a hypothetical symbol value for different iterations; and an adder for adding select entries from the product table to produce a hypothesized received signal sample. 5. A filter in a maximum-likelihood-sequence-estimation equalizer for M-ary modulation, said filter comprising: means for pre-computing a plurality of possible values to be used in determining a branch metric; a memory for storing said plurality of pre-computed possible values; and means for combining select pre-computed values from said memory. 6. The filter according to claim 5 wherein said branch metric is an Ungerboeck branch metric. 7. The filter according to claim 5 wherein said branch metric is an Euclidean branch metric. 8. The filter according to claim 5 wherein said branch metric is a partial Ungerboeck branch metric. 9. A method for computing a branch metric in maximum-likelihood-sequence- estimation equalizer which demodulates M-ary modulated signals, said method comprising the steps of: pre-computing a plurality of possible values to be used in the branch metric computation; storing said plurality of pre-computed possible values in a memory; adding select pre-computed values from said memory; and computing said branch metric using said added select pre-computed values. 10. The method according to claim 9 wherein said branch metric is an Ungerboeck branch metric. 11. The method according to claim 9 wherein said branch metric is a partial Ungerboeck branch metric. 12. The method according to claim 9 wherein said branch metric is an Euclidean branch metric. 13. A method for computing a branch metric in a multi-channel maximum- likelihood-sequence-estimation (MLSE) equalizer which demodulates M-ary modulated signals, said method comprising the steps of: pre-computing a plurality of possible values for each channel in said multichannel MLSE to be used in the branch metric computation; storing said plurality of possible values for each channel in separate product tables; adding select values from said separate product tables; and computing said branch metric using said added select values.

Inventors: BOTTOMLEY GREGORY E, CHENNAKESHU SANDEEP, ZANGI KAMBIZ, BOTTOMLEY, GREGORY, E., CHENNAKESHU, SANDEEP, ZANGI, KAMBIZ
Applicants: ERICSSON INC, ERICSSON INC.
Application year: 1999
Main classification: H04L25
IPC codes: H04L25, H04L27