Title of Invention

A METHOD OF TRANSMITTING DATA ON A PLURALITY OF PARALLEL CHANNELS IN A WIRELESS COMMUNICATION SYSTEM

Abstract Abstract Closed-loop rate control for data transmission on multiple parallel channels is provided. An inner loop estimates the channel conditions for a communication link and selects a suitable data rate for each of the multiple parallel channels based on the channel estimates. For each parallel channel, a received SNR is computed based on the channel estimates, an operating SNR is computed based on the received SNR and an SNR offset for the parallel channel, and the data rate is selected based on the operating SNR for the parallel channel and a set of required SNRs for a set of data rates supported by the system. An outer loop estimates the quality of data transmissions received on the multiple parallel channels and adjusts the operation of the inner loop. For example, the SNR offset for each parallel channel is adjusted based on the status of packets received on that parallel channel.
Full Text

CLOSED-LOOP RATE CONTROL FOR A MULTI-CHANNEL COMMUNICATION SYSTEM
BACKGROUND
I. Field
S -^
J1001] The present invention relates generally to data communication, and more
\_/*
specifically to techniques for performing rate control for data transmission on multiple
parallel channels in a multi-channel communication system.
i II. Background [1002] *) A multi-channel communication system utilizes multiple "parallel channels"
\jfor data transmission. These parallel channels may be formed in the time domain, frequency domain, spatial domain, or a combination thereof. For example, the multiple parallel channels may be formed by different time slots in a time division multiplex (TDM) communication system, different frequency subbands in a frequency division multiplex (FDM) communication system, different disjoint sets of subbands in an orthogonal frequency division multiplex (OFDM) communication system, or different spatial channels in a multiple-input multiple-output (MIMO) communication system. TDM, FDM, OFDM, and MIMO systems are described in further detail below. [1003] The multiple parallel channels may experience different channel conditions (e.g., different fading, multipath, and interference effects) and may achieve different signal-to-noise ratios (SNRs). The SNR of a parallel channel determines its transmission capability, which is typically quantified by a particular data rate that may be reliably transmitted on the parallel channel. If the SNR varies from parallel channel to parallel channel, then the supported data rate would also vary from channel to channel. Moreover, since the channel conditions typically vary with time, the data rates supported by the multiple parallel channels also vary with time.
[1004] Rate control is a major challenge in a multi-channel communication system that experiences continually varying channel conditions. Rate control entails controlling the data rate of each of the multiple parallel channels based on the channel conditions. The goal of the rate control should be to maximize the overall throughput

on the multiple parallel channels while meeting certain quality objectives, which may be quantified by a particular packet error rate (PER) or some other criterion. [1005] There is therefore a need in the art for techniques to effectively perform rate control for multiple parallel channels having varying SNRs.
SUMMARY
[1006] Techniques for performing closed-loop rate control for data transmission on multiple parallel channels are described herein. Closed-loop rate control may be achieved with one or multiple loops. An inner loop estimates the channel conditions for a communication link and selects a suitable data rate for each of the multiple parallel channels (e.g., to achieve high overall throughput). An outer loop (which is optional) estimates the quality of the data transmissions received on the multiple parallel channels and adjusts the operation of the inner loop.
[1007] For the inner loop, channel estimates are initially obtained for the multiple parallel channels (e.g., based on received pilot symbols). The channel estimates may include channel gain estimates for multiple subbands of each parallel channel, an estimate of the noise floor at the receiver, and so on. A suitable "transmission mode" is then selected for each parallel channel based on (1) the transmit power allocated to the parallel channel, (2) the channel estimates for the parallel channel, (3) an SNR offset provided by the outer loop for the parallel channel, and (4) other information provided by the outer loop. A transmission mode indicates, among other things, a specific data rate to use for a parallel channel. The SNR pffset indicates the amount of back-off to use for the parallel channel and influences the selection of the transmission mode for the parallel channel. The other information from the outer loop may direct the inner loop to select a transmission mode with a data rate lower than that normally selected for the parallel channel, for example, if excessive packet errors are received for the parallel channel. The transmitter and receiver process data for each parallel channel in accordance with the transmission mode selected for that parallel channel. [1008] For the outer loop, the receiver estimates the quality of the data transmissions received via the multiple parallel channels. For example, the receiver may determine the status of each received data packet (e.g., as good or bad, as described below), obtain decoder metrics for each data stream, estimate the received SNR for each parallel channel, and so on. The outer loop then adjusts the operation of the inner loop

for each parallel channel based on the estimated received quality for that parallel channel. For example, the outer loop may adjust the SNR offset for each parallel channel to achieve a target packet error rate (PER) for that parallel channel. The outer loop may also direct the inner loop to select a transmission mode with a lower data rate for a parallel channel if excessive packet errors are detected for that parallel channel. [1009] Various aspects and embodiments of the invention are also described in further detail below.
BRIEF DESCRIPTION OF THE DRAWINGS
[1010] The features, nature, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
[1011] FIG. 1 shows a transmitter and a receiver in a multi-channel communication system with closed-loop rate control for Nc parallel channels; [1012] FIG. 2 shows a closed-loop rate control mechanism;
[1013] FIG. 3 shows an exemplary process to transmit Nc data streams on Nc parallel channels using Nc transmission modes selected with closed-loop rate control; [1014] FIG. 4 shows an exemplary process for the outer loop; [1015] FIG. 5 shows an exemplary TDD MIMO-OFDM system; [1016] FIG. 6 shows a frame structure used in the TDD MIMO-OFDM system; [1017] FIG. 7 shows a process for transmitting multiple data streams on multiple wideband eigenmodes on the downlink and uplink in the TDD MIMO-OFDM system; [1018] FIG. 8 shows a process for selecting Ns transmission modes for Ns wideband eigenmodes;
[1019] FIGS. 9A and 9B show an access point and a terminal in the TDD MIMO-OFDM system for downlink and uplink transmission, respectively; [1020] FIG. 10 shows a transmitter subsystem; [1021] FIG. 11 shows a receiver subsystem; and
[1022] FIGS. 12A and 12B show exemplary timing diagrams for closed-loop rate control for the downlink and uplink, respectively.

DETAILED DESCRIPTION
{1023] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments
or designs.
[1024] As used herein, "rate control" entails controlling the data rate of each of
multiple parallel channels based on channel conditions. The data rate for each parallel
channel is determined by the transmission mode selected for use for that parallel
channel. Rate control may thus be achieved by controlling the transmission modes used
for the multiple parallel channels.
[1025] FIG. 1 shows a block diagram of a transmitter 110 and a receiver 150 in a
multi-channel communication system 100 with closed-loop rate control for Nc parallel
channels, where NC>1. The Nc parallel channels may be formed in various manners,
as described below. For downlink transmission, transmitter 110 is an access point, receiver 150 is a user terminal, first communication link 148 is the downlink (i.e., forward link), and second communication link 152 is the uplink (i.e., reverse link). For uplink transmission, transmitter 110 is a user terminal, receiver 150 is an access point, and the first and second communication links are the uplink and downlink, respectively. [1026] At transmitter 110, a transmit (TX) data processor 120 receives Nc data streams, one stream for each of the Nc parallel channels. Each parallel channel is associated with a specific transmission mode that indicates a set of transmission parameters to use for that parallel channel. A transmission mode may indicate (or may be associated with) a particular data rate, a particular coding scheme or code rate, a particular interleaving scheme, a particular modulation scheme, and so on, to use for data transmission. An exemplary set of transmission modes is given in Table 2 below. For each parallel channel, the data rate is indicated by a data rate control, the coding scheme is indicated by a coding control, and the modulation scheme is indicated by a modulation control. These controls are provided by a controller 130 and are generated based on the transmission mode selected for each parallel channel using feedback information obtained from receiver 150 and possibly other information (e.g., channel estimates) obtained by transmitter 110.
[1027] TX data processor 120 codes, interleaves, and modulates each data stream in accordance with the transmission mode selected for its parallel channel to provide a

corresponding stream of modulation symbols. TX data processor 120 provides Nc modulation symbol streams for the Nc data streams. A transmitter unit (TMTR) 122 then processes the Nc modulation symbol streams in a manner specified by the system. For example, transmitter unit 122 may perform OFDM processing for an OFDM system, spatial processing for a MIMO system, or both spatial and OFDM processing for a MMO-OFDM system (which is a MIMO system that utilizes OFDM). A pilot is also transmitted to assist receiver 150 in performing a number of functions such as channel estimation, acquisition, frequency and timing synchronization, coherent demodulation, and so on. Transmitter unit 122 multiplexes pilot symbols with the modulation symbols for each parallel channel, processes the multiplexed symbols, and provides a modulated signal for each antenna used for data transmission. Each modulated signal is then transmitted via first communication link 148 to receiver 150. First communication link 148 distorts each modulated signal with a particular channel response and further degrades the modulated signal with (1) additive white Gaussian noise (AWGN) having a variance of N0 and (2) possibly interference from other
transmitters.
[1028] At receiver 150, the transmitted signal(s) are received by one or more receive antennas, and the received signal from each antenna is provided to a receiver unit (RCVR) 160. Receiver unit 160 conditions and digitizes each received signal to provide a corresponding stream of samples. Receiver unit 160 further processes the samples in a manner,, that is complementary to that performed by transmitter unit 122 to provide Nc streams of "recovered" symbols, which are estimates of the Nc streams of modulation symbols sent by transmitter 110.
[1029] A receive (RX) data processor 162 then processes the Nc recovered symbol streams in accordance with the Nc transmission modes selected for the Nc parallel channels to obtain Nc decoded data streams, which are estimates of the Nc data streams sent by transmitter 110. The processing by RX data processor 162 may include demodulation, deinterleaving, and decoding. RX data processor 162 may further provide the status of each received data packet and/or decoder metrics for each decoded data stream.
[1030] Receiver unit 160 also provides received pilot symbols for the Nc parallel channels to a channel estimator 164. Channel estimator 164 processes these received pilot symbols to obtain channel estimates for the Nc parallel channels. The channel

estimates may include, for example, channel gain estimates, noise variance 7V0 estimate, and so on. The noise variance No, which is the noise floor observed at receiver 150, includes channel noise, receiver circuitry noise, interference (i.e., cross-talk) from other transmitting entities, and so on.
[1031] A transmission mode (TM) selector 166 receives the channel estimates from channel estimator 164 and possibly packet status and/or decoder metrics from RX data processor 162. Transmission mode selector 166 computes an operating SNR for each of the Nc parallel channels based on the channel estimates and an SNR offset for that parallel channel. Transmission mode selector 166 then selects a suitable transmission mode for each parallel channel based on the operating SNR and outer loop information for the parallel channel. The transmission mode selection is described in detail below. [1032] A controller 170 receives the Nc selected transmission modes, TM 1 through TM Nc, from transmission mode selector 166 and the packet status from RX data processor 162 (not shown). Controller 170 then assembles feedback information for transmitter 110. The feedback information may include the Nc selected transmission modes for the Nc parallel channels, acknowledgments (ACKs) and/or negative acknowledgments (NAKs) for received data packets, a pilot, and/or other information. The feedback information is then sent via second communication link 152 to transmitter 110. Transmitter 110 uses the feedback information to adjust the processing of the Nc data streams sent to receiver 150. For example, transmitter 110 may adjust the data rate, the coding scheme, the modulation scheme, or any combination thereof, for each of the Nc data streams sent on the Nc parallel channels to receiver 150. The feedback information is used to increase the efficiency of the system by allowing data to be transmitted at the best-known settings supported by first communication link 148. [1033] In the embodiment shown in FIG. 1, the channel estimation and transmission mode selection are performed by receiver 150 and the Nc transmission modes selected for the Nc parallel channels are sent back to transmitter 110. In other embodiments, the channel estimation and transmission mode selection may be performed (1) by transmitter 110 based on feedback information obtained from receiver 150 and/or other information obtained by transmitter 110 or (2) jointly by both transmitter 110 and receiver 150.
[1034] FIG. 2 shows a block diagram of an embodiment of a closed-loop rate control mechanism 200, which includes an inner loop 210 that operates in conjunction

with an outer loop 220. For simplicity, the operation of inner loop 210 and outer loop
220 for only one parallel channel x is shown in FIG. 2. In general, the same processing
may be performed independently for each of the Nc parallel channels.
[1035] For inner loop 210, channel estimator 164x estimates the channel conditions
for parallel channel x and provides channel estimates (e.g., channel gain estimates and
noise floor estimate). A selector 174 within transmission mode selector 166x computes
a received SNR for parallel channel x based on (1) the channel estimates from channel
estimator 164x and (2) an SNR offset and/or a transmission mode adjustment for
parallel channel x from a quality estimator 172. For clarity, the received SNR is
symbolically shown as being provided by channel estimator 164x to selector 174 in
FIG. 2. Selector 174 then selects a transmission mode for parallel channel x based on
the received information, as described below. The select transmission mode for parallel
channel x is included in the feedback information sent by controller 170 to the
transmitter. At the transmitter, controller 130 receives the selected transmission mode
for parallel channel x and determines the data rate, coding, and modulation controls for
parallel channel JC. Data is then processed in accordance with these controls by TX data
processor 120x, further multiplexed with pilot symbols and conditioned by transmitter
unit" 122x, and sent to the receiver. The channel estimation and transmission mode
selection may be performed periodically, at scheduled times, whenever changes in the
communication link are detected, only as necessary (e.g., prior to and during data
transmission), or at other times. - *
[1036] Outer loop 220 estimates quality of the data transmission received on parallel channel x and adjusts the operation of inner loop 210 for parallel channel x. The received data symbols for parallel channel x are processed by RX data processor 162x, and the status of each received packet on parallel channel x and/or decoder metrics are provided to quality estimator 172. The decoder metrics may include a re-encoded symbol error rate (SER), a re-encoded power metric, a modified Yamamoto metric (for a convolutional decoder), minimum or average log-likelihood ratio (LLR) among bits in a decoded packet (for a Turbo decoder), and so on. The re-encoded SER is the error rate between the received symbols from receiver unit 160 and the re-encoded symbols obtained by processing (e.g., re-encoding, re-modulating, and so on) the decoded data from RX data processor 162. The modified Yamamoto metric is indicative of the confidence in the decoded data and is obtained based on the difference

between the selected (best) path through the trellis for the convolutional decoding and the next closest path through the trellis. The minimum or average LLR may also be used as an indication of the confidence of the decoded data. These decoder metrics, which are indicative *of the quality of the data transmission received on parallel channel xy are known in the art.
[1037J Outer loop 220 can provide different types of information used to control the operation of inner loop 210. For example, outer loop 220 can provide an SNR offset for each parallel channel. The SNR offset is used in the computation of the operating SNR for the parallel channel, as described below. The operating SNR is then provided to a look-up table (LUT) 176 and used to select the transmission mode for the parallel channel. The SNR offset thus influences the selection of the transmission mode. Outer loop 220 can also provide a transmission mode adjustment for each parallel channel. This adjustment may direct inner loop 210 to select a transmission mode with a lower data rate for the parallel channel. The transmission mode adjustment directly impacts the selection of the transmission mode. The SNR offset and transmission mode adjustment are two mechanisms for controlling the operation of inner loop 210. Outer loop 220 may also be designed to provide other types of adjustments for inner loop 210. For simplicity, only the SNR offset and transmission mode adjustment are described below. Outer loop 220 may adjust the SNR offset and/or transmission mode in various manners, some of which are described below.
[1038] In a first embodiment, the SNR offset and/or transmission mode for each parallel channel are adjusted based on packet errors detected for the data stream received on that parallel channel. The data stream may be transmitted in packets, blocks, frames, or some other data units. (For simplicity, packet is used herein for the data unit.) Each packet may be coded with an error detection code (e.g., a cyclic redundancy check (CRC) code) that allows the receiver to determine whether the packet was decoded correctly or in error. Each parallel channel may be associated with a particular target packet error rate (PER) (e.g., 1% PER). Quality estimator 172 receives the status of each received packet and the target PER for parallel channel x and adjusts the SNR offset for parallel channel x accordingly. For example, the SNR offset for parallel channel x may be initialized to zero at the start of data transmission on parallel channel JC. The SNR offset may thereafter be reduced by ADN for each good packet and increased by AUP for each bad packet, where ADN and AUP may be selected based on

the target PER and the desired response time for the outer loop. The SNR offset is typically a positive value or zero but may also be allowed to be a negative value (e.g., to account for a high initial estimate of the received SNR). Alternatively or additionally, quality estimator 172 may provide a directive to adjust the transmission mode for parallel channel x to the next lower data rate, for example, if a burst of packet errors is detected on parallel channel x. The SNR offset and/or transmission mode adjustment from quality estimator 172 are used by selector 174 to select the transmission mode for parallel channel x.
[1039] In a second embodiment, the SNR offset and/or transmission mode for each parallel channel are adjusted based on the decoder metrics for that parallel channel. The decoder metrics for each parallel channel can be used to estimate the quality of the data transmission received on that parallel channel. If a particular decoder metric for a given parallel channel is worse than a threshold selected for that metric, then the SNR offset and/or transmission mode for that parallel channel may be adjusted accordingly. [1040] In a third embodiment, the SNR offset and/or transmission mode for each parallel channel are adjusted based on the received SNR and the required SNR for that parallel channel. The received SNR for each parallel channel may be determined based on the received pilot symbols for that parallel channel. The system may support a set of transmission modes (e.g., as shown in Table 2), and each supported transmission mode requires a different minimum SNR to achieve the target PER. Quality estimator 172 can determine an SNR margin for parallel channel x, which is the difference between the received SNR and the required SNR for parallel channel x. If the SNR margin for parallel channel x is a negative value, then the transmission mode for parallel channel x may be adjusted to the next lower data rate.
[1041] The third embodiment may also be used for a design whereby a packet is demultiplexed and transmitted across multiple parallel channels. If the packet is received in error, then it may not be possible to determine (just from the received packet) which one or ones of the parallel channels cause the packet to be received in error. If no other information is available, then it may be necessary to adjust the Nc SNR offsets and/or the Nc transmission modes for all Nc parallel channels, for example, so that the next lower data rate is used for each parallel channel. This may result in an excessive amount of reduction on the overall data rate. However, using the third embodiment, the parallel channel with the smallest SNR margin can be assumed to have

caused the packet error, and the transmission mode for this parallel channel can be adjusted to the next lower data rate.
[1042] The outer loop may also adjust the operation of the inner loop in other manners, and this is within the scope of the invention. In general, the outer loop operates at a rate that may be faster or slower than the rate of the inner loop. For example, the adjustment of the SNR offset by the outer loop may be dependent on many received packets. The outer loop can also adjust the data rate in between regularly scheduled inner loop calculations. Thus, depending on its specific design and manner of operation, the outer loop typically has more influence on the operation of the inner loop for longer data transmissions. For bursty transmissions, the outer loop may not have much or any influence on the operation of the inner loop.
[1043] FIG. 3 shows a flow diagram of a process 300 to transmit Nc data streams on Nc parallel channels using Nc transmission modes selected with closed-loop rate control. Process 300 may be implemented as shown in FIGS. 1 and 2. Initially, the receiver estimates the channel gains and the noise floor No for the Nc parallel channels (step 312). The receiver then selects a transmission mode for each of the Nc parallel channels based on the channel gain estimates, the noise floor estimate, and outer loop information (if any) for that parallel channel (step 314). The outer loop information may include the SNR offset and/or transmission mode adjustment for each of the Nc parallel channels. The transmission mode selection is described below. The receiver sends the Nc selected transmission modes for the Nc parallel channels, as feedback information, to the transmitter (step 316).
[1044] The transmitter codes and modulates the Nc data streams in accordance with the Nc selected transmission modes (obtained from the receiver) to provide Nc modulation symbol streams (step 322). The transmitter then processes and transmits the Nc modulation symbol streams on the Nc parallel channels to the receiver (step 324). {1045] The receiver processes the data transmissions received on the Nc parallel channels from the transmitter and obtains Nc recovered symbol streams (step 332). The receiver further processes the Nc recovered symbol streams in accordance with the Nc selected transmission modes to obtain Nc decoded data streams (step 334). The receiver also estimates the quality of the data transmission received on each of the Nc parallel channels, e.g., based on the packet status, decoder metrics, received SNRs, and so on (step 336). The receiver then provides outer loop information for each of the Nc parallel

channels based on the estimated quality for the data transmission received on that parallel channel (step 338). In FIG. 3, steps 312 through 324 may be considered as part of the inner loop, and steps 332 through 338 may be considered as part of the outer loop.
[1046] FIG. 4 shows a flow diagram of a process 400 that may be performed for the outer loop. The status of data packets received on each of the Nc parallel channels is obtained and used to adjust the SNR offset and/or transmission mode for that parallel channel (step 412). Decoder metrics for each of the Nc parallel channels may also be obtained and used to adjust the SNR offset and/or transmission mode for that parallel channel (step 414). The received SNR for each of the Nc parallel channels may also be obtained for each parallel channel and used to compute the SNR margin for that parallel channel. The SNR margins for the Nc parallel channels may be used to adjust the transmission modes for the parallel channels if packet errors are detected (step 416). An outer loop may implement any one or any combination of the steps shown in FIG. 4, depending on its specific design.
[1047] The closed-loop rate control techniques described herein may be used for various types of multi-channel communication systems having multiple parallel channels that may be used for data transmission. For example, these techniques may be used for TDM systems, FDM systems, OFDM-based systems, MIMO systems, MIMO systems that utilize OFDM (i.e., MIMO-OFDM systems), and so on. [1048] A TDM system may transmit data in frames, each of which may be of a particular time duration. Each frame may include multiple (Nj$) slots that may be assigned different slot indices. Nc parallel channels may be formed by the Nj$ slots in each frame, where Nc multiple slots. The Nc channels are considered "parallel" even though they are not transmitted simultaneously.
[1049] An FDM system may transmit data in (NSB) frequency subbands, which may be arbitrarily spaced. Nc parallel channels may be formed by the NSB subbands, where Nc [1050] An OFDM system uses OFDM to effectively partition the overall system bandwidth into multiple (Nj?) orthogonal subbands, which may also be referred to as tones, bins, and frequency channels. Each subband is associated with a respective carrier that may be modulated with data. Nc parallel channels may be formed by the Nf

subbands, where Nc ^ NF. The Nc parallel channels are formed by Nc disjoints sets of one or more subbands. The Nc sets are disjoint in that each of the NF subbands is assigned to only one set (and thus to one parallel channel), if at all. An OFDM system may be considered as a specific type of FDM system.
[3 051] A MEMO system employs multiple (AY) transmit antennas and multiple (NR) receive antennas for data transmission, and is denoted as an (Nr> K*d system. A MIMO channel formed by the NT transmit and NR receive antennas is composed of Ns spatial channels that may be used for data transmission, where Ns number of spatial channels is determined by a channel response matrix H that describes the response between the NT transmit and NR receive antennas. For simplicity, the following description assumes that the channel response matrix H is full rank. In this case, the number of spatial channels is given as Ns = A7r channels may include one or multiple spatial channels.
[1052] A MIMO-OFDM system has Ns spatial channels for each of Nf subbands. Nc parallel channels may be formed by the Ns spatial channels of each of the Nf subbands, where Arc multiple spatial channels of one or multiple subbands (i.e., any combination of spatial channels and subbands). For MIMO and MIMO-OFDM systems, Nc parallel channels may also be formed by the NT transmit antennas, where Nc parallel channels may be associated with one or multiple transmit antennas for data transmission.
[1053] For MIMO and MIMO-OFDM systems, data may be transmitted on the Ns spatial channels in various manners. For a partial channel state information (partial-CSI) MIMO system, data is transmitted on the Ns spatial channels without any spatial processing at the transmitter and with spatial processing at the receiver. For a full-CSl MIMO system, data is transmitted on the Ns spaiial channels with spatial processing at both the transmitter and the receiver. For the full-CSI MIMO system, eigenvalue decomposition or singular value decomposition may be performed on the channel response matrix H to obtain Ns "eigenmodes" of the MIMO channel. Data is transmitted on the Ns eigenmodes, wrhich are orthogonalized spatial channels.

[1054] The closed-loop rate control techniques described herein may be used for time division duplex (TDD) systems as well as frequency division duplex (FDD) systems. For a TDD system, the downlink and uplink share the same frequency band ,and are likely to observe similar fading and multipath effects. Thus, the channel response for each link may be estimated based on a pilot received on either that link or the other link. For an FDD system, the downlink and uplink use different frequency bands and are likely to observe different fading and multipath effects. The channel response for each link may be estimated based on a pilot received on that link. [1055] The closed-loop rate control techniques may be used for both partial-CSI and full-CSI MIMO systems. These techniques may also be used for the downlink as well as the uplink.
[1056] The closed-loop rate control techniques are now described in detail for an exemplary multi-channel communication system, which is a full-CSI TDD MIMO-OFDM system. For simplicity, in the following description, the term "eigenmode" and "wideband eigenmode" are used to denote the case where an attempt is made to orthogonalize the spatial channels, even though it may not be fully successful due to, for example, an imperfect channel estimate.
L TDD MIMO-OFDM System
[1057] FIG. 5 shows an exemplary TDD MIMO-OFDM system 500 with a number of access points (APs) 510 that support communication for a number of user terminals (UTs) 520. For simplicity, only two access points 510a and 510b are shown in FIG. 5. An access point may also be referred to as a base station, a base transceiver system, a Node B, or some other terminology. A user terminal may be fixed or mobile, and may also be referred to as an access terminal, a mobile station, a user equipment (UE), a wireless device, or some other terminology. Each user terminal may communicate with one or possibly multiple access points on the downlink and/or the uplink at any given moment. A system controller 530 couples to access points 510 and provides coordination and control for these access points.
[1058] FIG. 6 shows an exemplary frame structure 600 that may be used in TDD MMO-OFDM system 500. Data transmission occurs in units of TDD frames, each of which spans a particular time duration (e.g., 2 msec). Each TDD frame is partitioned into a downlink phase and an uplink phase, and each phase is further partitioned into

multiple segments for multiple transport channels. In the embodiment shown in FIG. 6, the downlink transport channels include a broadcast channel (BCH), a forward control channel (FCCH), and a forward channel (FCH), and the uplink transport channels include a reverse channel (RCH) and a random access channel (RACH). [1059] In the downlink phase, a BCH segment 610 is used to transmit one BCH protocol data unit (PDU) 612, which includes a beacon pilot 614, a MMO pilot 616, and a BCH message 618. The beacon pilot is a pilot transmitted from all antennas and is used for timing and frequency acquisition. The MIMO pilot is a pilot transmitted from all antennas but with a different orthogonal code for each antenna in order to allow the user terminals to individually identify the antennas. The MIMO pilot is used for channel estimation. The BCH message carries system parameters for the user terminals. An FCCH segment 620 is used to transmit one FCCH PDU, which carries assignments for downlink and uplink resources (e.g., the selected transmission modes for the downlink and uplink) and other signaling for the user terminals. An FCH segment 630 is used to transmit one or more FCH PDUs 632 on the downlink. Different types of FCH PDU may be defined. For example, an FCH PDU 632a includes a steered reference 634a and a data packet 636a, and an FCH PDU 632b includes only a data packet 636b. The steered reference is a pilot that is transmitted on a specific wideband eigenmode (as described below) and is used for channel estimation. [1060] In the uplink phase, an RCH segment 640 is used to transmit one or more RCH PDUs 642 on the uplink. Different types of RCH PDU may also be defined. For example, an RCH PDU 642a includes only a data packet 646a, and an RCH PDU 642b includes a steered reference 644b and a data packet 646b. An RACH segment 650 is used by the user terminals to gain access to the system and to send short messages on the uplink. An RACH PDU 652 may be sent in RACH segment 650 and includes a pilot (e.g., steered reference) 654 and a message 656.
[1061] FIG. 6 shows an exemplary frame structure for a TDD system. Other frame structures may also be used, and this is within the scope of the invention.
1. Spatial Processing
[1062] For a MMO-OFDM system, the channel response between an access point and a user terminal may be characterized by a set of channel response matrices, H(£) for keK, where K represents the set of all subbands of interest (e.g., K = {1,.», NF}).

For a TDD MMO-OFDM system with a shared frequency band, the downlink and uplink channel responses may be assumed to be reciprocal of one another. That is, if H(&) represents a channel response matrix from antenna array A to antenna array B for subband £, then a reciprocal channel implies that the coupling from array B to array A is given by Hr(£), where Ar denotes the transpose of A.
[1063] However, the frequency responses of the transmit and receive chains at the access point are typically different from the frequency responses of the transmit and receive chains at the user terminal. Calibration may be performed to obtain correction matrices used to account for differences in the frequency responses. With these correction matrices, the "calibrated" downlink channel response, Hcdn(&), observed by
the user terminal is the transpose of the "calibrated" uplink channel response, Hcup(A;),
observed by the access point, i.e., Hcdr(&) = Hcup(&), for k e K. For simplicity, the
following description assumes that the downlink and uplink channel responses are calibrated and reciprocal of one another.
[1064] On the downlink, a MIMO pilot may be transmitted by the access point (e.g., in BCH segment 610) and used by the user terminal to obtain an estimate of the
calibrated downlink channel response, Hcdn(/c), for keK. The user terminal may estimate the calibrated uplink channel response as Hcup(£) = Hcdn(£). The user terminal may perform singular value decomposition of jl^ik), for each subband k, as follows:



A * A *
where Vttt(fc) and Uap(£) are unitary matrices of left and right eigenvectors,
A
respectively, of Hcdn(£) and "*" denotes the complex conjugate. Singular value
decomposition is described by Gilbert Strang in a book entitled "Linear Algebra and Its Applications," Second Edition, Academic Press, 1980.
[1066] As shown in equations (1) and (2), the matrices of left and right eigenvectors for one link are the complex conjugate of the matrices of right and left eigenvectors,
respectively, for the other link. The matrices Uap(&) and Vut(£) may be used by the
access point and the user terminal, respectively, for spatial processing and are denoted
/•> as such by their subscripts. The matrix S(£) includes singular value estimates that
represent the gains for the spatial channels (or eigenmodes) of the channel response
matrix H(£) for each subband k.
[1067] Singular value decomposition may be performed independently for the
A
channel response matrix Hcup(A:) for each subband k to determine the Ns eigenmodes of
A that subband. The singular value estimates for each diagonal matrix S(fc) may be
ordered such that {a}(k)>a2(k)>...>&N (A:)}, where &}(k) is the largest singular value estimate and &N (k) is the smallest singular value estimate for subband k. When
A
the singular value estimates for each diagonal matrix ZJ(fc) are ordered, the eigenvectors
A A
(or columns) of the associated matrices U(&) and ¥Jk) are also ordered correspondingly. A "wideband eigenmode" may be defined as the set of same-order eigenmodes of all subbands after the ordering. Thus, the ;«-th wideband eigenmode includes the w-th eigenmodes of all subbands. The "principal" wideband eigenmode is
A
the one associated with the largest singular value estimate in the matrix S(/c) for each
of the subbands. Ns parallel channels may be formed by the Ns wideband eigenmodes. [1068] The user terminal may transmit a steered reference on the uplink (e.g., in RCH segment 640 or RACH segment 650 in FIG. 6). The uplink steered reference for wideband eigenmode m maybe expressed as:










below. The user terminal then sends feedback information, which includes the Ns transmission modes selected by the user terminal for the downlink and may further include the noise floor N0M at the user terminal (step 742). (The steered reference
transmitted in step 718 may also be viewed as feedback information sent by the user
terminal.)
[1079] For uplink data transmission, the access point selects Ns transmission modes
for the Ns wideband eigenmodes on the uplink based on the diagonal matrix t(k), the
noise floor N0tap at the access point, and uplink outer loop information (e.g., SNR
offsets and/or transmission mode adjustments for the uplink) (step 750). The access point further selects the Ns transmission modes for the Ns wideband eigenmodes on the downlink based on the feedback information received from the user terminal (step 752). The access point then sends the selected transmission modes for both the downlink and uplink (e.g., on the FCCH) (step 754). The user terminal receives the selected transmission modes for both links (step 756).
[1080] For downlink data transmission, the access point (1) codes and modulates the data for each downlink wideband eigenmode in accordance with the transmission mode
selected for that wideband eigenmode, (2) spatially processes the data vector s^ik)
«*
^
with the matrix Uap(£), as shown in Table 1, to obtain the transmit vector x^(k), for
keK, and (3) transmits the vector x^ik) on the downlink (step 762). The user terminal (1) receives the downlink transmission, (2) performs matched filtering on the
received vector r^k) with 2 (£)Vul(Jfc), as also shown in Table 1, to obtain the vector sdn(^), for keK, and (3) demodulates and decodes the recovered symbols in
accordance with the transmission mode selected for each downlink wideband eigenmode (step 764).
[1081] For uplink data transmission, the user terminal (1) codes and modulates the data for each uplink wideband eigenmode in accordance with the transmission mode selected for that wideband eigenmode, (2) spatially processes the data vector s (£)
with the matrix Vm(fc) to obtain the transmit vector x (k)9 for keK, and (3) transmits the vector x^(k) on the uplink (step 772). The access point (1) receives the uplink transmission, (2) performs matched filtering on the received vector r (k) with

to obtain the vector s (£), and (3) demodulates and decodes the
recovered symbols in accordance with the transmission mode selected for each uplink wideband eigenmode (step 774). For simplicity, the closed-loop operation and the transmission mode adjustment by the outer loop are not shown in FIG. 7. [1082] FIG. 7 shows a specific embodiment of a process that may be used for downlink and uplink data transmission in the exemplary TDD MMO-OFDM system. Other processes may also be implemented whereby the channel estimation, transmission mode selection, and/or data transmission/reception may be performed in some other manners.
2. Transmission Mode Selection
[1083] FIG. 8 shows a flow diagram of a process 800 for selecting Ns transmission modes for the Ns wideband eigenmodes. Process 800 may be used for steps 740 and 750 in FIG. 7. Initially, the total transmit power, Ptotal; available at the transmitter for
data transmission is distributed to the Ns wideband eigenmodes based on a power distribution scheme (step 812). The transmit power Pm allocated to each wideband eigenmode is then distributed to the Nj? subbands of that wideband eigenmode based on the same or a different power distribution scheme (step 814). The power distribution across the Ns wideband eigenmodes and the power distribution across the Nj? subbands .o£each wideband eigenmode may be performed as described below. [1084] An operating SNR for each wideband eigenmode, y m, is computed based
on (1) the allocated transmit powers Pm(k) and the channel gains &m(k) for the
subbands of that wideband eigenmode, (2) the noise floor N0 at the receiver, and (3) the
SNR offset for that wideband eigenmode (step 816). The computation of the operating SNR is described below. A suitable transmission mode qm is then selected for each wideband eigenmode based on the operating SNR for that wideband eigenmode and a look-up table (step 818). Excess power for each wideband eigenmode is determined, and the total excess power for all wideband eigenmodes is redistributed to one or more wideband eigenmodes to improve performance (step 820). The transmission mode for each wideband eigenmode may be adjusted (e.g., to the next lower data rate) if directed by outer loop information (step 822). Each of the steps in FIG. 8 is described in detail below.

A. Power Distribution Across Wideband Eigenmodes
[1085] For step 812 in FIG. 8, the total transmit power, Ptota] , may be distributed to
the Ns wideband eigenmodes using various schemes. Some of these power distribution
schemes are described below.
[1086] In a uniform power distribution scheme, the total transmit power, Ptotal? is
distributed uniformly across the Ns wideband eigenmodes such that they are all allocated equal power. The transmit power Pm allocated to each wideband eigenmode
m may be expressed as:

[1087] In a water-filling power distribution scheme, the total transmit power, PtQt&],
is distributed to the Ns wideband eigenmodes based on a "water-filling" or "water-pouring" procedure. The water-filling procedure distributes the total transmit power, ■'lotai» across the Ns wideband eigenmodes such that the overall spectral efficiency is
maximized. Water-filling is described by Robert G. Gallager in "Information Theory and Reliable Communication/' John Wiley and Sons, 1968. The water-filling for the Ns wideband eigenmodes may be performed in various manners, some of which are described below. [1088] In a first embodiment, the total transmit power, /Jotal, is initially distributed
to the NSNF subbands/eigenmodes using water-filling and based on their received
SNRs, ym(k) ,forkaK and m eM. The received SNR, yn{k), may be computed as
shown in equation (7) or (8) with the assumption of Piml being uniformly distributed
across the NSNF subbands/eigenmodes. The result of this power distribution is an
initial transmit power, I^(k)9 for each subband/eigenmode. The transmit power Pm
allocated to each wideband eigenmode is then obtained by summing the initial transmit powers, I%(k), allocated to the Nf subbands of that wideband eigenmode, as follows:


[1089] In a second embodiment, the total transmit power, PtotSi], is distributed to the Ns wideband eigenmodes based on the average SNRs computed for these wideband eigenmodes. Initially, the average SNR, f^^,, is computed for each wideband
eigenmode m based on the received SNRs for the N? subbands of that wideband eigenmode, as follows:

where ym(k) is computed as described above for the first embodiment. Water-filling is then performed to distribute the total transmit power, Ptotal, across the Ns wideband eigenmodes based on their average SNRs, /avg m, for meM.
[1090] In a third embodiment, the total transmit power, PtotaI, is distributed to the Ns
wideband eigenmodes based on the average SNRs for these wideband eigenmodes after channel inversion is applied for each wideband eigenmode. For this embodiment, the total transmit power, PX0Vi], is first distributed uniformly to the Ns wideband eigenmodes.
Channel inversion is then performed (as described below) independently for each wideband eigenmode to determine an initial power allocation, P"t(k), for each subband
of that wideband eigenmode. After the channel inversion, the received SNR is the same across all subbands of each wideband eigenmode. The average SNR for each wideband eigenmode is then equal to the received SNR for any one of the subbands of that wideband eigenmode. The received SNR, y"m (k), for one subband of each wideband
eigenmode can be determined based on the initial power allocation, P„(k), as shown in
equation (7) or (8). The total transmit power, Pt0^, is then distributed to the Ns
wideband eigenmodes using water-filling and based on their average SNRs, yl^m, for
meM.
[1091] Other schemes may also be used to distribute the total transmit power to the
TVs wideband eigenmodes, and this is within the scope of the invention.

B. Power Allocation Across Subbands in Each Wideband Eigenmode
[1092] For step 814 in FIG. 8, the transmit power allocated to each wideband eigenmode, Pm, may be distributed to the NF subbands of that wideband eigenmode using various schemes. Some of these power distribution schemes are described below. [1093] In a uniform power distribution scheme, the transmit power for each wideband eigenmode, Pm, is distributed uniformly across the NF subbands such that they are all allocated equal power. The transmit power Pm(k) allocated to each subband may be expressed as:

For the uniform power distribution scheme, the received SNRs for the NF subbands of each wideband eigenmode are likely to vary across the subbands. [1094] In a channel inversion scheme, the transmit power for each wideband eigenmode, Pm, is distributed non-uniformly across the NF subbands such that they achieve similar received SNRs at the receiver. In the following description, am (k)
denotes the estimated channel gain, which is equal to dm(k) for the downlink and
0"m(/c) for the uplink. For the channel inversion scheme, a normalization bm is initially computed for each wideband eigenmode, as follows:

The transmit power Pm {k) allocated to each subband of each wideband eigenmode may then be computed as:

A transmit weight, Wm(k)9 may be computed for each subband of each wideband eigenmode, as follows:


The transmit weights are used to scale modulation symbols at the transmitter. For the channel inversion scheme, all Nj? subbands are used for each wideband eigenmode and the received SNRs for the subbands are approximately equal.
[1095] In a selective channel inversion scheme, the transmit power for each wideband eigenmode, Pm9 is distributed non-uniformly across selected ones of the Nj? subbands such that the selected subbands achieve similar received SNRs at the receiver. The selected subbands are those with channel gains equal to or greater than a gain threshold. For this scheme, an average power gain, gm, is initially computed for each wideband eigenmode, as follows:

A normalization bm is then computed for each wideband eigenmode, as follows:

where fimgm is the gain threshold and J3m is a scaling factor, which may be selected to
- maximize the overall throughput or based on some other criterion. The transmit power allocated to each subband of each wideband eigenmode, Pm (k), may be expressed as:

For the selective channel inversion scheme, Nf or fewer subbands may be selected for
use for each wideband eigenmode and the received SNRs for the selected subbands are
approximately equal.
[1096] Other schemes may also be used to distribute the transmit power Pm across
the NF subbands of each wideband eigenmode, and this is within the scope of the
invention.

C. Transmission Mo [1097] For step 816 in FIG. 8, an operating SNR is computed for each wideband eigenmode. The operating SNR indicates the transmission capability of the wideband eigenmode. Various methods may be used for step 816, depending on whether the received SNRs are similar or vary across the subbands of each wideband eigenmode. hi the following description, SNRs are given in units of decibels (dB). [1098] If channel inversion or selective channel inversion is performed, then the received SNRs for the subbands of each wideband eigenmode, ym (k) for k e K, are
similar. The received SNR for subband k of wideband eigenmode m9 ym (k), may be
computed as:

The operating SNR for each wideband eigenmode, /op m, is equal to the received SNR
for any one of the subbands of that wideband eigenmode minus the SNR offset for that wideband eigenmode, as follows:

where ym(k), yosm, and yopm are all given in units of dB in equations (19) and (20).
[1099] If the transmit power Pm for each wideband eigenmode is uniformly
distributed across the subbands, then the received SNRs for the subbands of each wideband eigenmode are likely to vary. In this case, the operating SNR for each wideband eigenmode, y , may be computed as:

where yavgm is an average of the received SNRs for the Nj? subbands of wideband eigenmode m; and 7bo,m *s a back-off factor that accounts for variation in the received SNRs, which may be a function of the variance of the received SNRs.

[1100] For step 818 in FIG. 8, a suitable transmission mode is selected for each wideband eigenmode based on the operating SNR for that wideband eigenmode. The system may be designed to support a set of transmission modes. The transmission mode having index 0 is for a null data rate (i.e., no data transmission). Each supported transmission mode is associated with a particular minimum SNR required to achieve the desired level of performance (e.g., 1% PER). Table 2 lists an exemplary set of 14 transmission modes supported by the system, which are identified by transmission mode indices 0 through 13. Each transmission mode is associated with a particular spectral efficiency, a particular code rate, a particular modulation scheme, and the minimum SNR required to achieve 1% PER for a non-fading, AWGN channel. The spectral efficiency refers to the data rate (i.e., the information bit rate) normalized by the system bandwidth, and is given in units of bits per second per Hertz (bps/Hz). The spectral efficiency for each transmission mode is determined by the coding scheme and the modulation scheme for that transmission mode. The code rate and modulation scheme for each transmission mode in Table 2 are specific to the exemplary system design.


[1101] For each supported transmission mode with a non-zero data rate, the required SNR is obtained based on the specific system design (i.e., the particular code rate, interleaving scheme, modulation scheme, and so on, used by the system for that transmission mode) and for an AWGN channel. The required SNR may be obtained by computer simulation, empirical measurements, and so on, as is known in the art. A look-up table may be used to store the set of supported transmission modes and their required SNRs. [1102] The operating SNR for each wideband eigenmode, y , may be provided to
the look-up table, which then provides the transmission mode qm for that wideband
eigenmode. This transmission mode qm is the supported transmission mode with the
highest data rate and a required SNR, yK%m, that is less than or equal to the operating
SNR (i.e., y req m each wideband eigenmode based on the operating SNR for that wideband eigenmode.
D. Reallocation of Transmit Power
[1103] For step 820 in FIG. 8, the excess transmit power for each wideband eigenmode is determined and redistributed to improve performance. The following terms are used for the description below:
• Active wideband eigenmode - a wideband eigenmode with a non-zero data rate (i.e., a transmission mode having an index from 1 through 13 in Table 2);
• Saturated wideband eigenmode - a wideband eigenmode with the maximum data rate (i.e., transmission mode having index 13); and
• Unsaturated wideband eigenmode - an active wideband eigenmode with a non-zero data rate less than the maximum data rate (i.e.. a transmission mode having an index from 1 through 12).
[1104] The operating SNR for a wideband eigenmode may be less than the smallest required SNR in the look-up table (i.e., y m shown in Table 2). In this case, the wideband eigenmode may be shut off (i.e., not used) and the transmit power for this wideband eigenmode may be redistributed to other wideband eigenmodes.

[1105] The selected transmission mode qm for each active wideband eigenmode is associated with a required SNR, ymm, that is equal to or lower than the operating SNR, *-e*> Ynvm -^oP;m-* The minimum transmit power required for each active wideband eigenmode, P m, may be computed as:

The required transmit power is equal to zero (/^ = 0) for each wideband eigenmode
that is shut off (i.e., with transmission mode having index 0 in Table 2).
[1106] The excess power for each wideband eigenmode, i^^, is the amount of
allocated power that is over the minimum power needed to achieve the required SNR (i-e-> Excess,*, = pm " preq,m )• Thetotal excess Power for a11 wideband eigenmodes, Pexcess, may be computed as:

[1107] The total excess power, ^xcess rmay be redistributed in various manners. For example, the total excess power, ^xcess, may be redistributed to one or more wideband
eigenmodes such that higher overall throughput is achieved. la one embodiment, the total excess power, Pexcess, is redistributed to one unsaturated wideband eigenmode at a
time, starting with the best one having the highest data rate, to move the wideband eigenmode to the next higher data rate. In another embodiment, the total excess power, •Excess > *s redistributed to the wideband eigenmode that can achieve the highest increase
in data rate with the least amount of transmit power.
[1108] If all wideband eigenmodes are operated at the highest data rate, or if the remaining excess power cannot increase the data rate of any wideband eigenmode, then the remaining excess power may be redistributed to one, multiple, or all active wideband eigenmodes to improve the SNR margins for these wideband eigenmodes.

E. Transmission Mode Adjustment
[1109] For step 822 in FIG. 8, the transmission mode for each wideband eigenmode may be adjusted based on information from the outer loop. The selected transmission modes for the downlink and uplink wideband eigenmodes may be adjusted using the techniques described above for FIG. 2. For example, if excessive packet errors are received on a " given wideband eigenmode, then the outer loop may provide a transmission mode adjustment for that wideband eigenmode. As another example, a running average of the received SNRs may be maintained for each wideband eigenmode and used to compute the SNR margin for that wideband eigenmode. If the SNR margin for a given wideband eigenmode is negative, then the transmission mode for the wideband eigenmode may be adjusted to the next lower data rate. If a packet is transmitted across multiple wideband eigenmodes, then the transmission mode for the wideband eigenmode with the worse SNR margin may be adjusted to the next lower data rate whenever packet errors are detected. In any case, a transmission mode adjustment may direct the selection of another transmission mode wife a lower data rate than the one selected in step 818.
IL MIMO-OFDM System
[1110] FIG. 9A shows a block diagram of an embodiment of an access point 510x and a user terminal 520x in the exemplary TDD MMO-OFDM system. Access point 51 Ox is one of access points 510 in FIG.*5, and user terminal 520x is one of user terminals 520. FIG. 9A shows the processing for downlink transmission. In this case, access point 510x is transmitter 110 in FIG. 1 and user terminal 520x is receiver 150. [1111] For downlink transmission, at access point 51 Ox, traffic data is provided from a data source 912 to a TX data processor 920, which demultiplexes the traffic data into Nc data streams, where Nc >1. Traffic data may come from multiple data sources
(e.g., one data source for each higher layer application) and the demultiplexing may not be needed. For simplicity, only one data source 912 is shown in FIG. 9A. TX data processor 920 formats, codes, interleaves, modulates, and scales each data stream in accordance with the transmission mode selected for that data stream to provide a corresponding scaled modulation symbol stream. The data rate, coding, and modulation for each data stream may be determined by a data rate control, a coding control, and a

modulation control, respectively, provided by a controller 940. TX data processor 920
provides Nc scaled modulation symbol streams to a TX spatial processor 928.
[1112] TX spatial processor 928 processes the Nc scaled modulation symbol
streams based on a selected transmission scheme, multiplexes in pilot symbols, and
provides Nap transmit symbol streams to Nap transmitter units (TMTR) 930a through
930ap. The selected transmission scheme may be for transmit diversity, spatial
multiplexing, or beam-steering. Transmit diversity entails transmitting data redundantly
from multiple antennas and/or on multiple subbands to obtain diversity and improve
reliability. A space-time transmit diversity (STTD) may be used for transmit diversity.
Beam-steering entails transmitting data on a single (best) spatial channel at full power
using the phase steering information for the principal eigenmode. Spatial multiplexing
entails transmitting data on multiple spatial channels to achieve higher spectral
efficiency. The spatial processing for spatial multiplexing is shown in Table 1. Each
transmitter unit 930 performs OFDM processing on its transmit symbol stream to
provide a corresponding OFDM symbol stream, which is further processed to generate a
modulated signal. The Nap modulated signals from transmitter units 930a through
930ap are then transmitted via JV^ antennas 932a through 932ap, respectively. -
[1113] . At user terminal 520x, the Nap transmitted signals are received by each of Nut
antennas 952a through 952ut, and the received signal from each antenna is provided to
an associated receiver unit (RCVR) 954. Each receiver unit 954 conditions and
digitizes its received signal to provide a stream of samples, which is further processed to
provide a corresponding stream of received symbols. Receiver units 954a through
954ut provide Nut received symbol streams to an RX spatial processor 962, which
performs spatial processing based on the selected transmission scheme (e.g., as shown
in Table 1 for spatial multiplexing). RX spatial processor 962 provides Nc recovered
symbol streams, which are estimates of the Nc modulation symbol streams transmitted
by access point 51 Ox. An RX data processor 964 then demodulates, deinterleaves, and
decodes each recovered symbol stream in accordance with the selected transmission
mode to provide corresponding decoded data streams, which are estimates of the data
streams transmitted by access point 51 Ox. The processing by RX spatial processor 962
and RX data processor 964 is complementary to that performed by TX spatial processor
928 and TX data processor 920, respectively, at access point 51 Ox.

[1114] A channel estimator 974 obtains estimates of one or more channel characteristics of the downlink and provides channel estimates to a controller 970. The channel estimates may be for channel gains, noise floor N0M, and so on. RX data
processor 964 may provide the status of each received data packet. Based on the various types of information received from channel estimator 974 and RX data processor 964, controller 970 determines a transmission mode for each of the multiple parallel channels on the downlink using the techniques described above. Each parallel channel may correspond to a wideband eigenmode (as described above) or some other combination of subbands and eigenmodes. Controller 970 provides feedback information, which may include the Nc selected transmission modes for the downlink, the channel estimates, the terminal noise floor, ACKs and/or NAKs for the receive data packets, and so on, or any combination thereof. The feedback information is processed by a TX data processor 978 and a TX spatial processor 980, multiplexed with a steered reference, conditioned by transmitter units 954a through 954ut, and transmitted via antennas 952a through 952ut to access point 51 Ox.
[1115] At access point 51 Ox, the Nxlt transmitted signals from user terminal 520x are received by antennas 932a through 932ap, conditioned by receiver units 930a through 930ap, and processed by an RX spatial processor 934 and an RX data processor 936 to recover the feedback information sent by user terminal 520x. The feedback information is then provided to controller 940 and used to control the processing of the Nc data streams sent to user terminal 520x. For example, the data rate, coding, and modulation of each downlink data stream may be determined based on the transmission mode selected by user terminal 520x. The received ACK/NAK may be used to initiate either a full retransmission or an incremental transmission of each data packet received in error by user terminal 520x. For an incremental transmission, a small portion of a data packet received in error is transmitted to allow user terminal 520x to recover the packet. [1116] A channel estimator 944 obtains channel gain estimates based on the received steered reference. The channel gain estimates are provided to controller 940 and used (possibly along with the user terminal noise floor N0}]t estimate) to derive
transmit weights for the downlink. Controller 940 provides the data rate controls to data source 912 and TX data processor 920. Controller 940 further provides the coding and modulation controls and the transmit weights to TX data processor 920. The channel

estimation and transmission mode selection for downlink transmission may be performed as described above.
[1117] Controllers 940 and 970 direct the operation at access point 51 Ox and user terminal 520x, respectively. "Memory units 942 and 972 provide storage for program codes and data used by controllers 940 and 970, respectively.
[1118] FIG. 9B shows access point 51 Ox and user teiminal 520x for uplink transmission. In this case, user terminal 520x is transmitter 110 in FIG. 1 and access point 51 Ox is receiver 150. The channel estimation and transmission mode selection for uplink transmission may be performed as described above. The data processing at access point 51 Ox and user terminal 520x for uplink transmission may be performed in a manner similar to that described above for downlink transmission. The spatial processing at access point 510x and user terminal 520x for uplink transmission may be performed as shown in Table 1.
A. Transmitter and Receiver Subsystems
[1119] For clarity, the processing at access point 510x and user terminal 520x for downlink transmission is described in further detail below.
[1120] FIG. 10 shows a block diagram of a transmitter subsystem 1000, which is an embodiment of the transmitter portion of access point 51 Ox. For this embodiment, TX data processor 920 includes a demultiplexer (Demux) 1010, Nc encoders 1012a through 1012s, Nc channel interleavers 1014a through 1014s, Nc symbol mapping units 1016a through 1016s, and Nc signal scaling units 1018a through 1018s (i.e., one set of encoder, channel interleaver, symbol mapping unit, and signal scaling unit for each of the Nc data streams). Demultiplexer 1010 demultiplexes the traffic data (i.e., the information bits) into Nc data streams, where each data stream is provided at the data rate indicated by the data rate control. Demultiplexer 1010 may be omitted if traffic data is already provided as Nc data streams.
[1121] Each encoder 1012 receives and codes a respective data stream based on the selected coding scheme (as indicated by the coding control) to provide code bits. Each data stream may carry one or more data packets, and each data packet is typically coded separately to obtain a coded data packet. The coding increases the reliability of the data transmission. The selected coding scheme may include any combination of CRC coding, convolutional coding, turbo coding, block coding, and so on. The code bits from each encoder 1012 are provided to a respective channel interleaver 1014, which

interleaves the code bits based on a particular interleaving scheme. If the interleaving is dependent on transmission mode, then controller 940 provides an interleaving control (as indicated by the dashed line) to channel interleaver 1014. The interleaving provides time, frequency, and/or spatial diversity for the code bits.
[1122] The interleaved bits from each channel interleaver 1014 are provided to a respective symbol mapping unit 1016, which maps the interleaved bits based on the selected modulation scheme (as indicated by the modulation control) to provide modulation symbols. Unit 1016 groups each set of B interleaved bits to form a B-bit binary value, where B > 1, and further maps each B-bit value to a specific modulation symbol based on the selected modulation scheme (e.g., QPSK, M-PSK, or M-QAM,
where M = 2B). Each modulation symbol is a complex value in a signal constellation defined by the selected modulation scheme. The modulation symbols from each symbol mapping unit 1016 are then provided to a respective signal scaling unit 1018, which scales the modulation symbols with the transmit weights, Wm(k) for k e K, to achieve
channel inversion and power distribution. Signal scaling units 1018a through 1018s provide Nc scaled modulation symbol streams.
[1123] Each data stream is transmitted on a respective parallel channel that may include any number and any combination of subbands, transmit antennas, and spatial channels. For example, one data stream may be transmitted on all usable subbands of each wideband eigenmode, as described above. TX spatial processor 928 performs the required spatial processing, if any, on the Nc scaled modulation symbol streams and provides Nap transmit symbol streams. The spatial processing may be performed as shown in Table 1.
[1124] For a transmission scheme whereby one data stream is transmitted on all subbands of each wideband eigenmode (for a full-CSI MMO system, as described above), Ns sets of encoder 1012, channel interleaver 1014, symbol mapping unit 1016, and signal scaling unit 101*8 may be used to process N$ data streams (where Nc -js/s = Nap modulation symbol streams. TX spatial processor 928 then performs spatial processing on the Nap scaled modulation symbol streams, as shown in Table 1, to provide the Nap transmit symbol streams.
[1125] For a transmission scheme whereby one data stream is transmitted on all subbands of each transmit antenna (for a partial-CSI MIMO system), Nap sets of encoder

1012, channel interleaver 1014, symbol mapping unit 1016, and signal scaling unit 1018 may be used to process Nap data streams (where Nc =Nap) to provide Nap scaled
modulation symbol streams. TX spatial processor 928 then simply passes each scaled modulation symbol stream as a transmit symbol stream. Since spatial processing is not performed for this transmission scheme, each transmit symbol is a modulation symbol. [1126] In general, TX spatial processor 928 performs the appropriate demultiplexing and/or spatial processing of the scaled modulation symbols to obtain transmit symbols for the parallel channel used for each data stream. TX spatial processor 928 further multiplexes pilot symbols with the transmit symbols, e.g., using time division multiplex (TDM) or code division multiplex (CDM). The pilot symbols may be sent in all or a subset of the subbands/eigenmodes used to transmit traffic data. TX spatial processor 928 provides Nap transmit symbol streams to NQp transmitter units 930a through 930ap.
[1127] Each transmitter unit 930 performs OFDM processing on a respective transmit symbol stream and provides a corresponding modulated signal. The OFDM processing typically includes (1) transforming each set of Nf transmit symbols to the time domain using an Appoint inverse fast Fourier transform (IFFT) to obtain a "transformed" symbol that contains Nf samples and (2) repeating a portion of each transformed symbol to obtain an OFDM symbol that contains NF + Ncp samples. The
repeated portion is referred to as the cyclic prefix, and N indicates the number of
samples being repeated. The OFDM symbols are further processed (e.g., converted to one or more analog signals, amplified, filtered, and frequency upconverted) by transmitter unit 930 to generate the modulated signal. Other designs for transmitter subsystem 1000 may also be implemented and are within the scope of the invention. [1128] Controller 940 may perform various functions related to closed-loop rate control for the downlink and uplink (e.g., transmission mode selection for the uplink and transmit weight computation for the downlink). For uplink transmission, controller 940 may perform process 800 in FIG. 8 and selects a transmission mode for* each of the multiple parallel channels on the uplink. Within controller 940, a power allocation unit 1042 distributes the total transmit power, Ptotal , to the multiple parallel channels (e.g.,
A
based on the channel gain estimates
parallel channel. A transmission mode (TM) selector 1046 selects a suitable transmission mode for each parallel channel. Memory unit 942 may store a look-up table 1048 for supported transmission modes and their required SNRs (e.g., as shown in Table 2). For downlink transmission, controller 940 may also perform process 800 in FIG. 8 to determine the transmit power for each subband of each wideband eigenmode and computes the transmit weights used for scaling modulation symbols prior to transmission on the downlink.
[1129] FIG. 11 shows a block diagram of a receiver subsystem 1100, which is an embodiment of the receiver portion of user terminal 520x. The Nap transmitted signals from access point 51 Ox are received by antennas 952a through 952ut, and the received signal from each antenna is provided to a respective receiver unit 954. Each receiver unit 954 conditions and digitizes its received signal to obtain a stream of samples, and further performs OFDM processing on the samples. The OFDM processing at the receiver typically includes (1) removing the cyclic prefix in each received OFDM symbol to obtain a received transformed symbol and (2) transforming each received transformed symbol to the frequency domain using a fast Fourier transform (FFT) to obtain a set of Np received symbols for the N? subbands. The received symbols are estimates of the transmit symbols sent by access point 51 Ox. Receiver units 954a through 954ut provide Nut received symbol streams to RX spatial processor 962. [1130] RX spatial processor 962 performs spatial or space-time processing on the Nut received symbol streams to provide Nc recovered symbol streams. RX spatial processor 962 may implement a linear zero-forcing (ZF) equalizer (which is also referred to as a channel correlation matrix inversion (CCMI) equalizer), a minimum mean square error (MMSE) equalizer, an MMSE linear equalizer (MMSE-LE), a decision feedback equalizer (DFE), or some other equalizer.
[1131] RX data processor 964 receives the Nc recovered symbol streams from RX spatial processor 962. Each recovered symbol stream is provided to a respective symbol demapping unit 1132, which demodulates the recovered symbols in accordance with the modulation scheme used for that stream, as indicated by a demodulation control provided by controller 970. The demodulated data stream from each symbol demapping unit 1132 is de-interleaved by an associated channel de-interleaver 1134 in a manner complementary to that performed at access point 51 Ox for that data stream. If the interleaving is dependent on transmission mode, then controller 970 provides a

deinterleaving control to channel de-interleaver 1134, as indicated by the dashed line. The de-interleaved data from each channel de-interieaver 1134 is decoded by an associated decoder 1136 in a manner complementary to that performed at access point510x, as indicated by a decoding control provided by controller 970. For example, a turbo decoder or a Viterbi decoder may be used for decoder 1136 if turbo or convolutional coding, respectively, is performed at access point 51 Ox. Decoder 1136 may also provide the status of each received data packet (e.g., indicating whether the packet was received correctly or in error). Decoder 1136 may further store demodulated data for packets decoded in error, so that this data may be combined with additional data from a subsequent incremental transmission and decoded.
[1132] In the embodiment shown in FIG. 11, channel estimator 974 estimates the channel response and the noise floor at user terminal 520x (e.g., based on the received pilot symbols) and provides the channel estimates to controller 970. Controller 970 performs various functions related to closed-loop rate control for both the downlink and uplink (e.g., transmission mode selection for the downlink and transmit weight computation for the uplink). For downlink transmission, .controller 970 may perform process 800 in FIG. 8. Within controller 970, a power allocation unit 1172 distributes the total transmit power, -PtotaIjdJ1, to the multiple parallel channels (e.g., based on the
channel gain estimates &m (k) and the noise floor N0M estimate for the user terminal).
A channel inversion unit 1174 performs channel inversion for each of the multiple parallel channels. A transmission mode (TM) selector 1176 selects a suitable transmission mode for each parallel channel. Memory unit 972 may store a look-up table 1178 for supported transmission modes and their required SNRs (e.g., as shown in Table 2). Controller 970 provides NQ selected transmission modes for the Nc parallel channels on the downlink, which may be part of the feedback information sent to access point 51 Ox. For uplink transmission, controller 970 may also perform process 800 in FIG. 8 to determine the transmit power for each subband of each wideband eigenmode and computes the transmit weights used for scaling modulation symbols prior to transmission on the uplink.
11133] For clarity, transmitter subsystem 1000 has been described for access point 51 Ox and receiver subsystem 1100 has been described for user terminal 520x. Transmitter subsystem 1000 may also be used for the transmitter portion of user

terminal 520x, and receiver subsystem 1100 may also be used for the receiver portion of access point 51 Ox.
B. Downlink and Uplink Rate Control
[1134] FIG. 12A shows a process for performing closed-loop rate control for the downlink based on the frame structure shown in FIG. 6. A BCH PDU is transmitted in the first segment of each TDD frame (see FIG. 6) and includes the MIMO pilot that can be used by the user terminal to estimate and track the downlink. A steered reference may also be sent in the preamble of an FCH PDU sent to the user terminal. The user terminal estimates the downlink based on the MMO pilot and/or the steered reference and selects a suitable transmission mode (with the highest supported data rate) for each downlink wideband eigenmode (i.e., each parallel channel). The user terminal then sends these transmission modes as "proposed" transmission modes for the downlink in an RCH PDU sent to the access point.
[1135] The access point receives the proposed transmission modes from the user terminal and schedules data transmission on the downlink in subsequent TDD frame(s). The access point selects the transmission modes for the downlink, which may be the ones received from the user terminal or some other transmission modes (with lower data rates), depending on system loading and other factors. The access point sends assignment information for the user terminal (which includes the transmission modes selected by the access point for downlink transmission) on the FCCH. The access point then transmits data on the FCH to the user terminal using the selected transmission modes. The user terminal receives the assignment information and obtains the transmission modes selected by the access point. The user terminal then processes the downlink transmission in accordance with the selected transmission mode. For the embodiment shown in FIG. 12A, the delay between the channel estimation and transmission mode selection by the user terminal and the use of these transmission modes for downlink transmission is typically one TDD frame, but may be different depending on applications, system configurations, and other factors. [1136] FIG. 12B shows a process for performing closed-loop rate control for the uplink based on the frame structure shown in FIG. 6. The user terminal transmits a steered reference on the RACH during system access and on the RCH upon being assigned FCH/RCH resources (see FIG. 6). The access point estimates the uplink based on the received steered reference and selects a suitable transmission mode for each

uplink wideband eigenmode. The access point sends assignment information for the user terminal (which includes the transmission modes selected for uplink transmission) on the FCCH. The user terminal transmits data on the RCH to the access point using the selected transmission modes. The access point processes the uplink transmission in accordance with the selected transmission modes.
[1137] The closed-loop rate control techniques described herein may be
implemented by various means. For example, these techniques may be implemented in
hardware, software, or a combmation thereof. For a hardware implementation, the
elements used for closed-loop rate control at the transmitter and the receiver (e.g.,
controllers 940 and 970) may be implemented within one or more application specific
integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing
devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays
(FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic
units designed to perform the functions described herein, or a combination thereof.
[1138] For a software implementation, portions of the closed-loop rate control 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 942 or 972 in FIGS. 9A and 9B) and executed by a processor (e.g.,
controller 940 or 970). 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. * *
[1139] Headings are included herein for reference and to aid in locating certain sections. These headings are not intended to limit the scope of the concepts described therein under, and these concepts may have applicability in other sections throughout the entire specification.
[1140] The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein, ^WHAT IS CLAIMED IS:


V " CLAIMS
1. A method of transmitting data on a plurality of parallel channels in a
wireless communication system, comprising:
obtaining channel estimates for each of the plurality of parallel channels;
selecting a transmission mode for each of the plurality of parallel channels based on the channel estimates for the parallel channel, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel; and
sending the transmission mode for each of the plurality of parallel channels to a transmitting entity, wherein a data transmission on each of the plurality of parallel channels is processed at the transmitting entity in accordance with the transmission ' mode selected for the parallel channel.
2. The method of claim, I, further comprising:
receiving data transmissions on the plurality of parallel channels from the transmitting entity; and
processing the data transmissions in accordance with the transmission mode selected for each of the plurality of parallel channels to recover data sent on the parallel channel.
3. The method of claim 1, wherein the channel estimates for each of the plurality of parallel channels include at least one channel gain estimate and a noise floor estimate for the parallel channel.
4. The method of claim 1, wherein the selectineincludek
determining a received signal-to-noise ratio (SNl^Tdf each of the plurality of parallel channels based on the channel estimates for the parallel channel, and wherein the transmission mode for each of the plurality of parallel channels is selected based on the received SNR for the parallel channel.

5. The method of claim 4, wherein the selecting further includes
determining an SNR offset for each of the plurality of parallel channels, and
wherein the transmission mode for each of the plurality of parallel channels is further
selected based on the SNR offset for the parallel channel.
6. The method of claim 5, wherein the selecti^gtiml^includesy
determining an operating SNR for each of the plurality" of parallel channels
based on the received SNR and the SNR offset for the parallel channel, and wherein the transmission mode for each of the plurality of parallel channels is selected based on the operating SNR for the parallel channel.
7. The method of claim 6, wherein the transmission mode for each of the plurality of parallel channels is further selected based on a set of required SNRs for a set of transmission modes supported by the system.
8. The method of claim I, further comprising:
estimating the quality of the data transmission received on each of the plurality of parallel channels, and wherein the transmission mode for each of the plurality of parallel channels is further selected based on the estimated quality of the data transmission received dn the parallel channel.
9. The method of claim 5, further comprising:
adjusting the SNR offset for each of the plurality of parallel channels based on status of data packets received on the parallel channel.
10. The method of claim 5, further comprising:
adjusting the SNR offset for each of the plurality of parallel channels based on at least one decoder metric maintained for the parallel channel.
11. The method of claim 1, further comprising:
detecting for packet errors for each of the plurality of parallel channels; and

adjusting the transmission mode for each of the plurality of parallel channels based on the packet errors for the parallel channel.
12. The method of claim,4,^further comprising:
determining an SNR margin rbrcaCn of the plurality of parallel channels based on the received SNR and a required SNR for the parallel channel; and
adjusting the transmission mode for each of the plurality of parallel channels based on SNR margins for the plurality of parallel channels.
13. The method of claim 6, further comprising:
distributing total transmit power to the plurality of parallel channels, and wherein the operating SNR for each of the plurality of parallel channels is further determined based on transmit power distributed to the parallel channel.
14. The method of claim 13, wherein the total transmit power is uniformly distributed to the plurality of parallel channels.
15. The method of claim 13, wherein the total transmit power is distributed to the plurality of parallel channels using a water-filling procedure.
16. The method of claim 13, further comprising:
determining excess power for each of the plurality of parallel channels based on the operating SNR for the parallel channel, a required SNR for the transmission mode selected for the parallel channel, and the transmit power distributed to the parallel channel;
accumulating the excess power for each of the plurality of parallel channels to obtain total excess power for the plurality of parallel channels; and
redistributing the total excess power to at least one of the plurality of parallel channels.
17. The method of claim 16, wherein the total excess power is redistributed
evenly to unsaturated parallel channels among the plurality of parallel channels, where
the unsaturated parallel channels have data rates greater than zero and less than a
maximum data rate.

18. The method of claim 16, wherein the total excess power is redistributed to one parallel channel, selected from among the plurality of parallel channels, that can, achieve a highest increase in data rate with the total excess power,
19. The method of claim 13, wherein each of the plurality of parallel channels includes a plurality of subbands, the method further comprising:
distributing the transmit power for each of the plurality of parallel channels across the plurality of subbands of the parallel channel to achieve similar received SNRs for the plurality of subbands.
20. The method of claim 13, wherein each of the plurality of parallel
channels includes a plurality of subbands, the method further comprising:
distributing the transmit power for each of the plurality of parallel channels uniformly across the plurality of subbands of the parallel channel.
21. The method of claim 1, wherein the wireless communication system is an orthogonal frequency division multiplex (OFDM) communication system, and wherein the plurality of parallel channels are formed by a plurality of disjoint sets of subbands.
22. The method of claim 1, wherein the wireless communication system is a frequency division multiplex (FDM) communication system, and wherein the plurality of parallel channels are formed by a plurality of frequency subbands.
23. The method of claim 1, wherein the wireless communication system is a time division multiplex (TDM) communication system, and wherein the plurality of parallel channels are formed by a plurality of time slots.
24. The method of claim 1, wherein the wireless communication system is a multiple-input multiple-output (MIMO) communication system, and wherein the plurality of parallel channels are fanned by a plurality of spatial channels.
25. The method of claim 1, wherein the wireless communication system is a
multiple-input multiple-output (MIMO) communication system with orthogonal
frequency division multiplex (OFDM).

26. The method of claim 25, wherein the plurality of parallel channels are formed by a plurality of wideband spatial channels, and wherein each of the plurality of parallel channels includes a plurality of subbands.
27. The method of claim 25, wherein the channel estimates for each of the plurality of parallel channels are obtained based on a pilot transmitted from each of a plurality of antennas by the transmitting entity.
28. The method of claim 25, wherein the channel estimates for each of the plurality of parallel channels are obtained based on a steered teference transmitted from a plurality of antennas by the transmitting entity.
29. An apparatus in a wireless communication system, comprising:
means for obtaining channel estimates for each of a plurality of parallel channels;
means for selecting a transmission mode for each of the plurality of parallel channels based on the channel estimates for the parallel channel, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel; and
means for sending the transmission mode for each of the plurality of parallel channels to a transmitting entity, wherein a data transmission on each of the plurality of parallel channels is processed at the transmitting entity in accordance with the transmission mode selected for the parallel channel.
30. The apparatus of claim 29, further comprising:
means for receiving data transmissions on the plurality of parallel channels from the transmitting entity; and
means for processing the received data transmissions in accordance with the transmission mode selected for each of the plurality of parallel channels to recover data sent on the parallel channel.
31. The apparatus of claim 29, wherein the means for selecting includes

means for determining a received signal-to-noise ratio (SNR) for each of the plurality of parallel channels based on the channel estimates for the parallel channel, and wherein the transmission mode for each of the plurality of parallel channels is selected based on the received SNR for the parallel channel.
32. The apparatus of claim 29, further comprising:
means for estimating the quality of the data transmission received on each of the plurality of parallel channels, and wherein the transmission mode for each of the plurality of parallel channels is further selected based on the estimated quality of the data transmission received on the parallel channel.
33. An apparatus in a wireless communication system, comprising:
a channel estimator operative to obtain channel estimates for each of a plurality of parallel channels; and
a controller operative to select a transmission mode for each of the plurality of parallel channels based on the channel estimates for the parallel channel, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel, and wherein a data transmission on each of the plurality of parallel channels is processed at a transmitting entity in accordance with the transmission mode selected for the parallel channel.
34. The apparatus of claim 33, further cdjnprising:
a receive (RX) data processor operative to receive data transmissions on the plurality of parallel channels and to process the received data transmissions in accordance with the transmission mode selected for each of the plurality of parallel channels to recover data sent on the parallel channel.
35. The apparatus of claim 33, wherein the controller is operative to
determine a received signal-to-noise ratio (SNR) for each of the plurality of parallel
channels based on the channel estimates for the parallel channel and to select the
transmission mode for each parallel channel based on the received SNR for the parallel
channel.

36. The apparatus of claim 33, wherein the controller is operative to obtain an estimate of the quality of the data transmission received on each of the plurality of parallel channels and to adjust the transmission mode for each parallel channel based on the estimated quality of the data transmission received on the parallef channel.
37. A method of transmitting data on a plurality of parallel channels in a wireless communication system, comprising:
receiving feedback information from a receiving entity, wherein the feedback information is indicative of the quality of the plurality of parallel channels;
determining a transmission mode for each of the plurality of parallel channels based on the feedback information, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel;
processing data for each of the plurality of parallel channels in accordance with the transmission mode for the parallel channel; and
transmitting the processed data for each of the plurality of parallel channels on the parallel channel to the receiving entity.
38. The method of claim 37, wherein the transmission mode for each of the plurality of parallel channels is selected by the receiving entity based on channel estimates obtained for the parallel channel, and wherein the feedback information includes a plurality of transmission modes selected by the receiving entity for the plurality of parallel channels.
39. The method of claim 37, further comprising:
obtaining channel gain estimates for each of the plurality of parallel channels, and wherein the transmission mode for each of the plurality of parallel channels is determined based on the channel gain estimates for the parallel channel and a noise floor estimate for the parallel channel included in the feedback information from the receiving entity.
40. The method of claim 39, wherein the channel gain estimates for each of
the plurality of parallel channels are obtained based on a steered reference received from
the receiving entity.

41. The method of claim 37, further comprising:
receiving an adjustment to the transmission mode for a first parallel channel among the plurality of parallel channels; and
processing data for the first parallel channel in accordance with the adjustment to the transmission mode for the first parallel channel.
42. The method of claim 41, wherein the adjustment to the transmission mode for the first parallel channel is determined based on packet errors detected for the first parallel channel.
43. The method of claim 41, wherein the adjustment to the transmission mode for the first parallel channel is determined based on a received signal-to-noise ratio (SNR) and a required SNR for the first parallel channel.
44. The method of claim 37, further comprising:
computing, for each of the plurality of parallel channels, a plurality of transmit weights for a plurality of subbands of the parallel channel, wherein the plurality of transmit weights achieve similar received signal-to-noise ratios (SNRs) for the plurality of subbands of the parallel channel; and
scaling the processed data for each of the plurality of parallel channels with the plurality of transmit weights for the parallel channel, and wherein the scaled and processed data for each of the plurality of parallel channels is transmitted on the parallel channel.

45. An apparatus in a wireless communication system, comprising:
means for receiving feedback information from a receiving entity, wherein the feedback information is indicative of the quality of the plurality of parallel channels;
means for determining a transmission mode for each of a plurality of parallel channels based on the feedback information, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel;
means for processing data for each of the plurality of parallel channels in accordance with the transmission mode for the parallel channel; and
means for transmitting the processed data for each of the plurality of parallel channels on the parallel channel.
46. The apparatus of claim 45, further comprising:
means for obtaining channel gain estimates for each of the plurality of parallel channels, and wherein the transmission mode for each of the plurality of parallel channels is determined based on the channel gain estimates for the parallel channel and a noise floor estimate for the parallel channel included in the feedback information from the receiving entity.
47. The apparatus of claim 4& further Comprising:
means for receiving an adjustment KKfee transmission mode for a first parallel channel among the plurality of parallel channels; and
means for processing data for the first parallel channel in accordance with the adjustment to the transmission mode for the first parallel channel
48. An apparatus in a wireless communication system, comprising:
a controller operative to determine a transmission mode for each of a plurality of parallel channels based on feedback information received from a receiving entity, wherein the feedback information is indicative of the quality of the plurality of parallel channels, and wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel;
a transmit (TX) data processor operative to process data for each of the plurality of parallel channels in accordance with the transmission mode for the parallel channel; and

at least one transmitter unit operative to transmit the processed data for each of the plurality of parallel channels on the parallel channel.
49. The apparatus of claim 48, wherein the controller if operative to obtain channel gain estimates for each of the plurality of parallel channels and to determine the transmission mode for each of the plurality of parallel channels based on the channel gain estimates for the parallel channel and a noise floor estimate for the parallel channel included in the feedback information from the receiving entity.
50. The apparatus of claim 48, wherein the controller is operative to obtain an adjustment to the transmission mode for a first parallel channel among the plurality of parallel channels, and wherein the TX data processor is operative to process data for the first parallel channel in accordance with the adjustment to the transmission mode for the first parallel channel.
51. A method of transmitting data on a plurality of parallel channels in a wireless communication system, comprising:
obtaining channel estimates for each of the plurality of parallel channels;
computing a received signal-to-noise ratio (SNR)'for each of the plurality of parallel channels based on the channel estimates for the parallel channel;
computing an operating SNR for each of the plurality of parallel channels based on the received SNR and an SNR offset for the parallel channel;
selecting a transmission mode for each of the plurality of parallel channels based on the operating SNR for the parallel channel and a set of required SNRs for a set of transmission modes supported by the system, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel; and
processing data for each of the plurality of parallel channels in accordance with the transmission mode selected for the parallel channel.

52. The method of claim 51, further comprising:
estimating the quality of a data transmission received on each of the plurality of
parallel channels; and
adjusting the SNR offset for each of the plurality of parallel channels based on the estimated quality of the data transmission received on the parallel channel.
53. The method of claim 52, wherein the quality of the data transmission received on each of the plurality of parallel channels is estimated based on status of packets received on the parallel channel.
54. The method of claim 52, further comprising:
adjusting the transmission mode for each of the plurality of parallel channels based on the estimated quality of the data transmission received on the parallel channel.
55. An apparatus in a wireless communication system, comprising:
means for obtaining channel estimates for each of a plurality of parallel channels;
means for computing a received signal-to-noise ratio (SNR) for each of the plurality of parallel channels based on the channel estimates for the parallel channel;
means for computing an operating SNR for each of the plurality of parallel channels based on the received SNR and an SNR offset for the„parallel channel;
means for selecting a transmission mode for each of the plurality of parallel channels based on the operating SNR for the parallel channel and a set of required SNRs for a set of transmission modes supported by the system, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel; and
means for processing *data for each of the plurality of parallel channels in accordance with the transmission mode selected for the parallel channel.
56. The apparatus of claim 55, further comprising:
means for estimating the quality of a data transmission received on each of the plurality of parallel channels; and

means for adjusting the SNR offset for each of the plurality of parallel channels based on the estimated quality of the data transmission received on the parallel channel.
57. The method of claim 56, further comprising:
means for adjusting the transmission mode for each of the plurality of parallel channels based on the estimated quality of the data transmission received on the parallel channel.
58. An apparatus in a wireless communication system, comprising:
a channel estimator operative to provide channel gain estimates for each of a plurality of parallel channels;
a selector operative to compute a received signal-to-noise ratio (SNR) for each of the plurality of parallel channels based on the channel estimates for the parallel channel, compute an operating SNR for each of the plurality of parallel channels based on the received SNR and an SNR offset for the parallel channel, and select a transmission mode for each of the plurality of parallel channels based on the operating SNR for the parallel channel and a set of required SNRs for a set of transmission modes supported by the system, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel; and
a data processor operative to process data for each of the plurality of parallel channels in accordance with the transmission mode selected for the parallel channel.
59. The apparatus of claim 58, wherein the selector is operative to receive an estimate of the quality of a data transmission received on each of the plurality of parallel channels and to adjust the SNR offset for each of the plurality of parallel channels based on the estimated quality of the data transmission received on the parallel channel.
60. The method of claim 59, wherein the selector is further operative to adjust the transmission mode for each of the plurality of parallel channels based on the estimated quality of the data transmission received on the parallel channel.

61. A processor readable media for storing instructions operable to:
obtain channel gain estimates for each of a plurality of parallel channels in a wireless communication system;
compute a received signal-to-noise ratio .(SNR) for each of the plurality of parallel channels based on the channel estimates for the parallel channel;
compute an operating SNR for each of the plurality of parallel channels based on the received SNR and an SNR offset for the parallel channel; and
select a transmission mode for each of the plurality of parallel channels based on the operating SNR for the parallel channel and a set of required SNRs for a set of transmission modes supported by the system, wherein the transmission mode for each of the plurality of parallel channels indicates a data rate for the parallel channel, and wherein data is sent on each of the plurality of parallel channels in accordance with the transmission mode selected for the parallel channel.
62. The processor readable media of claim 61 and further storing instructions
operable to:
adjust the SNR offset for each of the plurality of parallel channels based on an estimate of the quality of the data transmission received on the parallel channel.
63. The processor readable media of claim 62 and further storing instructions
operable to:
adjust the transmission mode for each of the plurality of parallel channels based on the estimated quality of the data transmission received on the parallel channel.


Documents:

0716-chenp-2005-abstract.pdf

0716-chenp-2005-assignement.pdf

0716-chenp-2005-claims.pdf

0716-chenp-2005-correspondnece-others.pdf

0716-chenp-2005-description(complete).pdf

0716-chenp-2005-drawings.pdf

0716-chenp-2005-form 1.pdf

0716-chenp-2005-form 26.pdf

0716-chenp-2005-form 3.pdf

0716-chenp-2005-form 5.pdf

0716-chenp-2005-form18.pdf

0716-chenp-2005-pct.pdf

716-chenp-2005 amended pages of specification 23-05-2011.pdf

716-chenp-2005 amended claims 23-05-2011.pdf

716-CHENP-2005 AMENDED PAGES OF SPECIFICATION 06-05-2011.pdf

716-CHENP-2005 AMENDED CLAIMS 06-05-2011.pdf

716-chenp-2005 correspondence others 23-05-2011.pdf

716-CHENP-2005 CORRESPONDENCE OTHERS 23-06-2010.pdf

716-chenp-2005 form-1 06-05-2011.pdf

716-chenp-2005 form-3 06-05-2011.pdf

716-CHENP-2005 OTHER PATENT DOCUMENT 06-05-2011.pdf

716-CHENP-2005 POWER OF ATTORNEY 06-05-2011.pdf

716-CHENP-2005 EXAMINATION REPORT REPLY RECIEVED 06-05-2011.pdf


Patent Number 247917
Indian Patent Application Number 716/CHENP/2005
PG Journal Number 23/2011
Publication Date 10-Jun-2011
Grant Date 02-Jun-2011
Date of Filing 25-Apr-2005
Name of Patentee QUALCOMM INCORPORATED
Applicant Address 5775 MOREHOUSE DRIVE, SAN DIEGO, CALIFORNIA 92121, USA
Inventors:
# Inventor's Name Inventor's Address
1 WALTON, J, RODNEY 85 HIGHWOODS LANE, CARLISLE, MA 01741, USA
2 WALLACE, MARK, S 4 MODEL LANE, BEDFORD, MA 01730, USA
3 KETCHUM, JOHN, W 37 CANDLEBERRY LANE, HARVARD, MA 01451, USA
4 HOWARD, STEVEN, J 75 HERITAGE AVENUE, ASHLAND, MA 01721, USA
PCT International Classification Number H04L 1/00
PCT International Application Number PCT/US03/34570
PCT International Filing date 2003-10-24
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 60/421,309 2002-10-25 U.S.A.
2 10/448,801 2003-05-31 U.S.A.