# Patent

## Title
Iterative detection and decoding for a MIMO-OFDM system

## Abstract

Techniques to iteratively detect and decode data transmitted in a wireless (e.g., MIMO-OFDM) communication system. The iterative detection and decoding is performed by iteratively passing soft (multi-bit) “a priori” information between a detector and a decoder. The detector receives modulation symbols, performs a detection function that is complementary to the symbol mapping performed at the transmitter, and provides soft-decision symbols for transmitted coded bits. “Extrinsic information” in the soft-decision symbols is then decoded by the decoder to provide its extrinsic information, which comprises the a priori information used by the detector in the detection process. The detection and decoding may be iterated a number of times. The soft-decision symbols and the a priori information may be represented using log-likelihood ratios (LLRs). Techniques are provided to reduce the computational complexity associated with deriving the LLRs, including interference nulling to isolate each transmitted signal and “dual-maxima” approximation.

## Background
BACKGROUND
1. Field
The present invention relates generally to data communication, and more specifically to techniques for performing iterative detection and decoding for a MIMO-OFDM communication system.
2. Background
A multiple-input multiple-output (MIMO) communication system employs multiple (NT) transmit antennas and multiple (NR) receive antennas for data transmission. A MIMO channel formed by the NT transmit and NR receive antennas may be decomposed into NS independent channels, with NS≦min {NT, NR}. Each of the NS independent channels is also referred to as a spatial subchannel of the MIMO channel and corresponds to a dimension. The MIMO system can provide improved performance (e.g., increased transmission capacity) over that of a single-input single-output (SISO) communication system if the additional dimensionalities created by the multiple transmit and receive antennas are utilized.
A wideband MIMO system typically experiences frequency selective fading, i.e., different amounts of attenuation across the system bandwidth. This frequency selective fading causes inter-symbol interference (ISI), which is a phenomenon whereby each symbol in a received signal acts as distortion to subsequent symbols in the received signal. This distortion degrades performance by impacting the ability to correctly detect the received symbols. As such, ISI is a non-negligible noise component that may have a large impact on the overall signal-to-noise-and-interference ratio (SNR) for systems designed to operate at high SNR levels, such as MIMO systems. In such systems, equalization may be used at the receivers to combat ISI. However, the computational complexity required to perform equalization is typically significant or prohibitive for most applications.
Orthogonal frequency division multiplexing (OFDM) may be used to combat ISI, and achieves this without the use of computationally intensive equalization. An OFDM system effectively partitions the system bandwidth into a number of (NF) frequency subchannels, which may be referred to as sub-bands or frequency bins. Each frequency subchannel is associated with a respective subcarrier upon which data may be modulated. The frequency subchannels of the OFDM system may experience frequency selective fading (i.e., different amounts of attenuation for different frequency subchannels), depending on the characteristics (e.g., multipath profile) of the propagation path between the transmit and receive antennas. With OFDM, the ISI due to the frequency selective fading may be combated by repeating a portion of each OFDM symbol (i.e., appending a cyclic prefix to each OFDM symbol), as is known in the art.
A MIMO system may thus advantageously employ OFDM to combat ISI. The frequency subchannels of the MIMO-OFDM system may experience different channel conditions (e.g., different fading and multipath effects) and may achieve different SNRs. Moreover, the channel conditions may vary over time. Consequently, the supported data rates may vary from frequency subchannel to frequency subchannel and from spatial subchannel to spatial subchannel, and may further vary with time. To achieve high performance, it is necessary to properly code and modulate the data at the transmitter (e.g., based on the determined channel conditions) and to properly detect and decode the received signals at the receiver.
There is therefore a need in the art for techniques to detect and decode signals that may have been (flexibly) coded and modulated based on one or more coding and modulation schemes, e.g., as determined by the channel conditions.
SUMMARY
Aspects of the invention provide techniques to iteratively detect and decode data transmitted in a wireless (e.g., MIMO-OFDM) communication system. The iterative detection and decoding exploits the error correction capabilities of the channel code to provide improved performance. This is achieved by iteratively passing soft (multi-bit) “a priori” information between a soft-input soft-output detector and a soft-input soft-output decoder.
The detector receives modulation symbols previously generated at a transmitter system based on one or more coding and modulation schemes, performs a detection function that is complementary to the symbol mapping performed at the transmitter system, and provides soft-decision symbols for transmitted coded bits. Extrinsic information in the soft-decision symbols (which comprises the a priori information for the decoder, as described below) is then decoded by the decoder based on one or more decoding schemes complementary to the one or more coding schemes used at the transmitter system. The decoder further provides its extrinsic information (which comprises the a priori information for the detector) that is then used by the detector in the detection process.
The detection and decoding may be iterated a number of times. During the iterative detection and decoding process, the reliability of the bit decisions is improved with each iteration. The iterative detection and decoding process described herein may be used to combat frequency selective fading as well as flat fading. Moreover, the iterative detection and decoding process may be flexibly used with various types of coding schemes (e.g., serial and parallel concatenated convolutional codes) and with various modulation schemes (e.g., M-PSK and M-QAM).
The a priori information passed between the detector and decoder and the soft-decision symbols may be represented using log-likelihood ratios (LLRs). Techniques are provided herein to reduce the computational complexity associated with deriving the LLRs. Such techniques include the use of interference nulling to isolate each transmitted signal by removing the other interferers and the use of a “dual-maxima” or some other approximation to compute the LLRs, which are described below.
Various aspects and embodiments of the invention are described in further detail below. The invention further provides methods, receiver units, transmitter units, receiver systems, transmitter systems, systems, and other apparatuses and elements that implement various aspects, embodiments, and features of the invention, as described in further detail below.



BRIEF DESCRIPTION OF THE DRAWINGS
The features, nature, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
FIG. 1 is a block diagram of a transmitter system and a receiver system in a MIMO-OFDM system;
FIGS. 2A and 2B are block diagrams of two transmitter units that code and modulate data with (1) a single coding and modulation scheme and (2) separate coding and modulation schemes on a per-antenna basis, respectively;
FIGS. 3A and 3B are block diagrams of serial and parallel concatenated convolutional encoders, respectively;
FIG. 3C is a block diagram of a recursive convolutional encoder;
FIGS. 4A and 4B are block diagrams of two receiver units that detect and decode data previously processed with (1) a single coding and modulation scheme and (2) separate coding and modulation schemes on a per-antenna basis, respectively;
FIG. 4C is a block diagram of a receiver unit that performs successive nulling and interference cancellation to recover one transmitted signal at a time;
FIGS. 5A and 5B are block diagrams of two Turbo decoders capable of performing iterative decoding for serial and parallel concatenated convolutional codes, respectively; and
FIG. 6 is a block diagram of an interference canceller that may be used for the receiver unit in FIG. 4C.



