# Patent

## Title
Steering diversity for an OFDM-based multi-antenna communication system

## Abstract

A transmitting entity uses different steering vectors for different subbands to achieve steering diversity. Each steering vector defines or forms a beam for an associated subband. Any steering vector may be used for steering diversity. The steering vectors may be defined such that the beams vary in a continuous instead of abrupt manner across the subbands. This may be achieved by applying continuously changing phase shifts across the subbands for each transmit antenna. As an example, the phase shifts may change in a linear manner across the subbands for each transmit antenna, and each antenna may be associated with a different phase slope. The application of linearly changing phase shifts to modulation symbols in the frequency domain may be achieved by either delaying or circularly shifting the corresponding time-domain samples.

## Background
CLAIM OF PRIORITY UNDER 35 U.S.C. §119
The present Application for Patent claims priority to Provisional Application Ser. No. 60/569,103, entitled “Steering Diversity for an OFDM-Based Multi-Antenna Communication System,” filed May 7, 2004, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.


BACKGROUND
I. Field
The present invention relates generally to communication, and more specifically to data transmission in a multi-antenna communication system that utilizes orthogonal frequency division multiplexing (OFDM).
II. Background
OFDM is a multi-carrier modulation technique that effectively partitions the overall system bandwidth into multiple (K) 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.1a and 802.11g standards. IEEE 802.1a and 802.1g 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 may support communication for both 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 the 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 modulation symbols from two antennas in two symbol periods, and the receiving device combines two received symbols obtained in the two symbol periods to recover the pair of modulation symbols sent by the transmitting device. 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.
A “legacy” 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 greater reliability and/or improved performance can be achieved.
There is therefore a need in the art for techniques to achieve transmit diversity in an OFDM-based system, especially for legacy single-antenna devices.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a multi-antenna system with an access point and user terminals.
FIG. 2 shows a block diagram of a multi-antenna transmitting entity, a single-antenna receiving entity, and a multi-antenna receiving entity.
FIG. 3 shows an OFDM waveform in the frequency domain.
FIG. 4 shows a block diagram of an OFDM modulator.
FIG. 5 shows a model for transmission with steering diversity for one subband.
FIG. 6 shows a transmit (TX) spatial processor and an OFDM modulator.
FIG. 7 shows plots of linear phase shifts across subbands for four antennas.
FIGS. 8A and 8B show two embodiments for achieving linear phase shifts using different delays for time-domain samples.
FIG. 8C shows transmissions from T transmit antennas for the embodiments shown in FIGS. 8A and 8B.
FIG. 9A shows an embodiment for achieving linear phase shifts using circular shifts for time-domain samples.
FIG. 9B shows transmissions from T transmit antennas for the embodiment shown in FIG. 9A.



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. For a centralized architecture, 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 and reception. Each user terminal 120 may be equipped with a single antenna or multiple antennas for data transmission and reception. 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 is equipped with multiple (T) transmit antennas, and a receiving entity may be equipped with a single antenna or multiple (R) antennas. A multiple-input single-output (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.
FIG. 2 shows a block diagram of a multi-antenna transmitting entity 210, a single-antenna receiving entity 250x, and a multi-antenna receiving entity 250y in system 100. Transmitting entity 210 may be an access point or a multi-antenna user terminal. Each receiving entity 250 may also be an access point or a user terminal.
At transmitting entity 210, a transmit (TX) data processor 212 processes (e.g., encodes, interleaves, and symbol maps) traffic/packet data and generates data symbols. As used herein, a “data symbol” is a modulation symbol for data, a “pilot symbol” is a modulation symbol for pilot (which is data that is known a priori by both the transmitting and receiving entities), a “transmit symbol” is a symbol to be sent from a transmit antenna, and a “received symbol” is a symbol obtained from a receive antenna. A TX spatial processor 220 receives and demultiplexes pilot and data symbols onto the proper subbands, performs spatial processing as appropriate, and provides T streams of transmit symbols for the T transmit antennas. An OFDM modulator (Mod) 230 performs OFDM modulation on the T transmit symbol streams and provides T streams of samples to T transmitter units (TMTR) 232a through 232t. Each transmitter unit 232 processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) its transmit symbol stream and generates a modulated signal. Transmitter units 232a through 232t provide T modulated signals for transmission from T antennas 234a through 234t, respectively.
At single-antenna receiving entity 250x, an antenna 252x receives the T transmitted signals and provides a received signal to a receiver unit (RCVR) 254x. Receiver unit 254x performs processing that is complementary to the processing performed by transmitter units 232 and provides a stream of samples. An OFDM demodulator (Demod) 260x performs OFDM demodulation on the sample stream to obtain received data and pilot symbols, provides the received data symbols to a detector 270x, and provides the received pilot symbols to a channel estimator 284x within a controller 280x. Channel estimator 284x derives channel estimates for the effective SISO channels between transmitting entity 210 and receiving entity 250x for subbands used for data transmission. Detector 270x performs detection on the received data symbols for each subband based on the effective SISO channel estimate for that subband and provides a stream of detected symbols for all subbands. A receive (RX) data processor 272x then processes (e.g., symbol demaps, deinterleaves, and decodes) the detected symbol stream and provides decoded data.
At multi-antenna receiving entity 250y, R antennas 252a through 252r receive the T transmitted signals, and each antenna 252 provides a received signal to a respective receiver unit 254. Each receiver unit 254 processes a respective received signal and provides a sample stream to an associated OFDM demodulator 260. Each OFDM demodulator 260 performs OFDM demodulation on its sample stream to obtain received data and pilot symbols, provides the received data symbols to an RX spatial processor 270y, and provides the received pilot symbols to a channel estimator 284y within a controller 280y. Channel estimator 284y derives channel estimates for the actual or effective MIMO channels between transmitting entity 210 and receiving entity 250y for subbands used for data transmission. Controller 280y derives spatial filter matrices based on the MIMO channel estimates. RX spatial processor 270y performs receiver spatial processing (or spatial matched filtering) 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 272y then processes the detected symbols for all subbands and provides decoded data.
Controllers 240, 280x, and 280y control the operation of the processing units at transmitting entity 210 and receiving entities 250x and 250y, respectively. Memory units 242, 282x, and 282y store data and/or program code used by controllers 240, 280x, and 280y, respectively.
FIG. 3 shows an OFDM waveform in the frequency domain. OFDM provides K total subbands, and the subcarrier for each subband may be individually modulated with data. Of the K total subbands, ND subbands may be used for data transmission, NP subbands may be used for pilot transmission, and the remaining NG subbands may be unused and serve as guard subbands, where K=ND+NP+NG. For example, 802.11a utilizes an OFDM structure that has 64 total subbands, of which 48 subbands are used for data transmission, 4 subbands are used for pilot transmission, and 12 subbands are unused. In general, system 100 may utilize any OFDM structure with any number of data, pilot, guard, and total subbands. For simplicity, the following description assumes that all K subbands are usable for data and pilot transmission.
FIG. 4 shows a block diagram of OFDM modulator 230 at transmitting entity 210. The data to be transmitted (or information bits) is typically first encoded to generate code bits, which are then interleaved. The interleaved bits are then grouped into B-bit binary values, where B≧1. Each B-bit value is then mapped to a specific modulation symbol based on a modulation scheme selected for use (e.g., M-PSK or M-QAM, where M=2B). Each modulation symbol is a complex value in a signal constellation for the selected modulation scheme. In each OFDM symbol period, one modulation symbol may be transmitted on each subband. (A signal value of zero, which is also called a zero symbol, is usually provided for each unused subband.) An inverse discrete Fourier transform (IDFT) unit 432 receives K modulation symbols for the K subbands in each OFDM symbol period, transforms the K modulation symbols to the time domain with a K-point IDFT, and provides a “transformed” symbol that contains K time-domain samples. Each sample is a complex-value to be transmitted in one sample period. A parallel-to-serial (P/S) converter 434 serializes the K samples for each transformed symbol. A cyclic prefix generator 436 then repeats a portion (or C samples) of each transformed symbol to form an OFDM symbol that contains K+C samples. The cyclic prefix is used to combat inter-symbol interference (ISI) caused by frequency selective fading, which is a frequency response that varies across the overall system bandwidth. An OFDM symbol period (which is also referred to herein as simply a “symbol period”) is the duration of one OFDM symbol and is equal to K+C sample periods.
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 T antennas at the transmitting entity and the single antenna at the receiving entity may be characterized by a set of K channel response row vectors, each of dimension 1×T, which may be expressed as:

