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 receiving a selected spatial multiplexing rate M, the spatial multiplexing rate corresponding to a number of data streams for transmission on two or more antennas; for a first data tone, applying a first mapping to map a first number of data streams to a first portion of the antennas; and for a second data tone, applying a different second mapping to map a second number of data streams to a different second portion of the antennas. The first number and second number correspond to the spatial multiplexing rate.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation application of U.S. patent application Ser. No. 10/767,067, filed Jan. 28, 2004, 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 M R ×M T  multiple-in-multiple-out (MIMO) wireless system uses multiple transmit antennas (M T ) and multiple receive antennas (M R ) 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(M R , M T ) (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 M T  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 (M T )  104  and a second transceiver  102  with multiple receive antennas (M R )  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  101 A,  101 B and receive sections  103 A,  103 B 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(M R , M T ) (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×log 2 (d)×M Bps/Hz. A transmitter&#39;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(M R , M T ). 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 M T , 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 s 1 (t), s 2 (t), . . . , s M (t) onto M T  transmit antennas. 
       FIG. 3  shows one embodiment of a transceiver receive section for decoding space-frequency coded signals. The received signals  302  on the M R  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 y 1 (t), y 2 (t), . . . , y M (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 M T  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 M T  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 M T  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”&#39;s represent symbols  602  (for example s 1 ( 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 M R ×1 receive vector, H(t)=[h 1 (t) . . . h M     T   (t)] is the M R ×M T  channel matrix at tone “t” and h j (t) is the M R ×1 channel vector, c(t) is the M T ×1 space-frequency code vector at tone t, and n(t) is the M R ×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., s j (t)=Q(ŝ j (t)), where Q denotes the slicing operation. The symbol streams benefit from a diversity order D=(M R −M T +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 s k (t)=Q(ŝ k (t)), where ŝ k (t) is obtained from equation (4) and k=arg max(∥g i (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)−h k (t)s k (t). The decoding process is repeated until all symbols are decoded. The symbol decoded at the n th  stage benefits from a diversity order of D=(M R −M T +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 M T =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 M R ×1 column vector, h j (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 M T =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 M R ×1 column vectors, h j (t) and h k≠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 M T =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.