DETAILED DESCRIPTION
The iterative detection and decoding techniques described herein may be used for various wireless communication systems. For clarity, various aspects and embodiments of the invention are described specifically for multiple-input multiple output communication system that implements orthogonal frequency division multiplexing (i.e., a MIMO-OFDM system).
As noted above, a MIMO system employs NT transmit antennas and NR receive antennas for data transmission, where NR≧NT. A MIMO channel formed by the NT transmit antennas and NR receive antennas may be decomposed into NS spatial subchannels, where NS≦min {NT, NR}. An OFDM system effectively partitions the system bandwidth into NF frequency subchannels. Each frequency subchannel may be defined to be sufficiently narrow so that its frequency response is considered flat or frequency non-selective. A MIMO-OFDM system may thus transmit data via a number of (NC) “transmission channels” (where NC=NS·NF), with each such transmission channel corresponding to a frequency subchannel of a spatial subchannel.
FIG. 1 is a block diagram of an embodiment of a transmitter system 110 and a receiver system 150 in a MIMO-OFDM system 100. Transmitter system 110 and receiver system 150 are capable of implementing various aspects and embodiments of the invention, as described below.
At transmitter system 110, traffic data is provided at a particular data rate from a data source 112 to a transmit (TX) data processor 114, which codes and interleaves the traffic data based on one or more coding schemes to provide coded data. The coding may be performed based on a single coding scheme for all transmit antennas, one coding scheme for each transmit antenna or each subset of transmit antennas, or one coding scheme for each transmission channel or each group of transmission channels. The data rate and the coding may be determined by a data rate control and a coding control, respectively, provided by a controller 130.
The coded data is then provided to a modulator 116, which may also receive pilot data (e.g., data of a known pattern and processed in a known manner). The pilot data may be multiplexed with the coded traffic data (e.g., using time division multiplexing (TDM) or code division multiplexing (CDM)) in all or a subset of the frequency subchannels and in all or a subset of the spatial subchannels used to transmit the traffic data. The pilot may be used by the receiver system to perform a number of functions such as acquisition, frequency and timing synchronization, channel estimation, coherent data demodulation, and so on.
In a specific embodiment, the processing by modulator 116 includes (1) modulating the received data with one or more modulation schemes (e.g., M-PSK, M-QAM, and so on) to provide modulation symbols, (2) transforming the modulation symbols to form OFDM symbols, and (3) appending a cyclic prefix to each OFDM symbol to form a corresponding transmission symbol. Similarly, the modulation may be performed based on a single modulation scheme for all transmit antennas, one modulation scheme for each transmit antenna or each subset of transmit antennas, or one modulation scheme for each transmission channel or each group of transmission channels. The modulation is performed based on a modulation control provided by controller 130. The modulated data (i.e., the transmission symbols) is then provided to transmitters (TMTR) 122a through 122t associated with the NT transmit antennas to be used for data transmission.
Each transmitter 122 converts the received modulated data into one or more analog signals and further conditions (e.g., amplifies, filters, and quadrature modulates) the analog signals to generate a modulated signal suitable for transmission over the communication channel. The modulated signals from transmitters 122a through 122t are then transmitted via antennas 124a through 124t, respectively, to the receiver system.
At receiver system 150, the transmitted modulated signals are received by antennas 152a through 152r, and the received signal from each antenna is provided to a respective receiver (RCVR) 154. Each receiver 154 conditions (e.g., filters, amplifies, and downconverts) a respective received signal and digitizes the conditioned signal to provide a respective stream of data samples, which represent the transmission symbols received via the associated antenna. A demodulator (Demod) 156 receives and demodulates the NR data sample streams from receivers 154a through 154r to provide NR corresponding streams of received modulation symbols. For each data sample stream, demodulator 156 removes the cyclic prefix included in each transmission symbol and then transforms each received OFDM symbol to provide a corresponding stream of received modulation symbols.
A detector/decoder 158 initially performs the detection function that is complementary to the symbol mapping and provides soft-decision (multi-bit) symbols for the coded bits transmitted from the transmitter system. The soft-decision symbols are then decoded based on one or more decoding schemes complementary to the one or more coding schemes used at the transmitter system. In an aspect, the detection and decoding may be performed iteratively a number of times, as described in further detail below. The decoded data is then provided to a data sink 160.
Controllers 130 and 170 direct the operation at the transmitter and receiver systems, respectively. Memories 132 and 172 provide storage for program codes and data used by controllers 130 and 170, respectively.
Transmitter System
FIG. 2A is a block diagram of a transmitter unit 200a, which is an embodiment of the transmitter portion of transmitter system 110 in FIG. 1. In this embodiment, a single coding scheme is used for all NT transmit antennas and a single modulation scheme is used for all NF frequency subchannels of all transmit antennas. Transmitter unit 200a includes (1) a TX data processor 114a that receives and codes traffic data in accordance with a specific coding scheme to provide coded data and (2) a modulator 116a that modulates the coded data in accordance with a specific modulation scheme to provide modulated data. TX data processor 114a and modulator 116a are thus one embodiment of TX data processor 114 and modulator 116, respectively, in FIG. 1.
In the specific embodiment shown in FIG. 2A, TX data processor 114a includes an encoder 212, a channel interleaver 214, and a demultiplexer (Demux) 216. Encoder 212 receives and codes the traffic data (i.e., the information bits) in accordance with the selected coding scheme to provide coded bits. The coding increases the reliability of the data transmission. The selected coding scheme may include any combination of cyclic redundancy check (CRC) coding, convolutional coding, Turbo coding, block coding, and so on. Several designs for encoder 212 are described below.
Channel interleaver 214 then interleaves the coded bits based on a particular interleaving scheme and provides interleaved coded bits. The interleaving provides time diversity for the coded bits, permits the data to be transmitted based on an average signal-to-noise-and-interference ratio (SNR) for the frequency and/or spatial subchannels used for the data transmission, combats fading, and further removes correlation between coded bits used to form each modulation symbol. The interleaving may further provide frequency diversity if the coded bits are transmitted over multiple frequency subchannels. The coding and channel interleaving are described in further detail below.
Demultiplexer 216 then demultiplexes the interleaved and coded data into NT coded data streams for the NT transmit antennas to be used for the data transmission. The NT coded data streams are then provided to modulator 116a. 
In the specific embodiment shown in FIG. 2A, modulator 116a includes NT OFDM modulators, with each OFDM modulator assigned to process a respective coded data stream for one transmit antenna. Each OFDM modulator includes a symbol mapping element 222, an inverse fast Fourier transformer (IFFT) 224, and a cyclic prefix generator 226. In this embodiment, all NT symbol mapping elements 222a through 222t implement the same modulation scheme.
Within each OFDM modulator, symbol mapping element 222 maps the received coded bits to modulation symbols for the (up to) NF frequency subchannels to be used for data transmission on the transmit antenna associated with the OFDM modulator. The particular modulation scheme to be implemented by symbol mapping element 222 is determined by the modulation control provided by controller 130. For OFDM, the modulation may be achieved by grouping sets of q coded bits to form non-binary symbols and mapping each non-binary symbol to a specific point in a signal constellation corresponding to the selected modulation scheme (e.g., QPSK, M-PSK, M-QAM, or some other scheme). Each mapped signal point corresponds to an M-ary modulation symbol, where M=2q. Symbol mapping element 222 then provides a vector of (up to) NF modulation symbols for each transmission symbol period, with the number of modulation symbols in each vector corresponding to the number of frequency subchannels to be used for data transmission for that transmission symbol period.
If conventional non-iterative symbol de-mapping and decoding are performed at the receiver system, then Gray mapping may be preferably used for the symbol mapping since it may provide better performance in terms of bit error rate (BER). With Gray mapping, the neighboring points in the signal constellation (in both the horizontal and vertical directions) differ by only one out of the q bit positions. Gray mapping reduces the number of bit errors for more likely error events, which correspond to a received modulation symbol being mapped to a location near the correct location, in which case only one coded bit would be received in error.
However, if iterative detection and decoding are performed as described below, it can be shown that non-Gray mapping outperforms Gray mapping. This is true due to the fact that independence between the coded bits enhances independence between the detection and decoding processes, which then provides improved performance when iterative detection and decoding are performed. Thus, each symbol mapping element 222 may be designed to implement a non-Gray mapped constellation. In certain instances, improved performance may be achieved if the constellation is defined such that neighboring points differ by as many bit positions as possible (i.e., the opposite goal as for Gray mapping, or “anti-Gray” mapping).
IFFT 224 then converts each modulation symbol vector into its time-domain representation (which is referred to as an OFDM symbol) using the inverse fast Fourier transform. IFFT 224 may be designed to perform the inverse transform on any number of frequency subchannels (e.g., 8, 16, 32, . . . , NF, . . . ). In an embodiment, for each OFDM symbol, cyclic prefix generator 226 repeats a portion of the OFDM symbol to form a corresponding transmission symbol. The cyclic prefix ensures that the transmission symbol retains its orthogonal properties in the presence of multipath delay spread, thereby improving performance against deleterious path effects such as channel dispersion caused by frequency selective fading. The transmission symbols from cyclic prefix generator 226 are then provided to an associated transmitter 122 and processed to generate a modulated signal, which is then transmitted from the associated antenna 124.
FIG. 2B is a block diagram of a transmitter unit 200b, which is another embodiment of the transmitter portion of transmitter system 110 in FIG. 1. In this embodiment, a particular coding scheme is used for each of the NT transmit antennas and a particular modulation scheme is used for all NF frequency subchannels of each transmit antenna (i.e., separate coding and modulation on a per-antenna basis). The specific coding and modulation schemes to be used for each transmit antenna may be selected based on the expected channel conditions (e.g., by the receiver system and sent back to the transmitter system).
Transmitter unit 200b includes (1) a TX data processor 114b that receives and codes traffic data in accordance with separate coding schemes to provide coded data and (2) a modulator 116b that modulates the coded data in accordance with separate modulation schemes to provide modulated data. TX data processor 114b and modulator 116b are another embodiment of TX data processor 114 and modulator 116, respectively, in FIG. 1.
In the specific embodiment shown in FIG. 2B, TX data processor 114b includes a demultiplexer 210, NT encoders 212a through 212t, and NT channel interleavers 214a through 214t (i.e., one set of encoder and channel interleaver for each transmit antenna). Demultiplexer 210 demultiplexes the traffic data (i.e., the information bits) into NT data streams for the NT transmit antennas to be used for the data transmission. Each data stream is then provided to a respective encoder 212.
Each encoder 212 receives and codes a respective data stream based on the specific coding scheme selected for the corresponding transmit antenna to provide coded bits. The coded bits from each encoder 212 are then provided to a respective channel interleaver 214, which interleaves the coded bits based on a particular interleaving scheme to provide diversity. Channel interleavers 214a through 214t then provide to modulator 116b NT interleaved and coded data streams for the NT transmit antennas.
In the specific embodiment shown in FIG. 2B, modulator 116b includes NT OFDM modulators, with each OFDM modulator including symbol mapping element 222, IFFT 224, and cyclic prefix generator 226. In this embodiment, the NT symbol mapping elements 222a through 222t may implement different modulation schemes. Within each OFDM modulator, symbol mapping element 222 maps groups of qn coded bits to form Mn-ary modulation symbols, where Mn corresponds to the specific modulation scheme selected for the n-th transmit antenna (as determined by the modulation control provided by controller 130) and Mn=2qn. The subsequent processing by IFFT 224 and cyclic prefix generator 226 is as described above.
Other designs for the transmitter unit may also be implemented and are within the scope of the invention. For example, the coding and modulation may be separately performed for each subset of transmit antennas, each transmission channel, or each group of transmission channels. The implementation of encoders 212, channel interleavers 214, symbol mapping elements 222, IFFTs 224, and cyclic prefix generators 226 is known in the art and not described in detail herein.
The coding and modulation for MIMO systems with and without OFDM are described in further detail in U.S. patent application Ser. Nos. 09/826,481 and 09/956,449, both entitled “Method and Apparatus for Utilizing Channel State Information in a Wireless Communication System,” respectively filed Mar. 23, 2001 and Sep. 18, 2001; U.S. patent application Ser. No. 09/854,235, entitled “Method and Apparatus for Processing Data in a Multiple-Input Multiple-Output (MIMO) Communication System Utilizing Channel State Information,” filed May 11, 2001; U.S. patent application Ser. No. 09/776,075, entitled “Coding Scheme for a Wireless Communication System,” filed Feb. 1, 2001; and U.S. patent application Ser. No. 11/332,059, entitled “Multiple-Access Multiple-Input Multiple-Output (MIMO) Communication System,” filed Nov. 6, 2001. These applications are all assigned to the assignee of the present application and incorporated herein by reference. Still other coding and modulation schemes may also be used, and this is within the scope of the invention.
An example OFDM system is described in U.S. patent application Ser. No. 09/532,492, entitled “High Efficiency, High Performance Communication System Employing Multi-Carrier Modulation,” filed Mar. 30, 2000, assigned to the assignee of the present invention and incorporated herein by reference. OFDM is also described by John A. C. Bingham in a paper entitled “Multicarrier Modulation for Data Transmission: An Idea Whose Time Has Come,” IEEE Communications Magazine, May 1990, which is incorporated herein by reference.
Encoding
Various types of encoder may be used to code data prior to transmission. For example, the encoder may implement any one of the following (1) a serial concatenated convolutional code (SCCC), (2) a parallel concatenated convolutional code (PCCC), (3) a simple convolutional code, (4) a concatenated code comprised of a block code and a convolutional code, and so on. Concatenated convolutional codes are also referred to as Turbo codes.
FIG. 3A is a block diagram of an embodiment of a serial concatenated convolutional encoder 212x, which may be used for each of encoders 212 in FIGS. 2A and 2B. Encoder 212x includes an outer convolutional encoder 312a, a code interleaver 314, and an inner convolutional encoder 312b, all coupled in series. Outer convolutional encoder 312a codes the information bits with a particular outer code of code rate Ro. The coded output from encoder 312a is provided to code interleaver 314, which interleaves each packet of NP coded bits in accordance with a particular (e.g., pseudo-random) interleaving scheme.
Code interleaver 314 may implement any one of a number of interleaving schemes, such as the ones used for cdma2000 and W-CDMA. In one specific interleaving scheme, the NP coded bits in a packet are written, by row, into a 25-row by 2n-column array, where n is the smallest integer such that NP≦25+n. The rows are then shuffled in accordance with a bit-reversal rule. For example, row 1 (“00001”) is swapped with row 16 (“10000”), row 3 (“00011”) is swapped with row 24 (“11000”), and so on. The bits within each row are then permutated (i.e., rearranged) according to a row-specific linear congruential sequence (LCS). The LCS for row k may be defined as xk(i+1)={xk(i)+ck} mod 2n, where i=0, 1, . . . 2n−1, xk(0)=ck, and ck is a specific value selected for each row and is further dependent on the value for n. For the permutation in each row, the i-th bit in the row is placed in location x(i). The bits in the array are then read out by column.
The LCS code interleaving scheme is described in further detail in commonly assigned U.S. patent application Ser. No. 09/205,511, entitled “Turbo Code Interleaver Using Linear Congruential Sequences,” filed Dec. 4, 1998, and in a cdma2000 document entitled “C.S0002-A-1 Physical Layer Standard for cdma2000 Spread Spectrum Systems,” both of which are incorporated herein by reference. Other code interleavers may also be used and are within the scope of the invention. For example, a random interleaver or a symmetrical-random (S-random) interleaver may also be used instead of the LCS interleaver described above.
Inner convolutional encoder 312b receives and further codes the interleaved bits from code interleaver 314 with a particular inner code of code rate Ri. In an embodiment, encoder 312b implements a recursive code to fully realize the benefit of the significant interleaving gain provided by code interleaver 314. The inner code does not need to be a powerful code since the key desired property is recursiveness. In fact, the inner code may simply be a rate-1 differential code. The overall code rate for serial concatenated convolutional encoder 212x is RSCCC=Ro·Ri.
FIG. 3B is a block diagram of an embodiment of a parallel concatenated convolutional encoder 212y, which may also be used for each of encoders 212 in FIGS. 2A and 2B. Encoder 212y includes two constituent convolutional encoder 312c and 312d, a code interleaver 324, a puncturing element 326, and a parallel-to-serial (P/S) converter 328. Code interleaver 324 interleaves the information bits in accordance with a particular (i.e., pseudo-random) interleaving scheme, and may be implemented as described above for code interleaver 314.
As shown in FIG. 3B, the information bits are provided to convolutional encoder 312c and the interleaved information bits are provided to convolutional encoder 312d. Each encoder 312 codes the received bits based on a particular constituent code and provides a respective stream of parity bits. Encoders 312c and 312d may be implemented with two recursive systematic constituent codes with code rates of R1 and R2, respectively. The recursive codes maximize the benefits provided by the interleaving gain.
The parity bits by and bz from encoders 312c and 312d, respectively, are provided to puncturing element 326, which punctures (i.e., deletes) zero or more of the parity bits to provide the desired number of output bits. Puncturing element 326 is an optional element that may be used to adjust the overall code rate, RPCCC, of the parallel concatenated convolutional encoder, which is given by 1/RPCCC=1/R1+1/R2−1.
The information bits (which are also referred to as the systematic bits), and the punctured parity bits from convolutional encoders 312c and 312d are provided to P/S converter 328 and serialized into a coded bit stream that is provided to the next processing element.
FIG. 3C is a block diagram of an embodiment of a recursive convolutional encoder 312x, which may be used for each of encoders 312a through 312d in FIGS. 3A and 3B. Encoder 312x may also be used for each of encoders 212 in FIGS. 2A and 2B.
In the embodiment shown in FIG. 3C, encoder 312x implements the following transfer function for the recursive convolutional code:




  
    
      G
      ⁢
      
        (
        D
        )
      
    
    =
    
      [
      
        1
        ⁢
        
          
            n
            ⁢
            
              (
              D
              )
            
          
          
            d
            ⁢
            
              (
              D
              )
            
          
        
      
      ]
    
  
  ,




where

n(D)=1+D+D3, and

d(D)=1+D2+D3.

Encoder 312x may also be designed to implement other convolutional codes, and this is within the scope of the invention.

