# Patent

## Title
Transmit diversity and spatial spreading for an OFDM-based multi-antenna communication system

## Abstract

A multi-antenna transmitting entity transmits data to a single- or multi-antenna receiving entity using (1) a steered mode to direct the data transmission toward the receiving entity or (2) a pseudo-random transmit steering (PRTS) mode to randomize the effective channels observed by the data transmission across the subbands. For transmit diversity, the transmitting entity uses different pseudo-random steering vectors across the subbands but the same steering vector across a packet for each subband. The receiving entity does not need to have knowledge of the pseudo-random steering vectors or perform any special processing. For spatial spreading, the transmitting entity uses different pseudo-random steering vectors across the subbands and different steering vectors across the packet for each subband. Only the transmitting and receiving entities know the steering vectors used for data transmission. Other aspects, embodiments, and features are also claimed and disclosed.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS & PRIORITY CLAIMS
This patent application is a continuation of U.S. patent application Ser. No. 10/794,918, filed 5 Mar. 2004, which is a continuation-in-part of U.S. patent application Ser. No. 10/781,951, filed 18 Feb. 2004.


TECHNICAL FIELD
Embodiments of the present invention relates generally to communication, and more specifically to techniques for transmitting data in a multi-antenna communication system that utilizes orthogonal frequency division multiplexing (OFDM).
BACKGROUND
OFDM is a multi-carrier modulation technique that effectively partitions the overall system bandwidth into multiple (NF) orthogonal subbands, which are also referred to as tones, subcarriers, bins, and frequency channels. With OFDM, each subband is associated with a respective subcarrier that may be modulated with data. OFDM is widely used in various wireless communication systems, such as those that implement the well-known IEEE 802.11a and 802.11g standards. IEEE 802.11a and 802.11g generally cover single-input single-output (SISO) operation whereby a transmitting device employs a single antenna for data transmission and a receiving device normally employs a single antenna for data reception.
A multi-antenna communication system includes single-antenna devices and multi-antenna devices. In this system, a multi-antenna device may utilize its multiple antennas for data transmission to a single-antenna device. The multi-antenna device and single-antenna device may implement any one of a number of conventional transmit diversity schemes in order to obtain transmit diversity and improve performance for the data transmission. One such transmit diversity scheme is described by S. M. Alamouti in a paper entitled “A Simple Transmit Diversity Technique for Wireless Communications,” IEEE Journal on Selected Areas in Communications, Vol. 16, No. 8, October 1998, pp. 1451-1458. For the Alamouti scheme, the transmitting device transmits each pair of data symbols from two antennas in two symbol periods, and the receiving device combines two received symbols obtained for the two symbol periods to recover the pair of data symbols. The Alamouti scheme as well as most other conventional transmit diversity schemes require the receiving device to perform special processing, which may be different from scheme to scheme, in order to recover the transmitted data and obtain the benefits of transmit diversity.
However, a single-antenna device may be designed for SISO operation only, as described below. This is normally the case if the wireless device is designed for the IEEE 802.11a or 802.11g standard. Such a “legacy” single-antenna device would not be able to perform the special processing required by most conventional transmit diversity schemes. Nevertheless, it is still highly desirable for a multi-antenna device to transmit data to the legacy single-antenna device in a manner such that improved reliability and/or performance can be achieved.
BRIEF SUMMARY
Techniques for transmitting data from a multi-antenna transmitting entity to a single-antenna receiving entity using a steered mode and/or a pseudo-random transmit steering (PRTS) mode are described herein. In the steered mode, the transmitting entity performs spatial processing to direct the data transmission toward the receiving entity. In the PRTS mode, the transmitting entity performs spatial processing such that the data transmission observes random effective SISO channels across the subbands, and performance is not dictated by a bad channel realization. The transmitting entity may use (1) the steered mode if it knows the response of the multiple-input single-output (MISO) channel for the receiving entity and (2) the PRTS mode even if it does not know the MISO channel response.
The transmitting entity performs spatial processing with (1) steering vectors derived from the MISO channel response estimates for the steered mode and (2) pseudo-random steering vectors for the PRTS mode. Each steering vector is a vector with NT elements, which can be multiplied with a data symbol to generate NT transmit symbols for transmission from NT transmit antennas, where NT>1.
The PRTS mode may be used to achieve transmit diversity without requiring the receiving entity to perform any special processing. For transmit diversity, the transmitting entity uses (1) different pseudo-random steering vectors across the subbands used for data transmission and (2) the same steering vector across the pseudo-random steered portion of a protocol data unit (PDU) for each subband. A PDU is a unit of transmission. The receiving entity does not need to have knowledge of the pseudo-random steering vectors used by the transmitting entity. The PRTS mode may also be used to achieve spatial spreading, e.g., for secure data transmission. For spatial spreading, the transmitting entity uses (1) different pseudo-random steering vectors across the subbands and (2) different steering vectors across the pseudo-random steered portion of the PDU for each subband. For secure data transmission, only the transmitting and receiving entities know the steering vectors used for data transmission.
The steered and PRTS modes may also be used for data transmission from a multi-antenna transmitting entity to a multi-antenna receiving entity, as described below. Various aspects and embodiments of the invention are also described in further detail below.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a multi-antenna communication system;
FIG. 2 shows a generic PDU format;
FIG. 3 shows pilot transmission from a dual-antenna transmitting entity to a single-antenna receiving entity;
FIG. 4 shows a process for transmitting data using the steered or PRTS mode;
FIG. 5 shows a process for transmitting data using both modes;
FIGS. 6A and 6B show two specific PDU formats;
FIG. 7 shows a transmitting entity and two receiving entities;
FIG. 8 shows a block diagram of a multi-antenna transmitting entity;
FIG. 9A shows a block diagram of a single-antenna receiving entity; and
FIG. 9B shows a block diagram of a multi-antenna receiving entity.



DETAILED DESCRIPTION
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
FIG. 1 shows a multi-antenna system 100 with an access point (AP) 110 and user terminals (UTs) 120. An access point is generally a fixed station that communicates with the user terminals and may also be referred to as a base station or some other terminology. A user terminal may be fixed or mobile and may also be referred to as a mobile station, a wireless device, a user equipment (UE), or some other terminology. A system controller 130 couples to the access points and provides coordination and control for these access points.
Access point 110 is equipped with multiple antennas for data transmission. Each user terminal 120 may be equipped with a single antenna or multiple antennas for data transmission. A user terminal may communicate with the access point, in which case the roles of access point and user terminal are established. A user terminal may also communicate peer-to-peer with another user terminal. In the following description, a transmitting entity may be an access point or a user terminal, and a receiving entity may also be an access point or a user terminal. The transmitting entity is equipped with multiple (NT) transmit antennas, and the receiving entity may be equipped with a single antenna or multiple (NR) antennas. A MISO transmission exists when the receiving entity is equipped with a single antenna, and a multiple-input multiple-output (MIMO) transmission exists when the receiving entity is equipped with multiple antennas.
System 100 may utilize a time division duplex (TDD) or a frequency division duplex (FDD) channel structure. For the TDD structure, the downlink and uplink share the same frequency band, with the downlink being allocated a portion of the time and the uplink being allocated the remaining portion of the time. For the FDD structure, the downlink and uplink are allocated separate frequency bands. For clarity, the following description assumes that system 100 utilizes the TDD structure.
System 100 also utilizes OFDM for data transmission. OFDM provides NF total subbands, of which ND subbands are used for data transmission and are referred to as data subbands, NP subbands are used for a carrier pilot and are referred to as pilot subbands, and the remaining NG subbands are not used and serve as guard subbands, where NF=ND+NP+NG. In each OFDM symbol period, up to ND data symbols may be sent on the ND data subbands, and up to NP pilot symbols may be sent on the NP pilot subbands. As used herein, a “data symbol” is a modulation symbol for data, and a “pilot symbol” is a modulation symbol for pilot. The pilot symbols are known a priori by both the transmitting and receiving entities.
For OFDM modulation, NF frequency-domain values (for ND data symbols, NP pilot symbols, and NG zeros) are transformed to the time domain with an NF-point inverse fast Fourier transform (IFFT) to obtain a “transformed” symbol that contains NF time-domain chips. To combat intersymbol interference (ISI), which is caused by frequency selective fading, a portion of each transformed symbol is repeated to form a corresponding OFDM symbol. The repeated portion is often referred to as a cyclic prefix or guard interval. An OFDM symbol period (which is also referred to herein as simply a “symbol period”) is the duration of one OFDM symbol.
FIG. 2 shows an exemplary protocol data unit (PDU) format 200 that may be used for system 100. Data is processed at a higher layer as data units. Each data unit 210 is coded and modulated (or symbol mapped) separately based on a coding and modulation scheme selected for that data unit. Each data unit 210 is associated with a signaling portion 220 that carries various parameters (e.g., the rate and length) for that data unit, which are used by the receiving entity to process and recover the data unit. The signaling portion may be processed with the same or different coding and modulation scheme than that used for the data unit. Each data unit and its signaling portion are OFDM modulated to form a signaling/data portion 240 of a PDU 230. The data unit is transmitted across both subbands and symbol periods in the data portion of the PDU. PDU 230 further includes a preamble 240 that carries one or more types of pilot used for various purposes by the receiving entity. In general, preamble 240 and signaling/data portion 250 may each be fixed or variable length and may contain any number of OFDM symbols. PDU 230 may also be referred to as a packet or some other terminology.
The receiving entity typically processes each PDU separately. The receiving entity uses the preamble of the PDU for automatic gain control (AGC), diversity selection (to select one of several input ports to process), timing synchronization, coarse and fine frequency acquisition, channel estimation, and so on. The receiving entity uses the information obtained from the preamble to process the signaling/data portion of the PDU.
In general, pseudo-random transmit steering may be applied to an entire PDU or a portion of the PDU, depending on various factors. The pseudo-random steered portion of a PDU may thus be all or a portion of the PDU.
1. MISO Transmission
In system 100, a MISO channel exists between a multi-antenna transmitting entity and a single-antenna receiving entity. For an OFDM-based system, the MISO channel formed by the NT antennas at the transmitting entity and the single antenna at the receiving entity may be characterized by a set of NF channel response row vectors, each of dimension 1×NT, which may be expressed as:

