# Patent

## Title
Method and apparatus for equalization and decoding in a wireless communications system including plural receiver antennae

## Abstract

Joint equalization and decoding techniques to eliminate the division operations in the Frequency domain Equalizer (FEQ) of an Orthogonal Frequency Division Modulation (OFDM) receiver by incorporating the magnitude of the channel impulse response estimates into the decision metrics in the decoder. This includes methods for both hard-decision symbol-by-symbol detection and soft-decision decoding using the Viterbi algorithm. Further, Channel State Information (CSI) is incorporated to improve the performance of the receiver. The disclosure also introduces a computationally efficient bit-by-bit piecewise approximation technique incorporating CSI to implement decoder decision metrics. Finally, an efficient implementation technique for multiple receiver antennae using Maximum Ratio Combining (MRC) and Viterbi decoding with CSI is disclosed.

## Background
RELATED APPLICATIONS
This application claims priority benefit under 35 U.S.C. § 119(e)(1) to U.S. Provisional Application No. 60/357,317, filed on Feb. 15, 2002, entitled “ON DIVISION-FREE FREQUENCY DOMAIN EQUALIZATION AND VITERBI DECODING USING CHANNEL STATE INFORMATION”, which is incorporated herein fully by reference.


TECHNICAL FIELD
The invention generally relates to symbol modulated communication techniques, and more particularly, to a method and apparatus for equalization and decoding in a wireless communications systems including plural receive antennae.
BACKGROUND
The past few years has witnessed the ever-increasing availability of relatively cheap, low power wireless data communication services, networks and devices, promising near wire speed transmission and reliability. One technology in particular, described in the IEEE Standard 802.11a (1999) and Draft IEEE Standard 802.11g (2002) High Rate PHY Supplements to the ANSI/IEEE Standard 802.11, 1999 edition collectively incorporated herein fully by reference, has recently been commercialized with the promise of 54 Mbps effective bandwidth, making it a strong competitor to traditional wired Ethernet and the more ubiquitous “802.11b” or “WiFi” 11 Mbps mobile wireless transmission standard.
IEEE 802.11a and 802.11g or “802.11a/g” compliant transmission systems achieve their high data transmission rates using Orthogonal Frequency Division Modulation or OFDM encoded symbols mapped up to 64 QAM multicarrier constellation. Before final power amplification and transmission, the multicarrier OFDM symbol encoded symbols are converted into the time domain using Inverse Fast Fourier Transform techniques resulting in a relatively high-speed time domain signal with a large peak-to-average ratio (PAR). OFDM is also used in fixed broadband wireless access systems such as proposed in IEEE Standard 802.16a: Air Interface for Fixed Broadband Wireless Access Systems Part A: Systems between 2 and 1 GHz, Draft working document, February 2002, (“802.16a”) which is incorporated herein fully by reference
The receiver portion of a wireless communications systems compliant with the aforementioned 802.11a/802.11g and 802.16a standards generally includes an RF receiving unit to handle RF downconversion and filtering of received signals in one or more stages and a baseband processing unit to demodulate OFDM encoded symbols bearing the data of interest. FIG. 2 illustrates a known receiver baseband processing unit 200, a channel model 201 and a corresponding encoding transmitter baseband processor 260 to conceptually illustrate the relationship between a received OFDM symbol Yn in relation to its originally transmitted counterpart OFDM symbol Xn and the pre FEC version {tilde over (X)}n, taking into account the channel impulse response h(t) and intervening noise v(t) (Additive White Gaussian Noise or AWGN in particular), assuming that the channel impulse response h(t) is shorter than the guard interval (using e.g. cyclic prefix). To ease understanding, conventional RF upconversion transmission, and downconversion interposing the baseband processing units 200 and 260, are omitted from FIG. 2. More specifically, the channel model 201 illustrates the following relationship:

Yk,n=gnHk,n·Xk,n+gnvk,n  (0)

where Xk,n is the transmitted symbol of the kth sub-carrier during the nth OFDM symbol, Hk,n is the channel response corresponding to the kth subcarrier during the nth OFDM symbol, and vk,n is the AWGN in the kth sub-carrier during the nth OFDM symbol. Here, gn represents the gain compensation for the baseband signal conveying the symbol Yn provided by an automatic gain control unit (not shown) to maximize the dynamic range and performance of analog to digital conversion. Here, assume gn=1 since, in the single receive path case, gn is common to all subcarriers and will not therefore affect viterbi decoder performance.

The digital form of each Yn OFDM symbol presented in the frequency domain is recovered after conventional analog-digital conversion and fast fourier transformation by the ADC 205 and the FFT unit 208 respectively of the received time domain analog baseband signal. Thereafter, demodulation (phase rotation) and Frequency domain EQualization (FEQ) through a FEQ unit 220 is performed on the Fast Fourier Transform (FFT) output to compute {overscore (X)} (Equation 1 below) before sending it to the viterbi decoder 230 to estimate the most likely transmitted symbol {circumflex over (X)}n at the transmitter. That is, the FEQ 220 computes:




  
    
      
        
          
            X
            _
          
          
            k
            ,
            n
          
        
        =
        
          
            
              Y
              
                k
                ,
                n
              
            
            
              
                H
                _
              
              
                k
                ,
                n
              
            
          
          =
          
            
              
                
                  H
                  _
                
                
                  k
                  ,
                  n
                
                *
              
              ·
              
                Y
                
                  k
                  ,
                  n
                
              
            
            
              
                
                
                  
                    H
                    _
                  
                  
                    k
                    ,
                    n
                  
                
                
              
              2
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




where: 1) {overscore (X)}k,n is the demodulated symbol of the kth sub-carrier during the nth OFDM symbol; 2) Yk,n is the received noisy symbol of the kth subcarrier during the nth OFDM symbol; and 3) {overscore (H)}k,n is the channel estimate corresponding to the kth subcarrier during the nth OFDM symbol.

