# Patent

## Title
Method and system for utilizing tone grouping with Givens rotations to reduce overhead associated with explicit feedback information

## Abstract

Aspects of a method and system for utilizing tone grouping with Givens rotations to reduce overhead associated with explicit feedback information are presented. In one aspect of the invention, Givens matrices may be utilized to reduce a quantity of information communicated in explicit feedback information via an uplink RF channel. The explicit feedback information may include specifications for a feedback beamforming matrix that may be utilized when transmitting signals via a corresponding downlink RF channel. The feedback beamforming matrix may represent a rotated version of an un-rotated matrix. The Givens matrices may be utilized to apply one or more Givens rotations to un-rotated matrix. The rotated matrix may reduce the quantity of information communicated in the explicit feedback information. The quantity of information communicated in the explicit feedback information may be further reduced by utilizing tone grouping.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE
This application is a continuation of U.S. patent application Ser. No. 11/327,752 filed on Jan. 6, 2006, which application makes reference to, claims priority to, and claims the benefit of U.S. Provisional Application Ser. No. 60/734,078 filed Nov. 7, 2005.
This application makes reference to:

    U.S. patent application Ser. No. 11/327,690 filed on even date herewith; and
    U.S. application Ser. No. 11/052,389 filed Feb. 7, 2005.


Each of the above stated applications is hereby incorporated herein by reference in its entirety.


FIELD OF THE INVENTION
Certain embodiments of the invention relate to wireless communication. More specifically, certain embodiments of the invention relate to a method and system for utilizing tone grouping with Givens rotations to reduce overhead associated with explicit feedback information.
BACKGROUND OF THE INVENTION
Multiple input multiple output (MIMO) systems are wireless communications systems that are specified in resolution 802.11 from the Institute of Electrical and Electronics Engineers (IEEE). A MIMO system that receives a signal Y may compute a channel estimate matrix, H, based on the received signal. The signal may comprise information generated from a plurality of information sources. Each such information source may be referred to as a spatial stream. A transmitting MIMO system may utilize a plurality of transmitting antennas when transmitting the signal Y. A receiving MIMO system may utilize a plurality of receiving antennas when receiving the signal Y. The channel estimate matrix for a downlink RF channel, Hdown, may describe a characteristic of the wireless transmission medium in the transmission path from a transmitter, to a receiver. The channel estimate for an uplink RF channel, Hup, may describe a characteristic of the wireless transmission medium in the transmission path from the receiver to the transmitter.
According to the principle of reciprocity, a characteristic of the wireless transmission medium in the transmission path from the transmitter to the receiver may be assumed to be identical to a corresponding characteristic of the wireless transmission medium in the transmission path from the receiver to the transmitter. However, the channel estimate matrix Hdown may not be equal to a corresponding channel estimate matrix for an uplink RF channel Hup. For example, a noise level, for example an ambient noise level, in the vicinity of the transmitter may differ from a noise level in the vicinity of the receiver. Similarly, an interference level, for example electro-magnetic interference due to other electro-magnetic devices, in the vicinity of the transmitter may differ from an interference level in the vicinity of the receiver. At a transmitter, or receiver, there may also be electrical cross-coupling, for example leakage currents, between circuitry associated with a receiving antenna, or a transmitting antenna, and circuitry associated with another receiving antenna, or another transmitting antenna.
The principle of reciprocity, wherein it may be assumed that Hup=Hdown, may also be based on the assumption that specific antennas at a transmitter or receiver are assigned for use as transmitting antennas, and/or assigned for use as receiving antennas. At the transmitter, a number of receiving antennas, NRX, utilized at the receiver may be assumed. At the receiver, a number of transmitting antennas, NTX, utilized at the transmitter may be assumed. If the assignments of at least a portion of the antennas at the transmitter are changed, the corresponding channel estimate matrix H′down may not be equal Hdown. Similarly, if the assignments of at least a portion of the antennas at the receiver are changed, the corresponding channel estimate matrix H′up may not be equal Hup. Consequently, after reassignment of antennas at the transmitter and/or receiver, the principle of reciprocity may not be utilized to characterize communications between the transmitter and the receiver when Hup does not equal H′down, when H′up does not equal Hdown, or when H′up does not equal H′down.
The principle of reciprocity may enable a receiving wireless local area network (WLAN) device A to receive a signal Y from a transmitting WLAN device B, and to estimate a channel estimate matrix Hdown for the transmission path from the transmitting WLAN device B to the receiving WLAN device A. Based on the channel estimate matrix Hdown, the WLAN device A may transmit a subsequent signal Y, via an uplink RF channel, to the WLAN device B based on the assumption that the channel estimate matrix Hup for the transmission path from the transmitting WLAN device A to the receiving WLAN device B may be characterized by the relationship Hup=Hdown. When the WLAN devices A and B are MIMO systems, corresponding beamforming matrices may be configured and utilized for transmitting and/or receiving signals at each WLAN device.
Beamforming is a method for signal processing that may allow a transmitting MIMO system to combine a plurality of spatial streams in a transmitted signal Y. Beamforming is also a method for signal processing that may allow a receiving MIMO system to separate individual spatial streams in a received signal Y.
As a result of a failure of an assumed condition for the principle of reciprocity, a beamforming matrix at the transmitting WLAN device, and/or a beamforming matrix at the receiving WLAN device, may be configured incorrectly. In a transmitted signal Y, from the perspective of a signal associated with an ith spatial stream, a signal associated with a jth spatial stream may represent interference or noise. Incorrect configuration of one or more beamforming matrices may reduce the ability of the receiving WLAN device to cancel interference between an ith spatial stream and a jth spatial stream. Consequently, the received signal Y may be characterized by reduced signal to noise ratios (SNR). There may also be an elevated packet error rate (PER) when the receiving WLAN device decodes information contained in the received signal Y. This may, in turn, result in a reduced information transfer rate, as measured in bits/second, for communications between the transmitting WLAN device and the receiving WLAN device.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
BRIEF SUMMARY OF THE INVENTION
A system and/or method for utilizing Givens rotation expressions for utilizing tone grouping with Givens rotations to reduce overhead associated with explicit feedback information, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.



BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 is a block diagram of an exemplary system for wireless data communications, which may be utilized in connection with an embodiment of the invention.
FIG. 2 is a block diagram of an exemplary MIMO system that may be utilized in connection with an embodiment of the invention.
FIG. 3 is an exemplary diagram illustrating beamforming that may be utilized in connection with an embodiment of the invention.
FIG. 4 is an exemplary functional block diagram of transceiver comprising a transmitter and a receiver in a MIMO system, which may be utilized in accordance with an embodiment of the invention.
FIG. 5 is a graph illustrating packet error rate (PER) performance for a 2×2 MIMO system utilizing a D type channel, in accordance with an embodiment of the invention.
FIG. 6 is a graph illustrating packet error rate (PER) performance for a 2×2 MIMO system utilizing an E type channel, in accordance with an embodiment of the invention.
FIG. 7 is a graph illustrating packet error rate (PER) performance for a 4×2 MIMO system utilizing a D type channel, in accordance with an embodiment of the invention.
FIG. 8 is a graph illustrating packet error rate (PER) performance for a 4×2 MIMO system utilizing an E type channel, in accordance with an embodiment of the invention.
FIG. 9 is a graph illustrating packet error rate (PER) performance for a 4×4 MIMO system utilizing a D type channel, in accordance with an embodiment of the invention.
FIG. 10 is a graph illustrating packet error rate (PER) performance for a 4×4 MIMO system utilizing an E type channel with (2,4) bit encoding, in accordance with an embodiment of the invention.
FIG. 11 is a graph illustrating packet error rate (PER) performance for a 4×4 MIMO system utilizing an E type channel and (3,5) bit encoding, in accordance with an embodiment of the invention.
FIG. 12 is a flowchart illustrating exemplary steps for utilizing Givens rotations and tone grouping for beamforming matrices in explicit feedback information, in accordance with an embodiment of the invention.
FIG. 13 is a flowchart illustrating exemplary steps for interpolation of Givens rotation and phase shift angles, in accordance with an embodiment of the invention.
FIG. 14 is a flowchart illustrating exemplary steps for interpolation of beamforming factors V(f), in accordance with an embodiment of the invention.



DETAILED DESCRIPTION OF THE INVENTION
Certain embodiments of the invention relate to a method and system for utilizing tone grouping with Givens rotations to reduce overhead associated with explicit feedback information. In one aspect of the invention, Givens matrices may be utilized to reduce a quantity of information communicated in explicit feedback information via an uplink RF channel. The explicit feedback information may comprise specifications for a feedback beamforming matrix that may be utilized when transmitting signals via a corresponding downlink RF channel. The uplink or downlink RF channel may comprise a plurality of frequency carrier signals that may be utilized to transmit information. Each frequency carrier signal may be associated with a corresponding frequency, f. Consequently, a full beamforming matrix may contain a plurality of sets comprising one or more beamforming factors, V(f), associated with each of the plurality of frequencies in a corresponding RF channel. The full beamforming matrix may contain one such set for each of a plurality of spatial streams transmitted via one of a corresponding plurality of transmitting antenna.
A full specification of a downlink RF channel may comprise the plurality of sets of beamforming factors contained in the corresponding full beamforming matrix. Within a given set of beamforming factors, a value associated with the beamforming factor for a frequency fi, V(fi), may be about equal to a value associated with the beamforming factor for a subsequent frequency fj, V(fj). A plurality of frequencies, fk, may comprise a tone group when, for fj>fi and fj≧fk≧fi:

V(fk)≈V(fi)  equation[1a]

and

V(fk)≈V(fj)  equation[1b]

