# Patent

## Title
Scalable space-frequency coding for MIMO systems

## Abstract

Systems, devices, and techniques for MIMO (Multiple-In-Multiple-Out) based space-frequency coding can include, in at least some implementations, techniques that include selecting a spatial multiplexing rate M for a transmission of data via two or more antennas, the data comprising N data streams, applying a first mapping to map the N data streams to a first portion of the antennas for a first data tone; and applying a different second mapping to map the N data streams to a different second portion of the antennas for a second data tone.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This patent document is a continuation of and claims the benefit of the priority of U.S. patent application Ser. No. 12/616,753, filed Nov. 11, 2009 (now U.S. Pat. No. 8,159,930), which claims the benefit of priority to U.S. patent application Ser. No. 10/767,067, filed Jan. 28, 2004 (now U.S. Pat. No. 7,623,441), which claims priority to U.S. Provisional Application Ser. No. 60/494,204, filed on Aug. 11, 2003, which are hereby incorporated by reference in their entirety.


BACKGROUND
Wireless phones, laptops, PDAs, base stations and other systems may wirelessly transmit and receive data. A single-in-single-out (SISO) system may have two single-antenna transceivers in which one predominantly transmits and the other predominantly receives. The transceivers may use multiple data rates depending on channel quality.
An MR×MT multiple-in-multiple-out (MIMO) wireless system uses multiple transmit antennas (MT) and multiple receive antennas (MR) to improve data rates and link quality. The MIMO system may achieve high data rates by using a transmission signaling scheme called “spatial multiplexing,” where a data bit stream is demultiplexed into parallel independent data streams. The independent data streams are sent on different transmit antennas to obtain an increase in data rate according to the number of transmit antennas used. Alternatively, the MIMO system may improve link quality by using a transmission signaling scheme called “transmit diversity,” where the same data stream (i.e., same signal) is sent on multiple transmit antennas after appropriate coding. The receiver receives multiple copies of the coded signal and processes the copies to obtain an estimate of the received data.
The number of independent data streams transmitted is referred to as the “multiplexing order” or spatial multiplexing rate (M). A spatial multiplexing rate of M=1 indicates pure diversity and a spatial multiplexing rate of M=min(MR, MT) (minimum number of receive or transmit antennas) indicates pure multiplexing.
SUMMARY
A wireless system, e.g., a Multiple-In-Multiple-Out (MIMO)-Orthogonal Frequency Division Multiplexing (OFDM) system, may select a spatial multiplexing rate (M) from a number of available rates based on the channel conditions. The number of available mapping permutations for a given multiplexing rate may be given by




  
    
      (
      
        
          
            
              M
              T
            
          
        
        
          
            M
          
        
      
      )
    
    =
    
      
        
          M
          T
        
        !
      
      
        
          M
          !
        
        ×
        
          
            (
            
              
                M
                T
              
              -
              M
            
            )
          
          !
        
      
    
  
  ,




wherein M is the spatial multiplexing rate and MT is the number of antennas. The available multiplexing rates may include pure diversity, pure multiplexing, and one or more intermediate spatial multiplexing rates.

A coding module in a transmitter in the system may space frequency code OFDM symbols for transmission. The coding module may include mapping one or more data symbols, depending on the spatial multiplexing rate, to a number of antennas. The coding module may map the appropriate number of symbols to the antennas using different mapping permutations for different tones in the symbol. The mapping permutations may be applied cyclically, and may be different for adjacent tones or applied to blocks of tones.
The space frequency coding may provide substantially maximum spatial diversity for the selected spatial multiplexing rate. Also, such coding may enable transmission at a substantially equal power on each of the antennas. The space frequency coded symbol may use less than all available tone-antenna combinations.
The wireless system may comply with one of the IEEE 802.11a, IEEE 802.11g, IEEE 802.16, and IEEE 802.20 standards.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a wireless multiple-in-multiple-out (MIMO) communication system.
FIG. 2 is a block diagram of a transceiver transmit section for and space-frequency coding.
FIG. 3 is a block diagram of a transceiver receive section for space-frequency decoding.
FIG. 4 is a flowchart describing an antenna mapping technique for multiple spatial multiplexing rates.
FIG. 5 is a flowchart describing an antenna mapping technique for multiple spatial multiplexing rates in which permutations are applied in a cyclical manner.
FIGS. 6A-6D are plots showing antenna mappings for different spatial multiplexing rates according to an embodiment.
FIGS. 7A-7D are plots showing antenna mappings for different spatial multiplexing rates according to another embodiment.



