# Patent

## Title
Method and system for utilizing givens rotation expressions for asymmetric beamforming matrices in explicit feedback information

## Abstract

Aspects of a method and system for utilizing Givens rotation expressions for asymmetric beamforming matrices in 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 feedback beamforming matrix may be computed based on a matrix product of a plurality of Givens matrices. The feedback beamforming matrix may be encoded utilizing fewer bits than may be required to encode the un-rotated matrix.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE
This application makes reference, claims priority to, and claims the benefit of U.S. Provisional Application Ser. No. 60/734,514 filed Nov. 7, 2005.
This application makes reference to: U.S. patent application Ser. No. 11/327,752 filed on Jan. 6, 2006; and U.S. application Ser. No. 11/052,389 filed Feb. 7, 2005.
All of the above stated applications are hereby incorporated herein by reference in their 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 Givens rotation expressions for asymmetric beamforming matrices in 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′up 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′down 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 asymmetric beamforming matrices in 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 flowchart illustrating exemplary steps for utilizing Givens rotations for beamforming matrices in explicit feedback information, 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 Givens rotation expressions for asymmetric beamforming matrices in 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 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. 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 (PLCP), 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 [1]

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[2]

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 (PLCP), 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
        ⁢
        
          
        
        [
        3
        ]
      
    
  




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, . . . , 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[4]

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[5]

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

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[7]

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

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 [7] and [8]. The primary and secondary 20 MHz channels may be adjacent channels such that:

fsecondary=fprimary±20 MHz, where   equation[9]

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.
The MIMO system may utilize OFDM to encoded one or more bits of information in one or more subcarriers associated with an RF channel. The encoded bits in one subcarrier may be referred to as a symbol. The encoded bits in the subcarriers associated with an RF channel may collectively be referred to as an OFDM symbol. The number of binary bits contained in an OFDM symbol, NDBPS, may be determined as shown in the following equation:

NDBPS=NDSC*NB(CON)*R   equation[10]

where NDSC, may represent the number of data bearing subcarriers in an RF channel, NB(CON) may represent the number of binary bits/symbol based on the modulation type, and R may represent the coding rate. For a 20 MHz RF channel, NDSC may be approximately equal to 54. For a 40 MHz RF channel, NDSC may be approximately equal to 108. For a modulation type of 64 QAM, the number of binary bits/symbol may approximately equal to 6. For example, for a 40 MHz RF channel utilizing 64 QAM and a 3⁄4 coding rate, NDSC=108, NB(CON)=6, and R=3⁄4. Consequently, the number of bits contained in an OFDM symbol NDBPS=486 bits. Given a transmission rate of about 250,000 OFDM symbols/second, the corresponding data rate associated with the RF channel may be more than 121 Mbits/second. When beamforming is utilized, the total number of bits simultaneously transmitted via NSS number of spatial streams may equal approximately NSS×NDBPS. Therefore, for a MIMO system that utilizes 4 transmitting antennas, each of which transmits an independent spatial stream, the total number of bits transmitted approximately simultaneously may equal about 1,944. The corresponding data rate associated with the MIMO system may be about 486 Mbits/second.

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 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 an Hermitian transpose of the matrix V. An 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, GIi(ψ), in the following expression:




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




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 ψIi may represent a rotation angle. The value of the element located at the Ith row and Ith column in the matrix of equation[12] may be about equal to the value of the expression cos(ψIi). The value of the element located at the ith row and ith column may be about equal to the value of the expression cos(ψIi). The value of the element located at the Ith row and ith column may be about equal to the value of the expression −sin(ψIi). The value of the element located at the ith row and Ith column may be about equal to the value of the expression sin(ψIi). Each “0” indicated in the matrix of equation[12] 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[12].

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
        ⁢
        
          
        
        [
        13
        ]
      
    
  




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 GIi 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
        ⁢
        
          
        
        [
        14
        ]
      
    
  




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 an 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 GIi(ψIi)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 GIi(ψIi)Di*V{tilde over (D)} may be equivalent to a ψIi 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 (I,i) element, the corresponding value of the (I,i) element of the matrix product GIi(ψIi)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, GIi(ψIi), and a subsequent Givens matrix Gki(ψki), a subsequent matrix product GIi(ψIi)Gki(ψki)Di*V{tilde over (D)} may be computed. The value of the (I,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 I in column i is about equal to 0. The range of values for the row indicator I may be subject to the following condition:

N≧1>i  equation[15]

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

After repeating the process for each element I 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
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
            
            
              
                ⋮
              
              
                
                  
                
              
              
                
                  V
                  2
                
              
              
                
                  
                
              
              
                
                  
                
              
            
            
              
                0
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
            
          
          ]
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        16
        ]
      
    
  




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