Encoder 312x includes a number of series-coupled delay elements 332, a number of modulo-2 adders 334, and a switch 336. Initially, the states of delay elements 332 are set to zeros and switch 336 is in the up position. Then, for each received bit in a packet, adder 334a performs modulo-2 addition of the received bit with the output bit from adder 334c and provides the result to delay element 332a. Adder 334b performs modulo-2 addition of the bits from adder 334a and delay elements 332a and 332c and provides the parity bit. Adder 334c performs modulo-2 addition of the bits from delay elements 332b and 332c. 
After all NI information bits in the packet have been coded, switch 336 is moved to the down position and three zero (“0”) bits are provided to encoder 312x. Encoder 312x then codes the three zero bits and provides three tail systematic bits and three tail parity bits.
It can be shown analytically and via computer simulations that SCCCs provide better performance than PCCCs in additive white Gaussian noise (AWGN) channels at medium to high SNR levels, which is typically the desired operating region for MIMO systems. While the BER for PCCCs asymptotically reaches an error floor, this floor is absent or much lower for SCCCs. PCCCs outperform SCCCs in the high BER region, and may be more suitably used when the system loads approach the capacity limits of the channel at low SNRs. Both PCCCs and SCCCs may be implemented using relatively simple constituent codes (e.g., having constraint lengths of 3 to 16), such as the one shown in FIG. 3C.
Channel Interleaving
Referring back to FIGS. 2A and 2B, the coded bits from each encoder 212 are interleaved by a respective channel interleaver 214 to provide temporal, frequency, and/or spatial diversity against deleterious path effects (e.g., fading and multipath). Moreover, since the coded bits are subsequently grouped together to form non-binary symbols that are then mapped to M-ary modulation symbols, the interleaving may be used to ensure that the coded bits that form each modulation symbol are not located close to each other temporally (i.e., the channel interleaving distributes the coded bits that are temporally close together in a pseudo-random manner among modulation symbols that may be transmitted over different frequency subchannels, spatial subchannels, and/or transmission symbol periods). The combination of encoding, channel interleaving and symbol mapping (especially anti-Gray mapping) may be viewed as a serial concatenated code, where the symbol mapper takes on the role of the inner code. The channel interleaver provides interleaving gain in much the same way as in an SCCC, as described earlier. This potential for performance gain is unlocked by the iterative receiver structure described below. The channel interleaving can provide improved performance for various coding and modulation schemes, such as a single common coding and modulation scheme for all transmit antennas or separate coding and modulation scheme per antenna.
Various interleaving schemes may be used for the channel interleaver. In one interleaving scheme, the coded bits for each packet are written (linearly) to rows of an array. The bits in each row may then be permutated (i.e., rearranged) based on (1) a bit-reversal rule, (2) a linear congruential sequence (such as the one described above for the code interleaver), (3) a randomly generated pattern, or (4) a permutation pattern generated in some other manner. The rows are also permutated in accordance with a particular row permutation pattern. The permutated coded bits are then retrieved from each column of the array and provided to the next processing element. Other channel interleaving schemes may also be used and this is within the scope of the invention.
In an embodiment, the channel interleaving is performed separately for each independently coded data stream. For the PCCCs, the information bits and the tail and parity bits for each packet may also be channel interleaved separately. For example, the information bits bx, the tail and parity bits by from the first constituent encoder 312c, and the tail and parity bits bz from the second constituent encoder 312d may be interleaved by three separate channel interleavers, which may employ the same or different interleaving schemes. This separate channel interleaving allows for flexible puncturing of the individual parity bits.
The interleaving interval may be selected to provide the desired temporal, frequency, and/or spatial diversity, or any combination thereof. For example, the coded bits for a particular time period (e.g., 10 msec, 20 msec, and so on) and for a particular combination of transmission channels may be interleaved. The channel interleaving may be performed for each transmit antenna, or across each group of transmit antennas or across all transmit antennas to provide spatial diversity. The channel interleaving may also be performed for each frequency subchannel, or across each group of frequency subchannels or across all frequency subchannels to provide frequency diversity. The channel interleaving may also be performed across each group of one or more frequency subchannels of each group of one or more transmit antennas such that the coded bits from one data stream may be distributed over one or more frequency subchannels of one or more transmit antennas to provide a combination of temporal, frequency, and spatial diversity. The channel interleaving may also be performed across all frequency subchannels of all transmit antennas.
Receiver System
FIG. 4A is a block diagram of an embodiment of a receiver unit 400a, which is an embodiment of the receiver portion of receiver system 150 in FIG. 1. In this embodiment, a single demodulation scheme is used for all NF frequency subchannels of all NT transmit antennas and a single decoding scheme is used for all transmit antennas. Receiver unit 400a may thus be used to receive a data transmission from transmitter unit 200a in FIG. 2A.
The signals transmitted from the NT transmit antennas are initially received by each of NR antennas 152a through 152r and routed to a respective receiver 154 (which is also referred to as a front-end unit). Each receiver 154 conditions (e.g., filters, amplifies, and downconverts) a respective received signal and further digitizes the conditioned signal to provide data samples. Each receiver 154 may further demodulate the data samples with a recovered pilot to provide a stream of received transmission symbols, which is provided to a demodulator 156a. 
In the specific embodiment shown in FIG. 4A, demodulator 156a includes NR OFDM demodulators, with each OFDM demodulator assigned to process a respective transmission symbol stream from one receive antenna. Each OFDM demodulator includes a cyclic prefix remover 412 and a fast Fourier transformer (FFT) 414. Cyclic prefix remover 412 removes the cyclic prefix previously appended to each OFDM symbol by the transmitter system to ensure ISI-free reception of the transmitted modulation symbols. FFT 414 then transforms each received OFDM symbol to provide a vector of NF received modulation symbols for the NF frequency subchannels used to transmit the OFDM symbol. The NR modulation symbol vectors from all NR OFDM demodulators for each transmission symbol period are provided to a detector/decoder 158a, which is one embodiment of detector/decoder 158 in FIG. 1.
In the embodiment shown in FIG. 4A, detector/decoder 158a includes a detector 420a and a decoder 430 that perform iterative detection and decoding on the modulation symbols received from all NR receive antennas to provide decoded data. The iterative detection and decoding exploits the error correction capabilities of the channel code to provide improved performance. This is achieved by iteratively passing soft “a priori” information between the soft-input soft-output (SISO) detector 420a and the soft-input soft-output decoder 430, as described in further detail below.
Detector 420a receives the modulation symbols from demodulator 156a and a priori information from decoder 430 and derives soft-decision (i.e., multi-bit) symbols for all NF frequency subchannels of all NT transmit antennas, with each such soft-decision symbol being an estimate of a coded bit transmitted by the transmitter system. As described in further detail below, the soft-decision symbols may be represented as log-likelihood ratios (LLRs), which are denoted as L(bk) in FIG. 4A.
For each transmission symbol period, detector 420a provides up to NB soft-decision symbols to NB respective summers 422, where NB=NT·NF·q and q is dependent on the specific modulation scheme used for the data transmission. Each summer 422 also receives the a priori information for its coded bit bk from decoder 430 (which is referred to as the detector a priori information and denoted as La(bk)), and subtracts this detector a priori information from the received soft-decision symbol to derive extrinsic information for the coded bit (denoted as Le(bk)). The extrinsic information for all (NT·NF·q) coded bits is then (1) converted from parallel to serial by a P/S converter 424, (2) deinterleaved by a channel deinterleaver 426 in a manner complementary to the channel interleaving performed at the transmitter system, and (3) provided as a priori information from the detector to the decoder (which is referred to as the decoder a priori information and denoted as LaD(bk)).
Decoder 430 uses the decoder a priori information in the decoding process and provides the decoded data. Decoder 430 further provides “a posteriori” information (denoted as LD(bk)) to a summer 432. Summer 432 then subtracts the decoder a priori information, LaD(bk), from the decoder a posteriori information, LD(bk), to derive extrinsic information from the decoder for the detector (denoted as LeD(bk)). This detector extrinsic information is then interleaved by a channel interleaver 434, converted from serial to parallel by a S/P converter 436, and provided as the detector a priori information, La(bk), to detector 420a and summers 422.
To briefly summarize, the output of the detection process may be expressed as:

Le(bk)=L(bk)−La(bk),  Eq (1)

where

    
    
        L(bk) represents the soft-decision symbol for the k-th coded bit bk;
        La(bk) represents the detector a priori information for the k-th coded bit, which is provided by the decoder; and
        Le(bk) represents the extrinsic information for the k-th coded bit provided by the detector to the decoder.

The output of the decoding process may similarly be expressed as:

LeD(bk)=LD(bk)−LaD(bk),  Eq (2)

where

        LD(bk) represents the a posteriori information for the k-th coded bit provided by the decoder;
        LaD(bk) represents the decoder a priori information for the k-th coded bit provided by the detector; and
        LeD(bk) represents the extrinsic information for the k-th coded bit provided by the decoder to the detector.
    
    


As shown in FIG. 4A, the decoder a priori information, LaD(bk), is simply the detector extrinsic information, Le(bk), after the parallel-to-serial conversion and channel deinterleaving. Similarly, the detector a priori information, La(bk), is simply the decoder extrinsic information, LeD(bk), after the channel interleaving and serial-to-parallel conversion.
The detection and decoding process may be iterated a number of times. During the iterative detection and decoding process, the reliability of the bit decisions is improved with each iteration. The iterative detection and decoding process described herein may be used to combat frequency selective fading (e.g., by using OFDM with cyclic prefix) as well as flat fading (without any modifications). Moreover, the iterative detection and decoding process may be flexibly used with various types of coding and modulation schemes, including the serial and parallel concatenated convolutional codes as described above.
In FIG. 4A, detector 420a provides soft-decision symbols for the transmitted coded bits based on the modulation symbols received from the NR receive antennas as well as the a priori information fed back from decoder 430. The soft-decision symbols may be conveniently represented in the form of log-likelihood ratios (LLRs) and include channel information, extrinsic information, and a priori information. The channel information for each coded bit includes information about the channel response between the transmit and receive antennas. The extrinsic information for each coded bit comprises incremental information about that coded bit that is extracted from other coded bits in the detection process. And the a priori information for each coded bit includes information about the coded bit that is known or derived outside the detection process.
In an embodiment, only the channel information and extrinsic information are passed from the detector to the decoder where, after parallel-to-serial conversion and channel deinterleaving, they are used as a priori information in the decoding process. For simplicity, the channel information and extrinsic information are collectively referred to as simply the extrinsic information. Ideally, the decoder a priori information should be provided by an independent source. However, since such a source is not available, an independent source may be mimicked by minimizing the correlation between the decoder a priori information (i.e., the detector output) and previous decisions made by the decoder (i.e., the detector a priori information). This is achieved by subtracting the detector a priori information from the soft-decision symbols derived by the detector, using summers 422 as shown in FIG. 4A.
LLR Computation by Detector
The modulation symbol received from the output of the OFDM demodulator coupled to the m-th receive antenna for the l-th frequency subchannel at time index j (i.e., transrmission symbol period j) may be expressed as:




  
    
      
        
          
            
              r
              
                m
                ,
                l
              
            
            ⁡
            
              (
              j
              )
            
          
          =
          
            
              
                ∑
                
                  n
                  =
                  1
                
                
                  N
                  T
                
              
              ⁢
              
                
                  
                    h
                    
                      n
                      ,
                      m
                      ,
                      l
                    
                  
                  ⁡
                  
                    (
                    j
                    )
                  
                
                ·
                
                  
                    c
                    
                      n
                      ,
                      l
                    
                  
                  ⁡
                  
                    (
                    j
                    )
                  
                
              
            
            +
            
              
                n
                
                  m
                  ,
                  l
                
              
              ⁡
              
                (
                j
                )
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          3
          )
        
      
    
  




where

    
    
        hn,m,l(j) is the channel response between the n-th transmit antenna and the m-th receive antenna for the l-th frequency subchannel at time index j;
        cn,l(j) is the modulation symbol transmitted on the l-th frequency subchannel of the n-th transmit antenna; and
        nm,l(j) is a sample function of a zero-mean, temporally and spatially white Gaussian noise process.

To simplify notation, the time index j is dropped in the following derivations.

    
    


Equation (3) may be expressed in matrix form, as follows:

rl=Hlcl+nl, for l=0, 1, 2, . . . , NF−1,  Eq (4)

where

    
    
        rl=[r1,lr2,l . . . rNR,l]T is a vector of NR modulation symbols received from the NR receive antennas for the l-th frequency subchannel;
        Hl is the NR×NT matrix of channel gains {hn,m,l} for the l-th frequency subchannel, where hn,m,l denotes the complex channel gain between the n-th transmit antenna and the m-th receive antenna for the l-th frequency subchannel;
        cl=[c1,l c2,1 . . . cNT,l]T is a vector of NT modulation symbols transmitted from the NT transmit antennas for the l-th frequency subchannel;
        nl=[n1,l n2,l . . . nNR,l]T is a vector of NR noise samples for the NR receive antennas for the l-th frequency subchannel; and
        “T” denotes the transposition.
    
    


The modulation symbols received from all NF frequency subchannels of all NR receive antennas for each time index may be expressed as:

r=[r0T r1T . . . rNF−1T]T.  Eq (5)

The NF·NR received modulation symbols in r correspond to the NF·NT transmitted modulation symbols, which may be expressed as:

c=[c1T c2T . . . cNTT]T.  Eq (6)

As noted above, each modulation symbol is formed by a respective group of q coded bits. The NF·NR received modulation symbols in r thus further correspond to the NF·NT·q transmitted coded bits, which may be expressed as:

b=[b1T, b2T, . . . bNTT]T,  Eq (7)

where the coded bits transmitted from the n-th transmit antenna may be expressed as

bn=[bn,0,1 . . . bn,0,q bn,1,1 . . . bn,1,q . . . bn,NF−1,1 . . . bn,NF−1,q]T.

The detector computes the LLRs for each transmitted coded bit bn,l,i, as follows:




  
    
      
        
          
            L
            ⁡
            
              (
              
                b
                
                  n
                  ,
                  l
                  ,
                  i
                
              
              )
            
          
          =
          
            ln
            ⁢
            
              
                
                  Pr
                  ⁢
                  
                    {
                    
                      
                        b
                        
                          n
                          ,
                          l
                          ,
                          i
                        
                      
                      =
                      
                        +
                        1
                      
                    
                    
                  
                  ⁢
                  
                    
                      r
                      _
                    
                    _
                  
                
                }
              
              
                
                  Pr
                  ⁢
                  
                    {
                    
                      
                        b
                        
                          n
                          ,
                          l
                          ,
                          i
                        
                      
                      =
                      
                        -
                        1
                      
                    
                    
                  
                  ⁢
                  
                    
                      r
                      _
                    
                    _
                  
                
                }
              
            
          
        
        ,
        
          
            
              
                
                  
                    for
                    ⁢
                    
                      
                    
                    ⁢
                    n
                  
                  =
                  1
                
                ,
                2
                ,
                ...
                ⁢
                
                  
                
                ,
                
                  N
                  T
                
                ,
                
                  l
                  =
                  0
                
                ,
                1
                ,
                ...
                ,
                
                  
                    N
                    F
                  
                  -
                  1
                
                ,
              
            
          
          
            
              
                
                  
                    and
                    ⁢
                    
                      
                    
                    ⁢
                    i
                  
                  =
                  1
                
                ,
                2
                ,
                ...
                ⁢
                
                  
                
                ,
                
                  q
                  .
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          8
          )
        
      
    
  




As shown in equation (8), the LLR for a given coded bit, L(bn,l,i), is computed as the (natural) logarithm of the ratio of the probability of the coded bit bn,l,i being a +1 given the received modulation symbols r, Pr{bn,l,i=+1|r}, over the probability of the coded bit bn,l,i being a −1 given the received modulation symbols r, Pr{bn,l,i=−1|r}. The probabilities for each coded bit are derived based on the received modulation symbol containing that bit and the sequence of coded bits received for r, as derived below.

The following equalities may be expressed:




  
    
      
        
          
            
              
                
                  Pr
                  ⁢
                  
                    {
                    
                      
                        b
                        
                          n
                          ,
                          l
                          ,
                          i
                        
                      
                      =
                      
                        ±
                        1
                      
                    
                    
                  
                  ⁢
                  
                    
                      r
                      _
                    
                    _
                  
                
                }
              
              ⁢
              Pr
              ⁢
              
                {
                
                  
                    r
                    _
                  
                  _
                
                }
              
            
          
        
        
          
            
              =
              
                
                  ∑
                  
                    
                      
                        
                          b
                          _
                        
                        _
                      
                      :
                      
                        b
                        
                          n
                          ,
                          l
                          ,
                          i
                        
                      
                    
                    =
                    
                      ±
                      1
                    
                  
                
                ⁢
                
                  Pr
                  ⁢
                  
                    {
                    
                      
                        
                          r
                          _
                        
                        _
                      
                      ,
                      
                        
                          b
                          _
                        
                        _
                      
                    
                    }
                  
                
              
            
          
        
        
          
            
              =
              
                
                  
                    ∑
                    
                      
                        
                          
                            c
                            _
                          
                          _
                        
                        :
                        
                          
                            c
                            _
                          
                          _
                        
                      
                      =
                      
                        f
                        ⁡
                        
                          (
                          
                            
                              b
                              _
                            
                            _
                          
                          )
                        
                      
                    
                  
                  
                    
                      b
                      
                        n
                        ,
                        l
                        ,
                        i
                      
                    
                    =
                    
                      ±
                      1
                    
                  
                
                ⁢
                
                  Pr
                  ⁢
                  
                    {
                    
                      
                        
                          r
                          _
                        
                        _
                      
                      ,
                      
                        
                          c
                          _
                        
                        _
                      
                    
                    }
                  
                
              
            
          
        
        
          
            
              
                
                  
                    =
                    
                      
                        
                          ∑
                          
                            
                              
                                
                                  c
                                  _
                                
                                _
                              
                              :
                              
                                
                                  c
                                  _
                                
                                _
                              
                            
                            =
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    b
                                    _
                                  
                                  _
                                
                                )
                              
                            
                          
                        
                        
                          
                            b
                            
                              n
                              ,
                              l
                              ,
                              i
                            
                          
                          =
                          
                            ±
                            1
                          
                        
                      
                      ⁢
                      
                        Pr
                        ⁢
                        
                          
                            {
                            
                              
                                r
                                _
                              
                              _
                            
                          
                          
                        
                        ⁢
                        
                          
                            c
                            _
                          
                          _
                        
                      
                    
                  
                  }
                
                ⁢
                Pr
                ⁢
                
                  {
                  
                    
                      c
                      _
                    
                    _
                  
                  }
                
              
              ,
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          9
          )
        
      
    
  