h(k)=[h0(k)h1(k) . . . hT−1(k)], for k=0, . . . , K−1,  Eq (1)

where k is an index for subband and hi(k), for i=0, . . . , T−1, denotes the coupling or complex gain between transmit antenna i and the single receive antenna for subband k. For simplicity, the MISO channel response h(k) is shown as a function of only subband k and not time.

If the transmitting entity has an accurate estimate of the MISO channel response, then it may perform spatial processing to direct a data transmission toward the receiving entity. However, if the transmitting entity does not have an accurate estimate of the wireless channel, then the T transmissions from the T antennas cannot be intelligently adjusted based on the wireless channel.
When an accurate channel estimate is not available, the transmitting entity may transmit data from its T antennas to the single-antenna receiving entity using steering diversity to achieve transmit diversity, greater reliability, and/or improved performance. With steering diversity, the transmitting entity performs spatial processing such that the data transmission observes different effective channels across the subbands used for data transmission. Consequently, performance is not dictated by a bad channel realization. The spatial processing for steering diversity is also 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) in order to recover the data transmission and enjoy the benefits of transmit diversity. For clarity, the following description is generally for one OFDM symbol, and the index for time is omitted.
FIG. 5 shows a model for transmission with steering diversity for one subband k from multi-antenna transmitting entity 210 to single-antenna receiving entity 250x. A modulation symbol s(k) to be sent on subband k is spatially processed with T complex weights (or scalar values) v0(k) through VT−1(k) to obtain T transmit symbols for subband k, which are then processed and sent from the T transmit antennas. The T transmit symbols for subband k observe channel responses of h0(k) through hT−1(k).
The transmitting entity performs spatial processing for each subband k for steering diversity, as follows:

x(k)=v(k)·s(k), for k=0, . . . , K−1,  Eq (2)

where s(k) is a modulation symbol to be sent on subband k;

v(k)=[v0(k) vT−1(k) . . . vT−1(k)]T is a T×1 steering vector for subband k;

x(k)=[x0(k) x1(k) . . . xT−1(k)]T is a T×1 vector with T transmit symbols to be

    
    
        sent from the T transmit antennas on subband k; and “T” denotes a transpose.

In general, the modulation symbol s(k) may be any real or complex value (e.g., a signal value of zero) and does not need to be from a signal constellation.

    
    