In the receiver of an 802.11a/g OFDM system, for example, this operation has to be performed for each of the 52 subcarriers of the OFDM symbol Yn. In a straightforward implementation, the computation requires  ̃2 complex multiplications and one real division per sub-carrier. This is computationally more intensive than implementing the FFT that requires 96 complex multiplications per 52 carriers. In particular, the implementation of a division operation can be at least 3 ̃5 times more complex than that of a multiplication operation. Thus, it is desirable to eliminate the division or scaling operations required in the FEQ unit 220.
As shown in FIG. 2, the output of the FEQ unit 220 is typically sent to a Viterbi decoder 230 to recover or estimate, based on historical analysis of the traffic in the channels, the most likely transmitted sequence of data symbols or bits. Hard symbol by symbol decisions (via slicer 225) on the output of the FEQ can also be fed back to the channel estimator 210 to improve the channel estimates {overscore (H)}n.
In a conventional FEQ implementation such as shown in FIG. 2, the received symbol for each carrier, Yk,n is divided by its corresponding channel estimate, {overscore (H)}k,n that can vary from sub-carrier to sub-carrier in a frequency selective fading environment. Thus, the expected signal to noise ratio per symbol may be varying from sub-carrier to sub-carrier and may deviate significantly from the average. This can reduce the performance of a conventional Viterbi decoder (such as decoder 230) that derives its optimal branch metrics assuming that all the symbols have the same expected Additive White Gaussian Noise (AWGN) noise power. Thus, it is desirable to incorporate the so called Channel State Information (CSI) derived from the channel estimates into the Viterbi decoder metrics to minimize this effect.
It would also be desirable to simplify the configuration of the viterbi decoder and branch metric computation in particular without increasing complexity over conventional designs while retaining these CSI performance benefits.
Any OFDM systems operating in fading channels, including 802.11 a/g and 802.16a communications systems, are susceptible to wireless channel fading and multipath interference, particularly in mobile deployments where intervening terrain and buildings block or alter line-of-sight reception. To combat this, known receiver designs may employ plural geographically dispersed antennae in the hopes that at least one of the antennae can avoid the characteristic multipath and fading. One common type of plural antennae receiver is called a selection diversity receiver or simply a diversity receiver, and includes logic to ascertain which one of the RF receive pathways is receiving a “best” version of an incident signal (based on e.g. Received Signal Strength Indication (RSSI) analysis), and will select this “best” signal for downconversion and demodulation decoding while disregarding the remaining received signals. Typically, this involves switching the RF receive pathway or channel bearing this “best signal” into communication with the RF downconversion and baseband processing units while isolating the remaining pathways. Performance gains here remain dependent on individual antennae configuration and placement, but is invariably improved over conventional single channel designs.
Another form of the plural antennae receiver offering significant SNR benefit is the Maximum Ratio Combining (MRC) receiver, in which all the plural received signals are utilized. In particular, the received symbols within the plural signals borne by the RF receive pathways are co-phased to provide coherent voltage addition and are individually weighted to provide optimal SNR. See e.g. T. S. Rappaport, Wireless Communications, Prentice Hall, Upper Saddle River, N.J. 1996, pages 326–332 which is incorporated herein fully by reference. As such, the baseband processing unit, especially the FEQ and Viterbi decoder of an MRC receiver is viewed as being especially complex, and so any reduction in such complexity, especially where performance is not affected or even is improved, is desirable.
SUMMARY OF THE INVENTION
To address these and related desires, the present invention is directed in part to improved equalization and Viterbi decoding in an MRC receiver environment through utilizing channel state information (CSI). CSI may be conveniently ascertained through channel estimates of the inbound symbol(s) within the baseband signal of interest.
The complexity associated with MRC capable Viterbi decoding consistent with the present invention can be reduced by selectively employing certain joint equalization and/or decoding and piecewise approximation techniques. In accordance with one or more disclosed embodiments, joint decoding and equalization aspects are applicable to both hard and soft-decision Viterbi decoding implementations, and serve to eliminate the division operations heretofore believed required by a distinct equalizer. To further simplify overall complexity, branch metric computation therein may conveniently employ the use of computationally efficient piecewise linear approximations.
Additional aspect features and advantages of this invention will become apparent from the following detailed description of embodiments thereof, which proceeds with reference to the accompanying drawings, in which like reference numerals indicate like parts or features.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a simplified block diagram of a transceiver capable of implementing one or more features of the present invention.
FIG. 2 is a block diagram of a known receiver baseband processing unit.
FIG. 3 is a block diagram of a receiver baseband processing unit according to an embodiment of the invention.
FIG. 4 is a block diagram of a receiver baseband processing unit according to an alternative embodiment of the invention.
FIG. 5 illustrates branch metric approximation according to an embodiment of the present invention.
FIG. 6 depicts decision-making of the slicer shown in FIGS. 4 and 5 consistent with the disclosed embodiments of the invention.
FIG. 7 is a block diagram of a hard-decision slicer capable of undertaking the decision-making illustrated in FIG. 6.
FIG. 8 is a simplified block diagram of a known receiver baseband processing unit incorporating MRC.
FIG. 9 is a simplified block diagram of a MRC receiver baseband processing unit including AGC adjustment according to an embodiment of the invention.
FIG. 10 is a simplified block diagram of an MRC receiver baseband processing unit according to another embodiment of the invention.
FIG. 11 is a simplified block diagram of a diversity reception compatible transceiver capable of implementing one or more features of the present invention.



DETAILED DESCRIPTION OF THE EMBODIMENTS
The first section below describes joint equalization and Viterbi decoding consistent with several disclosed embodiments of the invention, including those incorporating CSI and hard-decision decoding features. Section 2 describes complexity reduction techniques for computing the branch metrics in a Viterbi decoder with CSI. Finally, Section 3 describes Viterbi decoder complexity reduction in an MRC plural receive antennae environment.
Section 1—Joint Equalization and Decoding
We propose eliminating the division operations in Equation (1) discussed above and demodulate the received symbols using Method I, in rectangular form:

Zk,n=H*k,n·Yk,n,  (2)

or, Method II, in polar form:

Pk,n=e−jΦk,n·Yk,n,  (3)

where

{overscore (H)}k,n=|{overscore (H)}k,n|ejΦk,n.  (4)

The in-phase and quadrature demodulated symbols are the real and imaginary parts of {overscore (X)}k,n (i.e. Re{{overscore (X)}k,n} and Im {{overscore (X)}k,n}) respectively. The following discusses the changes required in the conventional soft decision Viterbi decoder (such as decoder 230 shown in FIG. 2) as well as the hard-decision symbol-by-symbol (such as the slicer 225 shown in FIG. 2).
Given the proposed demodulation schemes given above, the decision or branch metrics in the Viterbi decoder have to be modified accordingly. We again note that at the receiver, the received symbol, Yk,n, can be defined in terms of a channel model (such as the channel model 201 depicted in FIG. 2) such that

Yk,n=Hk,n·Xk,n+vk,n,  (5)

where Xk,n is the transmitted symbol of the kth sub-carrier during the nth OFDM symbol, Hk,n is the channel response corresponding to the kth subcarrier during the nth OFDM symbol, and vk,n is the AWGN in the kth sub-carrier during the nth OFDM symbol. As noted above, gain compensation need not be considered in the single carrier case with respect to Viterbi decoding, and is thus omitted in this version of Equation 0.

In the following, we derive the corresponding branch metrics for the two demodulation methods proposed above in relation to Equations (2) and (3). To simplify the notations used, we assume that the channel estimate is perfect (though shown in the FIGS. otherwise). That is,

{overscore (H)}k,n=Hk,n  (6)

and we denote the real and imaginary parts of a complex quantity as

{Hk,n}≡Hk,n,0,I{Hk,n}≡Hk,n,1.  (7)

We turn first to the Viterbi decoder branch metric computation for demodulation Method I using rectangular form. Substituting Equations 5 and 6 into Equation 2, we arrive at

Zk,n=H*k,n·Yk,n=|Hk,n|3Xk,n+H*k,nvk,n  (8)

and the demodulated in-phase and quadrature symbols,

{Zk,n}≡Zk,n,0=|Hk,n|2Xk,n,0+Hk,n,0·vk,n,0+Hk,n,1·vk,n,1  (9)

and

I{Zk,n}≡Zk,n,1=|Hk,n|2Xk,n|2Xk,n,1+Hk,n,0·vk,n,1−Hk,n,1·vk,n,0.  (10)

In a Viterbi decoder, the decision metrics used to determine the most likely transmitted code sequence or symbol are the path metrics that are the accumulated branch metrics corresponding to the state transistions in the paths. The branch metric for each transition, derived for an Additive White Gaussian Noise (AWGN) channel, is defined as the minimum Euclidean distance between the received signal and the codeword associated with the corresponding transition. That is, the branch metrics corresponding to the Equations 9 and 10, BMk,n,i,

BMk,n,i=(Zk,n,i−|Hk,n|2·X)2=Zk,n,i2−2Zk,n,i·|Hk,n|2·X+(|Hk,n|2·X)2,  (11)

where iε{0,1}, and Xε{±1} for QPSK, Xε{±1, ±3} for 16-QAM, and Xε{±1, ±3, ±5, ±7} for 64-QAM constellations. Since the term (Zk,n,t2) is common to all the branch metrics at each stage of the Viterbi decoding process, this term can be subtracted from all the path metrics without changing the MLSE (described below) comparison results. Thus,

BMk,n,t=−2Zk,n,t·|Hk,n|2·X+(|Hk,n|2·X)2  (12)

For QPSK, Xε{±1}, and the term (|Hk,n|2·X)2=|Hk,n|4 is common to all the branch metrics at each decoding stage. Thus, the term can be subtracted from all the path metrics of all the states without changing the comparison results. The scaling factor (2) can also be removed. Thus,

BMk,n,i=−Zk,n,i=−Zk,n,t·|Hk,n|2·X for QPSK.  (13)

We note that in a fading environment, the channel response Hk,n,i can change from sub-carrier to sub-carrier, and by using the above-derived demodulation methods, the AWGN noise in each sub-carrier symbol may no longer have the same expected power, even if E(v2k,n,i) values are the same. To properly normalize the noise power from sub-carrier to sub-carrier, phase demodulation should be performed relative to the magnitude of the channel response Hk,n. Namely, we define the relationship Wk,n,t=Zk,n,i/|Hk,n|, which, through substituting Equations (9) and (10) for Zk,n,0 and Zk,n,1 respectively, we obtain:




  
    
      
        
          
                        ⁢
            
              {
              
                W
                
                  k
                  ,
                  n
                
              
              }
            
          
          ≡
          
            W
            
              k
              ,
              n
              ,
              0
            
          
        
        =
        
          
            
              
              
                H
                
                  k
                  ,
                  n
                
              
              
            
            ·
            
              X
              
                k
                ,
                n
                ,
                0
              
            
          
          +
          
            
              (
              
                
                  
                    H
                    
                      k
                      ,
                      n
                      ,
                      0
                    
                  
                  ·
                  
                    v
                    
                      k
                      ,
                      n
                      ,
                      0
                    
                  
                
                +
                
                  
                    H
                    
                      k
                      ,
                      n
                      ,
                      1
                    
                  
                  ·
                  
                    v
                    
                      k
                      ,
                      n
                      ,
                      1
                    
                  
                
              
              )
            
            
              
              
                H
                
                  k
                  ,
                  n
                
              
              
            
          
        
      
    
    
      
        (
        14
        )
      
    
  
  
    
          
    
      
        (
        15
        )
      
    
  




