U.S. patent application number 11/081260 was filed with the patent office on 2005-07-21 for iterative detection and decoding for a mimo-ofdm system.
Invention is credited to Bjerke, Bjorn A., Ketchum, John W., Walton, Jay R..
Application Number | 20050157811 11/081260 |
Document ID | / |
Family ID | 21714197 |
Filed Date | 2005-07-21 |
United States Patent
Application |
20050157811 |
Kind Code |
A1 |
Bjerke, Bjorn A. ; et
al. |
July 21, 2005 |
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.
Inventors: |
Bjerke, Bjorn A.; (Boston,
MA) ; Ketchum, John W.; (Harvard, MA) ;
Walton, Jay R.; (Westford, MA) |
Correspondence
Address: |
Qualcomm Incorporated
Patents Department
5775 Morehouse Drive
San Diego
CA
92121-1714
US
|
Family ID: |
21714197 |
Appl. No.: |
11/081260 |
Filed: |
March 15, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11081260 |
Mar 15, 2005 |
|
|
|
10005104 |
Dec 3, 2001 |
|
|
|
Current U.S.
Class: |
375/267 ;
375/295 |
Current CPC
Class: |
H04L 1/0066 20130101;
H04L 27/2647 20130101; H04L 5/0023 20130101; H04L 25/03891
20130101; H04L 1/0009 20130101; H04B 7/0854 20130101; H04L 1/0071
20130101; H04B 7/0413 20130101; H04L 25/03171 20130101; H04L 1/06
20130101; H04L 1/005 20130101; H04L 25/067 20130101; H04L 1/0059
20130101; H04L 25/03305 20130101; H04L 1/0003 20130101 |
Class at
Publication: |
375/267 ;
375/295 |
International
Class: |
H04L 027/04 |
Claims
What is claimed is:
1. A method for transmitting data in a wireless communication
system, comprising: receiving channel state information (CSI)
indicative of one or more characteristics of a communication
channel to be used for data transmission; selecting one or more
coding schemes and one or more modulation schemes to be used for
the data transmission based on the received CSI; processing data
based on the one or more selected coding schemes to provide coded
data; modulating the coded data based on the one or more selected
modulation schemes to provide a plurality of modulation symbol
streams; and generating a plurality of modulated signals for the
plurality of modulation symbol streams, and wherein the CSI is
derived at one or more receivers based on iterative detection and
decoding of the plurality of modulated signals as received at the
one or more receivers.
2. The method of claim 1, further comprising: interleaving the
coded data based on one or more interleaving schemes, and wherein
the interleaved data is modulated.
3. A transmitter in a wireless communication system, comprising: a
TX data processor operative to process data based on one or more
coding schemes to provide coded data; and a modulator operative to
modulate the coded data based on one or more modulation schemes to
provide a plurality of modulation symbol streams, and to generate a
plurality of modulated signals for the plurality of modulation
symbol streams, and wherein the coding and modulation schemes are
selected based on channel state information (CSI) derived at one or
more receivers based on iterative detection and decoding of the
plurality of modulated signals as received at the one or more
receivers.
4. The transmitter of claim 3, wherein the TX data processor is
further operative to interleave the coded data based on one or more
interleaving schemes, and wherein the interleaved data is modulated
by the modulator.
5. The transmitter of claim 4, wherein one interleaving scheme is
used for each modulation symbol stream.
6. The transmitter of claim 4, wherein one interleaving scheme is
used for each group of one or more modulation symbol streams.
7. The transmitter of claim 4, wherein the coded data is
interleaved over time and space.
8. The transmitter of claim 4, wherein the coded data is
interleaved over time, frequency, and space.
9. The transmitter of claim 3, further comprising: a controller
operative to receive the CSI and to select the coding and
modulation schemes based on the received CSI.
10. The transmitter of claim 4, further comprising: a controller
operative to receive the CSI and to select the coding,
interleaving, and modulation schemes based on the received CSI.
11. The transmitter of claim 3, wherein the one or more coding
schemes comprise a parallel concatenated convolutional code.
12. The transmitter of claim 3, wherein the one or more coding
schemes comprise a serial concatenated convolutional code.
13. The transmitter of claim 3, wherein the one or more coding
schemes comprise a convolutional code.
14. The transmitter of claim 3, wherein the one or more coding
schemes comprise a block code.
15. The transmitter of claim 3, wherein the one or more modulation
schemes are non-Gray modulation schemes.
16. The transmitter of claim 3, wherein the one or more modulation
schemes are anti-Gray modulation schemes.
17. The transmitter of claim 3, wherein a separate coding scheme
and a separate modulation scheme are used for each of the plurality
of modulated signals.
18. The transmitter of claim 4, wherein a separate coding scheme, a
separate interleaving scheme, and a separate modulation scheme are
used for each of the plurality of modulated signals.
19. The transmitter of claim 3, wherein a common coding scheme and
a common modulation scheme are used for the plurality of modulated
signals.
20. The transmitter of claim 4, wherein a common coding scheme, a
common interleaving scheme, and a common modulation scheme are used
for the plurality of modulated signals.
21. A transmitter apparatus in a wireless communication system,
comprising: means for processing data based on one or more coding
schemes to provide coded data; means for modulating the coded data
based on one or more modulation schemes to provide a plurality of
modulation symbol streams; means for generating a plurality of
modulated signals for the plurality of modulation symbol streams,
and wherein the coding, interleaving and modulation schemes are
selected based on channel state information (CSI) derived at one or
more receivers based on iterative detection and decoding of the
plurality of modulated signals as received at the one or more
receivers.
22. The transmitter apparatus of claim 21, further comprising:
means for interleaving the coded data based on one or more
interleaving schemes to provide a plurality of coded and
interleaved data streams, and wherein the interleaved data is
modulated.
Description
[0001] Claim of Priority Under 35 U.S.C. .sctn.120
[0002] The present Application for Patent is a Divisional of Patent
Application No. 10/005,104 entitled "Iterative Detection and
Decoding for a MIMO-OFDM System" filed Dec. 3, 2001, pending, and
assigned to the assignee hereof and hereby expressly incorporated
by reference herein.
BACKGROUND
[0003] 1. Field
[0004] 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.
[0005] 2. Background
[0006] 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.ltoreq.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.
[0007] 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.
[0008] 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 (N.sub.F)
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.
[0009] 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.
[0010] 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
[0011] 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.
[0012] 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.
[0013] 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).
[0014] 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.
[0015] 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
[0016] 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:
[0017] FIG. 1 is a block diagram of a transmitter system and a
receiver system in a MIMO-OFDM system;
[0018] 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;
[0019] FIGS. 3A and 3B are block diagrams of serial and parallel
concatenated convolutional encoders, respectively;
[0020] FIG. 3C is a block diagram of a recursive convolutional
encoder;
[0021] 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;
[0022] 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;
[0023] 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
[0024] FIG. 6 is a block diagram of an interference canceller that
may be used for the receiver unit in FIG. 4C.
DETAILED DESCRIPTION
[0025] 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).
[0026] As noted above, a MIMO system employs N.sub.T transmit
antennas and N.sub.R receive antennas for data transmission, where
N.sub.R.gtoreq.N.sub.T. A MIMO channel formed by the N.sub.T
transmit antennas and N.sub.R receive antennas may be decomposed
into N.sub.S spatial subchannels, where N.sub.S.ltoreq.min
{N.sub.T, N.sub.R}. An OFDM system effectively partitions the
system bandwidth into N.sub.F 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 (N.sub.C)
"transmission channels" (where N.sub.C=N.sub.S.multidot.N.sub.F- ),
with each such transmission channel corresponding to a frequency
subchannel of a spatial subchannel.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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 N.sub.T transmit antennas to be
used for data transmission.
[0031] 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.
[0032] 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 N.sub.R data sample streams from receivers 154a
through 154r to provide N.sub.R 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.
[0033] 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.
[0034] 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
[0035] 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 N.sub.T transmit antennas and a single modulation scheme is
used for all N.sub.F 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.
[0036] 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.
[0037] 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.
[0038] Demultiplexer 216 then demultiplexes the interleaved and
coded data into N.sub.T coded data streams for the N.sub.T transmit
antennas to be used for the data transmission. The N.sub.T coded
data streams are then provided to modulator 116a.
[0039] In the specific embodiment shown in FIG. 2A, modulator 116a
includes N.sub.T 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 N.sub.T symbol mapping
elements 222a through 222t implement the same modulation
scheme.
[0040] Within each OFDM modulator, symbol mapping element 222 maps
the received coded bits to modulation symbols for the (up to)
N.sub.F 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=2.sup.q. Symbol mapping element 222 then provides a vector of (up
to) N.sub.F 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.
[0041] 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.
[0042] 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).
[0043] 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.
[0044] 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 N.sub.T transmit antennas and a
particular modulation scheme is used for all N.sub.F 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).
[0045] 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.
[0046] In the specific embodiment shown in FIG. 2B, TX data
processor 114b includes a demultiplexer 210, N.sub.T encoders 212a
through 212t, and N.sub.T 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 N.sub.T data streams for the N.sub.T
transmit antennas to be used for the data transmission. Each data
stream is then provided to a respective encoder 212.
[0047] 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 N.sub.T interleaved and
coded data streams for the N.sub.T transmit antennas.
[0048] In the specific embodiment shown in FIG. 2B, modulator 116b
includes N.sub.T OFDM modulators, with each OFDM modulator
including symbol mapping element 222, IFFT 224, and cyclic prefix
generator 226. In this embodiment, the N.sub.T symbol mapping
elements 222a through 222t may implement different modulation
schemes. Within each OFDM modulator, symbol mapping element 222
maps groups of q.sub.n coded bits to form M.sub.n-ary modulation
symbols, where M.sub.n corresponds to the specific modulation
scheme selected for the n-th transmit antenna (as determined by the
modulation control provided by controller 130) and
M.sub.n=2.sup.q.sup..sub.n. The subsequent processing by IFFT 224
and cyclic prefix generator 226 is as described above.
[0049] 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.
[0050] 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.
09/993,087, 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.
[0051] 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
[0052] 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.
[0053] 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 R.sub.o. The coded output from
encoder 312a is provided to code interleaver 314, which interleaves
each packet of N.sub.P coded bits in accordance with a particular
(e.g., pseudo-random) interleaving scheme.
[0054] 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 N.sub.P coded bits
in a packet are written, by row, into a 2.sup.5-row by
2.sup.n-column array, where n is the smallest integer such that
N.sub.P.ltoreq.2.sup.5+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
x.sub.k(i+1)={x.sub.k(i)+c.sub.k} mod 2.sup.n, where i=0, 1, . . .
2.sup.n-1, x.sub.k(0)=c.sub.k, and c.sub.k 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.
[0055] 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.
[0056] Inner convolutional encoder 312b receives and further codes
the interleaved bits from code interleaver 314 with a particular
inner code of code rate R.sub.i. 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
R.sub.sccc=R.sub.o.multidot.R.sub.i.
[0057] 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.
[0058] 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 R.sub.1 and R.sub.2, respectively. The recursive
codes maximize the benefits provided by the interleaving gain.
[0059] The parity bits b.sup.y and b.sup.z 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, R.sub.PCCC, of the parallel concatenated convolutional
encoder, which is given by 1/R.sub.PCCC=1/R.sub.1+1/R.sub.2-1.
[0060] 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.
[0061] 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.
[0062] In the embodiment shown in FIG. 3C, encoder 312x implements
the following, transfer function for the recursive convolutional
code: 1 G ( D ) = [ 1 n ( D ) d ( D ) ] ,
[0063] where
[0064] n(D)=1+D+D.sup.3, and
[0065] d(D)=1+D.sup.2+D.sup.3.
[0066] Encoder 312x may also be designed to implement other
convolutional codes, and this is within the scope of the
invention.
[0067] 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.
[0068] After all N.sub.1 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.
[0069] 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
[0070] 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.
[0071] 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.
[0072] 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 b.sup.x, the tail and parity bits b.sup.y from the
first constituent encoder 312c, and the tail and parity bits
b.sup.z 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.
[0073] 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
[0074] 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 N.sub.F frequency subchannels
of all N.sub.T 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.
[0075] The signals transmitted from the N.sub.T transmit antennas
are initially received by each of N.sub.R 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.
[0076] In the specific embodiment shown in FIG. 4A, demodulator
156a includes N.sub.R 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 N.sub.F received
modulation symbols for the N.sub.F frequency subchannels used to
transmit the OFDM symbol. The N.sub.R modulation symbol vectors
from all N.sub.R 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.
[0077] 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
N.sub.R 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.
[0078] 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 N.sub.F
frequency subchannels of all N.sub.T 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(b.sub.k) in
FIG. 4A.
[0079] For each transmission symbol period, detector 420a provides
up to N.sub.B soft-decision symbols to N.sub.B respective summers
422, where N.sub.B=N.sub.T.multidot.N.sub.F.multidot.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 b.sub.k from decoder 430 (which is
referred to as the detector a priori information and denoted as
L.sub.a(b.sub.k)), and subtracts this detector a priori information
from the received soft-decision symbol to derive extrinsic
information for the coded bit (denoted as L.sub.e(b.sub.k)). The
extrinsic information for all (N.sub.T.multidot.N.sub.F.multidot.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 L.sub.a.sup.D(b.sub.k)).
[0080] 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 L.sup.D(b.sub.k))
to a summer 432. Summer 432 then subtracts the decoder a priori
information, L.sub.a.sup.D(b.sub.k), from the decoder a posteriori
information, L.sup.D(b.sub.k), to derive extrinsic information from
the decoder for the detector (denoted as L.sub.e.sup.D(b.sub.k)).
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,
L.sub.a(b.sub.k), to detector 420a and summers 422.
[0081] To briefly summarize, the output of the detection process
may be expressed as:
L.sub.e(b.sub.k)=L(b.sub.k)-L.sub.a(b.sub.k), Eq (1)
[0082] where L(b.sub.k) represents the soft-decision symbol for the
k-th coded bit b.sub.k;
[0083] L.sub.a(b.sub.k) represents the detector a priori
information for the k-th coded bit, which is provided by the
decoder; and
[0084] L.sub.e(b.sub.k) represents the extrinsic information for
the k-th coded bit provided by the detector to the decoder.
[0085] The output of the decoding process may similarly be
expressed as:
L.sub.e.sup.D(b.sub.k)=L.sup.D(b.sub.k)-L.sub.a.sup.D(b.sub.k), Eq
(2)
[0086] where L.sup.D(b.sub.k) represents the a posteriori
information for the k-th coded bit provided by the decoder;
[0087] L.sub.a.sup.D(b.sub.k) represents the decoder a priori
information for the k-th coded bit provided by the detector;
and
[0088] L.sub.e.sup.D(b.sub.k) represents the extrinsic information
for the k-th coded bit provided by the decoder to the detector.
[0089] As shown in FIG. 4A, the decoder a priori information,
L.sub.a.sup.D(b.sub.k), is simply the detector extrinsic
information, L.sub.e(b.sub.k), after the parallel-to-serial
conversion and channel deinterleaving. Similarly, the detector a
priori information, L.sub.a(b.sub.k), is simply the decoder
extrinsic information, L.sub.e.sup.D(b.sub.k), after the channel
interleaving and serial-to-parallel conversion.
[0090] 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.
[0091] In FIG. 4A, detector 420a provides soft-decision symbols for
the transmitted coded bits based on the modulation symbols received
from the N.sub.R 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.
[0092] 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
[0093] 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., transmission symbol
period j) may be expressed as: 2 r m , l ( j ) = n = 1 N T h n , m
, l ( j ) c n , l ( j ) + n m , l ( j ) , Eq ( 3 )
[0094] where h.sub.n,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;
[0095] C.sub.n,l(j) is the modulation symbol transmitted on the
l-th frequency subchannel of the n-th transmit antenna; and
[0096] n.sub.m,l(j) is a sample function of a zero-mean, temporally
and spatially white Gaussian noise process.
[0097] To simplify notation, the time index j is dropped in the
following derivations.
[0098] Equation (3) may be expressed in matrix form, as
follows:
r.sub.l=H.sub.lc.sub.l+n.sub.l, for l=0, 1, 2, . . . , N.sub.F-1,
Eq (4)
[0099] where r.sub.l=[r.sub.1.l r.sub.2.l . . .
r.sub.N.sub..sub.R.sub.,l]- .sup.T is a vector of N.sub.R
modulation symbols received from the N.sub.R receive antennas for
the l-th frequency subchannel;
[0100] H.sub.l is the N.sub.R.times.N.sub.T matrix of channel gains
{h.sub.n,m,l} for the l-th frequency subchannel, where h.sub.n,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;
[0101] c.sub.l=[c.sub.1.l c.sub.2.l . . .
c.sub.N.sub..sub.T.sub.,l].sup.T is a vector of N.sub.T modulation
symbols transmitted from the N.sub.T transmit antennas for the l-th
frequency subchannel;
[0102] n.sub.l=[n.sub.1.l n.sub.2.l . . .
n.sub.N.sub..sub.R.sub.,l].sup.T is a vector of N.sub.R noise
samples for the N.sub.R receive antennas for the l-th frequency
subchannel; and
[0103] ".sup.T" denotes the transposition.
[0104] The modulation symbols received from all N.sub.F frequency
subchannels of all N.sub.R receive antennas for each time index may
be expressed as:
r=[r.sub.0.sup.T r.sub.1.sup.T . . .
r.sub.N.sub..sub.F.sub.-1.sup.T].sup.- T. Eq (5)
[0105] The N.sub.F.multidot.N.sub.R received modulation symbols in
r correspond to the N.sub.F.multidot.N.sub.T transmitted modulation
symbols, which may be expressed as:
c=[c.sub.1.sup.T c.sub.2.sup.T . . .
c.sub.N.sub..sub.T.sup.T].sup.T. Eq (6)
[0106] As noted above, each modulation symbol is formed by a
respective group of q coded bits. The N.sub.F.multidot.N.sub.R
received modulation symbols in r thus further correspond to the
N.sub.F.multidot.N.sub.T.mult- idot.q transmitted coded bits, which
may be expressed as:
b=[b.sub.1.sup.T, b.sub.2.sup.T, . . .
b.sub.N.sub..sub.T.sup.T].sup.T, Eq (7)
[0107] where the coded bits transmitted from the n-th transmit
antenna may be expressed as
b.sub.n=[b.sub.n,0,1 . . . b.sub.n,0,q b.sub.n,1,l . . .
b.sub.n,1,q . . . b.sub.n,N.sub..sub.F.sub.-1,l . . .
b.sub.n,N.sub..sub.F.sub.-1,q].sup.T.
[0108] The detector computes the LLRs for each transmitted coded
bit b.sub.n,l,i, as follows: 3 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
)
[0109] As shown in equation (8), the LLR for a given coded bit,
L(b.sub.n,l,i), is computed as the (natural) logarithm of the ratio
of the probability of the coded bit b.sub.n,l,i being a +1 given
the received modulation symbols r, Pr{b.sub.n,l,i=+1.vertline.r},
over the probability of the coded bit b.sub.n,l,i being a -1 given
the received modulation symbols r, Pr{b.sub.n,l,i=-1.vertline.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.
[0110] The following equalities may be expressed: 4 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 )
[0111] where .function.(.multidot.) represents the symbol mapping
from the coded bits b to the modulation symbols c. The LLRs may
then be expressed as: 5 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 )
[0112] 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: 6 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 )
[0113] 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.
[0114] The received modulation symbols r.sub.1,l, r.sub.2,l, . . .
, r.sub.N.sub..sub.R.sub.,N.sub..sub.F.sub.-1 are conditionally
independent given c. The term Pr{r.vertline.c} may then be
expressed as: 7 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 )
[0115] where .sigma..sup.2 is the noise spectral density given by
.sigma..sup.2=N.sub.0/2.
[0116] Substituting equations (11) and (12) into equation (10), the
LLR for the k-th coded bit may then be expressed as: 8 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 )
[0117] where k={n,l,i}. Equation (13) may further be decomposed as
follows: 9 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 ) , where m , l = - 1
2 2 r m , l - n = 1 N T h n , m , l c n , l 2 . Eq ( 14 )
[0118] As shown in equation (14), the LLR for the k-th coded bit,
L(b.sub.k), may be decomposed into two parts. The term
L.sub.a(b.sub.k) 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: 10 L a ( b k ) = ln Pr { b
k = + 1 } Pr { b k = - 1 } . Eq ( 15 )
[0119] The term L.sub.e(b.sub.k) 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,
.PI.Pr{b.sub.p}, in equation (14) may be expressed as: 11 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 )
[0120] where C is a constant and 12 = p = 1 , p k N T N F q 1 2 b p
L a ( b p ) .
[0121] Hence, the detector extrinsic information, L.sub.e(b.sub.k),
may be expressed in terms of the detector a priori LLRs, as
follows: 13 L e ( b k ) = ln c _ _ : c = f ( b _ _ ) b k = + 1 [ m
= 1 N R i = 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 i =
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 )
[0122] Since the detector a priori information, L.sub.a(b.sub.k),
is known by the decoder, it may be subtracted from L(b.sub.k) by
summers 422 in FIG. 4A such that only the detector extrinsic
information, L.sub.e(b.sub.k), is provided to the decoder.
[0123] 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
(N.sub.F), the number of transmit antennas (N.sub.T), and the size
of the signal constellation (2.sup.q). 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.
[0124] Without loss of generality, the signal from transmit antenna
1 may be treated as the desired signal and the other signals from
the remaining (N.sub.T-1) transmit antennas may be treated as
interference to the desired signal. With N.sub.R receive antennas,
where N.sub.R.gtoreq.N.sub.T, the (N.sub.T-1) interferers may be
nulled (or canceled). For each of the N.sub.F frequency
subchannels, the vector of N.sub.R modulation symbols, r.sub.l
(which are received from the N.sub.R receive antennas for the l-th
frequency subchannel) may be pre-multiplied by an
(N.sub.R-N.sub.T+1).times.N.sub.R nulling matrix,
.THETA..sub.l.sup.(1), and the resulting vector {tilde over
(r)}.sub.l.sup.(1) of (N.sub.R-N.sub.T+1) elements may be expressed
as:
{tilde over
(r)}.sub.l.sup.(1)=.THETA..sub.l.sup.(1)r.sub.l=.THETA..sub.l.-
sup.(1)H.sub.lc.sub.l+.THETA..sub.l.sup.(1)n.sub.l={tilde over
(H)}.sub.l.sup.(1)c.sub.1,l+.sub.l.sup.(1), for l=0, 1, . . . ,
N.sub.F-1. Eq (18)
[0125] As shown in equation (18), the components from transmit
antennas 2, 3, . . . , N.sub.T are suppressed in the vector {tilde
over (r)}.sub.l.sup.(1) and only the component c.sub.1,l from
desired transmit antenna 1 remains.
[0126] The nulling matrices, .THETA..sub.l.sup.(n), may be
determined based on algorithms known in the art. The derivation of
the nulling matrix, .THETA..sub.l.sup.(1), for transmit antenna 1
is briefly described as follows. First, the
N.sub.R.times.(N.sub.T-1) channel response matrix, H.sub.l.sup.(1),
for transmit antennas 2 through NT and the NR receive antennas is
determined. A set of (N.sub.R-N.sub.T+1) orthonormal vectors
{.nu..sub.1.sup.(1) .nu..sub.2.sup.(1) . . .
.nu..sub.N.sub..sub.R.sub.-N.sub..sub.T.sub.+1.sup.(1)}, whose
members are the rows of the nulling matrix, .THETA..sub.l.sup.(1),
is then computed such that
.THETA..sub.l.sup.(1)H.sub.l.sup.(1)=0,
[0127] where 0 is the all-zero matrix, and
.THETA..sub.l.sup.(1).THETA..sub.l.sup.(1)*=I,
[0128] where .THETA..sub.l.sup.(1)* is the Hermitian of
.THETA..sub.l.sup.(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., .THETA..sub.l.sup.(n) for n=1, 2, . . . ,
N.sub.T, and l=0, 1, . . . , N.sub.F-1).
[0129] 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.
[0130] After nulling the interference on the desired signal due to
the signals from the other (N.sub.T-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 (N.sub.T-1) transmit antennas. For
transmit antenna 1, the LLRs for the coded bits transmitted on all
N.sub.F frequency subchannels of this transmit antenna,
[b.sub.1,0,1 . . . b.sub.1,0,q b.sub.1,1,1 . . . b.sub.1,1,q . . .
b.sub.1,N.sub..sub.F.sub.-1,1 . . . b.sub.1,N.sub..sub.F.sub.-1,q],
may be expressed as: 14 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 )
[0131] where {tilde over (r)}.sup.(1)=[{tilde over
(r)}.sub.0.sup.(1)T{til- de over (r)}.sub.l.sup.(1)T . . . {tilde
over (r)}.sub.N.sub..sub.F.sub.-1- .sup.(1)T].sup.T.
[0132] 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: 15 L ( 1 ) ( b k ) = ln c 1 :
c 1 = f ( b 1 ) b k = + 1 [ m = 1 N R i = 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 i = 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 ) ) ] + ln Pr [ b k = + 1 } Pr { b
k = - 1 } , Eq ( 20 )
[0133] where k=1, 2, . . . , N.sub.F.multidot.q and k={m, l}.
[0134] As shown in equation (20), instead of calculating
(N.sub.F.multidot.N.sub.T.multidot.q) LLR values for all N.sub.T
transmit antennas, only (N.sub.F.multidot.q) LLR values are
calculated at a time for each of N.sub.T 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 N.sub.T since (1) each summation is performed
over only the modulation symbols c.sub.n transmitted from the
desired n-th transmit antenna, and (2) the term 16 Pr { b p }
[0135] is evaluated only for the coded bits transmitted from the
n-th transmit antenna.
[0136] The product of the a priori probabilities, 17 Pr { b p }
,
[0137] in equation (20) may be expressed as: 18 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 )
[0138] The detector extrinsic information,
L.sub.e.sup.(n)(b.sub.k), may then be expressed in terms of the
detector a priori LLRs, as follows: 19 L e ( n ) ( b k ) = ln c _ :
c _ = 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 _ : c _ = 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 )
[0139] The detection with interference nulling described above may
be repeated N.sub.T times, once for each transmit antenna. For each
repetition to recover the desired signal from a particular transmit
antenna, the (N.sub.T-1) interferers of this desired signal may be
nulled out by pre-multiplying the received modulation symbol
vectors, r.sub.l, with the nulling matrix, .THETA..sub.l.sup.(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 N.sub.T times, once
for each desired signal, with each evaluation providing a set of
(N.sub.F.multidot.q) LLRs for the coded bits in the desired
signal.
[0140] 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 (N.sub.R-N.sub.T+1), instead of a diversity of order N.sub.R,
using equation (18).
[0141] 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(.beta..sub.m,l) and exp(.alpha..sub.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: 20 ln j exp ( a j ) max j ( a
j ) . Eq ( 23 )
[0142] For simplicity, the following may be defined: 21 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 )
[0143] Applying the approximation shown in equation (23) for the
sum of exponents to equation (24), the following can be expressed:
22 L k max u _ : u k = + 1 { M ( u _ , y _ ) } - max u _ : u k = -
1 { M ( u _ , y _ ) } . Eq ( 25 )
[0144] The approximation shown in equation (25) is often referred
to as the dual-maxima approximation.
[0145] 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: 23 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 )
[0146] Next, instead of summing over the individual elements for
all possible values of the coded bits for the modulation symbols
c.sub.n 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).
[0147] 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.
[0148] 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.
[0149] 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.
[0150] 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 N.sub.T
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.
[0151] The signals transmitted from the N.sub.T transmit antennas
are initially received by each of N.sub.R 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 N.sub.F received
modulation symbols for the N.sub.F frequency subchannels used to
transmit the OFDM symbol. The N.sub.R modulation symbol vectors
from all N.sub.R 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.
[0152] In the embodiment shown in FIG. 4B, detector/decoder 158b
includes a detector 420b and N.sub.T decoder blocks 440, which
collectively perform iterative detection and decoding on the
modulation symbols received from all N.sub.R 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.
[0153] Detector 420b receives the modulation symbols from
demodulator 156b and the a priori information from the N.sub.T
decoders 430a through 430t and provides soft-decision symbols for
the N.sub.T 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 N.sub.T vectors of soft-decision
symbols for the N.sub.T transmit antennas to the N.sub.T decoder
blocks 440, with each vector including (N.sub.F.multidot.q.sub.n)
soft-decision symbols (where q.sub.n 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 (N.sub.F.multidot.q.sub.n) 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.
[0154] 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.
[0155] 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.
[0156] 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).
[0157] The N.sub.R received signals are initially processed by
receivers 154 and further processed by demodulator 156 to provide
N.sub.R 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).
[0158] Detector/decoder 158c includes a detector 420c, N.sub.T
decoder blocks 440, and P/S converter 442. Detector 420c includes
N.sub.T 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.
[0159] Within detector 420c, the received modulation symbol vectors
r are provided as the input vectors r.sup.(1) for interference
nuller 450a, which pre-multiplies the modulation symbol vector
r.sub.l.sup.(1) for each frequency subchannel with the nulling
matrix .THETA..sub.l.sup.(1) for that frequency subchannel of the
first transmit antenna to provide the vector {tilde over
(r)}.sub.l.sup.(1) having the components from the other (N.sub.T-1)
transmit antennas approximately removed. The pre-multiplication may
be performed as shown in equation (18), which is:
{tilde over
(r)}.sub.l.sup.(1)=.THETA..sub.l.sup.(1)r.sub.l=.THETA..sub.l.-
sup.(1)H.sub.lc.sub.l+.THETA..sub.l.sup.(1)n.sub.l.
[0160] Interference nuller 450a performs N.sub.F
pre-multiplications to derive N.sub.F vectors, {tilde over
(r)}.sup.(1)=[{tilde over (r)}.sub.0.sup.(1)T{tilde over
(r)}.sub.1.sup.(1)T . . . {tilde over
(r)}.sub.N.sub..sub.F.sub.-1.sup.(1)T].sup.T, for the N.sub.F
frequency subchannels of the first transmit antenna.
[0161] The vectors {tilde over (r)}.sup.(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 (N.sub.F.multidot.q.sub.1) 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.
[0162] 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 .sup.(1)) is derived and subtracted from that stage's input
vectors r.sup.(1) to derive the input vectors r.sup.(2) for the
next stage. This interference cancellation may be expressed as:
r.sup.(2)=r.sup.(1)-.sup.(1). Eq (27)
[0163] 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.sup.(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 N.sub.R 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 (N.sub.T-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.sup.(N.sup..sub.T.sup.-
).
[0164] 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
[0165] 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.
[0166] 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.
[0167] The coded bits (or more specifically, the a priori LLRs for
the decoder, L.sub.a.sup.D(b.sub.k)) 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, e.sub.k.sup.s1,
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, L.sup.D(b.sub.k), that is provided to
summer 432 in FIGS. 4A and 4B.
[0168] 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, e.sub.k.sup.s2, which is indicative of further
corrections/adjustments in the confidence of the values for the
information bits. The extrinsic information, e.sub.k.sup.s2, is
then interleaved by code interleaver 516 and provided to inner MAP
decoder 512a.
[0169] 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.
[0170] 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.
[0171] 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.
[0172] The coded bits (or more specifically, the a priori LLRs for
the decoder, L.sub.a.sup.D(b.sub.k)) are provided to S/P converter
510, which provides the a priori LLRs for the information bits,
L.sub.a.sup.D(b.sub.k.sup.x), to MAP decoder 512c and code
interleaver 524b, the a priori LLRs for the first constituent
encoder's parity bits, L.sub.a.sup.D(b.sub.k.sup.y), to MAP decoder
512c, and the a priori LLRs for the second constituent encoder's
parity bits, L.sub.a.sup.D(b.sub.k.s- up.z), to code interleaver
524b, where L.sub.a.sup.D(b.sub.k)={L.sub.a.sup- .D(b.sub.k.sup.x),
L.sub.a.sup.D(b.sub.k.sup.y), L.sub.a.sup.D(b.sub.k.sup- .z)}.
[0173] MAP decoder 512c receives the a priori LLRs for the
information bits, L.sub.a.sup.D(b.sub.k.sup.x), the a priori LLRs
for the first constituent encoder's parity bits,
L.sub.a.sup.D(b.sub.k.sup.y), and extrinsic information from MAP
decoder 512d, e.sub.k.sup.p2 (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, e.sub.k.sup.p1, 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.
[0174] MAP decoder 512d receives the a priori LLRs for the
information bits, L.sub.a.sup.D(b.sub.k.sup.x) (after interleaving
by code interleaver 524b), the a priori LLRs for the second
constituent encoder's parity bits, L.sub.a.sup.D(b.sub.k.sup.z),
and the extrinsic information from MAP decoder 512c, e.sub.k.sup.p1
(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, e.sub.k.sup.p1, to provide the extrinsic information,
e.sub.k.sup.2, 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, e.sub.k.sup.2, is then
deinterleaved by code deinterleaver 526 and provided to MAP decoder
512c.
[0175] 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, L.sup.D(b.sub.k), to summer
432 in FIGS. 4A and 4B.
[0176] 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.
[0177] 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
[0178] 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.
[0179] For each frequency subchannel, channel simulator 612
multiples the remodulated symbols for the assigned n-th transmit
antenna with a vector .sub.n,l that includes an estimate of the
channel response between the n-th transmit antenna and each of the
N.sub.R receive antennas. The vector .sub.n,l is one column of the
estimated channel response matrix .sub.l for the l-th frequency
subchannel. The matrix .sub.l may be determined by a channel
estimator associated with the same stage and provided to channel
simulator 612.
[0180] If the remodulated symbol corresponding to the n-th transmit
antenna is expressed as {tilde over (c)}.sub.n,l, then the
estimated interference component .sub.l.sup.(n) due to the symbol
from the n-th transmit antenna may be expressed as: 24 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 )
[0181] The N.sub.R elements in the interference vector
.sub.l.sup.(n) correspond to components in the input vector
r.sub.l.sup.(n) due to the modulation symbol {tilde over
(c)}.sub.n,l transmitted from the n-th transmit antenna. The
interference vectors for all N.sub.F frequency subchannels may be
formed as .sup.(n)=[.sub.0.sup.(n)T.sub.1.sup.(n)T . . .
.sub.N.sub..sub.F.sub.-1.sup.(n)T].sup.T. The components in the
vectors .sup.(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.sup.(n). The interference
vectors .sup.(n) are then subtracted from the input vectors
r.sup.(n) by a summer 614 to provide modified vectors r.sup.(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.sup.(n+1) are provided as the input vectors
to the next processing stage, as shown in FIG. 4C.
[0182] The successive cancellation receiver processing technique is
described in further detail in the aforementioned U.S patent
application Ser. Nos. 09/854,235 and 09/993,087, 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
[0183] 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.
[0184] 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. 09/993,087.
[0185] 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.
[0186] 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).
[0187] 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.
[0188] 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.
[0189] 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.
[0190] 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.
* * * * *