The received symbols at the receiving entity for each subband k may be expressed as:




   
  
    
      
        
          
            
              
                
                  
                    r
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  =
                  
                  ⁢
                  
                    
                      
                        
                          h
                          _
                        
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                      ·
                      
                        
                          x
                          _
                        
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                    
                    +
                    
                      n
                      ⁡
                      
                        (
                        k
                        )
                      
                    
                  
                
                ,
              
            
          
          
            
              
                
                  =
                  
                  ⁢
                  
                    
                      
                        
                          h
                          _
                        
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                      ·
                      
                        
                          v
                          _
                        
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                      ·
                      
                        s
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                    
                    +
                    
                      n
                      ⁡
                      
                        (
                        k
                        )
                      
                    
                  
                
                ,
                
                  
                
                ⁢
                
                  
                    for
                    ⁢
                    
                      
                    
                    ⁢
                    k
                  
                  =
                  0
                
                ,
                ...
                ⁢
                
                  
                
                ,
                
                  K
                  -
                  1
                
                ,
              
            
          
          
            
              
                
                  =
                  
                  ⁢
                  
                    
                      
                        
                          h
                          eff
                        
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                      ·
                      
                        s
                        ⁡
                        
                          (
                          k
                          )
                        
                      
                    
                    +
                    
                      n
                      ⁡
                      
                        (
                        k
                        )
                      
                    
                  
                
                ,
              
            
          
        
      
      
        
          Eq
          ⁢
          
            
          
          ⁢
          
            (
            3
            )
          
        
      
    
  




where r(k) is a received symbol for subband k;

    
    
        heff(k) is an effective SISO channel response for subband k, which is heff(k)=h(k)·v(k); and
        n(k) is the noise for subband k.
    
    


As shown in equation (3), the spatial processing by the transmitting entity for steering diversity results in the modulation symbol s(k) for each subband k observing the effective SISO channel response heff(k), which includes the actual MISO channel response h(k) and the steering vector v(k) for that subband. The receiving entity can estimate the effective SISO channel response heff(k), for example, based on pilot symbols received from the transmitting entity. The receiving entity can then perform detection or matched filtering on the received symbol r(k) for each subband k with the effective SISO channel response estimate ĥeff(k) for that subband to obtain a detected symbol ŝ(k), which is an estimate of the modulation symbol s(k) transmitted on the subband.
The receiving entity may perform matched filtering as follows:




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




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

For steering diversity, the receiving entity does not need to know whether a single antenna or multiple antennas are used for data transmission and also does not need to know the steering vector used for each subband. The receiving entity can nevertheless enjoy the benefits of transmit diversity if different steering vectors are used across the subbands and different effective SISO channels are formed for these subbands. A data transmission sent across multiple subbands would then observe an ensemble of different effective SISO channels across the subbands used for data transmission.
FIG. 6 shows a block diagram of a TX spatial processor 220a and an OFDM modulator 230a, which are an embodiment of TX spatial processor 220 and OFDM modulator 230, respectively, in FIG. 2. TX spatial processor 220a receives K modulation symbols (or generically, input symbols) s(0) through s(K−1) for the K subbands for each OFDM symbol period. Within TX spatial processor 220a, a different set of K multipliers 620 multiplies the K modulation symbols with a set of K weights vi(0) through vi(K−1) for each transmit antenna i and provides K weighted symbols for that antenna. The modulation symbol s(k) for each subband k is transmitted from all T antennas and is multiplied with T weights v0(k) through vT−1(k) for the T transmit antennas for that subband. TX spatial processor 220a provides T sets of K weighted symbols for the T transmit antennas.
Within OFDM modulator 230a, the set of K weighted symbols for each transmit antenna i is transformed to the time-domain by a respective IDFT unit 632 to obtain a transformed symbol for that antenna. The K time-domain samples for the transformed symbol for each transmit antenna i are serialized by a respective P/S converter 634 and further appended with a cyclic prefix by a cyclic prefix generator 636 to generate an OFDM symbol for that antenna. The OFDM symbol for each transmit antenna i is then conditioned by transmitter unit 232 for that antenna and transmitted via the antenna.
For steering diversity, the transmitting entity uses different steering vectors for different subbands, with each steering vector defining or forming a beam for the associated subband. 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 of the K subbands, and the set of K steering vectors used for the K subbands may be denoted as {v(k)}. For each subband, the steering vector may be the same over time or may change, e.g., from symbol period to symbol period.
In general, any steering vector may be used for each of the K subbands for steering diversity. However, to ensure that performance is not degraded for single-antenna devices that are not aware of the steering diversity being performed and further rely on some correlation across the subbands, the steering vectors may be defined such that the beams vary in a continuous instead of abrupt manner across the subbands. This may be achieved by applying continuously changing phase shifts across the subbands for each transmit antenna. As an example, the phase shifts may change in a linear manner across the subbands for each transmit antenna, and each antenna may be associated with a different phase slope, as described below. The application of linearly changing phase shifts to modulation symbols in the frequency domain may be achieved by temporally modifying (e.g., either delaying or circularly shifting) the corresponding time-domain samples. If different steering vectors are used for different subbands, then the modulation symbols for these subbands are beamed in different directions by the array of N transmit antennas. If encoded data is spread over multiple subbands with different steering, then decoding performance will likely improve due to the increased diversity.
If the steering vectors for adjacent subbands generate beams in very different directions, then the effective SISO channel response heff(k) would also vary widely among the adjacent subbands. Some receiving entities may not be aware of steering diversity being performed, such as legacy single-antenna devices in an IEEE 802.11a system. These receiving entities may assume that the channel response varies slowly across the subbands and may perform channel estimation in a manner to simplify the receiver design. For example, these receiving entities may estimate the channel response for a subset of the K total subbands and use interpolation or some other techniques to derive estimates of the channel response for the other subbands. The use of abruptly changing steering vectors (e.g., pseudo-random steering vectors) may severely degrade the performance of these receiving entities.
To provide transmit diversity and avoid degrading the performance of legacy receiving entities, the steering vectors may be selected such that (1) different beams are used for different subbands and (2) the beams for adjacent subbands have smooth instead of abrupt transitions. The weights to use for the K subbands of the T transmit antennas may be expressed as:




  
    
      
        
          V
          _
        
        =
        
          
            [
            
              
                
                  
                    
                      v
                      _
                    
                    ⁡
                    
                      (
                      0
                      )
                    
                  
                
                
                  
                    
                      v
                      _
                    
                    ⁡
                    
                      (
                      1
                      )
                    
                  
                
                
                  ...
                
                
                  
                    
                      v
                      _
                    
                    ⁡
                    
                      (
                      
                        K
                        -
                        1
                      
                      )
                    
                  
                
              
            
            ]
          
          =
          
             
            
              
                [
                
                  
                    
                      
                        
                          v
                          0
                        
                        ⁡
                        
                          (
                          0
                          )
                        
                      
                    
                    
                      
                        
                          v
                          0
                        
                        ⁡
                        
                          (
                          1
                          )
                        
                      
                    
                    
                      ...
                    
                    
                      
                        
                          v
                          0
                        
                        ⁡
                        
                          (
                          
                            K
                            -
                            1
                          
                          )
                        
                      
                    
                  
                  
                    
                      
                        
                          v
                          1
                        
                        ⁡
                        
                          (
                          0
                          )
                        
                      
                    
                    
                      
                        
                          v
                          1
                        
                        ⁡
                        
                          (
                          1
                          )
                        
                      
                    
                    
                      ...
                    
                    
                      
                        
                          v
                          1
                        
                        ⁡
                        
                          (
                          
                            K
                            -
                            1
                          
                          )
                        
                      
                    
                  
                  
                    
                      ⋮
                    
                    
                      ⋮
                    
                    
                      ⋱
                    
                    
                      ⋮
                    
                  
                  
                    
                      
                        
                          v
                          
                            T
                            -
                            1
                          
                        
                        ⁡
                        
                          (
                          0
                          )
                        
                      
                    
                    
                      
                        
                          v
                          
                            T
                            -
                            1
                          
                        
                        ⁡
                        
                          (
                          1
                          )
                        
                      
                    
                    
                      ...
                    
                    
                      
                        
                          v
                          
                            T
                            -
                            1
                          
                        
                        ⁡
                        
                          (
                          
                            K
                            -
                            1
                          
                          )
                        
                      
                    
                  
                
                ]
              
              ,
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          5
          )
        
      
    
  