where f(·) represents the symbol mapping from the coded bits b to the modulation symbols c. The LLRs may then be expressed as:





  
    
      
        
          L
          ⁡
          
            (
            
              b
              
                n
                ,
                l
                ,
                i
              
            
            )
          
        
        =
        
          ln
          ⁢
          
            
              
                
                  
                    
                      
                        ∑
                        
                          
                            
                              
                                c
                                _
                              
                              _
                            
                            :
                            
                              
                                c
                                _
                              
                              _
                            
                          
                          =
                          
                            f
                            ⁡
                            
                              (
                              
                                
                                  b
                                  _
                                
                                _
                              
                              )
                            
                          
                        
                      
                      
                        
                          b
                          
                            n
                            ,
                            l
                            ,
                            i
                          
                        
                        =
                        
                          +
                          1
                        
                      
                    
                    ⁢
                    
                      Pr
                      ⁢
                      
                        
                          {
                          
                            
                              r
                              _
                            
                            _
                          
                        
                        
                      
                      ⁢
                      
                        
                          c
                          _
                        
                        _
                      
                    
                  
                  }
                
                ⁢
                Pr
                ⁢
                
                  {
                  
                    
                      c
                      _
                    
                    _
                  
                  }
                
              
              
                
                  
                    
                      
                        ∑
                        
                          
                            
                              
                                c
                                _
                              
                              _
                            
                            :
                            
                              
                                c
                                _
                              
                              _
                            
                          
                          =
                          
                            f
                            ⁡
                            
                              (
                              
                                
                                  b
                                  _
                                
                                _
                              
                              )
                            
                          
                        
                      
                      
                        
                          b
                          
                            n
                            ,
                            l
                            ,
                            i
                          
                        
                        =
                        
                          -
                          1
                        
                      
                    
                    ⁢
                    
                      Pr
                      ⁢
                      
                        
                          {
                          
                            
                              r
                              _
                            
                            _
                          
                        
                        
                      
                      ⁢
                      
                        
                          c
                          _
                        
                        _
                      
                    
                  
                  }
                
                ⁢
                Pr
                ⁢
                
                  {
                  
                    
                      c
                      _
                    
                    _
                  
                  }
                
              
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          10
          )
        
      
    
  




In the first iteration of the iterative detection and decoding process, it is assumed that all points in the signal constellation are equally likely. Hence, the term Pr{c} can be removed from the numerator and denominator of equation (10). In subsequent iterations, however, the only assumption is that the transmitted modulation symbols are independent. Furthermore, since the coded bits that make up the modulation symbols are interleaved, it is assumed that the bit probabilities are independent. Based on these assumptions, the term Pr{c} may expressed as:




  
    
      
        
          
            Pr
            ⁢
            
              {
              
                
                  c
                  _
                
                _
              
              }
            
          
          =
          
            
              
                ∏
                
                  n
                  =
                  1
                
                
                  N
                  T
                
              
              ⁢
              
                
                  
                
                ⁢
                
                  
                    ∏
                    
                      l
                      =
                      0
                    
                    
                      
                        N
                        F
                      
                      -
                      1
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      ∏
                      
                        i
                        =
                        1
                      
                      q
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      Pr
                      ⁢
                      
                        {
                        
                          b
                          
                            n
                            ,
                            l
                            ,
                            i
                          
                        
                        }
                      
                    
                  
                
              
            
            =
            
              
                ∏
                
                  p
                  =
                  1
                
                
                  
                    N
                    T
                  
                  ⁢
                  
                    N
                    F
                  
                  ⁢
                  q
                
              
              ⁢
              
                
              
              ⁢
              
                Pr
                ⁢
                
                  {
                  
                    b
                    p
                  
                  }
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          11
          )
        
      
    
  




where a change in notation of variables is made (i.e., p={n,l,i}) in the term to the right of the equality to simplify notation.

The received modulation symbols r1,1, r2,1, . . . , rNR,NF−1 are conditionally independent given c. The term Pr{r|c} may then be expressed as:




  
    
      
        
          
            Pr
            ⁢
            
              {
              
                
                  r
                  =
                
                |
                
                  c
                  =
                
              
              }
            
          
          =
          
            
              
                ∏
                
                  m
                  =
                  1
                
                
                  N
                  R
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∏
                  
                    l
                    =
                    0
                  
                  
                    
                      N
                      F
                    
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  Pr
                  ⁢
                  
                    {
                    
                      
                        r
                        
                          m
                          ,
                          l
                        
                      
                      |
                      
                        c
                        =
                      
                    
                    }
                  
                
              
            
            =
            
              
                ∏
                
                  m
                  =
                  1
                
                
                  N
                  R
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∏
                  
                    l
                    =
                    0
                  
                  
                    
                      N
                      F
                    
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  exp
                  ⁡
                  
                    (
                    
                      
                        -
                        
                          1
                          
                            2
                            ⁢
                            
                              σ
                              2
                            
                          
                        
                      
                      |
                      
                        
                          r
                          
                            m
                            ,
                            l
                          
                        
                        -
                        
                          
                            ∑
                            
                              n
                              =
                              1
                            
                            
                              N
                              T
                            
                          
                          ⁢
                          
                            
                          
                          ⁢
                          
                            
                              h
                              
                                n
                                ,
                                m
                                ,
                                l
                              
                            
                            ·
                            
                              c
                              
                                n
                                ,
                                l
                              
                            
                          
                        
                      
                      ⁢
                      
                        |
                        2
                      
                    
                    )
                  
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          12
          )
        
      
    
  




where σ2 is the noise spectral density given by σ2=N0/2.

Substituting equations (11) and (12) into equation (10), the LLR for the k-th coded bit may then be expressed as:




  
    
      
        
          
            L
            ⁡
            
              (
              
                b
                k
              
              )
            
          
          =
          
            ln
            ⁢
            
              
                
                  
                    
                      
                        
                          ∑
                          
                            
                              
                                
                                  c
                                  _
                                
                                _
                              
                              :
                              
                                
                                  c
                                  _
                                
                                _
                              
                            
                            =
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    b
                                    _
                                  
                                  _
                                
                                )
                              
                            
                          
                        
                        
                          
                            b
                            k
                          
                          =
                          
                            +
                            1
                          
                        
                      
                      ⁢
                      
                        [
                        
                          
                            ∏
                            
                              m
                              =
                              1
                            
                            
                              N
                              R
                            
                          
                          ⁢
                          
                            
                          
                          ⁢
                          
                            ∏
                            
                              l
                              =
                              0
                            
                            
                              
                                N
                                F
                              
                              -
                              1
                            
                          
                        
                      
                    
                  
                
                
                  
                    
                      
                        exp
                        ⁢
                        
                          (
                          
                            
                              -
                              
                                1
                                
                                  2
                                  ⁢
                                  
                                    σ
                                    2
                                  
                                
                              
                            
                            ⁢
                            
                              
                                
                                
                                  
                                    r
                                    
                                      m
                                      ,
                                      l
                                    
                                  
                                  -
                                  
                                    
                                      ∑
                                      
                                        n
                                        =
                                        1
                                      
                                      
                                        N
                                        T
                                      
                                    
                                    ⁢
                                    
                                      
                                        h
                                        
                                          n
                                          ,
                                          m
                                          ,
                                          l
                                        
                                      
                                      ·
                                      
                                        c
                                        
                                          n
                                          ,
                                          l
                                        
                                      
                                    
                                  
                                
                                
                              
                              2
                            
                          
                          )
                        
                        ⁢
                        
                          
                            ∏
                            
                              p
                              =
                              1
                            
                            
                              
                                N
                                T
                              
                              ⁢
                              
                                N
                                F
                              
                              ⁢
                              q
                            
                          
                          ⁢
                          
                            Pr
                            ⁢
                            
                              {
                              
                                b
                                p
                              
                              }
                            
                          
                        
                      
                      ]
                    
                  
                
              
              
                
                  
                    
                      
                        
                          ∑
                          
                            
                              
                                
                                  c
                                  _
                                
                                _
                              
                              :
                              
                                
                                  c
                                  _
                                
                                _
                              
                            
                            =
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    b
                                    _
                                  
                                  _
                                
                                )
                              
                            
                          
                        
                        
                          
                            b
                            k
                          
                          =
                          
                            -
                            1
                          
                        
                      
                      ⁢
                      
                        [
                        
                          
                            ∏
                            
                              m
                              =
                              1
                            
                            
                              N
                              R
                            
                          
                          ⁢
                          
                            
                          
                          ⁢
                          
                            ∏
                            
                              l
                              =
                              0
                            
                            
                              
                                N
                                F
                              
                              -
                              1
                            
                          
                        
                      
                    
                  
                
                
                  
                    
                      
                        exp
                        ⁢
                        
                          (
                          
                            
                              -
                              
                                1
                                
                                  2
                                  ⁢
                                  
                                    σ
                                    2
                                  
                                
                              
                            
                            ⁢
                            
                              
                                
                                
                                  
                                    r
                                    
                                      m
                                      ,
                                      l
                                    
                                  
                                  -
                                  
                                    
                                      ∑
                                      
                                        n
                                        =
                                        1
                                      
                                      
                                        N
                                        T
                                      
                                    
                                    ⁢
                                    
                                      
                                        h
                                        
                                          n
                                          ,
                                          m
                                          ,
                                          l
                                        
                                      
                                      ·
                                      
                                        c
                                        
                                          n
                                          ,
                                          l
                                        
                                      
                                    
                                  
                                
                                
                              
                              2
                            
                          
                          )
                        
                        ⁢
                        
                          
                            ∏
                            
                              p
                              =
                              1
                            
                            
                              
                                N
                                T
                              
                              ⁢
                              
                                N
                                F
                              
                              ⁢
                              q
                            
                          
                          ⁢
                          
                            Pr
                            ⁢
                            
                              {
                              
                                b
                                p
                              
                              }
                            
                          
                        
                      
                      ]
                    
                  
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          13
          )
        
      
    
  




where k={n,l,i}. Equation (13) may further be decomposed as follows:





  
    
      
        
          
            
              
                L
                ⁡
                
                  (
                  
                    b
                    k
                  
                  )
                
              
              =
              
              ⁢
              
                
                  ln
                  ⁢
                  
                    
                      
                        
                          ∑
                          
                            
                              
                                
                                  c
                                  _
                                
                                _
                              
                              :
                              
                                
                                  c
                                  _
                                
                                _
                              
                            
                            =
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    b
                                    _
                                  
                                  _
                                
                                )
                              
                            
                          
                        
                        
                          
                            b
                            k
                          
                          =
                          
                            +
                            1
                          
                        
                      
                      ⁢
                      
                        [
                        
                          
                            ∏
                            
                              m
                              =
                              1
                            
                            
                              N
                              R
                            
                          
                          ⁢
                          
                            
                              
                            
                            ⁢
                            
                              
                                ∏
                                
                                  l
                                  =
                                  0
                                
                                
                                  
                                    N
                                    F
                                  
                                  -
                                  1
                                
                              
                              ⁢
                              
                                
                                  exp
                                  ⁡
                                  
                                    (
                                    
                                      β
                                      
                                        m
                                        ,
                                        l
                                      
                                    
                                    )
                                  
                                
                                ⁢
                                
                                  
                                    ∏
                                    
                                      
                                        p
                                        =
                                        1
                                      
                                      
                                        p
                                        ≠
                                        k
                                      
                                    
                                    
                                      
                                        N
                                        T
                                      
                                      ⁢
                                      
                                        N
                                        F
                                      
                                      ⁢
                                      q
                                    
                                  
                                  ⁢
                                  
                                    Pr
                                    ⁢
                                    
                                      {
                                      
                                        b
                                        p
                                      
                                      }
                                    
                                  
                                
                              
                            
                          
                        
                        ]
                      
                    
                    
                      
                        
                          ∑
                          
                            
                              
                                
                                  c
                                  _
                                
                                _
                              
                              :
                              
                                
                                  c
                                  _
                                
                                _
                              
                            
                            =
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    b
                                    _
                                  
                                  _
                                
                                )
                              
                            
                          
                        
                        
                          
                            b
                            k
                          
                          =
                          
                            -
                            1
                          
                        
                      
                      ⁢
                      
                        [
                        
                          
                            ∏
                            
                              m
                              =
                              1
                            
                            
                              N
                              R
                            
                          
                          ⁢
                          
                            
                              
                            
                            ⁢
                            
                              
                                ∏
                                
                                  l
                                  =
                                  0
                                
                                
                                  
                                    N
                                    F
                                  
                                  -
                                  1
                                
                              
                              ⁢
                              
                                
                                  exp
                                  ⁡
                                  
                                    (
                                    
                                      β
                                      
                                        m
                                        ,
                                        l
                                      
                                    
                                    )
                                  
                                
                                ⁢
                                
                                  
                                    ∏
                                    
                                      
                                        p
                                        =
                                        1
                                      
                                      
                                        p
                                        ≠
                                        k
                                      
                                    
                                    
                                      
                                        N
                                        T
                                      
                                      ⁢
                                      
                                        N
                                        F
                                      
                                      ⁢
                                      q
                                    
                                  
                                  ⁢
                                  
                                    Pr
                                    ⁢
                                    
                                      {
                                      
                                        b
                                        p
                                      
                                      }
                                    
                                  
                                
                              
                            
                          
                        
                        ]
                      
                    
                  
                
                +
              
            
          
        
        
          
            
              
              ⁢
              
                
                  ln
                  ⁢
                  Pr
                  ⁢
                  
                    
                      {
                      
                        
                          b
                          k
                        
                        =
                        
                          +
                          1
                        
                      
                      }
                    
                    
                      Pr
                      ⁢
                      
                        {
                        
                          
                            b
                            k
                          
                          =
                          
                            -
                            1
                          
                        
                        }
                      
                    
                  
                
                ,
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    L
                    e
                  
                  ⁡
                  
                    (
                    
                      b
                      k
                    
                    )
                  
                
                +
                
                  
                    L
                    a
                  
                  ⁡
                  
                    (
                    
                      b
                      k
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          14
          )
        
      
    
  




