U.S. patent application number 11/009824 was filed with the patent office on 2005-07-21 for broadcast transmission with spatial spreading in a multi-antenna communication system.
This patent application is currently assigned to QUALCOMM Incorporated. Invention is credited to Howard, Steven J., Ketchum, John W., Wallace, Mark S., Walton, Jay Rodney.
Application Number | 20050157806 11/009824 |
Document ID | / |
Family ID | 34700172 |
Filed Date | 2005-07-21 |
United States Patent
Application |
20050157806 |
Kind Code |
A1 |
Walton, Jay Rodney ; et
al. |
July 21, 2005 |
Broadcast transmission with spatial spreading in a multi-antenna
communication system
Abstract
An access point in a multi-antenna system broadcasts data using
spatial spreading to randomize an "effective" channel observed by
each user terminal for each block of data symbols broadcast by the
access point. At the access point, data is coded, interleaved, and
modulated to obtain N.sub.D data symbol blocks to be broadcast in
N.sub.M transmission spans, where N.sub.D.gtoreq.1 and
N.sub.M>1. The N.sub.D data symbol blocks are partitioned into
N.sub.M data symbol subblocks, one subblock for each transmission
span. A steering matrix is selected (e.g., in a deterministic or
pseudo-random manner from among a set of L steering matrices) for
each subblock. Each data symbol subblock is spatially processed
with the steering matrix selected for that subblock to obtain
transmit symbols, which are further processed and broadcast via
N.sub.T transmit antennas and in one transmission span to user
terminals within a broadcast coverage area.
Inventors: |
Walton, Jay Rodney;
(Carlisle, MA) ; Ketchum, John W.; (Harvard,
MA) ; Wallace, Mark S.; (Bedford, MA) ;
Howard, Steven J.; (Ashland, MA) |
Correspondence
Address: |
Qualcomm Incorporated
Patents Department
5775 Morehouse Drive
San Diego
CA
92121-1714
US
|
Assignee: |
QUALCOMM Incorporated
|
Family ID: |
34700172 |
Appl. No.: |
11/009824 |
Filed: |
December 9, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60530860 |
Dec 17, 2003 |
|
|
|
Current U.S.
Class: |
375/267 |
Current CPC
Class: |
H04L 25/03866 20130101;
H04B 7/043 20130101; H04B 7/068 20130101; H04B 7/0669 20130101;
H04L 25/0204 20130101; H04B 7/12 20130101; H04B 7/0615 20130101;
H04B 7/0678 20130101; H04L 5/0007 20130101; H04W 52/42 20130101;
H04L 25/0224 20130101 |
Class at
Publication: |
375/267 |
International
Class: |
H04L 001/02 |
Claims
What is claimed is:
1. A method of broadcasting data in a wireless multi-antenna
communication system, comprising: processing at least one block of
data to obtain at least one block of data symbols; performing
spatial processing on the at least one block of data symbols with a
plurality of steering matrices to obtain a plurality of sequences
of transmit symbols; and broadcasting the plurality of sequences of
transmit symbols from a plurality of transmit antennas to a
plurality of receiving entities in the system, wherein the
plurality of steering matrices randomize an effective channel
observed by each of the plurality of receiving entities for the at
least one block of data symbols.
2. The method of claim 1, further comprising: partitioning the at
least one block of data symbols into a plurality of subblocks of
data symbols; and selecting a steering matrix for each of the
plurality of subblocks of data symbols, and wherein each of the
plurality of subblocks of data symbols is spatially processed with
the steering matrix selected for the subblock.
3. The method of claim 2, wherein the broadcasting the plurality of
sequences of transmit symbols comprises broadcasting the plurality
of sequences of transmit symbols for the plurality of subblocks of
data symbols in a plurality of transmission spans, one subblock in
each transmission span.
4. The method of claim 2, wherein the broadcasting the plurality of
sequences of transmit symbols comprises broadcasting the plurality
of sequences of transmit symbols for the plurality of subblocks of
data symbols in a plurality of symbol periods, one subblock in each
symbol period.
5. The method of claim 2, wherein the broadcasting the plurality of
sequences of transmit symbols comprises broadcasting the plurality
of sequences of transmit symbols for the plurality of subblocks of
data symbols in a plurality of transmission spans, each
transmission span corresponding to one subband in one symbol
period.
6. The method of claim 1, wherein the processing the at least one
block of data comprises, for each block of data, encoding the block
of data in accordance with a coding scheme to obtain a block of
coded data, interleaving the block of coded data to obtain a block
of interleaved data, and symbol mapping the block of interleaved
data in accordance with a modulation scheme to obtain the block of
data symbols.
7. The method of claim 6, wherein the encoding the block of data
comprises encoding the block of data in accordance with a Turbo
code to obtain the block of coded data.
8. The method of claim 6, wherein the encoding the block of data
comprises encoding the block of data in accordance with a
convolutional code to obtain the block of coded data.
9. The method of claim 6, wherein the encoding the block of data
comprises encoding the block of data in accordance with a low
density parity check (LDPC) code to obtain the block of coded
data.
10. The method of claim 1, further comprising: determining a data
rate for each of the at least one block of data based on expected
channel conditions for the plurality of receiving entities.
11. The method of claim 1, further comprising: demultiplexing the
at least one block of data symbols into a plurality of sequences of
data symbols for transmission via a plurality of spatial channels
of the effective channel for each receiving entity.
12. The method of claim 11, wherein the demultiplexing the at least
one block of data symbols comprises providing each block of data
symbols as one sequence of data symbols.
13. The method of claim 1, further comprising: multiplexing the at
least one block of data symbols into a sequence of data symbols for
transmission via a single spatial channel of the effective channel
for each receiving entity.
14. The method of claim 1, further comprising: processing the at
least one block of data symbols for transmit diversity to obtain
coded symbols, and wherein the performing spatial processing on the
at least one block of data symbols comprises performing spatial
processing on the coded symbols with the plurality of steering
matrices to obtain the plurality of sequences of transmit
symbols.
15. The method of claim 14, wherein the processing the at least one
block of data symbols for transmit diversity comprises performing
space-time transmit diversity (STTD) processing on the at least one
block of data symbols such that each data symbol is broadcast via
two spatial channels of the effective channel for each receiving
entity in two symbol periods.
16. The method of claim 14, wherein the processing the at least one
block of data symbols for transmit diversity comprises performing
space-frequency transmit diversity (SFTD) processing on the at
least one block of data symbols such that each data symbol is
broadcast via two spatial channels of the effective channel for
each receiving entity on two subbands.
17. The method of claim 1, further comprising: selecting the
plurality of steering matrices from among a set of L steering
matrices, where L is an integer greater than one.
18. The method of claim 1, further comprising: generating the
plurality of steering matrices as unitary matrices having
orthogonal columns.
19. The method of claim 1, further comprising: partitioning the at
least one block of data symbols into a plurality of subblocks of
data symbols, one subblock for each of a plurality of frequency
subbands, and wherein the performing spatial processing on the at
least one block of data symbols comprises performing spatial
processing on each subblock of data symbols with one of the
plurality of steering matrices.
20. An apparatus in a wireless multi-antenna communication system,
comprising: a data processor to process at least one block of data
to obtain at least one block of data symbols; a spatial processor
to perform spatial processing on the at least one block of data
symbols with a plurality of steering matrices to obtain a plurality
of sequences of transmit symbols; and a plurality of transmitter
units to broadcast the plurality of sequences of transmit symbols
from a plurality of transmit antennas to a plurality of receiving
entities in the system, wherein the plurality of steering matrices
randomize an effective channel observed by each of the receiving
entities for the at least one block of data symbols.
21. The apparatus of claim 20, wherein the spatial processor
partitions the at least one block of data symbols into a plurality
of subblocks of data symbols and performs spatial processing on
each of the plurality of subblocks of data symbols with one of the
plurality of steering matrices.
22. The apparatus of claim 20, wherein the spatial processor
performs transmit diversity processing on the at least one block of
data symbols to generate coded symbols and performs spatial
processing on the coded symbols with the plurality of steering
matrices to obtain the plurality of sequences of transmit
symbols.
23. The apparatus of claim 20, wherein each of the plurality of
steering matrices includes a plurality of orthogonal columns, and
wherein the at least one block of data symbols is broadcast via a
plurality of spatial channels.
24. The apparatus of claim 20, wherein each of the plurality of
steering matrices includes a single column, and wherein the at
least one block of data symbols is broadcast via a single spatial
channel.
25. The apparatus of claim 21, further comprising: a controller to
select a steering matrix from among a set of L steering matrices
for each of the plurality of subblocks of data symbols, where L is
an integer greater than one.
26. The apparatus of claim 20, wherein the plurality of steering
matrices are unitary matrices having orthogonal columns.
27. The apparatus of claim 21, wherein the multi-antenna
communication system utilizes orthogonal frequency division
multiplexing (OFDM).
28. An apparatus in a wireless multi-antenna communication system,
comprising: means for processing at least one block of data to
obtain at least one block of data symbols; means for performing
spatial processing on the at least one block of data symbols with a
plurality of steering matrices to obtain a plurality of sequences
of transmit symbols; and means for broadcasting the plurality of
sequences of transmit symbols from a plurality of transmit antennas
to a plurality of receiving entities in the system, wherein the
plurality of steering matrices randomize an effective channel
observed by each of the receiving entities for the at least one
block of data symbols.
29. The apparatus of claim 28, further comprising: means for
partitioning the at least one block of data symbols into a
plurality of subblocks of data symbols; and means for selecting a
steering matrix for each of the plurality of subblocks of data
symbols, and wherein each of the plurality of subblocks of data
symbols is spatially processed with the steering matrix selected
for the subblock.
30. The apparatus of claim 28, further comprising: means for
performing transmit diversity processing on the at least one block
of data symbols to obtain coded symbols, and wherein the means for
performing spatial processing comprises means for performing
spatial processing on the coded symbols with the plurality of
steering matrices to obtain the plurality of sequences of transmit
symbols.
31. The apparatus of claim 28, wherein each of the plurality of
steering matrices includes a plurality of columns, and wherein the
plurality of blocks of data symbols are broadcast via a plurality
of spatial channels.
32. The apparatus of claim 28, wherein each of the plurality of
steering matrices includes a single column, and wherein the at
least one block of data symbols is broadcast via a single spatial
channel.
33. A method of broadcasting data in a wireless multi-antenna
communication system, comprising: processing a plurality of data
streams to obtain a plurality of blocks of data symbols, wherein
each block of data symbols corresponds to one block of coded data;
performing spatial processing on the plurality of blocks of data
symbols with a plurality of steering matrices to obtain a plurality
of sequences of transmit symbols; and broadcasting the plurality of
sequences of transmit symbols from a plurality of transmit antennas
to a plurality of receiving entities in the system, wherein the
plurality of steering matrices randomize an effective channel
observed by each of the plurality of receiving entities for the
plurality of blocks of data symbols.
34. The method of claim 33, further comprising: providing each of
the plurality of blocks of data symbols as one of a plurality of
sequences of data symbols, and wherein the performing spatial
processing on the plurality of blocks of data symbols comprises
performing spatial processing on the plurality of sequences of data
symbols with the plurality of steering matrices, each having a
plurality of columns, to broadcast each sequence of data symbols
via a respective spatial channel of the effective channel observed
by each receiving entity.
35. The method of claim 33, further comprising: selecting a single
data rate for the plurality of data streams; and allocating
transmit power for each of the plurality of data streams, wherein
the plurality of data streams are processed in accordance with the
selected data rate, and wherein each data stream is broadcast with
the transmit power allocated for the data stream.
36. The method of claim 33, further comprising: selecting at least
two different data rates for the plurality of data streams, and
wherein the plurality of data streams are processed in accordance
with the at least two different data rates.
37. The method of claim 33, further comprising: allocating
different transmit powers for the plurality of data streams, and
wherein the plurality of data streams are broadcast with the
different transmit powers.
38. The method of claim 33, further comprising: selecting the
number of data streams to process and broadcast based on expected
channel conditions for the plurality of receiving entities.
39. A method of receiving a broadcast transmission in a wireless
multi-antenna communication system, comprising: obtaining, via a
plurality of receive antennas, received data symbols for at least
one data symbol block spatially processed with a plurality of
steering matrices prior to broadcast from a plurality of transmit
antennas to a plurality of receiving entities; obtaining a channel
estimate for an effective multiple-input multiple-output (MIMO)
channel formed by the plurality of steering matrices and a MIMO
channel between the plurality of transmit antennas and the
plurality of receive antennas; and performing receiver spatial
processing on the received data symbols with the channel estimate
to obtain data symbol estimates for the at least one data symbol
block.
40. The method of claim 39, wherein the obtaining the channel
estimate comprises deriving a plurality of channel response
matrices for a plurality of transmission spans in which the at
least one data symbol block is broadcast, each channel response
matrix including one of the plurality of steering matrices.
41. The method of claim 40, further comprising: selecting a
steering matrix from among a set of L steering matrices for each of
the plurality of transmission spans, where L is an integer greater
than one.
42. The method of claim 40, further comprising: obtaining, via the
plurality of receive antennas, received pilot symbols for a pilot
broadcast from the plurality of transmit antennas to the plurality
of receiving entities, and wherein the channel response matrix for
each of the plurality of transmission spans is derived based on the
received pilot symbols and the steering matrix used for the
transmission span.
43. The method of claim 40, further comprising: obtaining, via the
plurality of receive antennas, received pilot symbols for a pilot
spatially processed with the plurality of steering matrices prior
to broadcast from the plurality of transmit antennas to the
plurality of receiving entities, and wherein the channel response
matrix for each of the plurality of transmission spans is derived
based on the received pilot symbols.
44. The method of claim 39, wherein the performing receiver spatial
processing comprises performing receiver spatial processing on the
received data symbols in accordance with a channel correlation
matrix inversion (CCMI) technique.
45. The method of claim 39, wherein the performing receiver spatial
processing comprises performing receiver spatial processing on the
received data symbols in accordance with a minimum mean square
error (MMSE) technique.
46. The method of claim 39, wherein the performing receiver spatial
processing comprises performing receiver spatial processing on the
received data symbols in accordance with a successive interference
cancellation (SIC) technique.
47. The method of claim 39, further comprising: performing
detection on the data symbol estimates based on a transmit
diversity scheme used on the at least one data symbol block prior
to broadcast.
48. The method of claim 39, further comprising: processing data
symbol estimates for each of the at least one data symbol block to
obtain decoded data for the data symbol block.
49. The method of claim 39, wherein the obtaining the channel
estimate comprises deriving a plurality of channel response
matrices for a plurality of subbands used for broadcasting the at
least one data symbol block, the channel response matrix for each
frequency subband including a steering matrix used for the
frequency subband.
50. An apparatus in a wireless multi-antenna communication system,
comprising: a plurality of receiver units to obtain, via a
plurality of receive antennas, received data symbols for at least
one data symbol block spatially processed with a plurality of
steering matrices prior to broadcast from a plurality of transmit
antennas to a plurality of receiving entities; a channel estimator
to obtain a channel estimate for an effective multiple-input
multiple-output (MIMO) channel formed by the plurality of steering
matrices and a MIMO channel between the plurality of transmit
antennas and the plurality of receive antennas; and a spatial
processor to perform receiver spatial processing on the received
data symbols with the channel estimate to obtain data symbol
estimates for the at least one data symbol block.
51. The apparatus of claim 50, wherein each of the plurality of
steering matrices includes a plurality of columns, and wherein the
at least one data symbol block is broadcast via a plurality of
spatial channels of the effective MIMO channel.
52. The apparatus of claim 50, wherein each of the plurality of
steering matrices includes a single column, and wherein the at
least one data symbol block is broadcast via a single spatial
channel of the effective MIMO channel.
53. The apparatus of claim 50, wherein the spatial processor
performs receiver spatial processing based on a channel correlation
matrix inversion (CCMI) technique, a minimum mean square error
(MMSE) technique, or a successive interference cancellation (SIC)
technique.
54. The apparatus of claim 50, wherein the spatial processor
performs transmit diversity processing on the data symbol estimates
for the at least one data symbol block.
55. An apparatus in a wireless multi-antenna communication system,
comprising: means for obtaining, via a plurality of receive
antennas, received data symbols for at least one data symbol block
spatially processed with a plurality of steering matrices prior to
broadcast from a plurality of transmit antennas to a plurality of
receiving entities; means for obtaining a channel estimate for an
effective multiple-input multiple-output (MIMO) channel formed by
the plurality of steering matrices and a MIMO channel between the
plurality of transmit antennas and the plurality of receive
antennas; and means for performing receiver spatial processing on
the received data symbols with the channel estimate to obtain data
symbol estimates for the at least one data symbol block.
56. The apparatus of claim 55, wherein each of the plurality of
steering matrices includes a plurality of columns, and wherein the
at least one data symbol block is broadcast via a plurality of
spatial channels of the effective MIMO channel.
57. The apparatus of claim 55, wherein each of the plurality of
steering matrices includes a single column, and wherein the at
least one data symbol block is broadcast via a single spatial
channel of the effective MIMO channel.
58. The apparatus of claim 55, wherein the means for performing
receiver spatial processing comprises means for performing receiver
spatial processing based on a channel correlation matrix inversion
(CCMI) technique, a minimum mean square error (MMSE) technique, or
a successive interference cancellation (SIC) technique.
59. A method of receiving a broadcast transmission in a wireless
multi-antenna communication system, comprising: obtaining, via a
single receive antenna, received data symbols for a data symbol
block spatially processed with a plurality of steering vectors
prior to broadcast from a plurality of transmit antennas to a
plurality of receiving entities; obtaining a channel estimate for
an effective multiple-input single-output (MISO) channel formed by
the plurality of steering vectors and a MISO channel between the
plurality of transmit antennas and the single receive antenna; and
performing detection on the received data symbols with the channel
estimate to obtain data symbol estimates for the data symbol
block.
60. The method of claim 59, wherein the obtaining the channel
estimate comprises deriving a plurality of channel response
estimates for a plurality of transmission spans, the channel
response estimate for each transmission span including a steering
vector used for the transmission span.
61. The method of claim 59, further comprising: obtaining, via the
single receive antenna, received pilot symbols for a pilot
broadcast from the plurality of transmit antennas to the plurality
of receiving entities, and wherein the channel estimate is obtained
based on the received pilot symbols and the plurality of steering
vectors.
62. The method of claim 59, further comprising: obtaining, via the
single receive antenna, received pilot symbols for a pilot
spatially processed with the plurality of steering vectors prior to
broadcast from the plurality of transmit antennas to the plurality
of receiving entities, and wherein the channel estimate is obtained
based on the received pilot symbols.
63. The method of claim 59, wherein the performing detection
comprises performing matched filtering, equalization, or both
matched filtering and equalization on the received data symbols
with the channel estimate to obtain data symbol estimates for the
data symbol block.
64. The method of claim 59, wherein the obtaining the channel
estimate comprises obtaining a channel response estimate for each
of a plurality of frequency subbands with a steering vector used
for the subband.
65. An apparatus in a wireless multi-antenna communication system,
comprising: a receiver unit to obtain, via a single receive
antenna, received data symbols for a data symbol block spatially
processed with a plurality of steering vectors prior to broadcast
from a plurality of transmit antennas to a plurality of receiving
entities; a channel estimator to obtain a channel estimate for an
effective multiple-input single-output (MISO) channel formed by the
plurality of steering vectors and a MISO channel between the
plurality of transmit antennas and the single receive antenna; and
a detector to perform detection on the received data symbols with
the channel estimate to obtain data symbol estimates for the data
symbol block.
66. The apparatus of claim 65, wherein the channel estimator
obtains a channel response estimate for each of a plurality of
transmission spans in which the data symbol block is broadcast, the
channel response estimate for each transmission span including a
steering vector used for the transmission span.
67. The apparatus of claim 65, wherein the channel estimator
obtains the channel estimate based on received pilot symbols and
the plurality of steering vectors.
68. The apparatus of claim 65, wherein the detector performs
matched filtering, equalization, or both matched filtering and
equalization.
69. An apparatus in a wireless multi-antenna communication system,
comprising: means for obtaining, via a single receive antenna,
received data symbols for a data symbol block spatially processed
with a plurality of steering vectors prior to broadcast from a
plurality of transmit antennas to a plurality of receiving
entities; means for obtaining a channel estimate for an effective
multiple-input single-output (MISO) channel formed by the plurality
of steering vectors and a MISO channel between the plurality of
transmit antennas and the single receive antenna; and means for
performing detection on the received data symbols with the channel
estimate to obtain data symbol estimates for the data symbol
block.
70. The apparatus of claim 69, wherein the means for obtaining the
channel estimate comprises means for obtaining a channel response
estimate for each of a plurality of transmission spans in which the
at least one data symbol block is broadcast, the channel response
estimate for each transmission span including a steering vector
used for the transmission span.
Description
I. CLAIM OF PRIORITY UNDER 35 U.S.C. .sctn.119
[0001] The present application for patent claims priority to
Provisional Application Ser. No. 60/530,860, entitled "Broadcast
Transmission with Pseudo-Random Transmit Steering in a
Multi-Antenna Communication System," filed Dec. 17, 2003, and
assigned to the assignee hereof and hereby expressly incorporated
by reference herein.
II. REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT
[0002] The present application for patent is related to the
following co-pending U.S. patent applications:
[0003] "Spatial Spreading in a Multi-Antenna Communication System"
by Walton et al., having Ser. No. ______ Attorney Docket No.
040055, filed concurrently herewith, assigned to the assignee
hereof, and expressly incorporated by reference herein; and
[0004] "Data Transmission with Spatial Spreading in a MIMO
Communication System" by Walton et al., having Ser. No. ______
Attorney Docket No. 040057, filed concurrently herewith, assigned
to the assignee hereof, and expressly incorporated by reference
herein; and
BACKGROUND
[0005] 1. Field
[0006] The present invention relates generally to communication,
and more specifically to techniques for broadcasting data in a
multi-antenna communication system.
[0007] 2. Background
[0008] A multi-antenna communication system employs multiple
transmit antennas at a transmitting entity and one or more receive
antennas at a receiving entity for data transmission. The
multi-antenna communication system may thus be a multiple-input
multiple-output (MIMO) system or a multiple-input single-output
(MISO) system. A MIMO system employs multiple (N.sub.T) transmit
antennas and multiple (N.sub.R) receive antennas for data
transmission. A MIMO channel formed by the N.sub.T transmit
antennas and the N.sub.R receive antennas may be decomposed into
N.sub.S spatial channels, where N.sub.S.ltoreq.min{N.sub.T,
N.sub.R}. The N.sub.S spatial channels may be used to transmit data
in a manner to achieve greater reliability and/or higher overall
throughput. A MISO system employs multiple (N.sub.T) transmit
antennas and a single receive antenna for data transmission. A MISO
channel formed by the N.sub.T transmit antennas and the single
receive antenna is composed of a single spatial channel.
[0009] An access point in a MIMO system may broadcast data to a
number of multi-antenna user terminals, which may be distributed
throughout the coverage area of the access point. A different MIMO
channel is formed between the access point and each of these user
terminals. Each MIMO channel may experience different channel
conditions (e.g., different fading, multipath, and interference
effects). Consequently, the spatial channels of each MIMO channel
may achieve different signal-to-noise-and-interference ratios
(SNRs). The SNR of a spatial channel determines its transmission
capacity, which is typically quantified by a particular data rate
that may be reliably transmitted on the spatial channel. For a time
variant MIMO channel, the channel condition changes over time and
the SNR of each spatial channel also changes over time.
[0010] A broadcast transmission is a data transmission that is
intended to be received by any number of user terminals in the
system, instead of a specific user terminal. A broadcast
transmission is typically encoded and transmitted in a manner to
achieve a specified quality of service (QoS). This quality of
service may be quantified, for example, by error free reception of
the broadcast transmission by a particular percentage (e.g., 99.9%)
of the user terminals within a given broadcast coverage area at any
given moment. Equivalently, the quality of service may be
quantified by an "outage" probability, which is the percentage
(e.g., 0.1%) of the user terminals within the broadcast coverage
area that cannot correctly decode the broadcast transmission.
[0011] The broadcast transmission observes an ensemble of MIMO
channels for an ensemble of user terminals in the broadcast
coverage area. The MIMO channel for each user terminal may be
random with respect to the MIMO channels for other user terminals.
Furthermore, the MIMO channels for the user terminals may vary over
time. To ensure that the broadcast transmission can meet the
specified quality of service, the data rate for the broadcast
transmission is typically selected to be sufficiently low so that
the broadcast transmission can be reliably decoded even by the user
terminal with the worst channel condition (i.e., the worst-case
user terminal). The broadcast performance for such a system would
then be dictated by the expected worst-case channel condition for
all of the user terminals in the system. A similar phenomenon
occurs for a MISO system.
[0012] There is therefore a need in the art for techniques to more
efficiently broadcast data in a multi-antenna communication
system.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 shows a MIMO system with an access point and
multi-antenna user terminals.
[0014] FIG. 2 shows a process for broadcasting data with spatial
spreading.
[0015] FIG. 3 shows a process for receiving a broadcast
transmission.
[0016] FIG. 4 shows a block diagram of the access point and
multi-antenna user terminal.
[0017] FIGS. 5A and 5B show two embodiments of a transmit (TX) data
processor and a TX spatial processor at the access point.
[0018] FIGS. 6A and 6B show two embodiments of a receive (RX)
spatial processor and an RX data processor at the multi-antenna
user terminal.
[0019] FIG. 7 shows a MISO system with an access point and
single-antenna user terminals.
[0020] FIG. 8 shows a block diagram of the access point and
single-antenna user terminal.
[0021] FIG. 9 shows a hybrid multi-antenna system with an access
point and single-antenna and multi-antenna user terminals.
[0022] FIGS. 10A and 10B show plots of overall spectral efficiency
achieved for a 4.times.4 MIMO system and a 4.times.1 MISO system,
respectively.
DETAILED DESCRIPTION
[0023] The word "exemplary" is used herein to mean "serving as an
example, instance, or illustration." Any embodiment described
herein as "exemplary" is not necessarily to be constructed as
preferred or advantageous over other embodiments.
[0024] Techniques for broadcasting data using spatial spreading in
a multi-antenna communication system are described herein. Spatial
spreading refers to the transmission of a data symbol (which is a
modulation symbol for data) from multiple transmit antennas
simultaneously, possibly with different amplitudes and/or phases
determined by a steering vector used for that data symbol. Spatial
spreading may also be called transmit steering, pseudo-random
transmit steering, steering diversity, matrix pseudo-random
steering, vector pseudo-random steering, and so on. As used herein,
"broadcast" refers to data transmission to either (1) an
unspecified group of user terminals, e.g., all user terminals
within a broadcast coverage area (which is commonly referred to as
broadcast) or (2) a specific group of user terminals (which is
commonly referred to as multi-cast). These broadcast transmission
techniques can randomize an "effective" channel observed by each
user terminal for each block of data symbols broadcast by an access
point, so that system performance is not dictated by the expected
worst-case channel condition.
[0025] In an embodiment for broadcasting data with spatial
spreading, data for N.sub.D data streams is processed (e.g.,
encoded, interleaved, and modulated) to obtain N.sub.D data symbol
blocks to be broadcast in N.sub.M transmission spans, where
N.sub.D.gtoreq.1 and N.sub.M>1. A "transmission span" can cover
time and/or frequency dimensions, as described below. Each data
symbol block is generated from a block of coded data, which may be
referred to as a "code block" or coded data packet. Each code block
is encoded separately at the access point and decoded separately at
a user terminal. The N.sub.D data symbol blocks are partitioned
into N.sub.M data symbol subblocks, one subblock for each
transmission span. A steering matrix is selected (e.g., in a
deterministic or pseudo-random manner from among a set of L
steering matrices) for each of the N.sub.M data symbol subblocks.
Each data symbol subblock is spatially processed with the steering
matrix selected for that subblock to obtain transmit symbols. The
transmit symbols for each subblock are further processed and
broadcast via N.sub.T transmit antennas in one transmission span to
user terminals within the broadcast coverage area.
[0026] For a MIMO broadcast, each steering matrix contains N.sub.T
rows and N.sub.S columns, where N.sub.S>1. The N.sub.D data
symbol blocks are then broadcast via N.sub.S spatial channels of an
effective MIMO channel. For example, if N.sub.D=N.sub.S, then the
N.sub.D data symbol blocks may be multiplexed such that one data
symbol block is broadcast on each of the N.sub.S spatial channels.
For a MISO broadcast, each steering matrix contains N.sub.T rows
and a single column and may be considered as a degenerative matrix
or vector. The N.sub.D data symbol blocks are then broadcast via a
single spatial channel of an effective MISO channel. For both MIMO
and MISO broadcasts, the N.sub.D data symbol blocks are spatially
processed with N.sub.M steering matrices and observe an ensemble of
effective channels at each user terminal.
[0027] Various aspects and embodiments of the invention are
described in further detail below.
[0028] The broadcast transmission techniques described herein may
be used for a multi-antenna communication system, which may be a
MIMO system or a MISO system. As used herein, "MIMO broadcast"
refers to broadcast transmission on multiple spatial channels, and
"MISO broadcast" refers to a broadcast transmission on a single
spatial channel. The number of spatial channels available for
transmission is determined by the number of transmit antennas, the
number of receive antennas, and the wireless link or channel. The
broadcast transmission techniques may also be used for
single-carrier and multi-carrier systems. Multiple carriers may be
provided by orthogonal frequency division multiplexing (OFDM) or
some other constructs. OFDM effectively partitions the overall
system bandwidth into multiple (N.sup.F) orthogonal frequency
subbands, which are also referred to as tones, subcarriers, bins,
and frequency channels. With OFDM, each subband is associated with
a respective subcarrier that may be modulated with data.
[0029] The broadcast transmission techniques described herein may
be used for various types of broadcast data. For example, these
techniques may be used for broadcast services that continually
broadcast data (e.g., video, audio, news, and so on) to user
terminals. These techniques may also be used for overhead channels
(e.g., broadcast, paging, and control channels) in a wireless
communication system.
[0030] 1. MIMO Broadcast
[0031] FIG. 1 shows a MIMO system 100 with an access point (AP) 110
and user terminals (UTs) 120. An access point is generally a fixed
station that communicates with the user terminals and may also be
referred to as a base station or some other terminology. A user
terminal may be fixed or mobile and may also be referred to as a
mobile station, a wireless device, or some other terminology.
Access point 110 is equipped with multiple (N.sub.ap) antennas for
data transmission. Each user terminal 120 is equipped with multiple
(N.sub.ut) antennas for data reception. In general, the user
terminals in the system may be equipped with the same or different
numbers of antennas. For simplicity, the following description
assumes that the user terminals in the MIMO system are equipped
with the same number of antennas. For a centralized architecture,
system controller 130 provides coordination and control for the
access points.
[0032] For a single-carrier MIMO system, a MIMO channel formed by
the N.sub.ap antennas at the access point and the N.sub.ut antennas
at a given user terminal u may be characterized by an
N.sub.ut.times.N.sub.ap channel response matrix H.sub.u, which may
be expressed as: 1 H _ u = [ h 1 , 1 h 1 , 2 h 1 , N ap h 2 , 1 h 2
, 2 h 2 , N ap h N ut , 1 h N ut , 2 h N ut , N ap ] , Eq ( 1 )
[0033] where entry h.sub.i,j, for i=1 . . . N.sub.ut and j=1 . . .
N.sub.ap, denotes the coupling or complex gain between access point
antenna j and user terminal antenna i. As shown in FIG. 1, the user
terminals may be distributed throughout the coverage area of the
access point. A different MIMO channel is formed by the N.sub.ap
antennas at the access point and the N.sub.ut antennas at each user
terminal.
[0034] Data may be transmitted in various manners in the
single-carrier MIMO system. In one simple transmission scheme, one
data symbol stream is transmitted from each access point antenna,
and N.sub.S data symbol streams are transmitted simultaneously from
N.sub.S of the N.sub.ap access point antennas, where N.sub.S is the
number of spatial channels and N.sub.S.ltoreq.min{N.sub.ap,
N.sub.ut}. The received symbols at user terminal U for this
transmission scheme may be expressed as:
r.sub.u=H.sub.us+n.sub.u, Eq (2)
[0035] where s is an N.sub.ap.times.1 vector with N.sub.S non-zero
entries for N.sub.S data symbols to be transmitted simultaneously
by the access point;
[0036] r.sub.u is an N.sub.ut-1 vector with entries for N.sub.ut
received symbols obtained via the N.sub.ut antennas at user
terminal u; and
[0037] n.sub.u is a noise vector observed at user terminal u.
[0038] For simplicity, the noise is assumed to be additive white
Gaussian noise (AWGN) with a zero mean vector and a covariance
matrix of .LAMBDA..sub.u=.sigma..sub.u.sup.2I, where
.sigma..sub.u.sup.2 is the variance of the noise observed by user
terminal u and I is the identity matrix.
[0039] The N.sub.S data symbol streams transmitted from the
N.sub.ap access point antennas interfere with each other at user
terminal u. A given data symbol stream transmitted from one access
point antenna may be received by all N.sub.ut user terminal
antennas at different amplitudes and phases. Each received symbol
stream includes a component of each of the N.sub.S transmitted data
symbol streams. The N.sub.ut received symbol streams would
collectively include all of the N.sub.S data symbol streams.
However, these N.sub.S data symbol streams are dispersed among the
N.sub.ut received symbol streams. User terminal u performs receiver
spatial processing on the N.sub.ut received symbol streams to
recover the N.sub.S data symbol streams transmitted by the access
point.
[0040] The performance that can be achieved for user terminal u is
dependent (to a large extent) on its channel response matrix
H.sub.u. If a high degree of correlation exists within H.sub.u,
then each data symbol stream would observe a large amount of
interference from the other streams, which cannot be removed by the
receiver spatial processing at the user terminal. The high level of
interference degrades the SNR of each affected data symbol stream,
possibly to a point where the data symbol stream cannot be decoded
correctly by the user terminal.
[0041] For a data transmission to a specific user terminal via a
given MIMO channel, system capacity may be achieved if the access
point is provided with sufficient channel state information
regarding the MIMO channel. The access point may then use this
information to process data in a manner to maximize the throughput
for the user terminal (e.g., select the proper rate for each data
stream). Since different user terminals observe different MIMO
channels, the access point would typically need to process data
differently for each user terminal to maximize the throughput for
that user terminal.
[0042] For a broadcast transmission, the access point transmits the
same data to a number of user terminals within a broadcast coverage
area. For broadcast, the access point typically does not have
channel state information for the user terminals. Moreover, it is
typically not practical to process data intended for multiple user
terminals based on channel state information for a specific user
terminal.
[0043] The broadcast transmission from the access point observes an
ensemble of MIMO channels for different user terminals in the
broadcast coverage area. A certain percentage of the MIMO channels
may be considered as "bad". For example, a bad channel can occur
when the channel response matrix H exhibits a high degree of
correlation, or when there is insufficient scattering, multipath
(large coherence bandwidth), or temporal fading (large coherence
time) in the channel. The occurrence of "bad" channels is random,
and it is desirable to minimize the percentage of time this can
occur for each user terminal.
[0044] For broadcast, the access point needs to transmit each data
symbol stream at a sufficiently low rate so that the stream can be
recovered by the user terminals even under the worst-case channel
condition. Broadcast performance is then dictated by the expected
worst-case channel condition for all of the user terminals in the
coverage area.
[0045] A. MIMO Broadcast Transmission
[0046] Spatial spreading may be used to randomize an effective MIMO
channel observed by each user terminal so that broadcast
performance is not dictated by a single channel realization over a
code block. With spatial spreading, the access point performs
spatial processing on each code block with multiple steering
matrices to effectively randomize the MIMO channel for each user
terminal. Consequently, each user terminal observes an ensemble of
channels across each code block and is not stuck on a single
channel for an extended portion of the code block.
[0047] The spatial processing at the access point for spatial
spreading in the MIMO system may be expressed as:
x.sub.mimo(m)=V(m).multidot.s(m), Eq (3)
[0048] where s(m) is an N.sub.S.times.1 vector with N.sub.S data
symbols to be sent in transmission span m;
[0049] V(m) is an N.sub.ap.times.N.sub.S steering matrix for
transmission span m; and
[0050] x.sub.mimo(m) is an N.sub.ap.times.1 vector with N.sub.ap
transmit symbols to be sent from the N.sub.ap access point antennas
in transmission span m.
[0051] A transmission span may cover time and/or frequency
dimensions. For example, in a single-carrier MIMO system, a
transmission span may correspond to one symbol period, which is the
time duration to transmit one data symbol. As another example, in a
multi-carrier MIMO system, such as a MIMO system that utilizes
OFDM, a transmission span may correspond to one subband in one OFDM
symbol period. A transmission span may also cover multiple symbol
periods and/or multiple subbands. Thus, m may be an index for time
and/or frequency. A transmission span may also be referred to as a
transmission interval, a signaling interval, a slot, and so on.
[0052] A set of L steering matrices may be generated as described
below and used for spatial spreading. This steering matrix set is
denoted as {V}, or V(i) for i=1 . . . L, where L may be any integer
greater than one. One steering matrix in the set may be selected
for each transmission span m and used for spatial processing by the
access point for that transmission span. The results of the spatial
processing are N.sub.ap transmit symbol streams for broadcast from
the N.sub.ap access point antennas.
[0053] The received symbols at each user terminal with spatial
spreading may be expressed as:
r(m)=H(m).multidot.V(m).multidot.s(m)+n(m)=H.sub.eff(m).multidot.s(m)+n(m)-
, Eq (4)
[0054] where r(m) is an N.sub.ut.times.1 vector with N.sub.ut
received symbols for transmission span m;
[0055] H(m) is an N.sub.ut.times.N.sub.ap channel response matrix
for transmission span m;
[0056] H.sub.eff(m) is an N.sub.ut.times.N.sub.S effective channel
response matrix for transmission span m, which is
H.sub.eff(m)=H(m.multid- ot.V(m); and
[0057] n(m) is a noise vector for transmission span m.
[0058] For simplicity, the channel response H(m) is assumed to be
constant over each transmission span. The quantities H(m),
H.sub.eff(m), r(m) and n(m) are different for different user
terminals, whereas the quantities V(m) and s(m) are the same for
all user terminals. To simplify notation, the subscript "u" for
user terminal u is omitted from the user-specific quantities in
equation (4) and in the following description.
[0059] As shown in equation (4), because of the spatial spreading
performed by the access point, the N.sub.S data symbol streams
observe the effective channel response H.sub.eff(m) instead of the
actual channel response H(m) for each user terminal. If multiple
steering matrices are used for broadcast transmission, then each
data symbol stream effectively observes an ensemble of spatial
channels of H(m). Furthermore, if multiple steering matrices are
used across a code block, then the data symbols in the code block
would observe different channels across the code block.
[0060] In general, the access point may broadcast any number of
(N.sub.D) data streams simultaneously to the user terminals, where
N.sub.S.gtoreq.N.sub.D.gtoreq.1. For example, if N.sub.D=N.sub.S,
then the access point may broadcast one data stream on each spatial
channel of H.sub.eff(m). The maximum number of data streams that
may be broadcast simultaneously is determined by the number of
spatial channels for all user terminals, which in turn is
determined by (1) the number of antennas at the access point and
(2) the minimum number of antennas at all of the user terminals. If
all user terminals are equipped with the same number of antennas,
then min {N.sub.ap, N.sub.ut}.gtoreq.N.sub.S.gtoreq.N.sub.D. If
N.sub.D=1, then the access point may broadcast one data stream from
its N.sub.ap antennas.
[0061] FIG. 2 shows a process 200 for broadcasting data with
spatial spreading. Initially, the access point processes data for
N.sub.D data streams to obtain a set of N.sub.D data symbol blocks,
one block for each data stream (block 212). Each data symbol block
contains data symbols generated from one block of coded data, which
may be called a code block or a coded data packet. The data
processing may be performed as described below. The access point
then partitions the N.sub.D data symbol blocks into N.sub.M data
symbol subblocks to be broadcast in N.sub.M transmission spans, one
subblock in each transmission span (block 214) N.sub.M is also
referred to as the block length and is greater than one, or
N.sub.M>1. Each subblock may contain one or more data symbols
from each of the N.sub.D blocks. For example, if N.sub.D=N.sub.S,
then each subblock may contain N.sub.S data symbols from N.sub.S
blocks for N.sub.S data streams. As another example, if N.sub.D=1,
then each subblock may contain N.sub.S data symbols from one block
for one data stream. The index m used to denote the transmission
span for the current set of data symbol blocks is set to 1 (block
216).
[0062] For each transmission span m, the access point selects one
steering matrix, which is denoted as V(m), e.g., from the set of L
steering matrices (block 218). The access point then performs
spatial processing on data symbol subblock m with the steering
matrix V(m) to obtain transmit symbols (block 220). If transmission
span m covers one data symbol vector, then the access point forms
one vector s(m) with up to N.sub.S data symbols from data symbol
subblock m and spatially processes the vector s(m) with the matrix
V(m) to obtain the transmit symbol vector x.sub.mimo(m), as shown
in equation (3). If transmission span m covers multiple (N.sub.V)
data symbol vectors, then the access point forms N.sub.V vectors
s.sub.l(m), for l=1 . . . N.sub.V, from data symbol subblock m and
spatially processes each vector s.sub.l(m) with the same steering
matrix V(m) to obtain a corresponding transmit symbol vector
x.sub.mimo,l(m). In any case, the access point uses the same
steering matrix V(m) for spatial processing for all data symbol
vectors in transmission span m. The access point further processes
and broadcasts the resultant transmit symbol vectors via the
N.sub.ap transmit antennas in transmission span m (block 222).
[0063] A determination is then made whether all N.sub.M data symbol
subblocks have been processed and transmitted (i.e., whether
m=N.sub.M) (block 224). If the answer is `No`, then the index m is
incremented for the next subblock/transmission span (block 226),
and the process returns to block 218. If the answer is `Yes` for
block 224, then a determination is made whether there is more data
to broadcast (block 228). If the answer is `Yes`, then the process
returns to block 212 to start the processing for the next set of
data symbol blocks. Otherwise, the process terminates.
[0064] Each set of data symbols blocks is thus spatially processed
with N.sub.M steering matrices to obtain N.sub.ap transmit symbol
sequences. Each transmit symbol sequence is broadcast from one
antenna in N.sub.M transmission spans. The N.sub.M steering
matrices randomize the effective MIMO channel observed by each user
terminal for the N.sub.D data symbol blocks. The randomization of
the MIMO channel results from using different steering matrices and
not necessarily from randomness in the elements of the steering
matrices.
[0065] As noted above, a transmission span may be defined to cover
one or more symbol periods and/or one or more subbands. For
improved performance, it is desirable to select the transmission
span to be as small as possible so that (1) more steering matrices
can be used for each data symbol block and (2) each user terminal
can obtain as many "looks" of the MIMO channel as possible for each
data symbol block. The transmission span should also be shorter
than the coherence time of the MIMO channel, which is the time
duration over which the MIMO channel can be assumed to be
approximately static. Similarly, the transmission span should be
smaller than the coherence bandwidth of the MIMO channel for a
wideband system (e.g., an OFDM system).
[0066] B. MIMO Broadcast Reception
[0067] FIG. 3 shows a process 300 for receiving a broadcast
transmission with spatial spreading by a given user terminal.
Initially, the index m used to denote the transmission span for the
current set of data symbol blocks is set to 1 (block 312). The user
terminal obtains received data symbols from the N.sub.ut receive
antennas for data symbol subblock m (block 314). The user terminal
determines the steering matrix V(m) used by the access point for
subblock m (block 316) and uses V(m) to derive .sub.eff(m), which
is an estimate of the channel response of the effective MIMO
channel observed by the user terminal for subblock m (block 318).
In the following description, "{circumflex over ( )}" over a
matrix, a vector, or a scalar denotes an estimate of the actual
matrix, vector, or scalar. The user terminal then performs receiver
spatial processing on the received data symbols with the effective
channel response estimate .sub.eff(m) and obtains detected symbols
(or data symbol estimates) for subblock m (block 320).
[0068] A determination is then made whether all N.sub.M data symbol
subblocks for the current data symbol block set have been received
(i.e., whether m=N.sub.M) (block 322). If the answer is `No`, then
the index m is incremented for the next subblock/transmission span
(block 324), and the process returns to block 314. If the answer is
`Yes` for block 322, then the user terminal processes (e.g.,
demodulates, deinterleaves, and decodes) the detected symbols for
all N.sub.M subblocks to obtain decoded data for the current data
symbol block set (block 326). A determination is then made whether
there is more data to receive (block 328). If the answer is `Yes`,
then the process returns to block 312 to start receiving the next
set of data symbol blocks. Otherwise, the process terminates.
[0069] Each user terminal can derive estimates of the transmitted
data symbols using various receiver processing techniques. These
techniques include a channel correlation matrix inversion (CCMI)
technique (which is also commonly referred to as a zero-forcing
technique), a minimum mean square error (MMSE) technique, a
successive interference cancellation (SIC) technique, and so on. In
the following description, one data symbol stream is broadcast on
each spatial channel of H.sub.eff(m).
[0070] For the CCMI technique, the user terminal derives a spatial
filter matrix M.sub.ccmi(m) for each transmission span m based on
the effective channel response estimate .sub.eff(m), as
follows:
M.sub.ccmi(m)=[.sub.eff.sup.H(m).multidot..sub.eff(m)].sup.-1.multidot..su-
b.eff.sup.H(m)=R.sup.-1(m).multidot..sub.eff.sup.H(m), Eq (5)
[0071] where ".sup.H" denotes the conjugate transpose. The user
terminal can estimate the channel response matrix, e.g., based on
received pilot symbols. A pilot symbol is a modulation symbol for
pilot, which is data that is known a priori by both the access
point and the user terminals. The user terminal may then compute
the estimated effective channel response matrix as
.sub.eff(m)=(m).multidot.V(m). Alternatively, the user terminal can
directly estimate the effective channel response matrix, e.g.,
based on received pilot symbols that have been transmitted using
V(m).
[0072] The user terminal performs CCMI spatial processing as
follows: 2 s _ ^ ccmi ( m ) = M _ ccmi ( m ) r _ ( m ) , = R _ - 1
( m ) H _ ^ eff H ( m ) [ H _ eff ( m ) s _ ( m ) + n _ ( m ) ] , =
s _ ( k ) + n _ ccmi ( m ) , Eq ( 6 )
[0073] where .sub.ccmi(m) is an N.sub.S.times.1 vector with
detected symbols for transmission span m; and
[0074] n.sub.ccmi(m)=M.sub.ccmi(m).multidot.n(m) is the CCMI
filtered noise for transmission span m.
[0075] The SNR for the CCMI technique may be expressed as: 3 ccmi ,
( m ) = P ( m ) r ( m ) n 2 , for = 1 N S , Eq ( 7 )
[0076] where P.sub.l(m) is the transmit power for data symbol
stream {s.sub.l} in transmission span m;
[0077] r.sub.ll(m) is the l-th diagonal element of R.sup.-1(m);
[0078] .sigma..sub.n.sup.2 is the variance of the noise at the user
terminal; and
[0079] .gamma..sub.ccmi,l(m) is the SNR of data symbol stream
{s.sub.l} in transmission span m.
[0080] The quantity P.sub.l(m)/.sigma..sub.n.sup.2 is the SNR of
data symbol stream {s.sub.l} at the user terminal prior to the
receiver spatial processing and is commonly referred to as the
received SNR, the operating SNR, or the link margin. The quantity
.gamma..sub.ccmi,l(m) is the SNR of data symbol stream {s.sub.l}
after the receiver spatial processing and is also referred to as
the post-detection SNR. In the following description, "SNR" refers
to post-detection SNR unless noted otherwise. Due to the structure
of R(m), the CCMI technique may amplify the noise.
[0081] For the MMSE technique, the user terminal derives a spatial
filter matrix M.sub.mmse(m) for each transmission span m based on
the effective channel response estimate .sub.eff(m), as follows: 4
M _ mmse ( m ) = [ H _ ^ eff H ( m ) H _ ^ eff ( m ) + _ nn ( m ) ]
- 1 H _ ^ eff H ( m ) , = [ H _ ^ eff H ( m ) H _ ^ eff ( m ) + n 2
I _ ] - 1 H _ ^ eff H ( m ) , Eq ( 8 )
[0082] where .phi..sub.nn(m) is an autocovariance matrix of the
noise vector n(m), which is
.phi..sub.nn(m)=E[n(m).multidot.n.sup.H(m)], where E[x] is the
expected value of x. The second equality in equation (8) assumes
that the noise vector n(m) is AWGN with zero mean and variance of
.sigma..sub.n.sup.2. The spatial filter matrix M.sub.mmse(m)
minimizes the mean square error between the symbol estimates from
the spatial filter and the data symbols.
[0083] The user terminal performs MMSE spatial processing as
follows: 5 s _ ^ mmse ( m ) = D _ Q ( m ) M _ mmse ( m ) r _ ( m )
, = D _ Q ( m ) M _ mmse ( m ) [ H _ eff ( m ) s _ ( m ) + n _ ( m
) ] , = D _ Q ( m ) Q _ ( m ) s _ ( m ) + n _ mmse ( m ) , Eq ( 9
)
[0084] where .sub.mmse(m) is an N.sub.S.times.1 vector with
detected symbols for transmission span m;
[0085] Q(m)=M.sub.mmse(m).multidot.H.sub.eff(m);
[0086] D.sub.Q(m) is a diagonal matrix whose diagonal elements are
the diagonal elements of Q.sup.-1(m), or D.sub.Q(m)=[diag
[Q(m)]].sup.-1; and
[0087] n.sub.mmse(m)=D.sub.Q(m) M.sub.mmse(m).multidot.n(m) is the
MMSE filtered noise.
[0088] The symbol estimates from the spatial filter are
unnormalized estimates of the data symbols. The multiplication with
the scaling matrix D.sub.Q(m) provides normalized estimates of the
data symbols.
[0089] The SNR for the MMSE technique may be expressed as: 6 mmse ,
( m ) = q ( m ) 1 - q ( m ) P ( m ) , for = 1 N S , Eq ( 10 )
[0090] where q.sub.ll(m) is the l-th diagonal element of Q(m);
and
[0091] .gamma..sub.mmse,l(m) is the SNR for data symbol stream
{s.sub.l} in transmission span m.
[0092] For the SIC technique, the user terminal processes the N
received symbol streams in N.sub.D successive stages for the
N.sub.D data streams. For each stage, the user terminal performs
spatial processing on either the N.sub.ut received symbol streams
or N.sub.ut modified symbol streams from the preceding stage (e.g.,
using the CCMI, MMSE, or some other technique) to obtain one
detected symbol stream. The user terminal then processes (e.g.,
demodulates, deinterleaves, and decodes) this detected symbol
stream to obtain a corresponding decoded data stream. The user
terminal next estimates and cancels the interference due to this
stream and obtains N.sub.ut modified symbol streams for the next
stage. The user terminal then repeats the same processing on the
N.sub.ut modified symbol streams to recover another data stream. If
the interference due to each data stream can be accurately
estimated and canceled, then later recovered data streams
experience less interference and in general are able to achieve
higher SNRs on average. This permits the MIMO broadcast to employ
higher data rates on those streams that are detected later,
effectively improving the throughput of the broadcast. If different
data rates are employed on different transmitted data streams, then
the user terminals may decode these streams in a predetermined
order from the lowest data rate stream to the highest data rate
stream.
[0093] For the SIC technique, improved performance can be achieved
by estimating the interference using decoded data instead of the
detected symbols. In this case, the N.sub.D data symbol blocks for
each block length are recovered one block at a time. Each data
symbol block is detected and decoded in one stage, and the decoded
data is used to estimate and cancel the interference due to the
data symbol block.
[0094] For clarity, the following description assumes that (1)
N.sub.D=N.sub.S and each data symbol block/stream is transmitted as
one entry of the data symbol vector s(m) and (2) the N.sub.D data
symbol streams are recovered in sequential order so that data
symbol stream {s.sub.l} is recovered in stage l, for l=1 . . .
N.sub.S. For the SIC technique, the input (received or modified)
symbol streams for stage l, where l=1 . . . N.sub.S, may be
expressed as:
r.sub.sic.sup.l(m)=H.sub.eff.sup.l(m).multidot.s.sup.l(m)+n.sup.l(m),
Eq (11)
[0095] where r.sub.sic.sup.l(m) is a vector of N.sub.ut modified
symbols for transmission span m in stage l, and
r.sub.sic.sup.l(m)=r(m) for the first stage;
[0096] s.sup.l(m) is a vector of N.sub.S-l+1 data symbols not yet
recovered for transmission span m in stage l;
[0097] H.sub.eff.sup.l(m) is an N.sub.ut.times.(N.sub.ap-l+1)
reduced effective channel response matrix for transmission span m
in stage l; and
[0098] n.sup.l(m) is a reduced vector of n(m).
[0099] Equation (11) assumes that the data symbol streams recovered
in the l-1 prior stages are canceled. The dimensionality of the
matrix H.sub.eff(m) successively reduces by one column for each
stage as a data symbol stream is recovered and canceled. For stage
l, the reduced effective channel response matrix H.sub.eff(m) is
obtained by removing l-1 columns in the original matrix
H.sub.eff(m) corresponding to the l-1 data symbol streams
previously recovered, or H.sub.eff.sup.l(m)=[h.sub.ef- f,l(m)
h.sub.eff,l+1(m) . . . h.sub.eff,N.sub..sub.S(m)], where
h.sub.eff,l(m) is an N.sub.ut.times.1 vector for the effective
channel response observed by data symbol stream {s.sub.l} in
transmission span m.
[0100] For stage l, the user terminal derives a spatial filter
matrix M.sub.sic.sup.l(m) based on the reduced effective channel
response estimate .sub.eff.sup.l(m) (instead of the original
effective channel response estimate .sub.eff(m)) using the CCMI
technique as shown in equation (5), the MMSE technique as shown in
equation (8), or some other technique. The spatial filter matrix
M.sub.sic.sup.l(m) has dimensionality of
(N.sub.S-l+1).times.N.sub.ut. Since .sub.eff.sup.l(m) is different
for each stage, the matrix M.sub.sic.sup.l(m) is also different for
each stage.
[0101] The user terminal performs spatial processing for stage l,
as follows: 7 s _ ^ sic ( m ) = D _ sic ( m ) M _ sic ( m ) r _ sic
( m ) , = D _ sic ( m ) M _ sic ( m ) [ H _ eff ( m ) s _ ( m ) + n
_ ( m ) ] , = D _ sic ( m ) Q _ sic ( m ) s _ ( m ) + n _ sic ( m )
, Eq ( 12 )
[0102] where .sub.sic.sup.l(m) is a vector with N.sub.S-l+1
detected symbols for transmission span m in stage l;
[0103]
Q.sub.sic.sup.l(m)=M.sub.sic.sup.l(m).multidot.H.sub.eff.sup.l(m);
[0104] D.sub.sic.sup.l(m) is a matrix of diagonal elements of
[Q.sub.sic.sup.l(m)].sup.-1; and
[0105] n.sub.sic.sup.l(m) is the filtered noise for transmission
span m in stage l.
[0106] The user terminal selects one of the detected symbol streams
for recovery.
[0107] Since only one data symbol stream is recovered in each
stage, the user terminal can simply derive a 1.times.N.sub.ut
spatial filter row vector m.sup.l(m) for data symbol stream
{s.sub.l} to be recovered in stage l. The row vector m.sup.l(m) is
one row of the matrix M.sub.sic.sup.l(m). In this case, the spatial
processing for stage l may be expressed as:
.sub.l(m)=.alpha..sub.l.multidot.m.sup.l(m).multidot.r.sub.sic.sup.l(m)=.a-
lpha..sub.l.multidot.q.sup.l(m).multidot.s.sup.l(m)+n.sup.l(m), Eq
(13)
[0108] where q.sup.l(k) is the row of Q.sub.sic.sup.l(m)
corresponding to data symbol stream {s.sub.l} and .alpha..sub.l is
a scaling factor for data symbol stream {s.sub.l}.
[0109] In any case, the user terminal processes (e.g., demodulates,
deinterleaves, and decodes) the detected symbol stream {.sub.l} to
obtain a decoded data stream {{circumflex over (d)}.sub.l}. The
user terminal also forms an estimate of the interference this
stream causes to the other data symbol streams not yet recovered.
To estimate the interference, the user terminal re-encodes,
interleaves, and symbol maps the decoded data stream {{circumflex
over (d)}.sub.l} in the same manner as performed at the access
point and obtains a stream of "remodulated" symbols {{haeck over
(s)}.sub.l}, which is an estimate of the data symbol stream
{s.sub.l} just recovered. The user terminal then convolves the
remodulated symbol stream {{haeck over (s)}.sub.l} with each of
N.sub.ut elements in the effective channel response vector
h.sub.eff,l(m) for stream {s.sub.l} to obtain N.sub.ut interference
components i.sup.l(m) caused by this stream. The N.sub.ut
interference components are then subtracted from the N.sub.ut
modified symbol streams r.sub.sic.sup.l(m) for stage l to obtain
N.sub.ut modified symbol streams 8 r _ sic , u + 1 ( m )
[0110] for the next stage, or 9 r _ sic + 1 ( m ) = r _ sic ( m ) -
i _ ( m ) .
[0111] The modified symbol streams r.sub.sic.sup.l+1(m) represent
the streams that would have been received if the data symbol stream
{s.sub.l} had not been transmitted, assuming that the interference
cancellation was effectively performed.
[0112] For the SIC technique, the SNR of each data symbol stream is
dependent on (1) the spatial processing technique (e.g., CCMI or
MMSE) used for each stage, (2) the specific stage in which the data
symbol stream is recovered, and (3) the amount of interference due
to the data symbol streams recovered in later stages. The SNR for
the SIC technique with CCMI may be expressed as: 10 sic - ccmi , (
m ) = P ( m ) r ( m ) n 2 , for = 1 N S , Eq ( 14 )
[0113] where r.sub.l(m) is the diagonal element of
[R.sup.l(m)].sup.-1 for data symbol stream {s.sub.l}, and
R.sup.l(m)=[H.sub.eff.sup.l(m)].sup.H.m-
ultidot.H.sub.eff.sup.l(m).
[0114] The SNR for the SIC technique with MMSE may be expressed as:
11 sic - mmse , l ( m ) = q l ( m ) 1 - q l ( m ) P l ( m ) , for l
= 1 N S , Eq ( 15 )
[0115] where q.sub.l(m) is the diagonal element of
Q.sub.sic.sup.l(m) for data symbol stream {s.sub.l}, where
Q.sub.sic.sup.l(m) is derived as shown for equation (9) but based
on the reduced effective channel response matrix .sub.eff(m)
instead of the original effective channel response matrix
.sub.eff(m).
[0116] In general, the SNR progressively improves for data symbol
streams recovered in later stages because the interference from
data symbol streams recovered in prior stages is canceled. This
then allows higher rates to be used for data symbol streams
recovered later.
[0117] The above description for the SIC technique assumes that
each data symbol block is sent as one entry of s(m). In general,
each stage decodes and recovers one data symbol block, which may
have been demultiplexed and sent in any number of entries of s(m).
The above description also assumes that the data streams are
recovered in a sequential order determined by the stream index l.
Better performance may be achieved by recovering the data streams
in a sequential order determined by their required SNRs. For
example, the data stream requiring the lowest SNR (e.g., the data
stream sent with the lowest data rate and/or highest transmit
power) may be recovered first, followed by the data stream with the
next lowest required SNR, and so on.
[0118] C. Steering Matrix Selection
[0119] As noted above, a set of L steering matrices may be
generated and used for spatial spreading. The steering matrices in
the set may be selected for use in various manners. In one
embodiment, the steering matrices are selected from the set in a
deterministic manner. For example, the L steering matrices may be
cycled through and selected in sequential order, starting with the
first steering matrix V(1), then the second steering matrix V(2),
and so on, and then the last steering matrix V(L). In another
embodiment, the steering matrices are selected from the set in a
pseudo-random manner. For example, the steering matrix to use for
each transmission span m may be selected based on a function
.function.(m) that pseudo-randomly selects one of the L steering
matrices, or steering matrix V(.function.(m)). In yet another
embodiment, the steering matrices are selected from the set in a
"permutated" manner. For example, the L steering matrices may be
cycled through and selected for use in sequential order. However,
the starting steering matrix for each cycle may be selected in a
pseudo-random manner, instead of always being the first steering
matrix V(1). The L steering matrices may also be selected in other
manners, and this is within the scope of the invention.
[0120] The steering matrix selection may also be dependent on the
number of steering matrices (L) in the set and the block length
(N.sub.M). In general, the number of steering matrices may be
greater than, equal to, or less than the block length. Steering
matrix selection for these three cases may be performed as
described below.
[0121] If L=N.sub.M, then the number of steering matrices matches
the block length. In this case, a different steering matrix may be
selected for each of the N.sub.M transmission spans used to
broadcast a set of data symbol blocks. The N.sub.M steering
matrices for the N.sub.M transmission spans may be selected in a
deterministic, pseudo-random, or permutated manner, as described
above.
[0122] If L<N.sub.M, then the block length is longer than the
number of steering matrices in the set. In this case, the steering
matrices are reused for each data symbol block set and may be
selected as described above.
[0123] If L>N.sub.M, then a subset of the steering matrices is
used for each data symbol block set. The selection of the specific
subset to use for each data symbol block set may be deterministic
or pseudo-random. For example, the first steering matrix to use for
the current data symbol block set may be the steering matrix after
the last one used for a prior data symbol block set.
[0124] D. MIMO System
[0125] FIG. 4 shows a block diagram of access point 110 and user
terminal 120 in MIMO system 100. User terminal 120 is one of the
user terminals in FIG. 1. At access point 110, a TX data processor
420 receives and processes (e.g., encodes, interleaves, and
modulates) data for N.sub.D data streams and provides N.sub.S data
symbol streams, where N.sub.S.gtoreq.N.sub.D.gtoreq.1. A TX spatial
processor 430 receives and spatially processes the N.sub.S data
symbol streams for spatial spreading, multiplexes in pilot symbols,
and provides N.sub.ap transmit symbol streams to N.sub.ap
transmitter units (TMTR) 432a through 432ap. The processing by TX
data processor 420 is described below, and the spatial processing
by TX spatial processor 430 is as described above. Each transmitter
unit 432 conditions (e.g., converts to analog, filters, amplifies,
and frequency upconverts) a respective transmit symbol stream to
generate a modulated signal. N.sub.ap transmitter units 432a
through 432ap provide N.sub.ap modulated signals for transmission
from N.sub.ap antennas 434a through 434ap, respectively.
[0126] At user terminal 120, N.sub.ut antennas 452a through 452ut
receive the N.sub.ap transmitted signals, and each antenna 452
provides a received signal to a respective receiver unit (RCVR)
454. Each receiver unit 454 performs processing complementary to
that performed by transmitter unit 432 and provides (1) received
data symbols to an RX spatial processor 460 and (2) received pilot
symbols to a channel estimator 484 within a controller 480. Receive
spatial processor 460 performs spatial processing on N.sub.ut
received symbol streams from N.sub.ut receiver units 454a through
454ut with spatial filter matrices from controller 480 and provides
N.sub.S detected symbol streams, which are estimates of the N.sub.S
data symbol streams broadcast by access point 110. An RX data
processor 470 then processes (e.g., demaps, deinterleaves, and
decodes) the N.sub.S detected symbol streams and provides N.sub.D
decoded data streams, which are estimates of the N.sub.D data
streams.
[0127] Controllers 440 and 480 control the operation of various
processing units at access point 110 and user terminal 120,
respectively. Memory units 442 and 482 store data and/or program
codes used by controllers 440 and 480, respectively.
[0128] FIG. 5A shows a block diagram of a TX data processor 420a
and a TX spatial processor 430a, which are one embodiment of TX
data processor 420 and TX spatial processor 430 at access point
110. For this embodiment, TX data processor 420a includes N.sub.D
TX data stream processors 520a through 520nd for N.sub.D data
streams, {d.sub.l} for l=1 . . . N.sub.D.
[0129] Within each TX data stream processor 520, an encoder 522
receives and encodes data stream {d.sub.l} based on a coding scheme
and provides code bits. The data stream may carry one or more data
packets, and each data packet is typically encoded separately to
obtain a code block or coded data packet. The coding increases the
reliability of the data transmission. The coding scheme may include
cyclic redundancy check (CRC) generation, convolutional coding,
Turbo coding, low density parity check (LDPC) coding, block coding,
other coding, or a combination thereof. With spatial spreading, the
SNR can vary across a code block even if the MIMO channel is static
over the code block. A sufficiently powerful coding scheme may be
used to combat the SNR variation across the code block, so that
coded performance is proportional to the average SNR across the
code block. Some exemplary coding schemes that can provide good
performance for spatial spreading include Turbo code (e.g., the one
defined by IS-856), LDPC code, and convolutional code.
[0130] A channel interleaver 524 interleaves (i.e., reorders) the
code bits based on an interleaving scheme to achieve frequency,
time and/or spatial diversity. The interleaving may be performed
across a code block, a partial code block, multiple code blocks,
one or more transmission spans, and so on. A symbol mapping unit
526 maps the interleaved bits based on a modulation scheme and
provides a stream of data symbols {s.sub.l}. Unit 526 groups each
set of B interleaved bits to form a B-bit value, where B.gtoreq.1,
and further maps each B-bit value to a specific modulation symbol
based on the modulation scheme (e.g., QPSK, M-PSK, or M-QAM, where
M=2.sup.B). Unit 526 provides a block of data symbols for each code
block.
[0131] In FIG. 5A, N.sub.D TX data stream processors 520a through
520nd process the N.sub.D data streams and provide N.sub.D data
symbol blocks for each block length of N.sub.M transmission spans.
One TX data stream processor 520 may also process the N.sub.D data
streams, e.g., in a time division multiplex (TDM) manner. The same
or different coding and modulation schemes may be used for the
N.sub.D data streams. Furthermore, the same or different data rates
may be used for the N.sub.D data streams. The data rate for each
data stream is determined by the coding and modulation schemes used
for that stream.
[0132] A multiplexer/demultiplexer (Mux/Demux) 528 receives and
multiplexes/demultiplexes the data symbols for the N.sub.D data
streams into N.sub.S data symbol streams. If N.sub.D=N.sub.S, then
Mux/Demux 528 can simply provide the data symbols for each data
stream as a respective data symbol stream. If N.sub.D=1, then
Mux/Demux 528 demultiplexes the data symbols for the one data
stream into N.sub.S data symbol streams.
[0133] TX spatial processor 430a receives N.sub.D data symbol
blocks from TX data processor 420a and N.sub.M steering matrices
V(m) from controller 440 for each block length of N.sub.M
transmission spans. The steering matrices may be retrieved from a
steering matrix (SM) storage 542 within memory unit 442 or
generated by controller 440 as they are needed. Within TX spatial
processor 430a, a matrix multiply unit 532 performs spatial
processing on the data symbols for each transmission span m with
the steering matrix V(m) and provides transmit symbols for that
transmission span. A multiplexer 534 multiplexes the transmit
symbols with pilot symbols, e.g., in a time division multiplexed
manner. For each transmission span, TX spatial processor 430a
provides N.sub.ap transmit symbol sequences for broadcast from the
N.sub.ap access point antennas in one or more symbol periods and/or
on one or more subbands for that transmission span. TX spatial
processor 430a further multiplexes the N.sub.ap transmit symbol
sequences for different transmission spans and provides N.sub.ap
transmit symbol streams, {x.sub.j} for j=1 . . . N.sub.ap, for the
N.sub.ap access point antennas.
[0134] FIG. 5B shows a block diagram of a TX data processor 420b
and a TX spatial processor 430b, which are another embodiment of TX
data processor 420 and TX spatial processor 430 at access point
110. For this embodiment, TX data processor 420b includes one TX
data stream processor 520 for one data stream {d}. TX data stream
processor 520 processes data stream {d} as described above for FIG.
5A and provides data symbols. A demultiplexer 529 demultiplexes the
data symbols from processor 520 into N.sub.S data symbol streams,
{s.sub.l} for l=1 . . . N.sub.S, so that each data symbol block is
broadcast on N.sub.S spatial channels of H(m).
[0135] Within TX spatial processor 430b, a multiplexer 530 receives
the N.sub.S data symbol streams from TX data processor 420b,
multiplexes in pilot symbols, and provides N.sub.S streams of
data/pilot symbols. Matrix multiply unit 532 performs spatial
processing on the data/pilot symbols for each transmission span m
with the steering matrix V(m) and provides transmit symbols for
that transmission span. TX spatial processor 430b provides N.sub.ap
transmit symbol streams, {x.sub.j} for j=1 . . . N.sub.ap, for the
N.sub.ap access point antennas. TX spatial processor 430b performs
spatial spreading on both pilot and data symbols, whereas TX
spatial processor 430a performs spatial spreading on data symbols
but not pilot symbols.
[0136] FIGS. 5A and 5B show exemplary embodiments of TX data
processor 420 and TX spatial processor 430 at access point 110.
Processors 420 and 430 may also be implemented in other manners,
and this is within the scope of the invention.
[0137] FIG. 6A shows a block diagram of an embodiment of the
processing units at user terminal 120, which may be used in
conjunction with the access point embodiment shown in FIG. 5A.
N.sub.ut receiver units 454a through 454ut provide received pilot
symbols, {r.sub.i.sup.p} for i=1 . . . N.sub.ut, to channel
estimator 484. If access point 110 transmits pilot symbols without
spatial spreading (as shown in FIG. 5A), then channel estimator 484
derives (m), which is an estimate of the channel response matrix
H(m), based on the received pilot symbols. Channel estimator 484
then obtains the steering matrix V(m) for each transmission span m
and derives .sub.eff(m), which is an estimate of the effective
channel response matrix, as .sub.eff(m)=(m).multidot.V(m). User
terminal 120 is synchronized to access point 110 so that both
entities use the same steering matrix V(m) for each transmission
span m. If access point 110 transmits pilot symbols with spatial
spreading (as shown in FIG. 5B), then channel estimator 484
directly estimates the effective channel response matrix based on
the received pilot symbols. In any case, channel estimator 484
provides the estimated effective channel response matrix
.sub.eff(m) for each transmission span.
[0138] Controller 480 derives a spatial filter matrix M(m) and
possibly a diagonal matrix D(m) for each transmission span based on
the estimated effective channel response matrix .sub.eff(m) and
using the CCMI, MMSE, or some other technique. RX spatial processor
460 obtains received data symbols, {r.sub.i.sup.d} for i=1 . . .
N.sub.ut, from receiver units 454a through 454ut and the matrices
M(m) and D(m) from controller 480. RX spatial processor 460
performs receiver spatial processing on the received data symbols
for each transmission span with the matrices M(m) and D(m) and
provides detected symbols to RX data processor 470.
[0139] For the embodiment shown in FIG. 6A, RX data processor 470a
includes a multiplexer/demultiplexer 668 and N.sub.D RX data stream
processors 670a through 670nd for the N.sub.D data streams.
Mux/Demux 668 receives and multiplexes/demultiplexes the N.sub.S
detected symbol streams for the N.sub.S spatial channels into
N.sub.D detected symbol streams for the N.sub.D data streams.
Within each RX data stream processor 670, a symbol demapping unit
672 demodulates the detected symbols for the associated data stream
in accordance with the modulation scheme used for that stream and
provides demodulated data. A channel deinterleaver 674
deinterleaves the demodulated data in a manner complementary to the
interleaving performed on that stream by access point 110. A
decoder 676 decodes the deinterleaved data in a manner
complementary to the encoding performed by access point 110 on that
stream. For example, a Turbo decoder or a Viterbi decoder may be
used for decoder 676 if Turbo or convolutional coding,
respectively, is performed by access point 110. Decoder 676
provides a decoded data stream, which includes a decoded data
packet for each data symbol block.
[0140] FIG. 6B shows a block diagram of an RX spatial processor
460b and an RX data processor 470b, which implement the SIC
technique for user terminal 120. RX spatial processor 460b and RX
data processor 470b implement N.sub.D cascaded receiver processing
stages for the N.sub.D data streams. For simplicity,
N.sub.D=N.sub.S and each data symbol stream corresponds to a
respective data stream. Each of stages 1 to N.sub.D-1 includes a
spatial processor 660, an interference canceller 662, an RX data
stream processor 670, and a TX data stream processor 680. The last
stage includes only a spatial processor 660nd and an RX data stream
processor 670nd. Each RX data stream processor 670 includes a
symbol demapping unit, a channel deinterleaver, and a decoder, as
shown in FIG. 6A. Each TX data stream processor 680 includes an
encoder, a channel interleaver, and a symbol mapping unit, as shown
in FIG. 5B.
[0141] For stage 1, spatial processor 660a performs receiver
spatial processing on the N.sub.ut received symbol streams and
provides one detected symbol stream {.sub.l}. RX data stream
processor 670a demodulates, deinterleaves, and decodes the detected
symbol stream {.sub.l} and provides a corresponding decoded data
stream {{circumflex over (d)}.sub.l}. TX data stream processor 680a
encodes, interleaves, and modulates the decoded data stream
{{circumflex over (d)}.sub.l} in the same manner performed by
access point 110 for that stream and provides a remodulated symbol
stream {{haeck over (s)}.sub.l}. Interference canceller 662a
processes the remodulated symbol stream {{haeck over (s)}.sub.l}
with the estimated effective channel response matrix .sub.eff(m) to
obtain N.sub.ut interference components due to data symbol stream
{s.sub.l}. The N.sub.ut interference components are subtracted from
the N.sub.ut received symbol streams to obtain N.sub.ut modified
symbol streams, which are provided to stage 2.
[0142] Each of stages 2 through N.sub.D-1 performs the same
processing as stage 1, albeit on the N.sub.ut modified symbol
streams from the preceding stage instead of the N.sub.ut received
symbol streams. The last stage performs spatial processing and
decoding on the N.sub.ut modified symbol streams from stage
N.sub.D-1 and does not perform interference estimation and
cancellation.
[0143] Spatial processors 660a through 660nd may each implement the
CCMI, MMSE, or some other technique. Each spatial processor 660
multiplies an input (received or modified) symbol vector
r.sub.sic.sup.l(m) with a spatial filter matrix M.sub.sic.sup.l(m)
to obtain a detected symbol vector .sub.sic.sup.l(m) and provides
the detected symbol stream for that stage. The matrix
M.sub.sic.sup.l(m) is derived based on the reduced effective
channel response estimate .sub.eff.sup.l(m) for the stage.
[0144] 2. MISO Broadcast
[0145] FIG. 7 shows a MISO system 700 with an access point 710 and
user terminals 720. Access point 710 is equipped with multiple
(N.sub.ap) antennas for data transmission. Each user terminal 720
is equipped with a single antenna for data reception. The user
terminals may be distributed throughout the coverage area of access
point 710. A different MISO channel is formed by the N.sub.ap
antennas at the access point and the single antenna at each user
terminal. The MISO channel for a given user terminal may be
characterized by a 1.times.N.sub.ap channel response row vector h,
which is h=[h.sub.1 h.sub.2 . . . h.sub.N.sub..sub.ap], where entry
h.sub.j, for j=1 . . . N.sub.ap, denotes the coupling between
access point antenna j and the user terminal antenna.
[0146] Spatial spreading may be used to randomize the effective
MISO channel observed by each single-antenna user terminal so that
broadcast performance is not dictated by the expected worst-case
channel condition. For the MISO system, the access point performs
spatial processing with steering vectors, which are degenerated
steering matrices containing just one column.
[0147] The spatial processing at the access point for spatial
spreading in the MISO system may be expressed as:
x.sub.miso(m)=v(m).multidot.s(m), Eq (16)
[0148] where s(m) is a data symbol to be sent in transmission span
m;
[0149] v(m) is an N.sub.ap.times.1 steering vector for transmission
span m; and
[0150] x.sub.miso(m) is an N.sub.ap.times.1 vector with N.sub.ap
transmit symbols to be sent from the N.sub.ap access point antennas
in transmission span m.
[0151] A set of L steering vectors may be generated and is denoted
as {v}, or v(i) for i=1 . . . L. One steering vector in the set is
selected for each transmission span m and used for spatial
processing by the access point for that transmission span.
[0152] The received symbols at each single-antenna user terminal
with spatial spreading may be expressed as:
r(m)=h(m).multidot.v(m).multidot.s(m)+n(m)=h.sub.eff(m).multidot.s(m)+n(m)-
, Eq (17)
[0153] where r(m) is a received symbol for transmission span m;
[0154] h.sub.eff(m) is an effective channel response for
transmission span m, which is h.sub.eff(m)=h(m).multidot.v(m);
and
[0155] n(m) is the noise for transmission span m.
[0156] As shown in equation (17), because of the spatial spreading
performed by the access point, the data symbol stream broadcast by
the access point observes the effective channel response
h.sub.eff(m), which includes the actual channel response h(m) and
the steering vector v(m). The user terminal may derive h(m), which
is an estimate of the channel response vector h(m) (e.g., based on
received pilot symbols). The user terminal may then compute
.sub.eff(m), which is an effective channel response estimate, as
.sub.eff(m)=(m).multidot.v(m). Alternatively, the user terminal can
directly estimate the effective channel response, e.g., based on
received pilot symbols that have been transmitted using v(m). In
any case, the user terminal can perform detection (e.g., matched
filtering and/or equalization) on the received symbols r(m) with
the effective channel response estimate .sub.eff(m) to obtain
detected symbols (m).
[0157] Broadcast transmission and reception for the MISO system may
be performed similarly to that described above for FIGS. 2 and 3.
However, only one spatial channel is available and used for
broadcast transmission in the MISO system. Referring to FIG. 2, for
broadcast transmission in the MISO system, one data symbol block is
generated (block 212) and partitioned into N.sub.M subblocks, which
are to be broadcast in N.sub.M transmission spans (block 214). A
steering vector is selected for each subblock/transmission span
(block 218) and used for spatial processing for the data symbol(s)
in the subblock (block 220). The transmit symbols for each subblock
are broadcast via the N.sub.ap access point antennas in the
associated transmission span (block 222).
[0158] Referring to FIG. 3, for broadcast reception in the MISO
system, one or more received data symbols are obtained from the
single antenna at the user terminal for each subblock (block 314).
The steering vector used by the access point for each subblock is
determined (block 316) and used to derive the effective channel
response estimate .sub.eff(m) (block 318), which is then used for
detection of the received data symbol(s) for the subblock (block
320). After all N.sub.M subblocks for the current data symbol block
have been received, the detected symbols for the block are
processed (demodulated, deinterleaved, and decoded) to obtain the
decoded data for the block (block 326).
[0159] FIG. 8 shows a block diagram of access point 710 and user
terminal 720 in MISO system 700. User terminal 720 is one of the
user terminals in FIG. 7. At access point 710, a TX data processor
820 performs data processing on a data stream {d} to obtain a
corresponding data symbol stream {s}. TX data processor 820 may be
implemented with TX data stream processor 520 in FIG. 5B. A TX
spatial processor 830 performs spatial spreading on the data symbol
stream with the steering vectors (e.g., as shown in equation (16)),
multiplexes in pilot symbols, and provides N.sub.ap transmit symbol
streams. N.sub.ap transmitter units 832a through 832ap condition
the N.sub.ap transmit symbol streams to generate N.sub.ap modulated
signals, which are transmitted from N.sub.ap antennas 834a through
834ap, respectively.
[0160] At user terminal 720, the N.sub.ap transmitted signals are
received by an antenna 852, and the received signal from the
antenna is conditioned by a receiver unit 854 to obtain received
symbols. A channel estimator 884 derives the effective channel
response estimate .sub.eff(m) based on the received pilot symbols
and the steering vector v(m) used for each transmission span. A
detector 860 performs detection (e.g., matched filtering and/or
equalization) on the received data symbols with the effective
channel response estimate .sub.eff(m) and provides a stream of
detected symbols {}. An RX data processor 870 processes (e.g.,
demaps, deinterleaves, and decodes) the detected symbol stream and
provides a decoded data stream {{circumflex over (d)}}. RX data
processor 870 may be implemented with RX data stream processor 670a
in FIG. 6A.
[0161] Controllers 840 and 880 control the operation of various
processing units at access point 710 and user terminal 720,
respectively. Memory units 842 and 882 store data and/or program
codes used by controllers 840 and 880, respectively.
[0162] 3. OFDM-Based Systems
[0163] The broadcast transmission techniques described herein may
be used for single-carrier as well as multi-carrier systems.
Multiple carriers may be obtained with OFDM or some other
construct. For an OFDM-based system, spatial spreading may be
performed on each of the subbands used for broadcast.
[0164] For a MIMO system that utilizes OFDM (i.e., a MIMO-OFDM
system), one data symbol vector s(k,n) may be formed for each
subband k in each OFDM symbol period n. Vector s(k,n) contains up
to N.sub.S data symbols for broadcast via the N.sub.S spatial
channels of subband k in OFDM symbol period n. The index m for
transmission span is substituted with k,n for subband k and OFDM
symbol period n. Up to N.sub.F vectors, s(k,n) for k=1 . . .
N.sub.F, may be broadcast concurrently on the N.sub.F subbands in
one OFDM symbol period. A transmission span may cover one or more
subbands in one or more OFDM symbol periods.
[0165] The N.sub.D data symbol blocks may be broadcast in various
manners in the MIMO-OFDM system. For example, each data symbol
block may be broadcast as one entry of the vector s(k,n) for each
of the N.sub.F subbands. In this case, each data symbol block is
broadcast on all N.sub.F subbands and achieves frequency diversity.
Each data symbol block may further span one or multiple OFDM symbol
periods. Each data symbol block may thus span frequency and/or time
dimensions (by system design) plus spatial dimension (with spatial
spreading).
[0166] The steering matrices may also be selected in various
manners for the MIMO-OFDM system. The steering matrices for the
subbands may be selected in a deterministic, pseudo-random, or
permutated manner, as described above. For example, the L steering
matrices in the set may be cycled through and selected in
sequential order for subbands 1 through N.sub.F in OFDM symbol
period n, then subbands 1 through N.sub.F in OFDM symbol period
n+1, and so on. The number of steering matrices in the set may be
less than, equal to, or greater than the number of subbands. The
three cases described above for L=N.sub.M, L<N.sub.M, and
L>N.sub.M may also be applied for the subbands, with N.sub.M
being replaced with N.sub.F.
[0167] For a MISO system that utilizes OFDM (i.e., a MISO-OFDM
system), one data symbol s(k,n) may be broadcast on each subband k
in OFDM symbol period n. Up to N.sub.F data symbols, s(k,n) for k=1
. . . N.sub.F, may be broadcast concurrently on the N.sub.F
subbands in one OFDM symbol period. Each data symbol block may be
broadcast on one or multiple subbands and/or in one or multiple
OFDM symbol periods. The steering vectors may be selected in a
manner similar to that for the steering matrices in the MIMO-OFDM
system.
[0168] For an OFDM-based system, each transmitter unit 432 in FIG.
4 and each transmitter unit 832 in FIG. 8 perform OFDM modulation
on the transmit symbols for all N.sub.F subbands of an associated
transmit antenna. For OFDM modulation, the N.sub.F transmit symbols
to be broadcast on the N.sub.F subbands in each OFDM symbol period
are transformed to the time-domain using an N.sub.F-point inverse
fast Fourier transform (IFFT) to obtain a "transformed" symbol that
contains N.sub.F chips. To combat intersymbol interference (ISI),
which is caused by frequency selective fading, a portion (or
N.sub.cp chips) of each transformed symbol is typically repeated to
form a corresponding OFDM symbol. Each OFDM symbol is broadcast in
one OFDM symbol period, which is N.sub.F+N.sub.cp chip periods,
where N.sub.cp is the cyclic prefix length. Each transmitter unit
generates a stream of OFDM symbols and further conditions the OFDM
symbol stream to generate a modulated signal for broadcast from the
associated antenna. Each receiver unit 454 in FIG. 4 and each
receiver unit 854 in FIG. 8 perform the complementary OFDM
demodulation on its received signal to obtain received data symbols
and received pilot symbols.
[0169] 4. Transmit Diversity
[0170] Spatial spreading may be used in combination with various
transmit diversity schemes such as space-time transmit diversity
(STTD), space-frequency transmit diversity (SFTD), orthogonal
transmit diversity (OTD), and so on. STTD transmits each pair of
data symbols from two antennas in two symbol periods to achieve
space and time diversity. SFTD transmits each pair of data symbols
from two antennas in two subbands to achieve space and frequency
diversity. OTD transmits two data symbols simultaneously from two
antennas in two symbol periods using two orthogonal codes to
achieve space and time diversity. Spatial spreading may provide
improved performance for these transmit diversity schemes.
[0171] For the STTD scheme, the access point generates two coded
symbol vectors, e.g., s.sub.1(m)=[s.sub.a(m) s.sub.b(m)].sup.T and
s.sub.2(m)=[s*.sub.b(m)-s*.sub.a(m)].sup.T, for each pair of data
symbols s.sub.a(m) and s.sub.b(m) to be broadcast in transmission
span m, where "*" denotes the complex conjugate and ".sup.T"
denotes the transpose. Each vector includes two coded symbols that
are to be broadcast from the N.sub.ap access point antennas in one
symbol period. Vector s.sub.1(m) is broadcast in the first symbol
period, and vector s.sub.2(m) is broadcast in the next symbol
period. Each data symbol is included in both vectors and is thus
broadcast over two symbol periods.
[0172] The access point performs spatial spreading on the two
vectors s.sub.1(m) and s.sub.2(m) using the same steering matrix,
as follows:
x.sub.sttd,i(m)=V.sub.sttd(m).multidot.s.sub.i(m), for i=1, 2, Eq
(18)
[0173] where V.sub.sttd(m) is an N.sub.ap.times.2 steering matrix
for transmission span m; and
[0174] x.sub.sttd,i(m) is an N.sub.ap.times.1 vector with N.sub.ap
transmit symbols to be sent from the N.sub.ap access point antennas
in symbol period i of transmission span m.
[0175] If the user terminal is equipped with a single antenna, then
the received symbols may be expressed as:
r.sub.i(m)=h(m).multidot.V.sub.sttd(m).multidot.s.sub.i(m)+n.sub.i(m)=h.su-
b.eff,sttd(m).multidot.s.sub.i(m)+n.sub.i(m), Eq (19)
[0176] where r.sub.i(m) is a received symbol for symbol period i of
transmission span m;
[0177] h(m) is an 1.times.N.sub.ap channel response row vector for
transmission span m;
[0178] h.sub.eff,sttd(m) is a 1.times.2 effective channel response
row vector for transmission span m, which is
h.sub.eff,sttd(m)=h(m).multidot.- V.sub.sttd(m)=[h.sub.eff,1(m)
h.sub.eff,2(m)]; and
[0179] n.sub.i(m) is the noise for symbol period i of transmission
span m.
[0180] The channel response h(m) is assumed to be constant over the
two symbol periods of transmission span m.
[0181] The single-antenna user terminal may derive estimates of the
two data symbols, s.sub.a(m) and s.sub.b(m), as follows: 12 s ^ a (
m ) = h ^ eff , 1 * ( m ) r 1 ( m ) - h ^ eff , 2 ( m ) r 2 * ( m )
' ( m ) = s a ( m ) + n a ' ( m ) , and s ^ b ( m ) = h ^ eff , 2 *
( m ) r 1 ( m ) + h ^ eff , 1 ( m ) r 2 * ( m ) ' ( m ) = s b ( m )
+ n b ' ( m ) , Eq ( 20 )
[0182] where .sub.eff,i(m) is an estimate of h.sub.eff,i(m), for
i=1, 2;
[0183]
.beta.'(m)=.vertline..sub.eff,1(m).vertline..sup.2+.vertline..sub.e-
ff,2(m).vertline..sup.2; and
[0184] n'.sub.s(m) and n'.sub.b(m) are post-processed noise for
detected symbols .sub.a(m) and .sub.b(m), respectively.
[0185] If the user terminal is equipped with multiple antennas,
then the received symbols may be expressed as:
r.sub.i(m)=H(m).multidot.V.sub.sttd(m).multidot.s.sub.i(m)+n.sub.i(m)=H.su-
b.eff,sttd(m).multidot.s.sub.i(m)+n.sub.i(m), Eq (21)
[0186] where r.sub.i(m) is an N.sub.ut.times.1 vector with N.sub.ut
received symbols for symbol period i of transmission span m;
[0187] H(m) is an N.sub.ut.times.N.sub.ap channel response matrix
for transmission span m;
[0188] H.sub.eff,sttd(m) is an N.sub.ut.times.2 effective channel
response matrix for transmission span m, which is
H.sub.eff,sttd(m)=H(m).multidot.- V.sub.sttd(m)=[h.sub.eff,1(m)
h.sub.eff,2(m)]; and
[0189] n.sub.i(m) is a noise vector for symbol period i of
transmission span m.
[0190] The channel response H(m) is assumed to be constant over the
two symbol periods of transmission span m.
[0191] The multi-antenna user terminal may derive estimates of the
two data symbols, s.sub.a(m) and s.sub.b(m), as follows: 13 s ^ a (
m ) = h ^ _ eff , 1 H ( m ) r _ 1 ( m ) - r _ 2 H ( m ) h ^ _ eff ,
2 ( m ) " ( m ) = s a ( m ) + n a " ( m ) , and s ^ b ( m ) = h ^ _
eff , 2 H ( m ) r _ 1 ( m ) - r _ 2 H ( m ) h ^ _ eff , 1 ( m ) " (
m ) = s b ( k ) + n b " ( m ) , Eq ( 22 )
[0192] where .sub.eff,i(m) is an estimate of h.sub.eff,i(m), for
i=1, 2;
[0193]
.beta."(m)=.parallel..sub.eff,1(m).parallel..sup.2+.parallel..sub.e-
ff,2(m).parallel..sup.2; and
[0194] n".sub.a(m) and n".sub.b(m) are post-processed noise for
detected symbols .sub.a(m) and .sub.b(m), respectively.
[0195] For the SFTD scheme, the two vectors s.sub.1(m) and
s.sub.2(m) are broadcast on two different subbands in the same
symbol period. The same transmit and receive processing described
above can be performed for the SFTD scheme, where the index i now
denotes subband instead of symbol period. Since the channel
response is assumed to be approximately constant over the
transmission span, two adjacent subbands k and k+1 may be used to
broadcast the two vectors s.sub.1(m) and s.sub.2(m).
[0196] 5. Hybrid Multi-Antenna System
[0197] FIG. 9 shows a multi-antenna system 900 with an access point
910 and user terminals 920. Access point 910 is equipped with
multiple (N.sub.ap) antennas for data transmission. Each user
terminal 920 may be equipped with a single antenna or multiple
(N.sub.ut) antennas for data reception. Each multi-antenna user
terminal has a respective MIMO channel with the access point and is
able to receive MIMO and MISO broadcast transmission from the
access point. Each single-antenna user terminal has a respective
MISO channel with the access point and is able to receive a MISO
broadcast transmission and possibly a portion of a MIMO broadcast
transmission from the access point, as described below.
[0198] Access point 910 may broadcast data in various manners in
system 900. In one embodiment, access point 910 sends (1) a MIMO
broadcast transmission that can be received by multi-antenna user
terminals and (2) a MISO broadcast transmission that can be
received by both single-antenna and multi-antenna user terminals.
The MIMO and MISO broadcast transmissions may be sent (1) in
different time intervals using time division multiplexing (TDM),
(2) on different disjoint sets of subbands using frequency division
multiplexing (FDM), (3) on different code channels using code
division multiplexing (CDM), some other multiplexing scheme, or any
combination thereof. In another embodiment, access point 910 sends
a MIMO broadcast transmission in a manner such that single-antenna
user terminals can recover a portion of the broadcast transmission
(e.g., for basic broadcast service) and multi-antenna user
terminals can recover all of the broadcast transmission (if they
have sufficient link margin). In yet another embodiment, access
point 910 can adjust the broadcast transmission (e.g., between MIMO
and MISO broadcasts) based on the expected channel conditions for
the user terminals.
[0199] 6. Broadcast Transmission Schemes
[0200] A multi-antenna system may perform MIMO broadcast in various
manners. In a first MIMO broadcast scheme, the access point
broadcasts multiple (N.sub.D) data streams simultaneously and uses
the same data rate and the same transmit power for all data
streams, where N.sub.S.gtoreq.N.sub.D>1. The data rate may be
selected, for example, based on the expected worst-case effective
channel for the multi-antenna user terminals, which should be
better than the expected worst-case actual channel for these user
terminals. Most multi-antenna user terminals within the broadcast
coverage area can then recover the N.sub.D data streams.
[0201] In a second MIMO broadcast scheme, the access point
broadcasts N.sub.D data streams simultaneously and uses different
data rates but the same transmit power for these streams. This
broadcast scheme may be used to provide "tiered" broadcast services
over the broadcast coverage area. Each data stream has a different
broadcast coverage area determined by its data rate. The data
stream with the lowest data rate has the largest broadcast coverage
area, and the data stream with the highest data rate has the
smallest broadcast coverage area. Each user terminal may be able to
recover one, some, or all of the data streams depending on (1) its
location and channel condition and (2) the receiver spatial
processing technique employed. If a user terminal uses a linear
receiver spatial processing technique (e.g., the CCMI or MMSE
technique), then it can recover data streams with higher data rates
if it has a sufficiently high link margin. The user terminal may be
able to only recover data streams with lower data rates if it has a
low link margin (e.g., is located at the edge of the coverage
area). If the user terminal uses the SIC technique, then it may be
able to recover data streams with higher data rates as well as data
streams with lower data rates even if it is located at the edge of
the coverage area. The user terminal can recover the lower rate
data streams first and perform interference cancellation to achieve
higher SNRs needed to recover the higher rate data streams.
[0202] In a third MIMO broadcast scheme, the access point
broadcasts N.sub.D data streams simultaneously and uses the same
data rate but different transmit powers for these streams.
Different transmit powers may be obtained by multiplying the data
symbols for each data stream with a scaling factor that determines
the amount of transmit power for that data stream. Tiered broadcast
services may also be achieved with this broadcast scheme. The data
stream with the highest transmit power has the largest broadcast
coverage area and can be recovered by the most user terminals.
Conversely, the data stream with the lowest transmit power has the
smallest broadcast coverage area. The lower power data streams may
also be recovered by user terminals with low link margin if they
use the SIC technique.
[0203] The second and third MIMO broadcast schemes may be used to
support both multi-antenna user terminals and single-antenna user
terminals. The single-antenna user terminals can recover the data
stream with the lowest data rate or the highest transmit power. The
remaining data streams would act as interference to this data
stream. The multi-antenna user terminals can recover more data
streams using the additional antennas. If a multi-antenna user
terminal uses the SIC technique described above, then the data
streams may be recovered in a sequential order determined by their
required SNRs. The data stream with the lowest data rate or the
highest transmit power is recovered first, followed by the data
stream with the next lowest data rate or next highest transmit
power, and so on.
[0204] In a fourth MIMO broadcast scheme, the access point
transmits different numbers of data streams depending on the
expected capacity of the wireless channels for the user terminals.
Channel capacity is a function of the operating SNR as well as the
channel characteristics (e.g., whether the channel gains for
different transmit/receive antenna pairs are correlated). When the
expected channel capacity is low, the access point can broadcast
fewer data streams and distribute the available transmit power over
these fewer streams so that each stream can achieve a higher SNR.
Conversely, when the expected channel capacity is higher, the
access point can broadcast more data streams.
[0205] For both MIMO and MISO broadcasts, the access point can
adjust the data rate for each data stream based on various factors
such as channel capacity, service requirements, and so on. Other
broadcast schemes may also be implemented with spatial spreading,
and this is within the scope of the invention.
[0206] 7. Broadcast Performance
[0207] The performance of each data symbol stream is dependent on
the diversity order achieved for that stream. The diversity order
for each data symbol stream is, in turn, dependent on the number of
transmit antennas, the number of receive antennas, the receiver
spatial processing technique, and whether spatial spreading was
used. In general, performance improves as diversity order
increases.
[0208] Without spatial spreading, each of the N.sub.S data symbol
streams observes the same diversity order when a linear receiver
spatial processing technique (e.g., the CCMI or MMSE technique) is
used to detect the data symbol streams. If N.sub.ut.gtoreq.N.sub.ap
and one data symbol stream is broadcast on each spatial channel of
H.sub.eff(m) so that N.sub.D=N.sub.S=N.sub.ap, then each data
symbol stream observes a diversity order of N.sub.ut-N.sub.ap+1.
For a symmetric MIMO channel with N.sub.ap=N.sub.ut, each detected
symbol stream has a diversity order of one and a Rayleigh
distribution for its SNR. All of the data symbol streams have the
same SNR distribution.
[0209] Without spatial spreading, each data symbol stream observes
a different diversity order when the SIC technique is used to
detect the N.sub.S data symbol streams. Again, if
N.sub.ut.gtoreq.N.sub.ap and one data symbol stream is broadcast on
each spatial channel of H.sub.eff(m), then the diversity order for
each data symbol stream is N.sub.ut-N.sub.ap+l, where l is the
stage number in which the stream is detected. Thus, data symbol
streams that are detected later have higher diversity order and
tend to have better SNRs, which allow higher data rates to be used
for these streams.
[0210] With spatial spreading, the diversity order for each data
symbol stream is effectively improved by the use of multiple
different steering matrices for each code block within the stream.
Each different steering matrix allows the code block to obtain a
different "look" of the MIMO channel, which may be equated to
having a different transmit or receive antenna. The diversity order
for each data symbol stream may then be related to the number of
different steering matrices used for the code block, which can be
much larger than the number of access point antennas and the number
of user terminal antennas. Spatial spreading typically provides
greater improvement for data symbol streams with lower diversity
orders.
[0211] Spatial spreading can be used to improve the throughput
and/or the coverage area for a broadcast transmission. Conventional
MIMO and MISO systems (without spatial spreading) typically select
a data rate for broadcast transmission based on the expected
worst-case channel condition for all user terminals in the
broadcast coverage area. This worst-case channel condition
typically corresponds to a "bad" channel that does not fade/change
across an entire code block. With spatial spreading, the effective
MIMO or MISO channel is randomized across each code block, and the
likelihood of any user terminal observing a bad channel for the
entire code block is substantially reduced. This then allows a
higher data rate to be used for broadcast transmission.
Equivalently, for a given data rate, spatial spreading can provide
a larger broadcast coverage area. In general, a higher data rate
for a broadcast transmission corresponds to a smaller broadcast
coverage area. Furthermore, a more stringent outage requirement (or
a lower outage probability) corresponds to a smaller broadcast
coverage area. Spatial spreading can provide improved performance
(e.g., higher data rate, larger broadcast coverage area, and/or
lower outage probability) over the conventional MIMO and MISO
systems.
[0212] FIG. 10A shows plots of the cumulative distribution function
(CDF) of the overall spectral efficiency achieved for an exemplary
MIMO system. For this MIMO system, the access point is equipped
with four antennas (N.sub.ap=4), the user terminals are randomly
distributed throughout the coverage area, and each user terminal is
equipped with four antennas (N.sub.ut=4). The MIMO channels for the
user terminals are assumed to be as described above for equation
(1) and the operating SNR per receive antenna is 20 dB for user
terminals located at the edge of coverage. The user terminals use
the MMSE technique.
[0213] Plot 1010 shows the CDF of the overall spectral efficiency
for the case in which spatial spreading is not performed for
broadcast transmission, which is equivalent to performing transmit
steering with a single steering matrix (L=1) all the time. Spectral
efficiency is given in units of bits per second per Hertz (bps/Hz).
For a given spectral efficiency x, the CDF indicates the percentage
of user terminals achieving overall spectral efficiency worse than
x. For example, point 1012 indicates that one percent (10.sup.-2)
of the user terminals achieve overall spectral efficiency worse
than 9 bps/Hz. If the access point broadcasts data at an overall
rate of 9 bps/Hz, then one percent of the user terminals will not
be able to correctly decode the broadcast transmission. This
percentage is also referred to as the outage probability.
[0214] Plots 1020, 1030 and 1040 show the CDFs of the overall
spectral efficiency achieved with spatial spreading using 4, 16 and
64 steering matrices, respectively. Points 1022, 1032 and 1042
indicate that, for one percent outage probability, the overall
spectral efficiency is 12.5, 14.6 and 15.8 bps/Hz with 4, 16 and 64
steering matrices, respectively. For one percent outage
probability, the use of spatial spreading improves the overall
spectral efficiency from 9 bps/Hz to approximately 15.8 bps/Hz
(with 64 steering matrices) for the exemplary MIMO system. Line
1050 is for 50% outage probability and may be referenced to
determine the average overall spectral efficiency for the four
cases.
[0215] FIG. 10B shows plots of the CDF of the overall spectral
efficiency achieved for an exemplary MISO system. For this MISO
system, the access point is equipped with four antennas
(N.sub.ap=4), the user terminals are randomly distributed
throughout the coverage area, and each user terminal is equipped
with a single antenna (N.sub.ut=1). The MISO channels for the user
terminals are assumed to be as described above and the operating
SNR/Rx is 10 dB for user terminals located at the edge of
coverage.
[0216] Plot 1060 shows the CDF of the overall spectral efficiency
for the case in which spatial spreading is not performed (L=1) for
broadcast transmission. Plots 1070, 1080 and 1090 show the CDFs of
the overall spectral efficiency achieved with spatial spreading
using 4, 16 and 64 steering matrices, respectively. Points 1062,
1072, 1082, and 1092 indicate that, for one percent outage
probability, the overall spectral efficiency is 0.1, 0.8, 1.7, and
2.2 bps/Hz with 1, 4, 16 and 64 steering matrices, respectively.
Again, substantial gain is achieved by the use of spatial spreading
for broadcast transmission.
[0217] FIGS. 10A and 10B show the performance for exemplary MIMO
and MISO systems with some specific assumptions. In general, the
amount of improvement may be dependent on various factors such as,
for example, the characteristics of the wireless channels, the
number of transmit and receive antennas, the spatial processing
technique used at the user terminals, the coding and modulation
schemes used for data transmission, and so on.
[0218] 8. Steering Matrix and Vector Generation
[0219] The steering matrices used for spatial spreading in the MIMO
system and the steering vectors used for the MISO system may be
generated in various manners. Some exemplary schemes for generating
these steering matrices and vectors are described below. The set of
steering matrices/vectors may be pre-computed and stored at the
access point and user terminals and thereafter retrieved for use as
they are needed. Alternatively, these steering matrices/vectors may
be computed in real time as they are needed.
[0220] A. Steering Matrix Generation
[0221] The steering matrices should be unitary matrices and satisfy
the following condition:
V.sup.H(i).multidot.V(i)=I, for i=1 . . . L. Eq (23)
[0222] Equation (23) indicates that each column of V(i) has unit
energy and the columns of V(i) are orthogonal to one another. This
condition ensures that the N.sub.S data symbols broadcast
simultaneously using the steering matrix V(i) have the same power
and are orthogonal to one another prior to transmission.
[0223] Some of the steering matrices may also be uncorrelated so
that the correlation between any two uncorrelated steering matrices
is zero or a low value. This condition may be expressed as:
C(ij)=V.sup.H(i).multidot.V(j).apprxeq.0, for i=1 . . . L, j=1 . .
. L, and i.noteq.j, Eq (24)
[0224] where C(ij) is the correlation matrix for V(i) and V(j) and
0 is a matrix of all zeros. The condition in equation (24) may
improve performance for some applications but is not necessary for
most applications.
[0225] A set of L steering matrices {V} may be generated using
various schemes. In a first scheme, the L steering matrices are
generated based on matrices of random variables. An
N.sub.S.times.N.sub.ap matrix G with elements that are independent
identically distributed (IID) complex Gaussian random variables,
each having zero mean and unit variance, is initially generated. An
N.sub.ap.times.N.sub.ap correlation matrix of G is computed as
R=G.sup.H.multidot.G and decomposed using eigenvalue decomposition
as:
R=E.multidot.D.multidot.E.sup.H, Eq (25)
[0226] where E is an N.sub.ap.times.N.sub.S unitary matrix of
eigenvectors of R; and
[0227] D is an N.sub.S.times.N.sub.S diagonal matrix of eigenvalues
of R.
[0228] The diagonal matrix D contains eigenvalues of R, which
represent the power gains for the N.sub.S eigenmodes of G. The
matrix E is used as a steering matrix V(i) and added to the set.
The steering matrix V(i) is a unitary matrix because the matrix E
is obtained through eigenvalue decomposition. The process is
repeated until all L steering matrices are generated.
[0229] In a second scheme, the L steering matrices are generated
based on a set of (log.sub.2L)+1 independent isotropically
distributed unitary matrices. A random unitary matrix is
isotropically distributed if its probability density is unchanged
by pre-multiplication by any deterministic N.sub.ap.times.N.sub.ap
unitary matrix. The index i for the steering matrices in the set
may be denoted as i=l.sub.1l.sub.2 . . . l.sub.Q, where Q=log.sub.2
L, l.sub.1 is the first bit of index i, l.sub.Q is the last bit of
index i, and each bit can take on a value of either 0 or 1. The L
steering matrices may then be generated as follows:
V(l.sub.1l.sub.2 . . .
l.sub.Q)=.OMEGA..sub.1.sup.l.sup..sub.1.multidot..O-
MEGA..sub.2.sup.l.sup..sub.2.multidot. . . .
.multidot..OMEGA..sub.Q.sup.l- .sup..sub.Q.multidot.V.sub.0, for
l.sub.1, l.sub.2, . . . , l.sub.Q.epsilon.{0,1}, Eq (26)
[0230] where V.sub.0 is an N.sub.ap.times.N.sub.S independent
isotropically distributed unitary matrix; and
[0231] .OMEGA..sub.j.sup.l.sup..sub.j, for j=1 . . . Q, is an
N.sub.ap.times.N.sub.ap independent isotropically distributed
unitary matrix.
[0232] The matrix V.sub.0 may be defined, for example, as
V.sub.0.sup.T=[I.sub.N.sub..sub.S 0], where I.sub.N.sub..sub.S is
an N.sub.S.times.N.sub.S identity matrix. The second scheme is
described by T. L. Marzetta et al. in "Structured Unitary
Space-Time Autocoding Constellations," IEEE Transaction on
Information Theory, Vol. 48, No. 4, April 2002.
[0233] In a third scheme, the L steering matrices are generated by
successively rotating an initial unitary steering matrix V(1) in an
N.sub.ap-dimensional complex space, as follows:
V(i+1)=.THETA..sup.i.multidot.V(1), for i=1 . . . L-1, Eq (27)
[0234] where .THETA..sup.i is an N.sub.ap.times.N.sub.ap diagonal
unitary matrix that may be defined as: 14 _ i = [ j2 1 i / L 0 0 0
j2 2 i / L 0 0 0 j2 u N ap i / L ] , Eq ( 28 )
[0235] and u.sub.1, u.sub.2, . . . u.sub.N.sub..sub.ap are N.sub.ap
different values, each within the range of 0 to L-1, which are
chosen such that, e.g., the correlation between the resulting
steering matrices generated with the matrix .THETA..sup.i is as low
as possible. The N.sub.ap diagonal elements of .THETA..sup.i are
L-th roots of unity. The initial unitary steering matrix V(1) may
be formed with N.sub.S different columns of an
N.sub.ap.times.N.sub.ap Fourier matrix where the (n,m)-th entry,
w.sub.n,m, is given as: 15 w n , m = - j2 ( n - 1 ) ( m - 1 ) N ap
, for n = { 1 N ap } and m = { 1 N ap } , Eq ( 29 )
[0236] where n is a row index and m is a column index. The third
scheme is described by B. M. Hochwald et al. in "Systematic Design
of Unitary Space-Time Constellations," IEEE Transaction on
Information Theory, Vol. 46, No. 6, September 2000.
[0237] In a fourth scheme, the L steering matrices are generated
with a base matrix B and different scalars. The base matrix may be
a Walsh matrix, a Fourier matrix, or some other matrix. A 2.times.2
Walsh matrix may be expressed as 16 W _ 2 .times. 2 = [ 1 1 1 - 1 ]
.
[0238] A larger size Walsh matrix W.sub.2N.times.2N may be formed
from a smaller size Walsh matrix W.sub.N.times.N, as follows: 17 W
_ 2 N .times. 2 N = [ W _ N .times. N W _ N .times. N W _ N .times.
N - W _ N .times. N ] . Eq ( 30 )
[0239] Walsh matrices have dimensions that are powers of two. An
N.sub.ap.times.N.sub.ap Fourier matrix F may be formed with
elements defined as shown in equation (29).
[0240] An N.sub.ap.times.N.sub.ap Walsh matrix W, Fourier matrix F,
or some other matrix may be used as the base matrix B to form other
steering matrices. Each of rows 2 through N.sub.ap of the base
matrix may be independently multiplied with one of M different
possible scalars, where M>1. M.sup.N.sup..sub.ap.sup.-1
different steering matrices may be obtained from
M.sup.N.sup..sub.ap.sup.-1 different permutations of the M scalars
for the N.sub.ap-1 rows. For example, each of rows 2 through
N.sub.ap may be independently multiplied with a scalar of +1, -1,
+j, or -j, where j={square root}{square root over (-1)}. For
N.sub.ap=4 and M=4, 64 different steering matrices may be generated
from the base matrix B with the four different scalars. Additional
steering matrices may be generated with other scalars, e.g.,
e.sup..+-.j3.pi./4, e.sup..+-.j.pi./4, e.sup..+-.j.pi./8, and so
on. In general, each row of the base matrix may be multiplied with
any scalar having the form e.sup.j.theta., where .theta. may be any
phase value. N.sub.ap.times.N.sub.ap steering matrices may be
generated as V(i)=g.sub.N.sub..sub.ap.multidot.B(i), where
g.sub.N.sub..sub.ap=1/{squa- re root}{square root over (N.sub.ap)}
and B(i) is the i-th matrix generated with the base matrix B. The
scaling by g.sub.N.sub..sub.ap ensures that each column of V(i) has
unit power.
[0241] Other schemes may also be used to generate the set of L
steering matrices, and this is within the scope of the invention.
In general, the steering matrices may be generated in a
pseudo-random manner (e.g., such as the first scheme) or a
deterministic manner (e.g., such as the second, third, and fourth
schemes).
[0242] B. Steering Vector Generation
[0243] The steering vectors used for spatial spreading in a MISO
system should have unit energy, which is
.parallel.v(i).parallel..sup.2=v.sup.H(- i).multidot.v(i)=1 for i=1
. . . L, so that the transmit power used for the data symbols is
not varied by the spatial spreading. The elements of each steering
vector v(i) may be defined to have equal magnitude so that the full
transmit power of each access point antenna can be used for
broadcast. This condition may be expressed as:
.vertline.v.sub.1(i).vertl- ine.=.vertline.v.sub.2(i).vertline.= .
. . =.vertline.v.sub.N.sub..sub.ap(- i).vertline., where
v(i)=[v.sub.1(i) v.sub.2(i) . . . v.sub.N.sub..sub.ap(i)]. Some of
the steering vectors may also be uncorrelated so that the
correlation between any two uncorrelated steering vectors is zero
or a low value. This condition may be expressed as:
c(ij)=v.sup.H(i).multidot.v(j).apprxeq.0, for i=1 . . . L, j=1 . .
. L, and i.noteq.j, Eq (31)
[0244] where c(ij) is the correlation between steering vectors v(i)
and v(j).
[0245] The set of L steering vectors {v} may be generated using
various schemes. In a first scheme, the L steering vectors are
generated based on N.sub.ap.times.N.sub.ap matrices G' of random
variables. An N.sub.ap.times.N.sub.ap correlation matrix of each
matrix G' is computed as R'=G'.sup.H.multidot.G' and decomposed as
shown in equation (25) to obtain an N.sub.ap.times.N.sub.ap unitary
matrix E'. Each column of E' may be used as a steering vector
v(i).
[0246] In a second scheme, the L steering vectors are generated by
successively rotating an initial unitary steering vector v(1) as
follows:
v(i+1)=e.sup.j2.pi./L.multidot.v(i), for i=2 . . . L, Eq (32)
[0247] where L.gtoreq.N.sub.ap.
[0248] In a third scheme, the L steering vectors are generated such
that the elements of these vectors have the same magnitude but
different phases. For a given steering vector v(i)=[v.sub.1(i)
v.sub.2(i) . . . v.sub.N.sub..sub.ap(i)], a normalized steering
vector {tilde over (v)}(i) may be formed as:
{tilde over (v)}(i)=[Ae.sup.j.theta..sup..sub.1.sup.(i)
Ae.sup.j.theta..sup..sub.2.sup.(i) . . .
Ae.sup.j.theta..sup..sub.N.sub.a- p.sup.(i)], Eq (33)
[0249] where A is a constant (e.g., A=1/{square root}{square root
over (N.sub.ap)}); and
[0250] .theta..sub.j(i) is the phase of the j-th element of v(i),
which is: 18 j ( i ) = v j ( i ) = tan - 1 ( Im { v j ( i ) } Re {
v j ( i ) } ) . Eq ( 34 )
[0251] The normalized steering vector {tilde over (v)}(i) allows
the full transmit power available for each antenna to be used for
broadcast transmission.
[0252] The columns of the steering matrices generated as described
above may also be used as steering vectors for spatial spreading.
Other schemes may also be used to generate the set of steering
vectors, and this is within the scope of the invention.
[0253] The broadcast transmission 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 processing units used to perform or
support broadcast transmission with spatial spreading at the access
point and the user terminal 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.
[0254] For a software implementation, the broadcast transmission
techniques may be implemented with modules (e.g., procedures,
functions, and so on) that perform the functions described herein.
The software codes may be stored in memory units (e.g., memory
units 442 and 482 in FIG. 4 and memory units 842 and 882 in FIG. 8)
and executed by a processor (e.g., controllers 440 and 480 in FIG.
4 and controllers 840 and 880 in FIG. 8). 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.
[0255] Headings are included herein for reference and to aid in
locating certain sections. These headings are not intended to limit
the scope of the concepts described therein under, and these
concepts may have applicability in other sections throughout the
entire specification.
[0256] 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.
* * * * *