In various embodiments of the invention an equivalent beamforming matrix may be constructed that comprises, within a given set of beamforming factors, one beamforming factor V(fk) from each tone group. A beamforming matrix may be represented by either the full beamforming matrix, or the equivalent beamforming matrix.
The feedback beamforming matrix may represent a rotated version of an un-rotated beamforming matrix. The Givens matrices may be utilized to apply one or more Givens rotations to un-rotated beamforming matrix. The feedback beamforming matrix may be computed based on a matrix product of a plurality of Givens matrices. The feedback beamforming matrix may comprise comparable information content to the un-rotated beamforming matrix. The feedback beamforming matrix may be encoded utilizing fewer bits than may be required to encode the un-rotated beamforming matrix. In various embodiments of the invention, a feedback beamforming matrix based on an equivalent beamforming matrix may be encoded utilizing fewer bits than may be required to encode a corresponding feedback beamforming matrix based on a full beamforming matrix. Various embodiments of the invention may be utilized in wireless communications systems, including wireless data communications systems.
Explicit feedback may be utilized to reduce the likelihood that signals Y will be transmitted incorrectly during beamforming. Explicit feedback comprises a mechanism by which a receiving WLAN device A may compute a channel estimate matrix Hdown. The computed channel estimate matrix may be utilized to compute feedback information that may be utilized by the WLAN device B to configure a beamforming matrix associated with the downlink RF channel. The feedback information may be communicated from the WLAN device A to the WLAN device B via the uplink RF channel. The feedback information may comprise a full description of the downlink RF channel. A full description of the downlink RF channel may comprise a frequency channel estimate for each subcarrier frequency associated with each spatial stream contained in the downlink RF channel. Each frequency channel estimate may be characterized in a Cartesian coordinate format, or in a polar coordinate format. In the Cartesian coordinate format, each frequency channel estimate may be represented by an in-phase (I) amplitude component, and a quadrature (Q) phase amplitude component. In the polar coordinate format, each frequency channel estimate may be represented by a magnitude (ρ) component, and an angle (θ) component.
In some conventional systems, a large quantity of feedback information may be communicated in the feedback direction. RF channel bandwidth that is dedicated for use in communicating feedback information may reduce the quantity of other types of information that may be communicated between the WLAN device A and the WLAN device B within a given time interval. The feedback information may be referred to as overhead within the uplink RF channel. The overhead may reduce the information transfer rate between the WLAN device A and the WLAN device B associated with non-feedback information.
FIG. 1 is a block diagram of an exemplary system for wireless data communications, which may be utilized in connection with an embodiment of the invention. With reference to FIG. 1 there is shown a distribution system (DS) 110, an extended service set (ESS) 120, and an IEEE 802.x LAN 122. The ESS 120 may comprise a first basic service set (BSS) 102, and a second BSS 112. The first BSS 102 may comprise a first 802.11 WLAN station 104, a second 802.11 WLAN station 106, and an access point (AP) 108. The second BSS 112 may comprise a first 802.11 WLAN station 114, a second 802.11 WLAN station 116, and an access point (AP) 118. The IEEE 802 LAN 122 may comprise a LAN station 124, and a portal 126. An IEEE 802.11 WLAN station, or IEEE 802.11 WLAN device, is a WLAN system that may be compliant with at least a portion of the IEEE 802.11 standard.
A WLAN is a communications networking environment that comprises a plurality of WLAN devices that may communicate wirelessly via one or more uplink and/or downlink RF channels. The BSS 102 or 112 may be part of an IEEE 802.11 WLAN that comprises at least 2 IEEE 802.11 WLAN stations, for example, the first 802.11 WLAN station 104, the second 802.11 WLAN station 106, and the AP 108, which may be members of the BSS 102. Non-AP stations within BSS 102, the first 802.11 WLAN station 104, and the second 802.11 WLAN station 106, may individually form an association with the AP 108. An AP, such as AP 108, may be implemented as an Ethernet switch, bridge, or other device in a WLAN, for example. Similarly, non-AP stations within BSS 112, the first 802.11 WLAN station 114, and the second 802.11 WLAN station 116, may individually form an association with the AP 118. Once an association has been formed between a first 802.11 WLAN station 104 and an AP 108, the AP 108 may communicate reachability information about the first 802.11 WLAN station 104 to other APs associated with the ESS 120, such as AP 118, and portals such as the portal 126. The WLAN station 104 may subsequently communicate information wirelessly via the BSS 102. In turn, the AP 118 may communicate reachability information about the first 802.11 WLAN station 104 to stations in BSS 112. The portal 126, which may be implemented as, for example, an Ethernet switch or other device in a LAN, may communicate reachability information about the first 802.11 WLAN station 104 to stations in LAN 122 such as the 802 LAN station 124. The communication of reachability information about the first 802.11 WLAN station 104 may enable WLAN stations that are not in BSS 102, but are associated with ESS 120, to communicate wirelessly with the first 802.11 WLAN station 104.
The DS 110 may provide an infrastructure which enables a first 802.11 WLAN station 104 in one BSS 102, to communicate wirelessly with a first 802.11 WLAN station 114 in another BSS 112. The DS 110 may also enable a first 802.11 WLAN station 104 in one BSS 102 to communicate with an 802 LAN station 124 in an IEEE 802 LAN 122, implemented as, for example a wired LAN. The AP 108, AP 118, or portal 126 may provide a means by which a station in a BSS 102, BSS 112, or LAN 122 may communicate information via the DS 110. The first 802.11 WLAN station 104 in BSS 102 may communicate information wirelessly to a first 802.11 WLAN station 114 in BSS 112 by transmitting the information wirelessly to AP 108, which may transmit the information via the DS 110 to AP 118, which in turn may transmit the information wirelessly to station 114 in BSS 112. The first 802.11 WLAN station 104 may communicate information wirelessly to the 802 LAN station 124 in LAN 122 by transmitting the information wirelessly to AP 108, which may transmit the information via the DS 110 to the portal 126, which in turn may transmit the information to the 802 LAN station 124 in LAN 122. The DS 110 may utilize wireless communications via an RF channel, wired communications, such as IEEE 802 Ethernet, or a combination thereof.
A WLAN station or AP may utilize one or more transmitting antennas, and one or more receiving antennas when communicating information. A WLAN station or AP that utilizes a plurality of transmitting antennas and/or a plurality of receiving antennas may be referred to as a multiple input multiple output (MIMO) system.
FIG. 2 is a block diagram of an exemplary MIMO system that may be utilized in connection with an embodiment of the invention. With reference to FIG. 2 there is shown a baseband processor 272, a transceiver 274, an RF front end 280, a plurality of receiving antennas 276a, . . . , 276n, and a plurality of transmitting antennas 278a, . . . , 278n. The transceiver 274 may comprise a processor 282, a receiver 284, and a transmitter 286.
The processor 282 may perform digital receiver and/or transmitter functions in accordance with applicable communications standards. These functions may comprise, but are not limited to, tasks performed at lower layers in a relevant protocol reference model. These tasks may further comprise the physical layer convergence procedure (PLOP), physical medium dependent (PMD) functions, and associated layer management functions. The baseband processor 272 may perform functions in accordance with applicable communications standards. These functions may comprise, but are not limited to, tasks related to analysis of data received via the receiver 284, and tasks related to generating data to be transmitted via the transmitter 286. These tasks may further comprise medium access control (MAC) layer functions as specified by pertinent standards.
The receiver 284 may perform digital receiver functions that may comprise, but are not limited to, fast Fourier transform processing, beamforming processing, equalization, demapping, demodulation control, deinterleaving, depuncture, and decoding. The transmitter 286 may perform digital transmitter functions that comprise, but are not limited to, coding, puncture, interleaving, mapping, modulation control, inverse fast Fourier transform processing, beamforming processing. The RF front end 280 may receive analog RF signals via antennas 276a, . . . , 276n, converting the RF signal to baseband and generating a digital equivalent of the received analog baseband signal. The digital representation may be a complex quantity comprising I and Q components. The RF front end 280 may also transmit analog RF signals via an antenna 278a, . . . , 278n, converting a digital baseband signal to an analog RF signal.
In operation, the processor 282 may receive data from the receiver 284. The processor 282 may communicate received data to the baseband processor 272 for analysis and further processing. The baseband processor 272 may generate data to be transmitted via an RF channel by the transmitter 286. The baseband processor 272 may communicate the data to the processor 282. The processor 282 may generate a plurality of bits that are communicated to the receiver 284. The processor 282 may generate signals to control the operation of the modulation process in the transmitter 286, and of the demodulation process in the receiver 284.
FIG. 3 is an exemplary diagram illustrating beamforming that may be utilized in connection with an embodiment of the invention. Referring to FIG. 3 there is shown a transmitting mobile terminal 302, a receiving mobile terminal 322, and a plurality of RF channels 342. The transmitting mobile terminal 302 comprises a transmit filter coefficient block V 304, a first source signal s1 306, a second source signal s2 308, a third source signal s3 310, and a plurality of transmitting antenna 312, 314, and 316.
In operation, the transmitting antenna 312 may enable transmission of a signal x1, the transmitting antenna 314 may transmit a signal x2, and the transmitting antenna 316 may transmit a signal x3. In beamforming each transmitted signal x1, x2, and x3 may be a function of a weighted summation of at least one of the plurality of the source signals s1, s2, and s3. The weights may be determined by the transmit filter coefficient block V such that: X=VS, where S may be represented by a 3×1 matrix {s1, s2, s3}, V may be represented by a 3×3 matrix {{v11, v12, v13}{v21, v22, v23}{v31, v32, v33}}, and X may be represented by a 3×1 matrix {x1, x2, x3}. The receiving mobile terminal 322 comprises a receive filter coefficient block U* 324, a first destination signal {tilde over (y)}1 326, a second destination signal {tilde over (y)}2 328, a third destination signal {tilde over (y)}3 330, and a plurality of receiving antenna 332, 334, and 336. The receiving antenna 332 may receive a signal y1, the receiving antenna 334 may receive a signal y2, and the receiving antenna 336 may receive a signal y3. The characteristics of the plurality of RF channels 342 utilized for communication between the transmitting mobile terminal 302, and the receiving mobile terminal 322 may be represented mathematically by a transfer coefficient matrix H.
The plurality of received signals y1, y2, y3, may be expressed as a function of the plurality of transmitted signals x1, x2, x3, and the transfer coefficient matrix H in the following equation:

Y=HX+N, where  equation[2]

Y={y1, y2, y3} may be represented as a 3×1 matrix; X may be represented as a 3×1 matrix {x1, x2, x3}; H may be represented as a 3×3 matrix {{h11, h12, h13}{h21, h22, h23}{h31, h32, h33}}; and N may be represented as is a 3×1 matrix {n1, n2, n3}. The matrix N may represent random noise that may exist in the communication medium between the transmitting station 302 and the receiving station 322.

In a MIMO system that utilizes beamforming, the values associated with the matrices V, H, and U* may be such that the value of the transmitted signal si may be approximately equal to the value of the corresponding received signal {tilde over (y)}i, where the index i may indicate an ith spatial stream. The receiver 322 may compute a channel estimate, Hdown, for a downlink RF channel based on a received signal from the transmitter 302. The transmitter 302 may compute a channel estimate, Hup, for an uplink RF channel based on a received signal from the receiver 322. In the absence of explicit feedback information received from the receiver 322, the transmitter may assume channel reciprocity. The coefficient block V 304 may set values associated with the matrix V, utilized for communications via the downlink RF channel, based on the channel estimate Hup.
When the receiver 322 sends explicit feedback information to the transmitter 302 via the uplink RF channel, the receiver 322 may compute values associated with a matrix V that may be based on the channel estimate Hdown. The receiver 322 may subsequently communicate the computed matrix V to the transmitter 302 via the uplink RF channel. The transmitter 302 may subsequently set values associated with the matrix V, utilized for communications via the downlink RF channel, based on the channel estimate Hdown.
Various embodiments of the invention may reduce the quantity of explicit feedback information that may be communicated from the receiver 322 to the transmitter 302 via the uplink RF channel. In one aspect of the invention, the computed matrix V may be represented based on a product of Givens matrices:

V=G1(ψ1)G2(ψ2)D1(φ1, φ2, . . . , φN)  equation[3]

where Gj(ψj) may represent a Givens matrix associated with a rotation angle ψj, and D1(φk) may represent a diagonal matrix with phase shift angles φk.

The explicit feedback information communicated by the receiver 322 may comprise encoded rotation angles ψj. The transmitter 302 may utilize the encoded rotation angles to reconstruct the matrix V based on the explicit feedback information.
FIG. 4 is an exemplary functional block diagram of transceiver comprising a transmitter and a receiver in a MIMO system, which may be utilized in accordance with an embodiment of the invention. FIG. 4 shows transceiver comprising a transmitter 400, a receiver 401, a processor 440, a baseband processor 442, a plurality of transmitter antennas 415a . . . 415n, and a plurality of receiver antennas 417a . . . 417n. The transmitter 400 may comprise a coding block 402, a puncture block 404, an interleaver block 406, a plurality of mapper blocks 408a . . . 408n, a plurality of inverse fast Fourier transform (IFFT) blocks 410a . . . 410n, a beamforming V matrix block 412, and a plurality of digital to analog (D to A) conversion and antenna front end blocks 414a . . . 414n. The receiver 401 may comprise a plurality of antenna front end and analog to digital (A to D) conversion blocks 416a . . . 416n, a beamforming U* matrix block 418, a plurality of fast Fourier transform (FFT) blocks 420a . . . 420n, a channel estimates block 422, an equalizer block 424, a plurality of demapper blocks 426a . . . 426n, a deinterleaver block 428, a depuncture block 430, and a Viterbi decoder block 432.
The variables V and U* in beamforming blocks 412 and 418 respectively refer to matrices utilized in the beamforming technique. U.S. application Ser. No. 11/052,389 filed Feb. 7, 2005, provides a detailed description of Eigenbeamforming, which is hereby incorporated herein by reference in its entirety.
The processor 440 may perform digital receiver and/or transmitter functions in accordance with applicable communications standards. These functions may comprise, but are not limited to, tasks performed at lower layers in a relevant protocol reference model. These tasks may further comprise the physical layer convergence procedure (PLOP), physical medium dependent (PMD) functions, and associated layer management functions. The baseband processor 442 may similarly perform functions in accordance with applicable communications standards. These functions may comprise, but are not limited to, tasks related to analysis of data received via the receiver 401, and tasks related to generating data to be transmitted via the transmitter 400. These tasks may further comprise medium access control (MAC) layer functions as specified by pertinent standards.
In the transmitter 400, the coding block 402 may transform received binary input data blocks by applying a forward error correction (FEC) technique, for example, binary convolutional coding (BCC). The application of FEC techniques, also known as “channel coding”, may improve the ability to successfully recover transmitted data at a receiver by appending redundant information to the input data prior to transmission via an RF channel. The ratio of the number of bits in the binary input data block to the number of bits in the transformed data block may be known as the “coding rate”. The coding rate may be specified using the notation ib/tb, where tb represents the total number of bits that comprise a coding group of bits, while ib represents the number of information bits that are contained in the group of bits tb. Any number of bits tb−ib may represent redundant bits that may enable the receiver 401 to detect and correct errors introduced during transmission. Increasing the number of redundant bits may enable greater capabilities at the receiver to detect and correct errors in information bits. The penalty for this additional error detection and correction capability may result in a reduction in the information transfer rates between the transmitter 400 and the receiver 401. The invention is not limited to BCC, and any one of a plurality of coding techniques, for example, Turbo coding or low density parity check (LDPC) coding, may also be utilized.
The puncture block 404 may receive transformed binary input data blocks from the coding block 402 and alter the coding rate by removing redundant bits from the received transformed binary input data blocks. For example, if the coding block 402 implemented a 1⁄2 coding rate, 4 bits of data received from the coding block 402 may comprise 2 information bits, and 2 redundant bits. By eliminating 1 of the redundant bits in the group of 4 bits, the puncture block 404 may adapt the coding rate from 1⁄2 to 2⁄3. The interleaver block 406 may rearrange bits received in a coding rate-adapted data block from the puncture block 404 prior to transmission via an RF channel to reduce the probability of uncorrectable corruption of data due to burst of errors, impacting contiguous bits, during transmission via an RF channel. The output from the interleaver block 406 may also be divided into a plurality of streams where each stream may comprise a non-overlapping portion of the bits from the received coding rate-adapted data block. Therefore, for a given number of bits in the coding rate-adapted data block, bdb, a given number of streams from the interleaver block 406, nst, and a given number of bits assigned to an individual stream i by the interleaver block 406, bst(i):




  
    
      
        
          b
          db
        
        =
        
          
            ∑
            
              i
              =
              0
            
            
              
                n
                st
              
              -
              1
            
          
          ⁢
          
            
              b
              st
            
            ⁡
            
              (
              i
              )
            
          
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        4
        ]
      
    
  




For a given number of coded bits before interleaving, bdb, each bit may be denoted by an index, k=0, 1 . . . bdb−1. The interleaver block 406 may assign bits to the first spatial stream, spatial stream 0, bst(0), for bit indexes k=0, nst, 2*nst, . . . , bdb−nst. The interleaver block 406 may assign bits to spatial stream 1, bst(1), for bit indexes k=1, nst+1, 2*nst+1, . . . , bdb−nst+1. The interleaver block 406 may assign bits to spatial stream 2, bst(2), for bit indexes k=2, nst+2, 2*nst+2, . . . , bdb−nst+2. The interleaver block 406 may assign bits to spatial stream nst, bst(nst), for bit indexes k=nst−1, 2*nst−1, 3*nst−1, . . . , bdb−1
The plurality of mapper blocks 408a . . . 408n may comprise a number of individual mapper blocks that is equal to the number of individual streams generated by the interleaver block 406. Each individual mapper block 408a . . . 408n may receive a plurality of bits from a corresponding individual stream, mapping those bits into a “symbol” by applying a modulation technique based on a “constellation” utilized to transform the plurality of bits into a signal level representing the symbol. The representation of the symbol may be a complex quantity comprising in-phase (I) and quadrature (Q) components. The mapper block 408a . . . 408n for stream i may utilize a modulation technique to map a plurality of bits, bst(i), into a symbol.
The beamforming V matrix block 412 may apply the beamforming technique to the plurality of symbols, or “spatial modes”, generated from the plurality of mapper blocks 408a . . . 408n. The beamforming V matrix block 412 may generate a plurality of signals where the number of signals generated may be equal to the number of transmitting antenna at the transmitter 400. Each signal in the plurality of signals generated by the beamforming V block 412 may comprise a weighted sum of at least one of the received symbols from the mapper blocks 408a . . . 408n. 
The plurality of IFFT blocks 410a . . . 410n may receive a plurality of signals from the beamforming block 412. Each IFFT block 410a . . . 410n may subdivide the bandwidth of the RF channel into a plurality of n sub-band frequencies to implement orthogonal frequency division multiplexing (OFDM), buffering a plurality of received signals equal to the number of sub-bands. Each buffered signal may be modulated by a carrier signal whose frequency is based on that of one of the sub-bands. Each of the IFFT blocks 410a . . . 410n may then independently sum their respective buffered and modulated signals across the frequency sub-bands to perform an n-point IFFT thereby generating a composite OFDM signal.
The plurality of digital (D) to analog (A) conversion and antenna front end blocks 414a . . . 414n may receive the plurality of signals generated by the plurality of IFFT blocks 410a . . . 410n. The digital signal representation received from each of the plurality of IFFT blocks 410a . . . 410n may be converted to an analog RF signal that may be amplified and transmitted via an antenna. The plurality of D to A conversion and antenna front end blocks 414a . . . 414n may be equal to the number of transmitting antenna 415a . . . 415n. Each D to A conversion and antenna front end block 414a . . . 414n may receive one of the plurality of signals from the beamforming V matrix block 412 and may utilize an antenna 415a . . . 415n to transmit one RF signal via an RF channel.
In the receiver 401, the plurality of antenna front end and A to D conversion blocks 416a . . . 416n may receive analog RF signals via an antenna, converting the RF signal to baseband and generating a digital equivalent of the received analog baseband signal. The digital representation may be a complex quantity comprising I and Q components. The number of antenna front end and A to D conversion blocks 416a . . . 416n may be equal to the number of receiving antenna 417a . . . 417n. 
The plurality of FFT blocks 420a . . . 420n may receive a plurality of signals from the plurality of antenna front end and A to D conversion blocks 416a . . . 416n. The plurality of FFT blocks 420a . . . 420n may be equal to the number of antenna front end and A to D conversion blocks 416a . . . 416n. Each FFT block 420a . . . 420n may receive a signal from an antenna front end and A to D conversion block 416a . . . 416n, independently applying an n-point FFT technique, and demodulating the signal by a utilizing a plurality of carrier signals based on the n sub-band frequencies utilized in the transmitter 400. The demodulated signals may be mathematically integrated over one sub band frequency period by each of the plurality of FFT blocks 420a . . . 420n to extract n symbols contained in each of the plurality of OFDM signals received by the receiver 401.
The beamforming U* block 418 may apply the beamforming technique to the plurality of signals received from the plurality of FFT blocks 420a . . . 420n. The beamforming U* block 418 may generate a plurality of signals where the number of signals generated may be equal to the number of spatial streams utilized in generating the signals at the transmitter 400. Each of the plurality of signals generated by the beamforming U* block 418 may comprise a weighted sum of at least one of the signals received from the FFT blocks 420a . . . 420n. 
The channel estimates block 422 may utilize preamble information, contained in a received RF signal, to compute channel estimates. The equalizer block 424 may receive signals generated by the beamforming U* block 418. The equalizer block 424 may process the received signals based on input from the channel estimates block 422 to recover the symbol originally generated by the transmitter 400. The equalizer block 424 may comprise suitable logic, circuitry, and/or code that may enable transformation of symbols received from the beamforming U* block 418 to compensate for fading in the RF channel.
The plurality of demapper blocks 426a . . . 426n may receive symbols from the equalizer block 424, reverse mapping each symbol to one or more binary bits by applying a demodulation technique, based on the modulation technique utilized in generating the symbol at the transmitter 400. The plurality of demapper blocks 426a . . . 426n may be equal to the number of streams in the transmitter 400.
The deinterleaver block 428 may receive a plurality of bits from each of the demapper blocks 426a . . . 426n, rearranging the order of bits among the received plurality of bits. The deinterleaver block 428 may rearrange the order of bits from the plurality of demapper blocks 426a . . . 426n in, for example, the reverse order of that utilized by the interleaver 406 in the transmitter 400. The depuncture block 430 may insert “null” bits into the output data block received from the deinterleaver block 428 that were removed by the puncture block 404. The Viterbi decoder block 432 may decode a depunctured output data block, applying a decoding technique that may recover the binary data blocks that were input to the coding block 402.
In operation, the processor 440 may receive decoded data from the Viterbi decoder 432. The processor 440 may communicate received data to the baseband processor 442 for analysis and further processing. The processor 440 may also communicate data received via the RF channel, by the receiver 401, to the channel estimates block 422. This information may be utilized by the channel estimates block 422, in the receiver 401, to compute channel estimates for a received RF channel. The baseband processor 442 may generate data to be transmitted via an RF channel by the transmitter 400. The baseband processor 442 may communicate the data to the processor 440. The processor 440 may generate a plurality of bits that are communicated to the coding block 402.
The elements shown in FIG. 4 may comprise components that may be present in an exemplary embodiment of a wireless communications terminal. One exemplary embodiment of a may be a wireless communications transmitter comprising a transmitter 400, a processor 440, and a baseband processor 442. Another exemplary embodiment of a may be a wireless communications receiver comprising a receiver 401, a processor 440, and a baseband processor 442. Another exemplary embodiment of a may be a wireless communications transceiver comprising a transmitter 400, a receiver 401, a processor 440, and a baseband processor 442.
A MIMO system may transmit information via one or more RF channels as specified by IEEE standard 802.11n. Such a MIMO system may be referred to as an IEEE 802.11n WLAN device. IEEE 802.11n provides specification for 20 MHz channels and 40 RF MHz channels. A 20 MHz RF channel may be characterized by a bandwidth of about 20 MHz. A 40 MHz RF channel may be characterized by a bandwidth of about 40 MHz. A MIMO system that transmits and/or receives information via a 20 MHz RF channel may utilize a total of 56 subcarriers in the 20 MHz channel, comprising 2 pilot tones, and 54 data-bearing subcarriers. The subcarriers may be distributed symmetrically around a frequency that represents a center frequency for a 20 MHz channel, for example. The frequency spacing between subcarriers in an IEEE 802.11n WLAN device may be approximately equal to 312.5 KHz, for example. A 20 MHz channel may comprise a plurality of subcarriers for which the frequency of a subcarrier, fsc(i), may be represented as:

fsc(i)=fcenter+iΔf where,  equation[5]

the frequency, fcenter, may represent the center frequency in a 20 MHz channel, the frequency increment, Δf, may represent the frequency spacing between subcarriers, and the value of the subcarrier index, i, may comprise a plurality of integer values represented as:

0<i≦Nsc/2, or  equation[6]

−Nsc/2≦i<0, where  equation[7]

Nsc may represent the number of subcarriers present in a 20 MHz channel.

An IEEE 802.11n 40 MHz channel may comprise a plurality of subcarriers for which the frequency of a subcarrier f40sc(i) may be represented as:

fsc40(i)=fprimary+iΔf, or  equation[8]

fsc40(i)=fsecondary+iΔf, where  equation[9]

fprimary may represent the center frequency of a primary 20 MHz channel, fsecondary may represent the center frequency of a secondary 20 MHz channel, and the index, i, may be as defined in equations [6] and [7]. The primary and secondary 20 MHz channels may be adjacent channels such that:

fsecondary=fprimary±20 MHz where  equation[10]

the secondary 20 MHz channel may be located at an adjacent channel for which the center frequency fsecondary is either 20 MHz higher or 20 MHz lower than the center frequency of the primary 20 MHz channel fprimary. A 40 MHz channel may comprise a plurality of Nsc subcarriers located at the primary 20 MHz channel, and subsequent plurality of Nsc subcarriers located at the secondary 20 MHz channel, where Nsc may represent the number of subcarriers in a 20 MHz channel. In this regard, a 40 MHz channel may comprise a total of 2Nsc subcarriers, where the value Nsc may be defined based on the number of subcarriers contained in the primary or secondary 20 MHz channel. If the primary or secondary channel comprises 56 subcarriers, then the 40 MHz channel may comprise a total of 112 subcarriers.

A MIMO system may utilize an antenna configuration represented as NTX×NRX, where NTX may represent the number of transmitting antenna at a station. Transmitting antennas may be utilized to transmit signals via an RF channel. NRX may represent the number of receiving antenna at a station that receives the signals.
Various embodiments of the invention comprise a method for reducing the quantity of information, as measured in a number of bits for example, that may be transmitted to describe a downlink RF channel in explicit feedback information when compared to an amount of information that may be transmitted utilizing conventional approaches. The number of bits that may be transmitted in explicit feedback information when utilizing a polar coordinate format may be fewer than a corresponding number of bits that may be transmitted when utilizing a Cartesian coordinate format.
The feedback V matrix may comprise an array of magnitude and corresponding angle component pairs associated with beamforming factors. For example, a 3×3 V matrix comprising 3 rows an 3 columns may be represented as follows:




  
    
      
        [
        
          
            
              
                
                  V
                  
                    1
                    ,
                    1
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
            
              
                
                  V
                  
                    1
                    ,
                    2
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
            
              
                
                  V
                  
                    1
                    ,
                    3
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
          
          
            
              
                
                  V
                  
                    2
                    ,
                    1
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
            
              
                
                  V
                  
                    2
                    ,
                    2
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
            
              
                
                  V
                  
                    2
                    ,
                    3
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
          
          
            
              
                
                  V
                  
                    3
                    ,
                    1
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
            
              
                
                  V
                  
                    3
                    ,
                    2
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
            
              
                
                  V
                  
                    3
                    ,
                    3
                  
                
                ⁡
                
                  (
                  
                    f
                    k
                  
                  )
                
              
            
          
        
        ]
      
    
    
      
        equation
        ⁢
        
          
        
        [
        11
        ]
      
    
  




where Vm,n(fk) may represent a beamforming factor associated with the kth frequency subcarrier transmitted by the mth transmitting antenna and received by an nth receiving antenna, and k=1, 2, . . . , NSC. The value Nsc may represent the number of frequency subcarriers including all data tones and pilot tones associated with an RF channel.

In various embodiments of the invention, a set of frequencies, fk, contained in a tone group may be defined based on a frequency, fi, and tone group size ε according to the following equation:

fi≦fk<fi+εΔf  equation[12]

where Δf may represent a frequency spacing between subcarriers, as described in equation[5].

An equivalent beamforming V matrix may be constructed based on equation[11] for values of k=1, ε+1, 2ε+1, . . . , ρε+1, where the value ρ may be about equal to the integer portion of the quotient (NSC−1)/ε.
When a WLAN station 104 communicates a feedback V matrix based on an equivalent beamforming matrix V for a downlink RF channel to a WLAN station 106 via a corresponding uplink RF channel, the WLAN station 106 may compute a full beamforming matrix V corresponding to the equivalent beamforming V matrix but utilizing an interpolation method. When the feedback V matrix comprises a beamforming factor V(f1), where f1 is a frequency in a tone group comprising f1, f2, . . . fε−1 for example, the WLAN station 106 may utilize an interpolation method to estimate values for the beamforming factors V(f2), V(f3), . . . , V(fε−1) based on the received beamforming factor V(f1). Similarly, when the feedback V matrix comprises a beamforming factor V(fk), where fk is a frequency in a tone group comprising f1, f2, . . . fε−1 for example, the WLAN station 106 may utilize an interpolation method to estimate values for the beamforming factors V(f1), V(f2), . . . , V(fk−1), V(fk+1), . . . , V(fε−1) based on the received beamforming factor V(fk). An interpolation method that may be utilized by the WLAN station 106 may comprise, but not be limited to, low pass interpolation, linear interpolation, or cubic interpolation, for example.
In one aspect related to the matrix V, a matrix multiplication of V and V* may produce an identity I matrix. The matrix V* may represent a Hermitian transpose of the matrix V. A Hermitian transpose of a matrix may be represented by constructing a transpose of the matrix followed by constructing a complex conjugate version of each element in the transposed matrix. An identity matrix may be characterized by an array for which diagonal elements contain a value equal to 1 and non-diagonal elements contain a value equal to 0. An identity matrix may be represented as a square matrix in that the number of rows in the matrix may be equal to the number of columns. When the conditions VV*=I and V*V=I are true, the matrix V may be referred to as a unitary matrix. The unitary matrix V may contain redundant information. Consequently, the number of degrees of freedom of the matrix V may be less than N×N. This may imply that it may be possible to reduce the number of parameters based on the number of degrees of freedom of the matrix V, for example, using angles.
When the V matrix contains redundant information, at least a portion of the angle components contained in the matrix may be redundant. In this case, the number of bits that may be transmitted as explicit feedback information in a redundancy reduced V matrix may be reduced when compared to conventional approaches that may not utilize redundant information.
Various embodiments of the invention may comprise a method and system for reducing the number of bits that may be transmitted in explicit feedback information. The method and system may utilize Givens rotation.
An N×M matrix comprising matrix elements arranged in N rows and M columns may represent a N-dimensional vector space. For a given matrix element for which a corresponding value is not equal to 0, a Givens rotation may be utilized to rotate the N-dimensional vector space such that the value of the corresponding matrix element in the rotated vector space is about equal to 0. The Givens rotation may be represented as an N×N Givens rotation matrix, Gli(ψ), in the following expression:




  
    
      
        
          
            G
            
              l
              ⁢
              
                
              
              ⁢
              i
            
          
          ⁡
          
            (
            
              ψ
              
                l
                ⁢
                
                  
                
                ⁢
                i
              
            
            )
          
        
        =
        
          [
          
            
              
                
                  I
                  
                    l
                    -
                    1
                  
                
              
              
                0
              
              
                0
              
              
                0
              
              
                0
              
            
            
              
                0
              
              
                
                  cos
                  ⁡
                  
                    (
                    
                      ψ
                      
                        l
                        ⁢
                        
                          
                        
                        ⁢
                        i
                      
                    
                    )
                  
                
              
              
                0
              
              
                
                  sin
                  ⁡
                  
                    (
                    
                      ψ
                      
                        l
                        ⁢
                        
                          
                        
                        ⁢
                        i
                      
                    
                    )
                  
                
              
              
                0
              
            
            
              
                0
              
              
                0
              
              
                
                  I
                  
                    i
                    -
                    l
                    -
                    1
                  
                
              
              
                0
              
              
                0
              
            
            
              
                0
              
              
                
                  -
                  
                    sin
                    ⁡
                    
                      (
                      
                        ψ
                        
                          l
                          ⁢
                          
                            
                          
                          ⁢
                          i
                        
                      
                      )
                    
                  
                
              
              
                0
              
              
                
                  cos
                  ⁡
                  
                    (
                    
                      ψ
                      
                        l
                        ⁢
                        
                          
                        
                        ⁢
                        i
                      
                    
                    )
                  
                
              
              
                0
              
            
            
              
                0
              
              
                0
              
              
                0
              
              
                0
              
              
                
                  I
                  
                    N
                    -
                    i
                  
                
              
            
          
          ]
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        13
        ]
      
    
  