DETAILED DESCRIPTION
FIG. 1 illustrates a wireless multiple-in-multiple-out (MIMO) communication system 130, which includes a first transceiver 100 with multiple transmit antennas (MT) 104 and a second transceiver 102 with multiple receive antennas (MR) 106. In an embodiment, each transceiver has four antennas, forming a 4×4 MIMO system. For the description below, the first transceiver 100 is designated as a “transmitter” because the transceiver 100 predominantly transmits signals to the transceiver 102, which predominantly receives signals and is designated as a “receiver”. Despite the designations, both “transmitter” 100 and “receiver” 102 may transmit and receive data, as shown by the transmit sections 101A, 101B and receive sections 103A, 103B in each transceiver.
The transmitter 100 and receiver 102 may be part of a MIMO-OFDM (Orthogonal Frequency Division Multiplexing) system. OFDM splits a data stream into multiple radiofrequency channels, which are each sent over a subcarrier frequency (also called a “tone”).
The transmitter 100 and receiver 102 may be implemented in a wireless local Area Network (WLAN) that complies with the IEEE 802.11 family of specifications. It is also contemplated that such transceivers may be implemented in other types of wireless communication devices or systems, such as a mobile phone, laptop, personal digital assistant (PDA), a base station, a residence, an office, a wide area network (WAN), etc.
The number of independent data streams transmitted by the transmit antennas 104 is called the “multiplexing order” or “spatial multiplexing rate” (M). A spatial multiplexing rate of M=1 indicates pure diversity, and a spatial multiplexing rate of M=min(MR, MT)(minimum number of receive or transmit antennas) indicates pure multiplexing.
Each data stream may have an independent coding rate (r) and a modulation order (d). The physical (PHY) layer, or raw, data rate may be expressed as R=r×log2(d)×M Bps/Hz. A transmitter's PHY layer chip may support many data rates depending on the values of M, r and d.
In an embodiment, the MIMO system 130 may use combinations of diversity and spatial multiplexing, i.e., 1≦M≦min(MR, MT). For example, in the 4×4 MIMO system described above, the system may select one of the four available multiplexing rate (Mε[1, 2, 3, 4]) depending on the channel conditions. The system may change the spatial multiplexing rate as channel conditions change.
In an embodiment, the MIMO system employs space-frequency coding. A space-frequency code can be used to transmit symbols for varying degrees of multiplexing and diversity orders. The OFDM tone will be denoted as “t”, tε[1, 2, . . . , T], where T is the total number of data tones per OFDM symbol. For IEEE 802.11, the total number of tones is 64, out of which 48 tones are data tones (i.e., T=48). For each tε[1, 2, . . . , T], the space frequency code maps M symbols into MT transmit antennas.
FIG. 2 shows one embodiment of a transceiver transmit section employing OFDM modulation and space-frequency coding. The input stream may be subject to scrambling, FEC (Forward Error Correction), interleaving, and symbol mapping to generate the symbols. Other encoding techniques may be used in lieu of those described above, as well. For each OFDM tone, t, an antenna mapping module 205 maps M symbol streams s1(t), s2(t), . . . , sm(t) onto MT transmit antennas.
FIG. 3 shows one embodiment of a transceiver receive section for decoding space-frequency coded signals. The received signals 302 on the MR receive antenna may be subject to AGC (Automatic Gain Control), filtering, CP (Cyclic Prefix) removal, and FFT (Fast Fourier Transform) processing to yield the received symbols across OFDM tones. The received symbols may be represented as y1(t), y2(t), . . . , yM(t). A decoder 304 processes the received symbols using linear or non-linear space-frequency receivers to yield the estimates ŝ1(t), ŝ2(t), . . . , ŝM(t). ZF (Zero Forcing), MMSE (Minimum Mean Square Error) are examples of linear space-frequency detection schemes. BLAST (Bell Laboratories Layered Space-Time) and ML (Maximum Likelihood) are examples of non-linear space-frequency detection schemes.
In an embodiment, the transmit section includes a mode selector 210 and a coding module 212 (FIG. 2). The mode selector 210 determines an appropriate spatial multiplexing rate (M) for the current channel conditions. The coding module may employ a mode selection technique described in co-pending U.S. patent application Ser. No. 10/620,024, filed on Jul. 14, 2003 and entitled “DATA RATE ADAPTATION IN MULTIPLE-IN-MULTIPLE-OUT SYSTEMS”, which is incorporated herein in its entirety. The coding module 212 constructs an appropriate space-frequency code for the selected spatial multiplexing rate.
FIG. 4 is a flowchart describing an exemplary space-frequency code construction operation that may be performed by the coding module 212. The coding module 212 may receive the spatial multiplexing rate M from the mode selector 210 (block 402). The coding module 212 may then identify the permutations for the rate M (block 404). There are a total of




  
    (
    
      
        
          
            M
            T
          
        
      
      
        
          M
        
      
    
    )
  
  =
  
    
      
        
          M
          T
        
        !
      
      
        
          M
          !
        
        ×
        
          
            (
            
              
                M
                T
              
              -
              M
            
            )
          
          !
        
      
    
    =
    P
  