For an ith column, equation[16] 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
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
            
            
              
                ⋮
              
              
                
                  
                
              
              
                
                  V
                  
                    i
                    +
                    1
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
            
            
              
                0
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
              
                
                  
                
              
            
          
          ]
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        17
        ]
      
    
  




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[17] 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[18]

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 [12], [14], [17], [18], 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
                      li
                    
                    *
                    
                      (
                      
                        ψ
                        li
                      
                      )
                    
                  
                
              
              ]
            
            ×
            
              I
              ~
            
          
        
      
    
    
      
        equation
        ⁢
        
          
        
        [
        19
        ]
      
    
  




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. GIi(ψIi)* may represent an Hermitian transpose of the Givens rotation matrix GIi(ψIi). The Givens rotation matrix GIi(ψIi) is as defined in equation[12] and the phase shift matrix Di is as defined in equation[14].

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 θIi and one or more Givens rotation angles ψIi. 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, φIi and ψIi, the angles may be represented as a vectors of angles, φIi[−Nsc/2, −Nsc/2+1, . . . , −2, −1, 2, . . . , Nsc/2−1, Nsc/2] and ψIi[−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.
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≦ψIi≦π/2. A range of true values for phase rotation angles may comprise 0≦φIi≦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 one 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 ψIi and during binary encoding of φIi 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 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=2, the downlink channel may be a 20 MHz RF channel, and the bits utilized may be represented by (3,5). 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 [5] and [6]. The notation ψIi(fp) may refer to a Givens rotation angle associated with frequency subcarrier fp. The notation φIi(fp) may refer to a phase rotation angle associated with 0frequency subcarrier fp.







TABLE 2







Exemplary encoding of explicit feedback information










Feedback Bits
Angle Reported







b1 . . . b5
φ21(f−28)



b6 . . . b10
φ21(f−27)



. . .
. . .



b276 . . . b280
φ21(f28)



b281 . . . b283 
ψ21(f−28)



b284 . . . b286
ψ21(f−27)



. . .
. . .



b446 . . . b448
ψ21(f28)










The exemplary explicit feedback information shown in Table 2 contains 448 bits: 168 bits may be utilized to communicate Givens rotation angles, and 280 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 such that the PER performance may be within about 0.5 dB of the full resolution, or true values for Givens and/or phase rotation angles, PER performance for beamforming, 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 such that the PER performance may be within about 0.5 dB of the full resolution, or true values for Givens and/or phase rotation angles, PER performance for beamforming, which is generated based on Givens rotations 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.
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.
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.
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.







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)










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 such that the PER performance may be w ithin about 0.5 dB of the full resolution, or true values for Givens and/or phase rotation angles, PER performance for beamforming, 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 such that the PER performance may be within about 0.5 dB of the full resolution, or true values for Givens and/or phase rotation angles, PER performance for beamforming, which is generated based on Givens rotations 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)