where





  
    β
    
      m
      ,
      l
    
  
  =
  
    
      -
      
        1
        
          2
          ⁢
          
            σ
            2
          
        
      
    
    ⁢
    
      
        
          
          
            
              r
              
                m
                ,
                l
              
            
            -
            
              
                ∑
                
                  n
                  =
                  1
                
                
                  N
                  T
                
              
              ⁢
              
                
                  h
                  
                    n
                    ,
                    m
                    ,
                    l
                  
                
                ·
                
                  c
                  
                    n
                    ,
                    l
                  
                
              
            
          
          
        
        2
      
      .
    
  




As shown in equation (14), the LLR for the k-th coded bit, L(bk), may be decomposed into two parts. The term La(bk) represents the a priori information for the k-th coded bit computed by the decoder and fed back to the detector. This detector a priori information is expressed in the form of a priori LLRs, which may be expressed as:




  
    
      
        
          
            L
            a
          
          ⁡
          
            (
            
              b
              k
            
            )
          
        
        =
        
          ln
          ⁢
          
            
              
                Pr
                ⁢
                
                  {
                  
                    
                      b
                      k
                    
                    =
                    
                      +
                      1
                    
                  
                  }
                
              
              
                Pr
                ⁢
                
                  {
                  
                    
                      b
                      k
                    
                    =
                    
                      -
                      1
                    
                  
                  }
                
              
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          15
          )
        
      
    
  




The term Le(bk) represents the extrinsic information for the k-th coded bit computed by the detector and fed forward to the decoder. The product of the a priori probabilities, ΠPr{bp}, in equation (14) may be expressed as:




  
    
      
        
          
            
              ∏
              
                
                  
                    p
                    =
                    1
                  
                  
                    p
                    ≠
                    k
                  
                
                ⁢
                
                  

                
              
              
                
                  N
                  T
                
                ⁢
                
                  N
                  
                    F
                    q
                  
                
              
            
            ⁢
            
              Pr
              ⁢
              
                {
                
                  b
                  p
                
                }
              
            
          
          =
          
            
              C
              ·
              
                exp
                ⁡
                
                  (
                  
                    
                      ∑
                      
                        
                          p
                          =
                          1
                        
                        
                          p
                          ≠
                          k
                        
                      
                      
                        
                          N
                          T
                        
                        ⁢
                        
                          N
                          
                            F
                            q
                          
                        
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        1
                        2
                      
                      ⁢
                      
                        b
                        p
                      
                      ⁢
                      
                        
                          L
                          a
                        
                        ⁡
                        
                          (
                          
                            b
                            p
                          
                          )
                        
                      
                    
                  
                  )
                
              
            
            =
            
              C
              ·
              
                exp
                ⁡
                
                  (
                  α
                  )
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          16
          )
        
      
    
  




where C is a constant and





  α
  =
  
    
      ∑
      
        
          p
          =
          1
        
        ,
        
          p
          ≠
          k
        
      
      
        
          N
          T
        
        ⁢
        
          N
          F
        
        ⁢
        q
      
    
    ⁢
    
      
    
    ⁢
    
      
        1
        2
      
      ⁢
      
        b
        p
      
      ⁢
      
        
          
            L
            a
          
          ⁡
          
            (
            
              b
              p
            
            )
          
        
        .
      
    
  




Hence, the detector extrinsic information, Le(bk), may be expressed in terms of the detector a priori LLRs, as follows:





  
    
      
        
          
            L
            e
          
          ⁡
          
            (
            
              b
              k
            
            )
          
        
        =
        
          ln
          ⁢
          
            
              
                
                  ∑
                  
                    
                      
                        
                          
                            
                              c
                              
                                _
                                _
                              
                            
                            :
                            c
                          
                          =
                          
                            f
                            ⁡
                            
                              (
                              
                                b
                                
                                  _
                                  _
                                
                              
                              )
                            
                          
                        
                      
                    
                    
                      
                        
                          
                            b
                            k
                          
                          =
                          
                            +
                            1
                          
                        
                      
                    
                  
                
                ⁢
                
                  [
                  
                    
                      ∏
                      
                        m
                        =
                        1
                      
                      
                        N
                        R
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        ∏
                        
                          l
                          =
                          0
                        
                        
                          
                            N
                            F
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          exp
                          ⁡
                          
                            (
                            
                              β
                              
                                m
                                ,
                                l
                              
                            
                            )
                          
                        
                        ⁢
                        
                          exp
                          ⁡
                          
                            (
                            
                              
                                ∑
                                
                                  
                                    
                                      
                                        p
                                        =
                                        1
                                      
                                    
                                  
                                  
                                    
                                      
                                        p
                                        ≠
                                        k
                                      
                                    
                                  
                                
                                
                                  
                                    N
                                    T
                                  
                                  ⁢
                                  
                                    N
                                    
                                      F
                                      q
                                    
                                  
                                
                              
                              ⁢
                              
                                
                              
                              ⁢
                              
                                
                                  1
                                  2
                                
                                ⁢
                                
                                  b
                                  p
                                
                                ⁢
                                
                                  
                                    L
                                    a
                                  
                                  ⁡
                                  
                                    (
                                    
                                      b
                                      p
                                    
                                    )
                                  
                                
                              
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
              
                
                  ∑
                  
                    
                      
                        
                          
                            
                              c
                              
                                _
                                _
                              
                            
                            :
                            c
                          
                          =
                          
                            f
                            ⁡
                            
                              (
                              
                                b
                                
                                  _
                                  _
                                
                              
                              )
                            
                          
                        
                      
                    
                    
                      
                        
                          
                            b
                            k
                          
                          =
                          
                            -
                            1
                          
                        
                      
                    
                  
                
                ⁢
                
                  
                
                ⁢
                
                  [
                  
                    
                      ∏
                      
                        m
                        =
                        1
                      
                      
                        N
                        R
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        ∏
                        
                          l
                          =
                          0
                        
                        
                          
                            N
                            F
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          exp
                          ⁡
                          
                            (
                            
                              β
                              
                                m
                                ,
                                l
                              
                            
                            )
                          
                        
                        ⁢
                        
                          exp
                          ⁡
                          
                            (
                            
                              
                                ∑
                                
                                  
                                    
                                      
                                        p
                                        =
                                        1
                                      
                                    
                                  
                                  
                                    
                                      
                                        p
                                        ≠
                                        k
                                      
                                    
                                  
                                
                                
                                  
                                    N
                                    T
                                  
                                  ⁢
                                  
                                    N
                                    
                                      F
                                      q
                                    
                                  
                                
                              
                              ⁢
                              
                                
                              
                              ⁢
                              
                                
                                  1
                                  2
                                
                                ⁢
                                
                                  b
                                  p
                                
                                ⁢
                                
                                  
                                    L
                                    a
                                  
                                  ⁡
                                  
                                    (
                                    
                                      b
                                      p
                                    
                                    )
                                  
                                
                              
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          17
          )
        
      
    
  




Since the detector a priori information, La(bk), is known by the decoder, it may be subtracted from L(bk) by summers 422 in FIG. 4A such that only the detector extrinsic information, Le(bk), is provided to the decoder.
It can be seen from equations (13) and (17) that the computational complexity to derive the LLRs for the coded bits grows exponentially with the number of frequency subchannels (NF), the number of transmit antennas (NT), and the size of the signal constellation (2q). Several techniques may be used to reduce the computational burden to derive the coded bit LLRs. Such techniques include the use of interference nulling to isolate each transmitted signal by removing the other interferers and the use of a “dual-maxima” or some other approximation to compute the LLRs. These techniques are described in further detail below.
Without loss of generality, the signal from transmit antenna 1 may be treated as the desired signal and the other signals from the remaining (NT−1) transmit antennas may be treated as interference to the desired signal. With NR receive antennas, where NR≧NT, the (NT−1) interferers may be nulled (or canceled). For each of the NF frequency subchannels, the vector of NR modulation symbols, rl (which are received from the NR receive antennas for the l-th frequency subchannel) may be pre-multiplied by an (NR−NT+1)×NR nulling matrix, Θl(1), and the resulting vector {tilde over (r)}l(1) of (NR−NT+1) elements may be expressed as:

{tilde over (r)}l(1)=Θl(1)rl=Θl(1)Hlcl+Θl(1)nl={tilde over (H)}l(1)c1,l+ñl(1), for l=0, 1, . . . , NF−1.  Eq (18)

As shown in equation (18), the components from transmit antennas 2, 3, . . . , NT are suppressed in the vector {tilde over (r)}l(1) and only the component c1,l from desired transmit antenna 1 remains.

The nulling matrices, Θl(n), may be determined based on algorithms known in the art. The derivation of the nulling matrix, Θl(1), for transmit antenna 1 is briefly described as follows. First, the NR×(NT−1) channel response matrix, Hl(1), for transmit antennas 2 through NT and the NR receive antennas is determined. A set of (NR−NT+1) orthonormal vectors {v1(1) v2(1) . . . vNR−NT+1(1)}, whose members are the rows of the nulling matrix, Θl(1), is then computed such that

Θl(1)Hl(1)=0,

where 0 is the all-zero matrix, and

Θl(1)Θl(1)*=I,

where Θl(1)* is the Hermitian of Θl(1) and I is the identity matrix (i.e., all ones along the diagonal and zeros elsewhere). Fast algorithms are available for computing the orthonormal vectors, as is known in the art. As indicated by the notation, different nulling matrices are derived for different transmit antennas and different frequency subchannels (i.e., Θl(n) for n=1, 2, . . . , NT, and l=0, 1, . . . , NF−1).

Derivation of the nulling matrices for a MIMO system is described in further detail by Vahid Tarokh et al in a paper entitled “Combined Array Processing and Space-Time Coding,” IEEE Transactions on Information Theory, Vol. 45, No. 4, May 1999, which is incorporated herein by reference.
After nulling the interference on the desired signal due to the signals from the other (NT−1) transmit antennas, the LLRs for the coded bits from the desired transmit antenna may then be calculated in a similar manner as described above, without regard to the components from the other (NT−1) transmit antennas. For transmit antenna 1, the LLRs for the coded bits transmitted on all NF frequency subchannels of this transmit antenna, [b1,0,1 . . . b1,0,q b1,1,1 . . . b1,1,q . . . b1,NF−1,1 . . . b1,NF−1,q], may be expressed as:




  
    
      
        
          
            L
            ⁡
            
              (
              
                b
                
                  1
                  ,
                  l
                  ,
                  i
                
              
              )
            
          
          =
          
            ln
            ⁢
            
              
                Pr
                ⁢
                
                  {
                  
                    
                      b
                      
                        1
                        ,
                        l
                        ,
                        i
                      
                    
                    =
                    
                      
                        +
                        1
                      
                      |
                      
                        
                          
                            
                              r
                              _
                            
                            _
                          
                          ~
                        
                        
                          (
                          1
                          )
                        
                      
                    
                  
                  }
                
              
              
                Pr
                ⁢
                
                  {
                  
                    
                      b
                      
                        1
                        ,
                        l
                        ,
                        i
                      
                    
                    =
                    
                      
                        -
                        1
                      
                      |
                      
                        
                          
                            
                              r
                              _
                            
                            _
                          
                          ~
                        
                        
                          (
                          1
                          )
                        
                      
                    
                  
                  }
                
              
            
          
        
        ,
        
          
            
              
                
                  
                    for
                    ⁢
                    
                      
                    
                    ⁢
                    l
                  
                  =
                  0
                
                ,
                1
                ,
                ...
                ,
                
                  
                    N
                    F
                  
                  -
                  1
                
                ,
              
            
          
          
            
              
                
                  
                    and
                    ⁢
                    
                      
                    
                    ⁢
                    i
                  
                  =
                  1
                
                ,
                2
                ,
                ...
                ,
                q
                ,
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          19
          )
        
      
    
  




where {tilde over (r)}(1)=[{tilde over (r)}0(1)T {tilde over (r)}1(1)T . . . {tilde over (r)}NF−1(1)T]T.

After the interference nulling, the LLR computation is simplified since only the desired signal from one transmit antenna is considered at a time. Equation (19) may be expressed in a form similar to equation (14), as follows:




  
    
      
        
          
            
              L
              
                (
                1
                )
              
            
            ⁡
            
              (
              
                b
                k
              
              )
            
          
          =
          
            
              ln
              ⁢
              
                
                  
                    ∑
                    
                      
                        
                          
                            
                              
                                
                                  c
                                  _
                                
                                1
                              
                              :
                              
                                
                                  c
                                  _
                                
                                1
                              
                            
                            =
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    b
                                    _
                                  
                                  1
                                
                                )
                              
                            
                          
                        
                      
                      
                        
                          
                            
                              b
                              k
                            
                            =
                            
                              +
                              1
                            
                          
                        
                      
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    [
                    
                      
                        ∏
                        
                          m
                          =
                          1
                        
                        
                          N
                          R
                        
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          ∏
                          
                            l
                            =
                            0
                          
                          
                            
                              N
                              F
                            
                            -
                            1
                          
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          
                            exp
                            ⁡
                            
                              (
                              
                                β
                                
                                  m
                                  ,
                                  l
                                
                              
                              )
                            
                          
                          ⁢
                          
                            
                              ∏
                              
                                
                                  
                                    
                                      p
                                      =
                                      1
                                    
                                  
                                
                                
                                  
                                    
                                      p
                                      ≠
                                      k
                                    
                                  
                                
                              
                              
                                N
                                
                                  F
                                  q
                                
                              
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              Pr
                              ⁢
                              
                                {
                                
                                  b
                                  p
                                
                                }
                              
                            
                          
                        
                      
                    
                    ]
                  
                
                
                  
                    ∑
                    
                      
                        
                          
                            
                              
                                
                                  c
                                  _
                                
                                1
                              
                              :
                              
                                
                                  c
                                  _
                                
                                1
                              
                            
                            =
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    b
                                    _
                                  
                                  1
                                
                                )
                              
                            
                          
                        
                      
                      
                        
                          
                            
                              b
                              k
                            
                            =
                            
                              -
                              1
                            
                          
                        
                      
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    [
                    
                      
                        ∏
                        
                          m
                          =
                          1
                        
                        
                          N
                          R
                        
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          ∏
                          
                            l
                            =
                            0
                          
                          
                            
                              N
                              F
                            
                            -
                            1
                          
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          
                            exp
                            ⁡
                            
                              (
                              
                                β
                                
                                  m
                                  ,
                                  l
                                
                              
                              )
                            
                          
                          ⁢
                          
                            
                              ∏
                              
                                
                                  
                                    
                                      p
                                      =
                                      1
                                    
                                  
                                
                                
                                  
                                    
                                      p
                                      ≠
                                      k
                                    
                                  
                                
                              
                              
                                N
                                
                                  F
                                  q
                                
                              
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              Pr
                              ⁢
                              
                                {
                                
                                  b
                                  p
                                
                                }
                              
                            
                          
                        
                      
                    
                    ]
                  
                
              
            
            +
            
              ln
              ⁢
              Pr
              ⁢
              
                
                  {
                  
                    
                      b
                      k
                    
                    =
                    
                      +
                      1
                    
                  
                  }
                
                
                  Pr
                  ⁢
                  
                    {
                    
                      
                        b
                        k
                      
                      =
                      
                        -
                        1
                      
                    
                    }
                  
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          20
          )
        
      
    
  