From which, the Viterbi decoder branch metrics, BMk,n,i, can be derived as follows:

BMk,n,i=(Wk,n,i−|Hk,n|·X)2=Wk,n,i2−2Wk,n,i·|Hk,n|·X+(|Hk,n|·X)2,  (16)

where iε{0,1}, and Xε{±1} for QPSK, Xε{±1, ±3} for 16-QAM, and Xε{±1, ±3, ±5, ±7} for 64-QAM constellations. As before, the branch metric can be simplified to

BMk,n,t=−2Wk,n,t·|Hk,n|·X+(|Hk,n|·X)2 (with CSI),  (17)

and

BMk,n,t=−Wk,n,t·|Hk,n|·X for QPSK (with CSI).  (18)

Given that Wk,n,i=Zk,n,t/|Hk,n|, the branch metric incorporating CSI demodulation method I using rectangular form,

BMk,n,t=−2Zk,n,t·X+(|Hk,n|·X)2 (with CSI).  (19)

Again, for QPSK, Xε{±1}, and

BMk,n,t=−Zk,n,i·X for QPSK (with CSI).  (20)

We note that no approximation was assumed above. The division operations required by the FEQ are eliminated and the channel response estimates are incorporated into the Viterbi decoder decision metrics (in particular, the branch metrics) instead. However, we describe in Section 2 that by using a bit-by-bit piecewise branch metric approximation and incorporating CSI, the decoder complexity can be reduced significantly with very little practical performance loss.
However, first consider Viterbi decoder branch metric computation for demodulation Method II (using polar form). Substituting Equations 5 and 6 into Equation 3, we arrive at

Pk,n=e−Φk,n·Yk,n=|Hk,n|·Xk,n+e−jΦk,n·vk,n  (21)

In this case, the expected noise power in each sub-carrier is the same. Thus, as will be appreciated by those ordinarily skilled in the art, no normalization of the noise component with the channel estimates is required. Similar to demodulation method I described above, the branch metrics, BMk,n,i, can be expressed as:

BMk,n,t=−2Pk,n,t·|Hk,n|·X+(|Hk,n|·X)2 (with CSI),  (22)

where iε{0,1}, and Xε{±1} for QPSK, Xε{±1, ±3} for 16-QAM, and Xε{±1, ±3, ±5, ±7} for 64-QAM constellations, and thus

BMk,n,t=−Pk,n,i|Hk,n|·X for QPSK (with CSI).  (23)

We note that the derivation given above is exact and therefore will not compromise Viterbi decoder performance compared to that of a conventional receiver.
Turn now to the receiver baseband processing unit 300 according to an embodiment of the invention shown in FIG. 3 which incorporates joint equalization and decoding as noted above. Here, unlike the conventional receiver baseband processing unit 200 shown in FIG. 2, the division dependent FEQ unit 220 is eliminated, and equalization and decoding functions based in part on the channel estimates {overscore (H)}k,n,i are performed directly by the Viterbi decoder 330. A phase demodulator 360 issued to derive Zn and/or Pn as noted above in Equations 2 and 3. The branch metric computation unit 332 of the Viterbi decoder calculates the real (i=0) and imaginary (i=1) branch metric components (or BMi) for each subcarrier k of the nth received OFDM symbol, Yn, recovered by the FFF 208 using Equation 13 for QPSK rate symbol modulation or Equation 12 for higher rate symbol modulation (e.g. 16-QAM or 64-QAM) where reliance on CSI is not desired. Where CSI decoding improvements are desired, the branch metric computation unit calculates the BMi for each subcarrier k of the nth received OFDM symbol, Yn, using Equation 20 for QPSK rate symbol modulation, or Equation 19 for higher rate symbol modulation. Note that each dimension I and Q is handled separately as a consequence of the phase rotation provided by the phase demodulator 360.
Once each BMi is calculated by the branch metric computation unit 332 for the current symbol Yn, they are transferred to the Maximum Likelihood Sequence Estimation unit 334 (or “MLSE”), which performs conventional survivor path and path metric updating, as well as most likely path trace back to recover {circumflex over (X)}n. For more information regarding MLSE 334 operation and functions, see e.g. Lou, Hui-Ling “Implementing the Viterbi Algorithm”, IEEE Signal Processing Magazine, September 1995, pages 42–52 which is incorporated herein fully by reference.
The MLSE unit 334 estimates {circumflex over (X)}n representing the most likely symbol transmitted ({tilde over (X)}n). In view of known limitations of the Viterbi algorithm {circumflex over (X)}n may or may not be the same as {tilde over (X)}n. As shown in FIG. 3, Zn or Pn may also be fed to a hard-decision slicer 350 that, based on slicing rules detailed below with reference to FIGS. 6 and 7, will generate dec{{overscore (X)}n}which is turn sent to the channel estimator 310 to improve the channel estimates {overscore (H)}n+1. More detail on the functions and interactions of the dynamic slicer 350 will be discussed below with reference to FIGS. 6 and 7.
In practical implementation of the Viterbi decoder 330, the branch metrics may be quantized and the number of quantization bits minimized to minimize the complexity in the decoder. With the joint equalization and decoding scheme proposed above, the branch metrics become necessarily a function of the channel estimates {overscore (H)}k,n. Thus, the quantization noise of the branch metrics are affected by the quantization noise of the channel estimates. Furthermore, since the channel estimates change dynamically, these quantization levels should be determined dynamically in order to maintain or improve receiver performance.
To minimize the quantization noise for these channel estimates {overscore (H)}k,n, the maximum or average value of the channel estimates should be determined and normalized before subjecting to quantization. That is, comparison operations are needed in such case to find the maximum or average value, and division operations are required to implement the normalization prior to quantization. Furthermore, if the convolutional coder 262 encodes over the duration of a packet, all the channel estimates corresponding to the same packet duration should be subjected to the same normalization factor. This can significantly introduce delay in the decoder as the proper normalization factor can only be determined after the whole packet is received.
However, we note that in 802.11a/g or 802.16a compliant communications systems, the channels are quasi static so that we can approximate our search for the maximum or average by looking at the first transmitted OFDM. That is, we assume

Hk,0≈Hk,1≈Hk,2***,  (24)

and for the 802.11a system, we determine the normalization factor using the channel estimates for the 52 tones of the first transmitted OFDM symbols of the encoder block, {H0,0, H1,0, **, H51,0}.

Consistent with our desire to reduce decoder complexity, instead of comparing and dividing to find the normalization value and performing normalization, we propose a simplified normalization method instead. To illustrate our proposed technique, we assume that the desired normalization factor is the maximum value of the squared magnitude of the channel estimates. We note that this value is bounded by a power of 2. Thus, we compute max |Hk,0|2 over all the subcarriers in the first OFDM symbol, where k={0, 1, 2, . . . , 51}, at least in the 802.11a case. To illustrate our approach to search, normalize and quantize, we assume |Hk,0|2 are 10-bit in unsigned notation:

|Hk,0|2={bk,0,0,bk,0,1, . . . ,bk,0,9},  (25)

where bk0,0 is the Most Significant Bit (MSB). We further assume that the resultant |Hk,0|2 are to be quantized to 6 bits. Denoting ‘^’ a logical OR operation and ‘&’ a logical AND operation, we propose the following pseudocode to arrive at |Hk,0|2:

    
    
        if (b0,0,0^b1,0,0^b2,0,0^ . . . ^ b51,0,0=1)
        
            |Hk,0|2=|Hk,0|2& 1111110000
            exit
        
        
        else
        if (b0,0,1^b1,0,1^b2,0,1^ . . . ^ b51,0,1=1)
        
            |Hk,0|2=|Hk,0|2& 01111111000
            exit
        
        
        else
        if (b0,0,2^b1,0,2^b2,0,2^ . . . ^ b51,0,2=1)
        
            |Hk,0|2=|Hk,0|2& 00111111100
            exit
        
        
        else
        if (b0,0,3^b1,0,3^b2,0,3^ . . . ^ b51,0,3=1)
        
            |Hk,0|2=|Hk,0|2& 00011111110
            exit
        
        
        else
        
            |Hk,0|2=|Hk,0|2& 00001111111
        
        
        endif
    
    