FIG. 5 is a flowchart illustrating exemplary steps for utilizing Givens rotations for beamforming matrices in explicit feedback information, in accordance with an embodiment of the invention. Referring to FIG. 5, is step 502 a column counter, i, may be initialized to a value of 1. In step 504, 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 506 the receiving WLAN station 104 may compute a beamforming V matrix. The V matrix may comprise N rows and M columns.
In step 508, a row counter, I, may be initialize to a value based on the current value of the row counter i. In step 510, 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 a real number. In step 512, a current residual matrix may be phase shifted such that elements in the ith column may be represented by real numbers. In step 516, a Givens rotation may be applied such that the value of the element (I,i) is about 0 in the Givens rotated matrix. Step 518 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 520, the value of the row counter may be incremented. Step 516 may follow step 520. If the current value of the row counter is equal to the value N, step 522 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 524 may increment the value of the column counter. Step 508 may follow step 524. If the current value of the column counter is about equal to the value of the expression min(M,N−1), in step 526, values for Givens rotation angles and phase rotation angles may be encoded. The values of the angles may be quantized and encoded based on a codebook, for example. In step 528, explicit feedback information may be transmitted from the WLAN station 104 to the WLAN station 106 via an uplink RF channel.
Aspects of a system for processing signals in a communication system may comprise a processor 282 that enables computation of a beamforming matrix for a signal received from a transmitter 302 in a MIMO communication system. The processor 282 may enable rotation, at a receiver 322 in the MIMO communication system, of components of a residual matrix generated from the computed beamforming matrix utilizing a Givens rotation. The processor 282 may enable a feeding back of information resulting from the rotation to the transmitter 302 in the MIMO communication system.
The processor 282 may enable a phase shifting of the computed beamforming matrix to generate the residual matrix. The phase shifting may be done such that elements in an ith column of the residual matrix may be represented by at least one real number. The processor 282 may enable a rotation of the phase shifted residual matrix to generate a subsequent residual matrix based on the Givens rotation such that a value of an element in an Ith row in the ith column is about equal to 0.
The Givens rotation may utilize a Givens (I,i) matrix as described in equation[12], for example. A value of an element in an Ith row and in the Ith column may be about equal to cos(ψIi). A value of an element in the Ith row and in the ith column may be about equal to −sin(ψIi). A value of an element in the ith row and in the Ith column may be about equal to sin(ψIi). A value of an element in the ith row and in the ith column may be about equal to cos(ψIi). A value for a corresponding rotation angle ψIi may be based on I and i. The value for I may be greater than the value for i.
The processor 282 may enable a rotation of the subsequent residual matrix based on one or more subsequent Givens rotations and/or one or more subsequent phase shifting. The subsequent shifting may be done such that elements in an mth column of the subsequent residual matrix are represented by at least on real number. The processor 282 may enable a rotation of the subsequent phase shifted subsequent residual matrix based on the subsequent Givens rotation such that a value of an element in an nth row and in the Mth column is about equal to 0.
The subsequent Givens rotation may utilize a Givens (n, m) matrix. A value of an element in an nth row and in the nth column may be about equal to cos(ψnm). A value of an element in the nth row and in the mth column may be about equal to −sin(ψnm). A value of an element in the mth row and in the nth column may be about equal to sin(ψnm). A value of an element in the mth row and in the mth column may be about equal to cos(ψnm). A value for a corresponding rotation angle ψnm may be based on n and m. The value for n may be greater than the value for m.
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 with in the scope of the appended claims.

## Claims

1. A method for processing signals in a communication system, the method comprising:
in a receiver in a MIMO communication system:
computing a beamforming matrix for a signal received from a transmitter in said MIMO communication system;
phase shifting one or more components of said computed beamforming matrix to generate a residual matrix;
rotating components of said residual matrix generated from said computed beamforming matrix utilizing a Givens rotation, wherein said rotating is separate from said phase shifting; and
feeding back information resulting from said rotating to said transmitter in said MIMO communication system.

2. The method according to claim 1, wherein said phase shifting is done such that elements in an ith column of said residual matrix are represented by at least one real number.

3. The method according to claim 2, comprising rotating said phase shifted said residual matrix to generate a subsequent residual matrix based on said Givens rotation such that a value of an element in an 1th row and in said ith column is equal to 0.

4. The method according to claim 3, wherein said Givens rotation utilizes a Givens (l,i) matrix:
wherein a value of an element in an lth row and in said lth column is equal to cos(ψij);
wherein a value of an element in said lth row and in said ith column is equal to −sin(ψli);
wherein a value of an element in said ith row and in said lth column is equal to sin(ψli);
wherein a value of an element in said ith row and in said ith column is equal to cos(ψli);
wherein cos()represents a cosine trigonometric function, sin()represents a sine trigonometric function, and ψli represents a value for a corresponding rotation angle based on said one or both of said l and said i.

5. The method according to claim 4, wherein a value for said l is greater than a value for said i.

6. The method according to claim 3, comprising rotating said subsequent residual matrix based on one or both of a subsequent Givens rotation and a subsequent phase shifting.