where I may indicate a row in a matrix, i may indicate a column, In may represent an identity matrix comprising n rows and n columns, and ψli may represent a rotation angle. The value of the element located at the Ith row and Ith column in the matrix of equation[13] may be about equal to the value of the expression cos(ψli). The value of the element located at the ith row and ith column may be about equal to the value of the expression cos(ψli). The value of the element located at the Ith row and ith column may be about equal to the value of the expression −sin(ψli). The value of the element located at the ith row and Ith column may be about equal to the value of the expression sin(ψli). Each “0” indicated in the matrix of equation[13] may represent one or more matrix elements for which each corresponding value is about 0. For example, the first row of 0's in the matrix may represent a block of elements comprising I−1 rows and N−(I−1) columns for which the value of each element is about 0. A block of elements comprising 0 rows and/or 0 columns may be omitted from the matrix of equation[13].

A Givens rotation matrix may generally be utilized to rotate elements in a matrix for which the associated values are represented by real numbers. The beamforming matrix, V, may generally comprise elements for which the associated values are represented by complex numbers. The matrix V may be multiplied by an M×M column-wise phase shift matrix, {tilde over (D)}, which may be represented as follows:




  
    
      
        
          D
          ~
        
        =
        
          [
          
            
              
                
                  e
                  
                    jθ
                    1
                  
                
              
              
                0
              
              
                ...
              
              
                0
              
            
            
              
                0
              
              
                
                  e
                  
                    j
                    ⁢
                    
                      
                    
                    ⁢
                    
                      θ
                      2
                    
                  
                
              
              
                0
              
              
                ⋮
              
            
            
              
                ⋮
              
              
                0
              
              
                ⋱
              
              
                0
              
            
            
              
                0
              
              
                ...
              
              
                0
              
              
                
                  e
                  
                    jθ
                    M
                  
                
              
            
          
          ]
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        14
        ]
      
    
  




where θi may represent a phase shift associated with column i, e may represent a value about equal to 2.718, and j may represent the complex value equal to the square root of −1.

The matrix {tilde over (V)}=V{tilde over (D)} may represent a column-wise phase shifted version of the matrix V. The corresponding values of elements located at the ith row and ith column of the matrix {tilde over (V)}, multiplied by series of Gli and Di, may be represented by real numbers. The unitary matrix V may be column-wise phase invariant. For a column-wise phase invariant matrix, the matrix V may be considered to be equivalent to the matrix {tilde over (V)}.
The matrix V may be multiplied by an N×N second phase shift matrix, Di, which may be represented as follows:




  
    
      
        
          D
          i
        
        =
        
          [
          
            
              
                
                  I
                  i
                
              
              
                0
              
              
                ...
              
              
                0
              
            
            
              
                0
              
              
                
                  e
                  
                    jφ
                    
                      
                        i
                        +
                        1
                      
                      ,
                      i
                    
                  
                
              
              
                0
              
              
                ⋮
              
            
            
              
                ⋮
              
              
                0
              
              
                ⋱
              
              
                0
              
            
            
              
                0
              
              
                ...
              
              
                0
              
              
                
                  e
                  
                    jφ
                    
                      N
                      ,
                      i
                    
                  
                
              
            
          
          ]
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        15
        ]
      
    
  




where φa,b may represent a phase shift associated with a matrix element located at row a and column b in {tilde over (V)}.

The result of the matrix multiplication Di*V{tilde over (D)} may represent a phase shifted version of the matrix V, where Di* may represent a Hermitian transpose of the phase shift matrix Di. The corresponding values of elements located at the ith column of the product matrix Di*V{tilde over (D)} may be represented by real numbers.
The matrix product Gli(ψli)Di*V{tilde over (D)} may represent a Givens rotated version of the matrix Di*V{tilde over (D)}. An N-dimensional vector space represented by the matrix product Gli(ψli)Di*V{tilde over (D)} may equivalent to a degree angular rotation applied to the N-dimensional vector space represented by the matrix Di*V{tilde over (D)}. If a nonzero value is associated with an element located in the Ith row and ith column of the matrix Di*V{tilde over (D)}, represented as the (l,i) element, the corresponding value of the (l,i) element of the matrix product Gli(ψli)Di*V{tilde over (D)} may be about equal to 0.
One characteristic of Givens rotations is that rotations may be applied iteratively to select matrix elements for which corresponding values are to be set to about 0 as a result of successive rotations. For example, based on a current Givens rotation matrix, Gl i(ψli), and a subsequent Givens matrix Gki(ψki), a subsequent matrix product Gli(ψli)Gki(ψki)Di*V{tilde over (D)} may be computed. The value of the (l,i) element of the subsequent matrix product may be equal to about 0. The value of the (k,i) element of the subsequent matrix product may also be about equal to 0.
In various embodiments of the invention, the process may be repeated until a subsequent rotated matrix is computed such that the value associated with each element l in column i is about equal to 0. The range of values for the row indicator l may be subject to the following condition:

N≧1>i  equation[16]

where N may represent the number of rows in the matrix V.

After repeating the process for each element l in column i=1, for example, a subsequent rotated matrix may be represented as follows:




  
    
      
        
          
            
              G
              21
            
            ⁡
            
              (
              
                ψ
                21
              
              )
            
          
          ⁢
          
            
              G
              31
            
            ⁡
            
              (
              
                ψ
                31
              
              )
            
          
          ⁢
          
            
          
          ⁢
          ...
          ⁢
          
            
          
          ⁢
          
            
              G
              
                N
                ⁢
                
                  
                
                ⁢
                1
              
            
            ⁡
            
              (
              
                ψ
                
                  N
                  ⁢
                  
                    
                  
                  ⁢
                  1
                
              
              )
            
          
          ⁢
          
            D
            1
            *
          
          ⁢
          V
          ⁢
          
            D
            ~
          
        
        =
        
          [
          
            
              
                1
              
              
                
                  
                    
                      0
                    
                    
                      ...
                    
                    
                      0
                    
                  
                
              
            
            
              
                
                  
                    
                      0
                    
                  
                  
                    
                      ⋮
                    
                  
                  
                    
                      0
                    
                  
                
              
              
                
                  V
                  2
                
              
            
          
          ]
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        17
        ]
      
    
  




where V2 may represent an (N−1)×(M−1) submatrix.

For an ith column, equation[17] may be generalized and represented as follows:




  
    
      
        
          
            
              G
              
                
                  i
                  +
                  1
                
                ,
                i
              
            
            ⁡
            
              (
              
                ψ
                21
              
              )
            
          
          ⁢
          
            
              G
              
                
                  i
                  +
                  2
                
                ,
                i
              
            
            ⁡
            
              (
              
                ψ
                31
              
              )
            
          
          ⁢
          
            
          
          ⁢
          ...
          ⁢
          
            
          
          ⁢
          
            
              G
              
                N
                ,
                1
              
            
            ⁡
            
              (
              
                ψ
                
                  N
                  ⁢
                  
                    
                  
                  ⁢
                  1
                
              
              )
            
          
          ⁢
          
            D
            i
            *
          
          ⁢
          
            R
            i
          
        
        =
        
          [
          
            
          
          ⁢
          
            
              
                
                  I
                  i
                
              
              
                
                  
                    
                      0
                    
                    
                      ...
                    
                    
                      0
                    
                  
                
              
            
            
              
                
                  
                    
                      0
                    
                  
                  
                    
                      ⋮
                    
                  
                  
                    
                      0
                    
                  
                
              
              
                
                  V
                  
                    i
                    +
                    1
                  
                
              
            
          
          ]
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        18
        ]
      
    
  




where Ri may represent a previous rotated matrix, and Vi+1 may represent an (N−i)×(M−i) submatrix. The phase shift angle θi+1 in equation[13] may be defined such that the (1,1) element in the matrix Vi+1 may be represented by real numbers.

In various embodiments of the invention, the process shown in equation[18] may be repeated for a subsequent column wherein the range of values for the column indicator i may be subject to the following condition:

min(M,N−1)≧i≧1  equation[19]

where N may represent the number of rows in the matrix V, M may represent the number of columns in the matrix V, and min(a,b) may represent an expression, the value of which may be the minimum value among arguments a and b.

Based on equations [13], [15], [18], [19], and the unitary matrix property, the matrix V may be expressed based the Givens rotations according to the following equation:




  
    
      
        V
        =
        
          
            ∏
            
              i
              =
              1
            
            
              min
              ⁡
              
                (
                
                  M
                  ,
                  
                    N
                    -
                    1
                  
                
                )
              
            
          
          ⁢
          
            
              [
              
                
                  D
                  i
                
                ⁢
                
                  
                    ∏
                    
                      l
                      =
                      
                        i
                        +
                        1
                      
                    
                    N
                  
                  ⁢
                  
                    
                      G
                      
                        l
                        ⁢
                        
                          
                        
                        ⁢
                        i
                      
                      *
                    
                    ⁡
                    
                      (
                      
                        ψ
                        
                          l
                          ⁢
                          
                            
                          
                          ⁢
                          i
                        
                      
                      )
                    
                  
                
              
              ]
            
            ×
            
              I
              ~
            
          
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        20
        ]
      
    
  




where Ĩ may represent an N×M matrix comprising an identity matrix Imin(N,M) and either a block of max(0,N−M) rows of elements, or a block of max(0,M−N) columns of elements, with each element of a value about 0, max(a,b) may represent an expression, the value of which may be the maximum value among arguments a and b, and the operator Π[Xi] may represent a right-side matrix multiplication product among a set of matrices Xi. Gli(ψli)* may represent a Hermitian transpose of the Givens rotation matrix Gli(ψli). The Givens rotation matrix Gli(ψli) is as defined in equation[13] and the phase shift matrix Di is as defined in equation[15].

In various embodiments of the invention, explicit feedback information may comprise values for one or more rotation angle parameters comprising one or more phase shift angles φli and one or more Givens rotation angles ψli. The following table represents the number of parameters that may be utilized in explicit feedback information to represent an N×M beamforming matrix V, for exemplary values of N rows and M columns:







TABLE 1







Angles to be reported in explicit feedback information









Dimensions
Number of



(N × M)
Parameters
Explicit Feedback Angle Parameters












2 × 1
2
φ21, ψ21


2 × 2
2
φ21, ψ21


3 × 1
4
φ21, φ31, ψ21, ψ31


3 × 2
6
φ21, φ31, ψ21, ψ31, φ32, ψ32


3 × 3
6
φ21, φ31, ψ21, ψ31, φ32, ψ32


4 × 1
6
φ21, φ31, φ41, ψ21, ψ31, ψ41


4 × 2
10
φ21, φ31, φ41, ψ21, ψ31, ψ41,




φ32, φ42, ψ32, ψ42


4 × 3
12
φ21, φ31, φ41, ψ21, ψ31, ψ41,




φ32, φ42, ψ32, ψ42, φ43, ψ43


4 × 4
12
φ21, φ31, φ41, ψ21, ψ31, ψ41,




φ32, φ42, ψ32, ψ42, φ43, ψ43









The feedback angles represented in Table 1 may be reported for each of the Nsc plurality of frequency subcarriers associated with the corresponding downlink RF channel. The order of angles represented in Table 1 may be determined based on the order of multiplications that may be performed when reconstructing the V matrix for each subcarrier at the WLAN 106 that receives the explicit feedback information. For example, for given feedback angles, φli and ψli, the angles may be represented as a vectors of angles, φli[−Nsc/2, −Nsc/2+1, . . . , −2, −1, 1, 2, . . . , Nsc/2−1, Nsc/2] and ψli[−Nsc/2, −Nsc/2+1, . . . , −2, −1, 1, 2, . . . , Nsc/2−1, Nsc/2], where Nsc may represent the number of subcarriers associated with the downlink RF channel.
When tone grouping is utilized, in accordance with various embodiments of the invention, the feedback angles represented in Table 1 may be reported for a portion of the Nsc plurality of frequency subcarriers associated with the corresponding downlink RF channel. For example, for a tone group size represented by ε, the feedback angles, φli and ψli may be represented as a vectors of angles, φli[−Nsc/2, −Nsc/2+ε, −Nsc/2+ε, −Nsc/2+2ε, . . . , −Nsc/2+κε] and ψli[−Nsc/2, −Nsc/2+ε, −Nsc/2+2ε, . . . , −Nsc/2+κε], where κ may represent an integer, the value of which may be within a range according to the condition 0≦κ≦Nsc/ε.
When a WLAN station 104 communicates explicit feedback information based tone grouping, the WLAN station 106 may receive a feedback beamforming V matrix comprising a plurality feedback angles φli[−Nsc/2, −Nsc/2+ε, −Nsc/2+2ε, . . . , −Nsc/2+κε] and ψli[−Nsc/2, −Nsc/2+ε, −Nsc/2+2ε, . . . , −Nsc/2+κε] according to Table 1. The WLAN station 106 may utilize an interpolation method to compute a corresponding plurality of feedback angles φli[−Nsc/2, −Nsc/2+1, . . . , −2, −1, 1, 2, . . . , Nsc/2−1, Nsc/2] and ψli[−Nsc/2, −Nsc/2+1, . . . , −2, −1, 1, 2, . . . , Nsc/2−1, Nsc/2]. The WLAN station 106 may subsequently compute values V(fk) based on corresponding values φli[k] and ψli[k].
Actual values for angles reported in explicit feedback information may be determined based on a codebook. For example, a range of true values for Givens rotation angles may comprise 0≦φli≦π/2. A range of true values for phase rotation angles may comprise 0≦φli≦2π, for example. Values for the Givens rotation angles may be approximated based on a binary encoding comprising a plurality of bψ bits. Values for Givens rotation angles that are represented by a binary encoding of bits may be referred to as quantized values. The range of values for binary quantized values for the Givens rotation angles may comprise kπ/2bψ|1+π/2bψ|2, where k may be equal to on of a range of values comprising 0, 1, . . . , 2bψ−1, for example. Values for the phase rotation angles may be approximated based on a binary encoding comprising a plurality of bφ bits. The range of values for binary quantized values for the phase rotation angles may comprise kπ/2bφ−1+π/2bφ, where k may be equal to one of a range of values comprising 0, 1, . . . , 2bφ−1, for example. Differences in value between a true value and a corresponding quantized value may be referred to as a quantization error. The potential size of a given quantization error may be based on the number of bits utilized during binary encoding.
The number of bits utilized during binary encoding of ψli and during binary encoding of φli respectively may be represented as a (bψ, bφ) tuple. A tuple utilized in an exemplary codebook may comprise (1,3) to represent the combination bψ=1 and bφ=3. Other tuples in the exemplary codebook may comprise (2,4), (3,5), or (4,6).
Various embodiments of the invention may comprise a method and a system for utilizing Givens rotations for representing beamforming matrices in explicit feedback information. In one aspect of the invention, the number of bits contained in the explicit feedback information may be reduced in comparison to a corresponding number of bits contained in explicit feedback information based on a Cartesian coordinate format representation. The number of bits contained in explicit feedback information, which is generated in accordance with an embodiment of the invention may be determined based on the size of the V matrix, as measured by N rows and M columns, the number of frequency carriers in a tone group, the tone group size, the number of subcarriers associated with the corresponding downlink RF channel, and the number of bits utilized during binary encoding of the Givens rotation angles, and phase rotation angles.
Table 2 presents an exemplary mapping between bits contained in explicit feedback information, and the corresponding angle that may be reported. In Table 2, N=2, M=4, the downlink channel may be a 20 MHz RF channel, and the bits utilized may be represented by (2,4). The tone grouping size may be represented by ε=4. The range bj . . . bk may represent a range of bit positions in the explicit feedback information where in bj may represent the least significant bit (LSB) in the range and bk may represent the most significant bit (MSB) in the range, for example. The notation fp may represent a frequency subcarrier associated with the RF channel. Values for the index p may represent a range of integer values as determined in equations [6] and [7], where the value NSC=112, for example. The notation ψli(fp) may refer to a Givens rotation angle associated with frequency subcarrier fp. The notation φli(fp) may refer to a phase rotation angle associated with frequency subcarrier fp.







TABLE 2







Exemplary encoding of explicit feedback information










Feedback Bits
Angle Reported







b1 . . . b4
φ21(f−56)



. . .
. . .



b113 . . . b116
φ31(f−56)



. . .
. . .



b337 . . . b338
ψ21(f−56) 



. . .
. . .



b505 . . . b508
φ32(f−56)



. . .
. . .



b839 . . . b840
ψ42(f56)  










The exemplary explicit feedback information shown in Table 2 contains 840 bits: 280 bits may be utilized to communicate Givens rotation angles, and 560 bits may be utilized to communicate phase rotation angles.
Table 3 presents exemplary comparisons between the number of bytes contained in explicit feedback information, which is generated in accordance with an embodiment of the invention, and a corresponding number of bytes contained in explicit feedback information, which is generated based on a Cartesian coordinate format representation. The comparison in Table 3 may be based on a 20 MHz type E RF channel as specified in IEEE 802.11. The first row in Table 3 represents a number of bytes contained in explicit feedback information, which is generated based on a Cartesian coordinate format representation. The second row in Table 3 represents a number of bytes contained in explicit feedback information, which is generated based on Givens rotations without utilizing tone grouping, in accordance with an embodiment of the invention. Tone grouping may not be utilized when a tone group size ε=1, for example. The third row in Table 3 represents a number of bytes contained in explicit feedback information, which is generated based on Givens rotations utilizing a tone group size ε=2, in accordance with an embodiment of the invention. The fourth row in Table 3 represents a number of bytes contained in explicit feedback information, which is generated based on Givens rotations utilizing a tone group size ε=4, in accordance with an embodiment of the invention. The first column in Table 3 represents a size of a V matrix where N=2 and M=2. The second column in Table 3 represents a size of a V matrix where N=3 and M=3. The third column in Table 3 represents a size of a V matrix where N=4 and M=2. The fourth column in Table 3 represents a size of a V matrix where N=4 and M=4.
When N=2 and M=2, the Cartesian coordinate format representation, indicated in the first row of Table 3, may be utilized to report 4 sets of I and Q amplitude component values in explicit feedback information where each set comprises I and Q amplitude component values associated with each frequency subcarrier associated with the 20 MHz RF channel. The I and Q amplitudes may be quantized and represented in a 10 bit binary word, for example utilizing 4 bits to quantize each I amplitude and 6 bits to quantize each Q amplitude. The Cartesian coordinate format representation of the explicit feedback information may comprise 280 bytes. The Givens rotation version, indicated in the second row of Table 3, may be utilized to report one set of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 56 bytes.
The Givens rotation with ε=2 version, indicated in the third row of Table 3, may be utilized to report one set of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=2 version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 28 bytes. The Givens rotation with ε=4 version, indicated in the fourth row of Table 3, may be utilized to report one set of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=4 version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 14 bytes.
When N=3 and M=3, the Cartesian coordinate format representation may be utilized to report 9 sets of I and Q amplitude component values in explicit feedback information. The I and Q amplitudes may be quantized and represented in a 8 bit binary word, for example utilizing 3 bits to quantize each I amplitude and 5 bits to quantize each Q amplitude. The Cartesian coordinate format representation of the explicit feedback information may comprise 504 bytes. The Givens rotation version, indicated in the second row of Table 3, may be utilized to report 3 sets of Givens rotation angles and phase rotation angles as indicated in Table 1. The Givens rotation version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 168 bytes.
The Givens rotation with ε=2 version, indicated in the third row of Table 3, may be utilized to report 3 sets of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=2 version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 84 bytes. The Givens rotation with ε=4 version, indicated in the fourth row of Table 3, may be utilized to report 3 sets of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=4 version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 42 bytes.
When N=4 and M=2, the Cartesian coordinate format representation may be utilized to report 8 sets of I and Q amplitude component values in explicit feedback information. The I and Q amplitudes may be quantized and represented in a 8 bit binary word, for example utilizing 3 bits to quantize each I amplitude and 5 bits to quantize each Q amplitude. The Cartesian coordinate format representation of the explicit feedback information may comprise 448 bytes. The Givens rotation version, indicated in the second row of Table 3, may be utilized to report 5 sets of Givens rotation angles and phase rotation angles as indicated in Table 1. The Givens rotation version may utilize 2 bits to quantize each Givens rotation angle and 4 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 210 bytes.
The Givens rotation with ε=2 version, indicated in the third row of Table 3, may be utilized to report 5 sets of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=2 version may utilize 2 bits to quantize each Givens rotation angle and 4 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 105 bytes. The Givens rotation with ε=4 version, indicated in the fourth row of Table 3, may be utilized to report 5 sets of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=4 version may utilize 2 bits to quantize each Givens rotation angle and 4 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 53 bytes.
When N=4 and M=4, the Cartesian coordinate format representation may be utilized to report 16 sets of I and Q amplitude component values in explicit feedback information. The I and Q amplitudes may be quantized and represented in a 8 bit binary word, for example utilizing 3 bits to quantize each I amplitude and 5 bits to quantize each Q amplitude. The Cartesian coordinate format representation of the explicit feedback information may comprise 896 bytes. The Givens rotation version, indicated in the second row of Table 3, may be utilized to report 6 sets of Givens rotation angles and phase rotation angles as indicated in Table 1. The Givens rotation version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 336 bytes. Alternatively, the Givens rotation version may utilize 2 bits to quantize each Givens rotation angle and 4 bits to quantize each phase rotation angle, for example. In this case, the Givens rotation version of the explicit feedback information may comprise 252 bytes.
The Givens rotation with ε=2 version, indicated in the third row of Table 3, may be utilized to report 6 sets of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=2 version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 168 bytes. Alternatively, the Givens rotation with ε=2 version may utilize 2 bits to quantize each Givens rotation angle and 4 bits to quantize each phase rotation angle, for example. In this case, the Givens rotation version of the explicit feedback information may comprise 126 bytes. The Givens rotation with ε=4 version, indicated in the fourth row of Table 3, may be utilized to report 6 sets of Givens rotation angles and phase rotation angles, as indicated in Table 1. The Givens rotation with ε=4 version may utilize 3 bits to quantize each Givens rotation angle and 5 bits to quantize each phase rotation angle, for example. The Givens rotation version of the explicit feedback information may comprise 84 bytes. Alternatively, the Givens rotation with ε=4 version may utilize 2 bits to quantize each Givens rotation angle and 4 bits to quantize each phase rotation angle, for example. In this case, the Givens rotation version of the explicit feedback information may comprise 63 bytes.