permutations possible for a given spatial multiplexing rate M. The coding module 212 maps M data symbols to the MT antennas using the different permutations p[1, . . . , P] across the T tones of the OFDM symbol (block 406). In an embodiment, the permutations are applied in a cyclical manner, as described in FIG. 5. For example, if the number of possible permutations (P) for a given rate M is 4, then for tone t=1, M data symbols are mapped to the MT antennas using permutation p(1) and again for tones t=5, t=9, t=13, etc. (block 502). For tone t=2, M data symbols are mapped to the MT antennas using permutation p(2) and again for tones t=6, t=10, t=14, etc. When all tones are coded, the OFDM symbol may be transmitted (block 408) and then decoded at the receiver 102 (block 410).

The following example describes a space-frequency coding operation for a 4×4 MIMO OFDM system, for spatial multiplexing rates M=4, 3, 2, 1.
As shown in FIGS. 6A-6D, the “X”'s represent symbols 602 (for example S1(1) and so on). The x-axis indicates tone number, and the y-axis indicates the antenna number. The vertical line 604 indicates the period of repetition pattern or mapping of symbols across tones.
In the 4×4 MIMO system, the spatial frequency multiplexing rate of M=4 indicates pure multiplexing. The space frequency code at tone “t” is given as:




  
    
      
        
          C
          ⁡
          
            (
            t
            )
          
        
        =
        
          [
          
            
              
                
                  
                    s
                    1
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
            
              
                
                  
                    s
                    2
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
            
              
                
                  
                    s
                    3
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
            
              
                
                  
                    s
                    4
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        1
        )
      
    
  




In other words, at each tone, one independent symbol is sent on each antenna as shown in FIG. 6A for M=4. Here, there is only one permutation




  
    (
    
      
        (
        
          
            
              4
            
          
          
            
              4
            
          
        
        )
      
      =
      
        
          
            4
            !
          
          
            
              4
              !
            
            ×
            
              
                (
                0
                )
              
              !
            
          
        
        =
        1
      
    
    )
  
  .




The transmitted symbol is received at the receiver 102 and decoded by the decoding module 304. The received vector at OFDM tone t for decoding at the receiver may be represented by the following equation:

y(t)=H(t)c(t)+n(t)  (2)

where y(t) is an MR×1 receive vector, H(t)=[h1(t) . . . hMT(t)] is the MR×MT channel matrix at tone “t” and hj(t) is the MR×1 channel vector, c(t) is the MT×1 space-frequency code vector at tone t, and n(t) is the MR×1 noise vector.
The channel matrix inverse at each tone, t, is given as:




  
    
      
        
          G
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            pinv
            ⁡
            
              [
              
                H
                ⁡
                
                  (
                  t
                  )
                
              
              ]
            
          
          =
          
            [
            
              
                
                  
                    
                      g
                      1
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              
                
                  
                    
                      g
                      2
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              
                
                  ...
                
              
              
                
                  
                    
                      g
                      
                        M
                        R
                      
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
            
            ]
          
        
      
    
    
      
        (
        3
        )
      
    
  




