Coding and modulation for multiple data streams in a communication system

Information

  • Patent Grant
  • 8358714
  • Patent Number
    8,358,714
  • Date Filed
    Monday, July 25, 2005
    19 years ago
  • Date Issued
    Tuesday, January 22, 2013
    12 years ago
Abstract
Techniques for transmitting multiple data streams to a single receiver using a single code rate and different modulation schemes are described. Channel estimates are determined for the multiple data streams and used to select a single code rate and multiple modulation schemes for the multiple data streams. The system may support a set of code rates, and each code rate may be associated with a respective set of modulation schemes that may be used with that code rate. The single code rate for all data streams is selected from among the set of supported code rates, and the modulation scheme for each data stream is selected from among the set of modulation schemes associated with the single code rate. The multiple data streams are encoded in accordance with the single code rate. Each data stream is further modulated in accordance with the modulation scheme selected for that stream.
Description
BACKGROUND

I. Field


The present disclosure relates generally to communication, and more specifically to techniques for transmitting multiple data streams in a communication system.


II. Background


In a communication system, a transmitter may transmit multiple data streams via multiple transmission channels to a receiver. The transmitter typically encodes and modulates (or symbol maps) the data for each stream prior to transmission in order to combat deleterious channel conditions. The receiver performs the complementary demodulation and decoding to recover the data sent by the transmitter. The coding and modulation performed by the transmitter have a large impact on the performance of the data transmission.


Rate selection refers to the selection of an appropriate coding and modulation scheme for each data stream to achieve a specified level of performance, which may be quantified by a target packet error rate (PER). Rate selection is challenging because the transmission channels may experience different channel conditions (e.g., different fading, multipath, and interference effects) and may achieve different signal-to-noise-and-interference ratios (SNRs). The SNR of a transmission channel determines its transmission capability, which is typically quantified by a particular data rate that may be reliably sent on the transmission channel. If the SNR varies from transmission channel to transmission channel, then the supported data rate would also vary from channel to channel. Furthermore, if the channel conditions vary with time, then the data rates supported by the transmission channels would also vary with time.


There is therefore a need in the art for techniques to perform coding and modulation for multiple data streams in a manner to achieve good performance and to simplify rate selection.


SUMMARY

Techniques for transmitting multiple data streams to a single receiver using a single code rate and different modulation schemes are described herein. These techniques may simplify encoding and decoding, may simplify rate selection and/or reduce the amount of rate information to send, and may improve performance.


According to an embodiment of the disclosure, an apparatus is described which includes a controller and a processor. The controller obtains a selection of a single code rate and multiple modulation schemes for multiple data streams to be sent to a single receiver. The processor encodes the multiple data streams in accordance with the single code rate and modulates the multiple data streams in accordance with the multiple modulation schemes.


According to another embodiment, an apparatus is described which includes a processor and a controller. The processor determines channel estimates for multiple data streams to be sent to a single receiver. The controller selects a single code rate and multiple modulation schemes for the multiple data streams based on the channel estimates.


Various aspects and embodiments of the disclosure are described in further detail below.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a block diagram of a transmitter and a receiver in a multi-channel communication system according to an embodiment.



FIG. 2 shows a process for transmitting multiple data streams to a single receiver using a single code rate and different modulation schemes according to an embodiment.



FIG. 3 shows a process for selecting the rates for the multiple data streams with independent rate per stream according to an embodiment.



FIG. 4 shows a process for selecting the rates for the multiple data streams with a vector-quantized rate set according to an embodiment.



FIG. 5 shows a block diagram of a transmit (TX) data processor according to an embodiment.





DETAILED DESCRIPTION

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 construed as preferred or advantageous over other embodiments.


The data transmission and rate selection techniques described herein may be used for various multi-channel communication systems with multiple transmission channels. For example, these techniques may be used for a multiple-input multiple-output (MIMO) system, an orthogonal frequency division multiplex (OFDM) system, a MIMO system that utilizes OFDM (which is called a MIMO-OFDM system), a time division multiplex (TDM) system, a frequency division multiplex (FDM) system, a code division multiplex (CDM) system, and so on.


A MIMO system employs multiple (T) transmit antennas at a transmitter and multiple (R) receive antennas at a receiver for data transmission. A MIMO channel formed by the T transmit antennas and the R receive antennas may be decomposed into S spatial channels, where S≦min{T, R}. S transmission channels may be formed with the S spatial channels.


An OFDM system partitions the overall system bandwidth into multiple (K) orthogonal subbands, which are also called tones, subcarriers, bins, and frequency channels. Each subband is associated with a respective carrier that may be modulated with data. Up to K transmission channels may be formed with the K subbands. A MIMO-OFDM system has S spatial channels for each of the K subbands. Up to S·K transmission channels may be formed with the spatial channels of the K subbands in the MIMO-OFDM system.


In general, multiple transmission channels may be formed in the spatial, frequency, time, and/or code domains. For example, the multiple transmission channels may correspond to different spatial channels in a MIMO system, different wideband spatial channels in a MIMO-OFDM system, different subbands in an OFDM or FDM system, different time slots in a TDM system, different code channels in a CDM system, and so on. A transmission channel may also be called a physical channel, a traffic channel, a data channel, a parallel channel, or some other terminology. For clarity, portions of the following description are for a MIMO-OFDM system.



FIG. 1 shows a block diagram of a transmitter 110 and a receiver 150 in a multi-channel communication system 100 according to an embodiment. At transmitter 110, a TX data processor 120 receives traffic/packet data, processes (e.g., encodes, interleaves, and symbol maps) the traffic data in accordance with M rates from a main controller 140, and generates M streams of data symbols, where M>1. As used herein, a data symbol is a modulation symbol for traffic data, a pilot symbol is a modulation symbol for pilot (which is data that is known a priori by both the transmitter and receiver), a modulation symbol is a complex value for a point in a signal constellation for a modulation scheme (e.g., PSK or QAM), a transmit symbol is a symbol to be sent from one transmit antenna on one subband in one symbol period, and a symbol is a complex value. A TX spatial processor 130 multiplexes the M data symbol streams with pilot symbols, performs spatial processing on the data and pilot symbols (e.g., for eigensteering, no steering, or spatial spreading, which are described below), and provides T streams of transmit symbols, where T≧M. The M data symbol streams are for M data streams. The T transmit symbol streams are generated such that the M data streams are sent on M transmission channels.


A transmitter unit (TMTR) 132 processes the T transmit symbol streams (e.g., for OFDM) and generates T modulated signals, which are transmitted from T antennas and via a first communication link 148. Communication link 148 distorts the modulated signals with a channel response and further degrades the modulated signals with additive white Gaussian noise (AWGN) and possibly interference from other transmitters.


At receiver 150, R antennas receive the transmitted signals and provide R received signals to a receiver unit (RCVR) 160. Receiver unit 160 conditions and digitizes the R received signals and further processes the samples in a manner complementary to the processing performed by transmitter unit 132. Receiver unit 160 provides received pilot symbols to a channel estimator/processor 172 and R streams of received data symbols to a receive (RX) spatial processor 170. Channel estimator 172 derives channel estimates for communication link 148 and provides the channel estimates to RX spatial processor 170. RX spatial processor 170 performs receiver spatial processing on the R received data symbol streams with the channel estimates (e.g., using a full-CSI, CCMI, or MMSE technique, as described below) and provides M detected symbol streams, which are estimates of the M data symbol streams sent by transmitter 110. An RX data processor 180 processes (e.g., symbol demaps, deinterleaves, and decodes) the M detected symbol streams in accordance with the M rates selected for these streams and provides decoded data, which is an estimate of the traffic data sent by transmitter 110. RX data processor 180 may further provide decoding results (e.g., the status of each packet) to a rate selector/controller 182.


Main controllers 140 and 190 control the operation of various processing units at transmitter 110 and receiver 150, respectively. Memory units 142 and 192 store data and program codes used by controllers 140 and 190, respectively.


For rate selection/rate control, channel estimator 172 may process the received pilot symbols and possibly the detected data symbols and derive channel estimates, e.g. SNR estimates, for the transmission channels. Rate selector 182 receives the CHANNEL estimates and the decoding results, selects a single code rate for all M data streams and a modulation scheme for each data stream, and provides M rates for the M data streams to controller 190. The rate for each data stream indicates the code rate and the modulation scheme to use for that data stream.


Controller 190 sends rate information (e.g., the M rates) and possibly other information (e.g., acknowledgments (ACKs) for packets decoded correctly) via a second communication link 152 to transmitter 110. Controller 140 at transmitter 110 receives the rate information and provides the M rates to TX data processor 120. FIG. 1 shows the rate selection being performed by receiver 150. In general, the rate selection may be performed by receiver 150, or transmitter 110, or both.


In an aspect, a single code rate is selected for all M data streams and a different modulation scheme may be selected for each data stream. The M rates for the M data streams thus have the same code rate and may have the same or different modulation schemes. The use of a single code rate for all data streams may simplify the encoding at the transmitter and the decoding at the receiver, may simplify rate selection and/or reduce the amount of rate feedback, and may improve performance for the data streams.


The system may support a set of code rates. Each code rate may be associated with a specific coding scheme and a specific amount of redundancy. The supported code rates may be associated with (1) different coding schemes or (2) the same coding scheme but different puncture rates. A coding scheme may comprise a convolutional code, a Turbo code, a block code, some other code, or a combination thereof.


Table 1 shows an exemplary set of rates supported by the system. Each supported rate is associated with a specific data rate, a specific code rate, a specific modulation scheme, and a specific minimum SNR required to achieve the desired level of performance. The data rate may be given in number of information bits per modulation symbol (bits/sym). The desired level of performance may be quantified by a target PER, e.g., 1% PER for a non-fading, AWGN channel. The required SNR for each rate may be obtained via computer simulation, empirical measurements, computation, and/or some other means and for a specific system design (e.g., the specific code rate, interleaving scheme, and modulation scheme used for that rate) and an AWGN channel.


For the example shown in Table 1, four code rates of ¼, ½, ¾ and ⅞ are supported. Modulation schemes of BPSK, QPSK, 16-QAM, 64-QAM, and 256-QAM may be used with code rates ¼, ½ and ¾. Modulation schemes of QPSK, 16-QAM, 64-QAM, and 256-QAM may be used with code rate ⅞. Hence, only certain rates (or code rate and modulation pairs) are allowed. In general, the system may support any set of code rates, which may include code rates not listed in Table 1 such as code rates 7/12, ⅝, ⅚, and so on. Furthermore, the system may allow any set of modulation schemes to be used with each code rate. Table 1 also shows the required SNRs for some rates.









TABLE 1







Rate Set














Data


Required
Data


Required


Rate

MOD
SNR
Rate
Code
MOD
SNR


(bits/sym)
Code Rate
Scheme
(dB)
(bits/sym)
Rate
Scheme
(dB)

















0.25
¼
BPSK
−1.8
0.5
½
BPSK
0.6


0.5
¼
QPSK
1.2
1.0
½
QPSK
2.9


1.0
¼
16-QAM
7.2
2.0
½
16-QAM
8.7


1.5
¼
64-QAM
13.2
3.0
½
64-QAM
14.4


2.0
¼
256-QAM
19.2
4.0
½
256-QAM
19.9


0.75
¾
BPSK
3.8
1.75

QPSK
8.7


1.5
¾
QPSK
6.4
3.5

16-QAM
15.8


3.0
¾
16-QAM
13.6
5.25

64-QAM
22.0


4.5
¾
64-QAM
19.2
7.0

256-QAM
28.0


6.0
¾
256-QAM
26.1










