# Patent

## Title
Joint transceiver design for MIMO communications

## Abstract

A method and apparatus for transmitting data in a MIMO communication system, the method including encoding at least one data symbol by implementing a first precoding scheme, the first preceding scheme including a precoder derived from a first channel state information (CSI). The method further includes selecting at least one antenna that maximizes the first CSI, the at least one antenna being selected by implementing a first selection scheme, and transmitting the at least one data symbol via the at least one antenna.

## Background
RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No. 61/050,972, filed on May 6, 2008, the contents of which are herein incorporated by reference in its entirety.


TECHNICAL FIELD
This invention relates to a multiple-input multiple-output (MIMO) communication system and, more specifically, to antenna selection in a MIMO transceiver.
DISCUSSION OF RELATED ART
Since the inception of modern wireless communication theory, most communication systems have taken a single-input single-output (SISO) approach, where a single antenna is used at both the transmitter and receiver. However, with increasing demand for faster and more reliable communication systems, multiple-input multiple-output (MIMO) systems are an alternative approach. MIMO communication systems have recently received increased attention due to their potential for providing significantly higher data rates in frequency selective and fading wireless channels.
In a MIMO system, multiple antennas can be used at both the transmitter and receiver. The use of multiple antennas can help to improve data rate by using spatial multiplexing, where different data streams are transmitted by each antenna, and/or to enhance diversity of a wireless channel by transmitting copies of a same data stream on different antennas.
While a MIMO system can significantly improve bit error rate (BER) performance while maintaining high data rates, a major concern in the implementation of a MIMO system is the increased system and hardware complexity. Each antenna needs to be attached to a RF chain (modulator, analog-to-digital (A/D) or digital-to-analog (D/A) converter, low noise amplifier, down converter, etc.).
The idea behind antenna selection is to employ a large number of inexpensive antenna elements and to select only a best subset of antenna elements to transmit or receive data. By using only a best subset of the antenna elements, fewer of the more expensive RF chains are necessary.
Research has shown that the diversity obtained by using antenna selection in spatial multiplexing systems can be the same as the diversity achieved when the whole set of antenna elements are used.
SUMMARY
Consistent with some embodiments of the present invention, a method for transmitting data in a MIMO communication system includes encoding at least one data symbol by implementing a first preceding scheme. The first precoding scheme includes a precoder derived from a first channel state information (CSI). At least one antenna that maximizes the first CSI is selected, the at least one antenna is selected by implementing a first selection scheme and the at least one data symbol is transmitted via the at least one antenna.
In another embodiment, a transmitter in a MIMO communication system includes a precoder unit (PU) coupled to receive at least one data symbol, which utilizes a first channel state information (CSI) to encode the at least one data symbol by implementing a first precoding scheme. An antenna selection unit (ASU) is coupled to receive the first CSI and configured to select at least one antenna that maximizes the first CSI. The at least one antenna is selected by implementing a first selection scheme.
Additional features and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention will be realized and attained by the elements and combinations particularly pointed out in the appended claims.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
FIG. 1 illustrates a block diagram of an exemplary MIMO transceiver system in accordance with an embodiment of the present invention.
FIG. 2 illustrates a block diagram of a MIMO transceiver in accordance with an embodiment of the present invention.
FIG. 3 is a flow diagram of an antenna selection method in accordance with an embodiment of the present invention.
FIG. 4 is a flow diagram of another antenna selection method in accordance with an embodiment of the present invention.
FIGS. 5a-5d are graphs illustrating performance of a MIMO transceiver in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION
In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It is to be understood that these terms are not necessarily intended as synonyms for each other. Rather, in particular embodiments, “connected” and/or “coupled” may be used to indicate that two or more elements are in direct physical or electronic contact with each other. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still cooperate, communicate, and/or interact with each other.
FIG. 1 illustrates an exemplary MIMO transceiver system 100 in accordance with an embodiment of the present invention. System 100 includes a transmitter 102 and a receiver 104. Transmitter 102 may be part of a base station and receiver 104 may be part of an access point. Conversely, transmitter 102 may be part of an access terminal and receiver 104 may be part of a base station. A base station may be a fixed or mobile transceiver that communicates/exchanges data with one or more access points within a certain range. An access point may be a fixed or mobile communication device, such as a mobile telephone, a personal computer, a television receiver, a MP3 player, a personal digital assistant (PDA) or any other video, audio, or data device capable of radio communications.
Transmitter 102 can include transmit antennas 106, 108 and 110, and receiver 104 can include receive antennas 112, 114 and 116. For convenience, system 100 is depicted as including three transmit and receive antennas. However, there may be any number of transmit antennas and any number of receive antennas that can be included in a given transmitter and/or receiver. Therefore, the present disclosure is not limited in the number of antennas that may be included and supported by a MIMO system that is in accordance with the present invention. For convenience, the following description assumes that transmitter 102 can include MT number of antenna elements from which a subset of Mt number of transmit antennas can be selected (where Mt≦MT), and receiver 104 can include MR number of antenna elements from which Mr number of receive antennas can be selected (where Mr≦MR). A transmit antenna and a receive antenna can be defined as an antenna element that is coupled with a corresponding RF chain.
Data can be transmitted to receiver 104 via a channel 105 (such as a wireless channel). Channel 105 can be represented by a channel matrix H and can comprise communication paths h11, h12, h1Mt, h21, h22, hmr1, hMrMt, etc. where hAB, A ε{1, 2, . . . , Mr} and B ε{1, 2, . . . , Mt}, can represent a channel coefficient (of matrix H) of a communication path from transmit antenna B to receive antenna A.
Transmitter 102 can be coupled to receive an input bit stream 118. As will be discussed in detail below, transmitter 102 can include various functional units that can receive bit stream 118, and generate transmit symbols (x1, x2, x3, . . . , xMt) that can be transmitted via transmit antennas such as exemplary antennas 106, 108 and 110. Similarly, receiver 104 can include various functional units that can process symbols (y1, y2, y3, . . . , yMr) that can be received from the receive antennas such as exemplary antennas 112, 114 and 116, and generate an output bit stream 120. In a hypothetical ideal transmission, bit stream 118 would be equivalent to bit stream 120.
As will be discussed in detail below, it should be understood that the various functional units included in transmitter 102 and receiver 104, can in practice, individually or in any combinations, be implemented in hardware, in software executed on one or more hardware components (such as one or more processors, one or more application specific integrated circuits (ASIC's) or other such components) or in any combination thereof.
Transmit signal x (where x=[x1, x2, x3, . . . , xMt]T is a column vector with M, number of elements) can be transmitted over channel 105 to receiver 104. Transmitted signal x may be modified as it passes through channel 105, resulting in a modified signal y (where y=[y1, y2, y3, . . . , yMr]T is a column vector with Mr number of elements). The modified signal y that can be received at receiver 104 can be expressed as:

y=Hx+n  (1)

where H is the channel matrix and n is a complex additive white Gaussian noise vector with independent and identically distributed (i.i.d) entries having a zero mean and a variance of σn2 per entry. The signal to noise ratio (SNR) can be defined as γ=1/σn2.

As shown in (1), transmitted signal x can be modified by channel matrix H and noise n. Because H and n can be non-constant, channel state information (CSI) of channel 105 at transmitter 102 can help in minimizing transmission error and can improve capacity of channel 105. CSI of channel 105 can be estimated at receiver 104 and can be communicated to transmitter 102. CSI of channel 105 can include an estimate of channel matrix H.
To further boost capacity and bit error rate (BER) performance of system 100, transmitter 102 may generate transmit symbols (x1, x2, x3, . . . , xMt) by implementing various precoding schemes such as a minimum mean square error (MMSE)-based precoding scheme, a maximum likelihood (ML)-based preceding scheme, or other such preceding schemes, to encode data symbols that can be generated from input bit stream 118. These various precoding schemes can utilize CSI of channel 105 to improve the robustness of transmit signal x. Precoding schemes that can be implemented by transmitter 102 are discussed in detail in FIG. 2.
In some embodiments, each element of signal x=[x1, x2, x3, . . . , xMt]T can be transmitted to receiver 104 via a different antenna among the Mt number of transmit antennas included in transmitter 102. As shown in FIG. 1, each communication path of channel 105 can include a different channel coefficient. Because channel matrix H can comprise all channel coefficients associated with all communication paths (hAB, A ε{1, 2, . . . , Mr} and B ε{1, 2, . . . , Mt}), CSI of channel 105 at transmitter 102 can be further used to select the best communication paths (i.e., to select a best set of one or more transmit antennas out of the MT total number of antenna elements that can be included in transmitter 102.
FIG. 2 further illustrates a high-level functional block diagram of system 100 in accordance with an embodiment of the present invention. As shown in FIG. 2, transmitter 102 can include a modulation and multiplexing (MM) unit 204. MM 204 can be coupled to receive input bit stream 118 and configured to divide bit stream 118 into Mt bit streams. MM unit 204 can further map the Mt bit streams to a set of data symbols (s1, s2, s3, . . . , sMt) using a modulation constellation such as PSK, 16-QAM, 64-QAM or other such modulation schemes.
Transmitter 102 can further include a precoder unit (PU) 206. PU 206 can be coupled to receive data symbols (s1, s2, s3, . . . , sMt) and configured to generate transmit symbols (x1, x2, x3, . . . , xMt). As discussed with respect to FIG. 1, PU 206 can be configured to generate transmit symbols (x1, x2, x3, . . . , xMt) by encoding data symbols (s1, s2, s3, . . . , sMt) using various preceding schemes.
PU 206 can encode data symbols (s1, s2, s3, . . . , sMt) with a precoder F such that:

x=Fs  (2)

where x=[x1, x2, x3, . . . , xMt]T (as discussed above), s=[s1, s2, s3, . . . , sMt] is a symbol vector with Mt number of elements, and F is a matrix with dimension Mt×Mt. From equation (2), received signal y (from equation (1)) can be further expressed as:

y=HFs+n  (3)

PU 206 can be coupled to receive CSI of channel 105 from a CSI feedback channel 230. Feedback channel 230 can include a channel that can communicate (to transmitter 102) an estimate of channel 105 generated at receiver 104. PU 206 can utilize CSI received from feedback channel 230 to generate precoder F. As can be seen from equation (3), PU 206 can generate precoder F in a manner that can negate the effects of channel 105. One such preceding scheme that can be implemented by PU 206 is geometric mean decomposition (GMD).
The GMD of channel matrix H can be expressed as:

H=QRPGMDH  (4)

where matrix H is an estimate of channel 105 (CSI) generated at receiver 104 and communicated to transmitter 102 via feedback channel 230, Q and PGMD can be unitary matrices that can include orthonormal columns. H denotes a hermetian transpose, and R is a real upper triangular matrix of dimension Mt×Mt with diagonal elements all equal to the geometric mean of the positive singular values of H. The diagonal elements of matrix R can be expressed as:





  
    
      
        
          r
          11
        
        =
        
          
            r
            22
          
          =
          
            ...
            =
            
              
                
                  r
                  
                    M
                    t
                  
                
                ⁢
                
                  r
                  
                    M
                    t
                  
                
              
              =
              
                
                  σ
                  _
                
                =
                
                  
                    (
                    
                      
                        σ
                        1
                      
                      ⁢
                      
                        σ
                        2
                      
                      ⁢
                      
                        
                      
                      ⁢
                      ...
                      ⁢
                      
                        
                      
                      ⁢
                      
                        σ
                        
                          M
                          t
                        
                      
                    
                    )
                  
                  
                    1
                    
                      M
                      t
                    
                  
                
              
            
          
        
      
    
    
      
        (
        5
        )
      
    
  




where σi is the i-th nonzero singular value of matrix H.

In one embodiment, PU 206 can encode symbol vector s by choosing precoder F=PGMD. From equations (3) and (4),

y=QRs+n  (6)

Since Q is a unitary matrix, multiplying both sides of equation (6) by QH can result in,





  
    
      
        
          [
          
            
              
                
                  
                    y
                    ~
                  
                  1
                
              
            
            
              
                
                  
                    y
                    ~
                  
                  2
                
              
            
            
              
                ⋮
              
            
            
              
                
                  
                    y
                    ^
                  
                  
                    M
                    t
                  
                
              
            
          
          ]
        
        =
        
          
            
              [
              
                
                  
                    
                      r
                      11
                    
                  
                  
                    
                      r
                      12
                    
                  
                  
                    ...
                  
                  
                    
                      r
                      
                        1
                        ⁢
                        
                          M
                          t
                        
                      
                    
                  
                
                
                  
                    0
                  
                  
                    
                      r
                      22
                    
                  
                  
                    ...
                  
                  
                    
                      r
                      
                        2
                        ⁢
                        
                          M
                          t
                        
                      
                    
                  
                
                
                  
                    ⋮
                  
                  
                    ⋮
                  
                  
                    ⋱
                  
                  
                    ⋮
                  
                
                
                  
                    0
                  
                  
                    ...
                  
                  
                    0
                  
                  
                    
                      r
                      
                        
                          M
                          t
                        
                        ⁢
                        
                          M
                          t
                        
                      
                    
                  
                
              
              ]
            
            ⁡
            
              [
              
                
                  
                    
                      s
                      1
                    
                  
                
                
                  
                    
                      s
                      2
                    
                  
                
                
                  
                    ⋮
                  
                
                
                  
                    
                      s
                      
                        M
                        t
                      
                    
                  
                
              
              ]
            
          
          +
          
            [
            
              
                
                  
                    
                      n
                      ~
                    
                    1
                  
                
              
              
                
                  
                    
                      n
                      ~
                    
                    2
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    
                      n
                      ~
                    
                    
                      M
                      t
                    
                  
                
              
            
            ]
          
        
      
    
    
      
        (
        7
        )
      
    
  




When a successive interference cancellation (SIC) scheme with perfect interference cancellation is used, equation (7) can be further expressed as:

{tilde over (y)}i=riisi+ñi  (8)

As discussed with respect to FIG. 1, transmitter 102 can further include an antenna selection unit (ASU) 216. ASU 216 can be coupled to receive CSI of channel 105, and can be configured to select a best set of Mt number of transmit antennas out of a total of MT number of antenna elements. As can be seen from equation (8), ASU 216 can select Mt antennas such that diagonal elements of matrix R can be maximized. The antenna selection mechanism that can be implemented by ASU 216 is discussed later in detail.
As shown in FIG. 2, transmitter 102 can further include an antenna switching unit (ASWU) 208. ASWU 208 can be coupled to receive the best set of Mt selected antenna elements (from ASU 216), and can be configured to couple appropriate Mt RF chains (such as exemplary RF units 210, 212 and 214) with corresponding Mt selected antenna elements. Signal x can then be transmitted to receiver 104 via the Mt selected transmit antennas.
Receiver 104 can receive signal y via Mr receive antennas coupled to MrRF chains (such as exemplary RF units 218, 220 and 222). Receiver 104 can further include a detector unit (DU) 224 that can be coupled to receive signal y and configured to generate an estimated symbol vector ŝ=[ŝ1, ŝ2, ŝ3, . . . , ŝMr]. In an ideal hypothetical transmission, ŝ=s. Receiver 104 can also include a demultiplexing and demodulation (DD) unit 226 that can be coupled to receive estimated symbol vector ŝ and configured to generate output bit stream 120.
As discussed earlier, because CSI of channel 105 at transmitter 102 and receiver 104 can help in improving performance of system 100, receiver 104 can include channel state information generator (CSIG) unit 228. CSIG 228 can be coupled to receive data from transmitter 102 and can be configured to generate an estimate of channel 105 (CSI). For example, CSIG 228 can generate CSI of channel 105 from a pilot signal (that can include common pilot data) that can be transmitted by transmitter 102. Because the pilot data can be known at receiver 104 as a priori information, CSIG 228 can generate an estimate of channel 105 from the received pilot signal by comparing the received pilot data with the known pilot data.
DU 224 can be coupled to receive CSI of channel 105 from CSIG 228. As discussed earlier, CSI of channel 105 generated by CSIG 228 can be communicated to transmitter 102 via feedback channel 230. To further enhance data rate and minimize reception error, DU 224 can be configured to implement a detection scheme that can utilize CSI of channel 105. In one embodiment, DU 224 can be configured to implement a minimum mean square error (MMSE) vertical Bell Laboratories layered space-time (V-BLAST) detector (MMSE-VBLAST).
The MMSE-VBLAST detector that can be implemented by DU 224 can detect symbol vector ŝ by applying SIC and an MMSE matrix W. The MMSE matrix of H for SIC process is equivalent to the upper triangularizing matrix of extended channel matrix Hex.. So that

W=[Qexu]H  (9)

where Qex.u is a matrix obtained from GMD decomposition of extended channel matrix Hex.. The extended channel matrix Hex. can be expressed as:





  
    
      
        
          H
          
            ex
            .
          
        
        =
        
          
            [
            
              
                
                  H
                
              
              
                
                  
                    
                      α
                    
                    ⁢
                    
                      I
                      
                        M
                        t
                      
                    
                  
                
              
            
            ]
          
          =
          
            
              
                [
                
                  
                    
                      
                        Q
                        
                          ex
                          .
                        
                        u
                      
                    
                  
                  
                    
                      
                        Q
                        
                          ex
                          .
                        
                        l
                      
                    
                  
                
                ]
              
              ⁢
              
                R
                
                  ex
                  .
                
              
            
            =
            
              
                Q
                
                  H
                  
                    ex
                    .
                  
                
              
              ⁢
              
                R
                
                  ex
                  .
                
              
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




where Qex.u is a unitary matrix and Rex.εCMt×Mt is an upper triangular matrix with positive real number diagonal elements. DD 226 can be coupled to receive estimated symbol vector ŝ and can generate output bit stream 120.

In some embodiments, Hex. can be communicated to PU 206 via feedback channel 230 as CSI of channel 105. In a manner similar to that discussed in equations (4) and (5), PU 206 can apply GMD on Hex. to derive precoder F. The GMD of Hex. can be expressed as:




  
    
      
        
          H
          
            ex
            .
          
        
        =
        
          
            [
            
              
                
                  
                    I
                    
                      M
                      r
                    
                  
                
                
                  0
                
              
              
                
                  0
                
                
                  
                    Ω
                    0
                  
                
              
            
            ]
          
          ⁢
          
            Q
            ~
          
          ⁢
          
            R
            ~
          
          ⁢
          
            
              P
              ~
            
            GMD
            H
          
          ⁢
          
            Ω
            0
            H
          
        
      
    
    
      
        (
        11
        )
      
    
  




where Ω0εCMt×Mt and {tilde over (P)}GMDHεCMt×Mt are unitary matrices, {tilde over (Q)}εC(Mr+Mt)Mt is a semi-unitary matrix, {tilde over (R)}εCMt×Mt is an upper triangular matrix and IMr is an identity matrix. PU 206 can select precoder F=Ω0={tilde over (P)}GMDH. Because CSI of channel 105 H=Hex., and pre-multiplying





  
    Q
    
      H
      ∞
    
    H
  
  =
  
    
      
        
          Q
          ~
        
        H
      
      ⁡
      
        [
        
          
            
              
                I
                
                  M
                  r
                
              
            
            
              0
            
          
          
            
              0
            
            
              
                Ω
                0
              
            
          
        
        ]
      
    
    H
  




on both sides of equation (3), a received signal can be expressed in a manner similar to that discussed in equation (8) where rii={tilde over (r)}ii. The diagonal elements ({tilde over (r)}ii) of upper triangular matrix {tilde over (R)} εChu Mt×Mt can be expressed as:





  
    
      
        
          
            r
            ~
          
          =
          
            
              
                r
                ~
              
              ii
            
            =
            
              
                (
                
                  
                    ∏
                    
                      l
                      =
                      1
                    
                    
                      M
                      t
                    
                  
                  ⁢
                  
                    
                      
                        σ
                        l
                        2
                      
                      +
                      α
                    
                  
                
                )
              
              
                1
                
                  m
                  t
                
              
            
          
        
        ,
        
          i
          =
          1
        
        ,
        2
        ,
        ...
        ⁢
        
          
        
        ,
        
          M
          t
        
      
    
    
      
        (
        12
        )
      
    
  




the diagonal elements of {tilde over (R)} can be further expressed as:





  
    
      
        
          
            
              r
              ~
            
            ii
            2
          
          =
          
            α
            ⁡
            
              (
              
                1
                +
                
                  
                    ρ
                    ~
                  
                  i
                
              
              )
            
          
        
        ⁢
        
          

        
        ⁢
        and
      
    
    
      
        (
        13
        )
      
    
  
  
    
      
        
          
            
              
                
                  r
                  ~
                
                
                  2
                  ⁢
                  
                    M
                    t
                  
                
              
              =
              
              ⁢
              
                
                  
                    (
                    
                      
                        ∏
                        
                          l
                          =
                          1
                        
                        
                          M
                          t
                        
                      
                      ⁢
                      
                        
                          r
                          ~
                        
                        ii
                      
                    
                    )
                  
                  2
                
                =
                
                  
                    
                      (
                      
                        
                          ∏
                          
                            l
                            =
                            1
                          
                          
                            M
                            t
                          
                        
                        ⁢
                        
                          σ
                          
                            
                              R
                              ~
                            
                            ,
                            i
                          
                        
                      
                      )
                    
                    2
                  
                  =
                  
                    
                      (
                      
                        
                          ∏
                          
                            l
                            =
                            1
                          
                          
                            M
                            t
                          
                        
                        ⁢
                        
                          σ
                          
                            
                              H
                              
                                ex
                                .
                              
                            
                            ,
                            i
                          
                        
                      
                      )
                    
                    2
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  det
                  ⁡
                  
                    (
                    
                      
                        H
                        
                          ex
                          .
                        
                        H
                      
                      ⁢
                      
                        H
                        
                          ex
                          .
                        
                      
                    
                    )
                  
                
                .
              
            
          
        
      
    
    
      
        (
        14
        )
      
    
  




where {tilde over (ρ)}i is the signal-to-interference-and-noise ratio (SINR). As can be seen from equations (13) and (14), BER performance can be improved by maximizing {tilde over (r)}ii.

As discussed earlier, in order to improve the BER performance of system 100, ASU 216 can be configured to select a best set of Mt number of transmit antennas out of a total of MT number of antenna elements. As can be seen from equations (12), (13) and (14), because the value of {tilde over (r)} can depend on Hex., ASU 216 can select the best set of Mt antennas by selecting a matrix Hsel that can maximize the diagonal elements of {tilde over (R)} (i.e. by maximizing {tilde over (r)}ii).
In some embodiments, an selection criteria that can be implemented by ASU 216 can be expressed as:




  
    
      
        
          H
          
            sel
            .
          
        
        =
        
          arg
          ⁢
          
            
              max
              
                
                  H
                  ~
                
                
                  ex
                  .
                
              
            
            ⁢
            
              (
              
                det
                ⁡
                
                  (
                  
                    
                      
                        H
                        ~
                      
                      
                        ex
                        .
                      
                      H
                    
                    ⁢
                    
                      
                        H
                        ~
                      
                      
                        ex
                        .
                      
                    
                  
                  )
                
              
              )
            
          
        
      
    
    
      
        (
        15
        )
      
    
  




where





  
    
      
        H
        ~
      
      
        ex
        .
      
    
    =
    
      [
      
        
          
            
              H
              pruned
            
          
        
        
          
            
              
                α
              
              ⁢
              
                I
                
                  M
                  t
                
              
            
          
        
      
      ]
    
  
  ,




and HprunedεCMt×Mt is a subset matrix of a complete channel matix HASεCMR×MT with MR and MT number of receiver and transmitter antenna elements, respectively.

As can be seen from equation (15), ASU 216 can select the best set of Mt transmit antennas by computing determinants for all possible transmit antenna elements (MT) to select a Hpruned that can maximize the diagonal elements of {tilde over (R)}. Therefore, ASU 216 can evaluate




   
  
    (
    
      
        
          
            M
            T
          
        
      
      
        
          
            M
            t
          
        
      
    
    )
  




transmit antenna elements where





  
    (
    
      
        
          N
        
      
      
        
          K
        
      
    
    )
  
  =
  
    
      
        N
        !
      
      
        
          
            (
            
              N
              -
              K
            
            )
          
          !
        
        ⁢
        
          K
          !
        
      
    
    .
  




Performing a full exhaustive determinant search by evaluating all




   
  
    (
    
      
        
          
            M
            T
          
        
      
      
        
          
            M
            t
          
        
      
    
    )
  




transmit antenna elements to select the best set of Mt antennas can be computationally expensive. In order to reduce computational complexity, in one embodiment, ASU 216 can implement a Gram-Schmidt orthogonalization (GSO) based search to select the best set of Mt antennas.

FIG. 3 illustrates a flow diagram of the GSO based search that can be performed by ASU 216 in accordance with an embodiment of the present invention. As illustrated in FIG. 3, ASU 216 can receive CSI of channel 105 (for example Hex.). In step 302, ASU 216 can compute the norm for each column in Hex.. In step 304, ASU 216 can select a column with the largest norm. In step 306, ASU 216 can select another column that has the largest projection distance to a null space that can be included by all the previously selected columns. In step 308, if Mt columns have not been selected (308—No), then in step 306, ASU 216 can select another column that has the largest projection distance to the null space that can be included by all the previously selected columns. If in step 308, Mt columns have been selected (308—Yes), the search process can end. AWSU 208 (not shown in FIG. 3) can then transmit data to receiver 104 by coupling appropriate RF units (such as exemplary RF units 210, 212 and 214) with the corresponding Mt antenna elements associated with the Mt columns of Hpruned.
In one embodiment, in order to further boost BER performance of system 100 in fading environments, ASU 216 can implement a (n, Mt−n) modified GSO (m-GSO) method to select the best set of M, transmit antennas (where n<Mt). FIG. 4 illustrates a flow diagram of the m-GSO based search that can be performed by ASU 216 consistent with some embodiments of the present invention.
As illustrated in FIG. 4, ASU 216 can receive CSI of channel 105. In one embodiment, ASU 216 can receive CSI of channel 105 as extended matrix Hex. where




  
    
      
        
          
            H
            _
          
          
            ex
            .
          
        
        =
        
          
            [
            
              
                
                  
                    H
                    
                      T
                      ·
                      AS
                    
                  
                
              
              
                
                  
                    
                      α
                    
                    ⁢
                    
                      I
                      
                        M
                        T
                      
                    
                  
                
              
            
            ]
          
          
            
              (
              
                
                  M
                  r
                
                +
                
                  M
                  T
                
              
              )
            
            ×
            
              M
              T
            
          
        
      
    
    
      
        (
        16
        )
      
    
  




where HT−ASεCMr×MT is a complete channel matrix with Mr and MT number of receiver and transmitter antenna elements, respectively.

In step 402, ASU 216 can compute the norm for each column in Hex.. In step 404, ASU 216 can select a column with the largest norm. In step 406, ASU 216 can select another column that has the largest projection distance to the null space that can be included by all the previously selected columns. In step 408, if n columns have not been selected (408—No), then in step 406, ASU 216 can select another column that has the largest projection distance to the null space that can be included by all the previously selected columns. If in step 408, n columns have been selected (408—Yes), then in step 410, ASU 216 can select the remaining (Mt−n) columns of HT−AS by performing a full exhaustive determinant search by computing




   
  
    (
    
      
        
          
            
              M
              T
            
            -
            n
          
        
      
      
        
          
            
              M
              t
            
            -
            n
          
        
      
    
    )
  




possible determinants under n known columns in a manner similar to that described in equation (15). AWSU 208 (not shown in FIG. 3) can then transmit data to receiver 104 by coupling appropriate RF units (such as exemplary RF units 210, 212 and 214) with the corresponding Mt antenna elements associated with the Mt columns of HT−AS.

A complexity analysis in terms of number of arithmetic operations (flops) for the m-GSO based search illustrated in FIG. 4, can be expressed as follows: Number of real multiplications (RM) in Step 404 can be expressed as:

2MT(Mr+1)  (17)

Number of real additions (RA) in Step 404 can be expressed as:

2MT(Mr+1)  (18)

Number of operations Step 406 can be expressed as:





  
    
      
        
          ∑
          
            k
            =
            1
          
          
            n
            -
            1
          
        
        ⁢
        
          
            (
            
              
                M
                T
              
              -
              k
            
            )
          
          ⁢
          
            {
            
              [
              
                
                  
                    (
                    
                      2
                      ⁢
                      kM
                    
                    )
                  
                  CM
                
                +
                
                  
                    (
                    
                      2
                      ⁢
                      
                        (
                        
                          k
                          +
                          1
                        
                        )
                      
                      ⁢
                      M
                    
                    )
                  
                  RM
                
                +
                
                  
                    (
                    
                      2
                      ⁢
                      k
                    
                    )
                  
                  RD
                
                +
                
                  
                    (
                    
                      
                        
                          (
                          
                            k
                            +
                            1
                          
                          )
                        
                        ⁢
                        M
                      
                      -
                      k
                    
                    )
                  
                  CA
                
                +
                
                  
                    (
                    
                      
                        2
                        ⁢
                        
                          (
                          
                            k
                            +
                            1
                          
                          )
                        
                        ⁢
                        M
                      
                      -
                      k
                      -
                      1
                    
                    )
                  
                  RA
                
              
              ]
            
            }
          
        
      
    
    
      
        (
        19
        )
      
    
  




where (CM) denotes complex multiplication, (CA) denotes complex addition, (RD) denotes real division, and M=MT+Mr; and

Number of operations in Step 414 can be expressed as:





  
    
      
        
          (
          
            
              
                
                  
                    M
                    t
                  
                  -
                  n
                
              
            
            
              
                
                  
                    M
                    t
                  
                  -
                  n
                
              
            
          
          )
        
        ⁢
        
          
            {
            
              
                [
                
                  
                    
                      (
                      
                        
                          M
                          t
                          2
                        
                        ⁢
                        
                          M
                          r
                        
                      
                      )
                    
                    CM
                  
                  +
                  
                    
                      (
                      
                        
                          M
                          t
                          2
                        
                        ⁡
                        
                          (
                          
                            
                              M
                              r
                            
                            -
                            1
                          
                          )
                        
                      
                      )
                    
                    CA
                  
                  +
                  
                    
                      (
                      
                        M
                        t
                      
                      )
                    
                    RM
                  
                  +
                  
                    
                      (
                      
                        M
                        t
                      
                      )
                    
                    RA
                  
                
                ]
              
              +
              
                (
                
                  number
                  ⁢
                  
                    
                  
                  ⁢
                  of
                  ⁢
                  
                    
                  
                  ⁢
                  CMs
                  ⁢
                  
                    
                  
                  ⁢
                  for
                  ⁢
                  
                    
                  
                  ⁢
                  a
                  ⁢
                  
                    
                  
                  ⁢
                  
                    M
                    t
                  
                  ×
                  
                    M
                    t
                  
                  ⁢
                  
                    
                  
                  ⁢
                  determinant
                
                )
              
              +
              
                (
                
                  number
                  ⁢
                  
                    
                  
                  ⁢
                  of
                  ⁢
                  
                    
                  
                  ⁢
                  CAs
                  ⁢
                  
                    
                  
                  ⁢
                  for
                  ⁢
                  
                    
                  
                  ⁢
                  a
                  ⁢
                  
                    
                  
                  ⁢
                  
                    M
                    t
                  
                  ×
                  
                    M
                    t
                  
                  ⁢
                  
                    
                  
                  ⁢
                  determinant
                
                )
              
            
            }
          
          .
        
      
    
    
      
        (
        20
        )
      
    
  











TABLE 1







Complexity comparison of full exhaustive determinant search


and m-GSO search












4 × 6

4 × 7















Exaust.
Modified
Exaust.
Modified




det.
GSO-based
det.
GSO-based
















CM
1560
724
3320
1172



RM
60
284
140
274



RD
0
10
0
12



CA
1065
521
2485
836



RA
60
274
140
362



Flops
2745
1813
6085
2756



count









Table 1 depicts a comparison in terms of arithmetic complexity (flops), between an antenna selection scheme employing a full exhaustive determinant search and a (2, 2) modified-GSO search. Table 1 was computed from equations (17)-(20) for a 4×4 spatial multiplexing system with Mt=4 & MT=6 (4×6) and Mt=4 & MT=7 (4×7). As depicted in table 1, the modified-GSO search can be less computationally complex to implement.
FIGS. 5a, 5b, 5c and 5d are graphs illustrating plots of signal-to-noise (SNR) (depicted on the x-axis in dB) vs. bit error rate (BER) performance of system 100. The data for these plots were obtained by simulating operation of system 100 implementing the various antenna selection schemes consistent with the present invention. The simulation of system 100 was performed using a 4×4 spatial multiplexing MIMO baseband transceiver, 16-QAM modulation, Mt=4, MT=5, 6, 7, and n=2 for the (2,2) m-GSO scheme.
FIG. 5a illustrates the performance of system 100 under an i.i.d fading channel. Plot 501, illustrates the performance of system 100 when no transmit antenna selection (T−AS) scheme is implemented. Plots 502, 503, and 504 illustrate the performance of system 100 when a full exhaustive determinant T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively. Plots 505, 506, and 507 illustrate the performance of system 100 when the GSO-based T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively.
FIG. 5b illustrates the performance of system 100 in the spatial channel model (SCM) as developed by 3GPP-3GPP2. Plot 501, illustrates the performance of system 100 when no transmit antenna selection (T−AS) scheme implemented. Plots 502, 503, and 504 illustrate the performance of system 100 when a full exhaustive determinant T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively. Plots 505, 506, and 507 illustrate the performance of system 100 when the GSO-based T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively.
FIG. 5c illustrates the performance of system 100 under an i.i.d fading channel. Plot 501, illustrates the performance of system 100 when no T−AS scheme implemented. Plots 502, 503, and 504 illustrate the performance of system 100 when a full exhaustive determinant T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively. Plots 505, 506, and 507 illustrate the performance of system 100 when the (2,2) modified GSO-based T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively.
FIG. 5d illustrates the performance of system 100 in the spatial channel model (SCM) as developed by the 3rd Generation Partnership Project (3GPP-3GPP2). Plot 501, illustrates the performance of system 100 when no T−AS scheme is implemented. Plots 502, 503, and 504 illustrate the performance of system 100 when a full exhaustive determinant T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively. Plots 505, 506, and 507 illustrate the performance of system 100 when the (2,2) modified-GSO-based T−AS search for Mt=4 & MT=5 (4×5), Mt=4 & MT=6 (4×6), and Mt=4 & MT=7 (4×7) are implemented, respectively.
Based on a comparison of the plots in FIGS. 5a and 5c (i.i.d fading channel environment) and the corresponding plots in FIGS. 5b and 5d (SCM environment), the implementation of the modified-GSO based search (plots 505, 506, and 507) improved the performance of system 100 in comparison with the GSO-based search (plots 502, 503, 504) by reducing the BER for a given SNR level. Additionally, the implementation of the modified-GSO based search (plots 505, 506, and 507) was consistent with the performance of system 100 in comparison with the full exhaustive determinant search (plots 502, 503, 504).
Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.

## Claims

1. A method for transmitting data in a communication system, comprising:
encoding at least one data symbol by implementing a first precoding scheme, the first precoding scheme including a precoder derived from a first channel state information (CSI);
selecting at least one antenna that maximizes the first CSI, the at least one antenna being selected by implementing a first selection scheme, wherein the first selection scheme includes:
calculating a norm for each column in the first CSI;
selecting a first column with a largest norm;
calculating a projection distance for each column in the first CSI with respect to a null space of all previously selected columns;
selecting a second column with a largest projection distance; and
selecting the at least one antenna corresponding to the second column; and

transmitting the at least one data symbol via the at least one antenna.

2. The method of claim 1 wherein encoding the at least one data symbol by implementing the first precoding scheme further includes providing the first coding scheme as a geometric mean decomposition (GMD).

3. The method of claim 1 wherein encoding the at least one data symbol by implementing the first precoding scheme further includes providing the first CSI as an estimate of a channel.

4. The method of claim 1 wherein selecting at least one antenna that maximizes the first CSI includes providing the first selection scheme as a Gram-Schmidt orthogonolization (GSO) scheme.

5. The method of claim 1 wherein selecting the at least one antenna that maximizes the first CSI includes providing the first selection scheme as a modified GSO (m-GSO) scheme.

6. The method of claim 5 wherein selecting the at least one antenna by using the m-GSO scheme further comprises:
selecting a first at least one antenna by implementing the GSO based scheme; and
selecting a second at least one antenna by implementing a full exhaustive determinant search.

7. A transmitter in a MIMO communication system, comprising:
a precoder unit (PU) coupled to receive at least one data symbol, and utilizing a first channel state information (CSI) to encode the at least one data symbol by implementing a first precoding scheme; and
an antenna selection unit (ASU) coupled to receive the first CSI, the ASU further configured to select at least one antenna that maximizes the first CSI, the at least one antenna being selected by implementing a first selection scheme, wherein the first selection scheme includes:
calculating a norm for each column in the first CSI;

selecting a first column with a largest norm;
calculating a prosection distance for each column in the first CSI with respect to a null space of all previously selected columns;
selecting a second column with a largest projection distance; and
selecting the at least one antenna corresponding to the second column.

8. The transmitter of claim 7 including the PU encoding at least one data symbol by implementing a first precoding scheme, wherein the PU unit is configured to encode the at least one data symbol by implementing the first precoding scheme as a geometric mean decomposition (GMD).

9. The transmitter of claim 7 including the ASU selecting the at least one antenna that maximizes the first CSI by implementing the first selection scheme as a Gram-Schmidt orthogonolization (GSO) scheme.

10. The transmitter of claim 7 including the ASU selecting the at least one antenna that maximizes the first CSI by implementing the first selection scheme as a modified GSO (m-GSO) scheme.

11. The transmitter of claim 10 including the ASU selecting the at least one antenna by implementing the m-GSO scheme, further comprises:
the ASU selecting a first at least one antenna by implementing the GSO scheme, and selecting a second at least one antenna by implementing a full exhaustive search.