where V is a T×K matrix of weights for the K subbands of the T transmit antennas.

In an embodiment, the weights in the matrix V are defined as follows:




  
    
      
        
          
            
              v
              i
            
            ⁡
            
              (
              k
              )
            
          
          =
          
            
              B
              ⁡
              
                (
                i
                )
              
            
            ·
            
              e
              
                j
                ⁢
                
                  
                    2
                    ⁢
                    
                      π
                      ·
                      i
                      ·
                      k
                    
                  
                  K
                
              
            
          
        
        ,
        
          
            for
            ⁢
            
              
            
            ⁢
            i
          
          =
          0
        
        ,
        ...
        ⁢
        
          
        
        ,
        
          
            T
            -
            
              1
              ⁢
              
                
              
              ⁢
              and
              ⁢
              
                
              
              ⁢
              k
            
          
          =
          0
        
        ,
        ...
        ⁢
        
          
        
        ,
        
          K
          -
          1
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          6
          )
        
      
    
  




where B(i) is a complex gain for transmit antenna i;

    
    
        vi(k) is the weight for subband k of transmit antenna i; and
        j is the imaginary value defined by j=√{square root over (−1)}.
    
    


The magnitude of the complex gain for each transmit antenna may be set to one, or ∥B(i)∥=1.0 for i=0, . . . , T−1. The weights shown in equation (6) correspond to a progressive phase shift for each subband and antenna. These weights effectively form a slightly different beam for each subband for a linear array of T equally spaced antennas.
In a specific embodiment, the weights are defined as follows:




  
    
      
        
          
            
              v
              i
            
            ⁡
            
              (
              k
              )
            
          
          =
          
            
              
                e
                
                  
                    -
                    jπ
                  
                  ·
                  i
                
              
              ·
              
                e
                
                  j
                  ⁢
                  
                    
                      2
                      ⁢
                      
                        π
                        ·
                        i
                        ·
                        k
                      
                    
                    K
                  
                
              
            
            =
            
              e
              
                j2π
                ⁢
                
                  
                
                ⁢
                
                  i
                  K
                
                ⁢
                
                  (
                  
                    k
                    -
                    
                      
                    
                    ⁢
                    
                      K
                      2
                    
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          7
          )
        
      
    
  




for i=0, . . . , T−1 and k=0, . . . , K−1. The embodiment shown in equation (7) uses B(i)=e−jπ×i for equation (6). This results in a different phase shift being applied to each antenna.

FIG. 7 shows plots of the phase shifts for each transmit antenna for a case with T=4. The center of the K subbands is typically considered to be at zero frequency, as shown in FIG. 3. The weights generated based on equation (7) may be interpreted as creating a linear phase shift across the K subbands. Each transmit antenna i, for i=0, . . . , T−1, is associated with a phase slope of 2π·i/K. The phase shift for each subband k, for k=0, . . . , K−1, for each transmit antenna i is given as 2π·i·(k−K/2)/K. The use of B(i)=e−jπ×i result in subband k=K/2 observing a phase shift of zero.
The weights derived based on equation (7) may be viewed as a linear filter having a discrete frequency response of Gi(k′), which may be expressed as:




  
    
      
        
          
            
              G
              i
            
            ⁡
            
              (
              
                k
                ′
              
              )
            
          
          =
          
            
              
                v
                i
              
              ⁡
              
                (
                
                  
                    k
                    ′
                  
                  +
                  
                    K
                    /
                    2
                  
                
                )
              
            
            =
            
              e
              
                j2π
                ⁢
                
                  
                
                ⁢
                
                  
                    i
                    ·
                    
                      k
                      ′
                    
                  
                  K
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          8
          )
        
      
    
  




