IEEE 802.11 refers to a set of standards for implementing wireless local area network (WLAN) communication in the 2.4, 3.6, and 5 GHz frequency bands. WLAN communication allows a device to exchange data wirelessly with one or more other devices. WiFi™ is a brand name for WLAN products using any of the IEEE 802.11 standards. IEEE 802.11ac is a new standard being developed to support Very High Throughput (VHT) operations in 5 GHz frequency band. To obtain this VHT operation, an 802.11ac device uses a wide RF (radio frequency) bandwidth up to 160 MHz, up to 8 MIMO (multiple-input multiple-output, which refers to multiple antennas used at both the transmitter and receiver) spatial streams, MU-MIMO (which refers to a multi-user MIMO that allows a terminal to transmit (or receive) signals to/from multiple users in the same frequency band simultaneously), and a high-density modulation up to 256 QAM (quadrature amplitude modulation).
Beamforming is a technique using directional signal transmission or reception with multiple antennas to achieve spatial selectivity. For example, a transmitter can control the phase and amplitude of the signals at each antenna to create a pattern of constructive and destructive interference in the wavefront. To correctly form a beam for MIMO communication, the transmitter needs to know the characteristics of the channel. To obtain these channel characteristics, the transmitter can send a known signal to a device, which allows that device to generate information regarding the channel. The device can then send this channel state information (CSI) back to the transmitter, which in turn can apply the correct phases and amplitudes to form the optimized beam directed at the device. This process is called channel sounding or channel estimation (referenced as the sounding process herein).
In 802.11ac communication, an access point (AP) node can use the sounding process to collect CSI from one or more potential destination stations. Thereafter, the AP node can use the collected CSI as the current channel estimation to send downlink data to multiple stations in a MU-MIMO frame. Note that the collected CSI can also be used to send downlink data to one station in an SU-MIMO frame, wherein SU-MIMO is a single-user MIMO (a beamforming technique using multiple antennas at one station).
Using the CSI from its associated stations STA1 and STA2, the AP can begin the data process 111 by simultaneously sending MU-MIMO data 106 to station STA1 and MU-MIMO data 107 to station STA2. Note that although the term MU-MIMO is used to describe the data, the data may also be SU-MIMO in other embodiments. After receiving the data 106, the station STA1 can send a block acknowledgement (BA) signal 108; the AP can send a block acknowledgement request (BAR) signal 109 for the station STA2; and the station STA2 can send its BA signal 110 in response. Note that although
Because the sounding process has a large overhead in terms of medium air time, the AP is typically configured not to do sounding prior to every MU-MIMO data transmission. For example,
When the MU-MIMO data is sent out immediately after a sounding process, the CSI used for MU-MIMO data transmission is fresh. Therefore, the data packets will have a high chance of being successfully received. In contrast, if the MU-MIMO data is sent out after some time duration since the last sounding process, e.g. after N data packets in
A typical way to control when to do sounding is to setup a pre-determined expiration time for every CSI collected from the sounding process. If the AP node needs to perform MU-MIMO to some destination, but the latest CSI collected has passed its expiration time, then the AP will perform sounding for that destination. Although this method of sounding control is simple, it is difficult to determine the best expiration time of the CSI. Specifically, the signal to interference and noise ratio (SINR) of two MU-MIMO transmissions (or SU-BF transmissions) can be significantly different even when the CSI has the same age, depending upon the channel conditions or the MU-MIMO level (e.g. grouped with 2-user, 3-user, etc.).
For example, the CSI for a channel with induced Doppler can vary extremely fast. In this case, even 5 ms after sounding, the SINR of a MU-MIMO transmission can degrade significantly. In contrast, in a relatively stable channel, the SINR can generally degrade much slower. As noted above, the SINR after sounding can degrade differently based on MU-MIMO level (1 user, 2 users, etc.). In general, the higher the MU-MIMO level (i.e. the more users), the faster the SINR will degrade after sounding. Therefore, a need arises for a system and technique that provides a dynamically adjustable sounding interval based on current channel conditions.
A method of performing dynamic sounding in a wireless communication device is described. This method includes receiving a data request, such as a multi-user multiple-input multiple-output (MU-MIMO) request or a beamforming request. When channel state information (CSI) has expired, as determined by comparing a current timestamp to a CSI timestamp (i.e. a time of a last CSI update), then a sounding can be performed and the CSI timestamp can be updated. After the sounding, a data transmission can be performed in accordance with the data request, and a reference achievable throughput Rref, which is associated with the sounding, can be computed. In contrast, when the CSI has not expired, the data transmission can be performed in accordance with the data request and a current achievable throughput Rcurr can be recorded. Using the current achievable throughput Rcurr and the reference achievable throughput Rref, a sounding interval can be extended or shortened.
Comparing the current timestamp to the CSI timestamp can include determining whether the CSI timestamp subtracted from the current timestamp is greater than a predetermined default CSI lifespan expiration time D. In one embodiment, the predetermined default CSI lifespan expiration time D can be derived from a transmit mode and a Doppler profile. Computing the reference achievable throughput Rref can include computing a product of a physical rate of the data transmission performed immediately after sounding and a value indicative of transmission quality. In one embodiment, the value indicative of transmission quality can be 1 minus a packet error rate (PER).
Using the current achievable throughput Rcurr and the reference achievable throughput Rref to determine whether the sounding interval is extended or shortened can further include, after recording the current achievable throughput Rcurr, determining whether the current achievable throughput Rcurr is greater than a product of the reference achievable throughput Rref and a predetermined factor α. When the current achievable throughput Rcurr is greater than the product of the reference achievable throughput Rref and the predetermined factor α, the CSI timestamp can be updated to equal the current timestamp, thereby extending the sounding interval. Further, when the current achievable throughput Rcurr is greater than the reference achievable throughput Rref, the current achievable throughput Rcurr can be designated as the new reference achievable throughput Rref. In one embodiment, the predetermined factor α is set to a value between 0 and 1.
Using the current achievable throughput Rcurr and the reference achievable throughput Rref to determine whether the sounding interval is extended or shortened can also include, after recording the current achievable throughput Rcurr, determining whether the current achievable throughput Rcurr is less than a product of the reference achievable throughput Rref and a predetermined factor β When the current achievable throughput Rcurr is less than the product of the reference achievable throughput Rref and the predetermined factor β, the CSI timestamp can be reduced by a predetermined delay d, thereby shortening the sounding interval. In one embodiment, the predetermined factor β can be set to a value between 0 and 1. For example, 0<β<α≦1.
An electronic device is also described. This electronic device, along with other components, includes a processor block and a communication block. The communication block includes a dynamic sounding block, which is configured to perform the above-described steps.
A non-transitory, computer-readable medium storing computer-executable instructions is also described. These instructions can advantageously perform dynamic sounding for a transmitter of a wireless device. The instructions when executed by a processor cause the processor to execute a process comprising the above-described steps.
Another method of performing dynamic sounding in a wireless communication device is described. This method includes determining whether to perform sounding based on an age of current channel state information (CSI). An achievable throughput as a reference throughput can be updated after performing the sounding. A current achievable throughput can be compared with the reference throughput. A CSI timestamp can be reset when the current throughput is above the reference throughput by a first predetermined amount, thereby prolonging a lifespan of the current CSI. In contrast, the CSI timestamp can be reduced when the current throughput is below the reference throughput by a second predetermined amount, thereby reducing the lifespan of the current CSI.
In accordance with one preferred embodiment, dynamically adjustable sounding interval can be used instead of a fixed sounding interval. In this embodiment, the sounding interval can be dynamically adjusted based on the current channel conditions. Thus, when the current channel condition is substantially unchanged since a last sounding, a next sounding can be postponed. In contrast, when the current channel condition has degraded to a predetermined level, the sounding interval can be shortened.
Step 302 determines whether the CSI has expired. In one embodiment, this expiration can be determined by using a current timestamp t and a CSI timestamp TCSI, which could be generated when a last sounding was performed. For example, when the difference of the current timestamp t and the CSI timestamp TCSI is greater than a predetermined default CSI lifespan expiration time D,
t−T
CSI
>D
then the CSI is said to have expired.
In one embodiment, the predetermined default CSI lifespan expiration time D can be derived from the transmit mode used and a Doppler profile. For example, time D in a beamforming transmit mode could have a long expiration time, e.g. on the order of 100-800 msec. In contrast, time D in a MU-MIMO transmit mode could have a much shorter expiration, e.g. on the order of 20-50 msec. Note that 3-user MU-MIMO may have a shorter expiration than 2-user MU-MIMO. When high Doppler is present, the expiration may need to be as fast as 5 msec to ensure optimized performance. In contrast, for static Doppler, the expiration could be 30-50 msec. Note that when a wireless device first transmits, the CSI is characterized as being expired in step 302.
When the CSI has expired, step 303 can perform a sounding and update the CSI timestamp TCSI to be equal to the current timestamp, i.e. TCSI=t. Step 304 can perform the transmission based on the updated CSI and then compute a reference achievable throughput Rref based on that transmission. In one embodiment,
Rref=Phyrate*(1-PER)
wherein Phyrate is the actual rate used in the transmission and PER is the packet error rate. Notably, as described below, this reference achievable throughput Rref, which is associated with the sounding (i.e. a throughput of the first transmission after sounding is performed), can be advantageously used to dynamically change the sounding interval.
When the last CSI is not expired (step 302), step 305 can perform the transmission using the unexpired CSI and record a current achievable throughput Rcurr. In one embodiment,
Rcurr=Phyrate (1-PER)
In other embodiments, both the current achievable throughput Rcurr and the reference achievable throughput Rref can use the MAC throughput instead of the actual rate Phyrate in the above equations.
Step 306 can determine whether the current achievable throughput Rcurr is greater than the product of the reference achievable throughput Rref and a, wherein a is a first predetermined control factor (explained in further detail below). If so, in step 307, the CSI timestamp TCSI can be updated to be equal to the current timestamp, i.e. TCSI=t, thereby effectively prolonging the lifespan of the current CSI. Additionally, when the current achievable throughput Rcurr is greater than the reference achievable throughput Rref, then step 307 can also update the reference achievable throughput Rref to be equal to the current achievable throughput Rcurr.
When the current achievable throughput Rcurr is not greater than the product of the reference achievable throughput Rref and a (step 306), step 308 can determine whether the current achievable throughput Rcurr is less than the product of the reference achievable throughput Rref and β, wherein β is a second predetermined control factor. In one embodiment, the first and second predetermined control factors can be set as follows: 0<β<αa<=1. Using these settings, the first and second predetermined control factors can help decide when to postpone and when to move forward with the next sounding while minimizing unnecessary configuration changes (i.e. changing the sounding interval too frequently would be inefficient and waste system resources). Step 309 can update the CSI timestamp TCSI to be equal to the current timestamp TCSI minus a predetermined delay d, i.e. TCSI=TCSI−d, thereby effectively shortening the lifespan of the current CSI and expediting the next sounding. In one embodiment, delay d can be large enough so that the current timestamp TCSI expires immediately. When that happens, the next MU-MIMO transmission will trigger a new sounding. In general, delay d is another control factor to decide how much the next sounding should be moved forward. After any one of steps 304, 307, and 309, technique 300 returns to step 301 of receiving a new data request.
In one embodiment, the dynamic sounding technique 300 can be implemented in an AP (see, e.g. the AP of
Certain aspects of the dynamic sounding technique 300 described in
Computer program code for carrying out operations of the embodiments may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN), a personal area network (PAN), or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Although the dynamic sounding technique 300 is described as being performed by a transmitter, an electronic device having wireless capability typically includes certain components that may or may not be characterized as part of a transmitter. Indeed, in some embodiments, certain components of the electronic device may be characterized as outside the transceiver, but still assist in one or more steps of dynamic sounding technique 300.
The electronic device 400 can include a processor block 402 (possibly including multiple processors, multiple cores, multiple nodes, and/or implementing multi-threading, etc.). The electronic device 400 can also include a memory block 403, which may include cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM, and/or another type of memory cell array. The electronic device 400 also includes a network interface block 404, which may include at least a WLAN 802.11 interface. Other network interfaces may include a Bluetooth interface, a WIMAX interface, a ZigBee® interface, a Wireless USB interface, and/or a wired network interface (such as an Ethernet interface, or a powerline communication interface, etc.). The processor block 402, the memory block 403, and the network interface block 404 are coupled to a bus 401, which may be implemented in accordance with PCI, ISA, PCI-Express, HyperTransport®, InfiniBand®, NuBus, AHB, AXI, or another bus standard.
The electronic device 400 also includes a communication block 405, which can include the above-described dynamic sounding block 405A and another processing block 405B. The other processing block 405B may include, but is not limited to, portions of a transceiver for processing received signals, for processing to be transmitted signals, and for coordinating actions of the receiver and transmitter portions. Other embodiments may include fewer or additional components not illustrated in
The various embodiments of the structures and methods of described above are illustrative only and are not intended to limit the scope of the dynamic sounding technique and system embodiments described. For example, in one embodiment, steps 306 and 308 can be performed in parallel because only one of steps 306 and 308 can be true. Note that the dynamic sounding technique described herein can be easily incorporated into 802.11-compliant systems, and is fully consistent with the communication shown in