This space-frequency code for M=4 may be decoded using either a linear processing scheme or a non-linear processing scheme.
For example, for a ZF (linear) receiver, the transmit symbol vector is given as:




  
    
      
        
          
            C
            ^
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            [
            
              
                
                  
                    
                      
                        s
                        ^
                      
                      1
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              
                
                  
                    
                      
                        s
                        ^
                      
                      2
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              
                
                  
                    
                      
                        s
                        ^
                      
                      3
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              
                
                  
                    
                      
                        s
                        ^
                      
                      4
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
            
            ]
          
          =
          
            
              G
              ⁡
              
                (
                t
                )
              
            
            ·
            
              y
              ⁡
              
                (
                t
                )
              
            
          
        
      
    
    
      
        (
        4
        )
      
    
  




The transmit symbols are obtained by slicing the symbols ŝ1(t), . . . , ŝ4(t) to the nearest constellation point, i.e., sj(t)=Q(ŝj(t)), where Q denotes the slicing operation. The symbol streams benefit from a diversity order D=(MR−MT+1).
Other linear receivers include the MMSE receiver, which also incorporates the noise variance in the formulation.
For a BLAST (non-linear) receiver, the receiver first decodes the symbol sk(t)=Q(ŝk(t)), where ŝk(t) is obtained from equation (4) and k=argmax(∥gi(t)∥2), iε[1, 2, 3, 4]. The contribution from the decoded symbol ŝk(t) is then removed from the received vector y(t) to get a new system equation: y′(t)=H′(t)+n′(t), where H′(t)←H(t)k and y′(t)←Y(t)−hk(t)sk(t). The decoding process is repeated until all symbols are decoded. The symbol decoded at the nth stage benefits from a diversity order of D=(MR−MT+n).
Other non-linear receivers include the ML receiver. However, the implementation complexity may be high compared to the linear and BLAST receivers described above.
For a spatial multiplexing rate M=3, 3 symbols are mapped onto MT=4 antennas at each OFDM tone, t. There are a total of




  
    (
    
      
        
          4
        
      
      
        
          3
        
      
    
    )
  
  =
  
    
      
        4
        !
      
      
        
          3
          !
        
        ×
        
          
            (
            1
            )
          
          !
        
      
    
    =
    4
  




permutations possible. The mappings may be chosen in an cyclical fashion as follows, as shown in FIG. 6B for M=3:





  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    1
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        1
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        1
        )
      
    
  
  =
  
    (
    
      
        
          
            
              s
              1
            
            ⁡
            
              (
              1
              )
            
          
        
      
      
        
          
            
              s
              2
            
            ⁡
            
              (
              1
              )
            
          
        
      
      
        
          
            
              s
              3
            
            ⁡
            
              (
              1
              )
            
          
        
      
      
        
          0
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    2
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        2
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        2
        )
      
    
  
  =
  
    (
    
      
        
          0
        
      
      
        
          
            
              s
              2
            
            ⁡
            
              (
              2
              )
            
          
        
      
      
        
          
            
              s
              3
            
            ⁡
            
              (
              2
              )
            
          
        
      
      
        
          
            
              s
              4
            
            ⁡
            
              (
              2
              )
            
          
        
      
    
    )
  








  
    
  
  ⁢
  
    
      For
      ⁢
      
        
      
      ⁢
      tone
      ⁢
      
        
      
      ⁢
      3
      ⁢
      
        
      
      ⁢
      or
      ⁢
      
        
      
      ⁢
      t
    
    =
    
      
        3
        ⁢
        
          :
        
        ⁢
        
          
        
        ⁢
        
          C
          ⁡
          
            (
            3
            )
          
        
      
      =
      
        (
        
          
            
              
                
                  s
                  1
                
                ⁡
                
                  (
                  3
                  )
                
              
            
          
          
            
              0
            
          
          
            
              
                
                  s
                  3
                
                ⁡
                
                  (
                  3
                  )
                
              
            
          
          
            
              
                
                  s
                  4
                
                ⁡
                
                  (
                  3
                  )
                
              
            
          
        
        )
      
    
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    4
    ⁢
    
      
    
    ⁢
    or
    ⁢
    
      
    
    ⁢
    t
  
  =
  
    
      4
      ⁢
      
        :
      
      ⁢
      
        
      
      ⁢
      
        C
        ⁡
        
          (
          4
          )
        
      
    
    =
    
      (
      
        
          
            
              
                s
                1
              
              ⁡
              
                (
                4
                )
              
            
          
        
        
          
            
              
                s
                2
              
              ⁡
              
                (
                4
                )
              
            
          
        
        
          
            0
          
        
        
          
            
              
                s
                4
              
              ⁡
              
                (
                4
                )
              
            
          
        
      
      )
    
  