As mentioned previously, in many practical receiver designs, hard-decision decoding is performed on the output symbols of the FEQ to find their closest constellation points in order to perform decision-directed equalization or channel estimation. To determine the hard decision, we denote Dec{{overscore (X)}k,n} as the closest QAM constellation point to {overscore (X)}k,n, using hard decision decoding, and {overscore (X)}k,n is computed using Equation 1,




  
    
      
        X
        _
      
      
        k
        ,
        n
      
    
    =
    
      
        
          V
          
            k
            ,
            n
          
        
        
          
            H
            _
          
          
            k
            ,
            n
          
        
      
      =
      
        
          X
          
            k
            ,
            n
          
        
        +
        
          
            v
            
              k
              ,
              n
            
          
          
            
              H
              _
            
            
              k
              ,
              n
            
          
        
      
    
  
  ,




where Xk,n,tε{±1} for QPSK, Xk,n,tε{±1, ±3} for 16-QAM, and Xk,n,tε{±1, ±3, ±15, ±7} for 64-QAM constellations, and iε{0,1} represents the in-phase (I) and quadrature (Q) components of Xk,n. In this case, the hard-decision decoded symbol, Dec{{overscore (X)}k,n}, can be computed by rounding {overscore (X)}k,n,t to its corresponding nearest constellation point, Xk,n,t, in each dimension.

However, by using the division-free demodulation techniques in Equations 2 and 3, and from Equations 8 and 21 where,

Zk,n=|{overscore (II)}k,n|2·Xk,n=|Hk,n|2·Xk,n+H*k,n·vk,n,  (28)

and

Pk,n=|{overscore (H)}k,n|·{overscore (X)}k,n=|Hk,n|·Xk,n+e−jΦk,n·vk,n,  (29)

the hard-decision symbol, Dec{{overscore (X)}k,n} needs to be computed given Zk,n or Pk,n, and both terms contain the instantaneous channel estimate |{overscore (H)}k,n|. Thus, a dynamic slicer (e.g. slicer 350) based on the current values of |{overscore (H)}k,n| should be used to determine Dec{{overscore (X)}k,n}.

By using the proposed demodulation technique given in Equation 2, the following slicing rules presented below in pseudocode form can be used to make a hard decision on the in-phase and quadrature components to the nearest constellation point in a QPSK, 16-QAM or 64-QAM constellation.
Slicer rule for QPSK:


    
    
        If (Zk,n,t≧0), Dec{{overscore (X)}k,n,t}=1,
        otherwise, Dec{{overscore (X)}k,n,t}=−1.

Slicer rule for 16-QAM:

        If ((|Zk,n,t|−2|{overscore (H)}k,n|2)≦0), Dec{{overscore (X)}k,n,t}=±1,
        otherwise Dec{{overscore (X)}k,n,i}=±3.
    
    


The sign is dependent on the sign of Zk,n,i (see e.g. FIG. 6). A straightforward implementation of the slicer 350 is shown in FIG. 7 to illustrate that this slicer 350 can be implemented by a combination of multiplexers 710, 730 and an adder 720.
Pseudocode for the 64-QAM rate is provided below:
Slicer rule for 64-QAM:


    
    
        if ((|Zk,n,t|−2|{overscore (H)}k,n|)2≦0), Dec{{overscore (X)}k,n,i}=±1, exit;
        if ((|Zk,n,t|−3|{overscore (H)}k,n|)2≦0), Dec{{overscore (X)}k,n,t}=±3, exit;
        if ((|Zk,n,t|−6|{overscore (H)}k,n|)2≦0), Dec{{overscore (X)}k,n,i}=±5, exit;
        
            Dec{{overscore (X)}k,n,t}=±7.

exit;

        
        
        The sign is dependent on the sign of Zk,n,i.
    
    


By using the proposed demodulation technique given in Equation 3, similar slicing rules can be derived for QPSK, 16-QAM and 64-QAM constellations to compute Dec{{overscore (X)}k,n}) 
Slicer rule for QPSK:


    
    
        if (Pk,n,t≧0), Dec{{overscore (X)}k,n,t}1,
        otherwise Dec{{overscore (X)}k,n,t}=−1.

Slicer rule for 16-QAM:

        if ((|Pk,n,t|−2|{overscore (H)}k,n|)≦0), Dec{{overscore (X)}k,n,t}=±1,
        otherwise Dec{{overscore (X)}k,n,t}=±3.
        The sign is dependent on the sign of Pk,n,i.

Slicer rule for 64-QAM:

        if ((|Pk,n,i|−2|{overscore (H)}k,n|)≦0), Dec{{overscore (X)}k,n,t}=±1, exit;
        if ((|Pk,n,t|−4|{overscore (H)}k,n|)≦0), Dec{{overscore (X)}k,n,t}=±3, exit;
        if ((|Pk,n,t|−6|{overscore (H)}k,n|)≦0), Dec{{overscore (X)}k,n,t}=±5, exit;
        
            Dec{{overscore (X)}k,n,t}=±7.
        
        
        exit;
        The sign is dependent on the sign of Pk,n,i.

Section 2—Reduced Complexity Viterbi Decoder Decision Metrics with Channel State Information

    
    


This section introduces an approximation method to compute the Viterbi decoder branch metrics that can significantly reduce the computation required over known systems, and can be used in isolation or in combination with the joint equalization and decoding techniques described herein. This method is particularly beneficial to systems where interleaving is performed between the convolutional encoder output and the QAM symbol mapper, as with the case in 802.11a, 802.11g and 806.16a compliant communications.
To summarize the novel bit-by-bit linear piecewise approximation approach, we represent the I and Q demodulated symbol, {overscore (X)}k,n,0 or Xk,n,1 in bits. That is, if {overscore (X)}k,n is a demodulated symbol of a 16-QAM constellation, we can represent the real-part of {overscore (X)}k,n by,

{overscore (X)}k,n,0={b0,b1},

and determine the corresponding branch metrics for b0 and b1 in the Viterbi decoder. The expression to compute the branch metric depends on the piecewise region the demodulated I or Q symbol is in, and the position of bit, b0 or b1, for which the branch metric is to be computed. However, all the expressions take the form:

BMk,n,t=−({overscore (X)}k,n,t−m)·sign(b1),  (31)

where m=0 for QPSK, mε{0,2} for 16-QAM and mε{0,2,4} for 64-QAM constellations, and biε{±1}.

To improve the Viterbi decoder performance, CSI may be incorporated to normalize the expected noise power appropriately as described above in Section 1. If Wk,n is demodulated using From Equation 18, the piecewise branch metric should be (±Wk,n,t·|Hk,n|). That is, the slope of the branch metrics will be ±|Hk,n|, depending on whether the sign of bi is −1 or 1. Furthermore, the piecewise decision regions are separated by m·|Hk,n| (see Equations 14 and 15), where m=0 for QPSK, mε{0,2} for 16-QAM and mε{0,2,4} for 64-QAM constellations. In short, the branch metrics will be of the form,

BMk,n,i=−|Hk,n|(|Wk,n|−|Hk,n|·m)·sign(bi)(with CSI),  (32)

If the conventional demodulation method (Equation 1) is used,




  
    
      
        
          
            X
            _
          
          
            k
            ,
            n
          
        
        =
        
          
            
              W
              
                k
                ,
                n
              
            
            
              
              
                H
                
                  k
                  ,
                  n
                
              
              
            
          
          .
        
      
    
    
      
        (
        33
        )
      
    
  




Thus, the equations to compute the branch metrics have the form,

BMk,n,i=−|Hk,n|2(|{overscore (X)}k,n|−m)·sign(bi)(with CSI),  (34)

FIG. 4 depicts a receiver baseband processing unit 400 in which unlike the embodiment shown in FIG. 3, still includes a separate demod/FEQ 220 and Viterbi decoder 430. However, the Viterbi decoder 430 differs from the conventional Viterbi decoder 230 shown in FIG. 2 in that it includes a branch metric computation unit 432 that generates BMi for each subcarrier of a given OFDM symbol Y using the relationship defined in Equation 34. Similarly, it can be shown that by using the reduced-complexity joint equalization and decoding approach described above, and depending on the demodulation method chosen (Equations 2 or 3), the bit-by-bit piecewise approximation branch metrics have the form:

BMk,n,t=−(|Zk,n,t|−|Hk,n|2·m)·sign(b1),  (35)

or