FIG. 2 shows a process 200 for transmitting multiple (M) data streams to a single receiver using a single code rate and different modulation schemes according to an embodiment. A single code rate is selected for all M data streams and a modulation scheme is selected for each data stream based on channel estimates, e.g. SNR estimates, for these data streams (block 210). The estimates for the data streams may be dependent on the number of data streams being transmitted, the receiver spatial processing technique used by the receiver, and so on, as described below. The rate selection may be performed in various manners, as also described below.


The rate selection in block 210 may be performed by the receiver, and the selected rates may be sent back to the transmitter, as shown in FIG. 1. Alternatively, the rate selection may be performed by the transmitter based on information obtained from/for the receiver. For example, in a time division duplexed (TDD) system, the transmit link from the transmitter to the receiver and the receive link from the receiver to the transmitter may be assumed to be reciprocal of one another. In this case, the transmitter may derive channel estimates, e.g. SNR estimates, for the receive link based on a pilot received from the receiver. The transmitter may then derive estimates for the transmit link based on the estimates for the receive link and an asymmetric parameter indicative of the difference, e.g. the differences in the SNRs for the two links. The transmitter may then select the rates for the data streams based on the estimates for the transmit link. The transmitter and receiver may also jointly perform rate selection.


Regardless of how the rate selection is performed, the transmitter obtains the rates selected for the data streams. The transmitter then encodes the traffic data for all data streams in accordance with the single code rate selected for these data streams (block 212). The transmitter then modulates (or symbol maps) the coded data for each data stream in accordance with the modulation scheme selected for that stream (block 214). The transmitter further processes the data streams (e.g., for spatial transmission, OFDM, and so on) and transmits these data streams on multiple transmission channels (block 216).


The rate selection in block 210 may be performed at the start of a data transmission, in each frame or time slot, at designated times, and so on. The coding and modulation for the data streams are adjusted whenever new rates are selected for these data streams.


Different numbers of data streams (e.g., one, two, three, or more data streams) may be transmitted simultaneously. The data streams may interfere with one another, e.g., if these data streams are sent on multiple spatial channels of a MIMO channel. The highest overall throughput may be achieved by transmitting the maximum number of data streams or possibly fewer data streams, depending on the channel conditions and the amount of interference among these data streams.



FIG. 3 shows a process 210a for selecting the rates for the data streams in a system with independent rate per stream according to an embodiment. Process 210a is an embodiment of block 210 in FIG. 2. Process 210a evaluates different numbers of data streams and different code rates and selects the number of data streams and the code rate that provide the highest overall throughput and are supported by the channel conditions. Each different number of data streams is also called a stream combination or a stream hypothesis. The number of stream combinations to evaluate is typically dependent on the number of transmission channels available for data transmission. For example, in a MIMO system with S spatial channels, S stream combinations for 1, 2, . . . , and S data streams may be evaluated. The code rates to evaluate may be code rates ¼, ½, ¾ and ⅞ for the example shown in Table 1.


Initially, a variable max_otp used to store the current highest overall throughput is initialized to zero, or max_otp=0 (block 310). A variable M used to denote the number of data streams to transmit is initialized to one, or M=1 (also block 310).


A loop 320 evaluates one stream combination at a time, starting with the fewest number of data streams (or M=1) for the first iteration of this loop. A stream combination with M data streams is selected for evaluation (block 322). For this stream combination, an SNR estimate is determined for each data stream with the assumption that M data streams will be sent on M transmission channels (block 324). SNR estimation is described below.


A loop 330 evaluates one code rate at a time, e.g., starting with the lowest code rate for the first iteration of this loop. A code rate is selected for evaluation (block 332). For the current code rate, a modulation scheme is selected for each of the M data streams based on the SNR estimate for that data stream and possibly the SNR estimates for the other data streams (block 334). For example, the SNR estimate for each data stream may be compared against the required SNR for each modulation scheme allowed for the current code rate, and the highest order modulation scheme with a required SNR that is less than or equal to the SNR estimate may be selected for that data stream. Other schemes for selecting the modulation schemes for the M data streams are described below.


After selecting the modulation schemes for the M data streams, the data rate for each data stream is determined based on the modulation scheme selected for that data stream and the current code rate. The overall throughput for the current code rate is then computed as the sum of the data rates for the M data streams (block 336). If this overall throughput is greater than the current max_otp, as determined in block 338, then max_otp is updated with this overall throughput, and the current stream combination, the current code rate, and the modulation schemes for the M data streams are saved (block 340).


A determination is then made whether all code rates have been evaluated (block 342). If the answer is ‘No’, then the process returns to block 332 to evaluate another code rate, e.g., the next higher code rate. Otherwise, if all code rates have been evaluated for the current stream combination, then a determination is made whether all stream combinations have been evaluated (block 344). If the answer is ‘No’, then variable M is incremented as M=M+1 (block 346), and the process returns to block 322 to evaluate another stream combination. Otherwise, if all stream combinations have been evaluated, then the stream combination, code rate, and modulation schemes with the highest overall throughput are provided for use (block 348).


Multiple code rates for a given stream combination may have the same highest overall throughput. In this case, the most robust code rate (which is the lowest code rate) among these multiple code rates may be selected. This may be achieved by (1) evaluating the code rates in sequential order starting with the lowest code rate and (2) saving a higher code rate only if the overall throughput is higher, as shown in FIG. 3.


Multiple stream combinations may also have the same highest overall throughput. In an embodiment, the stream combination with the fewest number of data streams is selected when multiple stream combinations have the same highest overall throughput. This may be achieved by (1) evaluating the stream combinations in sequential order starting with the stream combination having the fewest data steams and (2) saving a stream combination only if the overall throughput is higher, as shown in FIG. 3.


In another embodiment, the stream combination with the largest total SNR margin is selected when multiple stream combinations have the same highest overall throughput. The SNR margin for each data stream m may be expressed as:

SNRmargin(m)=SNRest(m)−SNRreq(Rm), for m=1, . . . , M,  Eq (1)

where


Rm is the rate selected for data stream m;


SNRest(m) is the SNR estimate for data stream m;


SNRreq(Rm) is the required SNR for rate Rm; and


SNRmargin(m) is the SNR margin for data stream m.


SNRest(m), SNRreq(Rm), and SNRmargin(m) are given in units of decibel (dB). The total SNR margin for all M data streams may be expressed as:










SNR
total_margin

=




m
=
1

M





SNR
margin



(
m
)


.






Eq






(
2
)








In yet another embodiment, when multiple stream combinations have the same highest overall throughput, a stream combination with more data streams is selected if its total SNR margin exceeds the total SNR margin of another stream combination with fewer data streams by a predetermined amount, which is denoted as Δmargin. In general, when multiple stream combinations have the same highest overall throughput, a steam combination with fewer data streams may be selected to reduce crosstalk among these streams and to simplify the processing at the transmitter and receiver. However, a stream combination with more data streams may be selected if improved performance (higher overall throughput, higher total SNR margin, and so on) can be achieved.


In general, when multiple stream combinations have the same highest overall throughput, any one, any combination, or all of the embodiments/criteria described above (code rate, number of streams, SNR margin, and so on) may be used to select one stream combination. For example, if multiple stream combinations have the same highest overall throughput, then (1) the stream combinations with the smallest number of streams may be selected, then (2) from those selected stream combinations the stream combinations with the highest SNR margin for say the lowest stream may be selected, then (3) from those selected stream combinations the stream combinations with the most robust code rate may be selected, and so on, until only one stream combination is selected.


In an embodiment of rate selection, which is shown in FIG. 3, a modulation scheme is independently selected for each data stream based solely on the SNR estimate for that data stream. This embodiment may be used, e.g., if the system allows for independent rate selection per stream and each data stream is independently encoded (described below). Selecting a modulation scheme with a positive SNR margin for each data stream ensures that each data stream can be reliably received.


In another embodiment of rate selection, the modulation schemes for the M data streams are selected with margin sharing. This embodiment may be used, e.g., if the system allows for independent rate selection per stream and the data streams are jointly encoded (described below). For this embodiment, a modulation scheme is initially selected for each data stream based on the SNR estimate for that data stream, as described above. The SNR margin for each data stream is determined as shown in equation (1). The total SNR margin for all M data streams is then computed as shown in equation (2). The total SNR margin is distributed to one or more data streams to allow a higher order modulation scheme to be selected for each of the one or more data streams, if possible.


The distribution of the total SNR margin may be performed in various manners. In a first scheme for margin sharing, the M data streams are sorted in descending order based on their SNR estimates, from highest to lowest SNR estimates. The sorted data streams are then selected one at a time for possible promotion, starting with the data stream having the highest SNR estimate. A promote SNR is computed for the selected data stream as the difference between the required SNR for the next, higher order modulation scheme (if any) and the required SNR for the modulation scheme initially selected for this data stream. If the promote SNR is less than or equal to the total SNR margin, then the selected data stream is promoted to the next higher order modulation scheme, and the total SNR margin is reduced by the promote SNR. The selected data stream is thus allocated sufficient SNR margin to select the next higher order modulation scheme. The same processing is repeated for each remaining data stream until no data stream can be promoted.


In a second scheme for margin sharing, the M data streams are sorted in ascending order based on their SNR estimates, from lowest to highest SNR estimates. The sorted data streams are then selected one at a time for possible promotion, starting with the data stream having the lowest SNR estimate.


In a third scheme for margin sharing, the M data streams are sorted in ascending order based on their differential SNRs, from lowest to highest differential SNRs. The differential SNR for a data stream is the difference between the required SNR for the next higher order modulation scheme and the SNR estimate for the data stream. The sorted data streams are then selected one at a time for possible promotion, starting with the data stream having the lowest differential SNR. This scheme attempts to promote first the data stream that needs the least amount of SNR margin for promotion, which may improve performance and allow more data streams to be promoted.


In a fourth scheme for margin sharing, the M data streams are sorted in ascending order based on their promote SNRs, from lowest to highest promote SNRs. The sorted data streams are then selected one at a time for possible promotion, starting with the data stream having the lowest promote SNR. This scheme attempts to promote first the data stream having the smallest promote SNR, which may allow more data streams to be promoted.


Other schemes for performing margin sharing may also be used, and this is within the scope of the disclosure. In general, the total SNR margin may be distributed to the M data streams in various order and manners. In an embodiment, a data stream may be promoted to a modulation scheme that is more than one order higher. For example, the selected data stream may be promoted as much as possible based on the total SNR margin. In another embodiment, the amount of SNR margin that may be allocated to a data stream is limited to be within a predetermined value SNRallomax. SNRallomax limits the amount of negative SNR margin observed by any data stream and ensures that no data stream will be sent at a rate with a required SNR that is excessively above the SNR estimate for that data stream. SNRallomax may be a fixed value for all code rates. Alternatively, SNRallomax may be a variable value that is a function of code rate so that a smaller SNRallomax may be used for a less robust code rate (e.g., code rate ⅞) and a larger SNRallomax may be used for a more robust code rate (e.g., code rate ½).


A system may allow only certain combinations of rates, e.g., in order to reduce the amount of rate information to send back to the transmitter. The set of rate combinations allowed by the system is often called a vector-quantized rate set. Table 2 shows an exemplary vector-quantized rate set for a system in which the transmitter can transmit up to four data streams and code rates of ¼, ½ and ¾ may be selected. For each rate combination, the overall throughput (OTP), the number of data streams to transmit (Num Str), the code rate to use for all data streams, and the modulation scheme to use for each data stream are given in Table 2. In Table 2, “B” denotes BPSK, “Q” denotes QPSK, “16” denotes 16-QAM, “64” denotes 64-QAM, and “256” denotes 256-QAM. As an example, for the rate combination with an overall throughput of 19.5 information bits/symbol period, four data streams are transmitted, code rate ¾ is used for all four data streams, 256-QAM is used for data streams 1 and 2, 64-QAM is used for data stream 3, and 16-QAM is used for data stream 4. For rate combinations with just one data stream, all or a subset of the rates shown in Table 1 may be supported. The rate set may also be defined to cover other code rates such as, for example, code rates 7/12, ⅝, ⅚, ⅞, and so on.