and so on for higher tone numbers, in a cyclical fashion.
The receiver implementations are similar to that given above for the M=4 case. The only difference is that the MR×1 column vector, hj(t), is set to zero. The column “j” corresponds to the antenna on which no symbol is transmitted (for the given tone).
For a spatial multiplexing rate M=2, 2 symbols are mapped onto MT=4 antennas at each OFDM tone, t. There are a total of




  
    (
    
      
        
          4
        
      
      
        
          2
        
      
    
    )
  
  =
  
    
      
        4
        !
      
      
        
          2
          !
        
        ⨯
        
          
            (
            2
            )
          
          !
        
      
    
    =
    6
  




permutations possible. The mappings may be chosen in an cyclical fashion as follows, as shown in FIG. 6C for M=2:





  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    1
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        1
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        1
        )
      
    
  
  =
  
    (
    
      
        
          
            
              s
              1
            
            ⁡
            
              (
              1
              )
            
          
        
      
      
        
          
            
              s
              2
            
            ⁡
            
              (
              1
              )
            
          
        
      
      
        
          0
        
      
      
        
          0
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    2
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        2
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        2
        )
      
    
  
  =
  
    (
    
      
        
          0
        
      
      
        
          0
        
      
      
        
          
            
              s
              3
            
            ⁡
            
              (
              2
              )
            
          
        
      
      
        
          
            
              s
              4
            
            ⁡
            
              (
              2
              )
            
          
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    3
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        3
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        3
        )
      
    
  
  =
  
    (
    
      
        
          
            
              s
              1
            
            ⁡
            
              (
              3
              )
            
          
        
      
      
        
          0
        
      
      
        
          
            
              s
              3
            
            ⁡
            
              (
              3
              )
            
          
        
      
      
        
          0
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    4
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        4
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        4
        )
      
    
  
  =
  
    (
    
      
        
          0
        
      
      
        
          
            
              s
              2
            
            ⁡
            
              (
              4
              )
            
          
        
      
      
        
          0
        
      
      
        
          
            
              s
              4
            
            ⁡
            
              (
              4
              )
            
          
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    5
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        5
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        5
        )
      
    
  
  =
  
    (
    
      
        
          
            
              s
              1
            
            ⁡
            
              (
              5
              )
            
          
        
      
      
        
          0
        
      
      
        
          0
        
      
      
        
          
            
              s
              4
            
            ⁡
            
              (
              5
              )
            
          
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    6
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        6
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        6
        )
      
    
  
  =
  
    (
    
      
        
          0
        
      
      
        
          
            
              s
              2
            
            ⁡
            
              (
              6
              )
            
          
        
      
      
        
          
            
              s
              3
            
            ⁡
            
              (
              6
              )
            
          
        
      
      
        
          0
        
      
    
    )
  




