# Patent

## Title
Singular value decomposition beamforming for a multiple-input-multiple-output communication system

## Abstract

For one embodiment, a MIMO (Multiple-Input-Multiple-Output) communication system in which a first sequence of beamformed signals is transmitted, a beamformed channel is observed in response to transmission of the first sequence of beamformed signals, a QR decomposition of the observed beamformed channel is performed to provide a unitary matrix, and a second sequence of beamformed signals is transmitted using as a beamformer the unitary matrix. Other embodiments are described and claimed.

## Background
FIELD
Embodiments of the present invention relate to wireless communication, and more particularly, to wireless communications employing antenna beamforming.
BACKGROUND
Multi-path wireless channels are capable of large channel capacities, and may be properly exploited through the use of a multiple-input-multiple-output MIMO communication system. A MIMO system employs multiple transmit antennas and multiple receive antennas. Standard IEEE 802.16e, sometimes referred to as Mobile Worldwide Interoperability for Microwave Access (Mobile WiMAX), supports MIMO antenna technology. Future wireless networks will also support MIMO antenna technology. For example, TGn Sync is a multi-industry group working to introduce a unified proposal for the next generation of high performance wireless networks. This proposal was developed under the guidelines of the IEEE Standards Association and submitted to the IEEE 802.1 In Task Group N (TGn). One of the goals of the TGn Sync proposal is to enable MIMO Spatial Division Multiplexing to enable reliable transmission speeds of up to 315 megabits per second (Mbps) with two antennas, and up to 630 Mbps with larger systems employing more than two antennas.
A MIMO communication system may take advantage of beamforming to not only increase the overall antenna gain, but also to reduce interference between the received multi-path signals at the receiver. Currently, two MIMO technologies are under consideration: open-loop and closed-loop technologies. It is found that closed-loop MIMO technology outperforms open-loop MIMO by 4 to 10 decibels (dB). A promising scheme for closed-loop MIMO technology is Singular-Value-Decomposition (SVD) transmit beamforming.
SVD beamforming is a powerful beamforming technique showing promising results in MIMO communication systems. SVD beamforming requires performing the singular value decomposition of a channel matrix, in which the channel matrix represents the physical channel, transmitters, and receivers. SVD beamforming generally requires performing an iterative algorithm by a circuit, in which the circuit may be a programmable circuit. Performing such an iterative algorithm consumes both die space and power.
Some existing receivers for open-loop MIMO technology employ minimum mean square error receivers, or zero-forcing receivers. These receivers solve a least-squares criterion. Often, a QR decomposition, or other type of decomposition employing a unitary transformation, is applied to solve the least-squares criterion. It would be desirable to utilize existing QR-decomposition circuits to perform the singular value decomposition of the channel matrix.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a one-way channel of a MIMO system.
FIGS. 2A and 2B illustrate the uplink and downlink channels for a MIMO system, respectively.
FIG. 3 illustrates a beamformed channel.
FIG. 4 is a flow-diagram illustrating an embodiment of the present invention.
FIG. 5 illustrates a protocol for implementing an embodiment of the present invention.
FIG. 6 illustrates at a high level a MIMO system with QR-processing modules to realize an embodiment of the present invention.
FIG. 7 illustrates at a high level a portion of a computer system to realize an embodiment of the present invention.



DESCRIPTION OF EMBODIMENTS
FIG. 1 is a high-level system diagram of a portion of a MIMO system utilizing n transmit antennas 102 and m receive antennas 104. In particular, di, i=1, . . . , n, are n complex-valued data quantities to be transmitted. These data quantities may arise by de-multiplexing one or more data stream into n data streams, in which coding may have been applied. Vector Encoding functional unit 106 encodes d1, i=1, . . . , n, into the n complex-valued quantities xi, i=1, . . . , n. Defining du as a n-dimensional column vector having components [ du]i=di, i=1, . . . , n, and defining xu as a n-dimensional column vector having components [ xu]i=xi, i=1, . . . , n, one may write the vector encoding as

 xu=Tu du,

in which Tu denotes a complex-valued n-by-n matrix. (The significance of the subscript u will be discussed later.)