TABLE 2







Vector-Quantized Rate Set












Num
Code
MOD for Stream














OTP
Str
Rate
1
2
3
4
















1.0
2
¼
Q
Q




1.5
2
½
Q
B




2.0
2
½
Q
Q




3.0
2
½
16
Q




3.0
2
¾
Q
Q




4.5
2
¾
16
Q


5.25
2
¾
64
B




6.0
2
¾
64
Q




7.5
2
¾
64
16




9.0
2
¾
64
64




9.0
2
¾
256 
16




10.5
2
¾
256 
64




12.0
2
¾
256 
256 




6.0
3
½
64
16
Q



7.0
3
½
64
64
Q



7.0
3
½
256 
16
Q



9.0
3
½
256 
64
16



9.75
3
¾
64
64
B



12.0
3
¾
64
64
16



12.0
3
¾
256 
64
Q



13.5
3
¾
256 
64
16



13.5
3
¾
256 
256 
Q



15.0
3
¾
256 
256 
16



16.5
3
¾
256 
256 
64



7.5
4
½
64
16
Q
B


9.0
4
½
64
64
16
Q


11.0
4
½
64
64
64
16


10.5
4
¾
64
16
Q
Q


13.5
4
¾
64
64
16
Q


13.5
4
¾
256 
64
Q
Q


15.0
4
¾
256 
64
16
Q


18.0
4
¾
256 
64
64
16


19.5
4
¾
256 
256 
64
16


21.0
4
¾
256 
256 
256 
16










FIG. 4 shows a process 210b for selecting the rates for the data streams in a system with a vector-quantized rate set according to an embodiment. Process 210b is another embodiment of block 210 in FIG. 2. Process 210b evaluates different stream combinations and different code rates based on the rate set supported by the system and selects the rate combination that provides the highest overall throughput and is supported by the channel conditions.


Initially, the variable max_otp is initialized to zero, and the variable M is initialized to one (block 410). For the first iteration of loop 420, a stream combination with M data streams is selected for evaluation (block 422), and an SNR estimate is determined for each of the M data streams (block 424). Loop 430 is then performed once for each code rate that may be selected for the current stream combination.


For each iteration of loop 430, a code rate is selected for evaluation, e.g., starting with the lowest code rate allowed for the current stream combination (block 432). For the current code rate, the total SNR margin for each allowed rate combination is determined based on the SNR estimates for the M data streams (block 434). The total SNR margin for a given rate combination with M data streams may be determined as follows. The SNR margin for each data stream m in the rate combination is first computed as shown in equation (1), where SNRreq(Rm) is the required SNR for the rate specified for data stream m by the rate combination. Because the rate for each data stream in the rate combination is specified, the SNR margin for each data stream may be a positive or negative value. If the SNR margin for any data stream in the rate combination is worse than a predetermined value (e.g., −2 dB), then that rate combination may be discarded. This predetermined value may be a fixed value or a variable value that is a function of code rate. For example, a more negative value (e.g., −3 dB) may be used for a more robust code rate (e.g., code rate ½), and a less negative value (e.g., −1 dB) may be used for a less robust code rate (e.g., code rate ¾). The total SNR margin is then computed as the sum of the SNR margins for the M data streams, as shown in equation (2).


The rate combination with the highest overall throughput and a non-negative total SNR margin is identified (block 436). If multiple rate combinations have the same overall throughput, then the rate combination with the largest total SNR margin among these multiple rate combinations is selected. If the highest overall throughput is greater than the current max_otp, as determined in block 438, then max_otp is updated with this overall throughput, and the rate combination with this highest overall throughput is saved (block 440).


A determination is then made whether all code rates have been evaluated (block 442). If the answer is ‘No’, then the process returns to block 432 to evaluate another code rate. Otherwise, if all code rates have been evaluated for the current stream combination, then a determination is made whether all stream combinations have been evaluated (block 444). If the answer is ‘No’, then variable M is incremented as M=M+1 (block 446), and the process returns to block 422 to evaluate another stream combination. Otherwise, if all stream combinations have been evaluated, then the rate combination with the highest overall throughput is provided for use (block 448).


Multiple rate combinations for a given stream combination may achieve the same highest overall throughput and have non-negative total SNR margins. In this case, the rate combination with the most robust code rate or the rate combination with the largest total SNR margin may be selected. Multiple rate combinations for different stream combinations may achieve the same highest overall throughput and have non-negative total SNR margins. In this case, the rate combination with the fewest data streams, the rate combination with the largest total SNR margin, the rate combination with more data streams but a larger total SNR margin by Δmargin, or some other rate combination may be selected.


In another embodiment for selecting rates in a system with a vector-quantized rate set, the rate set is ordered by required SNR for a designated data stream (e.g., the first data stream), for example from lowest required SNR to highest required SNR on the designated data stream. A minimum SNR margin of SNRmarginmin may be imposed on the designated data stream. The rate combinations in the rate set may be evaluated, one at a time, according to the schemes described above and in addition, by comparing the first data stream's SNR margin (which is the required SNR minus the actual SNR for the first data stream) against the minimum SNR margin. Since the rate combinations are ordered by the first data stream's required SNR, from lowest to highest, the SNR margin is progressively worse. Hence, upon encountering a rate combination with the first data stream having an SNR margin worse than the minimum SNR margin, the remaining rate combinations can be ignored since the first data stream for these rate combinations will have SNR margin worse than the minimum SNR margin. This ordering reduces the number of rate combinations that are evaluated. One of the rate combinations whose first data stream's SNR margin is better than SNRmarginmin may then be selected using any of the techniques described above. The rate combinations may be ordered by the required SNR for any data stream, and not necessarily the first data stream. Furthermore, the ordering may be performed across all rate combinations in the rate set or just the rate combinations for each code rate.


In yet another embodiment for selecting rates in a system with a vector-quantized rate set, a total required SNR is computed for each rate combination as the sum of the required SNRs for the rates specified for all of the data streams in that rate combination. The total required SNR and the overall throughput for each rate combination in the rate set may be stored in a look-up table. For rate selection, a total SNR estimate is computed as the sum of the SNR estimates for all M data streams. The rate combination with the highest overall throughput and a total required SNR that is less than or equal to the total SNR estimate is then selected. This embodiment does not limit the amount of SNR margin that may be allocated to each data stream.


Exemplary embodiments for performing rate selection for a system with independent rate per stream and a system with a vector-quantized rate set have been described above. The rate selection may also be performed in other manners, with and without margin sharing.



FIG. 5 shows a block diagram of an embodiment of TX data processor 120 at transmitter 110 according to an embodiment. TX data processor 120 includes an encoder 510, a demultiplexer (Demux) 520, and M pairs of interleaver 522 and symbol mapping unit 524 for the M data streams. Encoder 510 encodes the traffic data in accordance with the single code rate and generates code bits. The single code rate may include a convolutional code, a Turbo code, a low density parity check (LDPC) code, a cyclic redundancy check (CRC) code, a block code, and so on, or a combination thereof. In an embodiment, encoder 510 implements a rate ½ binary convolutional encoder that generates two code bits for each data bit. A puncturing unit (not shown in FIG. 5) then punctures or deletes as many code bits as necessary to achieve the single code rate. Demultiplexer 520 receives the code bits from encoder 510, demultiplexes the code bits into M streams, and provides the M code bit streams to M interleavers 522a through 522m.


Encoder 510 encodes each packet of traffic data separately and the coded packet may be sent on one or multiple data streams. If each of the M data streams is independently encoded and modulated, then encoder 510 may be operated M times to separately encode the packets for the M data streams, and demultiplexer 520 provides each coded packet to one interleaver 522 for one data stream. Alternatively, M separate encoders may be used for the M data streams (not shown in FIG. 5). If the M data streams are jointly encoded but independently modulated, then encoder 510 encodes each packet, and demultiplexer 520 partitions each coded packet into multiple subpackets or blocks and provides these subpackets to different interleavers 522. In any case, each interleaver 522 interleaves or reorders the code bits in its stream in accordance with an interleaving scheme and provides interleaved bits to an associated symbol mapping unit 524. Each symbol mapping unit 524 maps the interleaved bits in accordance with the modulation scheme selected for its stream and provides a stream of data symbols. M symbol mapping units 524a through 524m provide M data symbol streams.


The data transmission and rate selection techniques described herein may be used for various systems and various types of transmission channels. The frequency response of a frequency-selective transmission channel m may be given by hm(k) for k=1, . . . , K, where hm(k) is the complex channel gain for subband k of transmission channel m. The received SNR for each subband k of transmission channel m, γm(k), may be expressed as:












γ
m



(
k
)


=

10







log
10

(



P
m



(
k
)


·






h
m



(
k
)




2


N
0



)



,






for





k

=
1

,





,


K





and





m

=
1

,





,
S
,




Eq






(
3
)









where Pm(k) is the transmit power used for subband k of transmission channel m and N0 is the noise variance at the receiver. Equation (3) shows an exemplary expression for received SNR. In general, a received SNR expression may include terms for various factors. For example, in a MIMO system, the received SNR is dependent on the spatial processing performed by the transmitter and the receiver, as described below. The received SNR in equation (3) and other SNR quantities in the following description are given in units of dB.


One data stream may be sent on each transmission channel. An SNR estimate may be derived for each data stream/transmission channel in various manners. An embodiment for deriving the SNR estimate is described below. For this embodiment, the average SNR for each data stream m, γavg,m, is computed as:










γ

avg
,
m


=


1
K

·




k
=
1

K





γ
m



(
k
)


.







Eq






(
4
)









The variance of the received SNRs for each data stream m, σsnr,m2, may be computed as:










σ

snr
,
m

2

=


1

(

K
-
1

)


·




k
=
1

K





(



γ
m



(
k
)


-

γ

avg
,
m



)

2

.







Eq






(
5
)









The SNR estimate for each data stream m, SNRest(m), may then be computed as:

SNRest(m)=γavg,m−γbo,m,  Eq (6)

where γbo,m is a back-off factor for data stream m. The back-off factor γbo,m may be used to account for variability in the received SNRs across the data stream and may be computed as a function of the average SNR and the SNR variance, e.g., γos,m=Kbo·σsnr,m2 where Kbo is a constant. The back-off factor may also account for other factors such as, for example, the diversity order for the data stream, the coding and interleaving schemes used for the data stream, the packet size, and so on.


For a MIMO-OFDM system, the MIMO channel between the transmitter and the receiver may be characterized by a set of K channel response matrices, H(k) for k=1, . . . , K. Each channel response matrix H(k) has a dimension of R×T and contains a complex gain between each transmit antenna and each receive antenna for subband k. Each matrix H(k) includes S spatial channels, where S≦min{T, R}. Up to S wideband spatial channels may be formed for the MIMO channel, where each wideband spatial channel includes one spatial channel for each of the K subbands. For example, each wideband spatial channel may correspond to the K subbands of one transmit antenna. As another example, each wideband spatial channel may include one eigenmode for each of the K subbands. Each wideband spatial channel may be used as a transmission channel.


For MIMO and MIMO-OFDM systems, different transmission channels may be formed with the transmitter performing different spatial processing. For example, the transmitter may perform eigensteering, no steering, or spatial spreading.


For eigensteering, the channel response matrix H(k) for each subband may be diagonalized by performing eigenvalue decomposition, as follows:

