Imported: 02 Mar '17 | Published: 21 Jul '09
USPTO - Utility Patents
To select a transmission mode to use for a data transmission via a MIMO channel from station A to station B, station A obtains channel information used for spatial processing and determines the age of this information. Station A selects one of multiple transmission modes based on the age of the channel information and possibly other information (e.g., the fading characteristic of the MIMO channel). To select rate(s) to use for the data transmission, station A obtains channel state information (CSI) indicative of the received signal quality for the MIMO channel, e.g., received SNRs or initial rates. Station A determines the age of the CSI and selects one or more final rates based on the CSI, the age of the CSI, the selected transmission mode, and possibly other information. Station A processes data in accordance with the selected transmission mode and final rate(s) and transmits the processed data to station B.
The present Application for Patent claims priority to Provisional Application Ser. No. 60/569,201, entitled Transmission Mode Selection and Rate Selection for a Wireless Communication System, filed May 7, 2004, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
I. Field
The present invention relates generally to communication, and more specifically to transmission mode and rate selection for a wireless communication system.
II. Background
A wireless multiple-input multiple-output (MIMO) system employs multiple (NT) transmit antennas at a transmitting entity and multiple (NR) receive antennas at a receiving entity for data transmission. A MIMO channel formed by the T transmit antennas and NR receive antennas may be decomposed into NS spatial channels, where NSmin {NT, NR}. The NS spatial channels may be used to transmit data in parallel to achieve higher throughput and/or redundantly to achieve greater reliability.
Each spatial channel may experience various deleterious channel conditions such as, e.g., fading, multipath, and interference effects. The NS spatial channels may experience different channel conditions and may achieve different signal-to-noise-and-interference ratios (SNRs). The SNR of each spatial channel determines its transmission capacity, which is typically quantified by a particular data rate that may be reliably transmitted on the spatial channel. For a time variant MIMO channel, the channel condition changes over time and the SNR of each spatial channel also changes over time. The different SNRs for different spatial channels plus the time varying nature of the SNR for each spatial channel make it challenging to efficiently transmit data in a MIMO system.
There is therefore a need in the art for techniques to efficiently transmit data in a time-varying wireless system.
Techniques for selecting a suitable transmission mode and one or more suitable rates for data transmission in a wireless (e.g., MIMO) communication system are described herein. According to an embodiment of the invention, a method is provided in which the age of channel information available for use to transmit data via a wireless channel is determined. A transmission mode is selected from among multiple transmission modes based on the age of the channel information. Data is transmitted via the wireless channel in accordance with the selected transmission mode.
According to another embodiment, an apparatus is described which includes a controller and a spatial processor. The controller determines the age of channel information available for use to transmit data via a wireless channel and selects a transmission mode from among multiple transmission modes based on the age of the channel information. The spatial processor spatially processes data in accordance with the selected transmission mode.
According to yet another embodiment, an apparatus is described which includes means for determining the age of channel information available for use to transmit data via a wireless channel and means for selecting a transmission mode from among multiple transmission modes based on the age of the channel information.
According to yet another embodiment of the invention, a method is provided in which channel state information indicative of received signal quality for a wireless channel used for data transmission is obtained. The age of the channel state information is determined. At least one rate is selected for data transmission via the wireless channel based on the channel state information and the age of the channel state information.
According to yet another embodiment, an apparatus is described which includes a controller and a data processor. The controller obtains channel state information indicative of received signal quality for a wireless channel used for data transmission, determines the age of the channel state information, and selects at least one rate for data transmission via the wireless channel based on the channel state information and the age of the channel state information. The data processor processes data in accordance with the at least one rate selected by the controller.
According to yet another embodiment, an apparatus is described which includes means for obtaining channel state information indicative of received signal quality for a wireless channel used for data transmission, means for determining the age of the channel state information, and means for selecting at least one rate for data transmission via the wireless channel based on the channel state information and the age of the channel state information.
According to yet another embodiment, a method is provided in which the age of channel information available for use to transmit data via a wireless channel is determined. A transmission mode is selected from among multiple transmission modes based on the age of the channel information. Channel state information indicative of received signal quality for the wireless channel is obtained. The age of the channel state information is determined. At least one rate is selected for data transmission based on the channel state information and the age of the channel state information. Data is transmitted via the wireless channel in accordance with the transmission mode and the at least one rate selected for data transmission.
Various aspects and embodiments of the invention are described in further detail below.
The word exemplary is used herein to mean serving as an example, instance, or illustration. Any embodiment described herein as exemplary is not necessarily to be construed as preferred or advantageous over other embodiments.
The transmission mode and rate selection techniques described herein may be used for various wireless communication systems. These techniques may be used for single-carrier as well as multi-carrier systems. These techniques may also be used for time division duplex (TDD) as well as frequency division duplex (FDD) systems. For an FDD system, the downlink (or forward link) and uplink (or reverse link) are allocated different frequency bands, and the channel response for one link may not correlate well with the channel response for the other link. For a TDD system, the downlink and uplink share the same frequency band, and a high degree of correlation normally exists between the downlink and uplink channel responses. Pilot transmission, channel estimation, and spatial processing may be performed in a manner to take advantage of this correlation. For clarity, the transmission mode and rate selection is described below for an exemplary single-carrier TDD MIMO system. Also for clarity, station A is a transmitting entity and station B is a receiving entity for a data transmission from station A to station B. Each station may be an access point (which is also referred to as a base station) or a user terminal (which is also referred to as a mobile station, a user equipment, a wireless device, and so on).
The exemplary MIMO system supports multiple transmission modes for improved performance and greater flexibility. Each transmission mode may perform spatial processing (if at all) in a different manner and may or may not require channel information for spatial processing. Table 1 lists some exemplary transmission modes and their short descriptions.
The steered mode uses channel information (e.g., eigenvectors) to transmit data on orthogonal spatial channels (or eigenmodes) of a MIMO channel. The unsteered mode does not need any channel information to transmit data on spatial channels of the MIMO channel.
The MIMO system may employ spatial spreading for the unsteered mode to enhance performance. With spatial spreading, station A performs spatial processing with different steering matrices so that a data transmission observes an ensemble of effective channels and is not stuck on a single bad channel realization for an extended period of time. Consequently, performance is not dictated by the worst-case channel condition.
Each transmission mode has different capabilities and requirements. The steered mode can typically achieve better performance and may be used if station A has sufficient channel information to transmit data on orthogonal spatial channels. The unsteered mode does not require channel information, but performance may not be as good as the steered mode. A suitable transmission mode may be selected for use depending on the available channel information, the capabilities of stations A and B, system requirements, and so on.
For the steered mode, data is transmitted on NS eigenmodes of the MIMO channel formed by the NT transmit antennas at station A and the NR receive antennas at station B. The MIMO channel may be characterized by an NRNT channel response matrix H, which may be diagonalized to obtain the NS eigenmodes of the MIMO channel. This diagonalization may be achieved by performing either singular value decomposition of H or eigenvalue decomposition of a correlation matrix of H, which is R=HHH, where HH denotes the conjugate transpose of H. The singular value decomposition of H may be expressed as:
H=UVH,Eq(1)
Station A performs spatial processing for the steered mode as follows:
xs=Vs,Eq (2)
The received symbols at station B may be expressed as:
rs=Hxs+n=HVs+n=Heffss+n,Eq (3)
Station B may perform full-CSI spatial processing for the steered mode as follows:
fcsis=1UHrs=1UHHxs+nfcsi=s+nfcsi,Eq (4)
Alternatively, station B may perform minimum mean square error (MMSE) spatial processing, as follows:
mmses=Dmmse sMmmsesrs=DmmsesQmmsess+nmmses,Eq (5)
For the unsteered mode with spatial spreading, station A performs spatial processing as follows:
xu=Vsss,Eq (6)
The received symbols at station B for the unsteered mode may be expressed as:
ru=Hxu+n=HVsss+n=Heffus+n,Eq (7)
Station B may perform channel correlation matrix inversion (CCMI) spatial processing, which is also commonly referred to as a zero-forcing, as follows:
ccmiu=Mccmiuru=s+nccmiu,Eq (8)
Alternatively, station B may perform MMSE spatial processing as follows:
mmseu=DmmseuMmmseuru=DmmseuQmmseus+nmmseu,Eq (9)
As shown in equations (5) and (8), station B may perform MMSE spatial processing for both the steered and unsteered modes. However, different matrices Heffs and Heffu are used for the steered and unsteered modes, respectively.
If spatial spreading is not used for the unsteered mode, then the transmit vector may be expressed as: xu=s. Station B may recover the data symbols in s using CCMI or MMSE receiver spatial processing. However, the spatial filter matrix would be derived based on H instead of Heffu.
Station A performs spatial processing with V for the steered mode. Station B performs spatial matched filtering with U (or with H and V) for the steered mode and with H and Vss, for the unsteered mode. An estimate of H may be obtained by one station based on an unsteered MIMO pilot sent by the other station. An unsteered MIMO pilot is a pilot comprised of N pilot transmissions sent from N transmit antennas, where the pilot transmission from each transmit antenna is identifiable by the receiving entity, N=NT if the unsteered MIMO pilot is sent by station A, and N=NR if the unsteered MIMO pilot is sent by station B. This may be achieved, for example, by using a different orthogonal sequence for the pilot transmission from each transmit antenna and/or sending the pilot transmission for each transmit antenna on a different frequency subband. The unsteered MIMO pilot may be expressed as:
xpilotu(i)=w(i)p(i),Eq (10)
For example, if N=4, then four Walsh vectors w(0)=[1 1 1 1]T, w(1)=[1 1 1 1]T, w(2)=[1 1 1 1]T, and w(3)=[1 1 1 1]T may be used for four symbol periods, where T denotes a transpose. A complete unsteered MIMO pilot may be sent in N (consecutive or non-consecutive) symbol periods, or one symbol period for each chip of the orthogonal sequence. Upon receiving the complete unsteered MIMO pilot, the receiving entity can perform the complementary processing on the received pilot to estimate H. For simplicity, the following description assumes no error in channel estimation.
For a TDD system, 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 X to antenna array Y, then a reciprocal channel implies that the coupling from array Y to array X is given by HT. However, the responses of the transmit and receive chains at station A are typically different from the responses of the transmit and receive chains at station B. Calibration may be performed to derive correction matrices that can account for the difference in the responses of the transmit and receive chains at the two stations. The application of the correction matrices at these two stations allows a calibrated channel response for one link to be expressed as a transpose of a calibrated channel response for the other link. For simplicity, the following description assumes a flat frequency response for the transmit and receive chains, Hab=H is the channel response matrix for the link from station A to station B. and Hba=HT is the channel response matrix for the link from station B to station A.
The singular value decomposition of Hab and Hba may be expressed as:
Hab=UVH and Hba=V*TUT,Eq (11)
where V* is a complex conjugate of V. As shown in equation (11), U and V are matrices of left and right eigenvectors of Hab, and V* and U* are matrices of left and right eigenvectors of Hba. Stations A and B may use the matrices V and U*, respectively, for spatial processing to transmit data for the steered mode.
Because of the reciprocal channel, one station may perform the singular value decomposition to obtain either V or U*. This station may then transmit a steered MIMO pilot, which is a pilot sent on the eigenmodes of the MIMO channel. The other station may then estimate its matrix of eigenvectors based on the steered MIMO pilot.
Station A may transmit a steered MIMO pilot as follows:
xpilot, ms=Vmpm,Eq (12)
The received steered MIMO pilot at station B may be expressed as:
rpilot, ms=Habxpilot, ms+n=UVHvmpm+n=ummpm+n,Eq (13)
Pilot and data may be transmitted in various manners in the MIMO system. For the steered mode, station A uses channel information (or eigensteering information) to transmit data on the eigenmodes of the MIMO channel. The channel information may be in the form of H (which may be obtained from an unsteered MIMO pilot sent by station B) or in the form of U or V (which may be obtained from a steered MIMO pilot sent by station B). Station B also uses channel information (e.g., H, U, or V for the steered mode, and H for the unsteered mode) to recover a data transmission from station A. For both modes, station B may estimate the received SNRs for the spatial channels, determine the rate(s) supported by the received SNRs, and send either the received SNRs or the supported rate(s) to station A. Station A may then select a suitable transmission mode and suitable rate(s) for data transmission to station B based on the received feedback and possibly other information. For clarity, the rates selected by station B are referred to as the initial rates, and the rates selected by station A are referred to as the final rates. Also for clarity, the following description assumes that station B sends rate information (instead of SNR information) back to station A.
FIG. 1A shows an exemplary pilot and data transmission scheme 100 for the MIMO system. Initially, station A transmits an unsteered MIMO pilot (block 112). Station B receives and processes the unsteered MIMO pilot and obtains an estimate of the channel response matrix H (block 114). Station B also estimates the received SNRs for the (orthogonal or non-orthogonal) spatial channels of the MIMO channel based on the received pilot (block 116). Station B also determines either an initial rate for each eigenmode (for the steered mode) or a single initial rate for the MIMO channel (for the unsteered mode) based on the received SNRs (also block 116). The initial rate(s) are applicable for a data transmission from station A to station B.
Station B transmits either an unsteered MIMO pilot or a steered MIMO pilot using the eigenvectors derived from H (block 118). Station A receives and processes the steered or unsteered MIMO pilot to obtain a channel estimate for the link from station A to station B (block 120). Station B also sends the initial rate(s) to station A (block 122). Station A receives the initial rate(s) and determines a transmission mode and final rate(s) to use for data transmission to station B, as described below (block 124). Station A then transmits data to station B using the selected transmission mode and final rate(s) (block 126). Station B receives and processes the data transmission from station A (block 128).
FIG. 1B shows another exemplary pilot and data transmission scheme 102 for the MIMO system. Initially, station B transmits an unsteered MIMO pilot (block 112). Station A receives and processes the unsteered MIMO pilot and obtains an estimate of the channel response matrix H (block 114). Station A then transmits either an unsteered MIMO pilot or a steered MIMO pilot using the eigenvectors derived from H (block 118). Station B receives and processes the steered or unsteered MIMO pilot to obtain a channel estimate for the link from station A to station B (block 120). The remaining processing for blocks 116, 122, 124, 126 and 128 are as described above for FIG. 1A.
As shown in FIGS. 1A and 1B, pilots may be transmitted in various manners to allow both stations A and B to obtain a channel estimate for the link from station A to station B. Both stations may transmit an unsteered MIMO pilot. Alternatively, one station may transmit an unsteered MIMO pilot, and the other station may transmit a steered MIMO pilot. In this case, either station A or B may transmit the unsteered MIMO pilot, as shown in FIGS. 1A and 1B.
FIG. 2 shows an exemplary frame structure 200 that may be used for the MIMO system. Data transmission occurs in units of frames, with each frame spanning a particular time duration (e.g., 2 msec). Each frame may be partitioned into (1) a downlink phase during which data and pilot may be sent on the downlink and (2) an uplink phase during which data and pilot may be sent on the uplink. For each frame, a MIMO pilot may or may not be sent on the downlink, and a MIMO pilot may or may not be sent on the uplink.
Station B may estimate the received SNRs for the spatial channels based on a steered or unsteered MIMO pilot received from station A. The received SNR is dependent on the spatial processing performed by both stations A and B.
For the steered mode with full-CSI receiver spatial processing, the SNR of each eigenmode may be expressed as:
For the steered and unsteered modes with MMSE receiver spatial processing, the SNR of each spatial channel may be expressed as:
For the unsteered mode with CCMI receiver spatial processing, the SNR of each spatial channel may be expressed as:
In the above equations, the quantity Pm(n)/noie2 is the SNR (in linear units) prior to the receiver spatial processing. The quantities SNRfcsi, m(n), SNRmmse, m(n), and SNRccmi, m(n) are the SNRs (in units of decibel (dB)) after the receiver spatial processing and are also referred to as the received SNRs. In the following description, SNR refers to received SNR unless noted otherwise.
For the unsteered mode with spatial spreading, the NS spatial channels achieve similar SNRs because of the spatial spreading with the matrix Vss. Consequently, the same rate may be used for all of the data streams sent on these spatial channels. With spatial spreading, each data symbol is transmitted on all NS spatial channels and observes an average SNR for all spatial channels, which may be expressed as:
The SNR averaging may be done in linear unit, as shown in equations (17) and (18), or in dB.
For the steered mode, station B may determine an initial rate for each eigenmode based on its SNRm(n), which may be equal to SNRfcsi, m(n) computed as shown in equation (14) or equal to SNRmmse, m(n) computed as shown in equation (15). The MIMO system may support a set of rates, and each rate may be associated with a particular data rate, a particular coding scheme, a particular modulation scheme, and a particular minimum SNR required to achieve a specified desired level of performance (e.g., 1% packet error rate). The required SNR for each non-zero rate may be obtained by computer simulation, empirical measurements, and so on. The set of supported rates and their required SNRs may be stored in a look-up table. The SNRm(n) for each eigenmode may be provided to the look-up table, which then returns a rate Rm(n) supported by that SNR. The rate Rm(n) is associated with the highest data rate and a required SNR that is less than or equal to SNRm(n), or SNRreq(Rm(n))SNRm(n).
For the unsteered mode, station B may determine an initial rate for the MIMO channel based on SNR(n), which may be equal to SNRmmse(n) computed as shown in equation (17) or equal to SNRccmi(n) computed as shown in equation (18). The SNR(n) may be provided to a look-up table, which then returns a rate R(n) supported by the MIMO channel for the unsteered mode for that SNR. The same or different look-up tables may be used for the steered and unsteered modes.
Station B may make an initial determination as to the transmission mode and rate(s) to use for a data transmission from station A to station B. Station A may make a final determination as to the transmission mode and rate(s) to use for this data transmission based on feedback received from station B and other pertinent information.
Station A may select which transmission mode to use for data transmission based on the age of the channel information available in the current frame and possibly other information regarding the MIMO channel. The characteristic of the MIMO channel may vary over time due to a number of factors such as, for example, fading, multipath, and interference. For a time variant system, the accuracy/reliability of the channel information degrades over time. Poor performance may be obtained by using inaccurate/unreliable channel information for data transmission. Since the channel information is derived from a MIMO pilot, the age of the channel information may be determined based on the age of the MIMO pilot used to derive the channel information. The age of the MIMO pilot may be determined as described below.
A MIMO pilot may be transmitted in each frame, or periodically in every few frames, or sporadically. Station A may derive an estimate of H based on an unsteered MIMO pilot received from station B and may decompose H to obtain the matrix V of eigenvectors used to transmit data on the eigenmodes of the MIMO channel. Station A may also obtain the eigenvectors directly from a steered MIMO pilot received from station B. However, this steered MIMO pilot is transmitted by station B using eigenvectors in U. which are derived from an estimate of H obtained by station B from an unsteered MIMO pilot sent by station A. Thus, the eigenvectors in V obtained by station A from the steered MIMO pilot sent by station B are, in effect, derived from the unsteered MIMO pilot sent by station A. The quality of the eigenvectors in V derived from the steered MIMO pilot received from station B is thus dependent on (and is only as good as) the quality of the corresponding unsteered MIMO pilot sent by station A, from which H and U are derived.
Station A may keep track of when MIMO pilots are transmitted to and received from station B. For example, station A may keep a record of (1) the time each unsteered MIMO pilot is transmitted, (2) the time each steered MIMO pilot is transmitted, (3) the time each unsteered MIMO pilot is received, and (4) the time each steered MIMO pilot is received. This record may be maintained in various formats. For example, the record may contain, for each frame n, four time entries for the four MIMO pilot events. If a MIMO pilot was not transmitted or received in a given frame n, then the time entry for that MIMO pilot for a prior frame n1 may be copied and stored for frame n. With this record format, in any given frame n, station A may readily determine (1) the time that the latest (or most recent) unsteered MIMO pilot was transmitted, which is denoted as ttxu(AB,n), (2) the time the latest steered MIMO pilot was transmitted, which is denoted as ttxs(AB,n), (3) the time the latest unsteered MIMO pilot was received, which is denoted as trxu(AB,n), and (4) the time the latest steered MIMO pilot was received, which is denoted as trxu(AB,n). Station A may use this information to determine the age and quality of the channel information that is currently available.
Table 2 shows a list of variables used in the description below.
Station A may determine the age of the channel information available in the current frame n (or the current channel information) as follows. If the current channel information is derived from an unsteered MIMO pilot received from station B, then the age of this information is equal to the age of the unsteered MIMO pilot. However, a delay of dpilotu is incurred to process the unsteered MIMO pilot to obtain the channel information or, equivalently, the channel information is available dpilotu seconds after receiving the unsteered MIMO pilot. Thus, the latest unsteered MIMO pilot that could have been used to derive the current channel information was received at least dpilotu seconds earlier and may be identified as follows:
If the latest unsteered MIMO pilot for the current frame n was received at least dpilotu seconds earlier, then this unsteered MIMO pilot was used to derive the current channel information. However, if the latest unsteered MIMO pilot for the current frame n was received less than dpilotu seconds earlier, then this unsteered MIMO pilot was not used to derive the current channel information. Equation (19) determines the most recent frame i in which the latest unsteered MIMO pilot for that frame i could have been used to derive the current channel information. The age of the current channel information derived from the unsteered MIMO pilot may then be expressed as:
Ageu=tcurrenttrxu(AB,i),Eq (20)
If the current channel information is derived from a steered MIMO pilot received from station B, then the age of this information is equal to the age of the corresponding unsteered MIMO pilot from which the steered MIMO pilot is derived. A delay of dpilots is incurred by station A to process the steered MIMO pilot received from station B, and a delay of dpilotu is incurred by station B to process the corresponding unsteered MIMO pilot sent by station A. Thus, the latest unsteered MIMO pilot that could have been used to derive the current channel information was received at least dpilots+dpilotu seconds earlier and may be identified as follows:
Equation (21) determines the most recent frame j in which the latest unsteered MIMO pilot for that frame j could have been used to derive the current channel information. The age of the current channel information derived from the steered MIMO pilot may then be expressed as:
Ages=tcurrentttxu(AB,j),Eq (22)
The age of the current channel information, Agech
Agech
A transmission mode may then be selected based on the age of the current channel information, as follows:
The transmission mode may also be selected based on other pertinent information. For example, the time variant nature of the MIMO channel may be considered. If the MIMO channel is relatively static (e.g., for fixed stations A and B), then the channel information may be relatively accurate and valid over a longer time period. Conversely, if the MIMO channel changes fairly rapidly (e.g., for mobile stations A and/or B), then the channel information may be accurate over a shorter time period. The time variant nature of the MIMO channel may be accounted for in the computation of the age of the channel information and/or in the age threshold, Thagesteer. For example, Ageu and Ages may be a function of channel type (e.g., fast or slow fading), different age thresholds may be used for different channel types, and so on.
Station A may select the final rate(s) for data transmission to station B based on the age of the underlying MIMO pilot used to derive the initial rate(s). The actual rate(s) supported by the link from stations A to B are dependent on the received SNRs at station B, which may be estimated based on either a steered MIMO pilot or an unsteered MIMO pilot received from station A. The received SNRs may be converted to initial rate(s), which may then be sent back to station A. Station A may estimate the received SNRs at station B based on the initial rate(s) obtained from station B. For example, station A may provide each initial rate to an inverse look-up table, which may then provide the required SNR for the initial rate. The set of SNRs available to station A in the current frame n (or the current SNR information) is denoted as SNR(AB,n) and is obtained at time tsnr(AB,n).
A delay of dsnr is incurred in order (1) for station B to process a steered or unsteered MIMO pilot to estimate the received SNRs, derive the initial rate(s), and send the initial rate(s) back to station A and (2) for station A to process the initial rate(s) to obtain the current SNR information. Thus, the latest MIMO pilot that could have been used to obtain the current SNR information was sent by station A at least dsnr seconds earlier and may be identified as follows:
Equation (25) determines the most recent frame k in which the latest steered or unsteered MIMO pilot for that frame k could have been used to derive the current SNR information. The age of the current SNR information may then be expressed as:
Agesnr
where k is the frame index determined by equation (25).
The final rate(s) may be selected based on the current SNR information, the age of the SNR information, and possibly other information. For example, if the age of the current SNR information exceeds an SNR age threshold (or Agesnr
If the steered mode is selected for use, then station A may receive an initial rate for each eigenmode m, determine the required SNR for each eigenmode based on the initial rate for that eigenmode, and adjust the required SNR for each eigenmode based on the age of the SNR information. For example, an SNR back-off, SNRage
where SNRadj
The adjusted SNR for each eigenmode may then be computed as:
SNRadj, ms(n)=SNRreq, m(n)SNRage
If the unsteered mode is selected for use, then station A may receive an initial rate for each eigenmode and may determine a single final rate for data transmission in the unsteered mode. An adjusted SNR may be computed for each eigenmode as follows:
SNRadj, mu(n)=SNRreq, m(n)SNRage
The number of spatial channels to use for data transmission in the current frame n, Nsch(n), may be determined by counting the number of good eigenmodes with adjusted SNRs greater than an SNR threshold, SNRth. For each eigenmode m, if SNRadj, mu(n)SNRth, then eigenmode m is counted for Nsch(n) . The number of spatial channels to use for the unsteered mode is thus less than or equal to the number of eigenmodes, or Nsch(n)NS. An average SNR for the unsteered mode, SNRavg(n), may be computed as follows:
Station B selects the initial rate for each eigenmode based on an assumption that all NS eigenmodes are used for data transmission and that equal transmit power is used for all eigenmodes. If less than NS spatial channels are used for the unsteered mode, then higher transmit power may be used for each selected spatial channel. The first term on the right hand side in equation (30) accounts for the use of higher transmit power for each spatial channel if less than NS spatial channels are selected for use. The second term on the right hand side in equation (30) is the average SNR (in dB) for the Nsch(n) spatial channels selected for use in frame n.
Station A may provide the average SNR to a look-up table, which then provides the final rate for the unsteered mode. Station A may use the same look-up table that station B used to obtain an initial rate for the unsteered mode, or a different look-up table.
Alternatively, station A may receive a single initial rate for the unsteered mode from station B. In this case, station A may determine the required SNR for the unsteered mode based on the initial rate, adjust the required SNR based on the age of the SNR information, and determine the final rate for the unsteered mode based on the adjusted SNR.
For both the steered and unsteered modes, the final rate(s) may also be determined based on other pertinent information such as the time variant nature of the MIMO channel. For example, the SNR back-off, SNRage
FIG. 3 shows a flow diagram of a process 300 for selecting a transmission mode for data transmission in a wireless system. Initially, channel information used to transmit data via a wireless channel is obtained (block 312). For a MIMO system, the channel information may comprise eigenvectors used to transmit data on eigenmodes of a MIMO channel and may be obtained from a steered or unsteered MIMO pilot. The age of the channel information is determined (block 314). This may be achieved by determining the age of the (e.g., unsteered MIMO) pilot from which the channel information is derived. A transmission mode is then selected from among multiple supported transmission modes based on the age of the channel information and possibly other information (e.g., the time variant characteristic of the MIMO channel, the capability of the receiving entity, and so on) (block 316). Data is then processed and transmitted via the wireless channel in accordance with the selected transmission mode (block 318).
For clarity, the description above is for an exemplary MIMO system that supports two transmission modesthe steered mode and unsteered mode. In general, the system may support any transmission mode and any number of transmission modes. For example, a system may support a transmission mode in which data is transmitted on orthogonal spatial channels with spatial spreading, a transmission mode in which data is transmitted on orthogonal spatial channels without spatial spreading (the steered mode), a transmission mode in which data is transmitted on spatial channels with spatial spreading (the unsteered mode), a transmission mode in which data is transmitted on spatial channels without spatial spreading, a transmission mode in which data is transmitted on a single best spatial channel without spatial spreading, a transmission mode in which data is transmitted from a single transmit antenna, and so on, or any combination thereof.
FIG. 4 shows a flow diagram of a process 400 for performing rate selection in a wireless system. Initially, channel state information indicative of the received signal quality for a wireless channel used for data transmission is obtained (block 412). The channel state information may be in the form of received SNRS, initial rates, and so on, and may be determined by a receiving entity and sent to a transmitting entity. The age of the channel state information is determined (block 414). This may be achieved by determining the age of the (e.g., steered or unsteered MIMO) pilot from which the channel state information is derived. One or more final rates are then selected based on the channel state information, the age of the channel state information, and possibly other information (block 416). For example, the final rate(s) may be determined based on the transmission mode selected for use (e.g., steered or unsteered mode), a back-off factor that is dependent on the age of the channel state information (e.g., SNRage
The techniques described herein select a transmission mode and final rate(s) for data transmission based on the most current information available at the transmitting station A and the age of this information. The channel information used for transmission mode selection and the channel state information used for rate selection may be derived from the same or different MIMO pilots. Different transmission modes and rates may be selected for different frames based on the same information due to the aging of the information and possibly other factors.
As noted above, the transmission mode and rate selection techniques may be used for a multi-carrier MIMO system. Multiple carriers may be provided by orthogonal frequency division multiplexing (OFDM) or some other constructs. OFDM effectively partitions the overall system bandwidth into multiple (NF) orthogonal subbands, which are also referred to as tones, subcarriers, bins, and frequency channels. With OFDM, each subband is associated with a respective subcarrier that may be modulated with data. For a MIMO system that utilizes OFDM, spatial processing may be performed on each of the subbands used for data transmission.
For the steered mode, a channel response matrix H(k,i) may be obtained for each subband k in symbol period i and decomposed to obtain the NS eigenmodes of that subband. The singular values in each diagonal matrix (k,i), for k=1 . . . NF, may be ordered such that the first column contains the largest singular value, the second column contains the next largest singular value, and so on, or 1(k,i)2(k,i) . . . N
FIG. 5 shows a block diagram of transmitting station A 510 and receiving station B 550. At station A 510, a transmit (TX) data processor 520 receives traffic data from a data source 512, processes (e.g., formats, codes, interleaves, and modulates) the traffic data, and provides data symbols. For the steered mode, one data stream may be sent on each eigenmode, and each data stream may be encoded and modulated based on a final rate selected for that stream/eigenmode. For the unsteered mode, multiple data streams may be sent on multiple spatial channels, and one final rate may be used for all streams. A TX spatial processor 530 performs spatial processing on the data symbols and pilot symbols for the selected transmission mode and provides NT streams of transmit symbols to NT transmitter units (TMTR) 532a through 532t. Each transmitter unit 532 receives and conditions a respective transmit symbol stream to generate a corresponding modulated signal. NT modulated signals from transmitter units 532a through 532t are transmitted from NT antennas 534a through 534t, respectively.
At station B 550, NR antennas 552a through 552r receive the modulated signals transmitted by station A, and each antenna provides a received signal to a respective receiver unit (RCVR) 554. Each receiver unit 554 performs processing complementary to that performed by transmitter units 532 and provides received symbols. A receive (RX) spatial processor 560 performs spatial matched filtering on the received symbols from all NR receiver units 554 based on a spatial filter matrix M(n) and provides detected data symbols. The matrix M(n) is derived based on the selected transmission mode and the receiver processing technique selected for use (e.g., full-CSI, MMSE, or CCMD). An RX data processor 570 processes (e.g., symbol demaps, deinterleaves, and decodes) the detected data symbols and provides decoded data for station B.
Channel estimators 538 and 578 perform channel estimation for stations A and B, respectively. Controllers 540 and 580 control the operation of various processing units at stations A and B, respectively. Memory units 542 and 582 store data and program codes used by controllers 540 and 580, respectively.
For transmission mode and rate selection, channel estimator 578 may estimate the channel response for the MIMO channel from station A to station B and the received SNRs for the spatial channels of the MIMO channel. Controller 580 may determine initial rate(s) based on the received SNRs and provide feedback CSI, which may comprise the initial rate(s). The feedback CSI is processed by a TX data processor 590 and further multiplexed with pilot symbols and spatially processed for the steered or unsteered mode by a TX spatial processor 592 to generate NR transmit symbol streams. NR transmitter units 554a through 554r then condition the NR transmit symbol streams to generate NR modulated signals, which are sent via NR antennas 552a through 552r.
At station A 510, the modulated signals from station B are received by NT antennas 534 and processed by NT receiver units 532 to obtain received symbols for station B. The received symbols are further processed by an RX spatial processor 544 and an RX data processor 546 to obtain the feedback CSI from station B. Controller 540 receives the feedback CSI, selects the transmission mode and final rate(s) to use for data transmission to station B, provides a rate control to data source 512 and TX data processor 520, and provides the selected transmission mode and channel information (e.g., eigenvectors) to TX spatial processor 530.
The transmission mode and rate selection techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units used to perform transmission mode and rate selection may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
For a software implementation, the transmission mode and rate selection techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory unit 542 and/or 582 in FIG. 5) and executed by a processor (e.g., controller 540 and/or 580). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.