h(k)=[h1(k)h2(k) . . . hNT(k)], for kεK,  Eq (1)

where entry hj(k), for j=1 . . . NT, denotes the coupling or complex gain between transmit antenna j and the single receive antenna for subband k, and K denotes the set of NF subbands. For simplicity, the MISO channel response h(k) is assumed to be constant across each PDU and is thus a function of only subband k.

The transmitting entity may transmit data from its multiple antennas to the single-antenna receiving entity in a manner such that improved reliability and/or performance can be achieved. Moreover, the data transmission may be such that the single-antenna receiving entity can perform the normal processing for SISO operation (and does not need to do any other special processing for transmit diversity) to recover the data transmission.
The transmitting entity may transmit data to the single-antenna receiving entity using the steered mode or the PRTS mode. In the steered mode, the transmitting entity performs spatial processing to direct the data transmission toward the receiving entity. In the PRTS mode, the transmitting entity performs spatial processing such that the data transmission observes random effective SISO channels across the subbands. The PRTS mode may be used to achieve transmit diversity without requiring the receiving entity to perform any special processing. The PRTS mode may also be used to achieve spatial spreading, e.g., for secure data transmission. Both of these modes and both of these applications for the PRTS mode are described below.
A. Steered Mode for MISO
The transmitting entity performs spatial processing for each subband for the steered mode, as follows:

xmiso,sm(n,k)=vsm(k)·s(n,k),  Eq (2)

where

    
    
        s(n,k) is a data symbol to be sent on subband k in symbol period n;
        vsm(k) is an NT×1 steering vector for subband k in symbol period n; and
        xmiso,sm(n,k) is an NT×1 vector with NT transmit symbols to be sent from the NT transmit antennas on subband k in symbol period n.

In the following description, the subscript “sm” denotes the steered mode, “pm” denotes the PRTS mode, “miso” denotes MISO transmission, and “mimo” denotes MIMO transmission. With OFDM, one substream of data symbols may be sent on each data subband. The transmitting entity performs spatial processing for each data subband separately.

    
    


For the steered mode, steering vectors vsm(k) are derived based on the channel response row vector h(k), as follows:

vsm(k)=hH(k) or vsm(k)=arg{hH(k)},  Eq (3)

where arg{hH(k)} denotes the argument of hH(k) and “H” denotes the complex conjugate transpose. The argument provides elements having unit magnitude and different phases determined by the elements of h(k), so that the full power of each transmit antenna may be used for data transmission. Since the channel response h(k) is assumed to be constant across each PDU, the steering vector vsm(k) is also constant across the PDU and is a function of only subband k.

The received symbols at the receiving entity may be expressed as:




  
    
      
        
          
            
              
                
                  r
                  sm
                
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    
                      h
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        x
                        _
                      
                      
                        miso
                        ,
                        sm
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  z
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      h
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        v
                        _
                      
                      sm
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    s
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  z
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              
                =
                
                ⁢
                
                  
                    
                      
                        h
                        
                          eff
                          ,
                          sm
                        
                      
                      ⁡
                      
                        (
                        k
                        )
                      
                    
                    ·
                    
                      s
                      ⁡
                      
                        (
                        
                          n
                          ,
                          k
                        
                        )
                      
                    
                  
                  +
                  
                    z
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
              
              ,
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          4
          )
        
      
    
  




where

    
    
        rsm(n,k) is a received symbol for subband k in symbol period n;
        heff,sm(k) is an effective SISO channel response for subband k, which is heff,sm(k)=h(k)·vsm(k); and
        z(n,k) is the noise for subband k in symbol period n.
    
    


As shown in equation (4), the spatial processing by the transmitting entity results in the data symbol substream for each subband k observing the effective SISO channel response heff,sm(k), which includes the actual MISO channel response h(k) and the steering vector vsm(k). The receiving entity can estimate the effective SISO channel response heff,sm(k), for example, based on pilot symbols received from the transmitting entity. The receiving entity can then perform detection (e.g., matched filtering) on the received symbols rsm(n,k) with the effective SISO channel response estimate, ĥeff,sm(k), to obtain detected symbols ŝ(n,k), which are estimates of the transmitted data symbols s(n,k).
The receiving entity may perform matched filtering as follows:




  
    
      
        
          
            
              s
              ^
            
            ⁡
            
              (
              
                n
                ,
                k
              
              )
            
          
          =
          
            
              
                
                  
                    
                      h
                      ^
                    
                    
                      eff
                      ,
                      sm
                    
                    *
                  
                  ⁡
                  
                    (
                    k
                    )
                  
                
                ·
                
                  r
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
              
                
                  
                  
                    
                      
                        h
                        ^
                      
                      
                        eff
                        ,
                        sm
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  
                
                2
              
            
            =
            
              
                s
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
              +
              
                
                  z
                  ′
                
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          5
          )
        
      
    
  




where “*” denotes a conjugate. The detection operation in equation (5) is the same as would be performed by the receiving entity for a SISO transmission. However, the effective SISO channel response estimate, ĥeff,sm(k), is used for detection instead of a SISO channel response estimate.

B. PRTS Mode for Transmit Diversity
For the PRTS mode, the transmitting entity uses pseudo-random steering vectors for spatial processing. These steering vectors are derived to have certain desirable properties, as described below.
To achieve transmit diversity with the PRTS mode, the transmitting entity uses the same steering vector across the pseudo-random steered portion of a PDU for each subband k. The steering vectors would then be a function of only subband k and not symbol period n, or vpm (k). In general, it is desirable to use as many different steering vectors as possible across the subbands to achieve greater transmit diversity. For example, a different steering vector may be used for each data subband. A set of ND steering vectors, denoted as {vpm(k)}, may be used for spatial processing for the ND data subbands. The same steering vector set {vpm(k)} is used for each PDU (e.g., across the preamble and signal/data portion for the PDU format shown in FIG. 2). The steering vector set may be the same or may change from PDU to PDU.
The transmitting entity performs spatial processing for each subband as follows:

xmiso,pm(n,k)=vpm(k)·s(n,k).  Eq (6)

One set of steering vectors {vpm(k)} is used across all OFDM symbols in the PDU.

The received symbols at the receiving entity may be expressed as:




  
    
      
        
          
            
              
                
                  r
                  td
                
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    
                      h
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        x
                        _
                      
                      
                        miso
                        ,
                        pm
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  z
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      h
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        v
                        _
                      
                      pm
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    s
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  z
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      h
                      
                        eff
                        ,
                        td
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    s
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    z
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  .
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          7
          )
        
      
    
  




The effective SISO channel response heff,td(k) for each subband is determined by the actual MISO channel response h(k) for that subband and the steering vector vpm(k) used for the subband. The effective SISO channel response heff,td(k) for each subband k is constant across the PDU because the actual channel response h(k) is assumed to be constant across the PDU and the same steering vector vpm(k) is used across the PDU.
The receiving entity receives the transmitted PDU and derives an effective SISO channel response estimate, ĥeff,td(k), for each data subband based on the preamble. The receiving entity then uses the effective SISO channel response estimates, ĥeff,td(k), to perform detection on the receive symbols in the signaling/data portion of the PDU, as shown in equation (5), where ĥeff,td(k) substitutes for ĥeff,sm(k).
For transmit diversity, the receiving entity does not need to know whether a single antenna or multiple antennas are used for data transmission, and does not need to know the steering vector used for each subband. The receiving entity can nevertheless enjoy the benefits of transmit diversity since different steering vectors are used across the subbands and different effective SISO channels are formed for these subbands. Each PDU would then observe an ensemble of pseudo-random SISO channels across the subbands used to transmit the PDU.
C. PRTS Mode for Spatial Spreading
Spatial spreading may be used to randomize a data transmission across spatial dimension. Spatial spreading may be used for secure data transmission between a transmitting entity and a recipient receiving entity to prevent unauthorized reception of the data transmission by other receiving entities.
For spatial spreading in the PRTS mode, the transmitting entity uses different steering vectors across the pseudo-random steered portion of a PDU for each subband k. The steering vectors would then be a function of both subband and symbol period, or vpm(n,k). In general, it is desirable to use as many different steering vectors as possible across both subbands and symbol periods to achieve a higher degree of spatial spreading. For example, a different steering vector may be used for each data subband for a given symbol period, and a different steering vector may be used for each symbol period for a given subband. A set of ND steering vectors, denoted as {v(n,k)}, may be used for spatial processing for the ND data subbands for one symbol period, and a different set may be used for each symbol period across the PDU. At a minimum, different sets of steering vectors are used for the preamble and the signaling/data portion of the PDU, where one set may include vectors of all ones. The steering vector sets may be the same or may change from PDU to PDU.
The transmitting entity performs spatial processing for each subband of each symbol period, as follows:

xmiso,ss(n,k)=vpm(n,k)·s(n,k).  Eq (8)

The received symbols at the receiving entity may be expressed as:




  
    
      
        
          
            
              
                
                  r
                  ss
                
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    
                      h
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        x
                        _
                      
                      
                        miso
                        ,
                        ss
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  z
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      h
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        v
                        _
                      
                      pm
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  ·
                  
                    s
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  z
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      h
                      
                        eff
                        ,
                        ss
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  ·
                  
                    s
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    z
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  .
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          9
          )
        
      
    
  




The effective SISO channel response heff,ss(n,k) for each subband of each symbol period is determined by the actual MISO channel response h(k) for that subband and the steering vector v(n,k) used for the subband and symbol period. The effective SISO channel response heff,ss(n,k) for each subband k varies across the PDU if different steering vectors vpm(n,k) are used across the PDU.

The recipient receiving entity has knowledge of the steering vectors used by the transmitting entity and is able to perform the complementary spatial despreading to recover the transmitted PDU. The recipient receiving entity may obtain this information in various manners, as described below. The other receiving entities do not have knowledge of the steering vectors, and the PDU transmission appears spatially random to these entities. The likelihood of correctly recovering the PDU is thus greatly diminished for these receiving entities.
The recipient receiving entity receives the transmitted PDU and uses the preamble for channel estimation. For each subband, the recipient receiving entity can derive an estimate of the actual MISO channel response (instead of the effective SISO channel response) for each transmit antenna, or ĥj(k) for j=1 . . . NT, based on the preamble. For simplicity, channel estimation for a case with two transmit antennas is described below.
FIG. 3 shows a model for pilot transmission on one subband k from a two-antenna transmitting entity to a single-antenna receiving entity. A pilot symbol p(k) is spatially processed with two elements v1(n,k) and v2(n,k) of a steering vector vpm(n,k) to obtain two transmit symbols, which are then sent from the two transmit antennas. The two transmit symbols observe channel responses of h1(k) and h2(k), which are assumed to be constant across the PDU.
If the pilot symbol p(k) is transmitted in two symbol periods using two sets of steering vectors, vpm(1,k) and vpm(2,k), then the received pilot symbols at the receiving entity may be expressed as:

r(1,k)=h1(k)·v1(1,k)·p(k)+h2(k)·v2(1,k)·p(k)+z(1,k), and

r(2,k)=h1(k)·v1(2,k)·p(k)+h2(k)·v2(2,k)·p(k)+z(2,k),

which may be expressed in matrix form as:

rp(k)=Vp(k)·hT(k)·p(k)+z(k),  Eq (10)

where

    
    
        rp(k)=[rp(1,k) rp(2,k)]T is a vector with two received pilot symbols for subband k, where “T” denotes the transpose;
        Vp(k) is a matrix with the two steering vectors vpm(1,k)=[v1(1,k) v2(1,k)]T and vpm(2,k)=[v1(2,k) v2(2,k)]T used for subband k;
        h(k)=[h1(k) h2(k)] is a channel response row vector for subband k; and
        z(k)=[z(1,k) z(2,k)]T is a noise vector for subband k.
    
    


The receiving entity may derive an estimate of the MISO channel response, ĥ(k), as follows:

ĥ(k)=Vp−1(k)·rp(k)·p*(k).  Eq (11)

The recipient receiving entity can compute Vp−1(k) since it knows all of the elements of Vp(k). The other receiving entities do not know Vp (k), cannot compute for Vp−1(k), and cannot derive a sufficiently accurate estimate of h(k).

The description above is for the simple case with two transmit antennas. In general, the number of transmit antennas determines the number of OFDM symbols for the pilot (the length of the pilot transmission) and the size of Vp(k). In particular, pilot symbols are transmitted for a minimum of NT symbol periods, and the matrix Vp (k) is typically of dimension NT×NT.
The recipient receiving entity can thereafter derive an estimate of the effective SISO channel response, ĥeff,ss(n,k), for each subsequent OFDM symbol in the PDU, as follows:

ĥeff,ss(n,k)=ĥ(k)·vpm(n,k).  Eq (12)

The steering vector vpm(n,k) may change from symbol period to symbol period for each subband. However, the recipient receiving entity knows the steering vector used for each subband and each symbol period. The receiving entity uses the effective SISO channel response estimate, ĥeff,ss(n,k) for each subband of each symbol period to perform detection on the received symbol for that subband and symbol period, e.g., as shown in equation (5), where ĥeff,ss(n,k) substitutes for ĥeff,sm(k) and varies across the PDU.

The transmitting entity may also transmit the pilot “in the clear” without any spatial processing, but multiplying the pilot symbols for each transmit antenna with a different orthogonal sequence (e.g., a Walsh sequence) of length NT or an integer multiple of NT. In this case, the receiving entity can estimate the MISO channel response h(k) directly by multiplying the received pilot symbols with each orthogonal sequence used for pilot transmission and integrating over the length of the sequence, as is known in the art. Alternatively, the transmitting entity may transmit the pilot using one steering vector vpm (1,k), and the receiving entity can estimate the effective MISO channel response as: ĥeff(1, k)=ĥ(k)·vpm(1,k). The transmitting entity may thereafter transmit data using another steering vector vpm(2, k), and the receiving entity can then estimate the effective MISO channel response for the data as: ĥeff(2, k)=ĥeff,1(k)·vpmH(1,k)·vpm(2, k). The pilot transmission and channel estimation may thus be performed in various manners for spatial spreading.
The transmitting entity can perform spatial spreading on both the preamble and the signaling/data portion of the PDU. The transmitting entity can also perform spatial spreading on just the preamble, or just the signaling/data portion. In any case, the spatial spreading is such that the channel estimate obtained based on the preamble is not accurate or valid for the signaling/data portion. Improved performance may be achieved by performing spatial spreading on at least the signaling/data portion of the PDU so that this portion appears spatially random to the other receiving entities without knowledge of the steering vectors.
For spatial spreading, the recipient receiving entity knows that multiple antennas are used for data transmission and further knows the steering vector used for each subband in each symbol period. The spatial despreading is essentially achieved by using the proper steering vectors to derive the effective SISO channel response estimates, which are then used for data detection. The recipient receiving entity also enjoys the benefits of transmit diversity since different steering vectors are used across the PDU. The other receiving entities do not know the steering vectors used by the transmitting entity. Thus, their MISO channel response estimates are not valid for the signaling/data portion and, when used for data detection, provide degraded or corrupted detected symbols. Consequently, the likelihood of recovering the transmitted PDU may be substantially impacted for these other receiving entities. Since the receiving entity need to perform special processing for channel estimation and detection for spatial spreading, legacy receiving entities, which are designed for SISO operation only, also cannot recover a spatially spread data transmission.
Spatial spreading may also be performed for the steered mode and the PRTS mode by rotating the phase of each data symbol in a pseudo-random manner that is known by both the transmitting and receiving entities.
FIG. 4 shows a flow diagram of a process 400 for transmitting data from a transmitting entity to a receiving entity using the steered or PRTS mode. Each PDU of data is processed (e.g., coded, interleaved, and symbol mapped) to obtain a corresponding block of data symbols (block 412). The block of data symbols and pilot symbols are demultiplexed onto ND data subbands to obtain ND sequences of pilot and data symbols for the ND data subbands (block 414). Spatial processing is then performed on the sequence of pilot and data symbols for each data subband with at least one steering vector selected for the subband (block 416).
For the steered mode, one steering vector is used for each data subband, and the spatial processing with this steering vector steers the transmission toward the receiving entity. For transmit diversity in the PRTS mode, one pseudo-random steering vector is used for each data subband, and the receiving entity does not need to have knowledge of the steering vector. For spatial spreading in the PRTS mode, at least one pseudo-random steering vector is used for each data subband, where different steering is applied to the preamble and the signaling/data portion, and only the transmitting and receiving entities have knowledge of the steering vector(s). For the PRTS mode, the spatial processing with the pseudo-random steering vectors randomizes the ND effective SISO channels observed by the ND sequences of pilot and data symbols sent on the ND subbands.
The receiving entity may not be able to properly process a data transmission sent using the PRTS mode. This may be the case, for example, if the receiving entity assumes that the channel response is somewhat correlated across the subbands and uses some form of interpolation across the subbands for channel estimation. In this case, the transmitting entity can transmit using a “clear” mode without any spatial processing. The transmitting entity may also define and/or select the steering vectors in a manner to facilitate channel estimation for such a receiving entity. For example, the transmitting entity may use the same steering vector for each set of NX subbands, where NX>1. As another example, the steering vectors may be defined to be correlated (e.g., to be rotated versions of one another) across the subbands.
D. Multi-Mode Operation
The transmitting entity may also transmit data to the receiving entity using both the steered and PRTS modes. The transmitting entity can use the PRTS mode when the channel response is not known and switch to the steered mode once the channel response is known. For a TDD system, the downlink and uplink responses may be assumed to be reciprocal of one another. That is, if h(k) represents the channel response row vector from the transmitting entity to the receiving entity, then a reciprocal channel implies that the channel response from the receiving entity to the transmitting entity is given by hT(k). The transmitting entity can estimate the channel response for one link (e.g., downlink) based on a pilot transmission sent by the receiving entity on the other link (e.g., uplink).
FIG. 5 shows a flow diagram of a process 500 for transmitting data from a transmitting entity to a receiving entity using both the steered and PRTS modes. Initially, the transmitting entity transmits data to the receiving entity using the PRTS mode since it does not have channel response estimates for the receiving entity (block 512). The transmitting entity derives channel response estimates for the link between the transmitting and receiving entities (block 514). For example, the transmitting entity can (1) estimate the channel response for a first link (e.g., the uplink) based on a pilot sent by the receiving entity and (2) derive channel response estimates for a second link (e.g., the downlink) based on (e.g., as a reciprocal of) the channel response estimates for the first link. The transmitting entity thereafter transmits data to the receiving entity using the steered mode, with steering vectors derived from the channel response estimates for the second link, once the channel response estimates for the receiving entity are available (block 516).
The transmitting entity can go back and forth between the steered and PRTS modes depending on whether or not channel response estimates are available. The receiving entity performs the same processing for channel estimation and detection for both modes and does not need to be aware of which mode is being used by the transmitting entity for any given PDU. Better performance can typically be achieved with the steered mode, and the transmitting entity may be able to use a higher rate for the steered mode. In any case, the transmitting entity can signal the rate used for each PDU in the signaling portion of the PDU. The receiving entity would then process each PDU based on the channel estimates obtained for that PDU and in accordance with the indicated rate.
2. MIMO Transmission
In system 100, a MIMO channel exists between a multi-antenna transmitting entity and a multi-antenna receiving entity. For an OFDM-based system, the MIMO channel formed by the NT antennas at the transmitting entity and the NR antenna at the receiving entity may be characterized by a set of NF channel response matrices, each of dimension NR×NT, which may be expressed as:




  
    
      
        
          
            
              H
              _
            
            ⁡
            
              (
              k
              )
            
          
          =
          
            [
            
              
                
                  
                    
                      h
                      
                        1
                        ,
                        1
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                
                  
                    
                      h
                      
                        1
                        ,
                        2
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                
                  ...
                
                
                  
                    
                      h
                      
                        1
                        ,
                        
                          N
                          T
                        
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
              
              
                
                  
                    
                      h
                      
                        2
                        ,
                        1
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                
                  
                    
                      h
                      
                        2
                        ,
                        2
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                
                  ...
                
                
                  
                    
                      h
                      
                        2
                        ,
                        
                          N
                          T
                        
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
              
              
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋱
                
                
                  ⋮
                
              
              
                
                  
                    
                      h
                      
                        
                          N
                          R
                        
                        ,
                        1
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                
                  
                    
                      h
                      
                        
                          N
                          R
                        
                        ,
                        2
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                
                  ...
                
                
                  
                    
                      h
                      
                        
                          N
                          R
                        
                        ,
                        
                          N
                          T
                        
                      
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
              
            
            ]
          
        
        ,
        
          

        
        ⁢
        
          
            for
            ⁢
            
              
            
            ⁢
            k
          
          ∈
          K
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          13
          )
        
      
    
  