for i=0, . . . , T−1 and k′=(−K/2), . . . , (K/2−1). The subband index k is for a subband numbering scheme that places the zero frequency at subband Ncenter=K/2, as shown in FIG. 3. The subband index k′ is a shifted version of the subband index k by K/2, or k′=k−K/2. This results in subband zero being at zero frequency for the new subband numbering scheme with the index k′. Ncenter may be equal to some other value instead of K/2 if the index k is defined in some other manner (e.g., k=1, . . . , K) or if K is an odd number.

A discrete time-domain impulse response gi(n) for the linear filter may be obtained by performing a K-point IDFT on the discrete frequency response Gi(k′). The impulse response gi(n) may be expressed as:




   
  
    
      
        
          
            
              
                
                  
                    
                      g
                      i
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  =
                  
                    
                      1
                      K
                    
                    ·
                    
                      
                        ∑
                        
                          
                            k
                            ′
                          
                          =
                          
                            
                              -
                              K
                            
                            /
                            2
                          
                        
                        
                          
                            K
                            /
                            2
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        
                          
                            G
                            i
                          
                          ⁡
                          
                            (
                            
                              k
                              ′
                            
                            )
                          
                        
                        ·
                        
                          e
                          
                            j2π
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                n
                                ·
                                
                                  k
                                  ′
                                
                              
                              K
                            
                          
                        
                      
                    
                  
                
                ,
              
            
          
          
            
              
                
                  =
                  
                    
                      1
                      K
                    
                    ·
                    
                      
                        ∑
                        
                          
                            k
                            ′
                          
                          =
                          
                            
                              -
                              K
                            
                            /
                            2
                          
                        
                        
                          
                            K
                            /
                            2
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        
                          e
                          
                            j2π
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                i
                                ·
                                
                                  k
                                  ′
                                
                              
                              K
                            
                          
                        
                        ·
                        
                          e
                          
                            j2π
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                n
                                ·
                                
                                  k
                                  ′
                                
                              
                              K
                            
                          
                        
                      
                    
                  
                
                ,
              
            
          
          
            
              
                
                  =
                  
                    
                      1
                      K
                    
                    ·
                    
                      
                        ∑
                        
                          
                            k
                            ′
                          
                          =
                          
                            
                              -
                              K
                            
                            /
                            2
                          
                        
                        
                          
                            K
                            /
                            2
                          
                          -
                          1
                        
                      
                      ⁢
                      
                        e
                        
                          j2π
                          ⁢
                          
                            
                          
                          ⁢
                          
                            
                              k
                              ′
                            
                            K
                          
                          ⁢
                          
                            (
                            
                              i
                              +
                              n
                            
                            )
                          
                        
                      
                    
                  
                
                ,
              
            
          
          
            
              
                =
                
                  {
                  
                    
                      
                        1
                      
                      
                        
                          
                            for
                            ⁢
                            
                              
                            
                            ⁢
                            n
                          
                          =
                          
                            -
                            i
                          
                        
                      
                    
                    
                      
                        0
                      
                      
                        otherwise
                      
                    
                  
                
              
            
          
        
      
      
        
          Eq
          ⁢
          
            
          
          ⁢
          
            (
            9
            )
          
        
      
    
  




where n is an index for sample period and has a range of n=0, . . . , K−1. Equation (9) indicates that the impulse response gi(n) for transmit antenna i has a single unit-value tap at a delay of i sample periods and is zero at all other delays.

The spatial processing with the weights defined as shown in equation (7) may be performed by multiplying the K modulation symbols for each transmit antenna i with the K weights vi(0) through vi(K−1) for that antenna and then performing a K-point IDFT on the K weighted symbols. Equivalently, the spatial processing with these weights may be achieved by (1) performing a K-point IDFT on the K modulation symbols to obtain K time-domain samples, and (2) performing a circular convolution of the K time-domain samples with the impulse response gi(n), which has a single unit-value tap at a delay of i sample periods.
FIG. 8A shows a block diagram of a TX spatial processor 220b and an OFDM modulator 230b, which are another embodiment of TX spatial processor 220 and OFDM modulator 230, respectively, in FIG. 2. OFDM modulator 220b receives K modulation symbols s(0) through s(K−1) for the K subbands for each OFDM symbol period. Within OFDM modulator 230b, an IDFT unit 832 performs a K-point IDFT on the K modulation symbols and provides K time-domain samples. A P/S converter 834 serializes the K time-domain samples. A cyclic prefix generator 836 then appends a C-sample cyclic prefix and provides an OFDM symbol containing K+C samples to TX spatial processor 220b. TX spatial processor 220b includes T digital delay units 822a through 822t for the T transmit antennas. Each delay unit 822 receives and delays the OFDM symbol from OFDM demodulator 230b by a different amount determined by the associated transmit antenna. In particular, delay unit 822a for transmit antenna 234a delays the OFDM symbol by zero sample period, delay unit 822b for transmit antenna 234b delays the OFDM symbol by one sample period, and so on, and delay unit 822t for transmit antenna 234t delays the OFDM symbol by T−1 sample periods. The subsequent processing by transmitter units 232 is as described above.
FIG. 8B shows a block diagram of OFDM modulator 230b and a TX spatial processor 220c, which is yet another embodiment of TX spatial processor 220 in FIG. 2. OFDM modulator 220b performs OFDM modulation on K modulation symbols for each OFDM symbol period as described above for FIG. 8A. Transmitter unit 232 then receives and conditions the OFDM symbol for each symbol period to generate a modulated signal. TX spatial processor 220c provides time delay in the analog domain. TX spatial processor 220c includes T analog delay units 824a through 824t for the T transmit antennas. Each delay unit 824 receives and delays the modulated signal by a different amount determined by the associated transmit antenna. In particular, delay unit 824a for the first transmit antenna 234a delays the modulated signal by zero seconds, delay unit 824b for the second transmit antenna 234b delays the modulated signal by one sample period (or Tsam seconds), and so on, and delay unit 824t for the T-th transmit antenna 234t delays the modulated signal by (T−1) sample periods (or (T−1)·Tsam seconds). A sample period is equal to Tsam=1/(BW·(K+C)), where BW is the overall bandwidth of the system in Hertz.
FIG. 8C shows a timing diagram for the T transmissions from the T transmit antennas for the embodiments shown in FIGS. 8A and 8B. The same OFDM symbol is transmitted from each of the T transmit antennas. However, the OFDM symbol sent from each transmit antenna is delayed by a different amount. The T delayed and non-delayed OFDM symbols for the T antennas may be viewed as T different versions of the same OFDM symbol.
For the embodiments shown in equations (7) through (9) and FIGS. 8A through 8C, the delays for the T transmit antennas are in integer numbers of sample periods. Phase slopes that result in non-integer delays for the T transmit antennas (or




  
    
      B
      ⁡
      
        (
        i
        )
      
    
    =
    
      e
      
        
          -
          jπ
        
        ⁢
        
          
        
        ⁢
        
          i
          L
        
      
    
  
  ,




where L>1) may also be implemented. For example, the time-domain samples from OFDM modulator 230b in FIG. 8A may be up-sampled to a higher rate (e.g., with a period of Tupsam=Tsam/L), and the higher rate samples may be delayed by digital delay units 822 by integer numbers of the higher rate sample period (Tupsam). Alternatively, analog delay units 824 in FIG. 8B may provide delays in integer numbers of Tupsam (instead of Tsam).

When the number of transmit antennas is less than the cyclic prefix length (or T<C), the cyclic prefix appended to each OFDM symbol makes a linear delay by digital delay units 822 or analog delay units 824 appears like a circular rotation for the circular convolution with the time-domain impulse response gi(n). The weights as defined in equation (7) may thus be implemented by a time delay of i sample periods for each transmit antenna i, as shown in FIGS. 8A through 8C. However, as shown in FIG. 8C, the OFDM symbol is transmitted from the T transmit antennas at different delays, which reduces the effectiveness of the cyclic prefix to protect against multipath delay.
The IDFT of K weighted symbols (which are obtained by multiplying K modulation symbols with the phase slope shown in equation (7)) provides a time-domain sample sequence that is equal to a circular shift of the K time-domain samples from the IDFT of the K (original unweighted) modulation symbols. The spatial processing may thus be performed by circularly shifting these K time-domain samples.
FIG. 9A shows a block diagram of an OFDM modulator 230d and a TX spatial processor 220d, which are yet another embodiment of OFDM modulator 230 and TX spatial processor 220, respectively, in FIG. 2. Within OFDM modulator 230d, an IDFT unit 932 performs a K-point IDFT on the K modulation symbols and provides K time-domain samples, and a P/S converter 934 serializes the K time-domain samples. TX spatial processor 220d includes T circular shift units 922a through 922t for the T transmit antennas. Each unit 922 receives the K time-domain samples from P/S converter 934, performs a circular shift of the K time-domain samples by i samples for transmit antenna i, and provides a circular-shifted transformed symbol containing K samples. In particular, unit 922a performs a circular shift by 0 sample for transmit antenna 234a, unit 922b performs a circular shift by 1 sample for transmit antenna 234b, and so on, and unit 922t performs a circular shift by (T−1) samples for transmit antenna 234t. T cyclic prefix generators 936a through 936t receive the circular-shifted transformed symbols from units 922a through 922t, respectively. Each cyclic prefix generator 936 appends a C-sample cyclic prefix to its circular-shifted transformed symbol and provides an OFDM symbol containing (K+C) samples. The subsequent processing by transmitter units 232a through 232t is as described above.
FIG. 9B shows a timing diagram for the T transmissions from the T transmit antennas for the embodiment shown in FIG. 9A. A different version of the OFDM symbol is generated for each of the T transmit antennas by circularly shifting a different amount. However, the T different versions of the OFDM symbol are sent from the T transmit antennas at the same time.
The embodiments shown in FIGS. 8A, 8B, and 9A illustrate some of the ways in which spatial processing for steering diversity may be performed. In general, the spatial processing for steering diversity may be performed in various manners and at various locations within the transmitting entity. For example, the spatial processing may be performed in the time-domain or the frequency-domain, using digital circuitry or analog circuitry, prior to or after the OFDM modulation, and so on.
Equations (6) and (7) represent a function that provides linearly changing phase shifts across the K subbands for each transmit antenna. The application of linearly changing phase shifts to modulation symbols in the frequency domain may be achieved by either delaying or circularly shifting the corresponding time-domain samples, as described above. In general, the phase shifts across the K subbands for each transmit antenna may be changed in a continuous manner using any function so that the beams are varied in a continuous instead of abrupt manner across the subbands. A linear function of phase shifts is just one example of a continuous function. The continuous change ensures that the performance for single-antenna devices that rely on some amounts of correlation across the subbands (e.g., to simplify channel estimation) is not degraded.
In the description above, steering diversity is achieved for a transmission of one modulation symbol on each subband in each symbol period. Multiple (S) modulation symbols may also be sent via the T transmit antennas on one subband in one symbol period to a multi-antenna receiving entity with R receive antennas using steering diversity, where S≦min{T, R}
The steering diversity techniques described herein may be used for various wireless systems. These techniques may also be used for the downlink (or forward link) as well as the uplink (or reverse link). Steering diversity may be performed by any entity equipped with multiple antennas.
Steering diversity may be used in various manners. For example, a transmitting entity (e.g., an access point or a user terminal) may use steering diversity to transmit to a receiving entity (e.g., another access point or user terminal) when accurate information about the wireless channel is not available. Accurate channel information may not be available due to various reasons such as, for example, a feedback channel that is corrupted, a system that is poorly calibrated, the channel conditions changing too rapidly for the transmitting entity to use/adjust beam steering on time, and so on. The rapidly changing channel conditions may be due to, for example, the transmitting and/or receiving entity moving at a high velocity.
Steering diversity may also be used for various applications in a wireless system. In one application, broadcast channels in the system may be transmitted using steering diversity as described above. The use of steering diversity allows wireless devices in the system to possibly receive the broadcast channels with improved reliability, thereby increasing the range of the broadcast channels. In another application, a paging channel is transmitted using steering diversity. Again, improved reliability and greater coverage may be achieved for the paging channel via the use of steering diversity. In yet another application, an 802.11a access point uses steering diversity to improve the performance of user terminals under its coverage area.
The steering diversity 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 spatial processing for steering diversity 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 steering diversity techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory unit 242 in FIG. 2) and executed by a processor (e.g., controller 240). 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.
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 in a wireless communication system, comprising:
performing an inverse discrete Fourier transform on a plurality of input symbols for a plurality of frequency subbands to obtain a plurality of time-domain samples, wherein each frequency subband is associated with a different steering vector of a plurality of steering vectors, and
repeating a portion of the plurality of time-domain samples to obtain an input sequence of time-domain samples;
delaying the input sequence of time-domain samples by different sample period amounts to generate a plurality of output sequences of time-domain samples for a plurality of antennas, wherein each different sample period amount is associated with a different steering vector of the plurality of steering vectors; and
transmitting the plurality of output sequences from the plurality of antennas.

