In wireless communication systems, antenna arrays are used at devices on one or both ends of a communication link to suppress multipath fading and interference and to increase system capacity by supporting multiple co-channel users and/or higher data rate transmissions.
For example, in time-division duplex (TDD) systems, a base station (BS) device and each of a plurality of mobile station (MS) devices are equipped with a plurality of antenna. In general, the BS device may be referred to as a first wireless communication device and a MS device may be referred to as a second wireless communication device, or vice versa.
For cost and other reasons, one device on the communication link, e.g., a MS device, may use all of its plurality of antennas only for receiving signals. For example, an MS device may have N plurality of antennas and N receivers, each of which is configured to receive a signal from a respective one of the N plurality of antennas. However, in order to reduce the cost, the MS device may have less than N transmitters since each transmitter requires its own power amplifier and related circuitry. Thus, the MS device cannot transmit using all of its plurality of antennas. In one particular example in which an MS device has four (N=4) antennas, it has four receivers but only two transmitters. Thus, in this example, it can be said that the MS device has two active antennas and two inactive antennas for purposes of transmissions. Consequently, when a BS device receives signals from that MS device, it cannot directly estimate the channel with respect to all of the antennas of the MS device because the transmissions from the MS device are made from less than all of the antennas of the MS device.
A need exists to derive knowledge of a communication channel between a first device having a plurality of antennas and a second device having a plurality of antennas when the second device transmits to the first device using less than all of its antennas. Using this knowledge of the channel, more accurate values for beamforming weights can be computed for transmitting signals from the plurality of antennas of the first device to all of the plurality of antennas of the second device, such as in a multiple-input multiple-output (MIMO) communication system.
Overview
Techniques are provided to enable wireless communication between first and second wireless communication devices each having a plurality of antennas, where the second device sends the transmissions via less than all of its plurality of antennas. Each transmission may comprise a plurality of time-frequency instances. At the first communication device, data is derived representing parameters of a communication channel between the plurality of antennas of the first device and all of the plurality of antennas of the second device from the transmissions received at the plurality of antennas of the first device. Beamforming weights for transmitting one or more signal streams via the plurality of antennas of the first device to the plurality of antennas of the second device are computed based on the data representing parameters of the communication channel between the plurality of antennas of the first device and the plurality of antennas of the second device. The beamforming weights are applied to the one or more signal streams to be transmitted via the plurality of antennas of the first device to the plurality of antennas of the second device.
Referring first to
The BS 10 comprises a first plurality of antennas 18(1)-18(M) and the MS's 20(1)-20(K) comprise a second plurality of antennas 22(1)-22(N). The BS 10 may wirelessly communicate with individual ones of the MS's 20(1)-20(J) using a wideband wireless communication protocol in which the bandwidth is much larger than the coherent frequency bandwidth. An example of such a wireless communication protocol is the IEEE 802.16 communication standard, also known commercially as WiMAX™.
However, in general, the system 5 may employ a single-carrier or multi-carrier modulation format. One example of a multi-carrier modulation format is orthogonal frequency-division multiplexing/multiple-access (OFDM/OFDMA) technology. The BS 10 performs various forms of beamforming and preceding when transmitting one or more signals streams on the downlink channel to a particular MS, e.g., MS 20(1), based on the knowledge derived from signals that the BS 10 receives from the MS 20(1). More specifically, the BS derives knowledge of the downlink channel for active and inactive antennas of MS 20(1) based on received uplink transmissions sent by MS 20(1) on K active (K≦N) antennas in order to compute downlink MIMO beamforming weights {w}i=1P for P signal streams to be transmitted from the BS 10 to all (N) antennas of the MS 20(1). In so doing, the BS 10 examines the condition of the channel and decides to perform the best available beamforming and preceding schemes.
As explained above, an MS, e.g., MS 20(1), uses all of its N antennas for receiving purposes, i.e., receiving signals on a downlink channel from the BS 10, but may use only a subset (K) of its N antennas for transmission purposes on the uplink channel when transmitting to the BS 10. Therefore the BS 10 needs to perform additional processing on the received uplink transmissions from the K active antennas of the MS 20(1) in order to derive knowledge of the downlink channel between the M plurality of antennas of the BS 10 and all of the N plurality of antennas of the MS 20(1), which includes those antennas that are not active during uplink transmissions. This derived knowledge of the complete channel (between all M antennas of the BS 10 and all N antennas of the MS 20(1)) is used to compute beamforming weights for MIMO beamforming transmission of one or more signals streams to the MS 20(1)).
The M×N MIMO channel from BS 10 to MS 20(1) (i.e., the downlink channel) may be represented by:
where K is the number of antennas in MS 20(1) that are active in uplink transmissions, i.e., 1<=K<=N. Without loss of generality, it is assumed that the first K antennas of MS 20(1) are the active antennas. However, such arrangement and indexing does not imply any limitation on the physical arrangement of the antenna arrays in the MS 20(1) or in the BS 10.
The downlink channel H may be decomposed into two parts:
{tilde over (H)} with size M×K, which is the first K columns of H, and is observed in uplink transmissions;
This decomposition is exploited as described hereinafter to derive the channel H and from that to compute the P beamforming or preceding weights {w}i=1P, as described hereinafter in conjunction with
Turning to
The transmitter 12 may comprise individual transmitter circuits that supply respective upconverted signals to corresponding ones of a plurality of antennas (antennas 18(1)-18(M)) for transmission. To this end, the transmitter 12 comprises a MIMO beamforming signal stream generation module 90 that applies the P beamforming weights {w}i=1P to P signal streams to be transmitted via antennas 18(1)-18(M). The receiver 14 receives the signals detected by each of the antennas 18(1)-18(M) and supplies corresponding antenna-specific receive signals to controller 16. It is understood that the receiver 14 may comprise a plurality of receiver circuits, each for a corresponding one of a plurality of antennas. For simplicity, these individual receiver circuits and individual transmitter circuits are not shown.
The controller 16 comprises a memory 17 or other data storage block that stores data used for the techniques described herein. The memory 17 may be separate or part of the controller 16. Instructions for performing a generalized MIMO beamforming weight generation process 100 may be stored in the memory 17 for execution by the controller 16. The process 100 generates the sequence of beamforming weights {w}i=1P that are supplied to the transmitter 12 for use by the module 90.
The functions of the controller 16 may be implemented by logic encoded in one or more tangible media (e.g., embedded logic such as an application specific integrated circuit, digital signal processor instructions, software that is executed by a processor, etc.), wherein the memory 17 stores data used for the computations described herein (and/or to store software or processor instructions that are executed to carry out the computations described herein). Thus, the process 100 may be implemented with fixed logic or programmable logic (e.g., software/computer instructions executed by a processor). Moreover, the functions of the MIMO beamforming signal stream generation module 90 and the generalized MIMO beamforming weight generation process 100 may be performed by the same logic component, e.g., the controller 16.
Turning now to
The beamforming weights are applied to the one or more signal streams to be transmitted via the plurality of antennas of the first device to the plurality of antennas of the second device.
The process 100 is now described in more detail. At 110, it is determined whether the BS 10 can directly estimate the channel. In some applications the BS 10 may have the capability to directly estimate {tilde over (H)} (per each tone or some of the tones) directly, e.g., from pilot signals or other known transmitted (e.g., training) signals from the MS. In this case, then at 115, a covariance matrix Ri is computed as Ri={tilde over (H)}{tilde over (H)}H (where the superscript H denotes the Hermitian operator) and the process 100 proceeds to 140 described hereinafter to compute an instantaneous covariance matrix for a received transmission from the covariance matrices Ri for multiple time-frequency instances i within a received transmission. It is also possible to average the covariance matrix Ri in other ways, for instance, selecting Ri={tilde over (H)}{tilde over (H)}H associated with a middle tone. Thus, the techniques described herein are useful for configurations where a BS has the capability to directly estimate the channel H and for configurations where a BS does not have such capability.
If the BS does not have capability to directly estimate the channel, then at 120, the BS receives transmission (on the uplink channel) from the MS. Each transmission may comprise a plurality of time-frequency instances. Each time-frequency instance can be (a) a single frequency at a plurality of time instances as shown in
As explained above, these transmissions are sent via K antennas of the MS, where in general 1<=K<=N. At a given time-frequency instant the BS receives a signal Y, where:
Next, at 130, the BS computes a covariance matrix Ri=YYH, where the superscript H refers to the Hermitian operator, and the index i is an index for the time-frequency instance for which the covariance matrix is computed.
At 140, using the covariance matrices Ri (computed at 130 or computed at 115), the BS computes an average covariance matrix RC over a plurality of time-frequency instances within the same uplink transmission received at the plurality of antennas of the BS 10, using the computation
where the index i indexes the time-frequency instances (within the same received uplink transmission), and L is the total number of such time-frequency instances. The covariance matrix RC is the instantaneous covariance matrix obtained from a single received uplink transmission and can serve as a good reference for computing MIMO beamforming or precoding weights.
At 150, the BS 10 computes a long-term average covariance matrix R based on a sum of weighted average covariance matrices RC(t) over multiple received uplink transmissions from the MS 20(1), where the variable t is an index for the received uplink transmission instance. The BS 10 computes the matrix R based on several RC(t):
where T is a window of several consecutive uplink transmissions, and αt are weights associated with each RC(t). Data is stored for the long-term covariance matrices computed over time (over multiple time periods each comprising several consecutive uplink transmissions). This allows for use of the long-term average covariance matrix computed for a previous time period in computing the beamforming weights, as described hereinafter in conjunction with
The weights αt are set to values based on several factors. For example, the weight αt may be set to a value between one and zero, depending on one or more of: the signal-to-noise ratio (SNR) or the signal-to-interference-plus-noise ratio (SINR) at the BS 10 (of the uplink channel, that is, the SNR or SINR associated with signals received at the BS 10 from the MS 20(1)); degree of movement of one or both of the BS 10 and MS 20(1), also known as the so-called Doppler frequency effects; and time difference between time of transmissions from the MS 20(1) to the BS 10 and time of transmission from the BS 10 to the MS 20(1). For example, if the instantaneous SNR or SINR at the BS 10 at time instance ti is low then the instantaneous covariance matrix for that uplink transmission, RC(ti), is given a lower weight, or may not be included in the calculation for R by simply setting αt
Next, at 160, using the long-term average covariance matrix R computed at 150 and the instantaneous covariance matrix RC computed at 140 for each uplink transmission, the P MIMO beamforming or precoding weights (where P≦min(M,N)) are computed using a computation technique that depends on factors indicating the reliability (or unreliability) of the most recent instantaneous covariance matrix Rc(t). Each P beamforming weight is a vector of size M corresponding to the number of antennas of the BS 10. The computations for the P beamforming or precoding weights at 160 are described in detail hereinafter in conjunction with
At 180, the P beamforming weights are applied to P transmit signal streams to produce P MIMO signal streams that are transmitted via the M plurality of antennas of the BS 10 to the N plurality of antennas of MS 20(1).
Turning to
At 162, one or more factors that indicate reliability of the most recent covariance matrix RC(t) are examined to determine whether the most recent covariance matrix is reliable. For example, these factors may include one or more of a measure of frequency mismatch in the uplink and downlink channels between the BS 10 and MS 20(1); degree of movement of one or both of the BS 10 and MS 20(1) (i.e., Doppler frequency), time difference between time of transmission from the MS 20(1) to the BS 10 and time of transmission from the BS 10 to the MS 20(1); and quality of the received transmission from which the covariance matrix RC(t) is computed.
For example, if the frequency mismatch between the uplink and downlink channels is relatively small, the Doppler frequency is low, the time for the next downlink transmission to the MS 20(1) is not much later than the time of the transmission for which the most recent covariance matrix RC(t) was computed, and the uplink signal quality is good, then the covariance matrix RC(t) is said to be reliable and thus may be used to compute some or all of the P beamforming or precoding weights. Otherwise, RC(t) may not be reliable and all of the P beamforming or precoding weights are computed from the long-term average covariance R.
To this end, at 162, when it is determined, using one or more of the factors described above, that the most recent instantaneous covariance matrix RC(t) is reliable, then at 164 it is determined whether the number P of transmit signal streams to be sent (and consequently the number P of beamforming or precoding weights needed) is less than the number K of active antennas at the MS 20(1). When P<K (the number of required beamforming or precoding weights is less than the number of active antennas of MS 20(1)), then at 166 the P beamforming weights are set to the P eigenvectors associated with the strongest eigenvalues of the most recent covariance matrix RC(t).
When at 164 it is determined that P>K (the number of required beamforming or precoding weights is greater than the number of active antennas in MS 20(1)), then at 168 the P beamforming weights are set as follows. The first K beamforming weights (in the P beamforming weights) are set to the K eigenvectors associated with the strongest eigenvalues of the most recent covariance matrix RC(t) and the remaining P−K beamforming weights are set to the P−K eigenvectors associated with the P−K strongest eigenvalues of the long-term average covariance matrix R.
When at 162 it is determined, using one or more of the factors discussed above, that the most recent instantaneous covariance matrix is not reliable, then at 170, it is determined whether the number of transmit signal streams to be sent (and consequently the number of P beamforming or precoding weights needed) is less than the number K of active antennas at the MS 20(1). When at 170 it is determined that P<K (the number of required beamforming or precoding weights is less than the number of active antennas of MS 20(1)), then at 172 the P beamforming weights are set to the P eigenvectors associated with the strongest eigenvalues of the long-term average covariance matrix R.
When at 170 it is determined that P>K (the number of required beamforming or precoding weights is greater than the number of active antennas in MS 20(1)), then at 174 the P beamforming weights are set as follows. The first K beamforming weights (in the P beamforming weights) are set to the K eigenvectors associated with the strongest eigenvalues of the long-term average covariance matrix R and the remaining P−K beamforming weights are set to the P−K eigenvectors associated with the P−K strongest eigenvalues of the long-term average covariance matrix R′ computed over multiple transmissions for a previous time period or time window (as opposed to the long-term average covariance matrix R computed for the most recent time period).
The eigenvectors referred to above at 166, 168, 172 and 174 may be computed either through eigenvalue decomposition or through other equivalent implementations such as singular-vale decomposition, or through a sub-optimum implementation that roughly computes the eigenvectors. Moreover, in any one or more of the scenarios shown at 166, 168, 172 and 174, the BS 10 may allocate power equally or unequally among all of the beams that are formed by transmission from the M plurality of antennas of the BS 10.
Depending on the type of MIMO scheme employed, the BS 10 may be configured to use only the long-term average covariance matrix R to compute the beamforming weights, regardless of the reliability of the most recent instantaneous covariance matrix RC(t) determined at 162. Moreover, the BS 10 may be further configured to compute a correlation between the first K weights and the remaining P−K weights so that depending on the correlation between the first K weights and the remaining P−K weights, the first device, e.g. BS, may choose a different MIMO scheme to use. For instance, if P=2 and K=1 and the correlation between the first weight and the second weight is higher than a certain threshold, the BS may perform space-time coding. Otherwise, the BS may perform a high-throughput MIMO scheme, e.g., spatial multiplexing. In short, depending on the correlation among the set of the weights, the BS might select one or more MIMO schemes over others.
Although the apparatus, system, and method are illustrated and described herein as embodied in one or more specific examples, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the scope of the apparatus, system, and method and within the scope and range of equivalents of the claims. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the apparatus, system, and method, as set forth in the following claims.
This application claims priority to U.S. Provisional Patent Application No. 60/954,542, filed Aug. 7, 2007, the entirety of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5459873 | Moore et al. | Oct 1995 | A |
6671496 | Hoshi | Dec 2003 | B1 |
20040018818 | Hottinen et al. | Jan 2004 | A1 |
20050095996 | Takano | May 2005 | A1 |
20050185618 | Friday et al. | Aug 2005 | A1 |
20070054633 | Piirainen | Mar 2007 | A1 |
20070071147 | Sampath et al. | Mar 2007 | A1 |
20070268815 | Wee et al. | Nov 2007 | A1 |
20080108314 | Mihota | May 2008 | A1 |
20090098838 | Guo et al. | Apr 2009 | A1 |
20090274236 | Mihota | Nov 2009 | A1 |
Number | Date | Country |
---|---|---|
2005109677 | Nov 2005 | WO |
2006138555 | Dec 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20090042618 A1 | Feb 2009 | US |
Number | Date | Country | |
---|---|---|---|
60954542 | Aug 2007 | US |