7. The method according to claim 6, wherein said subsequent phase shifting is done such that elements in an mth column of said subsequent residual matrix are represented by at least one real number.

8. The method according to claim 7, comprising rotating said subsequent phase shifted said subsequent residual matrix based on said subsequent Givens rotation such that a value of an element in an nth row and in said mth column is equal to 0.

9. The method according to claim 8, wherein said subsequent Givens rotation utilizes a Givens (n, m) matrix:
wherein a value of an element in an nth row and in said nth column is equal to COS(ψnm);
wherein a value of an element in an nth row and in said mth column is equal to −sin(ψnm);
wherein a value of an element in an mth row and in said nth column is equal to sin(ψnm);
wherein a value of an element in an mth row and in said mth column is equal to cos(ψnm)
wherein cos()represents a cosine trigonometric function, sin()represents a sine trigonometric function, and ψnm represents a value for a corresponding rotation angle based on said one or both of said n and said m.

10. The method according to claim 9, wherein a value for said n is greater than a value for said m.

11. A system for processing signals in a communication system, the system comprising:
a processor for use in a receiver in a MIMO communication system, wherein:
said processor is operable to compute a beamforming matrix for a signal received from a transmitter in said MIMO communication system;
said processor is operable to phase shift one or more components of said computed beamforming matrix to generate a residual matrix;
said processor is operable to rotate components of said residual matrix generated from said computed beamforming matrix utilizing a Givens rotation,

wherein said rotation is separate from said phase shifting; and
said processor is operable to feed back information resulting from said rotation to said transmitter in said MIMO communication system.

12. The system according to claim 11, wherein said phase shifting is done such that elements in an ith column of said residual matrix are represented by at least one real number.

13. The system according to claim 12, wherein said processor is operable to rotate said phase shifted said residual matrix to generate a subsequent residual matrix based on said Givens rotation such that a value of an element in an lth row and in said ith column is equal to 0.

14. The system according to claim 13, wherein said Givens rotation utilizes a Givens (l,i) matrix:
wherein a value of an element in an lth row and in said lth column is equal to cos(ψij);
wherein a value of an element in said lth row and in said ith column is equal to −sin(ψli);
wherein a value of an element in said ith row and in said lth column is equal to sin(ilfli);
wherein a value of an element in said ith row and in said ith column is equal to cos(ψij);
wherein cos()represents a cosine trigonometric function, sin()represents a sine trigonometric function, and ψli represents a value for a corresponding rotation angle based on said one or both of said l and said i.

15. The system according to claim 14, wherein a value for said l is greater than a value for said i.

16. The system according to claim 13, wherein said processor is operable to rotate said subsequent residual matrix based on one or both of a subsequent Givens rotation and a subsequent phase shifting.

17. The system according to claim 16, wherein said subsequent phase shifting is done such that elements in an mth column of said subsequent residual matrix are represented by at least one real number.

18. The system according to claim 17, wherein said processor is operable to rotate said subsequent phase shifted said subsequent residual matrix based on said subsequent Givens rotation such that a value of an element in an nth row and in said mth column is equal to 0.

19. The system according to claim 18, wherein said subsequent Givens rotation utilizes a Givens (n, m) matrix:
wherein a value of an element in an nth row and in said nth column is equal to cos(ψnm);
wherein a value of an element in an nth row and in said mth column is equal to −sin(ψnm);
wherein a value of an element in an mth row and in said nth column is equal to sin(ψnm);
wherein a value of an element in an mth row and in said mth column is equal to cos(ψnm)
wherein cos()represents a cosine trigonometric function, sin()represents a sine trigonometric function, and ψnm represents a value for a corresponding rotation angle based on said one or both of said n and said m.

20. A method for processing signals in a communication system, the method comprising:
in a receiver in a MIMO communication system:
computing a beamforming matrix for a signal received from a transmitter in said MIMO communication system;
phase shifting one or more components of said computed beamforming matrix to generate a residual matrix;
rotating components of said residual matrix generated from said computed beamforming matrix utilizing a Givens rotation such that elements in an ith column of said residual matrix are represented by at least one real number, wherein said rotating is separate from said phase shifting; and
feeding back information resulting from said rotating to said transmitter in said MIMO communication system.