where entry hi,j(k), for i=1 . . . NR and j=1 . . . NT, denotes the coupling between transmit antenna j and receive antenna i for subband k. For simplicity, the MIMO channel response H(k) is assumed to be constant over each PDU.

The channel response matrix H(k) for each subband may be decomposed into NS spatial channels, where NS≦min {NT, NR}. The NS spatial channels may be used to transmit data in a manner to achieve greater reliability and/or higher overall throughput. For example, NS data symbols may be transmitted simultaneously from the NT transmit antennas in each symbol period to achieve higher throughput. Alternatively, a single data symbol may be transmitted from the NT transmit antennas in each symbol period to achieve greater reliability. For simplicity, the following description assumes that NS=NT≦NR.
The transmitting entity may transmit data to the receiving entity using the steered or PRTS mode. In the steered mode for MIMO, the transmitting entity performs spatial processing to transmit data symbols on the “eigenmodes” of the MIMO channel, as described below. In the PRTS mode, the transmitting entity performs spatial processing such that the data symbols observe random effective MIMO channels. The steered and PRTS modes use different steering matrices and require different spatial processing by the receiving entity. The PRTS mode may also be used for transmit diversity and spatial spreading.
A. Steered Mode for MIMO
For the steered mode for MIMO, the transmitting entity derives steering matrices Vsm(k) by performing singular value decomposition of the channel response matrix H(k) for each subband, as follows:

H(k)=U(k)Σ(k)VsmH(k),  Eq (14)

where

    
    
        U(k) is an NR×NR unitary matrix of left eigenvectors of H(k);
        Σ(k) is an NR×NT diagonal matrix of singular values of H(k); and
        Vsm(k) is an NT×NT unitary matrix of right eigenvectors of H(k).

A unitary matrix M is characterized by the property MHM=I, where I is the identity matrix. The columns of a unitary matrix are orthogonal to one another. Since the channel response H(k) is assumed to be constant across a PDU, the steering matrices Vsm(k) are also constant across the PDU and is a function of only subband k.

    
    


The transmitting entity performs spatial processing for each subband as follows:

xmimo,sm(n,k)=Vsm(k)·s(n,k),  Eq (15)

    where s(n,k) is an NT×1 vector with NT data symbols to be sent on subband k in symbol period n; and
    
        xmimo,sm(n,k) is an NT×1 vector with NT transmit symbols to be sent from the NT transmit antennas on subband k in symbol period n.

The spatial processing with the steering matrices Vsm(k) results in the NT data symbols in s(n,k) being transmitted on NT eigenmodes of the MIMO channel, which may be viewed as orthogonal spatial channels.

    
    


The received symbols at the receiving entity may be expressed as:

rsm(n,k)=H(k)·xmimo,sm(n,k)+z(n,k)=H(k)·Vsm(k)·s(n,k)+z(n,k),  Eq (16)

where

    
    
        rsm(n,k) is an NR×1 vector with NR received symbols for subband k in symbol period n; and
        z(n,k) is a noise vector for subband k in symbol period n.

For simplicity, the noise is assumed to be additive white Gaussian noise (AWGN) with a zero mean vector and a covariance matrix of Λ=σ2·I, where σ2 is the variance of the noise observed by the receiving entity.

    
    


The receiving entity performs spatial processing for the steered mode as follows:

ŝism(n,k)=Σ−1(n,k)·UH(n,k)·rsm(n,k)=s(n,k)+z′(n,k),  Eq (17)

where ŝ(n,k) is a vector with NT detected symbols for the steered mode, which is an estimate of s(n,k), and z′(n,k) is a post-detection noise vector.

B. Steered Mode with Spatial Spreading
Spatial spreading may also be performed in combination with the steered mode. In this case, the transmitting entity first performs spatial processing on the data symbol vector s(n,k) for spatial spreading and then performs spatial processing on the resultant spread symbols for the steered mode. For spatial spreading, the transmitting entity uses different steering matrices across the pseudo-random steered portion of a PDU for each subband k. It is desirable to use as many different steering matrices as possible across both subbands and symbol periods to achieve a higher degree of spatial spreading. For example, a different set of steering matrices {Vpm(n,k)} may be used for each symbol period across the PDU. At a minimum, one steering matrix set is used for the preamble and another steering matrix set is used for the remainder of the PDU, where one steering matrix set may include identity matrices.
The transmitting entity performs spatial processing for each subband of each symbol period, as follows:

xmimo,sm,ss(n,k)=Vsm(k)·Vpm(n,k)·s(n,k),  Eq (18)

where Vpm(n,k) is an NT×NT pseudo-random steering matrix for subband k in symbol period n. As shown in equation (18), the transmitting entity performs spatial spreading with the pseudo-random steering matrix {Vpm(n,k)} first, followed by spatial processing for the steered mode with the steering matrix {Vsm(k)} derived from the MIMO channel response matrix H(k). The spread symbols (instead of the data symbols) are thus transmitted on the eigenmodes of the MIMO channel.

The received symbols at the receiving entity may be expressed as:




  
    
      
        
          
            
              
                
                  
                    r
                    _
                  
                  
                    sm
                    ,
                    ss
                  
                
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    
                      H
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        x
                        _
                      
                      
                        miso
                        ,
                        sm
                        ,
                        ss
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    z
                    _
                  
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      H
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        V
                        _
                      
                      sm
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        V
                        _
                      
                      pm
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  ·
                  
                    
                      s
                      _
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    
                      z
                      _
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  .
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          19
          )
        
      
    
  




The receiving entity performs spatial processing for the steered mode and spatial despreading as follows:

ssm,ss(n,k)=VpmH(n,k)·Σ−1(n,k)·UH(n,k)·rsm,ss(n,k)=s(n,k)+z′(n,k),  Eq (20)

As shown in equation (20), the receiving entity can recover the transmitted data symbols by first performing the receiver spatial processing for the steered mode followed by spatial despreading with the pseudo-random steering matrix {Vpm(n,k)}. For the steered mode with spatial spreading, the effective MIMO channel observed by the data symbols for each subband includes both matrices Vsm(k) and Vpm(n,k) used by the transmitting entity.

C. PRTS Mode for Transmit Diversity
For the PRTS mode for MIMO, the transmitting entity uses pseudo-random steering matrices for spatial processing. These steering matrices are derived to have certain desirable properties, as described below.
To achieve transmit diversity with the PRTS mode, the transmitting entity uses different steering matrices across the subbands but the same steering matrix across the pseudo-random steered portion of a PDU for each subband k. It is desirable to use as many different steering matrices as possible across the subbands to achieve greater transmit diversity.
The transmitting entity performs spatial processing for each subband as follows:

xmimo,td(n,k)=Vpm(k)·s(n,k),  Eq (21)

    where Vpm(k) is an NT×NT steering matrix for subband k in symbol period n; and
    
        xmimo,td(n,k) is an NT×1 vector with NT transmit symbols to be sent from the NT transmit antennas on subband k in symbol period n.
    
    


One set of steering matrices {Vpm(k)} is used across all OFDM symbols in the PDU.
The received symbols at the receiving entity may be expressed as:




  
    
      
        
          
            
              
                
                  
                    r
                    _
                  
                  td
                
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    
                      H
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        x
                        _
                      
                      
                        miso
                        ,
                        td
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    z
                    _
                  
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      H
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        V
                        _
                      
                      pm
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      s
                      _
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    z
                    _
                  
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              
                =
                
                ⁢
                
                  
                    
                      
                        
                          H
                          _
                        
                        
                          eff
                          ,
                          td
                        
                      
                      ⁡
                      
                        (
                        k
                        )
                      
                    
                    ·
                    
                      
                        s
                        _
                      
                      ⁡
                      
                        (
                        
                          n
                          ,
                          k
                        
                        )
                      
                    
                  
                  +
                  
                    
                      z
                      _
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
              
              ,
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          22
          )
        
      
    
  




where rtd(n,k) is a vector of received symbols for the PRTS mode; and

    
    
        Heff,td(k) is an NT×NT effective MIMO channel response matrix for subband k in symbol period n, which is Heff,td(k)=H(k)·Vpm(k).
    
    


The spatial processing with the pseudo-random steering matrix Vpm(k) results in the data symbols in s(n,k) observing an effective MIMO channel response Heff,td(k),which includes the actual channel response H(k) and the steering matrix Vpm(k). The receiving entity can estimate the effective MIMO channel response Heff,td(k), for example, based on pilot symbols received from the transmitting entity. The receiving entity can then perform spatial processing on the received symbols in rtd(n,k) with the effective MIMO channel response estimate, Ĥeff,td(k) to obtain detected symbols ŝtd(n,k). The effective MIMO channel response estimate, Ĥeff,td(k), for each subband k is constant across the PDU because (1) the actual MIMO channel response H(k) is assumed to be constant across the PDU and (2) the same steering matrix Vpm(k) is used across the PDU.
The receiving entity can derive the detected symbols using various receiver processing techniques including (1) a channel correlation matrix inversion (CCMI) technique, which is also commonly referred to as a zero-forcing technique, and (2) a minimum mean square error (MMSE) technique. Table 1 summarizes the spatial processing at the receiving entity for the CCMI and MMSE techniques. In Table 1, Mccmi,td(k) is a spatial filter matrix for the CCMI technique, Mmmse,td(k) is a spatial filter matrix for the MMSE technique, and Dmmse,td(k) is a diagonal matrix for the MMSE technique (which contains the diagonal elements of Mmmse,td(k)Ĥeff,td(k)).









TABLE 1





Technique
Receiver Spatial Processing








CCMI
ŝccmi, td(n, k) = Mccmi, td(k) · rtd(n, k) 
Spatial Processing



Mccmi, td(k) = [Ĥeff, tdH(k)Ĥeff, td(k)]−1Ĥeff, tdH(k) 
Spatial Filter Matrix


MMSE
ŝmmse, td(n, k) = Dmmse, td−1(k) · Mmmse, td(k) · rtd(n, k)
Spatial Processing



Mmmse, td(k) = Ĥeff, tdH(k) · [Ĥeff, td(k) · Ĥeff, tdH(k) + σ2 · I]−1
Spatial Filter Matrix



Dmmse, td(k) = diag [Mmmse, td(k)Ĥeff, td(k)]









As shown in Table 1, for transmit diversity, the spatial filter matrices Mccmi,td(k) and Mmmse,td(k) for each subband k are constant across the PDU because the effective MIMO channel response estimate, Ĥeff,td(k) is constant across the PDU. For transmit diversity, the receiving entity does not need to know the steering matrix used for each subband. The receiving entity can nevertheless enjoy the benefits of transmit diversity since different steering matrices are used across the subbands and different effective MIMO channels are formed for these subbands.
D. PRTS Mode for Spatial Spreading
For spatial spreading in the PRTS mode, the transmitting entity uses different steering matrices across the pseudo-random steered portion of a PDU for each subband k. The pseudo-random steering matrices for spatial spreading may be selected as described above for the steered mode.
The transmitting entity performs spatial processing for each subband of each symbol period, as follows:

xmimo,ss(n,k)=Vpm(n,k)·s(n,k).  Eq (23)