where k=1, 2, . . . , NF·q and k={m,l}.

As shown in equation (20), instead of calculating (NF·NT·q) LLR values for all NT transmit antennas, only (NF·q) LLR values are calculated at a time for each of NT transmit antennas. However, by performing the interference nulling, the complexity of the calculation in Eq (20) is no longer exponential in the number of transmit antennas NT since (1) each summation is performed over only the modulation symbols cn transmitted from the desired n-th transmit antenna, and (2) the term ΠPr{bp} is evaluated only for the coded bits transmitted from the n-th transmit antenna.
The product of the a priori probabilities, ΠPr{bp}, in equation (20) may be expressed as:




  
    
      
        
          
            ∏
            
              
                
                  p
                  =
                  1
                
                
                  p
                  ≠
                  k
                
              
              ⁢
              
                

              
            
            
              N
              
                F
                q
              
            
          
          ⁢
          
            Pr
            ⁢
            
              {
              
                b
                p
              
              }
            
          
        
        =
        
          
            C
            ·
            
              exp
              ⁡
              
                (
                
                  
                    ∑
                    
                      
                        p
                        =
                        1
                      
                      
                        p
                        ≠
                        k
                      
                    
                    
                      N
                      
                        F
                        q
                      
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      1
                      2
                    
                    ⁢
                    
                      b
                      p
                    
                    ⁢
                    
                      
                        L
                        a
                      
                      ⁡
                      
                        (
                        
                          b
                          p
                        
                        )
                      
                    
                  
                
                )
              
            
          
          =
          
            C
            ·
            
              
                exp
                ⁡
                
                  (
                  
                    α
                    n
                  
                  )
                
              
              .
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          21
          )
        
      
    
  




The detector extrinsic information, Le(n)(bk), may then be expressed in terms of the detector a priori LLRs, as follows:





  
    
      
        
          
            L
            e
            
              (
              n
              )
            
          
          ⁡
          
            (
            
              b
              k
            
            )
          
        
        =
        
          ln
          ⁢
          
            
              
                
                  ∑
                  
                    
                      
                        
                          
                            
                              
                                c
                                _
                              
                              n
                            
                            :
                            
                              
                                c
                                _
                              
                              n
                            
                          
                          =
                          
                            f
                            ⁡
                            
                              (
                              
                                
                                  b
                                  _
                                
                                n
                              
                              )
                            
                          
                        
                      
                    
                    
                      
                        
                          
                            b
                            k
                          
                          =
                          
                            +
                            1
                          
                        
                      
                    
                  
                
                ⁢
                
                  [
                  
                    
                      ∏
                      
                        m
                        =
                        1
                      
                      
                        N
                        R
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        ∏
                        
                          l
                          =
                          0
                        
                        
                          
                            N
                            F
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          exp
                          ⁡
                          
                            (
                            
                              β
                              
                                m
                                ,
                                l
                              
                            
                            )
                          
                        
                        ⁢
                        
                          exp
                          ⁡
                          
                            (
                            
                              
                                ∑
                                
                                  
                                    
                                      
                                        p
                                        =
                                        1
                                      
                                    
                                  
                                  
                                    
                                      
                                        p
                                        ≠
                                        k
                                      
                                    
                                  
                                
                                
                                  N
                                  
                                    F
                                    q
                                  
                                
                              
                              ⁢
                              
                                
                              
                              ⁢
                              
                                
                                  1
                                  2
                                
                                ⁢
                                
                                  b
                                  p
                                
                                ⁢
                                
                                  
                                    L
                                    a
                                  
                                  ⁡
                                  
                                    (
                                    
                                      b
                                      p
                                    
                                    )
                                  
                                
                              
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
              
                
                  ∑
                  
                    
                      
                        
                          
                            
                              
                                c
                                _
                              
                              n
                            
                            :
                            
                              
                                c
                                _
                              
                              n
                            
                          
                          =
                          
                            f
                            ⁡
                            
                              (
                              
                                
                                  b
                                  _
                                
                                n
                              
                              )
                            
                          
                        
                      
                    
                    
                      
                        
                          
                            b
                            k
                          
                          =
                          
                            -
                            1
                          
                        
                      
                    
                  
                
                ⁢
                
                  
                
                ⁢
                
                  [
                  
                    
                      ∏
                      
                        m
                        =
                        1
                      
                      
                        N
                        R
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        ∏
                        
                          l
                          =
                          0
                        
                        
                          
                            N
                            F
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          exp
                          ⁡
                          
                            (
                            
                              β
                              
                                m
                                ,
                                l
                              
                            
                            )
                          
                        
                        ⁢
                        
                          exp
                          ⁡
                          
                            (
                            
                              
                                ∑
                                
                                  
                                    
                                      
                                        p
                                        =
                                        1
                                      
                                    
                                  
                                  
                                    
                                      
                                        p
                                        ≠
                                        k
                                      
                                    
                                  
                                
                                
                                  N
                                  
                                    F
                                    q
                                  
                                
                              
                              ⁢
                              
                                
                              
                              ⁢
                              
                                
                                  1
                                  2
                                
                                ⁢
                                
                                  b
                                  p
                                
                                ⁢
                                
                                  
                                    L
                                    a
                                  
                                  ⁡
                                  
                                    (
                                    
                                      b
                                      p
                                    
                                    )
                                  
                                
                              
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          22
          )
        
      
    
  




The detection with interference nulling described above may be repeated NT times, once for each transmit antenna. For each repetition to recover the desired signal from a particular transmit antenna, the (NT−1) interferers of this desired signal may be nulled out by pre-multiplying the received modulation symbol vectors, rl, with the nulling matrix, Θl(n), derived for that transmit antenna and that frequency subchannel, as shown in equation (18). The LLRs for the coded bits in the desired signal may then be computed, as shown in equations (20) and (22). Thus, equation (20) or (22) may be evaluated NT times, once for each desired signal, with each evaluation providing a set of (NF·q) LLRs for the coded bits in the desired signal.
The reduced computational complexity for deriving the LLRs for the coded bits is achieved with a corresponding decrease in diversity, since the desired signal is received with a diversity of order (NR−NT+1), instead of a diversity of order NR, using equation (18).
The dual-maxima approximation may also be used to reduce the computational complexity associated with deriving the LLRs for the coded bits. As shown in equations (20) and (22), the LLR for each coded bit is computed as the logarithm of the ratio of two summations. Each summation is performed over a number of elements, with each such element being composed of products of exponential terms, exp(βm,l) and exp(αn). The exponentiation in the elements of each summation enhances the differences between the individual elements of the summation. Hence, one element typically dominates each summation, and the following approximation may be made:




  
    
      
        
          ln
          ⁢
          
            
              ∑
              j
              
                
              
            
            ⁢
            
              
            
            ⁢
            
              exp
              ⁡
              
                (
                
                  a
                  j
                
                )
              
            
          
        
        ≈
        
          
            max
            j
          
          ⁢
          
            
              (
              
                a
                j
              
              )
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          23
          )
        
      
    
  




For simplicity, the following may be defined:




  
    
      
        
          L
          k
        
        =
        
          
            ln
            ⁢
            
              
                ∑
                
                  
                    
                      u
                      _
                    
                    :
                    
                      u
                      k
                    
                  
                  =
                  
                    +
                    1
                  
                
              
              ⁢
              
                
              
              ⁢
              
                
                  exp
                  ⁡
                  
                    [
                    
                      M
                      ⁡
                      
                        (
                        
                          
                            u
                            _
                          
                          ,
                          
                            y
                            _
                          
                        
                        )
                      
                    
                    ]
                  
                
                
                  
                    ∑
                    
                      
                        
                          u
                          _
                        
                        :
                        
                          u
                          k
                        
                      
                      =
                      
                        -
                        1
                      
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    exp
                    ⁡
                    
                      [
                      
                        M
                        ⁡
                        
                          (
                          
                            
                              u
                              _
                            
                            ,
                            
                              y
                              _
                            
                          
                          )
                        
                      
                      ]
                    
                  
                
              
            
          
          =
          
            
              ln
              ⁢
              
                
                  ∑
                  
                    
                      
                        u
                        _
                      
                      :
                      
                        u
                        k
                      
                    
                    =
                    
                      +
                      1
                    
                  
                
                ⁢
                
                  
                
                ⁢
                
                  exp
                  ⁡
                  
                    [
                    
                      M
                      ⁡
                      
                        (
                        
                          
                            u
                            _
                          
                          ,
                          
                            y
                            _
                          
                        
                        )
                      
                    
                    ]
                  
                
              
            
            -
            
              ln
              ⁢
              
                
                  ∑
                  
                    
                      
                        u
                        _
                      
                      :
                      
                        u
                        k
                      
                    
                    =
                    
                      -
                      1
                    
                  
                
                ⁢
                
                  
                    exp
                    ⁡
                    
                      [
                      
                        M
                        ⁡
                        
                          (
                          
                            
                              u
                              _
                            
                            ,
                            
                              y
                              _
                            
                          
                          )
                        
                      
                      ]
                    
                  
                  .
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          24
          )
        
      
    
  




Applying the approximation shown in equation (23) for the sum of exponents to equation (24), the following can be expressed:





  
    
      
        
          L
          k
        
        ≈
        
          
            
              max
              
                
                  
                    u
                    _
                  
                  :
                  
                    u
                    k
                  
                
                =
                
                  +
                  1
                
              
            
            ⁢
            
              {
              
                M
                ⁡
                
                  (
                  
                    
                      u
                      _
                    
                    ,
                    
                      y
                      _
                    
                  
                  )
                
              
              }
            
          
          -
          
            
              max
              
                
                  
                    u
                    _
                  
                  :
                  
                    u
                    k
                  
                
                =
                
                  -
                  1
                
              
            
            ⁢
            
              
                {
                
                  M
                  ⁡
                  
                    (
                    
                      
                        u
                        _
                      
                      ,
                      
                        y
                        _
                      
                    
                    )
                  
                
                }
              
              .
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          25
          )
        
      
    
  




The approximation shown in equation (25) is often referred to as the dual-maxima approximation.