2. The method of claim 1, wherein the generating the plurality of output sequences of time-domain samples comprises:
delaying the input sequence by different integer numbers of sample periods to generate the plurality of output sequences.

3. The method of claim 1, wherein the generating the plurality of output sequences of time-domain samples comprises:
delaying the input sequence by different fractional amounts of a sample period to generate the plurality of output sequences.

4. The method of claim 1, wherein delaying the input sequence of time-domain samples by different sample period amounts comprises processing the time-domain samples to provide time delays corresponding to the different amounts in the analog domain prior to transmitting the plurality of output sequences from the plurality of antennas.

5. The method of claim 1, wherein the plurality of steering vectors are defined to vary beams in a continuous manner across the plurality of frequency subbands.

6. The method of claim 1, wherein the plurality of steering vectors are defined to change the different sample period amounts in a linear manner across the plurality of frequency subbands.

7. A method of transmitting data in a wireless communication system, comprising:
performing an inverse discrete Fourier transform on a plurality of input symbols for a plurality of frequency subbands to obtain a plurality of time-domain samples, wherein each frequency subband is associated with a different steering vector of a plurality of steering vectors, and
repeating a portion of the plurality of time-domain samples to obtain an input sequence of time-domain samples;
delaying the input sequence of time-domain samples by different amounts to generate a plurality of output sequences of time-domain samples for a plurality of antennas, wherein each different amount is associated with a different steering vector of the plurality of steering vectors; and
transmitting the plurality of output sequences from the plurality of antennas starting at different times.