TABLE 3







Quantity of Explicit Feedback Information


for 20 MHz Type E Channel (Bytes)












2 × 2
3 × 3
4 × 2
4 × 4

















Cartesian
280
504
448
896



Givens
56
168
210
336 (252)



Tone Group Size = 2
28
84
105
168 (126)



Tone Group Size = 4
14
42
53
84 (63)










Table 4 presents exemplary comparisons between the number of bytes contained in explicit feedback information, which is generated in accordance with an embodiment of the invention, and a corresponding number of bytes contained in explicit feedback information, which is generated based on a Cartesian coordinate format representation. Table 4 represents equivalent information from Table 3 where the RF channel is 40 MHz. The comparison in Table 4 may be based on a 40 MHz type E RF channel as specified in IEEE 802.11. The first row in Table 4 represents a number of bytes contained in explicit feedback information, which is generated based on a Cartesian coordinate format representation. The second row in Table 4 represents a number of bytes contained in explicit feedback information, which is generated based on Givens rotations without utilizing tone grouping, in accordance with an embodiment of the invention. The third row in Table 4 represents a number of bytes contained in explicit feedback information, which is generated based on Givens rotations utilizing a tone group size ε=2, in accordance with an embodiment of the invention. The fourth row in Table 4 represents a number of bytes contained in explicit feedback information, which is generated based on Givens rotations utilizing a tone group size ε=4, in accordance with an embodiment of the invention.
The first column in Table 4 represents a size of a V matrix where N=2 and M=2. The second column in Table 4 represents a size of a V matrix where N=3 and M=3. The third column in Table 4 represents a size of a V matrix where N=4 and M=2. The fourth column in Table 4 represents a size of a V matrix where N=4 and M=4.







TABLE 4







Quantity of Explicit Feedback Information


for 40 MHz Type E Channel (Bytes)












2 × 2
3 × 3
4 × 2
4 × 4















Cartesian
570
1,026
912
1,824


Givens
114
342
428
684 (513)


Tone Group Size = 2
56
168
210
336 (252)


Tone Group Size = 4
28
84
105
168 (126)