The dual-maxima approximation may be used to simplify the computation for the LLRs for the coded bits. Specifically, for equation (22), the logarithm of the ratio of two summations may first be decomposed as follows:




  
    
      
        
          
            L
            e
            
              (
              n
              )
            
          
          ⁡
          
            (
            
              b
              k
            
            )
          
        
        =
        
          
            ln
            ⁢
            
              
                ∑
                
                  
                    
                      
                        
                          
                            
                              c
                              _
                            
                            n
                          
                          :
                          
                            
                              c
                              _
                            
                            n
                          
                        
                        =
                        
                          f
                          ⁡
                          
                            (
                            
                              
                                b
                                _
                              
                              n
                            
                            )
                          
                        
                      
                    
                  
                  
                    
                      
                        
                          b
                          k
                        
                        =
                        
                          +
                          1
                        
                      
                    
                  
                
              
              ⁢
              
                [
                
                  
                    ∏
                    
                      m
                      =
                      1
                    
                    
                      N
                      R
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      ∏
                      
                        l
                        =
                        0
                      
                      
                        
                          N
                          F
                        
                        -
                        1
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        exp
                        ⁡
                        
                          (
                          
                            β
                            
                              m
                              ,
                              l
                            
                          
                          )
                        
                      
                      ⁢
                      
                        exp
                        ⁡
                        
                          (
                          
                            α
                            n
                          
                          )
                        
                      
                    
                  
                
                ]
              
            
          
          -
          
            ln
            ⁢
            
              
                ∑
                
                  
                    
                      
                        
                          
                            
                              c
                              _
                            
                            n
                          
                          :
                          
                            
                              c
                              _
                            
                            n
                          
                        
                        =
                        
                          f
                          ⁡
                          
                            (
                            
                              
                                b
                                _
                              
                              n
                            
                            )
                          
                        
                      
                    
                  
                  
                    
                      
                        
                          b
                          k
                        
                        =
                        
                          -
                          1
                        
                      
                    
                  
                
              
              ⁢
              
                
                  [
                  
                    
                      ∏
                      
                        m
                        =
                        1
                      
                      
                        N
                        R
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        ∏
                        
                          l
                          =
                          0
                        
                        
                          
                            N
                            F
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          exp
                          ⁡
                          
                            (
                            
                              β
                              
                                m
                                ,
                                l
                              
                            
                            )
                          
                        
                        ⁢
                        
                          exp
                          ⁡
                          
                            (
                            
                              α
                              n
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
                .
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          26
          )
        
      
    
  




Next, instead of summing over the individual elements for all possible values of the coded bits for the modulation symbols cn from the n-th transmit antenna, the dual-maxima approximation algorithm finds the maximum element in each summation (i.e., one for the numerator and another for the denominator in equation (22)) and uses these two maximum elements in the LLR calculation, as shown in equation (25).

By using approximations based on the dual-maxima approximation, the computational complexity can be made to increase linearly in the number of coded bits per modulation symbol, q, instead of exponentially. Simulation results have shown that the performance degradation due to the use of such approximations is negligible over the range of SNRs where the use of high-order modulations is justified.
Other approximations and simplifications may also be used to reduce the number of complex additions and multiplications needed to compute the LLRs for the coded bits, and this is within the scope of the invention.
Other simplifications that may be used for computing LLRs are described by Andrew J. Viterbi in a paper entitled “An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes,” IEEE Journal on Selected Areas in Communications, Vol. 16, No. 2, February 1998, pp. 260–264, and by Patrick Robertson et al. in a paper entitled “A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain,” IEEE International Conference on Communication, 1995, pp. 1009–1012, both of which are incorporated herein by reference. These various simplification techniques typically perform computations in the log-domain, where division becomes subtraction and multiplication becomes addition.
FIG. 4B is a block diagram of an embodiment of a receiver unit 400b, which is another embodiment of the receiver portion of receiver system 150 in FIG. 1. In this embodiment, different demodulation and decoding schemes may be used for the NT transmit antennas. Receiver unit 400b may thus be used to receive a data transmission from transmitter unit 200b in FIG. 2B, which employs separate coding and modulation schemes on a per-antenna basis.
The signals transmitted from the NT transmit antennas are initially received by each of NR antennas 152a through 152r and routed to a respective receiver 154. Each receiver 154 conditions, digitizes, and processes a respective received signal to provide a respective stream of transmission symbols. The transmission symbol stream from each receiver 154 is provided to a respective OFDM demodulator 410 within a demodulator 156b. Each OFDM demodulator 410 removes the cyclic prefix appended to each OFDM symbol by the transmitter system and then transforms each received OFDM symbol to provide a vector of NF received modulation symbols for the NF frequency subchannels used to transmit the OFDM symbol. The NR modulation symbol vectors from all NR OFDM demodulators 410 for each transmission symbol period are provided to a detector/decoder 158b, which is another embodiment of detector/decoder 158 in FIG. 1.
In the embodiment shown in FIG. 4B, detector/decoder 158b includes a detector 420b and NT decoder blocks 440, which collectively perform iterative detection and decoding on the modulation symbols received from all NR receive antennas to provide the decoded data. Each decoder block 440 is assigned to process the modulation symbols transmitted from a respective transmit antenna, which may have been coded and modulated with its own specific coding and modulation schemes.
Detector 420b receives the modulation symbols from demodulator 156b and the a priori information from the NT decoders 430a through 430t and provides soft-decision symbols for the NT transmit antennas, with each such soft-decision symbol being an estimate of a transmitted coded bit and may be represented by the LLR, as shown in equation (22). For each transmission symbol period, detector 420b provides NT vectors of soft-decision symbols for the NT transmit antennas to the NT decoder blocks 440, with each vector including (NF·qn) soft-decision symbols (where qn is dependent on the specific modulation scheme used for the n-th transmit antenna). Within each decoder block 440, the detector a priori information for each coded bit being processed by that decoder block is subtracted from the corresponding soft-decision symbol to derive the extrinsic information for the coded bit. The detector extrinsic information for all (NF·qn) coded bits is then converted from parallel to serial by P/S converter 424, deinterleaved by channel deinterleaver 426, and provided as a priori information to decoder 430.
Decoder 430 within each decoder block 440 uses the decoder a priori information in the decoding process and provides the decoded data for the transmit antenna assigned to and processed by the decoder block. Decoder 430 further provides the a posteriori information for the coded bits transmitted by the assigned transmit antenna. A summer 432 then subtracts the decoder a priori information from the decoder a posteriori information to derive the decoder extrinsic information, which is then interleaved by channel interleaver 434, converted from serial to parallel by S/P converter 436, and provided as a priori information to detector 420b and summer 422.
Similar to that described for FIG. 4A, the detection and decoding process may be iterated a number of times. During the iterative detection and decoding process, the reliability of the bit decisions is improved with each iteration.
FIG. 4C is a block diagram of an embodiment of a receiver unit 400c, which is yet another embodiment of the receiver portion of receiver system 150 in FIG. 1. In this embodiment, the detector performs successive nulling and interference cancellation to recover one transmitted signal at a time. Receiver unit 400c may be used to recover a data transmission from transmitter unit 200b in FIG. 2B (which employs separate coding and modulation schemes on a per-antenna basis).
The NR received signals are initially processed by receivers 154 and further processed by demodulator 156 to provide NR modulation symbol vectors, r, for each transmission symbol period, which are then provided to a detector/decoder 158c. Detector/decoder 158c performs iterative detection and decoding as well as successive nulling and interference cancellation. In particular, detector/decoder 158c implements a multi-stage (or multi-layer) detection scheme that includes both nulling of interferers and post-decoding interference cancellation (i.e., successive nulling and interference cancellation).
Detector/decoder 158c includes a detector 420c, NT decoder blocks 440, and P/S converter 442. Detector 420c includes NT detection stages (or layers), with each stage being assigned to process and recover the data for a particular transmit antenna. Each stage (except for the last stage) includes an interference nuller 450, an LLR computer 452, and an interference canceller 460. The last stage only includes LLR computer 452 since all other transmitted signals have been nulled by this time.
Within detector 420c, the received modulation symbol vectors r are provided as the input vectors r(1) for interference nuller 450a, which pre-multiplies the modulation symbol vector rl(1) for each frequency subchannel with the nulling matrix Θl(1) for that frequency subchannel of the first transmit antenna to provide the vector {tilde over (r)}l(1) having the components from the other (NT−1) transmit antennas approximately removed. The pre-multiplication may be performed as shown in equation (18), which is:

{tilde over (r)}l(1)=Θl(1)rl=Θl(1)Hlcl+Θl(1)nl.

Interference nuller 450a performs NF pre-multiplications to derive NF vectors, {tilde over (r)}(1)=[{tilde over (r)}0(1)T {tilde over (r)}1(1)T . . . {tilde over (r)}NF−1(1)T]T, for the NF frequency subchannels of the first transmit antenna.

The vectors {tilde over (r)}(1) are then provided to LLR computer 452a, which computes the LLRs for the coded bits transmitted from the first transmit antenna, as shown in equation (22). The LLRs for the (NF·q1) coded bits from the first transmit antenna are then provided to decoder block 440a, which operates on the decoder a priori information to provide the detector a priori information and the decoded bits for the first transmit antenna, as described below. The detector a priori information from decoder block 440a is provided back to LLR computer 452a and used to compute the new decoder a priori information for the next iteration. The detection and decoding for the first transmit antenna may be iterated a number of times.
The decoded bits from decoder block 440a are also provided to interference canceller 460a. Assuming that the data for the first stage has been decoded correctly, the contribution of these decoded bits on the received modulation symbols (which is denoted as î(1)) is derived and subtracted from that stage's input vectors r(1) to derive the input vectors r(2) for the next stage. This interference cancellation may be expressed as:

r(2)=r(1)−î(1).  Eq (27)

Each subsequent stage performs the detection and decoding in a similar manner as described above for the first stage to provide the decoded bits for the assigned transmit antenna. However, the input vectors, r(n), for each subsequent stage contain less interference than that of the previous stage. Also, since the nulling is performed by interference nuller 450 using the modulation symbols from all NR receive antennas, the diversity order increases by one from one stage to the next. Finally, in the last stage, only the signal contribution from the last (NT-th) transmit antenna remains, if the interference cancellation was effectively performed in the preceding stages. Hence, no nulling is necessary and the iterative detection and decoding may be performed directly on that stage's input vectors r(NT).
Pre-decoding interference estimation and cancellation may also be used, and this is within the scope of the invention. In this case, a hard decision may be made on the LLR outputs from the detector. The hard decision may then be re-modulated and multiplied with the estimated channel response to obtain pre-decoding interference estimates (which are typically not as reliable as post-decoding interference estimates). The pre-decoding interference estimates may then be canceled from the received modulation symbols.
Decoders
Decoders 430 in FIGS. 4A and 4B may be implemented based on various designs and may be dependent on the particular coding scheme(s) used at the transmitter system. For example, each decoder 430 may be implemented as an iterative decoder (i.e., a Turbo decoder) if a Turbo code is used. The structures for the Turbo decoders for serial and parallel concatenated convolutional codes are described below.
FIG. 5A is a simplified block diagram of a Turbo decoder 430x capable of performing iterative decoding for serial concatenated convolutional codes, such as the one shown in FIG. 3A. Turbo decoder 430x includes inner and outer maximum a posteriori (MAP) decoders 512a and 512b, a code deinterleaver 514, and a code interleaver 516.
The coded bits (or more specifically, the a priori LLRs for the decoder, LaD(bk)) are provided to inner MAP decoder 512a, which derives the a posteriori information for the coded bits based on the inner convolutional code. The a posteriori information is then subtracted by the a priori information for MAP decoder 512a to provide extrinsic information, eks1, which is indicative of corrections/adjustments in the confidence of the values for the information bits. The extrinsic information is then deinterleaved by code deinterleaver 514 and provided as a priori information to outer MAP decoder 512b. MAP decoder 512a also provides the LLRs for the coded bits, which comprise the a posteriori information, LD(bk), that is provided to summer 432 in FIGS. 4A and 4B.
MAP decoder 512b receives the a priori information from MAP decoder 512a (after the code deinterleaving) and derives the a posteriori information for the coded bits based on the outer convolutional code. The a posteriori information is subtracted by the a priori information for MAP decoder 512b to provide extrinsic information, eks2, which is indicative of further corrections/adjustments in the confidence of the values for the information bits. The extrinsic information, eks2, is then interleaved by code interleaver 516 and provided to inner MAP decoder 512a. 
The decoding by inner and outer MAP decoders 512a and 512b may be iterated a number of times (e.g., 8, 12, 16, or possibly more). With each iteration, greater confidence is gained for the detected values of the information bits. After all the decoding iterations have been completed, the final LLRs for the information bits are provided to a bit detector within MAP decoder 512b and sliced to provide the decoded bits, which are hard-decision (i.e., “0” or “1”) values for the information bits.
MAP decoders 512a and 512b may be implemented with the well-known BCJR soft-input soft-output MAP algorithm or its lower complexity derivatives. Alternatively, the soft-output Viterbi (SOV) algorithm may be implemented instead of the MAP algorithms. MAP decoders and MAP algorithms are described in further detail in the aforementioned papers by Viterbi and Robertson. The MAP and SOV algorithms may also be used to decode simple convolutional codes. The complexity of these algorithms is comparable to the standard Viterbi decoding algorithm, multiplied by the number of iterations.
FIG. 5B is a simplified block diagram of a Turbo decoder 430y capable of performing iterative decoding for parallel concatenated convolutional codes, such as the one shown in FIG. 3B. Turbo decoder 430y includes a S/P converter 510, two MAP decoders 512c and 512d, two code interleavers 524a and 524b, a code deinterleaver 526, and a P/S converter 528.
The coded bits (or more specifically, the a priori LLRs for the decoder, LaD(bk)) are provided to S/P converter 510, which provides the a priori LLRs for the information bits, LaD(bkx), to MAP decoder 512c and code interleaver 524b, the a priori LLRs for the first constituent encoder's parity bits, LaD(bky), to MAP decoder 512c, and the a priori LLRs for the second constituent encoder's parity bits, LaD(bkz), to code interleaver 524b, where LaD(bk)={LaD(bkx), LaD(bky), LaD(bkz)}.
MAP decoder 512c receives the a priori LLRs for the information bits, LaD(bkx), the a priori LLRs for the first constituent encoder's parity bits, LaD(bky), and extrinsic information from MAP decoder 512d, ekp2 (after deinterleaving by code deinterleaver 526). MAP decoder 512c then derives the a posteriori information for the information bits based on the first constituent convolutional code. This a posteriori information is then subtracted by the received a priori information to provide extrinsic information, ekp1, which is indicative of corrections/adjustments in the confidence of the values for the information bits determined from the first constituent encoder's parity bits. The extrinsic information is then interleaved by code interleaver 524a and provided to MAP decoder 512d. 
MAP decoder 512d receives the a priori LLRs for the information bits, LaD(bkx) (after interleaving by code interleaver 524b), the a priori LLRs for the second constituent encoder's parity bits, LaD(bkz), and the extrinsic information from MAP decoder 512c, ekp1 (after interleaving by code interleaver 524a). MAP decoder 512d then derives the a posteriori information for the information bits based on the second constituent convolutional code. This a posteriori information is then subtracted by the received extrinsic information, ekp1, to provide the extrinsic information, ek2, which is indicative of further corrections/adjustments in the confidence of the values for the information bits determined from the second constituent encoder's parity bits. The extrinsic information, ek2, is then deinterleaved by code deinterleaver 526 and provided to MAP decoder 512c. 
P/S converter 528 receives the first constituent encoder's parity bit LLRs from MAP decoder 512c, the second constituent encoder's parity bit LLRs from MAP decoder 512d, and the information bit LLRs from MAP decoder 512d. P/S converter 528 then performs parallel-to-serial conversion of the received LLRs and provides the a posteriori information, LD(bk), to summer 432 in FIGS. 4A and 4B.
The decoding by MAP decoders 512c and 512d may also be iterated a number of times (e.g., 8, 12, 16, or possibly more). After all the decoding iterations have been completed, the final LLRs for the information bits are provided to a bit detector within MAP decoder 512d and sliced to provide the decoded bits. MAP decoders 512c and 512d may be implemented with the BCJR SISO MAP algorithm or its lower complexity derivatives or with the SOV algorithm.
In general, the number of iterations in both the decoder and the iterative detector-decoder can be fixed or variable (i.e., adaptive). In the latter case, the stop criterion may be triggered when (1) the BER converges or reaches an acceptable level, (2) the worse or average LLR reaches a particular confidence level, or (3) some other criterion is met.
Interference Cancellation
FIG. 6 is a block diagram of an embodiment of an interference canceller 460x, which may be used for each interference canceller 460 in FIG. 4C. Within interference canceller 460x, the decoded bits from the decoder block 440 for the same stage are re-encoded and channel interleaved by a TX data processor 114x to provide re-encoded bits for the transmit antenna being processed by the stage (i.e., the assigned transmit antenna). The re-encoded bits are further symbol mapped by a modulator 116x to provide remodulated symbols, which are estimates of the modulation symbols at the transmitter prior to the OFDM processing and channel distortion. TX data processor 114x and modulator 116x each performs the same processing (e.g., encoding, channel interleaving, and modulation) as that performed at the transmitter system for the data stream on the assigned transmit antenna. The remodulated symbols are then provided to a channel simulator 612, which processes the symbols with the estimated channel response to provide estimates of the interference due to the decoded bits.
For each frequency subchannel, channel simulator 612 multiples the remodulated symbols for the assigned n-th transmit antenna with a vector ĥn,l that includes an estimate of the channel response between the n-th transmit antenna and each of the NR receive antennas. The vector ĥn,l is one column of the estimated channel response matrix Ĥl for the l-th frequency subchannel. The matrix Ĥl may be determined by a channel estimator associated with the same stage and provided to channel simulator 612.
If the remodulated symbol corresponding to the n-th transmit antenna is expressed as {tilde over (c)}n,l, then the estimated interference component îl(n) due to the symbol from the n-th transmit antenna may be expressed as:




  
    
      
        
          
            
              i
              ^
            
            _
          
          l
          
            (
            n
            )
          
        
        =
        
          
            [
            
              
                
                  
                    
                      
                        h
                        ^
                      
                      
                        n
                        ,
                        1
                        ,
                        l
                      
                    
                    ·
                    
                      
                        c
                        ~
                      
                      
                        n
                        ,
                        l
                      
                    
                  
                
              
              
                
                  
                    
                      
                        h
                        ^
                      
                      
                        n
                        ,
                        2
                        ,
                        l
                      
                    
                    ·
                    
                      
                        c
                        ~
                      
                      
                        n
                        ,
                        l
                      
                    
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    
                      
                        h
                        ^
                      
                      
                        n
                        ,
                        
                          N
                          R
                        
                        ,
                        l
                      
                    
                    ·
                    
                      
                        c
                        ~
                      
                      
                        n
                        ,
                        l
                      
                    
                  
                
              
            
            ]
          
          .
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          28
          )
        
      
    
  