8. The method of claim 7, wherein the plurality of steering vectors are defined to vary beams in a continuous manner across the plurality of frequency subbands.

9. The method of claim 7, wherein the plurality of steering vectors are defined to change the different amounts in a linear manner across the plurality of frequency subbands.

10. An apparatus in a wireless communication system, comprising:
a modulator to process data to obtain an input sequence of time-domain samples, wherein the modulator performs an inverse discrete Fourier transform on a plurality of input symbols for a plurality of frequency subbands to obtain a plurality of time-domain samples and further repeats a portion of the plurality of time-domain samples to obtain the input sequence of time-domain samples, wherein each frequency subband is associated with a different steering vector of a plurality of steering vectors;
a processor to generate a plurality of output sequences of time-domain samples for a plurality of antennas by temporally modifying the input sequence of time-domain samples, wherein the processor delays the input sequence by different sample period amounts to generate the plurality of output sequences, wherein each different sample period amount is associated with a different steering vector of the plurality of steering vectors; and
a plurality of transmitter units to transmit the plurality of output sequences from the plurality of antennas.

11. The apparatus of claim 10, wherein the processor comprises:
a plurality of delay unit to delay the input sequence by different fractional amounts of a sample period to generate the plurality of output sequences.

12. The apparatus of claim 10, wherein the processor delays the input sequence by different amounts to generate the plurality of output sequences by providing time delays corresponding to the different sample period amounts in the analog domain.

13. The apparatus of claim 10, wherein the plurality of steering vectors are defined to vary beams in a continuous manner across the plurality of frequency subbands.

14. The apparatus of claim 10, wherein the plurality of steering vectors are defined to change the different sample period amounts in a linear manner across the plurality of frequency subbands.