The received symbols at the receiving entity may be expressed as:




  
    
      
        
          
            
              
                
                  
                    r
                    _
                  
                  ss
                
                ⁡
                
                  (
                  
                    n
                    ,
                    k
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    
                      H
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        x
                        _
                      
                      
                        miso
                        ,
                        ss
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    z
                    _
                  
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      H
                      _
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      
                        V
                        _
                      
                      pm
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  ·
                  
                    
                      s
                      _
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    z
                    _
                  
                  ⁡
                  
                    (
                    
                      n
                      ,
                      k
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    
                      
                        H
                        _
                      
                      
                        eff
                        ,
                        ss
                      
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  ·
                  
                    
                      s
                      _
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                
                +
                
                  
                    
                      z
                      _
                    
                    ⁡
                    
                      (
                      
                        n
                        ,
                        k
                      
                      )
                    
                  
                  .
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          24
          )
        
      
    
  




The effective MIMO channel response Heff,ss(n,k) for each subband of each symbol period is determined by the actual channel response H(k) for the subband and the steering matrix Vpm(n,k) used for that subband and symbol period. The effective MIMO channel response Heff,ss(n,k) for each subband k varies across the PDU because different steering matrices Vpm(n,k) are used across the PDU.

The recipient receiving entity receives the transmitted PDU and uses the preamble for channel estimation. For each subband, the recipient receiving entity can derive an estimate of the actual MIMO channel response H(k) (instead of the effective MIMO channel response) based on the preamble. The recipient receiving entity can thereafter derive an estimate of the effective MIMO channel response matrix, Ĥeff,ss(n,k), for each subband of each symbol period, as follows:

Ĥeff,ss(n,k)=Ĥ(k)·V(n,k).  Eq (25)

The steering matrix Vpm(n,k) may change from symbol period to symbol period for each subband. The receiving entity uses the effective MIMO channel response estimate, Ĥeff,ss(n,k), for each subband of each symbol period to perform spatial processing on the receive symbols for that subband and symbol period, e.g., using the CCMI or MMSE technique. For example, the matrix Ĥeff,ss(n,k) may be used to derive the spatial filter matrix for the CCMI or MMSE technique, as shown in Table 1, where Ĥeff,ss(n,k) substitutes for Ĥeff,td(k). However, because the matrix Ĥeff,ss(n,k) varies across the PDU, the spatial filter matrix also varies across the PDU.

For spatial spreading, the recipient receiving entity has knowledge of the steering matrix used by the transmitting entity for each subband in each symbol period and is able to perform the complementary spatial despreading to recover the transmitted PDU. The spatial despreading is achieved by using the proper steering matrices to derive the effective MIMO channel response estimates, which are then used for spatial processing. The other receiving entities do not have knowledge of the steering matrices and the PDU transmission appears spatially random to these entities. As a result, these other receiving entities have a low likelihood of recovering the transmitted PDU.
E. Multi-Mode Operation
The transmitting entity may also transmit data to the receiving entity using both the PRTS and steered modes. The transmitting entity can use the PRTS mode when the channel response is not available and switch to the steered mode once the channel response is available.
3. Steering Vector and Matrix Generation
The steering vectors and matrices used for the PRTS mode may be generated in various manners. Some exemplary schemes for generating these steering vectors/matrices are described below. The steering vectors/matrices may be pre-computed and stored at the transmitting and receiving entities and thereafter retrieved for use as they are needed. Alternatively, these steering vectors/matrices may be computed in real time as they are needed. In the following description, a set of L steering vectors or matrices is generated and selected for use for the PRTS mode.
A. Steering Vector Generation
The steering vectors used for the PRTS mode should have the following properties in order to achieve good performance. Strict adherence to these properties is not necessary. First, each steering vector should have unit energy so that the transmit power used for the data symbols is not varied by the pseudo-random transmit steering. Second, the NT elements of each steering vector may be defined to have equal magnitude so that the full transmit power of each antenna can be used. Third, the different steering vectors should be reasonably uncorrelated so that the correlation between any two steering vectors in the set is zero or a low value. This condition may be expressed as:

c(ij)=vpmH(i)·vpm(j)≈0, for i=1 . . . L,j=1 . . . L, and i≠j,  Eq (26)

where c(ij) is the correlation between steering vectors vpm(i) and vpm(j).

The set of L steering vectors {vpm(i)} may be generated using various schemes. In a first scheme, the L steering vectors are generated based on NT×NT matrices G of independent identically distributed (IID) complex Gaussian random variables, each having zero mean and unit variance. A correlation matrix of each matrix G is computed as R=GH·G and decomposed as R=E·D·EH to obtain a unitary matrix E. Each column of E may be used as a steering vector vpm(i) if it meets the low correlation criterion with each of the steering vectors already in the set.
In a second scheme, the L steering vectors are generated by successively rotating an initial unitary steering vector vpm(1) as follows:

vpm(i+1)=ej2π/L·vpm(i), for i=2 . . . L, where L≧NT.  Eq (27)

In a third scheme, the L steering vectors are generated such that the elements of these vectors have the same magnitude but different phases. For a given steering vector vpm(i)=[v1(i) v2(i) vNT(i)], which may be generated in any manner, a normalized steering vector {tilde over (v)}pm(i) may be formed as:

pm(i)=[Aejθ1(i)Aejθ2(i) . . . Aejθ1(i)], Eq (28)

where A is a constant (e.g.,



  
    
      A
      =
      
        1
        /
        
          
            N
            T
          
        
      
    
    )
  




  and




  
    
      
        θ
        j
      
      ⁡
      
        (
        i
        )
      
    
    =
    
      
        ∠
        ⁢
        
          
        
        ⁢
        
          
            v
            j
          
          ⁡
          
            (
            i
            )
          
        
      
      =
      
        
          tan
          
            -
            1
          
        
        ⁡
        
          (
          
            
              Im
              ⁢
              
                {
                
                  
                    v
                    j
                  
                  ⁡
                  
                    (
                    i
                    )
                  
                
                }
              
            
            
              Re
              ⁢
              
                {
                
                  
                    v
                    j
                  
                  ⁡
                  
                    (
                    i
                    )
                  
                
                }
              
            
          
          )
        
      
    
  



is the phase of the j-th element of vpm(i). The normalized steering vector {tilde over (v)}pm(i) allows the full transmit power available for each antenna to be used for transmission.

Other schemes may also be used to generate the set of L steering vectors, and this is within the scope of the invention.
B. Steering Matrix Generation
The steering matrices used for the PRTS mode should have the following properties in order to achieve good performance. Strict adherence to these properties is not necessary. First, the steering matrices should be unitary matrices and satisfy the following condition:

VpmH(i)·Vpm(i)=I, for i=1 . . . L.  Eq (29)

Equation (29) indicates that each column of Vpm(i) should have unit energy and the Hermitian inner product of any two columns of Vpm(i) should be zero. This condition ensures that the NT data symbols sent simultaneously using the steering matrix Vpm(i) have the same power and are orthogonal to one another prior to transmission. Second, the correlation between any two steering matrices in the set should be zero or a low value. This condition may be expressed as:

C(ij)=VpmH(i)·Vpm(j)≈0, for i=1 . . . L, j=1 . . . L, and i≠j,  Eq (30)

where C(ij) is the correlation matrix for Vpm(i) and Vpm(j) and 0 is a matrix of all zeros. The L steering matrices may be generated such that the maximum energy of the correlation matrices for all possible pairs of steering matrices is minimized.

The set of L steering matrices {Vpm(i)} may be generated using various schemes. In a first scheme, the L steering matrices are generated based on matrices of random variables. A matrix G of random variables is initially generated, and a correlation matrix of G is computed and decomposed to obtain a unitary matrix E, as described above. If low correlation exists between E and each of the steering matrices already generated, then E may be used as a steering matrix Vpm(i) and added to the set. The process is repeated until all L steering matrices are generated.
In a second scheme, the L steering matrices are generated by successively rotating an initial unitary matrix V(1) in an NT-dimensional complex space, as follows:

Vpm(i+1)=Θi·Vpm(1), for i=1 . . . L−1,  Eq (31)

where Θi is an NT×NT diagonal unitary matrix with elements that are L-th roots of unity. The second scheme is described by B. M. Hochwald et al. in “Systematic Design of Unitary Space-Time Constellations,” IEEE Transaction on Information Theory, Vol. 46, No. 6, September 2000.

Other schemes may also be used to generate the set of L steering matrices, and this is within the scope of the invention. In general, the steering matrices may be generated in a pseudo-random or deterministic manner.
C. Steering Vector/Matrix Selection
The L steering vectors/matrices in the set may be selected for use in various manners. A steering vector may be viewed as a degenerated steering matrix containing just one column. Thus, as used herein, a matrix may contain one or multiple columns.
In one embodiment, the steering matrices are selected from the set of L steering matrices in a deterministic manner. For example, the L steering matrices may be cycled through and selected in sequential order, starting with V(1), then V(2), and so on, and then V(L). In another embodiment, the steering matrices are selected from the set in a pseudo-random manner. For example, the steering matrix to use for each subband k may be selected based on a function ƒ(k) that pseudo-randomly selects one of the L steering matrices, or V(ƒ(k)). In yet another embodiment, the steering matrices are selected from the set in a “permutated” manner. For example, the L steering matrices may be cycled through and selected for use in sequential order. However, the starting steering matrix for each cycle may be selected in a pseudo-random manner, instead of always being the first steering matrix V(1). The L steering matrices may also be selected in other manners.
The steering matrix selection may also be dependent on the number of steering matrices (L) in the set and the number of subbands (NM) to apply pseudo-random transmit steering, e.g., NM=ND+NP. In general, L may be greater than, equal to, or less than NM. If L=NM, then a different steering matrix may be selected for each of the NM subbands. If L<NM, then the steering matrices are reused for each symbol period. If L>NM, then a subset of the steering matrices is used for each symbol period. For all cases, the NM steering matrices for the NM subbands may be selected in a deterministic, pseudo-random, or permutated manner, as described above.
For transmit diversity, NM steering matrices are selected for the NM subbands for each PDU. For spatial spreading, NM steering matrices may be selected for the NM subbands for each symbol period of the PDU. A different set of NM steering matrices may be selected for each symbol period, where the set may include a different permutation of the L steering matrices.
For spatial spreading for both MISO and MIMO, only the transmitting and receiving entities know the pseudo-random steering matrices used for spatial processing. This may be achieved in various manners. In one embodiment, steering matrices are pseudo-randomly selected from the set of L steering matrices based on an algorithm may be seeded with secure information (e.g., a key, a seed, an identifier, or a serial number) exchanged between the transmitting and receiving entities (e.g., via secure over-the-air signaling or by some other means). This results in the set of steering matrices being permutated in a manner known only to the transmitting and receiving entities. In another embodiment, the transmitting and receiving entities modify the common steering matrices known to all entities using a unique matrix Uu that is known only to the two entities. This operation may be expressed as: Vpm,u(i)=Uu·Vpm(i) or vpm,u(i)=Uu·vpm(i). The modified steering matrices are then used for spatial processing. In yet another embodiment, the transmitting and receiving entities permutate the columns of the common steering matrices in a manner known only to these two entities. In yet another embodiment, the transmitting and receiving entities generate the steering matrices as they are needed based on some secure information known only to these two entities. The pseudo-random steering matrices used for spatial spreading may be generated and/or selected in various other manners, and this is within the scope of the invention.
4. IEEE 802.11
The techniques described herein may be used for various OFDM systems, e.g., for systems that implement IEEE 802.11a and 802.11g. The OFDM structure for 802.11a/g partitions the overall system bandwidth into 64 orthogonal subbands (or NF=64), which are assigned indices of −32 to +31. Of these 64 subbands, 48 subbands (with indices of ±{1, . . . , 6, 8, . . . , 20, 22, . . . , 26}) are used for data transmission, four subbands (with indices of ±{7, 21}) are used for pilot transmission, and the DC subband (with index of 0) and the remaining subbands are not used and serve as guard subbands. For IEEE 802.11a/g, each OFDM symbol is composed of a 64-chip transformed symbol and a 16-chip cyclic prefix. IEEE 802.11a/g uses a 20 MHz system bandwidth. Thus, each chip has a duration of 50 nsec, and each OFDM symbol has a duration of 4.0 μsec, which is one OFDM symbol period for this system. This OFDM structure is described in a document for IEEE Standard 802.11a entitled “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: High-speed Physical Layer in the 5 GHz Band,” September 1999, which is publicly available.
FIG. 6A shows a PDU format 600 defined by IEEE 802.11. Format 600 supports both the steered mode and the PRTS mode (for both transmit diversity and spatial spreading) for MISO transmission. At a physical (PHY) layer in the protocol stack for IEEE 802.11, data is processed as PHY sublayer service data units (PSDUs). Each PSDU 630 is coded and modulated separately based on a coding and modulation scheme selected for that PSDU. Each PSDU 630 further has a PLCP header 610 that includes six fields. A rate field 612 indicates the rate for the PSDU. A reserved field 614 includes one reserved bit. A length field 616 indicates the length of the PSDU in units of octets. A parity field 618 carries a 1-bit even parity for the three preceding fields. A tail field 620 carries six zeros used to flush out the encoder. A service field 622 includes seven null bits used to initialize a scrambler for the PSDU and nine reserved bits. A tail field 632 is appended at the end of PSDU 630 and carries six zeros used to flush out the encoder. A variable length pad field 634 carries a sufficient number of pad bits to make the PSDU fit an integer number of OFDM symbols.
Each PSDU 630 and its associated fields are transmitted in one PHY protocol data unit (PPDU) 640 that includes three sections. A preamble section 642 has a duration of four OFDM symbol periods and carries ten short training symbols 642a and two long training symbols 642b, which are used for AGC, timing acquisition, coarse and fine frequency acquisition, channel estimation, and other purposes by a receiving entity. The ten short training symbols are generated with 12 specific pilot symbols on 12 designated subbands and span two OFDM symbol periods. The two long training symbols are generated with 52 specific pilot symbols on 52 designated subbands and also span two OFDM symbol periods. A signal section 644 carries one OFDM symbol for the first five fields of the header. A data section 648 carries a variable number of OFDM symbols for the service field of the header, the PSDU, and the subsequent tail and pad fields. PPDU 640 may also be referred to as a packet or some other terminology.
FIG. 6B shows an exemplary PDU format 602 that supports both the steered and PRTS modes for both MISO and MIMO transmissions. A PPDU 650 for this format includes a preamble section 652, a signal section 654, a MIMO pilot section 656, and a data section 658. Preamble section 652 carries ten short training symbols 652a and two long training symbols 652b, similar to preamble section 642. Signal section 654 carries signaling for PPDU 650 and may be defined as shown in Table 2.









TABLE 2






Length



Field
(bits)
Description

















CCH Rate Indicator
2
Rate for control channel (CCH).


MIMO Pilot Length
1
Length of MIMO pilot section (e.g., 2 or 4 




OFDM symbol periods).


MIMO Indicator
1
Indicates PLCP header of format 602.


QoS
2
Quality of service (video/voice)


Length Indicator
10
Length of data section (e.g., in multiples of 




the cyclic prefix length, or 800 nsec for 




IEEE 802.11).


Rate Vector
16
Rates used for spatial channels 1, 2, 3, 4.


Reserved
2
Reserved for future use.


CRC
8
CRC value for the PLCP header.


Tail
6
Six zeros to flush out the encoder.









Table 2 shows an exemplary format for signal section 654 for four transmit antennas (NT=4). Up to four spatial channels may be available for data transmission depending on the number of receive antennas. The rate for each spatial channel is indicated by the rate vector field. The receiving entity may determine and send back the maximum rates supported by the spatial channels. The transmitting entity may then select the rates for data transmission based on (e.g., less than or equal to) these maximum rates. Other formats with different fields may also be used for signal section 654.

MIMO pilot section 656 carries a MIMO pilot used by the receiving entity to estimate the MIMO channel. The MIMO pilot is a pilot transmitted from all NT transmit antennas (1) “in the clear” without any spatial processing, (2) with pseudo-random steering as shown in equation (21) or (23), or (3) on the eigenmodes of the MIMO channel as shown in equation (18). The transmit symbols for each transmit antenna for the MIMO pilot are further multiplied (or covered) with an NT-chip orthogonal sequence (e.g., a 4-chip Walsh code) assigned to that transmit antenna. Data section 658 carries a variable number of OFDM symbols for the data, pad bits, and tail bits, similar to data section 648.
Pseudo-random transmit steering may be performed in various manners for formats 600 and 602. In an embodiment for the PRTS mode, pseudo-random transmit steering is applied across an entire PDU. In another embodiment for the PRTS mode, pseudo-random transmit steering is applied across a portion of a PDU. For example, pseudo-random transmit steering may be applied across the entire PDU except for the ten short training symbols for formats 600 and 602. Pseudo-random transmit steering on the ten short training symbols may adversely impact signal detection, AGC, timing acquisition, and coarse frequency acquisition, and is thus not applied on these symbols if such is the case. For transmit diversity, for each subband, the same pseudo-random steering vector/matrix is used across the pseudo-random steered portion of the PDU. For spatial spreading, for each subband, different vectors/matrices may be used across the pseudo-random steered portion of the PDU. At a minimum, different steering vectors/matrices are used for the preamble/pilot portion used for channel estimation (e.g., the two long training symbols) and the data section of the PDU. For format 600, different steering vectors may be used for the two long training symbols in the preamble section and the data section of PPDU 640, where the steering vector for one section may be all ones. For format 602, different steering matrices may be used for the MIMO pilot section and the data section of PPDU 650, where the steering matrix for one section may be the identity matrix.
The receiving entity typically processes each PPDU separately. The receiving entity can use (1) the short training symbols for AGC, diversity selection, timing acquisition, and coarse frequency acquisition, and (2) the long training symbols for fine frequency acquisition. The receiving entity can use the long training symbols for MISO channel estimation and the MIMO pilot for MIMO channel estimation. The receiving entity can derive the effective channel response estimates directly or indirectly from the preamble or MIMO pilot and use the channel estimates for detection or spatial processing, as described above.
5. System
FIG. 7 shows a block diagram of a multi-antenna transmitting entity 710, a single-antenna receiving entity 750x, and a multi-antenna receiving entity 750y in system 100. Transmitting entity 710 may be an access point or a multi-antenna user terminal Each receiving entity 750 may also be an access point or a user terminal.
At transmitting entity 710, a transmit (TX) data processor 720 processes (e.g., codes, interleaves, and symbol maps) each packet of data to obtain a corresponding block of data symbols. A TX spatial processor 730 receives and demultiplexes pilot and data symbols onto the proper subbands, performs spatial processing for the steered and/or PRTS mode, and provides NT streams of transmit symbols to NT transmitter units (TMTR) 732a through 732t. Each transmitter unit 732 processes its transmit symbol stream to generate a modulated signal. Transmitter units 732a through 732t provide NT modulated signals for transmission from NT antennas 734a through 734t, respectively.
At single-antenna receiving entity 750x, an antenna 752x receives the NT transmitted signals and provides a received signal to a receiver unit (RCVR) 754x. Receiver unit 754x performs processing complementary to that performed by transmitter units 732 and provides (1) received data symbols to a detector 760x and (2) received pilot symbols to a channel estimator 784x within a controller 780x. Channel estimator 784x derives channel response estimates for the effective SISO channels between transmitting entity 710 and receiving entity 750x for all data subbands. Detector 760x performs detection on the received data symbols for each subband based on the effective SISO channel response estimate for that subband and provides a stream of detected symbols for all subbands. A receive (RX) data processor 770x then processes (e.g., symbol demaps, deinterleaves, and decodes) the detected symbol stream and provides decoded data for each data packet.
At multi-antenna receiving entity 750y, NR antennas 752a through 752r receive the NT transmitted signals, and each antenna 752 provides a received signal to a respective receiver unit 754. Each receiver unit 754 processes a respective received signal and provides (1) received data symbols to a receive (RX) spatial processor 760y and (2) received pilot symbols to a channel estimator 784y within a controller 780y. Channel estimator 784y derives channel response estimates for the actual or effective MIMO channels between transmitting entity 710 and receiving entity 750y for all data subbands. Controller 780y derives spatial filter matrices based on the MIMO channel response estimates and the steering matrices and in accordance with, e.g., the CCMI or MMSE technique. RX spatial processor 760y performs spatial processing on the received data symbols for each subband with the spatial filter matrix derived for that subband and provides detected symbols for the subband. An RX data processor 770y then processes the detected symbols for all subbands and provides decoded data for each data packet.
Controllers 740, 780x, and 780y control the operation of the processing units at transmitting entity 710 and receiving entities 750x and 750y, respectively. Memory units 742, 782x, and 782y store data and/or program code used by controllers 740, 780x, and 780y, respectively. For example, these memory units may store the set of L pseudo-random steering vectors (SV) and/or steering matrices (SM).
FIG. 8 shows an embodiment of the processing units at transmitting entity 710. Within TX data processor 720, an encoder 822 receives and encodes each data packet separately based on a coding scheme and provides code bits. The coding increases the reliability of the data transmission. The coding scheme may include cyclic redundancy check (CRC), convolutional, Turbo, low-density parity check (LDPC), block, and other coding, or a combination thereof. In the PRTS mode, the SNR can vary across a data packet even if the wireless channel is flat across all subbands and static over the data packet. A sufficiently powerful coding scheme may be used to combat the SNR variation across the data packet, so that coded performance is proportional to the average SNR across the data packet. An interleaver 824 interleaves or reorders the code bits for each data packet based on an interleaving scheme to achieve frequency, time and/or spatial diversity. A symbol mapping unit 826 maps the interleaved bits for each data packet based on a modulation scheme (e.g., QPSK, M-PSK, or M-QAM) and provides a block of data symbols for the data packet. The coding and modulation schemes used for each data packet are determined by the rate selected for that packet.
Within TX spatial processor 730, a demultiplexer (Demux) 832 receives and demultiplexes the block of data symbols for each data packet into ND data symbol sequences for the ND data subbands. For each data subband, a multiplexer (Mux) 834 receives pilot and data symbols for the subband, provides the pilot symbols during the preamble and MIMO pilot portions, and provides the data symbols during the signaling and data portions. For each data packet, ND multiplexers 834a through 834nd provide ND sequences of pilot and data symbols for the ND data subbands to ND TX subband spatial processors 840a through 840nd. Each spatial processor 840 performs spatial processing for the steered or PRTS mode for a respective data subband. For MISO transmission, each spatial processor 840 performs spatial processing on its pilot and data symbol sequence with one or more steering vectors selected for the subband and provides NT sequences of transmit symbols for the NT transmit antennas to NT multiplexers 842a through 842t. For MIMO transmission, each spatial processor 840 demultiplexes its pilot and data symbol sequence into NS sub-sequences for NS spatial channels, performs spatial processing on the NS pilot and data symbol sub-sequences with one or more steering matrices selected for the subband, and provides NT transmit symbol sequences to NT multiplexers 842a through 842t. Each multiplexer 842 provides a sequence of transmit symbols for all subbands to a respective transmitter unit 732. Each transmitter unit 732 includes (1) an OFDM modulator (MOD) 852 that performs OFDM modulation on a respective stream of transmit symbols and (2) a TX RF unit 854 that conditions (e.g., converts to analog, filters, amplifies, and frequency upconverts) the stream of OFDM symbols from OFDM modulator 852 to generate a modulated signal.
FIG. 9A shows an embodiment of the processing units at single-antenna receiving entity 750x. Receiver unit 754x includes (1) an RX RF unit 912 that conditions and digitizes the received signal from antenna 752x and provides samples and (2) an OFDM demodulator (DEMOD) 914 that performs OFDM demodulation on the samples, provides received data symbols to detector 760x, and provides received pilot symbols to channel estimator 784x. Channel estimator 784x derives the channel response estimates for the effective SISO channels based on the received pilot symbols and possibly the steering vectors.
Within detector 760x, a demultiplexer 922 demultiplexes the received data symbols for each data packet into ND received data symbol sequences for the ND data subbands and provides the ND sequences to ND subband detectors 924a through 924nd. Each subband detector 924 performs detection on the received data symbols for its subband with the effective SISO channel response estimate for that subband and provides detected symbols. A multiplexer 926 multiplexes the detected symbols for all data subbands and provides a block of detected symbols for each data packet to RX data processor 770x. Within RX data processor 770x, a symbol demapping unit 932 demaps the detected symbols for each data packet in accordance with the modulation scheme used for that packet. A deinterleaver 934 deinterleaves the demodulated data in a manner complementary to the interleaving performed on the data packet. A decoder 936 decodes the deinterleaved data in a manner complementary to the encoding performed on the data packet. For example, a Turbo decoder or a Viterbi decoder may be used for decoder 936 if Turbo or convolutional coding, respectively, is performed by transmitting entity 710.
FIG. 9B shows an embodiment of the processing units at multi-antenna receiving entity 750y. Receiver units 754a through 754r condition, digitize, and OFDM demodulate the NR received signals, provide received data symbols to RX spatial processor 760y, and provide received pilot symbols to channel estimator 784y. Channel estimator 784y derives channel response estimates for the MIMO channels based on the received pilot symbols. Controller 780y derives spatial filter matrices based on the MIMO channel response estimates and the steering matrices. Within RX spatial processor 760y, NR demultiplexers 942a through 942r obtain the received data symbols from NR receiver units 754a through 754r. Each demultiplexer 942 demultiplexes the received data symbols for each data packet into ND received data symbol sequences for the ND data subbands and provides the ND sequences to ND RX subband spatial processors 944a through 944nd. Each spatial processor 944 performs receiver spatial processing on the received data symbols for its subband with the spatial filter matrix for that subband and provides detected symbols. A multiplexer 946 multiplexes the detected symbols for all subbands and provides a block of detected symbols for each data packet to RX data processor 770y, which may be implemented with the same design as RX data processor 770x in FIG. 9A.
The data transmission techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units used to perform or support the data transmission techniques at the transmitting and receiving entities may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
For a software implementation, the data transmission techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software code may be stored in a memory unit (e.g., memory units 742, 782x and 782y in FIG. 7) and executed by a processor (e.g., controllers 740, 780x and 780y in FIG. 7). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
Headings are included herein for reference and to aid in locating certain sections. These headings are not intended to limit the scope of the concepts described therein under, and these concepts may have applicability in other sections throughout the entire specification.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

## Claims

1. A method of transmitting data from a transmitting entity to a receiving entity in a wireless multi-antenna communication system utilizing orthogonal frequency division multiplexing (OFDM), comprising:
processing a data packet to obtain a block of data symbols;
demultiplexing pilot symbols and the block of data symbols using OFDM onto a plurality of subbands to obtain, for the data packet, a plurality of sequences of pilot and data symbols for the plurality of subbands; and
performing spatial processing on the sequence of pilot and data symbols for each subband with at least one steering vector selected for the subband, the spatial processing randomizing a plurality of channels observed by the plurality of sequences of pilot and data symbols sent on the plurality of subbands.

2. The method of claim 1, wherein the sequence of pilot and data symbols for each subband is spatially processed with one steering vector selected for the subband.

3. The method of claim 2, wherein a plurality of different steering vectors are used for the plurality of subbands.

4. The method of claim 2, wherein the one steering vector used for spatial processing for each subband is unknown to the receiving entity.

5. The method of claim 1, wherein the sequence of pilot and data symbols for each subband is spatially processed with at least two steering vectors selected for the subband.

6. The method of claim 1, wherein one pilot or data symbol is sent on each subband in each symbol period, and wherein the sequence of pilot and data symbols for each subband is spatially processed with a different steering vector for each symbol period.

7. The method of claim 1, wherein the at least one steering vector used for spatial processing for each subband is known only to the transmitting entity and the receiving entity.

8. The method of claim 1, wherein the spatial processing with the at least one steering vector for each subband is performed only on the data symbols.

9. The method of claim 1, wherein the processing a data packet includes encoding the data packet in accordance with a coding scheme to obtain coded data,
interleaving the coded data to obtain interleaved data, and
symbol mapping the interleaved data in accordance with a modulation scheme to obtain the block of data symbols.

10. The method of claim 1, further comprising:
selecting the at least one steering vector for each subband from among a set of L steering vectors, where L is an integer greater than one.

11. The method of claim 10, wherein the L steering vectors are such that any pair of steering vectors among the L steering vectors have low correlation.

12. The method of claim 6, further comprising:
selecting a steering vector for each subband in each symbol period from among a set of L steering vectors, where L is an integer greater than one.

13. The method of claim 1, wherein each steering vector includes T elements having the same magnitude but different phases, where T is the number of transmit antennas at the transmitting entity and is an integer greater than one.

14. An apparatus in a wireless multi-antenna communication system utilizing orthogonal frequency division multiplexing (OFDM), comprising:
a data processor operative to process a data packet to obtain a block of data symbols;
a demultiplexer operative to demultiplex pilot symbols and the block of data symbols onto a plurality of subbands to obtain, for the data packet, a plurality of sequences of pilot and data symbols for the plurality of subbands; and
a spatial processor operative to perform spatial processing on the sequence of pilot and data symbols for each subband with at least one steering vector selected for the subband, the spatial processing randomizing a plurality of effective single-input single-output (SISO) channels observed by the plurality of sequences of pilot and data symbols sent on the plurality of subbands.

15. The apparatus of claim 14, wherein the spatial processor is operative to spatially process the sequence of pilot and data symbols for each subband with one steering vector selected for the subband.

16. The apparatus of claim 14, wherein the spatial processor is operative to spatially process the sequence of pilot and data symbols for each subband with at least two steering vectors selected for the subband.

17. The apparatus of claim 16, wherein the at least two steering vectors for each subband are known only to a transmitting entity and a receiving entity for the data packet.

18. The apparatus of claim 14, wherein each steering vector includes T elements having the same magnitude but different phases, where T is the number of antennas used to transmit the data packet and is an integer greater than one.

19. A method of transmitting data from a transmitting entity to a receiving entity in a wireless multiple-input multiple-output (MIMO) communication system utilizing orthogonal frequency division multiplexing (OFDM), comprising:
processing a data packet to obtain a block of data symbols;
demultiplexing pilot symbols and the block of data symbols using OFDM onto a plurality of subbands; and
performing spatial processing on the pilot and data symbols for each subband with at least one steering matrix selected for the subband, the spatial processing randomizing a plurality of channels for the plurality of subbands observed by the pilot and data symbols sent on the plurality of subbands.

20. The method of claim 19, wherein the pilot and data symbols for each subband are spatially processed with one steering matrix selected for the subband.

21. The method of claim 19, wherein the one steering matrix used for spatial processing for each subband is unknown to the receiving entity.

22. The method of claim 19, wherein the pilot and data symbols for each subband are spatially processed with a different steering matrix for each symbol period.

23. The method of claim 19, wherein the at least one steering matrix used for spatial processing for each subband is known only to the transmitting entity and the receiving entity.

24. The method of claim 19, wherein the spatial processing with the at least one steering matrix for each subband is performed only on the data symbols.

25. The method of claim 24, further comprising: multiplying spread symbols for each subband, obtained from the spatial processing with the at least one steering matrix, to transmit the spread symbols on eigenmodes of the channel for the subband.

26. An apparatus in a wireless multiple-input multiple-output (MIMO) communication system utilizing orthogonal frequency division multiplexing (OFDM), comprising:
a data processor operative to process a data packet to obtain a block of data symbols;
a demultiplexer operative to demultiplex pilot symbols and the block of data symbols onto a plurality of subbands; and
a spatial processor operative to perform spatial processing on the pilot and data symbols for each subband with at least one steering matrix selected for the subband, the spatial processing randomizing a plurality of effective MIMO channels for the plurality of subbands observed by the pilot and data symbols sent on the plurality of subbands.

27. An apparatus in a wireless multi-antenna communication system utilizing orthogonal frequency division multiplexing (OFDM), comprising:
a controller operative to select a first mode for data transmission to a receiving entity if channel response estimates for the receiving entity are unavailable and select a second mode for data transmission to the receiving entity if the channel response estimates are available, wherein data symbols are spatially processed with pseudo-random steering vectors in the first mode and with steering vectors derived from the channel response estimates in the second mode; and
a spatial processor operative to perform spatial processing for each block of data symbols in accordance with the mode selected for the block.

28. A receiver apparatus in a wireless multiple-antenna communication system utilizing orthogonal frequency division multiplexing (OFDM), comprising:
a demodulator operative to provide S sequences of received symbols, obtained via a single received antenna, for S sequences of pilot and data symbols transmitted via S subbands by a transmitting entity, where S is an integer greater than one, and wherein the S sequences of pilot and data symbols are spatially processed with a plurality of steering vectors at the transmitting entity to randomize S effective single-input single-output (SISO) channels observed by the S sequences of pilot and data symbols;
a channel estimator operative to derive channel response estimates for the S effective SISO channels based on received pilot symbols in the S sequences of received symbols; and
a detector operative to perform detection on received data symbols in the S sequences of received symbols based on the channel response estimates for the S effective SISO channels to obtain detected symbols.