and so on for higher tone numbers, in a cyclical fashion.
The receiver implementations are similar to that given above for the M=4 case. The only difference is that the 2 MR×1 column vectors, hj(t) and hk≠k(t), are set to zero. The columns “j” and “k” correspond to the antennas on which no symbol is transmitted (for the given tone).
For a spatial multiplexing rate M=1, 1 symbol is mapped onto MT=4 antennas at each OFDM tone, t, as shown in FIG. 6D for M=1. In the 4×4 MIMO system, a spatial multiplexing rate M=1 indicates pure diversity. There are a total of




  
    (
    
      
        
          4
        
      
      
        
          1
        
      
    
    )
  
  =
  
    
      
        4
        !
      
      
        
          1
          !
        
        ⨯
        
          
            (
            3
            )
          
          !
        
      
    
    =
    4
  




permutations possible. The mappings may be chosen in an cyclical fashion as follows:





  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    1
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        1
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        1
        )
      
    
  
  =
  
    (
    
      
        
          
            
              s
              1
            
            ⁡
            
              (
              1
              )
            
          
        
      
      
        
          0
        
      
      
        
          0
        
      
      
        
          0
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    2
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        2
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        2
        )
      
    
  
  =
  
    (
    
      
        
          0
        
      
      
        
          
            
              s
              2
            
            ⁡
            
              (
              2
              )
            
          
        
      
      
        
          0
        
      
      
        
          0
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    3
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        3
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        3
        )
      
    
  
  =
  
    (
    
      
        
          0
        
      
      
        
          0
        
      
      
        
          
            
              s
              3
            
            ⁡
            
              (
              3
              )
            
          
        
      
      
        
          0
        
      
    
    )
  








  
    For
    ⁢
    
      
    
    ⁢
    tone
    ⁢
    
      
    
    ⁢
    4
    ⁢
    
      
    
    ⁢
    
      (
      
        t
        =
        4
      
      )
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      C
      ⁡
      
        (
        4
        )
      
    
  
  =
  
    (
    
      
        
          0
        
      
      
        
          0
        
      
      
        
          0
        
      
      
        
          
            
              s
              4
            
            ⁡
            
              (
              4
              )
            
          
        
      
    
    )
  




and so on for higher tone numbers, in a cyclical fashion.
One receiver implementation is the well-known linear-MRC receiver, which is also the ML receiver. This is given as:




  
    
      
        s
        ^
      
      k
    
    ⁢
    
      (
      t
      )
    
  
  =
  
    
      
        
          h
          k
          *
        
        ⁡
        
          (
          t
          )
        
      
      
        
          
          
            
              h
              k
              *
            
            ⁡
            
              (
              t
              )
            
          
          
        
        2
      
    
    ⁢
    
      y
      ⁡
      
        (
        t
        )
      
    
  