FIG. 5 is a graph illustrating packet error rate (PER) performance for a 2×2 MIMO system utilizing a D type channel, in accordance with an embodiment of the invention. The D type channel may utilize a 50 ns delay spread as specified in IEEE 802.11. In FIG. 5, PER performance is displayed in relation to a corresponding signal to noise ratio (SNR). Referring to FIG. 5, there is shown a graph for an open loop system 502, a graph for a system utilizing beamforming in which true values of Givens and phase rotation angles may be utilized 504, and a graph for a system utilizing beamforming in which tone grouping may not be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 506. An open loop system may not utilize beamforming. The system that utilized true values of Givens and phase rotation angles may be referred to as a full resolution beamforming implementation.
Also shown in FIG. 5 is a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 508. FIG. 5 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 510. FIG. 5 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 512.
Also shown in FIG. 5 is a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 514. FIG. 5 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 516. FIG. 5 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 518.
Comparisons between graphs may be based on an SNR value that corresponds to a given PER. For example, at a PER value of 0.04 the graph 504 may indicate an SNR value of about 20 dB, while the graphs 506, 508, 510, 512, 514, 516, and 518 may indicate SNR values within about 0.5 dB of 20 dB, for example. Thus, in various embodiments of the invention, the PER performance may be within 0.5 dB compared to a full resolution beamforming implementation.
FIG. 6 is a graph illustrating packet error rate (PER) performance for a 2×2 MIMO system utilizing an E type channel, in accordance with an embodiment of the invention. The E type channel may utilize a 100 ns delay spread as specified in IEEE 802.11. In FIG. 6, PER performance is displayed in relation to a corresponding signal to noise ratio (SNR). Referring to FIG. 6, there is shown a graph for an open loop system 602, a graph for a system utilizing beamforming in which true values of Givens and phase rotation angles may be utilized 604, and a graph for a system utilizing beamforming in which tone grouping may not be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 606.
Also shown in FIG. 6 is a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 608. FIG. 6 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 610. FIG. 6 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 612.
Also shown in FIG. 6 is a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 614. FIG. 6 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 616. FIG. 6 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 618.
At a PER value of 0.04 the graph 604 may indicate an SNR value of about 20.5 dB, while the graphs 606, 608, 610, and 612 may indicate SNR values within about 0.5 dB of the full resolution beamforming implementation, for example. The graphs 614, 616, and 618 may indicate SNR values within about 0.5 dB to about 1 dB of 20.5, for example.
FIG. 7 is a graph illustrating packet error rate (PER) performance for a 4×2 MIMO system utilizing a D type channel, in accordance with an embodiment of the invention. In FIG. 7, PER performance is displayed in relation to a corresponding signal to noise ratio (SNR). Referring to FIG. 7, there is shown a graph for an open loop system 702, a graph for a system utilizing beamforming in which true values of Givens and phase rotation angles may be utilized 704, and a graph for a system utilizing beamforming in which tone grouping may not be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 706.
Also shown in FIG. 7 is a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 708. FIG. 7 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 710. FIG. 7 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 712, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 714.
Also shown in FIG. 7 is a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 716. FIG. 7 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 718. FIG. 7 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 720, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 722.
At a PER value of 0.04 the graph 704 may indicate an SNR value of about 13.5 dB, while the graphs 706, 708, 710, 712, 714, 716, 718, 720 and 722 may indicate SNR values within about 0.5 dB of the full resolution beamforming implementation, for example.
FIG. 8 is a graph illustrating packet error rate (PER) performance for a 4×2 MIMO system utilizing an E type channel, in accordance with an embodiment of the invention. In FIG. 8, PER performance is displayed in relation to a corresponding signal to noise ratio (SNR). Referring to FIG. 8, there is shown a graph for an open loop system 802, a graph for a system utilizing beamforming in which true values of Givens and phase rotation angles may be utilized 804, and a graph for a system utilizing beamforming in which tone grouping may not be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 806.
Also shown in FIG. 8 is a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 808. FIG. 8 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 810. FIG. 8 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 812, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 814.
Also shown in FIG. 8 is a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 816. FIG. 8 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 818. FIG. 8 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 820, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 822.
At a PER value of 0.04 the graph 804 may indicate an SNR value of about 13.5 dB, while the graphs 806, 808, 810, 812, and 814 may indicate SNR values within about 0.5 dB of the full resolution beamforming implementation, for example. The graphs 816, 818, 820 and 822 may indicate SNR values within about 0.5 dB to about 1 dB of the full resolution beamforming implementation, for example.
FIG. 9 is a graph illustrating packet error rate (PER) performance for a 4×4 MIMO system utilizing a D type channel, in accordance with an embodiment of the invention. In FIG. 9, PER performance is displayed in relation to a corresponding signal to noise ratio (SNR). Referring to FIG. 9, there is shown a graph for an open loop system 902, a graph for a system utilizing beamforming in which true values of Givens and phase rotation angles may be utilized 904, and a graph for a system utilizing beamforming in which tone grouping may not be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 906. Also shown in FIG. 9 is a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 908.
FIG. 9 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 910. FIG. 9 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 912, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 914.
Also shown in FIG. 9 is a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 916. FIG. 9 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 918. FIG. 9 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 920, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 922.
At a PER value of 0.04 the graph 904 may indicate an SNR value of about 15.5 dB, while the graphs 906, 908, 910, 912, and 914 may indicate SNR values within about 0.5 dB of the full resolution beamforming implementation, for example. The graphs 916, 918, 920 and 922 may indicate SNR values within about 0.5 dB to about 1 dB of the full resolution beamforming implementation, for example.
FIG. 10 is a graph illustrating packet error rate (PER) performance for a 4×4 MIMO system utilizing an E type channel with (2,4) bit encoding, in accordance with an embodiment of the invention. In FIG. 10, PER performance is displayed in relation to a corresponding signal to noise ratio (SNR). Referring to FIG. 10, there is shown a graph for an open loop system 1002, a graph for a system utilizing beamforming in which true values of Givens and phase rotation angles may be utilized 1004, and a graph for a system utilizing beamforming in which tone grouping may not be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 1006. Also shown in FIG. 10 is a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 1008. FIG. 10 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 1010. FIG. 10 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 1012, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 1014.
Also shown in FIG. 10 is a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles 1016. FIG. 10 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 1018. FIG. 10 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (2,4) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 1020, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 1022.
At a PER value of 0.04 the graph 1004 may indicate an SNR value of about 17 dB, while the graph 1006 may indicate SNR values within about 0.5 dB of the full resolution beamforming implementation, for example. The graphs 1008, 1010, 1012 and 1014 may indicate SNR values within about 0.5 dB to about 1 dB of the full resolution beamforming implementation, for example. The graphs 1016, 1020 and 1022 may indicate SNR values within about 1 dB to about 1.5 dB of the full resolution beamforming implementation, for example. The graph 1018 may indicate SNR values within about 1.5 dB to about 2 dB of the full resolution beamforming implementation, for example.
FIG. 11 is a graph illustrating packet error rate (PER) performance for a 4×4 MIMO system utilizing an E type channel and (3,5) bit encoding, in accordance with an embodiment of the invention. In FIG. 11, PER performance is displayed in relation to a corresponding signal to noise ratio (SNR). Referring to FIG. 11, there is shown a graph for an open loop system 1102, a graph for a system utilizing beamforming in which true values of Givens and phase rotation angles may be utilized 1104, and a graph for a system utilizing beamforming in which tone grouping may not be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 1106. Also shown in FIG. 11 is a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 1108.
FIG. 11 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 1110. FIG. 11 shows a graph for a system utilizing beamforming in which tone group size ε=2 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 1112, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 1114.
Also shown in FIG. 11 is a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles 1116. FIG. 11 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more beamforming factors V(f) 1118. FIG. 11 shows a graph for a system utilizing beamforming in which tone group size ε=4 may be utilized in which (3,5) bits may be utilized to quantize Givens and phase rotation angles, and which may utilize interpolation to compute one or more angles ψli(f) and φli(f) 1120, and a system which may utilize linear interpolation to compute one or more angles ψli(f) and φli(f) 1122.
At a PER value of 0.04 the graph 1104 may indicate an SNR value of about 16.5 dB, while the graph 1106 may indicate SNR values within about 0.5 dB of the full resolution beamforming implementation, for example. The graphs 1108, 1110, 1112 and 1114 may indicate SNR values within about 0.5 dB to about 1 dB of the full resolution beamforming implementation, for example. The graphs 1116, 1120 and 1122 may indicate SNR values within about 1 dB to about 1.5 dB of the full resolution beamforming implementation, for example. The graph 1118 may indicate SNR values within about 1.5 dB to about 2 dB of the full resolution beamforming implementation, for example.
FIG. 12 is a flowchart illustrating exemplary steps for utilizing Givens rotations and tone grouping for beamforming matrices in explicit feedback information, in accordance with an embodiment of the invention. Referring to FIG. 12, in step 1202 a column counter, i, may be initialized to a value of 1. In step 1204, a signal Y, which was transmitted by a WLAN station 106, may be received by a WLAN station 104 via a downlink RF channel. In step 1206 the receiving WLAN station 104 may compute a beamforming V matrix. The V matrix may comprise N rows and M columns.
In step 1208, a row counter, I, may be initialize to a value based on the current value of the row counter i. In step 1210, a residual matrix {tilde over (V)} may be computed by phase shifting the beamforming V matrix such that the (1,1) element in the Vi matrix may be represented by a real number. In step 1212, a current residual matrix may be phase shifted such that elements in the ith column may be represented by real numbers. In step 1216, a Givens rotation may be applied such that the value of the element (l,i) is about 0 in the Givens rotated matrix. Step 1218 may determine if the current value of the row counter is equal to the value N. If the current value of the row counter is not equal to the value N, in step 1220, the value of the row counter may be incremented. Step 1216 may follow step 1220. If the current value of the row counter is equal to the value N, step 1222 may determine if the current value of the column counter is about equal to the value of the expression min(M,N−1). If the current value of the column counter is not approximately equal to the value of the expression min(M,N−1), step 1224 may increment the value of the column counter. Step 1208 may follow step 1224. If the current value of the column counter is about equal to the value of the expression min(M,N−1), in step 1226, a tone group size, ε, may be selected.
In step 1228, frequency carriers, associated with an RF channel, may be selected based on the selected tone group size. The selected frequencies may comprise f−Nsc/2, f−Nsc/2+ε, f−Nsc/2+ 2ε, . . . , f−Nsc/2 + κε, for example. The index, κ, may represent an integer, the value of which may be within a range according to the condition 0≦κ≦Nsc/ε. In step 1230, values for Givens rotation angles and phase rotation angles may be encoded for selected frequency carriers. The values of the angles may be quantized and encoded based on a codebook, for example. In step 1232, explicit feedback information may be transmitted from the WLAN station 104 to the WLAN station 106 via an uplink RF channel.
FIG. 13 is a flowchart illustrating exemplary steps for interpolation of Givens rotation and phase shift angles, in accordance with an embodiment of the invention. Referring to FIG. 13, in step 1302 a tone group size may be determined. In step 1304, explicit feedback information may be received that comprises a plurality of Givens rotation and phase shift angles for selected frequency carriers from tone groups. The selected frequency carriers may comprise a subset of frequency carriers associated with an RF channel. In step 1306, the tone group size and an interpolation method may be utilized to compute a full set of Givens rotation and phase shift angles for the set of NSC frequency carriers associated with an RF channel. In step 1308, the beamforming V matrix may be computed based on the received and interpolated Givens rotation and phase shift angles.
FIG. 14 is a flowchart illustrating exemplary steps for interpolation of beamforming factors V(f), in accordance with an embodiment of the invention. Referring to FIG. 14, in step 1402 a tone group size may be determined. In step 1404, explicit feedback information may be received that comprises a plurality of Givens rotation and phase shift angles for selected frequency carriers from tone groups. The selected frequency carriers may comprise a subset of frequency carriers associated with an RF channel. In step 1406, a partial beamforming V matrix may be computed based on the set of received Givens rotation and phase shift angles. In step 1408, the partial beamforming V matrix, the tone group size and an interpolation method may be utilized to compute a full beamforming V matrix for the set of NSC frequency carriers associated with an RF channel.
Aspects of a system for processing signals in a communication system may comprise a receiver 284 that enables reception, via an uplink channel in a MIMO communications system, of channel information that describes a downlink channel. The system may also comprise a processor 282 that enables determination of further channel information that describes the downlink channel based on the received channel information. The system may also comprise a transmitter 286 that enables transmission of signals via the downlink channel based on the received channel information and/or the determined further channel information.
The received channel information may comprise a received plurality of Givens rotation angles and corresponding phase rotation angles. The determined further channel information may comprise a computed plurality of Givens rotation angles and corresponding phase rotation angles. The processor 282 may enable computation of at least a portion of a beamforming matrix based on a received plurality of Givens rotation angles and corresponding phase rotation angles and/or the computed plurality of Givens rotation angles and corresponding phase rotation angles.
The received plurality of Givens rotation angles and corresponding phase rotation angles may correspond to a received plurality of frequencies. The computed plurality of Givens rotation angles and corresponding phase rotation angles may correspond to a computed plurality of frequencies. The processor 282 may enable creation of a tone group comprising one of the received plurality of frequencies and at least one of the computed plurality of frequencies. The processor 282 may enable computation of a portion of the computed plurality of Givens rotation angles and corresponding phase rotation angles, which correspond to one or more of the computed plurality of frequencies in the tone group. The computation may be based on one of the received plurality of frequencies in the tone group. The processor 282 may enable computation of a received portion of the beamforming matrix based on the received plurality of Givens rotation angels and corresponding phase rotation angles. The processor 282 may enable computation of a remaining portion of the beamforming matrix based on the computed received portion of the beamforming matrix.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.

## Claims

1. A method for processing signals, comprising:
in a device that is operable for MIMO communication:
determining one or more Givens rotation angles and corresponding phase rotation angles for a beamforming matrix that corresponds to an RF channel;
selecting a tone group size;
selecting, based on the selected tone group size, frequency carriers from a plurality of frequency carriers that correspond to the RF channel; and
encoding the determined one or more Givens rotations angles and corresponding phase rotation angles that correspond to the selected frequency carriers to produce encoded information for transmission.

2. The method of claim 1, wherein the selected tone group size is 2.

3. The method of claim 1, wherein the selected tone group size is 4.

4. The method of claim 1, wherein the selected tone group size is selected from a plurality of tone group sizes supported by the device.

5. The method of claim 1, wherein the RF channel is a 20 MHz channel.

6. The method of claim 1, wherein the RF channel is a 40 MHz channel.

7. The method of claim 1, wherein the RF channel is a downlink RF channel, the method comprising:
transmitting the encoded information via an uplink RF channel.

8. The method of claim 1, comprising generating the beamforming matrix based on signals received by the device via the RF channel.

9. The method of claim 1, comprising binary encoding the determined one or more Givens rotations angles and corresponding phase rotation angles that correspond to the selected frequency carriers.

10. A system for processing signals, comprising:
one or more processors and/or circuits for use in a device that is operable for MIMO communication, the one or more processors and/or circuits being operable to:
determine one or more Givens rotation angles and corresponding phase rotation angles for a beamforming matrix that corresponds to an RF channel;
select a tone group size;
select, based on the selected tone group size, frequency carriers from a plurality of frequency carriers that correspond to the RF channel; and
encode the determined one or more Givens rotations angles and corresponding phase rotation angles that correspond to the selected frequency carriers to produce encoded information for transmission.

11. The system of claim 10, wherein the selected tone group size is 2.

12. The system of claim 10, wherein the selected tone group size is 4.

13. The system of claim 10, wherein the selected tone group size is selected from a plurality of tone group sizes supported by the device.

14. The system of 10, wherein the RF channel is a 20 MHz channel.

15. The system of claim 10, wherein the RF channel is a 40 MHz channel.

16. The system of claim 10, wherein:
the RF channel is a downlink RF channel; and
the one or more processors and/or circuits are operable to transmit the encoded information via an uplink RF channel.

17. The system of claim 10, wherein the one or more processors and/or circuits are operable to generate the beamforming matrix based on signals received by the device via the RF channel.

18. The system of claim 10, wherein the one or more processors and/or circuits are operable to generate the beamforming matrix utilizing a phase shifting matrix.

19. The system of claim 10, wherein the one or more processors and/or circuits are operable to binary encode the determined one or more Givens rotations angles and corresponding phase rotation angles that correspond to the selected frequency carriers.

20. A system for processing signals, comprising:
one or more circuits for used in a MIMO communication device, the one or more circuits being operable to:
determine one or more Givens rotation angles and corresponding phase rotation angles for a beamforming matrix that corresponds to an RF channel;
select a tone group size from a plurality of tone group sizes that comprise a tone group size having a value of 2 and a tone group size having a value of 4;
select, based on the selected tone group size, frequency carriers from a plurality of frequency carriers that correspond to the RF channel; and
encode the determined one or more Givens rotations angles and corresponding phase rotation angles that correspond to the selected frequency carriers to produce encoded information for transmission.