R(k)=HH(kH(k)=E(kΛ(kEH(k),  Eq (7)

where E(k) is a unitary matrix of eigenvectors, Λ(k) is a diagonal matrix, and “H” denotes the conjugate transpose. The transmitter may transmit data on up to S orthogonal spatial channels (or eigenmodes) of each subband k using E(k). The diagonal matrix Λ(k) for each subband k contains the power gains for the S eigenmodes of H(k). The channel response matrix H(k) for each subband may also be diagonalized by performing singular value decomposition, as follows:

H(k)=U(kΣ(kEH(k),  Eq (8)

where U(k) is a unitary matrix of left singular vectors, E(k) is a unitary matrix of right singular vectors (which is also the matrix of eigenvectors), and Σ(k) is a diagonal matrix of channel gains for the S eigenmodes of H(k).


For no steering, the transmitter transmits data without any spatial processing, e.g., transmits one data stream from each transmit antenna. For spatial spreading, the transmitter transmits data with different steering matrices V(k) across subbands and/or symbol periods so that the data transmission observes an ensemble of effective channels.


Table 3 shows the spatial processing performed by the transmitter for eigensteering (“es”), no steering (“ns”), and spatial spreading (“ss”) for one subband, with subband index k being omitted for clarity. s is a vector with up to S data symbols to be sent on one subband in one symbol period. xx is a vector with up to T transmit symbols to be sent from the T transmit antennas on one subband in one symbol period for mode x, where x may be “es”, “ns” or “ss”. Hx is an effective channel response matrix observed by the data vector s for mode x.









TABLE 3







Transmitter Spatial Processing













Spatial



Eigensteering
No Steering
Spreading
















Spatial
Xes = E · s
Xns = s
Xss = V · s



Processing



Effective
Hes = H · E
Hns = H
Hss = H · V



Channel










The received symbols obtained by the receiver may be expressed as:

rx=H·xx+n=Hx·s+n,  Eq (9)

where rx is a vector of received symbols for mode x and n is a vector of noise, which may be assumed to be AWGN with a variance of σn2.


Table 4 shows the spatial processing performed by the receiver to obtain detected symbols ŝ, which are estimates of the data symbols s. The full channel state information (full-CSI) technique may be used for eigensteering. The channel correlation matrix inversion (CCMI) and the minimum mean square error (MMSE) techniques may be used for eigensteering, no steering, and spatial spreading. For each technique, the receiver derives a spatial filter matrix M for each subband based on the actual or effective channel response matrix for that subband. The receiver then performs spatial matched filtering on the received symbols with the spatial filter matrix.









TABLE 4







Receiver Spatial Processing










Receiver Spatial Processing
Received SNR













Full-CSI









M
_

es

=



Λ
_


-
1


·


E
_

H

·


H
_

H











s
_

^

es

=



M
_

es

·


r
_

es















γ

es
,
m




(
k
)


=

10



log
10



(




P
m



(
k
)


·


λ
m



(
k
)




σ
n
2


)












CCMI









M
_

ccmi

=



[



H
_

x
H

·


H
_

x


]


-
1


·


H
_

x
H











s
^

_

ccmi

=



M
_

ccmi

·


r
_

x















γ

ccmi
,
m




(
k
)


=

10



log
10



(



P
m



(
k
)





r
m



(
k
)


·

σ
n
2



)












MMSE









M
_

mmse

=



[




H
_

x
H

·


H
_

x


+


σ
n
2

·

I
_



]


-
1


·


H
_

x
H










D
_

mmse

=


[

diag




[



M
_

mmse

·


H
_

x


]

]


-
1











s
^

_

mmse

=



D
_

mmse

·


M
_

mmse

·


r
_

x















γ

mmse
,
m




(
k
)


=

10



log
10



(




q
m



(
k
)



1
-


q
m



(
k
)







P
m



(
k
)



)
















Table 4 also shows the received SNR for each subband k of transmission channel m for the three receiver spatial processing techniques. For the full-CSI technique, λm(k) is the m-th diagonal element of Λ(k). For the CCMI technique, rm(k) is the m-th diagonal element of Rx−1(k)=[HxH(k)·Hx(k)]−1. For the MMSE technique, qm(k) is the m-th diagonal element of Mmmse(k)·Hx(k). As indicated in Table 4, the received SNRs for each transmission channel are dependent on the MIMO channel response, the receiver spatial processing technique used by the receiver, and the transmit power allocated to the transmission channel. The total transmit power Ptotal is typically fixed for the transmitter. The amount of transmit power Pm allocated to each transmission channel m may be dependent on the number of data streams to transmit, e.g., Pm=Ptotal/M. The received SNRs for each transmission channel may be used to derive the SNR estimate for that transmission channel, as described above for equations (3) through (6).


The data transmission and rate selection 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 process data for transmission (e.g., TX data processor 120 in FIGS. 1 and 5) 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, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof. The processing units used for rate selection (e.g., rate selector/controller 182 in FIG. 1) may also be implemented within one or more ASICs, DSPs, processors, and so on.


For a software implementation, the techniques described herein 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 a memory unit (e.g., memory unit 142 or 192 in FIG. 1) and executed by a processor (e.g., main controller 140 or 190). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.


The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. 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 disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims
  • 1. An apparatus comprising: a controller operative to obtain a selection of a single code rate and a plurality of modulation schemes for a plurality of data streams to be sent to a single receiver, wherein a modulation scheme for each of the plurality of data streams is selected from among a set of modulation schemes associated with the single code rate; anda processor operative to encode the plurality of data streams in accordance with the single code rate and to modulate the plurality of data streams in accordance with the plurality of modulation schemes said processor further operative to jointly encode the plurality of data streams in accordance with the single code rate and to independently modulate the plurality of data streams in accordance with the plurality of modulation schemes.
  • 2. The apparatus of claim 1, wherein the plurality of data streams is constrained to one code rate selected from among a plurality of code rates, wherein each of the plurality of code rates is associated with a respective set of modulation schemes, wherein the single code rate is the one code rate selected from among the plurality of code rates.
  • 3. The apparatus of claim 1, wherein the single code rate and the plurality of modulation schemes are for a rate combination selected from among a plurality of rate combinations.
  • 4. The apparatus of claim 1, wherein the controller is operative to receive the selection of the single code rate and the plurality of modulation schemes from the single receiver.
  • 5. The apparatus of claim 1, wherein the controller is operative to determine signal-to-noise-and-interference ratio (SNR) estimates for the plurality of data streams and to select the single code rate and the plurality of modulation schemes based on the SNR estimates.
  • 6. The apparatus of claim 1, wherein the processor is operative to encode and modulate each of the plurality of data streams independently.
  • 7. The apparatus of claim 1, further comprising: a second processor operative to spatially process the plurality of data streams for transmission via a plurality of spatial channels in a multiple-input multiple-output (MIMO) channel.
  • 8. A method of transmitting data in a communication system, comprising: obtaining a selection of a single code rate and a plurality of modulation schemes for a plurality of data streams to be sent to a single receiver, wherein a modulation scheme for each of the plurality of data streams is selected from among a set of modulation schemes associated with the single code rate;encoding the plurality of data streams in accordance with the single code rate, wherein said encoding comprises jointly encoding the plurality of data streams in accordance with the single code rate; andmodulating the plurality of data streams in accordance with the plurality of modulation schemes, wherein said modulating comprises independently modulating the plurality of data streams in accordance with the plurality of modulation schemes.
  • 9. The method of claim 8, further comprising: spatially processing the plurality of data streams for transmission via a plurality of spatial channels in a multiple-input multiple-output (MIMO) channel.
  • 10. An apparatus comprising: means for obtaining a selection of a single code rate and a plurality of modulation schemes for a plurality of data streams to be sent to a single receiver, wherein a modulation scheme for each of the plurality of data streams is selected from among a set of modulation schemes associated with the single code rate;means for encoding the plurality of data streams in accordance with the single code rate, wherein said means for encoding is configured to jointly encode the plurality of data streams in accordance with the single code rate; andmeans for modulating the plurality of data streams in accordance with the plurality of modulation schemes, wherein said means for modulating is configured to independently modulate the plurality of data streams in accordance with the plurality of modulation schemes.
  • 11. The apparatus of claim 10, further comprising: means for spatially processing the plurality of data streams for transmission via a plurality of spatial channels in a multiple-input multiple-output (MIMO) channel.
  • 12. An apparatus comprising: a processor operative to determine channel estimates for a plurality of data streams to be sent to a single receiver; anda controller operative to select a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, said controller further operative to jointly encode the plurality of data streams in accordance with the single code rate and to independently modulate the plurality of data streams in accordance with the plurality of modulation schemes, wherein a modulation scheme for each of the plurality of data streams is selected from among a set of modulation schemes associated with the single code rate.
  • 13. The apparatus of claim 12, wherein the controller is operative to select one code rate from among a plurality of code rates and to provide the one code rate as the single code rate for the plurality of data streams.
  • 14. The apparatus of claim 13, wherein each of the plurality of code rates is associated with a respective set of modulation schemes.
  • 15. The apparatus of claim 12, wherein the controller is operative to select a modulation scheme for each of the plurality of data streams to achieve a non-negative SNR margin for the data stream.
  • 16. An apparatus comprising: a processor operative to determine channel estimates for a plurality of data streams to be sent to a single reciever; anda controller operative to select a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, wherein the channel estimates comprises a signal-to-noise-and-interference ratio (SNR) estimates and wherein the controller is operative to select the plurality of modulation schemes for the plurality of data streams such that at least one data stream has negative SNR margin and the plurality of data streams has a non-negative total SNR margin.
  • 17. The apparatus of claim 16, wherein the controller is operative to limit the negative SNR margin for each of the at least one data stream to be within a predetermined value.
  • 18. The apparatus of claim 17, wherein the predetermined value is determined by the single code rate selected for the plurality of data streams.
  • 19. The apparatus of claim 17, wherein the predetermined value is determined by the single code rate selected for the plurality of data streams, an index of each of the plurality of data streams, modulation selected for each data stream, the number of data streams being transmitted, or a combination thereof.
  • 20. An apparatus comprising: a processor operative to determine channel estimates for a plurality of data streams to be sent to a single receiver, anda controller operative to select a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, wherein the channel estimates comprises a signal-to-noise-and-interference ratio (SNR) estimates and wherein the controller is operative to determine an overall throughput and a total SNR margin for each of a plurality of code rates, to select a code rate having a highest overall throughput and a non-negative total SNR margin among the plurality of code rates, and to provide the selected code rate as the single code rate for the plurality of data streams.
  • 21. The apparatus of claim 20, wherein the controller is operative to select a lowest code rate among multiple code rates having the highest overall throughput.
  • 22. An apparatus comprising: a processor operative to determine channel estimates for a plurality of data streams to be sent to a single receiver; anda controller operative to select a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, wherein the channel estimates comprises a signal-to-noise-and-interference ratio (SNR) estimates and wherein the processor is operative to determine received SNRs for a plurality of frequency subbands for each of the plurality of data streams and to determine an SNR estimate for each data stream based on the received SNRs for the data stream.
  • 23. A method of performing rate selection in a communication system, comprising: determining channel estimates for a plurality of data streams to be sent to a single receiver;selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, wherein a modulation scheme for each of the plurality of data streams is selected from among a set of modulation schemes associated with the single code rate;encoding the plurality of data streams in accordance with the single code rate, wherein said encoding comprises jointly encoding the plurality of data streams in accordance with the single code rate; andmodulating the plurality of data streams in accordance with the plurality of modulation schemes, wherein said modulating comprises independently modulating the plurality of data streams in accordance with the plurality of modulation schemes.
  • 24. The method of claim 23, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates and wherein the selecting the single code rate and the plurality of modulation schemes comprises: selecting a modulation scheme for each of the plurality of data streams to achieve a non-negative SNR margin for the data stream.
  • 25. A method of performing rate selection in a communication system, comprising: determining channel estimates for a plurality of data streams to be sent to a single receiver; selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates;encoding the plurality of data streams in accordance with the single code rate; andmodulating the plurality of data streams in accordance with the plurality of modulation schemes,wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates and wherein the selecting the single code rate and the plurality of modulation schemes comprises:selecting the plurality of modulation schemes for the plurality of data streams such that at least one data stream has negative SNR margin and the plurality of data streams have a non-negative total SNR margin.
  • 26. A method of performing rate selection in a communication system, comprising: determining channel estimates for a plurality of data streams to be sent to a single receiver; selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates;encoding the plurality of data streams in accordance with the single code rate; andmodulating the plurality of data streams in accordance with the plurality of modulation schemes,wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates and wherein the selecting the single code rate and the plurality of modulation schemes comprises:determining an overall throughput and a total SNR margin for each of a plurality of code rates, andselecting a code rate having a highest overall throughput and a non-negative total SNR margin among the plurality of code rates, wherein the single code rate is the selected code rate.
  • 27. An apparatus comprising: means for determining channel estimates for a plurality of data streams to be sent to a single receiver; andmeans for selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, said means for selecting a single code rate operative to jointly encode the plurality of data streams in accordance with the single code rate and to independently modulate the plurality of data streams in accordance with the plurality of modulation schemes, wherein a modulation scheme for each of the plurality of data streams is selected from among a set of modulation schemes associated with the single code rate.
  • 28. The apparatus of claim 27, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates and wherein the means for selecting the single code rate and the plurality of modulation schemes comprises: means for selecting a modulation scheme for each of the plurality of data streams to achieve a non-negative SNR margin for the data stream.
  • 29. An apparatus comprising: means for determing channel estimates for a plurality of data streams to be sent to a single receiver; andmeans for selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates,wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates and wherein the means for selecting the single code rate and the plurality of modulation schemes comprises:means for selecting the plurality of modulation schemes for the plurality of data streams such that at least one data stream has negative SNR margin and the plurality of data streams have a non-negative total SNR margin.
  • 30. An apparatus comprising: means for selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates,wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates and wherein the means for selecting the single code rate and the plurality of modulation schemes comprises:means for determining an overall throughput and a total SNR margin for each of a plurality of code rates, andmeans for selecting a code rate having a highest overall throughput and a non-negative total SNR margin among the plurality of code rates, wherein the single code rate is the selected code rate.
  • 31. A processor readable non-transitory media encoded with a computer program, the computer program comprising instructions for: determining channel estimates for a plurality of data streams to be sent to a single receiver;selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, wherein a modulation scheme for each of the plurality of data streams is selected from among a set of modulation schemes associated with the single code rate;encoding, jointly, the plurality of data streams in accordance with the single code rate; andmodulating, independently, the plurality of data streams in accordance with the plurality of modulation schemes.
  • 32. An apparatus comprising: a processor operative to determine channel estimates for a plurality of data streams to be sent to a single receiver, wherein the channel estimates comprises a signal-to-noise-and-interference ratio (SNR) estimates; anda controller operative to select a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, wherein the controller is operative to determine an overall throughput and a total SNR margin for each of a plurality of code rates for each of a plurality of stream combinations, to select a code rate and a stream combination having a highest overall throughput and a non-negative total SNR margin among the plurality of code rates and the plurality of stream combinations, and to provide the selected code rate as the single code rate, wherein each stream combination corresponds to a different number of data streams, and wherein the plurality of data streams are for the selected stream combination.
  • 33. The apparatus of claim 32, wherein the controller is operative to select a stream combination with fewest data streams among multiple stream combinations having the highest overall throughput.
  • 34. An apparatus comprising: a processor operative to determine channel estimates for a plurality of data streams to be sent to a single receiver wherein the channel estimates comprises a signal-to-noise-and-interference ratio (SNR) estimates; anda controller operative to select a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, wherein the controller is operative to determine a total SNR margin for each of a plurality of rate combinations, to select a rate combination having a highest overall throughput and a non-negative total SNR margin among the plurality of rate combinations, and to obtain the single code rate and the plurality of modulation schemes from the selected rate combination, wherein each rate combination is associated with a specific number of data streams, a specific code rate for all of the data streams, a specific modulation scheme for each of the data streams, and a specific overall throughput for all of the data streams.
  • 35. The apparatus of claim 34, wherein the controller is operative to select a rate combination with fewest data streams among multiple rate combinations having the highest overall throughput.
  • 36. The apparatus of claim 34, wherein the controller is operative to select a rate combination with a largest total SNR margin among multiple rate combinations having the highest overall throughput.
  • 37. The apparatus of claim 34, further comprising: a memory configured to store a look-up table of the plurality of rate combinations arranged in an order determined by a required SNR for one data stream in each of the plurality of rate combinations, and wherein the controller is operative to select the rate combination based on the look-up table.
  • 38. A method of performing rate selection in a communication system, comprising: determining channel estimates for a plurality of data streams to be sent to a single receiver, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates; andselecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates by:determining an overall throughput and a total SNR margin for each of a plurality of code rates for each of a plurality of stream combinations, wherein each stream combination corresponds to a different number of data streams,selecting a code rate and a stream combination having a highest overall throughput and a non-negative total SNR margin among the plurality of code rates and the plurality of stream combinations, wherein the single code rate is the selected code rate and the plurality of data streams are for the selected stream combination;encoding data streams of the selected stream combination in accordance with the selected code rate; andmodulating the data streams of the selected stream combination in accordance with the selected plurality of modulation schemes.
  • 39. A method of performing rate selection in a communication system, comprising: determining channel estimates for a plurality of data streams to be sent to a single receiver, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates; andselecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates by:determining a total SNR margin for each of a plurality of rate combinations, wherein each rate combination is associated with a specific number of data streams to transmit, a specific code rate for all of the data streams, a specific modulation scheme for each of the data streams, and a specific overall throughput for all of the data streams, andselecting a rate combination having a highest overall throughput and a non-negative total SNR margin among the plurality of rate combinations, wherein the single code rate and the plurality of modulation schemes are for the selected rate combination.
  • 40. An apparatus comprising: means for determining channel estimates for a plurality of data streams to be sent to a single receiver, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates; andmeans for selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates comprisingmeans for determining an overall throughput and a total SNR margin for each of a plurality of code rates for each of a plurality of stream combinations, wherein each stream combination corresponds to a different number of data streams, andmeans for selecting a code rate and a stream combination having a highest overall throughput and a non-negative total SNR margin among the plurality of code rates and the plurality of stream combinations, wherein the single code rate is the selected code rate and the plurality of data streams are for the selected stream combination.
  • 41. An apparatus comprising: means for determining channel estimates for a plurality of data streams to be sent to a single receiver, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates; andmeans for selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates, comprisingmeans for determining a total SNR margin for each of a plurality of rate combinations, wherein each rate combination is associated with a specific number of data streams, a specific code rate for all of the data streams, a specific modulation scheme for each of the data streams, and a specific overall throughput for all of the data streams, andmeans for selecting a rate combination having a highest overall throughput and a non-negative total SNR margin among the plurality of rate combinations, wherein the single code rate and the plurality of modulation schemes are for the selected rate combination.
  • 42. A computer-program product for performing rate selection in a communication system comprising a computer readable non-transitory medium having instructions stored thereon, the instructions being executable by one or more processors and the computer program comprising instructions for: instructions for determining channel estimates for a plurality of data streams to be sent to a single receiver, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates; andinstructions for selecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates by:determining an overall throughput and a total SNR margin for each of a plurality of code rates for each of a plurality of stream combinations, wherein each stream combination corresponds to a different number of data streams, andselecting a code rate and a stream combination having a highest overall throughput and a non-negative total SNR margin among the plurality of code rates and the plurality of stream combinations, wherein the single code rate is the selected code rate and the plurality of data streams are for the selected stream combination.
  • 43. A computer-program product for performing rate selection in a communication system comprising a computer readable non-transitory medium having instructions stored thereon, the instructions being executable by one or more processors and the computer program comprising instructions for: determining channel estimates for a plurality of data streams to be sent to a single receiver, wherein the channel estimates comprise signal-to-noise-and-interference ratio (SNR) estimates; andselecting a single code rate and a plurality of modulation schemes for the plurality of data streams based on the channel estimates by:determining a total SNR margin for each of a plurality of rate combinations, wherein each rate combination is associated with a specific number of data streams to transmit, a specific code rate for all of the data streams, a specific modulation scheme for each of the data streams, and a specific overall throughput for all of the data streams, andselecting a rate combination having a highest overall throughput and a non-negative total SNR margin among the plurality of rate combinations, wherein the single code rate and the plurality of modulation schemes are for the selected rate combination.
CLAIM OF PRIORITY UNDER 35 U.S.C. §119

The present Application for Patent claims priority to Provisional Application Ser. No. 60/691,461, entitled “Coding and Modulation for Multiple Data Streams in a Communication System,” filed Jun. 16, 2005, assigned to the assignee hereof, and expressly incorporated herein by reference.

US Referenced Citations (362)
Number Name Date Kind
4736371 Tejima et al. Apr 1988 A
4750198 Harper Jun 1988 A
4797879 Habbab et al. Jan 1989 A
5241544 Jasper et al. Aug 1993 A
5295159 Kerpez Mar 1994 A
5404355 Raith Apr 1995 A
5471647 Gerlach et al. Nov 1995 A
5479447 Chow et al. Dec 1995 A
5493712 Ramesh et al. Feb 1996 A
5506861 Bottomley Apr 1996 A
5509003 Snijders et al. Apr 1996 A
5606729 Damico et al. Feb 1997 A
5638369 Ayerst et al. Jun 1997 A
5677909 Heide Oct 1997 A
5729542 Dupont Mar 1998 A
5790550 Peeters et al. Aug 1998 A
5818813 Saito et al. Oct 1998 A
5822374 Levin Oct 1998 A
5832387 Bae et al. Nov 1998 A
5867478 Baum et al. Feb 1999 A
5867539 Koslov Feb 1999 A
5886988 Yun et al. Mar 1999 A
5959965 Ohkubo et al. Sep 1999 A
5973638 Robbins et al. Oct 1999 A
5982327 Vook et al. Nov 1999 A
6049548 Bruno et al. Apr 2000 A
6072779 Tzannes et al. Jun 2000 A
6084915 Williams Jul 2000 A
6097771 Foschini Aug 2000 A
6115354 Weck Sep 2000 A
6122247 Levin et al. Sep 2000 A
6131016 Greenstein et al. Oct 2000 A
6141388 Servais et al. Oct 2000 A
6141542 Kotzin et al. Oct 2000 A
6141567 Youssefmir et al. Oct 2000 A
6144711 Raleigh et al. Nov 2000 A
6163296 Lier et al. Dec 2000 A
6167031 Olofsson et al. Dec 2000 A
6178196 Naguib et al. Jan 2001 B1
6205410 Cai Mar 2001 B1
6222888 Kao et al. Apr 2001 B1
6232918 Wax et al. May 2001 B1
6266528 Farzaneh Jul 2001 B1
6275543 Petrus et al. Aug 2001 B1
6278726 Mesecher et al. Aug 2001 B1
6292917 Sinha et al. Sep 2001 B1
6298035 Heiskala Oct 2001 B1
6298092 Heath, Jr. et al. Oct 2001 B1
6308080 Burt et al. Oct 2001 B1
6314113 Guemas Nov 2001 B1
6314289 Eberlein et al. Nov 2001 B1
6317612 Farsakh Nov 2001 B1
6330277 Gelblum et al. Dec 2001 B1
6330293 Klank et al. Dec 2001 B1
6330462 Chen Dec 2001 B1
6333953 Bottomley et al. Dec 2001 B1
6339399 Andersson et al. Jan 2002 B1
6345036 Sudo et al. Feb 2002 B1
6346910 Ito Feb 2002 B1
6351499 Paulraj et al. Feb 2002 B1
6363267 Lindskog et al. Mar 2002 B1
6369758 Zhang Apr 2002 B1
6377812 Rashid-Farrokhi et al. Apr 2002 B1
6385264 Terasawa et al. May 2002 B1
6426971 Wu et al. Jul 2002 B1
6452981 Raleigh et al. Sep 2002 B1
6463290 Stilp et al. Oct 2002 B1
6473467 Wallace et al. Oct 2002 B1
6478422 Hansen Nov 2002 B1
6492942 Kezys Dec 2002 B1
6510184 Okamura Jan 2003 B1
6515617 Demers et al. Feb 2003 B1
6532225 Chang et al. Mar 2003 B1
6532255 Gunzelmann et al. Mar 2003 B1
6532562 Chou et al. Mar 2003 B1
6545997 Bohnke et al. Apr 2003 B1
6574211 Padovani et al. Jun 2003 B2
6574267 Kanterakis et al. Jun 2003 B1
6574271 Mesecher et al. Jun 2003 B2
6594473 Dabak et al. Jul 2003 B1
6594798 Chou et al. Jul 2003 B1
6597682 Kari Jul 2003 B1
6608874 Beidas et al. Aug 2003 B1
6611231 Crilly, Jr. et al. Aug 2003 B2
6615024 Boros et al. Sep 2003 B1
6631121 Yoon Oct 2003 B1
6636496 Cho et al. Oct 2003 B1
6636568 Kadous Oct 2003 B2
6654590 Boros et al. Nov 2003 B2
6654613 Maeng et al. Nov 2003 B1
6668161 Boros et al. Dec 2003 B2
6683916 Sartori et al. Jan 2004 B1
6690660 Kim et al. Feb 2004 B2
6693992 Jones et al. Feb 2004 B2
6697346 Halton et al. Feb 2004 B1
6711121 Gerakoulis et al. Mar 2004 B1
6728233 Park et al. Apr 2004 B1
6731668 Ketchum May 2004 B2
6735188 Becker et al. May 2004 B1
6738020 Lindskog et al. May 2004 B1
6744811 Kantschuk Jun 2004 B1
6751444 Meiyappan Jun 2004 B1
6751480 Kogiantis et al. Jun 2004 B2
6757263 Olds Jun 2004 B1
6760313 Sindhushayana et al. Jul 2004 B1
6760388 Ketchum et al. Jul 2004 B2
6760882 Gesbert et al. Jul 2004 B1
6768727 Sourour et al. Jul 2004 B1
6771706 Ling et al. Aug 2004 B2
6785341 Walton et al. Aug 2004 B2
6785513 Sivaprakasam Aug 2004 B1
6788948 Lindskog et al. Sep 2004 B2
6792041 Kim et al. Sep 2004 B1
6795424 Kapoor et al. Sep 2004 B1
6798738 Do et al. Sep 2004 B1
6801790 Rudrapatna Oct 2004 B2
6802035 Catreux et al. Oct 2004 B2
6804191 Richardson Oct 2004 B2
6821535 Nurmi et al. Nov 2004 B2
6847828 Miyoshi et al. Jan 2005 B2
6850252 Hoffberg Feb 2005 B1
6850498 Heath et al. Feb 2005 B2
6859503 Pautler et al. Feb 2005 B2
6862271 Medvedev et al. Mar 2005 B2
6862440 Sampath Mar 2005 B2
6868079 Hunt Mar 2005 B1
6873651 Tesfai et al. Mar 2005 B2
6879578 Pan et al. Apr 2005 B2
6879579 Myles et al. Apr 2005 B1
6885708 Thomas et al. Apr 2005 B2
6888809 Foschini et al. May 2005 B1
6888899 Raleigh et al. May 2005 B2
6891858 Mahesh et al. May 2005 B1
6920192 Laroia et al. Jul 2005 B1
6920194 Stopler et al. Jul 2005 B2
6927728 Vook et al. Aug 2005 B2
6937592 Heath, Jr. et al. Aug 2005 B1
6940917 Menon et al. Sep 2005 B2
6950632 Yun et al. Sep 2005 B1
6952426 Wu et al. Oct 2005 B2
6952454 Jalali et al. Oct 2005 B1
6956813 Fukuda Oct 2005 B2
6956906 Tager et al. Oct 2005 B2
6959171 Tsien et al. Oct 2005 B2
6963742 Boros et al. Nov 2005 B2
6965762 Sugar et al. Nov 2005 B2
6980601 Jones Dec 2005 B2
6980800 Noerpel et al. Dec 2005 B2
6985434 Wu et al. Jan 2006 B2
6985534 Meister Jan 2006 B1
6987819 Thomas et al. Jan 2006 B2
6990059 Anikhindi et al. Jan 2006 B1
6992972 Van Nee Jan 2006 B2
6996380 Dent Feb 2006 B2
7003044 Subramanian et al. Feb 2006 B2
7006464 Gopalakrishnan et al. Feb 2006 B1
7006483 Nelson, Jr. et al. Feb 2006 B2
7009931 Ma et al. Mar 2006 B2
7012978 Talwar Mar 2006 B2
7020110 Walton et al. Mar 2006 B2
7020482 Medvedev et al. Mar 2006 B2
7020490 Khatri Mar 2006 B2
7023826 Sjoberg et al. Apr 2006 B2
7031671 Mottier Apr 2006 B2
7035359 Molnar Apr 2006 B2
7039125 Friedman May 2006 B2
7058367 Luo et al. Jun 2006 B1
7062294 Rogard et al. Jun 2006 B1
7068628 Li et al. Jun 2006 B2
7072381 Atarashi et al. Jul 2006 B2
7072410 Monsen Jul 2006 B1
7072413 Walton et al. Jul 2006 B2
7088671 Monsen Aug 2006 B1
7095709 Walton et al. Aug 2006 B2
7099377 Berens et al. Aug 2006 B2
7103325 Jia et al. Sep 2006 B1
7110378 Onggosanusi et al. Sep 2006 B2
7110463 Wallace et al. Sep 2006 B2
7113499 Nafie et al. Sep 2006 B2
7116652 Lozano Oct 2006 B2
7120199 Thielecke et al. Oct 2006 B2
7127009 Berthet et al. Oct 2006 B2
7130362 Girardeau et al. Oct 2006 B2
7133459 Onggosanusi et al. Nov 2006 B2
7137047 Mitlin et al. Nov 2006 B2
7149239 Hudson Dec 2006 B2
7149254 Sampath Dec 2006 B2
7151809 Ketchum et al. Dec 2006 B2
7155171 Ebert et al. Dec 2006 B2
7158563 Ginis et al. Jan 2007 B2
7164669 Li et al. Jan 2007 B2
7187646 Schramm Mar 2007 B2
7190749 Levin et al. Mar 2007 B2
7191381 Gesbert et al. Mar 2007 B2
7194237 Sugar et al. Mar 2007 B2
7197084 Ketchum et al. Mar 2007 B2
7200404 Panasik et al. Apr 2007 B2
7206354 Wallace et al. Apr 2007 B2
7218684 Bolourchi et al. May 2007 B2
7224704 Lu et al. May 2007 B2
7231184 Eilts et al. Jun 2007 B2
7233625 Ma et al. Jun 2007 B2
7238508 Lin et al. Jul 2007 B2
7242727 Liu et al. Jul 2007 B2
7248638 Banister Jul 2007 B1
7248841 Agee et al. Jul 2007 B2
7254171 Hudson Aug 2007 B2
7260153 Nissani (Nissensohn) Aug 2007 B2
7260366 Lee et al. Aug 2007 B2
7263119 Hsu et al. Aug 2007 B1
7274734 Tsatsanis Sep 2007 B2
7280625 Ketchum et al. Oct 2007 B2
7283508 Choi et al. Oct 2007 B2
7289570 Schmidl et al. Oct 2007 B2
7292854 Das et al. Nov 2007 B2
7298778 Visoz et al. Nov 2007 B2
7298805 Walton et al. Nov 2007 B2
7308035 Rouquette et al. Dec 2007 B2
7310304 Mody et al. Dec 2007 B2
7317750 Shattil Jan 2008 B2
7324429 Walton et al. Jan 2008 B2
7327800 Oprea et al. Feb 2008 B2
7333556 Maltsev et al. Feb 2008 B2
7342912 Kerr et al. Mar 2008 B1
7356004 Yano et al. Apr 2008 B2
7356089 Jia et al. Apr 2008 B2
7379492 Hwang May 2008 B2
7386076 Onggosanusi et al. Jun 2008 B2
7392014 Baker et al. Jun 2008 B2
7403748 Keskitalo et al. Jul 2008 B1
7421039 Malaender et al. Sep 2008 B2
7453844 Lee et al. Nov 2008 B1
7480278 Pedersen et al. Jan 2009 B2
7486740 Inanoglu Feb 2009 B2
7492737 Fong et al. Feb 2009 B1
7548506 Ma et al. Jun 2009 B2
7551546 Ma et al. Jun 2009 B2
7551580 Du Crest et al. Jun 2009 B2
7573805 Zhuang et al. Aug 2009 B2
7599443 Ionescu et al. Oct 2009 B2
7603141 Dravida Oct 2009 B2
7606296 Hsu et al. Oct 2009 B1
7606319 Zhang et al. Oct 2009 B2
7623871 Sheynblat Nov 2009 B2
7636573 Walton et al. Dec 2009 B2
7653142 Ketchum et al. Jan 2010 B2
7653415 Van Rooyen Jan 2010 B2
20010017881 Bhatoolaul et al. Aug 2001 A1
20010031621 Schmutz Oct 2001 A1
20010046205 Easton et al. Nov 2001 A1
20020003774 Wang et al. Jan 2002 A1
20020018310 Hung Feb 2002 A1
20020018453 Yu et al. Feb 2002 A1
20020027951 Gormley et al. Mar 2002 A1
20020041632 Sato et al. Apr 2002 A1
20020044591 Lee et al. Apr 2002 A1
20020044610 Jones Apr 2002 A1
20020057659 Ozluturk et al. May 2002 A1
20020062472 Medlock et al. May 2002 A1
20020064214 Hattori et al. May 2002 A1
20020075830 Hartman, Jr. Jun 2002 A1
20020085620 Mesecher Jul 2002 A1
20020085641 Baum Jul 2002 A1
20020098872 Judson Jul 2002 A1
20020105928 Kapoor et al. Aug 2002 A1
20020115473 Hwang et al. Aug 2002 A1
20020122381 Wu et al. Sep 2002 A1
20020122393 Caldwell et al. Sep 2002 A1
20020154705 Walton et al. Oct 2002 A1
20020183010 Catreux et al. Dec 2002 A1
20020184453 Hughes et al. Dec 2002 A1
20020191535 Sugiyama et al. Dec 2002 A1
20020193146 Wallace et al. Dec 2002 A1
20020196842 Onggosanusi et al. Dec 2002 A1
20030002450 Jalali et al. Jan 2003 A1
20030003863 Thielecke et al. Jan 2003 A1
20030003880 Ling et al. Jan 2003 A1
20030012308 Sampath et al. Jan 2003 A1
20030039317 Taylor et al. Feb 2003 A1
20030043732 Walton et al. Mar 2003 A1
20030045288 Luschi et al. Mar 2003 A1
20030048856 Ketchum et al. Mar 2003 A1
20030076812 Benedittis Apr 2003 A1
20030078024 Magee et al. Apr 2003 A1
20030095197 Wheeler et al. May 2003 A1
20030099306 Nilsson et al. May 2003 A1
20030112745 Zhuang et al. Jun 2003 A1
20030119452 Kim et al. Jun 2003 A1
20030123389 Russell et al. Jul 2003 A1
20030125040 Walton et al. Jul 2003 A1
20030128656 Scarpa Jul 2003 A1
20030139194 Onggosanusi et al. Jul 2003 A1
20030153360 Burke et al. Aug 2003 A1
20030157954 Medvedev et al. Aug 2003 A1
20030162519 Smith et al. Aug 2003 A1
20030185309 Pautler et al. Oct 2003 A1
20030185311 Kim Oct 2003 A1
20030202492 Akella et al. Oct 2003 A1
20030202612 Halder et al. Oct 2003 A1
20030206558 Parkkinen et al. Nov 2003 A1
20030235149 Chan et al. Dec 2003 A1
20030235255 Ketchum et al. Dec 2003 A1
20030236080 Kadous et al. Dec 2003 A1
20040005887 Bahrenburg et al. Jan 2004 A1
20040037257 Ngo Feb 2004 A1
20040042556 Medvedev et al. Mar 2004 A1
20040052228 Tellado et al. Mar 2004 A1
20040071104 Boesel et al. Apr 2004 A1
20040071107 Kats et al. Apr 2004 A1
20040076224 Onggosanusi et al. Apr 2004 A1
20040082356 Walton et al. Apr 2004 A1
20040085939 Wallace et al. May 2004 A1
20040120411 Walton et al. Jun 2004 A1
20040136349 Walton et al. Jul 2004 A1
20040151108 Blasco Claret et al. Aug 2004 A1
20040151122 Lau et al. Aug 2004 A1
20040156328 Walton et al. Aug 2004 A1
20040160987 Sudo et al. Aug 2004 A1
20040176097 Wilson et al. Sep 2004 A1
20040179627 Ketchum et al. Sep 2004 A1
20040184398 Walton et al. Sep 2004 A1
20040198276 Tellado et al. Oct 2004 A1
20040252632 Bourdoux et al. Dec 2004 A1
20050047384 Wax et al. Mar 2005 A1
20050047515 Walton et al. Mar 2005 A1
20050088959 Kadous Apr 2005 A1
20050099974 Kats et al. May 2005 A1
20050120097 Walton et al. Jun 2005 A1
20050128953 Wallace et al. Jun 2005 A1
20050135284 Nanda et al. Jun 2005 A1
20050135295 Walton et al. Jun 2005 A1
20050135318 Walton et al. Jun 2005 A1
20050147177 Seo et al. Jul 2005 A1
20050185575 Hansen et al. Aug 2005 A1
20050208959 Chen et al. Sep 2005 A1
20050220211 Shim et al. Oct 2005 A1
20050276343 Jones Dec 2005 A1
20060018247 Driesen et al. Jan 2006 A1
20060018395 Tzannes Jan 2006 A1
20060067417 Park et al. Mar 2006 A1
20060072649 Chang et al. Apr 2006 A1
20060077935 Hamalainen et al. Apr 2006 A1
20060104196 Wu et al. May 2006 A1
20060104340 Walton et al. May 2006 A1
20060153237 Hwang et al. Jul 2006 A1
20060159120 KIm Jul 2006 A1
20060183497 Paranchych et al. Aug 2006 A1
20060209894 Tzannes et al. Sep 2006 A1
20060209937 Tanaka et al. Sep 2006 A1
20070177681 Choi et al. Aug 2007 A1
20070274278 Choi et al. Nov 2007 A1
20080069015 Walton et al. Mar 2008 A1
20080267098 Walton et al. Oct 2008 A1
20080267138 Walton et al. Oct 2008 A1
20080285488 Walton et al. Nov 2008 A1
20080285669 Walton et al. Nov 2008 A1
20080285670 Walton et al. Nov 2008 A1
20100067401 Medvedev et al. Mar 2010 A1
20100119001 Walton et al. May 2010 A1
20100142636 Heath, Jr. et al. Jun 2010 A1
20100183088 Inanoglu Jul 2010 A1
20100260060 Abraham et al. Oct 2010 A1
Foreign Referenced Citations (177)
Number Date Country
2002259221 Nov 2002 AU
2690247 Oct 2001 CA
1086061 Apr 1994 CN
1234661 Nov 1999 CN
1308794 Aug 2001 CN
1347609 May 2002 CN
1469662 Jan 2004 CN
1489836 Apr 2004 CN
1537371 Oct 2004 CN
19951525 Jun 2001 DE
0755090 Jan 1997 EP
0762701 Mar 1997 EP
0772329 May 1997 EP
0805568 Nov 1997 EP
0869647 Oct 1998 EP
0895387 Feb 1999 EP
0929172 Jul 1999 EP
0951091 Oct 1999 EP
0991221 Apr 2000 EP
0993211 Apr 2000 EP
1061446 Dec 2000 EP
1075093 Feb 2001 EP
1087545 Mar 2001 EP
1117197 Jul 2001 EP
1126673 Aug 2001 EP
1133070 Sep 2001 EP
1137217 Sep 2001 EP
1143754 Oct 2001 EP
1170879 Jan 2002 EP
1175022 Jan 2002 EP
1182799 Feb 2002 EP
1185001 Mar 2002 EP
1185015 Mar 2002 EP
1185048 Mar 2002 EP
1207635 May 2002 EP
1207645 May 2002 EP
1223702 Jul 2002 EP
1241824 Sep 2002 EP
1265411 Dec 2002 EP
1315311 May 2003 EP
1379020 Jan 2004 EP
1387545 Feb 2004 EP
1 416 688 May 2004 EP
1 447 934 Aug 2004 EP
1556984 Jul 2005 EP
2300337 Oct 1996 GB
2373973 Oct 2002 GB
1132027 May 1989 JP
03104430 May 1991 JP
06003956 Jan 1994 JP
6501139 Jan 1994 JP
8274756 Oct 1996 JP
9135230 May 1997 JP
9266466 Oct 1997 JP
9307526 Nov 1997 JP
09327073 Dec 1997 JP
9512156 Dec 1997 JP
10028077 Jan 1998 JP
10084324 Mar 1998 JP
10209956 Aug 1998 JP
10303794 Nov 1998 JP
10327126 Dec 1998 JP
1141159 Feb 1999 JP
11069431 Mar 1999 JP
11074863 Mar 1999 JP
11163823 Jun 1999 JP
11205273 Jul 1999 JP
11252037 Sep 1999 JP
2991167 Dec 1999 JP
2000078105 Mar 2000 JP
2000092009 Mar 2000 JP
2001044930 Feb 2001 JP
200186045 Mar 2001 JP
2001186051 Jul 2001 JP
2001217896 Aug 2001 JP
2001231074 Aug 2001 JP
2001237751 Aug 2001 JP
200264879 Feb 2002 JP
2002504283 Feb 2002 JP
200277098 Mar 2002 JP
200277104 Mar 2002 JP
2002111627 Apr 2002 JP
2002164814 Jun 2002 JP
2002176379 Jun 2002 JP
2002204217 Jul 2002 JP
2002232943 Aug 2002 JP
2003504941 Feb 2003 JP
2003198442 Jul 2003 JP
2003530010 Oct 2003 JP
2004266586 Sep 2004 JP
2004297172 Oct 2004 JP
2004535694 Nov 2004 JP
2005519520 Jun 2005 JP
2006504372 Feb 2006 JP
200011799 Feb 2000 KR
20010098861 Nov 2001 KR
1020020003370 Jan 2002 KR
20030085040 Nov 2003 KR
20060095576 Aug 2006 KR
2015281 Jun 1994 RU
2139633 Oct 1999 RU
2141168 Nov 1999 RU
2146418 Mar 2000 RU
2149509 May 2000 RU
2152132 Jun 2000 RU
2157592 Oct 2000 RU
2158479 Oct 2000 RU
2168278 May 2001 RU
2197781 Jan 2003 RU
2201034 Mar 2003 RU
2335852 Oct 2008 RU
419912 Jan 2001 TW
545006 Aug 2003 TW
583842 Apr 2004 TW
I230525 Apr 2005 TW
WO8607223 Dec 1986 WO
WO9307684 Apr 1993 WO
WO9507578 Mar 1995 WO
WO9530316 Nov 1995 WO
WO9532567 Nov 1995 WO
WO9622662 Jul 1996 WO
WO9635268 Nov 1996 WO
WO9719525 May 1997 WO
WO9736377 Oct 1997 WO
WO9809381 Mar 1998 WO
WO9809395 Mar 1998 WO
WO9824192 Jun 1998 WO
WO9826523 Jun 1998 WO
WO9830047 Jul 1998 WO
WO9857472 Dec 1998 WO
WO9903224 Jan 1999 WO
WO99014878 Mar 1999 WO
WO9916214 Apr 1999 WO
WO9944379 Sep 1999 WO
WO9957820 Nov 1999 WO
WO0011823 Mar 2000 WO
WO0036764 Jun 2000 WO
WO0062456 Oct 2000 WO
WO0105067 Jan 2001 WO
WO0126269 Apr 2001 WO
WO0169801 Sep 2001 WO
WO0171928 Sep 2001 WO
WO0176110 Oct 2001 WO
WO0180510 Oct 2001 WO
WO0182521 Nov 2001 WO
WO0197400 Dec 2001 WO
WO0201732 Jan 2002 WO
WO0203557 Jan 2002 WO
WO0215433 Feb 2002 WO
WO0225853 Mar 2002 WO
WO02060138 Aug 2002 WO
WO02062002 Aug 2002 WO
WO02065664 Aug 2002 WO
WO02069523 Sep 2002 WO
WO02069590 Sep 2002 WO
WO02073869 Sep 2002 WO
WO02078211 Oct 2002 WO
WO02082689 Oct 2002 WO
WO02088656 Nov 2002 WO
WO02093784 Nov 2002 WO
WO02099992 Dec 2002 WO
WO03010984 Feb 2003 WO
WO03010994 Feb 2003 WO
WO03019984 Mar 2003 WO
WO03028153 Apr 2003 WO
WO03034646 Apr 2003 WO
WO03047140 Jun 2003 WO
WO03075479 Sep 2003 WO
WO2004002011 Dec 2003 WO
WO2004002047 Dec 2003 WO
WO2004038985 May 2004 WO
WO2004038986 May 2004 WO
WO2004039011 May 2004 WO
WO2004039022 May 2004 WO
WO2005041515 May 2005 WO
WO2005043855 May 2005 WO
WO2005046113 May 2005 WO
Non-Patent Literature Citations (58)
Entry
International Search Report—PCT/US06/23515—International Search Authority—US, Dec. 18, 2006.
Written Opinion—PCT/US06/06/23515—International Search Authority—US, Dec. 18, 2006.
International Preliminary Report on Patentability-PCT/US06/023515-The International Bureau of WIPO- Geneva, Switzerland, Dec. 17, 2007.
Grunheid et al., “Adaptive Modulation and Multiple Access for the OFDM Transmission Technique”, Wireless Personal Communications 13: May 13, 2000, 2000 Kluwer Academic Publishers, pp. 4-13.
European Search Report—EP11173875—Search Authority—Hague—Oct. 25, 2011.
G. Bauch, J. Hagenauer, “Smart Versus Dumb Antennas—Capacities and FEC Performance,” IEEE Communications Letters, vol. 6, No. 2, pp. 55-57, Feb. 2002.
Partial European Search Report—EP10012069—Search Authority—The Hague—Nov. 29, 2011.
Supplementary European Search Report—EP06759443—Search Authority—Hague—Nov. 24, 2011.
Vook, F. W. et al., “Adaptive antennas for OFDM”, Vehicular Technology Conference, vol. 1, May 18-21, 1998, pp. 606-610, XP010287858, New York, NY, USA, IEEE, US DOI: 10.1109/VETEC.1998.686646 ISBN: 978-0/7803-4320-7.
3GPP2 TIA/EIA/IS-2000.2-A, “Physical Layer Standard for cdma2000: Standards for Spread Spectrum Systems,” (Mar. 2000), Telecommunications Industry Association, pp. 1-446.
Alamouti, S.M., “A Simple Transmit Diversity Technique for Wireless Communications,” IEEE Journal on Select Areas in Communications, vol. 16, No. 8, Oct. 1998, pp. 1451-1458.
Bingham, John A.C.: “Multicarrier Modulation for Data Transmission: An Idea Whose Time Has Come,” IEEE Communications Magazine, pp. 5-14 (May 1990).
Bong-Gee Song et al., “Prefilter design using the singular value decomposition for MIMO equalization” Signals, Systems and Computers, vol. 1, Nov. 3-6, 1996, pp. 34-38, XP010231388, IEEE, US DOI : 10.1109/ACSSC. 1996.600812 ISBN: 978-0-8186-7646-8, p. 35, col. 2, paragraph 4-p. 36, col. 1.
Chen, K.C. et al., “Novel Space-Time Processing of DS/CDMA Multipath Signal,” IEEE 49th, Vehicular Technology Conference, Houston, Texas, May 16-20, 1999, pp. 1809-1813.
Choi, R. et al., “MIMO Transmit Optimization for Wireless Communication Systems,” Proceedings of the First IEEE International workshops on Electronic Design, pp. 1-6, Piscataway, New Jersey, Jan. 29-31, 2002.
Chung, J. et al: “Multiple antenna systems for 802.16 systems.” IEEE 802.16 Broadband Wireless Access Working Group <http://ieee802.org/I6>, IEEE 802.16abc-01/31, Sep. 7, 2001, pp. 1-5.
Co-pending U.S. Appl. No. 60/421,309, filed Oct. 25, 2002.
Co-pending U.S. Appl. No. 60/421,428, filed Oct. 25, 2002.
Deneire, Luc, et al.: “A Low Complexity ML Channel Estimator for OFDM,” Proc IEEE ICC (Jun. 2001), pp. 1461-1465.
Diggavi, S. et al., “Intercarrier interference in MIMO OFDM,” IEEE International Conference on Communications, (Aug. 2002), vol. 1, pp. 485-489, doi: 10.1109/ICC.2002.996901.
ETSI TS 101 761-1 v1.3.1, “Broadband Radio Access Networks (BRAN); HIPERLAN Type 2; Data Link Control (DLC) Layer; Part 1: Basic Data Transport Functions,” ETSI Standards, European Telecommunications Standards Institute BR (V131), pp. 1-88 (Dec. 2001).
Fuji!, M.: “Pseudo-Orthogonal Multibeam-Time Transmit Diversity for OFDM-CDMA” pp. 222-226 (2002).
Gao, J. et al. “On implementation of Bit-Loading Algorithms for OFDM Systems with Multiple-Input Multiple Output,” VTC 2002-Fall. 2002 IEEE 56th. Vehicular Technology Conference Proceedings. Vancouver, Canada, (Sep. 24-28, 2002), IEEE Vehicular Technology Conference, pp. 199-203.
Gore, D. A., et al.: “Selecting an optimal set of transmit antennas for a low rank matrix channel,” 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings. (ICASSP). Istanbul, Turkey, Jun. 5-9, 2000, New York, NY; IEEE, US, vol. 5 of 6, (Jun. 5, 2000), pp. 2785-2788, XP001035763, abstract.
Hassibi, B. et al., “High Rate Codes That Are Linear in Space and Time,” Lucent Technologies, 2002, pp. 1-55.
Haustein, T. et al.: “Performance of MIMO Systems with Channel Inversion,” IEEE 55th Vehicular Technology Conference, Birmingham, Alabama, May 6-9, 2002, pp. 35-39.
Hayashi, K. et al.: “A New Spatio-Temporal Equalization Method Based on Estimated Channel Response,” Sep. 2001, IEEE Transactions on Vehicular Technology, vol. 50, No. 5, pp. 1250-1259.
Hong, D. K. et al.: “Robust Frequency Offset Estimation for Pilot Symbol Assisted Packet CDMA with MIMO Antenna Systems,” IEEE Communications Letters, vol. 6, No. 6, pp. 262-264, XP-001133262 (Jun. 2002).
IEEE Std 802.11a-1999 (Supplement to IEEE Std 801.11-1999) “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: High-Speed physical Layer in the 5GHZ Band”, pp. 1-90, Sep. 1999.
Iserte, P., et al., “Joint beamforming strategies in OFDM-MIMO systems,” Acoustics, Speech, and Signal Processing, 1993. ICASSP-93., 1993 IEEE International Conference on, vol. 3, sections 2-3, Apr. 27-30, 1993, doi: 10.1109/ICASSP.2002.1005279.
Joham, M. et al.: “Symbol Rate Processing for the Downlink of DS-CDMA Systems”, IEEE Journal on Selected Areas in Communications, vol. 19, No. 1, paragraphs 1, 2; IEEE Service Center, Piscataway, US, (Jan. 1, 2001), XP011055296, ISSN: 0733-8716.
Jongren, G. et al.: “Utilizing Quantized Feedback Information in Orthogonal Space-Time Block Coding,” 2000 IEEE Global Telecommunications Conference, 2(4): 995-999, Nov. 27, 2000.
Kiessling, M. et al., “Short-term and long-term diagonalization of correlated MIMO channels with adaptive modulation” IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, vol. 2, Sep. 15, 2002, pp. 593-597.
Kousa M, et al., “Multichannel Adaptive System”, IEEE Proceedings I. Solid-State & Electron Devices, Institution of Electrical Engineers. Stevenage, GB, vol. 140, No. 5, Part 1, Oct. 1, 1993, pp. 357-364, XP000403498, SSN: 0956-3776.
Le Goff S et al: “Turbo-codes and high spectral efficiency modulation” Communications, 1994. ICC ″94, Supercomm/ICC ″94, Conference Record, “Serving Humanity Through Communications.” IEEE International Conference on New Orleans, LA, USA May 1-5 1994, New York, NY, USA. IEEE, May 1, 1994, pp. 645-649, XP010126658 ISBN: 978-0-78031825-0.
Lebrun G., et al., “MIMO transmission over a time varying TDD channel using SVD,” Electronics Letters, 2001, vol. 37, pp. 1363-1364.
Li, Lihua, et al., “A practical space-frequency block coded OFDN scheme for fast fading broadband channels,” 2002. The 13th IEEE International Symposium on Personal, Indoor and Mobile Radio communications, vol. 1, Sep. 15-18, 2002. pp. 212-216 vol. 1.
Li, Ye et. al., “Simplified Channel Estimation for OFDM Systems with Multiple Transmit Antennas,” IEEE Transactions on Wireless Communications, Jan. 2002, vol. 1, No. 1, pp. 67-75.
Miyashita, K. et al: “High data-rate transmission with eigenbeam-space division multiplexing (E-SDM) in a MIMO channel,” VTC 2002-Fall. 2002 IEEE 56th. Vehicular Technology Conference Proceedings. Vancouver, Canada, Sep. 24-28, 2002, IEEE Vehicular Technology Conference, New York, NY: IEEE, US, vol. vol. 1 of 4. Conf. 56, (Sep. 24, 2002), pp. 1302-1306, XP010608639.
Office Action dated Aug. 13, 2008 for Australian Application Serial No. 2004223374, 2 pages.
Office Action dated Jun. 27, 2008 for Chinese Application Serial No. 200480011307.6, 3 pages.
Pautler, J. et al.: “On Application of Multiple-Input Multiple-Output Antennas to CDMA Cellular Systems,” IEEE 54th Vehicular Technology Conference Proceedings, Atlantic City, New Jersey, Oct. 7-11, 2001, pp. 1508-1512.
Sampath, H., et al., “Joint transmit and receive optimization for high data rate wireless communication using multiple antennas,” Signals, Systems, and Computers, 1999. Conference Record of the Thirty-Third Asilomar Conference, Oct. 24, 1999, XP010373976, pp. 215-219, IEEE, Piscataway, NJ, US.
Singapore Search Report—SG200718746-1—Hungary Intellectual Patent Office—Aug. 12, 2011.
Supplementary European Search Report—EP06785006, Search Authority—The Hague Patent Office, Jul. 13, 2011.
Taiwan Search Report—TW095121422—TIPO—May 20, 2011.
Tarighat, A. et al. “Performance Analysis of Different Algorithms for cdma2000 Antenna Array System and a New Multi User Beamforming (MUB) Algorithm”, Wireless Communications and Networking Conference, vol. 1, pp. 409-414, Sep. 23, 2000.
The Authoritative Dictionary of IEEE Standards Terms, Seventh Edition, IEEE Press: New York (Dec. 2000), p. 902.
Theon, S. et al.: “Improved Adaptive Downlink for OFDM/SDMA-Based Wireless Networks,” IEEE VTS 53rd Vehicular Technology Conference, pp. 707-711, Rhodes, Greece, May 6-9, 2001.
Tujkovic, D.: “High bandwidth efficiency space-time turbo coded modulation”, Institute of Electrical and Electronics Engineers, ICC 2001. 2001 IEEE International Conference on Communications, Conference Record, pp. 1104-1109, Helsinki, Finland, Jun. 11-14, 2001.
Van Zelst, A. et al.: “Space Division Multiplexing (SDM) for OFDM Systems,” IEEE 51st Vehicular Technology Conference Proceedings, pp. 1070-1074, Tokyo, Japan, May 15-18, 2000.
Wales, S.W. “A mimo technique within the UTRA TDD standard,” MIMO: Communications Systems from Concept to Implementations (Ref. No. 2001/175), IEE Seminar on, (Dec. 12, 2001), pp. 1-8., London, UK.
Warner, W. et al.: “OfDM/FM Frame Synchronization for Mobile Radio Data Communication”, IEEE Transactions on Vehicular Technology, Aug. 1993, vol. 42, No. 3, pp. 302-313.
Wolniansky, P.W.; Foschini, G.J.; Golden, G.D.; Valenzuela, R.A.; , “V-BLAST: an architecture for realizing very high data rates over the rich-scattering wireless channel,” Signals, Systems, and Electronics, 1998. ISSSE 98. 1998 URSI International Symposium, pp. 295-300, (Sep. 29-Oct. 2, 1998), doi: 10.1109/ISSSE.1998.738086.
Wong, et al., “Multiuser OFDM With Adaptive Subcarrier, Bit, and Power Allocation,” Oct. 1999, IEEE Journal on Selected Areas in Communications, vol. 17, No. 10, pp. 1747-1758.
Wong K. K., et al., “Optimizing time and space MIMO antenna system for frequency selective fading channels,” IEEE Journal on Selected Areas in Communications, vol. 19, No. 7, Jul. 2001, Sections II and III and V, 1396, pp. 1395-1407.
Wyglinski Physical Layer Loading Algorithms for Indoor Wireless Multicarrier Systems, p. 109 Nov. 2004.
Yoshiki, T., et al., “A Study on Subcarrier Adaptive Demodulation System using Multilevel Transmission Power Control for OFDM/FDD System,” The Institute of Electronics, Information and Communications Engineers general meeting, lecture collection, Japan, Mar. 7, 2000, Communication 1, p. 400.
Related Publications (1)
Number Date Country
20060285605 A1 Dec 2006 US
Continuations (1)
Number Date Country
Parent 60691461 Jun 2005 US
Child 11190106 US