where the column “k” corresponds to the antenna on which the symbol is transmitted on a given tone.
An advantage of the space-frequency coding (or mapping) scheme described above is that it converts the available spatially selective channel to a frequency selective channel. The outer-convolutional code (and interleaving) can hence achieve superior performance due to increased frequency selectivity. Also, not all tones are used for each transmit antenna.
Another possible advantage of the space-frequency coding technique is that the permutations ensure that equal or similar power is transmitted on all antennas regardless of the spatial multiplexing rate (M). This may make the power amplifier design requirement less stringent compared to coding techniques that transmit different power on different antennas. In other words, this scheme requires a power amplifier with lower peak power, which may provide cost savings. The space frequency coding technique also ensures that all transmit antennas are used regardless of the spatial multiplexing rate. Consequently, maximum spatial diversity is captured at all times. This condition also facilitates the receiver automatic gain control (AGC) implementation, since the power is held constant across the whole length of the packet. This is in contrast to systems with antenna selection, in which case some antennas may not be selected as a result of which the receiver power can fluctuate from symbol to symbol, complicating AGC design.
Another advantage of the space-frequency coding technique is that such a system can incorporate MIMO technology into legacy systems (e.g., IEEE 802.11a/g systems), while maintaining full-backward compatibility with legacy receivers in the rate 1 mode (M=1, or pure diversity). In this mode, with each transmitter transmitting 1/M of the total power, the legacy receivers cannot tell that the data is indeed being transmitted from multiple transmit antennas. Hence, no additional overhead is required to support legacy systems. The rate M=1 can be used in legacy (11a, 11g) systems.
Another advantage is that the above space-frequency coding scheme does not use all tone-antenna combinations. This lowers the amount of training required since channels corresponding to only a subset of tone-antenna combinations need to be trained. This may improve throughput by simplifying preamble design.
One of the main problems in OFDM systems is Inter-carrier interference (ICI) due to phase noise, and frequency offset It is well known that the ICI effects are more severe in frequency selective channels. In an embodiment, a new permutation is chosen after several tones instead of after each tone, as shown in FIGS. 7A-7D. This reduces the number of “hops” across the tones, which in turn reduces frequency selectivity and hence ICI, leading to improved performance.
In the embodiments described above, the permutations can be viewed as multiplying the symbols transmitted on each antenna for a given tone by unity or zero. For the M=2 case given above, the permutation for tone 1 is given by:




  
    C
    ⁡
    
      (
      1
      )
    
  
  =
  
    
      
        (
        
          
            
              
                
                  s
                  1
                
                ⁡
                
                  (
                  1
                  )
                
              
            
          
          
            
              
                
                  s
                  2
                
                ⁡
                
                  (
                  1
                  )
                
              
            
          
          
            
              
                
                  s
                  3
                
                ⁡
                
                  (
                  1
                  )
                
              
            
          
          
            
              
                
                  s
                  4
                
                ⁡
                
                  (
                  1
                  )
                
              
            
          
        
        )
      
      ⨯
      
        (
        
          
            
              1
            
          
          
            
              1
            
          
          
            
              0
            
          
          
            
              0
            
          
        
        )
      
    
    =
    
      
        (
        
          
            
              
                
                  s
                  1
                
                ⁡
                
                  (
                  1
                  )
                
              
            
          
          
            
              
                
                  s
                  2
                
                ⁡
                
                  (
                  1
                  )
                
              
            
          
          
            
              0
            
          
          
            
              0
            
          
        
        )
      
      .
    
  




However, in alternative embodiments, the symbols may be multiplied by other (possibly complex) scalars to produce the permutations.
The space-frequency coding techniques described may be implemented in many different wireless systems, e.g., systems compliant with IEEE standards 802.11a, 802.11g, 802.16, and 802.20.
A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, blocks in the flowcharts may be skipped or performed out of order and still produce desirable results. Accordingly, other embodiments are within the scope of the following claims.

## Claims

1. A method comprising:
selecting a spatial multiplexing rate M for a transmission of data via two or more antennas, the data comprising N data streams, wherein N equals M;
for a first data tone, applying a first mapping to map the N data streams to a first portion of the antennas; and
for a second data tone, applying a different second mapping to map the N data streams to a different second portion of the antennas.

2. The method of claim 1, further comprising:
generating one or more data symbols based on the N data streams, respectively,
wherein applying the first mapping comprises mapping a portion of the one or more data symbols associated with the first data tone to the first portion of the antennas, and
wherein applying the second mapping comprises mapping a portion of the one or more data symbols associated with the second data tone to the second portion of the antennas.

3. The method of claim 1, wherein MT indicates a quantity of the antennas, and wherein the first mapping and the second mapping are selected from a plurality of mappings that include up to a number of mappings equal to




  
    (
    
      
        
          
            M
            T
          
        
      
      
        
          M
        
      
    
    )
  
  =
  
    
      
        
          M
          T
        
        !
      
      
        
          M
          !
        
        ×
        
           
          
             
            
               
              
                
                  (
                  
                    
                      M
                      T
                    
                    -
                    M
                  
                  )
                
                !
              
            
          
        
      
    
    .

4. The method of claim 1, wherein selecting the spatial multiplexing rate M comprises selecting the spatial multiplexing rate M from a plurality of available spatial multiplexing rates corresponding to a quantity of the antennas, and the plurality of available spatial multiplexing rates comprise a pure diversity spatial multiplexing rate, a pure multiplexing spatial multiplexing rate, and one or more intermediate spatial multiplexing rates.

5. The method of claim 1, wherein the data tones are Orthogonal Frequency Division Multiplexing (OFDM) tones.

6. The method of claim 1, wherein the first portion of the antennas and the second portion of the antennas have at least one of the antennas in common, and wherein the antennas comprise at least four antennas.