15. An apparatus in a wireless communication system, comprising:
means for processing data to obtain an input sequence of time-domain samples, wherein the means for processing the data comprises
means for performing an inverse discrete Fourier transform on a plurality of input symbols for a plurality of frequency subbands to obtain a plurality of time-domain samples, wherein each frequency subband is associated with a different steering vector of a plurality of steering vectors;
means for repeating a portion of the plurality of time-domain samples to obtain the input sequence of time-domain samples;

means for generating a plurality of output sequences of time-domain samples for a plurality of antennas by temporally modifying the input sequence of time-domain samples, wherein the means for generating the plurality of output sequences of time-domain samples comprises:
means for delaying the input sequence by different sample period amounts to generate the plurality of output sequences, wherein each different sample period amount is associated with a different steering vector of the plurality of steering vectors; and means for transmitting the plurality of output sequences from the plurality of antennas.

16. The apparatus of claim 15, wherein the means for delaying the input sequence by different amounts to generate the plurality of output sequences provides time delays corresponding to the different sample period amounts in the analog domain.

17. The apparatus of claim 15, wherein the plurality of steering vectors are defined to vary beams in a continuous manner across the plurality of frequency subbands.

18. The apparatus of claim 15, wherein the plurality of steering vectors are defined to change the different sample period amounts in a linear manner across the plurality of frequency subbands.

19. An apparatus in a wireless communication system, comprising:
means for processing data to obtain an input sequence of time-domain samples, wherein the means for processing the data comprises
means for performing an inverse discrete Fourier transform on a plurality of input symbols for a plurality of frequency subbands to obtain a plurality of time-domain samples, wherein each frequency subband is associated with a different steering vector of a plurality of steering vectors, and
means for repeating a portion of the plurality of time-domain samples to obtain the input sequence of time-domain samples;

means for generating a plurality of output sequences of time-domain samples for a plurality of antennas by temporally modifying the input sequence of time-domain samples, wherein the means for generating the plurality of output sequences of time-domain samples comprises:
means for delaying the input sequence by different amounts to generate the plurality of output sequences, wherein each different amount is associated with a different steering vector of the plurality of steering vectors; and

means for transmitting the plurality of output sequences from the plurality of antennas starting at different times.

20. The apparatus of claim 19, wherein the plurality of steering vectors are defined to vary beams in a continuous manner across the plurality of frequency subbands.

21. The apparatus of claim 19, wherein the plurality of steering vectors are defined to change the different sample period amounts in a linear manner across the plurality of frequency subbands.

22. A computer-program apparatus for processing data for transmission in a wireless communication system comprising a memory unit having instructions stored thereon, the instructions being executable by one or more processors and the instructions comprising:
instructions for processing data to obtain an input sequence of time-domain samples, wherein the computer-executable instructions for processing the data comprise:
instructions for performing an inverse discrete Fourier transform on a plurality of input symbols for a plurality of frequency subbands to obtain a plurality of time-domain samples, wherein each frequency subband is associated with a different steering vector of a plurality of steering vectors, and
instructions for repeating a portion of the plurality of time-domain samples to obtain the input sequence of time-domain samples;

instructions for generating a plurality of output sequences of time-domain samples for a plurality of antennas by temporally modifying the input sequence of time-domain samples, wherein the computer-executable instructions for generating the plurality of output sequences of time-domain samples comprise
instructions for delaying the input sequence by different sample period amounts to generate the plurality of output sequences, wherein each different sample period amount is associated with a different steering vector of the plurality of steering vectors; and instructions for transmitting the plurality of output sequences from the plurality of antennas.

23. The computer-program apparatus of claim 22, wherein the computer-executable instructions for generating the plurality of output sequences of time-domain samples comprise:
instructions for delaying the input sequence by different integer numbers of sample periods to generate the plurality of output sequences.

24. The computer-program apparatus of claim 22, wherein the computer-executable instructions for generating the plurality of output sequences of time-domain samples comprise:
instructions for delaying the input sequence by different fractional amounts of a sample period to generate the plurality of output sequences.

25. The computer-program apparatus of claim 22, wherein the instructions for delaying the input sequence by different amounts to generate the plurality of output sequences comprise instructions for providing time delays corresponding to the different sample period amounts in the analog domain.

26. The computer-program apparatus of claim 22, wherein the plurality of steering vectors are defined to vary beams in a continuous manner across the plurality of frequency subbands.

27. The computer-program apparatus of claim 22, wherein the plurality of steering vectors are defined to change the different sample period amounts in a linear manner across the plurality of frequency subbands.

28. A computer-program apparatus for processing data for transmission in a wireless communication system comprising a memory unit having instructions stored thereon, the instructions being executable by one or more processors and the instructions comprising:
instructions for processing data to obtain an input sequence of time-domain samples, wherein the computer-executable instructions for processing the data comprise:
instructions for performing an inverse discrete Fourier transform on a plurality of input symbols for a plurality of frequency subbands to obtain a plurality of time-domain samples, wherein each frequency subband is associated with a different steering vector of a plurality of steering vectors, and
instructions for repeating a portion of the plurality of time-domain samples to obtain the input sequence of time-domain samples;

instructions for generating a plurality of output sequences of time-domain samples for a plurality of antennas by temporally modifying the input sequence of time-domain samples, wherein the computer-executable instructions for generating the plurality of output sequences of time-domain samples comprise
instructions for delaying the input sequence by different amounts to generate the plurality of output sequences, wherein each different amount is associated with a different steering vector of the plurality of steering vectors; and

instructions for transmitting the plurality of output sequences from the plurality of antennas starting at different times.

29. The computer-program apparatus of claim 28, wherein the plurality of steering vectors are defined to vary beams in a continuous manner across the plurality of frequency subbands.

30. The computer-program apparatus of claim 28, wherein the plurality of steering vectors are defined to change the different amounts in a linear manner across the plurality of frequency subbands.