The complex-valued quantities xi, i=1, . . . , n, represent the in-phase and quadrature components of a baseband signal, such as a voltage signal, to be transmitted over a channel. Functional units 108 (e.g. , transmitters) indicate modulators for up-converting a baseband signal to an RF(radio-frequency) signal before transmission by antennas 102, although the scope of the embodiment is not limited in this regard.
Receivers 110 down-convert the received signals provided by antennas 104 into the m complex- valued baseband signals yi, i=1, . . . , m. Vector Decoding functional unit 112 indicates that the m complex-valued baseband signals yi, i=1, . . . , m, are decoded into the n complex-valued baseband signals {circumflex over (d)}i, i=1, . . . , n. Defining {circumflex over ( du as an n-dimensional column vector having components [{circumflex over ( du]i={circumflex over (d)}i, i=1, . . . , n, and defining yu as an m-dimensional column vector having components [ yu]i=yi, i=1, . . . , m, one may write the vector decoding as

{circumflex over ( du=Ru yu,

in which Ru denotes a complex-valued n-by-m matrix. It is desirable that the quantities {circumflex over (d)}i, i=1, . . . , n, are in some sense a “good” estimate of the transmitted quantities di, i=1, . . . , n.

There are various ways to define a communication channel. In FIG. 1, a communication channel may be defined to include the components within dashed box 114. For this communication channel, the channel inputs are xi, i=1, . . . , n, and the channel outputs are yi, i=1, . . . , m. If Vector Encoding 106 and transmitters 108 are associated with a mobile station, and Vector Decoding 112 and receivers 110 are associated with an access point, then the channel defined by box 114 may be referred to as the uplink channel. If on the other hand, Vector Encoding 106 and transmitters 108 are associated with an access point, and Vector Decoding 112 and receivers 110 are associated with a mobile station, then the channel defined by box 114 may be referred to as the downlink channel Although FIG. 1 shows only a one-way channel, in practice there is a downlink channel in addition to an uplink channel. For convenience, the channel in FIG. 1 will be referred to as an uplink channel. This is the reason for using the subscript u is the above discussion.
Although the above example is described with respect to a mobile station and an access point, the methods and apparatuses described herein may be readily applicable to other communication devices, such as subscriber stations and base stations, for example.
The uplink channel defined by box 114 may be abstracted as shown in FIG. 2A. For simplicity, the uplink channel depicted in FIG. 2a is a stationary, noiseless channel. In practice, however, there will be noise sources, and the channel transfer function may be fading. In FIG. 2A, hij, i=1, . . . , n; j=1, . . . , m, are complex-valued multipliers representing the overall gains due to the gains of the transmit antennas, receive antennas, transmitters, and receivers. That is, hij is the product (Txi)(TGij)wij(RGij)(Rxj), in which Txi is the gain for the transmitter for symbol xi; TGij is the antenna gain for the transmit antenna associated with xi in the direction toward the receive antenna associated with symbol yj; RGij is the antenna gain for the receive antenna associated with symbol yj for a signal received from the direction of the antenna associated with symbol xi; and Rxj is the gain for the receiver for the symbol xi, and wij is the response of the physical transmission medium between transmit antenna i and receive antenna j. Defining the n-by-m downlink channel matrix H to have components [H]ij=hij, i=1, . . . , n; j=1, . . . , m, the input-output relationship defined by the uplink channel matrix HT is

 yu=HT xu,

in which T denotes transpose. Note that HT is an m-by-n matrix.

We shall use the notation in which the symbol x with an appropriate subscript refers to a transmitted signal, and the symbol y with an appropriate subscript is a received signal. Particularly, xu will refer to the n-dimensional vector of transmitted signals for the uplink channel; xd will refer to the m-dimensional vector of transmitted signals for the downlink channel; yu will refer to the m-dimensional vector of received signals for the uplink channel; and yd will refer to the n-dimensional vector of received signals for the downlink channel. We shall also use the notation that the symbol d with an appropriate subscript will refer to data that is to be transmitted. That is, du is the n-dimensional data vector to be transmitted for the uplink channel, and dd is the m-dimensional data vector to be transmitted for the downlink channel.
In general, the downlink channel matrix, in which xi,. . . i=1, . . . , m, are now being transmitted and yi, i=1, . . . , n, are received, is different from H. This is so because for the downlink channel, receivers are used to generate the yi, i=1, . . . , n, instead of transmitters 108, and transmitters are used to generate the xi, i=1, . . . , m, instead of receivers 110, and as a result, the overall channel gains may be different. If, however one assumes that the channel is calibrated to take into account the differences in transmitter and receiver gains for uplink and downlink communication, then the same channel gains hij, i=1, . . . , n; j=1, . . . , m, as indicated in FIG. 2A also hold for the downlink channel of FIG. 2B. With this assumption, the two-way channel is said to be reciprocal, and the input-output relationship for the downlink channel is given by

 yd=H xd.

To perform SVD beamforming, the SVD of the channel matrix is computed. Consider the uplink channel of FIG. 2A with channel matrix HT. The SVD of HT is

HT=UuΣuVuH,

in which H denotes complex conjugate transpose (the Hermitian operator), Uu is an m-by-m unitary matrix, Σu is an m-by-n diagonal matrix in which the diagonal values are the singular values of HT, and Vu is an n-by-n unitary matrix. Once the SVD of the channel matrix is computed, SVD beamforming is formed by multiplying the transmitted data vector du by Vu. That is, Vector Encoding 106 is chosen in which Tu=Vu, so that

 xu=Vu du.

Using the above SVD beamformer and SVD of HT, the received signal vector for the uplink channel, yu, is:

 yu=HT xu=HTVu du=UuΣuVuHVu du=UuΣu du,

in which we have used the unitary property VuHVu=I . If now Vector Decoding 112 multiplies yu by UuH, that is Ru=UuH in Vector Decoding 112, then {circumflex over ( du is given by

{circumflex over ( du=Ru yu=UuH yu=UuHUuΣu du=Σu du.

Because Σu is diagonal, we see that “mixing” of the different transmitted signal components due to the multipath uplink channel has been removed by employing SVD beamforming. That is, [{circumflex over ( du]i=σi[ du]i, i=1, . . . , n, in which σi, i=1, . . . , n, are the singular values.

In the above discussion, we have assumed a noiseless channel. If zero-mean, stationary Gaussian noise with covariance matrix R (not to be confused the Ru in Vector Decoding 112) is assumed to be added to the uplink channel, then because of the unitary property of Uu, we have {circumflex over ( du=Σu du+ nu, in which nu is Gaussian with covariance matrix R. Then, we see that the signal-to-noise ratio for each component of the estimate vector {circumflex over ( du depends upon the singular values as well as R.
The above SVD of HT requires knowledge of HT. The columns of the channel matrix HT may easily be observed by transmitting such that only one component of xu is non-zero. For example, if the first component of xu were 1 and all the other components were zero, then yu would be the first column of HT.
For the downlink channel, SVD beamforming is performed in the same way, except now the channel matrix is H instead of HT. We can write the SVD of H for the downlink channel as H=UdΣVdH, then, SVD beamforming for the downlink channel is

 xd=Vd=Vd dd.

By simple matrix manipulation, we have Vd=Uu. Clearly, there is no conceptual difference between SVD beamforming for the uplink channel and SVD beamforming for the downlink channel. In describing the embodiments, we may consider forming the SVD of either H or HT. Without loss of generality, we describe the embodiments as performing the SVD of H.

Embodiments of the present invention perform the SVD of the channel matrix H by performing QR decompositions distributed among the two communicating devices, e.g., a mobile station and an access point. (As is well known in linear algebra and numerical analysis, the QR decomposition of a matrix A is A=QR, in which Q is unitary and R is upper diagonal. Various methods, such as Gram-Schmidt or Householder transformations, may be used to perform a QR decomposition.) Because SVD involves an iterative process, a finite number of QR decompositions are performed, yielding an approximation to the SVD of the channel matrix.
Before describing the embodiments, it is useful to define a “beamformed channel.” In FIG. 3, box 304 defines the beamformed uplink channel, formed by considering Vector Encoding functional unit 302 as part of the uplink channel. Vector Encoding 302 is the beamformer. By including Vector Encoding 302 within the definition of the beamformed uplink channel, the input signals to the beamformed channel are now di, i=1, . . . , n. The input-output relationship of the beamformed uplink channel in FIG. 3 is

 yu=HTTu du.

For the downlink channel, the input-output relationship of the beamformed downlink channel is given as

 yd=HTd dd.

Generally stated, a beamformed channel includes the beamformer within the definition of the channel.

A beamformed channel may be observed with the same method as discussed earlier with respect to the channel, but now the components of du or dd are manipulated so that the receiving communication device observes the beamformed channel. For example, the columns of the beamformed channel matrix HT Tu may easily be observed by transmitting such that only one component of du is non-zero. For example, if the first component of du were 1 and all the other components were zero, then yu would be the first column of HTTu. After n transmissions du(i), i=1, . . . , n, where [ du(i)]j=δij, all n columns of HTTu are observed. (δij is the Kronecker delta function.) In practice, the observations may be noisy, so that only an estimate of HTTu is actually observed.
It is not necessary that [ du(i)]j=δij be transmitted to observe the beamformed channel HTTu. More generally, to observe the beamformed channel HTTu, du(i), i=1, . . . , N, may be transmitted, in which N≧n and the matrix Du(N)=[ du(1) d(2) . . . du(N)] is of rank n, in which du(i), i=1, . . . , N, are considered as column vectors and the columns of Du(N) are composed of the du(i), i=1, . . . , N. The set of data vectors du(i), i=1, . . . , N, are known to both the transmitter and receiver, and may be generated by an algorithm. The received signal vectors yu(i), i=1, . . . , N, in response to the du(i), i=1, . . . , N, may be arranged as an observation matrix Yu(N)≡[ yu(1) yu(2) . . . yu(N)], in which yu(i), i=1, . . . N, are viewed as column vectors. In general, the column vectors making up the observation matrix Yu(N) are processed to provide an estimate of the beamformed channel HTTu. This processing is usually, but not necessarily, in the form of performing a linear combination on the columns of Yu (N). This processing may be represented by post-multiplying Yu (N) by a matrix, say P, which is a function of Du(N). The matrix P is determinable because du(i), i=1, . . . , N, is known to both the transmitter and receiver.
For a noiseless channel, Yu(N)=HTTuDu(N), and it follows that

Yu(N)DuH(N)[Du(N)DuH(N)]−1=HTTu.

The quantity DuH(N)[Du(N)DuH(N)]−1=HTTu is to be recognized as the pseudo-inverse of Du(N), which may be written as Du#(N)≡DuH(N)[Du(N)DuH(N)]−1. Consequently, for a channel with noise, an estimate of the beamformed channel in the uplink direction, which may be referred to as the observed beamformed channel in the uplink direction, may be taken as Yu(N)Du#(N). Note that for the special case in which N=n and [ du(i)]j=δij, we have Du(N)=In, the n-by-n identity matrix, so that the observed beamformed channel is simply the observation matrix Yu(N). A similar discussion applies to the downlink channel. Other embodiments may use matrices other than the pseudo-inverse of Du(N).

A flow diagram illustrating an embodiment is shown in FIG. 4, in which two stations, station 0 and station 1, indicate the two communication devices. The communication channel for station 0 transmitting to station 1 is assumed to have the channel matrix H, and the communication channel for station 1 transmitting to station 0 is assumed to have the channel matrix HT. For simplicity of discussion, assume that station 0 has m transmit antennas and m receive antennas, and that station 1 has n transmit antennas and n receive antennas.
In FIG. 4, block 402 initializes an index i to zero and initializes a matrix Q*o to the identity matrix. The matrix Q*o is an m-by-m matrix, so that in block 404, Q*o is initialized to an m-by-m identity matrix. In general, matrices with an index i such that 0=i mod2 are m-by-m matrices, and matrices with an index i such that 1=i mod2 are n-by-n matrices. Here, * denotes complex conjugation.
In block 406, the beamformer at station i mod2 is set to Q*i, and at block 408, the resulting beamformed channel is observed at station (i+1)mod2. (Note that for i=0, the beamformer Q*o is the identity matrix, so that observing the beamformed channel is the same as observing the channel.) After the beamformed channel is observed in block 408, a QR decomposition is performed on the observed beamformed channel matrix to yield Qi+1Ri+1 in block 410. A stopping function is applied in block 412. This stopping function may be simple, such as stopping after the index i has reached some fixed integer. Or, a goodness of criterion may be applied, where for example the off-diagonal elements of Ri+1 are compared to the diagonal elements of Ri+1 and the iterations are stopped if Ri+1 is sufficiently diagonal. Any number of goodness criteria may be devised for the stopping function. Other embodiments may not use a stopping function. For example, the iterations may be performed in an open-ended fashion as long as there are time and processing resources available.
If the iterations are stopped in block 412, then block 414 indicates that the channel matrix H is factored into H=QiRi+1TQi+1T. As is well known, iterative QR techniques may be performed to approximate the SVD. As a result, embodiments of the present invention utilize this factorization as an approximation to the SVD of H. This approximation improves as the number of iterations increase.
If the iterations are not stopped in block 412, then control is brought to block 416, where the index i is incremented by one, and control is then brought back to block 406.
Note that the SVD is accomplished by a cooperative procedure between two communication devices. It is pedagogically useful to consider in more detail the flow diagram of FIG. 4 for several iterations, and for which station 0 is an access point (AP) and station 1 is a mobile station (MS). In this case, the communication channel for a MS transmitting data to a AP is the uplink channel, and the communication channel for a AP transmitting data to a MS is the downlink channel. The channel matrix for the downlink channel matrix is H.
With the above in mind, initially the index i is zero, so that block 406 indicates that the identity matrix is used for beamforming at the AP. Consequently, in block 408, the MS observes the channel matrix H. In block 410, the QR decomposition of H is computed in which H=Q1R1. Then, assuming that the stopping function is not applied, so that the index is incremented to one in block 416 and control is brought to block 406, the beamformer Q*1 is applied at the MS, and in block 408 the AP observes the beamformed channel HTQ*1. But because H=Q1R1, by the unitary property of Q1, it follows that HTQ*1=R1T. In block 410, the AP now performs a QR decomposition on the observed beamformed channel matrix R1T as R1T=Q2R2.
If the iterations were now stopped, then H=Q1R2TQ2T and it is expected that R2 is more “diagonal” than H. In practice, H=Q1R2TQ2T would be a crude approximation to the SVD of H, so that more iterations would probably be in order. If control were brought back to block 406 after the index is incremented to two, then in block 406 the AP employs Q*2 as the beamformer and in block 408 the MS observes the beamformed channel matrix HQ*2. In block 410, the MS would perform the QR decomposition HQ*2=Q3R3. If control is again brought to block 406 after incrementing the index to three, then in block 406 the MS would use the beamformer Q*3, and in block 408 the AP would observe the beamformed channel matrix HTQ*3. In block 410, the AP would perform the QR decomposition to obtain HTQ*3=Q4R4. If the stopping function 412 were to stop the iterations, then the factorization of H would be H=Q3R4TQ4T.
For the example above in which four iterations were considered, in which the index i was incremented from zero to three, the table below summarizes the results. In general, after n iterations, the channel matrix H would be factored as H=Qn−1RnTQnT.
















Observed
QR



Link
Transmission
Channel
Decomposition
Effective SVD







AP → MS
 yd = H dd
H
H = Q1R1
H = Q1R1


MS → AP
 yu = HTQ1* du 
R1T
R1T = Q2R2
H = Q1R2TQ2T


AP → MS
 yd = HQ2* dd
Q1R2T
Q1R2T = Q3R3
H = Q3R3Q2T


MS → AP
 yu = HTQ3* du 
Q2R3T
Q2TR3T = Q4R4
H = Q3R4TQ4T









The cooperative procedure between the two communication devices may be accomplished by a simple protocol. Referring to FIG. 5, for example, a request-to-send (RTS) packet may be transmitted from one device, say the AP, to the other device, say the MS, without the use of beamforming (510). This would correspond to block 406 of FIG. 4. In response, a clear-to-send (CTS) packet may be sent from the MS to the AP, in which now the beamformer Q*1 is employed (520), corresponding to performing blocks 408 through 410, and then incrementing the index to one and performing block 406 at the MS. In response, a data packet may be transmitted from the AP to the MS using Q*2 as the beamformer (530). An acknowledgement (ACK) packet may be sent from the MS to the AP using Q*3 as the beamformer (540). The sequence may then continue, in which data and ACK packets are exchanged between the AP and the MS (550 and 560), in which each iteration follows the flow diagram in FIG. 4. This protocol is illustrated in FIG. 5.
The above is only one particular way in which the beamformed channel information is exchanged between the two communication devices. Any number of protocols may be employed to exchange this information so that the SVD of the channel matrix may be approximated by performing a QR decomposition at each communication device.
In other embodiments, once a communication device has knowledge of the observed channel, it may perform a plurality of QR decompositions before sending signals to another device. By performing such a plurality of decompositions, a better estimate of the SVD may be provided. For example, an access point may have spare computational and time resources, so that it may be able to perform more than one QR decomposition without sending signals to another device, in which the multiple QR decompositions are indicated in the equations below:



  
    
      H
      =
      
        
          Q
          1
        
        ⁢
        
          R
          1
        
      
    
    ,
    
      

    
    ⁢
    
      
        R
        1
        T
      
      =
      
        
          
            
              Q
              2
            
            ⁢
            
              R
              2
            
          
          ->
          H
        
        =
        
          
            Q
            1
          
          ⁢
          
            R
            2
            T
          
          ⁢
          
            Q
            2
            T
          
        
      
    
    ,
    
      

    
    ⁢
    
      
        R
        2
        T
      
      =
      
        
          
            
              Q
              3
            
            ⁢
            
              R
              3
            
          
          ->
          H
        
        =
        
          
            Q
            1
          
          ⁢
          
            Q
            3
          
          ⁢
          
            R
            3
          
          ⁢
          
            Q
            2
            T
          
        
      
    
    ,
    
      

    
    ⁢
    
      
        R
        3
        T
      
      =
      
        
          
            
              Q
              4
            
            ⁢
            
              R
              4
            
          
          ->
          H
        
        =
        
          
            Q
            1
          
          ⁢
          
            Q
            3
          
          ⁢
          
            R
            4
            T
          
          ⁢
          
            Q
            4
            T
          
          ⁢
          
            Q
            2
            T
          
        
      
    
    ,
    
      

    
    ⁢
    ...
  




  
    H
    =
    
      {
      
        
          
            
              
                
                  
                    
                      
                        Q
                        1
                      
                      ⁢
                      
                        
                      
                      ⁢
                      ...
                      ⁢
                      
                        
                      
                      ⁢
                      
                        Q
                        
                          
                            2
                            ⁢
                            
                              
                            
                            ⁢
                            n
                          
                          -
                          1
                        
                      
                    
                    }
                  
                  
                    U
                    ^
                  
                
                ⁢
                
                  
                    
                      R
                      
                        
                          2
                          ⁢
                          n
                        
                        -
                        1
                      
                    
                    }
                  
                  
                    Σ
                    ^
                  
                
                ⁢
                
                  
                    
                      
                        Q
                        
                          2
                          ⁢
                          
                            
                          
                          ⁢
                          n
                        
                        T
                      
                      ⁢
                      
                        
                      
                      ⁢
                      ...
                      ⁢
                      
                        
                      
                      ⁢
                      
                        Q
                        2
                        T
                      
                    
                    }
                  
                  
                    
                      V
                      ^
                    
                    H
                  
                
              
              ,
            
          
          
            
              for
              ⁢
              
                
              
              ⁢
              odd
              ⁢
              
                
              
              ⁢
              number
              ⁢
              
                
              
              ⁢
              of
              ⁢
              
                
              
              ⁢
              iterations
            
          
        
        
          
            
              
                
                  
                    
                      
                        Q
                        1
                      
                      ⁢
                      
                        
                      
                      ⁢
                      ...
                      ⁢
                      
                        
                      
                      ⁢
                      
                        Q
                        
                          
                            2
                            ⁢
                            
                              
                            
                            ⁢
                            n
                          
                          -
                          1
                        
                      
                    
                    }
                  
                  
                    U
                    ^
                  
                
                ⁢
                
                  
                    
                      R
                      
                        2
                        ⁢
                        
                          
                        
                        ⁢
                        n
                      
                      T
                    
                    }
                  
                  
                    Σ
                    ^
                  
                
                ⁢
                
                  
                    
                      
                        Q
                        
                          2
                          ⁢
                          
                            
                          
                          ⁢
                          n
                        
                        T
                      
                      ⁢
                      
                        
                      
                      ⁢
                      ...
                      ⁢
                      
                        
                      
                      ⁢
                      
                        Q
                        2
                        T
                      
                    
                    }
                  
                  
                    
                      V
                      ^
                    
                    H
                  
                
              
              ,
            
          
          
            
              for
              ⁢
              
                
              
              ⁢
              even
              ⁢
              
                
              
              ⁢
              number
              ⁢
              
                
              
              ⁢
              of
              ⁢
              
                
              
              ⁢
              iterations
            
          
        
      
    
  



In the above equations, the channel matrix HT is the observed channel from the other device to the device performing the multiple decompositions, and the channel matrix H is the channel from the device performing the multiple decompositions to the other device. The iterations may be stopped at any time. The product of matrices indicated as Û and {circumflex over (V)}H, which are unitary, obtained from a plurality of QR decompositions, provide better approximations than the unitary matrices obtained from a single QR decomposition. The device may use {circumflex over (V)} as the beamforming matrix if a signal is to be transmitted to the other device.

MIMO communication devices utilizing minimum mean square estimation or zero-forcing receivers have already been designed with QR decomposition capabilities. This feature is indicated at a high level by the simplified drawing in FIG. 6, were communication device 602 comprises a QR decomposition functional unit 604 and communication device 606 comprises a QR decomposition functional unit 608. The QR decomposition functional unit may be realized by one or more ASICs (application specific integrated circuits). Or, the functionality may be realized by utilizing software or firmware with a processor to run the code. Various other ways may be employed to realize the functionality of QR decomposition. By exploiting these capabilities, embodiments of the present invention are expected to perform SVD of the channel matrix with only a modest amount of additional circuitry.
Note that other types of decompositions, other than a QR decomposition, may be employed in an iterative fashion to approximate a SVD. For example, a sequence of Householder transformations may be employed to provide a matrix with its energy “concentrated” along its diagonals. The QR decomposition embodiment, however, is attractive because it makes use of circuits that already have been designed for MIMO systems.
The communication devices may be a wireless router or a laptop, but are not limited to such devices. As an example, FIG. 7 illustrates in very simple fashion only a portion of a computer system, such as a laptop, in which microprocessor 702 is in communication with a chipset 704 via front side bus 706. Chipset 704 is in communication with physical layer (PHY) 705, which provides the RF signals to one or more antennas 708. Chipset 704 may comprise more than one integrated circuit, and PHY 705 may reside on one of these integrated circuits. The QR decomposition functionality may reside in chipset 704, or may be performed by microprocessor 702 under software control.
Various modifications may be made to the disclosed embodiments without departing from the scope of the invention as claimed below.
Much of the above discussion was within the context of a wireless communication channel. Embodiments of the present invention, however, are not limited to wireless channels. For some wired communication systems, there may be coupling between transmission lines. For example, in a DSL (digital-subscriber-line) communication system, a plurality of signal lines propagate a plurality of signals from office to office. There may be signal coupling among these signal lines, so that the communication system may be modeled as a multiple-input-multiple-output system. In such cases, the embodiments described herein may find application.
It should be noted that various vectors and matrices appear in the claims, in which for convenience these vectors are indicated as column vectors and various matrices are defined as comprising a sequence of column vectors. It is to be understood that this is done merely for convenience and is not meant to limit the scope of the claims. That is, the various vectors could easily be represented as row vectors, in which case various matrices may be defined as comprising a sequence of row vectors. For example, if a matrix Y is defined as comprising column vectors yi, i=1, . . . L, so that Y=[y1 y2 . . . yL], and Y is post-multiplied by some matrix P so that the matrix multiplication YP is performed, then a matrix X may be defined as comprising row vectors yiT, i=1, . . . L, so that X=[y1T y2T . . . yLT]. There is then no conceptual difference between the post-multiplication YP and the pre-multiplication PT X, in which it is recognized that X is merely the transpose of Y. Consequently, it is to be understood that various column vectors, and the associated matrices defined from the various column vectors, are indicated in the claims merely as a convenient way to represent relationships among various signal components.
Throughout the description of the embodiments, various mathematical relationships are used to describe relationships among one or more quantities. For example, a mathematical relationship may express a relationship by which a quantity is derived from one or more other quantities by way of various mathematical operations, such as addition, subtraction, multiplication, division, etc. More simply, a quantity may be set to some known value, such as a real number, which is merely a trivial mathematical relationship. These numerical relationships are in practice not satisfied exactly, and should therefore be interpreted as “designed for” relationships. That is, one of ordinary skill in the art may design various working embodiments to satisfy various mathematical relationships, but these relationships can only be met within the tolerances of the technology available to the practitioner. In the following claims, the word “substantially” is used to reflect this fact. For example, a claim may recite that one resistance is substantially equal to another resistance, or that one voltage is substantially equal to another voltage. Or, a claim may relate one quantity to one or more other quantities by way of stating that these quantities substantially satisfy or are substantially given by a mathematical relationship or equation. It is to be understood that “substantially” is a term of art, and is meant to convey the principle discussed above that mathematical relationships, equalities, and the like, cannot be met with exactness, but only within the tolerances of the technology available to a practitioner of the art under discussion.

## Claims

1. An apparatus comprising a communication device, the communication device comprising:
a receiver configured to provide an observed beamformed channel matrix in response to receiving a first beamformed signal from a beamforming transmitter;
a processor configured to perform a QR decomposition of the observed beamformed channel matrix to provide a unitary matrix, and to determine a goodness of criterion, wherein the processor is further configured to determine that the goodness criterion is not satisfied;
and a beamformer configured to utilize a conjugate of the unitary matrix to transmit a beamformed reply signal to the transmitter if the goodness of criterion is not satisfied;
until the goodness criterion is satisfied, the processor performing one or more successive iterations of the QR decomposition of the observed beamformed channel matrix is performed to provide an updated unitary matrix for each successive observed channel matrix so that for each iteration the beamformer utilizes an updated conjugate of the unitary matrix to transmit a beamformed reply signal to the beamforming transmitter for the one or more successive iterations, and the beamforming transmitter alternately uses identity matrixes for beamforming based on a QR decomposition of an observed current channel matrix of the beamformed reply signal transmitted to the beamforming transmitter.

2. The apparatus as set forth in claim 1, wherein the beamforming transmitter comprises a second communication device, the second communication device comprising:
a receiver to provide a second observed beamformed channel matrix in response to the communication device transmitting the beamformed reply signal;
a processor to perform a QR decomposition of the second observed beamformed channel matrix to provide a second unitary matrix, and to determine a second goodness of criterion; and
a beamformer to utilize the second unitary matrix to transmit a successive first beamformed signal from the beamforming transmitter if the second goodness of criterion is not satisfied.

3. The apparatus as set forth in claim 2, wherein the beamformer of the second communication device utilizes an identity matrix for beamforming to transmit a beamformed signal from which the communication device provides the Observed beamformed channel matrix.

4. The apparatus as set forth in claim 1, wherein the beamformer of the communication device complex conjugates the unitary matrix.

5. A communication method, comprising:
transmitting from a first device a first beamformed signal using an identity matrix for beamforming;
observing at a second device a first observed beamformed channel in response to the first beamformed signal;
performing at the second device a QR decomposition of the first observed beamformed channel to provide a first unitary matrix;
determining at the second device that a goodness criterion is not satisfied;
determining at the second device to perform a further iteration of the QR decomposition of the first observed beamformed channel if the goodness of criterion is not satisfied;
conditionally beamforming with a conjugate of the first unitary matrix to transmit from the second device a second beamformed signal if the goodness criterion has not been satisfied;
observing at the first device a second observed beamformed channel in response to the second beamformed signal;
performing at the first device a QR decomposition of the second observed beamformed channel to provide a second unitary matrix;
determining at the first device whether to further iterate the QR decomposition of the second observed beamformed channel based on the goodness of criterion;
conditionally beamforming with the second unitary matrix to transmit from the first device a third beamformed signal if the goodness criterion has not been satisfied;
and until the goodness criterion is satisfied, alternately performing at the second device and at the first device one or more successive iterations of the QR decomposition of the beamformed channel matrix observed by the respective device to provide an updated unitary matrix so that one or more beamformed data packets are transmitted utilizing an updated conjugate of the unitary matrix for the one or more successive iterations.

6. The communication method as set forth in claim 5, wherein transmitting the first beamformed signal includes beamforming with an identity matrix.

7. The communication method as set forth in claim 5, wherein beamforming with the first unitary matrix includes complex conjugating the first unitary matrix.

8. A communication system, comprising:
a first communication device comprising a beamformer to transmit a first beamformed signal using an identity matrix for beamforming;
and a second communication device comprising:
a receiver to observe a first observed beamformed channel in response to the first communication device transmitting the first beamformed signal;
a QR processor to perform a QR decomposition of the first observed beamformed channel to provide a first unitary matrix, and to determine a goodness of criterion of the QR decomposition;
and a beamformer utilizing a conjugate of the first unitary matrix to transmit a second beamformed signal in response to determining that the goodness of criterion is not satisfied;

the first communication device further comprising:
a receiver to observe a second observed beamformed channel in response to the second communication device transmitting the second beamformed signal;
and a QR processor to perform a plurality of QR decompositions of the second observed beamformed channel to provide a second unitary matrix, and to determine a second goodness of criterion, the beamformer of the first communication device utilizing the second unitary matrix to transmit a third beamformed signal;

until the goodness criterion is satisfied, the second communication device and the first communication device alternately performing for one or more successive iterations the QR decomposition of the beamformed channel matrix observed by the respective communication device to provide an updated unitary matrix so that the beamformer of the communication device utilizes an updated conjugate of the unitary matrix to transmit a beamformed signal to the other communication device.

9. The communication system as set forth in claim 8, wherein the beamformer of the first communication device utilizes an identity matrix for beamforming to transmit the first beamformed signal.

10. The communication system as set forth in claim 8, wherein the beamformer of the first communication device complex conjugates the first unitary matrix.

11. A communication system, comprising:
a beamforming access point to send a first signal using an identity matrix for beamforming; and
a beamforming mobile station to receive the first signal, perform a QR decomposition, and to send a clear-to-send (CTS) packet using a conjugate of a unitary matrix produced by the QR decomposition fix beamforming;
wherein the beamforming access point and the beamforming mobile station alternately perform QR decompositions and utilize conjugates of unitary matrices for beamforming until a goodness of criterion is satisfied; and
wherein, for successive transmissions, the beamfbrming access point and the beamforming mobile station perform successive QR decompositions to provide updated conjugates of the unitary matrix for transmitting data packets and acknowledgment (ACK) packets, respectively, for each of the successive transmissions.

12. A method, comprising:
transmitting a first signal from a local device to a remote device in a downlink channel, the first signal being transmitted using an identity matrix for beamforming;
receiving at the local device a reply signal from the remote device in an uplink channel, the reply signal being beamformed by the remote device based on a satisfaction of a criterion of goodness for a QR decomposition of an observed beamformed channel matrix of the signal transmitted in the downlink channel, the QR decomposition of the observed beamformed channel matrix providing a unitary matrix; and
transmitting a subsequent signal from the local device to the remote device in the downlink channel, the subsequent signal being beamformed based at least in part on the reply signal received in the uplink channel from the remote device,
until the goodness criterion is satisfied, alternately performing at the remote device and at the local device for one or more successive iterations the QR decomposition of the beamformed channel matrix Observed at the corresponding device provide an updated unitary matrix so that the beamformer of the corresponding device utilizes an updated conjugate of the unitary matrix to transmit a beamformed signal to the other device.

13. A method as claimed in claim 12, wherein the remote device beamforms the reply signal by using a conjugate of a unitary matrix obtained from the QR decomposition as a beamformer for the reply signal in the uplink channel.

14. A method as claimed in claim 12, wherein the subsequent signal is beamformed by using a conjugate of a unitary matrix obtained from QR decomposition as a beamformer for the subsequent signal in the downlink channel.

15. A method as claimed in claim 12, wherein the reply signal comprises a clear to send signal, and the subsequent signal comprises a data packet signal.

16. A method as claimed in claim 12, further comprising repeating said receiving a reply signal and said transmitting a subsequent signal by performing QR decomposition to beamform the reply signals and the subsequent signals until a matrix R of the QR decomposition is sufficiently diagonal.

17. A method as claimed in claim 12, wherein a channel matrix of the downlink channel and a channel matrix of the uplink channel have multiple columns, and wherein the reply signal and the subsequent signal comprise a single spatial stream.

18. A method, comprising:
receiving at a local device a first signal from a remote device in a downlink channel, the first signal being transmitted from the remote device using an identity matrix for beamforming;
transmitting a reply signal from the local device to the remote device in an uplink channel, the reply signal being beamformed based on a satisfaction of a criterion of goodness for a QR decomposition of an observed beamformed channel matrix of the signal received in the downlink channel at the local device and that is used for beamforming the reply signal; and
receiving at the local device a subsequent signal from the remote device in the downlink channel, the subsequent signal being beamformed by the remote device based at least in part on a QR decomposition of an observed beamformed channel matrix of the reply signal transmitted in the uplink channel to the remote device,
until the goodness criterion is satisfied, alternately performing at the remote device and at the local device one or more successive iterations of the QR decomposition of the beamformed channel matrix observed by the respective device to provide an updated unitary matrix so that one or more beamformed signals are transmitted to the other device utilizing an updated conjugate of the unitary matrix for the one or more successive iterations.

19. A method as claimed in claim 18, wherein the reply signal is beamformed by using a conjugate of a unitary matrix obtained from the QR decomposition as a beamformer for the reply signal in the uplink channel.

20. A method as claimed in claim 18, wherein the subsequent signal is beamformed by the remote device by using a conjugate of a unitary matrix obtained from the QR decomposition as a beamformer for the subsequent signal in the downlink channel.

21. A method as claimed in claim 18, wherein the reply signal comprises a clear to send signal, and the subsequent signal comprises a data packet signal.

22. A method as claimed in claim 18, further comprising repeating said transmitting a reply signal and said receiving a subsequent signal wherein QR decomposition is performed to beamfbrm the reply signals and the subsequent signals until a matrix R of the QR decomposition is sufficiently diagonal.

23. A method as claimed in claim 18, wherein a channel matrix of the downlink channel and a channel matrix of the uplink channel have multiple columns, and wherein the reply signal and the subsequent signal comprise a single spatial stream.