7. The method of claim 1, further comprising:
for a third data tone, applying a different third mapping to map the N data streams to a different third portion of the antennas, wherein the antennas comprise at least four antennas.

8. The method of claim 1, further comprising:
for a third data tone, applying the first mapping to map the N data streams to the first portion of the antennas; and
for a fourth data tone, applying the second mapping to map the N data streams to the second portion of the antennas.

9. The method of claim 1, further comprising:
mapping the N data streams to the tones and the antennas using less than a plurality of available tone-antenna combinations.

10. An apparatus comprising:
a mode selector configured to select a spatial multiplexing rate M for a transmission of data via two or more antennas, the data comprising N data streams, wherein N equals M; and
a coding module configured to apply a first mapping to map the N data streams to a first portion of the antennas for a first data tone, and apply a different second mapping to map the N data streams to a different second portion of the antennas for a second data tone.

11. The apparatus of claim 10, wherein the coding module is configured to generate one or more data symbols based on the N data streams, respectively, and wherein the coding module is configured to map a portion of the one or more data symbols associated with the first data tone to the first portion of the antennas, and map a portion of the one or more data symbols associated with the second data tone to the second portion of the antennas.

12. The apparatus of claim 10, wherein MT indicates a quantity of the antennas, and wherein the first mapping and the second mapping are selected from a plurality of mappings that include up to a number of mappings equal to




  
    (
    
      
        
          
            M
            T
          
        
      
      
        
          M
        
      
    
    )
  
  =
  
    
      
        
          M
          T
        
        !
      
      
        
          M
          !
        
        ×
        
          
            (
            
              
                M
                T
              
              -
              M
            
            )
          
          !
        
      
    
    .

13. The apparatus of claim 10, wherein the spatial multiplexing rate is selected from a plurality of available spatial multiplexing rates corresponding to a quantity of the antennas, and the plurality of available spatial multiplexing rates comprise a pure diversity spatial multiplexing rate, a pure multiplexing spatial multiplexing rate, and one or more intermediate spatial multiplexing rates.

14. The apparatus of claim 10, wherein the data tones are Orthogonal Frequency Division Multiplexing (OFDM) tones.

15. The apparatus of claim 10, wherein the first portion of the antennas and the second portion of the antennas have at least one of the antennas in common, and wherein the antennas comprise at least four antennas.

16. A system comprising:
a mode selector configured to select a spatial multiplexing rate M for a transmission of data via two or more antennas using Orthogonal Frequency Division Multiplexing (OFDM), the data comprising N data streams, wherein N equals M; and
a transceiver configured to apply a first mapping to map the N data streams to a first portion of the antennas for a first OFDM tone, and apply a different second mapping to map the N data streams to a different second portion of the antennas for a second OFDM tone.

17. The system of claim 16, wherein the transceiver is configured to generate one or more data symbols based on the N data streams, and wherein the transceiver is configured to map a portion of the one or more data symbols associated with the first OFDM tone to the first portion of the antennas, and map a portion of the one or more data symbols associated with the second OFDM tone to the second portion of the antennas.

18. The system of claim 16, wherein MT indicates a quantity of the antennas, and wherein the first mapping and the second mapping are selected from a plurality of mappings that include up to a number of mappings equal to




  
    (
    
      
        
          
            M
            T
          
        
      
      
        
          M
        
      
    
    )
  
  =
  
    
      
        
          M
          T
        
        !
      
      
        
          M
          !
        
        ×
        
          
            (
            
              
                M
                T
              
              -
              M
            
            )
          
          !
        
      
    
    .

19. The system of claim 16, wherein the spatial multiplexing rate is selected from a plurality of available spatial multiplexing rates corresponding to a quantity of the antennas, and the plurality of available spatial multiplexing rates comprise a pure diversity spatial multiplexing rate, a pure multiplexing spatial multiplexing rate, and one or more intermediate spatial multiplexing rates.

20. The system of claim 16, wherein the first portion of the antennas and the second portion of the antennas have at least one of the antennas in common, and wherein the antennas comprise at least four antennas.