BMk,n,t=−(|Hk,n|(|Pk,n,t|−|Hk,n|·m)·sign(b1),  (36)

where m=0 for QPSK, mε{0,2} for 16-QAM and mε{0,2,4} for 64-QAM constellations, and biε{±1}.

FIG. 5 illustrates the branch metric approximation for a 16-QAM constellation where the demodulated symbol is Zk,n,t. As mentioned previously, though not required, the branch metric approximations noted in Equations 35 and 36 may be conveniently implemented by the branch metric computation unit 332 shown in FIG. 3, which in simulation produced an 8 dB SNR performance gain.
Section 3—Multiple Receive Antenna Equalization And Decoding
The previous two sections assume a single receive antenna is used. This section addresses the MRC multiple receive antennae case. A simplified conceptual block diagram of a D-path receive diversity system is shown in FIG. 8 for a single subcarrier k(channel mode 801). In this example, Xk,n was received through D independent pathways and the D received symbols Yk,n(0), Yk,n(1), Yk,n(D-1) are to be demodulated and decoded. In Maximum Ratio Combining (MRC), the received symbols are co-phased to provide coherent voltage addition and are individually weighted to provide optimal SNR. Assuming that perfect channel knowledge is available at the receiver, each receiver chain has the same average noise power σ2, and the channel is flat-fading, the optimal MRC output generated by the MRC combine FEQ and demodulation unit 810, is given by




  
    
      
        
          
            X
            _
          
          
            k
            ,
            n
          
        
        =
        
          
            
              
                ∑
                
                  d
                  =
                  0
                
                
                  D
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  H
                  
                    k
                    ,
                    n
                  
                  
                    
                      (
                      d
                      )
                    
                    *
                  
                
                ⁢
                
                  Y
                  
                    k
                    ,
                    n
                  
                  
                    (
                    d
                    )
                  
                
              
            
            
              
                ∑
                
                  d
                  =
                  0
                
                
                  D
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                  
                    H
                    
                      k
                      ,
                      n
                    
                    
                      (
                      d
                      )
                    
                  
                  
                
                2
              
            
          
          .
        
      
    
    
      
        
          (
          37
          )
        
        ⁢
        
          
        
        ⁢
        Substituting
      
    
  




Yk,n(d)=Hk,n(d)·Xk,n+vk,n(d), Equation (37) may be rewritten as  (38)





  
    
      
        
          
            X
            _
          
          
            k
            ,
            n
          
        
        =
        
          
            X
            
              k
              ,
              n
            
          
          +
          
            
              
                ∑
                
                  d
                  =
                  0
                
                
                  D
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  H
                  
                    k
                    ,
                    n
                  
                  
                    
                      (
                      d
                      )
                    
                    *
                  
                
                ⁢
                
                  v
                  
                    k
                    ,
                    n
                  
                  
                    (
                    d
                    )
                  
                
              
            
            
              
                ∑
                
                  d
                  =
                  0
                
                
                  D
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                  
                    H
                    
                      k
                      ,
                      n
                    
                    
                      (
                      d
                      )
                    
                  
                  
                
                2
              
            
          
        
      
    
    
      
        (
        39
        )
      
    
  




This signal is demodulated, and the I and Q components, Re{{overscore (X)}k,n} and Im{{overscore (X)}·k,n} are sent to the Viterbi decoder 830.

Similar to the one receive antenna case, after MRC, the expected noise power of the symbols sent to the Viterbi decoder will no longer be the same. To optimize the Viterbi decoder performance consistent with the present invention, CSI should be incorporated appropriately to normalize the noise power from symbol to symbol so that their expected noise power equal to σ2. Referring to the derivation in the one receiver antenna case (Equations 14 and 15), one can derive that for the MRC case, taking into consideration of CSI for Viterbi decoding, is




  
    
      
        
          
            X
            _
          
          
            k
            ,
            n
          
          
            C
            ⁢
            
              
            
            ⁢
            S
            ⁢
            
              
            
            ⁢
            I
          
        
        =
        
          
            
              
                ∑
                
                  d
                  =
                  0
                
                
                  D
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  H
                  
                    k
                    ,
                    n
                  
                  
                    
                      (
                      d
                      )
                    
                    *
                  
                
                ⁢
                
                  Y
                  
                    k
                    ,
                    n
                  
                  
                    (
                    d
                    )
                  
                
              
            
            
              
                
                  ∑
                  
                    d
                    =
                    0
                  
                  
                    D
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    
                    
                      H
                      
                        k
                        ,
                        n
                      
                      
                        (
                        d
                        )
                      
                    
                    
                  
                  2
                
              
            
          
          .
        
      
    
    
      
        (
        40
        )
      
    
  




Denoting





  
    
      
        
          
            
              H
              ^
            
            
              k
              ,
              n
            
          
          =
          
            
              
                ∑
                
                  d
                  =
                  0
                
                
                  D
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                  
                    H
                    
                      k
                      ,
                      n
                    
                    
                      (
                      d
                      )
                    
                  
                  
                
                2
              
            
          
        
        ,
      
    
    
      
        (
        41
        )
      
    
  




and similar to the one receive antenna case, the branch metric computation handled by the branch metric computation unit 1032 of the Viterbi decoder 1030 can be expressed as:

BMk,n,t=−2{overscore (X)}k,n,tCSI·Ĥk,n·X+(Ĥk,n·X)2(MRC with CSI),  (42)

where iε({0,1}, and Xε{±1} for QPSK, Xε{+1, ±3} for 16-QAM, and Xε{+1, ±3, ±5, ±7} for 64-QAM constellations. For QPSK, the relationship simplifies to

BMk,n,t=−{overscore (X)}k,n,tCSI·Ĥk,n·X(MRC with CSI),  (43)

In accordance with the joint equalization and decoding techniques described above with reference to Section 1, to reduce the receiver complexity, the division operations in the demodulator can be eliminated by first co-phasing the received signals from the different antennae before adding their contributions together.

Zk,n=Σd=0D-1Hk,n(d)*·Yk,n(d)  ((44)

and computing the branch metrics using,

BMk,n,i=−2Zk,n,i·X+Ĥk,n4·X2(MRC with CSI),  (45)

where iε{0,1}, and Xε{±1} for QPSK, Xε{±1, ±3} for 16-QAM, and Xε{±1, ±3, ±5, ±7} for 64-QAM constellations. For QPSK, the branch metrics simplify to

BMk,n,i=−Zk,n,i·X for QPSK (MRC with CSI).  (46)

To further simplify the branch metric computation, the bit-by-bit piecewise approximation technique described above can be applied to compute the branch metrics for the branch computation unit 1032 of the Viterbi decoder 1030 (FIG. 10). In this case, the expressions to compute the branch metrics have the form,

BMk,n,t=−(|Zk,n,i|−Ĥk,n2·m)·sign(bt)  (47)

where m=0 for QPSK, mε{0,2} for 16-QAM and mε{0,2,4} for 64-QAM constellations, and

In a practical MRC receiver design, the received signal in each receive pathway will pass through an Automatic Gain Control (AGC) (not shown) prior to frequency domain conversion through an individual pathway FFT (not shown) so that the dynamic range of the Analog-to-Digital Convertor (ADC) can be fully utilized. A simplified conceptual block diagram illustrating this feature is shown in FIG. A gain, denoted g(d) for branch or pathway d is applied to the received symbol Yk,n(d) as noted in the channel model 901. Thus, the available received symbol at the receiver is,

{tilde over (Y)}k,n(d)=g(d)·Yk,n(d)  (48)

and the channel estimates can be expressed as:

{tilde over (H)}k,n(d)=g(d)·Hk,n(d)  (49)

Given that each receiver pathway is subjected to a different multipath channel, the gain can be different for each receiver pathway. In order to weight and normalize the MRC and the Viterbi decoder branch metrics properly, we substitute Equations 48 and 49 into Equation 40 to derive MRC with CSI, taking into consideration of the AGC gain in each receiver chain as follows:




  
    
      
        
          
            X
            _
          
          
            k
            ,
            n
          
          
            
              C
              ⁢
              
                
              
              ⁢
              S
              ⁢
              
                
              
              ⁢
              I
            
            ,
            
              A
              ⁢
              
                
              
              ⁢
              G
              ⁢
              
                
              
              ⁢
              C
            
          
        
        =
        
          
            
              ∑
              
                d
                =
                0
              
              
                D
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                
                  (
                  
                    g
                    
                      (
                      d
                      )
                    
                  
                  )
                
                
                  -
                  2
                
              
              ⁢
              
                
                  H
                  ~
                
                
                  k
                  ,
                  n
                
                
                  
                    (
                    d
                    )
                  
                  *
                
              
              ⁢
              
                
                  Y
                  ~
                
                
                  k
                  ,
                  n
                
                
                  (
                  d
                  )
                
              
            
          
          
            
              
                ∑
                
                  d
                  =
                  0
                
                
                  (
                  
                    D
                    -
                    1
                  
                  )
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    (
                    
                      g
                      
                        (
                        d
                        )
                      
                    
                    )
                  
                  
                    -
                    2
                  
                
                ⁢
                
                  
                    
                    
                      
                        H
                        ~
                      
                      
                        k
                        ,
                        n
                      
                      
                        (
                        d
                        )
                      
                    
                    
                  
                  2
                
              
            
          
        
      
    
    
      
        (
        50
        )
      
    
  




Similarly, the equivalent branch metrics in terms of {overscore (Y)}k,n and {overscore (H)}k,n can be derived. For example, to implement the division-free demodulator within e.g. the MRC combine and demodulation unit 910 shown in the embodiment of FIG. 9,

Zk,n=Σd=0D-1(g(d))−2{tilde over (H)}k,n(d)*·{tilde over (Y)}k,n(d)  (51)

and the branch metric, using the bit-by-bit piecewise approximation approach discussed herein is,

BMk,n,t=(−|Zk,n,t|+{hacek over (H)}k,n2·m)sign(bi)(MRC with CSI)  (52)

where





  
    
      
        
          
            H
            ⋓
          
          
            k
            ,
            n
          
        
        =
        
          
            
              ∑
              
                m
                =
                0
              
              
                D
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                
                  (
                  
                    g
                    
                      (
                      m
                      )
                    
                  
                  )
                
                
                  -
                  2
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                  
                    
                      H
                      ~
                    
                    
                      k
                      ,
                      n
                    
                    
                      (
                      m
                      )
                    
                  
                  
                
                2
              
            
          
        
      
    
    
      
        (
        53
        )
      
    
  




and where m=0 for QPSK, mε{0,2} for 16-QAM and mε{0,2,4} for 64-QAM constellations, and biε{±1}.

For the case with 2 receive antennae, D=2, the demodulator using MRC is reduced to,

Zk,n={tilde over (H)}k,n(o)*·{tilde over (Y)}k,n(0)+β·{tilde over (H)}k,n(1)*·{tilde over (Y)}k,n(1)  (54)

and the branch metric, using the bit-by-bit piecewise approximation approach is,

BMk,n,t=(−|Zk,n,t|+({tilde over (H)}k,n(0)2+β·{tilde over (H)}k,n(1)2)·m)·sign(bi)(MRC with CSI)  (55)

where





  
    
      
        β
        =
        
          
            (
            
              
                g
                
                  (
                  0
                  )
                
              
              
                g
                
                  (
                  1
                  )
                
              
            
            )
          
          2
        
      
    
    
      
        (
        56
        )
      
    
  




These practical receiver branch metric calculations may be conveniently undertaken in the branch metric computation unit 932 of the Viterbi decoder 930 as part of the MRC capable receiver baseband processing unit 900 shown in FIG. 9. If utilized, simulation results show at least a 1 dB SNR improvement.
In the above derivations, we assume that the gain for each receiver pathway or chain is a constant for each chain. This is true for an OFDM system where all the sub-carriers are subjected to same gain. Furthermore, in a quasi-static channel, the gain for each receiver chain throughout the packet burst remains constant. Therefore, when there is only one receive antenna, all the symbols are subjected to the same gain and therefore the gain factor can be ignored without affecting the decoder performance. For systems where this gain can change from symbol to symbol, the different gain factor for each symbol should be taken into consideration in the derivation of the demodulator and the branch metric computation, even for the single receive antenna case. The derivation is similar to that of the case with multiple antennae.
Turning briefly to FIG. 1, FIG. 1 illustrates a wireless communications transceiver 100 capable of implementing the receiver baseband processing units shown in FIG. 3 or 4. In this embodiment, inbound RF signals conveying a 802.11a/g or 802.16a compliant frame of OFDM encoded symbols are picked up by the duplex antenna 110 and routed to the RF receiver unit 115 of a receiver 150 arranged in a manner consistent with the present invention. The RF receiver unit 115 performs routine downconversion and automatic gain control of the inbound RF signals, and presents an analog baseband signal containing the aforementioned 802.11a/g or 802.16a frame of OFDM symbols to the receive baseband processor 120, which can conveniently comprise the receiver baseband processing unit 300, 400 described above. Generally speaking, the receive baseband processor 120 performs symbol demodulation of the each inbound 802.11a/g or 802.16a compliant frame to recover bitstream data for receiver synchronization (preamble), frame or packet definition (header), or the actual inbound data of interest (payload). Consistent with the present invention, this processor 120 may include either units 300 or 400 to carry out joint decoding and equalization or reduced complexity decoding as described above.
Once recovered by the receive baseband processor 120, the inbound data contained in each received 802.11a/g or 802.16a formatted frame is delivered to a network interface such as the MAC layer interface 125 and then on to higher layer applications and devices being serviced by the transceiver 100. Outbound data intended for wireless transmission originating from the device(s) or application(s) being serviced by the transceiver 100 are delivered to the transmit baseband processor 135 of the transmitter 160 from the MAC interface 125. The transmit baseband processor 135 formulates appropriate 802.11a/g or 802.16a frame preamble and header information, and OFDM symbol encodes the outbound data to generate one or more complete outbound 802.11a/g or 802.16a frames. As the frame or packet is being developed, it is converted into analog form suitable for upconversion and RF transmission by the RF transmitter unit 140 consistent with 802.11a/g or 802.16a physical layer requirements.
Though only a single duplex antenna arrangement is shown in FIG. 1, the transceiver 100 can be easily adapted to incorporate multiple receive pathways or chains to take advantage of selection diversity or MRC diversity techniques as discussed above. To illustrate, consider the transceiver 101 in FIG. 11 which includes plural receive antenna (e.g. antennae 114, 111, and 112) respectively coupled to individual receive pathway RF receivers (.e.g 115, 116 and 117) as part of the receiver 151. In turn, the individual baseband signals recovered by these distinct receive pathway RF receivers are fed to a common receive baseband processor 121, which can conveniently implement an MRC aware receive baseband processing unit 1000 or 900 shown in FIGS. 10 and 9 respectively. A separate antenna 113 is shown in FIG. 11 to radiate the RF signal generated by the transmitter 160, though other types of antennae configuration may be utilized, as is known in the art.
Also, though not shown in FIG. 1 or 11, the transceiver 100, 101 may form an operational part of a network interface apparatus such as a PC card or network interface card capable of interfacing with the CPU or information processor of an information processing apparatus such as a desktop or laptop computer, and may be integrated within and constitute a part of such information processing apparatus. This network interface apparatus may alternatively form an operational component of a wireless communications access point such as a base station as will be appreciated by these ordinarily skilled in the art.
It will be obvious to those having skill in the art that many changes may be made to the details of the above-described embodiments of this invention without departing from the underlying principles thereof. For example, although the above-described embodiments deal with OFDM symbol decoding, the teachings of the invention are not intended to be so limiting, and in fact several aspects of the present invention may be applied to other types of receivers decoding orthogonal class symbol modulated data. To illustrate, joint equalization and decoding aspects of the invention may be easily applied to reducing pre-demodulation division operations in time domain applications, including adaptive complex gain normalization of the time domain signal to offset AGC side-effects when seeking to maximize the dynamic range of the ADC. The scope of the present invention should, therefore, be determined only by the following claims.

## Claims

1. A baseband processing unit for decoding a received symbol bearing modulated data, the received symbol capable of being borne across plural receive pathways, the unit comprising:
a demodulation unit to generate channel state information and a co-phased and summed MRC symbol from the received symbol; and
a Viterbi decoder, comprising:
a branch metric computation unit to compute a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
a most-likely symbol estimator to estimate a clean symbol based on the plurality of branch metrics computed by said branch metric computation unit.

2. The processing unit of claim 1, wherein
the demodulation unit equalizes the MRC symbol to derive {overscore (X)}k,n,tCSI; and
wherein said branch metric computation unit computes the plurality of branch metrics using BMk,n,t=−2{overscore (X)}k,n,iCSI·X+(Ĥk,n·X)2 per dimension.

3. The processing unit of claim 1, wherein said branch metric computation unit computes the plurality of branch metrics based on a channel estimate associated with the received symbol.

4. The processing unit of claim 3, wherein said branch metric computation unit computes the plurality of branch metrics using


BMk,n,i=−2Zk,n,i·X+Ĥk,n4·X2.

5. The processing unit of claim 1, wherein said branch metric computation unit computes the plurality of branch metrics based on a piecewise bit-by-bit approximation.

6. The processing unit of claim 5, wherein said branch metric computation unit computes the plurality of branch metrics using


BMk,n,t=−(|Zk,n,t|−Ĥk,n2·m)·sign(bt).

7. The processing unit of claim 1, wherein said branch metric computation unit computes the plurality of branch metrics based on a gain associated with each of the plurality of receive pathways and a piecewise bit-by-bit approximation.

8. The processing unit of claim 7, wherein said branch metric computation unit computes the plurality of branch metrics using


BMk,n,t=(−|Zk,n,t|+{hacek over (H)}k,n2·m)·sign(bi)


where




  
    
      H
      ⋓
    
    
      k
      ,
      n
    
  
  =
  
    
      
        
          ∑
          
            m
            =
            0
          
          
            D
            -
            1
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              (
              
                g
                
                  (
                  m
                  )
                
              
              )
            
            
              -
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              
              
                
                  H
                  ~
                
                
                  k
                  ,
                  n
                
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    .

9. The processing unit of claim 1, wherein the received symbol comprises an OFDM symbol formatted in compliance with at least one of IEEE 802.11a, IEEE 802.11g, and IEEE 802.16a standards.

10. The processing unit of claim 9, wherein the OFDM symbol is mapped to one of a DBPSK, QPSK, 16-QAM, 64-QAM, a 256-QAM modulation constellation, and an N QAM modulation constellation wherein N exceeds 256.

11. A transceiver, comprising:
a plurality of MRC receive pathways collectively bearing a received symbol defining modulated data; and
a baseband processing unit for decoding the received symbol, comprising:
a demodulation unit to generate channel state information and a co-phased and summed MRC symbol from the received symbol; and
a Viterbi decoder, comprising:
a branch metric computation unit to compute a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
a most-likely symbol estimator to estimate a clean symbol based on the plurality of branch metrics computed by said branch metric computation unit.

12. The transceiver of claim 11, wherein
said demodulation unit equalizes the MRC symbol to derive {overscore (X)}k,n,tCSI; and
wherein said branch metric computation unit computes the plurality of branch metrics using BMk,n,t=−2Xk,n,iCSI·Ĥk,n·X+(Ĥk,n·X)2 per dimension.

13. The transceiver of claim 11, wherein said branch metric computation unit computes the plurality of branch metrics based on a channel estimate associated with the received symbol.

14. The transceiver of claim 13, wherein said branch metric computation unit computes the plurality of branch metrics using


BMk,n,i=−2Zk,n,i·X+Ĥk,n4·X2.

15. The transceiver of claim 11, wherein said branch metric computation unit computes the plurality of branch metrics based on a piecewise bit-by-bit approximation.

16. The transceiver of claim 15, wherein said branch metric computation unit computes the plurality of branch metrics using


BMk,n,t=−(|Zk,n,t|−Hk,n2·m)·sign(bi).

17. The transceiver of claim 11, wherein said branch metric computation unit computes the plurality of branch metrics based on a gain associated with each of the plurality of receive pathways and a piecewise bit-by-bit approximation.

18. The transceiver of claim 17, wherein said branch metric computation unit computes the plurality of branch metrics using where


BMk,n,t=−(|Zk,n,t|+{hacek over (H)}k,n2·m)·sign(bi).


where




  
    
      H
      ⋓
    
    
      k
      ,
      n
    
  
  =
  
    
      
        
          ∑
          
            m
            =
            0
          
          
            D
            -
            1
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              (
              
                g
                
                  (
                  m
                  )
                
              
              )
            
            
              -
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              
              
                
                  H
                  ~
                
                
                  k
                  ,
                  n
                
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    .

19. The transceiver of claim 11, wherein the received symbol comprises an OFDM symbol formatted in compliance with at least one of IEEE 802.11a, IEEE 802.11g, and IEEE 802.16a standards.

20. The transceiver of claim 19, wherein the OFDM symbol is mapped to one of a DBPSK, QPSK, 16-QAM, 64-QAM, a 256-QAM modulation constellation, and an N QAM modulation constellation wherein N exceeds 256.

21. The transceiver of claim 11, further comprising a transmitter capable of transmitting an outbound signal.

22. A network interface apparatus, comprising:
a wireless transceiver, comprising:
a plurality of MRC receive pathways collectively bearing a received symbol defining modulated data; and
a baseband processing unit for decoding the received symbol, comprising:
a demodulation unit to generate channel state information and a co-phased and summed MRC symbol from the received symbol; and
a Viterbi decoder, comprising:
a branch metric computation unit to compute a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
a most-likely symbol estimator to estimate a clean symbol based on the plurality of branch metrics computed by said branch metric computation unit; and


a network interface capable of recovering inbound data from the clean symbol.

23. An information processing apparatus, comprising:
an information processor; and
a network interface apparatus responsive to said information processor, said network interface apparatus comprising:
a wireless transceiver, comprising:
a plurality of MRC receive pathways collectively bearing a received symbol defining modulated data; and
a baseband processing unit for decoding the received symbol, comprising:
a demodulation unit to generate channel state information and a co-phased and summed MRC symbol from the received symbol; and
a Viterbi decoder, comprising:
 a branch metric computation unit to compute a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
 a most-likely symbol estimator to estimate a clean symbol based on the plurality of branch metrics computed by said branch metric computation unit; and


a network interface capable of recovering inbound data from the clean symbol.

24. A baseband processing unit for decoding a received symbol bearing modulated data, the received symbol capable of being borne across plural receive pathways, the unit comprising:
means for generating channel state information and a co-phased and summed MRC symbol from the received symbol; and
Viterbi decoder means, comprising:
means for computing a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
means for estimating a clean symbol based on the plurality of branch metrics computed by said computing means.

25. The processing unit of claim 24, wherein
the generating means includes means for equalizing the MRC symbol to derive {overscore (X)}k,n,iCSI; and
wherein said computing means includes means for computing the plurality of branch metrics using BMk,n,t=−2{overscore (X)}k,n,tCSI·Ĥk,n·X+(Ĥk,n·X)2 per dimension.

26. The processing unit of claim 24, wherein said computing means includes second means for computing the plurality of branch metrics based on a channel estimate associated with the received symbol.

27. The processing unit of claim 26, wherein said second computing means includes means for computing the plurality of branch metrics using


BMk,n,i=−2Zk,n,i·X+{hacek over (H)}k,n4·X2.

28. The processing unit of claim 24, wherein said computing means includes second means for computing the plurality of branch metrics based on a piecewise bit-by-bit approximation.

29. The processing unit of claim 28, wherein said second computing means includes means for computing the plurality of branch metrics using


BMk,n,t=−(|Zk,n,t|−Ĥk,n2·m)·sign (bi).

30. The processing unit of claim 24, wherein said computing means includes second means for computing the plurality of branch metrics based on a gain associated with each of the plurality of receive pathways and a piecewise bit-by-bit approximation.

31. The processing unit of claim 30, wherein said second computing means includes means for computing the plurality of branch metrics using


BMk,n,i=(−|Zk,n,i|+{hacek over (H)}k,n2·m)sign(bi)


where




  
    
      H
      ⋓
    
    
      k
      ,
      n
    
  
  =
  
    
      
        
          ∑
          
            m
            =
            0
          
          
            D
            -
            1
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              (
              
                g
                
                  (
                  m
                  )
                
              
              )
            
            
              -
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              
              
                
                  H
                  ~
                
                
                  k
                  ,
                  n
                
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    .

32. The processing unit of claim 24, wherein the received symbol comprises an OFDM symbol formatted in compliance with at least one of IEEE 802.11a, IEEE 802.11g, and IEEE 802.16a standards.

33. The processing unit of claim 32, wherein the OFDM symbol is mapped to one of a DBPSK, QPSK, 16-QAM, 64-QAM, a 256-QAM modulation constellation, and an N QAM modulation constellation wherein N exceeds 256.

34. A transceiver, comprising:
means for collectively bearing a received symbol defining modulated data; and
baseband processing means for decoding the received symbol, comprising:
means for generating channel state information and a co-phased and summed MRC symbol from the received symbol; and
Viterbi decoder means, comprising:
means for computing a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
means for estimating a clean symbol based on the plurality of branch metrics computed by said computing means.

35. The transceiver of claim 34, wherein
the generating means includes means for equalizing the MRC symbol to derive {overscore (X)}k,n,tCSI; and
wherein said computing means includes means for computing the plurality of branch metrics using BMk,n,t=−2{overscore (X)}k,n,tCSI·Ĥk,n·X+(Ĥk,n·X)2 per dimension.

36. The transceiver of claim 34, wherein said computing means includes second means for computing the plurality of branch metrics based on a channel estimate associated with the received symbol.

37. The transceiver of claim 36, wherein said second computing means includes means for computing the plurality of branch metrics using


BMk,n,i=−2Zk,n,i·X+Ĥk,n4·X2.

38. The transceiver of claim 34, wherein said computing means includes second means for computing the plurality of branch metrics based on a piecewise bit-by-bit approximation.

39. The transceiver of claim 38, wherein said second computing means includes means for computing the plurality of branch metrics using


BMk,n,t=−(|Zk,n,t|−Ĥk,n2·m)·sign(bi).

40. The transceiver of claim 34, wherein said computing means includes second means for computing the plurality of branch metrics based on a gain associated with each of the plurality of receive pathways and a piecewise bit-by-bit approximation.

41. The transceiver of claim 40, wherein said second computing means includes means for computing the plurality of branch metrics using


BMk,n,t=(−|Zk,n,t|+{hacek over (H)}k,n2·m)sign(bi)


where




  
    
      H
      ⋓
    
    
      k
      ,
      n
    
  
  =
  
    
      
        
          ∑
          
            m
            =
            0
          
          
            D
            -
            1
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              (
              
                g
                
                  (
                  m
                  )
                
              
              )
            
            
              -
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              
              
                
                  H
                  ~
                
                
                  k
                  ,
                  n
                
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    .

42. The transceiver of claim 34, wherein the received symbol comprises an OFDM symbol formatted in compliance with at least one of IEEE 802.11a, IEEE 802.1 μg, and IEEE 802.16a standards.

43. The transceiver of claim 42, wherein the OFDM symbol is mapped to one of a DBPSK, QPSK, 16-QAM, 64-QAM, a 256-QAM modulation constellation, and an N QAM modulation constellation wherein N exceeds 256.

44. The transceiver of claim 34, further comprising means for transmitting an outbound signal.

45. A network interface apparatus, comprising:
a transceiver means, comprising:
means for collectively bearing a received symbol defining modulated data; and
baseband processing means for decoding the received symbol, comprising:
means for generating channel state information and a co-phased and summed MRC symbol from the received symbol; and
Viterbi decoder means, comprising:
means for computing a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
means for estimating a clean symbol based on the plurality of branch metrics computed by said computing means; and



means for recovering inbound data from the clean symbol.

46. An information processing apparatus, comprising:
information processor means; and
network interface means, comprising:
transceiver means, comprising:
means for collectively bearing a symbol defining modulated data; and
baseband processing means for decoding the received symbol, comprising:
means for generating channel state information and a co-phased and summed MRC symbol from the symbol; and
Viterbi decoder means, comprising:
 means for computing a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
 means for estimating a clean symbol based on the plurality of branch metrics computed by said computing means; and


means for recovering inbound data from the clean symbol.

47. A method for decoding a received symbol bearing modulated data, the received symbol capable of being borne across plural receive pathways, the method comprising:
generating channel state information from the received symbol;
generating a co-phased and summed MRC symbol from the received symbol;
computing a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
estimating a clean symbol based on the plurality of branch metrics computed at said computing step.

48. The method of claim 47, wherein
said generating step includes the step of equalizing the MRC symbol to derive {overscore (X)}k,n,tCSI; and
wherein said computing step includes computing the plurality of branch metrics using BMk,n,t=−2{overscore (X)}k,n,tCSI·{overscore (H)}k,n·X+(Ĥk,n·X)2 per dimension.

49. The method of claim 47, wherein said computing step includes computing the plurality of branch metrics based on a channel estimate associated with the received symbol.

50. The method of claim 49, wherein said computing step includes computing the plurality of branch metrics using


BMk,n,i=−2Zk,n,i·X+Ĥk,n4·X2.

51. The method of claim 47, wherein said computing step includes computing the plurality of branch metrics based on a piecewise bit-by-bit approximation.

52. The method of claim 51, wherein said computing step includes computing the plurality of branch metrics using


BMk,n,t=(|Zk,n,t|−Ĥk,n2·m)·sign(b1)

53. The method of claim 47, wherein said computing step includes computing the plurality of branch metrics based on a gain associated with each of the plurality of receive pathways and a piecewise bit-by-bit approximation.

54. The method of claim 53, wherein said computing step includes computing the plurality of branch metrics using


BMk,n,t=(−|Zk,n,t|+{hacek over (H)}k,n2·m)sign(b1)


where




  
    
      H
      ⋓
    
    
      k
      ,
      n
    
  
  =
  
    
      
        
          ∑
          
            m
            =
            0
          
          
            D
            -
            1
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              (
              
                g
                
                  (
                  m
                  )
                
              
              )
            
            
              -
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              
              
                
                  H
                  ~
                
                
                  k
                  ,
                  n
                
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    .

55. The method of claim 47, wherein the received symbol comprises an OFDM symbol formatted in compliance with at least one of IEEE 802.11a, IEEE 802.11g, and IEEE 802.16a standards.

56. The method of claim 55, wherein the OFDM symbol is mapped to one of a DBPSK, QPSK, 16-QAM, 64-QAM, a 256-QAM modulation constellation, and an N QAM modulation constellation wherein N exceeds 256.

57. The method of claim 47, further comprising recovering a baseband signal, the baseband signal including the received symbol.

58. The method of claim 47, further comprising recovering inbound data from the clean symbol.

59. A computer program product, comprising computer readable program code causing an information processor to perform the following steps in support of decoding a received symbol bearing modulated data, the received symbol capable of being borne across plural receive pathways, the steps comprising:
generating channel state information from the received symbol;
generating a co-phased and summed MRC symbol from the received symbol;
computing a plurality of branch metrics responsive to and based on the channel state information and the MRC symbol; and
estimating a clean symbol based on the plurality of branch metrics computed at said computing step.

60. The product of claim 59, wherein
said generating step includes the step of equalizing the MRC symbol to derive {overscore (X)}k,n,iCSI; and
wherein said computing step includes computing the plurality of branch metrics using BMk,n,t=−2{overscore (X)}k,n,tCSI·Ĥk,n·X+(Ĥk,n·X)2 per dimension.

61. The product of claim 59, wherein said computing step includes computing the plurality of branch metrics based on a channel estimate associated with the received symbol.

62. The product of claim 61, wherein said computing step includes computing the plurality of branch metrics using


BMk,n,i=−2Zk,n,i·X+Ĥk,n4·X2.

63. The product of claim 59, wherein said computing step includes computing the plurality of branch metrics based on a piecewise bit-by-bit approximation.

64. The product of claim 63, wherein said computing step includes computing the plurality of branch metrics using


BMk,n,t=−(|Zk,n,t|−Ĥk,n2·m)·sign(bi).

65. The product of claim 59, wherein said computing step includes computing the plurality of branch metrics based on a gain associated with each of the plurality of receive pathways and a piecewise bit-by-bit approximation.

66. The product of claim 65, wherein said computing step includes computing the plurality of branch metrics using


BMk,n,t=(−|Zk,n,t|+{hacek over (H)}k,n2·m)sign(bi)






  
    
      H
      ⋓
    
    
      k
      ,
      n
    
  
  =
  
    
      
        
          ∑
          
            m
            =
            0
          
          
            D
            -
            1
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              (
              
                g
                
                  (
                  m
                  )
                
              
              )
            
            
              -
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              
              
                
                  H
                  ~
                
                
                  k
                  ,
                  n
                
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    .

67. The product of claim 59, wherein the received symbol comprises an OFDM symbol formatted in compliance with at least one of IEEE 802.11a, IEEE 802.11g, and IEEE 802.16a standards.

68. The product of claim 67, wherein the OFDM symbol is mapped to one of a DBPSK, QPSK, 16-QAM, 64-QAM, a 256-QAM modulation constellation, and an N QAM modulation constellation wherein N exceeds 256.

69. The product of claim 59, further comprising computer readable program code causing the information processor to perform the step of recovering a baseband signal, the baseband signal including the received symbol.

70. The product of claim 59, further comprising computer readable program code causing the information processor to perform the step of recovering inbound data from the clean symbol.