The NR elements in the interference vector îl(n) correspond to components in the input vector rl(n) due to the modulation symbol {tilde over (c)}n,l transmitted from the n-th transmit antenna. The interference vectors for all NF frequency subchannels may be formed as î(n)=[î0(n)T îl(n)T . . . îNF−1(n)T]T. The components in the vectors î(n) are interference to the remaining (not yet detected) modulation symbols from the other transmit antennas which are also included in the input vectors r(n). The interference vectors î(n) are then subtracted from the input vectors r(n) by a summer 614 to provide modified vectors r(n+1) having the interference components from the decoded bits removed. This cancellation can be expressed as shown above in equation (27). The modified vectors r(n+1) are provided as the input vectors to the next processing stage, as shown in FIG. 4C.
The successive cancellation receiver processing technique is described in further detail in the aforementioned U.S. patent application Ser. No. 09/854,235, and by P. W. Wolniansky et al. in a paper entitled “V-BLAST: An Architecture for Achieving Very High Data Rates over the Rich-Scattering Wireless Channel”, Proc. ISSSE-98, Pisa, Italy, which is incorporated herein by reference.
Deriving and Reporting Channel State Information
In FIG. 1, a channel estimator within demodulator 156 may process the received OFDM symbols and derive estimates of one or more characteristics of the communication channel, such as the channel frequency response, the channel noise variance, the SNR of the received symbols, and so on. Detector/decoder 158 may also derive and provide the status of each received packet and may further provide one or more other performance metrics indicative of the decoded results. These various types of information may be provided to controller 170.
Controller 170 may determine or select a particular “rate” to be used for all transmit antennas, for each transmit antenna, for each subset of transmit antennas, for each transmission channel, or for each group of transmission channels based on the various types of information received from demodulator 156 and detector/decoder 158. The rate is indicative of a set of specific values for a set of transmission parameters. For example, the rate may indicate (or may be associated with) a specific data rate to be used for the data transmission, a specific coding scheme and/or code rate, a specific modulation scheme, and so on. Channel state information (CSI) in the form of the selected rate, the channel response estimates, and/or other information may be provided by controller 170, processed by an encoder 180, modulated by a modulator 182, and conditioned and transmitted by one or more transmitters 154 back to transmitter system 110. Various forms of CSI are described in the aforementioned U.S. patent application Ser. No. 11/332,059.
At transmitter system 110, the one or more modulated signals from receiver system 150 are received by antennas 124, conditioned by receivers 122, demodulated by a demodulator 140, and decoded by a decoder 142 to recover the channel state information transmitted by the receiver system. The channel state information is then provided to controller 130 and used to control the processing of the data transmission to the receiver system. For example, the data rate of the data transmission may be determined based on the selected rate provided by the receiver system, or may be determined based on the channel response estimates provided by the receiver system. The specific coding and modulation schemes associated with the selected rate are determined and reflected in the coding and modulation control provided by controller 130 to TX data processor 114 and modulator 116.
The iterative detection and decoding techniques have been described specifically for serial and parallel concatenated convolutional codes. These techniques may also be used with other codes, such as convolutional codes, block codes, concatenated codes of different types (e.g., a convolutional code with a block code), and so on. Furthermore, the iterative detection and decoding techniques have been described specifically for a MIMO-OFDM system. These techniques may also be used for a MIMO system that does not implement OFDM, an OFDM system that does not utilize MIMO, or some other wireless communication systems (e.g., a wireless LAN system).
The iterative detection and decoding techniques may be implemented in various units in a wireless communication system, such as in a terminal, a base station, an access point, and so on.
The iterative detection and decoding techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the elements used to perform the iterative detection and decoding (e.g., detector 420 and decoder(s) 430) may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
For a software implementation, the iterative detection and decoding may be performed with modules (e.g., procedures, functions, and so on) that perform the computations and functions described herein. The software codes may be stored in a memory unit (e.g., memory 172 in FIG. 1) and executed by a processor (e.g., controller 170). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

## Claims

1. A method for recovering data transmitted in a wireless communication system, wherein the wireless communication system comprises a plurality of receive antennas, comprising:
receiving at least one data stream, wherein each data stream comprises a plurality of modulation symbols for a plurality of transmitted coded bits;
wherein the plurality of modulation symbols for each receive antenna is a respective modulation or coding scheme;
determining for each data stream a plurality of soft decision symbols based on the received plurality of modulation symbols and a first a priori information for the transmitted coded bits;
determining a second a priori information based on the plurality of soft decision symbols and the first a priori information for the transmitted coded bits;
determining the first a priori information for the transmitted coded bits based in part on the second a priori information;
repeating the determining the plurality of soft decision symbols and the determining the first a priori information and a plurality of times;
determining decoded bits for the transmitted coded bits based on the second a priori information.

2. The method of claim 1, further comprising:
deriving the first a priori information for the transmitted coded bits based on a first extrinsic information, deriving the first extrinsic information based on the second a priori information and a a posteriori information, deriving the second a priori information based on a second extrinsic information for the transmitted coded bits, and deriving the second extrinsic information based on the plurality of soft decision symbols and the first a priori information for the transmitted coded bits.

3. The method of claim 1, wherein the soft-decision symbols are represented as log-likelihood ratios (LLRs).

4. The method of claim 3, wherein a dual-maxima approximation is used to derive the LLRs for the coded bits.

5. The method of claim 1, wherein the soft-decision symbols comprise channel information.

6. The method of claim 1, wherein the soft-decision symbols comprise information for one or more spatial subchannels and one or more frequency subchannels used to transmit the plurality of modulation symbols.

7. The method of claim 2, further comprising:
deinterleaving the the second extrinsic information, wherein the deinterleaved second extrinsic information is decoded; and
interleaving the first extrinsic information, wherein the interleaved first extrinsic information is used to derive the soft decision symbols.

8. The method of claim 1, wherein the wireless communication system is a multiple-input multiple-output (MIMO) system.

9. The meted of claim 8, wherein the MIMO system implements orthogonal frequency division multiplexing (OFDM).

10. The method of claim 1, further comprising:
recovering a first subset of the modulation symbols for a first transmit antenna by nulling a other subsets of the modulation symbols for a other transmit antennas.

11. The method of claim 10, wherein the recovering the first subset of the modulation symbols for the first transmit antenna includes
pre-multiplying the received modulation symbols with a plurality of nulling matrices to derive the first subset of the recovered modulation symbols for a plurality of frequency subchannels of the first transmit antenna.

12. The method of claim 1, further comprising:
recovering a first subset of the modulation symbols for a first transmit antenna by nulling the modulation symbols for a other transmit antennas from the received modulation symbols, and
canceling interference due to the recovered modulation symbols from the received modulation symbols, thereby producing interference-cancelled modulation symbols, and
recovering a other subsets of the modulation symbols from the interference-cancelled modulation symbols.

13. The method of claim 1, further comprising:
deriving pre-decoding interference estimates based on the soft-decision symbols; and
canceling the pre-decoding interference estimates from input modulation symbols, and
wherein the input modulation symbols for a first transmit antenna are the received modulation symbols and the input modulation symbols for each subsequent transmit antenna are the interference-cancelled modulation symbols from the current transmit antenna.

14. The method of claim 1, wherein the soft-decision symbol for each coded bit comprises extrinsic information extracted from other coded bits.

15. The method of claim 1, wherein the decoding is based on a parallel concatenated convolutional decoding scheme.

16. The method of claim 1, wherein the decoding is based on a serial concatenated convolutional decoding scheme.

17. The method of claim 1, wherein the decoding is based on a convolutional decoding scheme.

18. The method of claim 1, wherein the decoding is based on a block decoding scheme.

19. The method of claim 1, wherein the decoding is based on a concatenated convolutional decoding scheme, and wherein a dual-maxima approximation is used for evaluating log-likelihood ratios (LLRs) for the decoding.

20. The method of claim 1, wherein the decoding for each transmit antenna is based on a respective decoding scheme.

21. The method of claim 1, wherein the plurality of modulation symbols are derived based on a non-Gray modulation scheme.

22. The method of claim 1, wherein the modulation symbols for each transmit antenna are derived based on a respective modulation scheme.

23. A receiver unit in a wireless communication system, wherein the wireless communication system comprises a plurality of receive antennas, comprising:
a detector operative to receive at least one data stream, wherein each data stream comprises a plurality of modulatian symbols for a plurality of transmitted coded bits, derive soft-decision symbols for the coded bits based on the received modulation symbols and a first a priori information for the coded bits derive the first a priori information for the coded bits based on a a posteriori information, and derive a second a priori information for the coded bits based on the soft-decision symbols and the first a priori information;
wherein the detector operative to receive the plurality of modulation and symbols from each receive antenna with a respective modulation or coding schemes;
a decoder operative to decode the second a priori information to derive the a posteriori information and to determine decoded bits of the transmitted coded bits; and
wherein the second a priori information is derived by the detector and decoded by the decoder a plurality of times prior to determining the decoded bits.

24. The receiver unit of claim 23, further comprising:
a deinterleaver operative to deinterleave a second extrinsic information based on the soft-decision symbols and the first a priori information for the transmitted coded bits, wherein the deinterleaved second extrinsic information is decoded by the decoder; and
an interleaver operative to interleave a first extrinsic information based on the second a priori information and the a posteriori information for the transmitted coded bits,
wherein the interleaved first extrinsic information is used by the detector to derive the soft-decision symbols.

25. The receiver unit of claim 23, wherein the soft-decision symbols represent log-likelihood ratios (LLRs) for the coded bits.

26. The receiver unit of claim 25, wherein the detector is operative to use a dual-maxima approximation to derive the LLRs for the coded bits.

27. The receiver unit of claim 23, wherein the detector is further operative to recover the modulation symbols for each transmit antenna by nulling the modulation symbols for other transmit antennas, and to derive the soft-decision symbols for the coded bits transmitted from each transmit antenna based on the recovered modulation symbols for the transmit antenna and the first a priori information.

28. The receiver unit of claim 27, wherein the detector is further operative to pre-multiply the received modulation symbols with a plurality of nulling matrices to derive the recovered modulation symbols for the plurality of frequency subchannels of each transmit antenna.

29. The receiver unit of claim 27, wherein the detector is further operative to cancel interference due to the recovered modulation symbols for each transmit antenna, and to recover the modulation symbols for each subsequent transmit antenna, except the last transmit antenna, based on the interference-cancelled modulation symbols.

30. The receiver unit of claim 23, wherein one decoder is provided for each independently coded data stream to be decoded by the receiver.

31. The receiver unit of claim 23, wherein at least one decoder is operative to perform concatenated convolutional decoding on the second a priori information.

32. The receiver unit of claim 23, wherein at least one decoder implements a maximum a posteriori (MAP) decoding algorithm.

33. The receiver unit of claim 23, further comprising:
a channel estimator operative to estimate one or more characteristics of a communication channel via which the plurality of modulation symbols are received; and
a transmitter unit operative to process and transmit channel state information indicative of the estimated channel characteristics.

34. The receiver unit of claim 33, wherein the channel state information is indicative of a particular coding and modulation scheme to be used for each transmit antenna.

35. The receiver unit of claim 33, wherein the channel state information is indicative of a particular coding and modulation scheme to be used for all transmit antennas.

36. The receiver unit of claim 23, wherein the wireless communication system is a multiple-input multiple-output (MIMO) system that implements orthogonal frequency division multiplexing (OFDM).

37. A terminal comprising the receiver unit of claim 23.

38. A base station comprising the receiver unit of claim 23.

39. An access point comprising the receiver unit of claim 23.

40. A receiver apparatus in a wireless communication system, wherein the wireless communication system comprises a plurality of receive antennas, comprising:
means for receiving at least one data stream, wherein each data stream comprises a plurality of modulation symbols for a plurality of coded bits transmitted via a plurality of frequency subchannels of the plurality of transmit antennas, wherein the plurality of modulation symbols for each receive antenna is a respective modulation or coding scheme;
means for deriving soft-decision symbols for the coded bits based on the received modulation symbols and a first a priori information for the coded bits;
means for deriving a second a priori information for the coded bits based on the soft-decision symbols and the first a priori information;
first means for decoding the second a priori information to derive the first a priori information, wherein the second a priori information is derived and decoded a plurality of times; and
first means for determining decoded bits of the transmitted coded bits based in part on the first a priori information.

41. The receiver apparatus of claim 40, further comprising:
means for recovering the modulation symbols for each transmit antenna by nulling the modulation symbols for other transmit antennas, and
wherein the soft-decision symbols for the coded bits transmitted from each transmit antenna are derived based on the recovered modulation symbols for the transmit antenna and the first a priori information for the transmit antenna.

42. The receiver apparatus of claim 40, further comprising:
means for deinterleaving a second extrinsic information based on the soft-decision symbols and the first a priori information for the transmitted coded bits, wherein the deinterleaved second extrinsic information is decoded; and
means for interleaving a first extrinsic information based on the second a priori information and a a posteriori information for the transmitted coded bits, wherein the interleaved first extrinsic information is used to derive the soft-decision symbols.