Patent Document

CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present disclosure is a continuation of U.S. patent application Ser. No. 13/430,170 (now U.S. Pat. No. 8,588,144), filed Mar. 26, 2012, which is a continuation of U.S. patent application Ser. No. 12/175,526 (now U.S. Pat. No. 8,144,647), filed Jul. 18, 2008. This application claims the benefit of U.S. Provisional Application No. 60/950,429, filed on Jul. 18, 2007 and U.S. Provisional Application No. 61/057,609, filed on May 30, 2008. The entire disclosures of the applications referenced above are incorporated herein by reference. 
     
    
     FIELD 
       [0002]    The present disclosure relates to wireless networks, and more particularly to wireless access points with simultaneous downlink transmission of independent data for multiple wireless client stations. 
       BACKGROUND 
       [0003]    The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure. 
         [0004]    When operating in an infrastructure mode, Wireless Local Area Networks (WLANs) typically include an access point (AP) and one or more client stations. WLANs have evolved rapidly over the past decade. Development of WLAN standards such as IEEE §§802.11a/b/en has focused primarily on improving single-user peak data throughput. For example, IEEE §802.11b operates at a single-user peak throughput of 11 Mbps, IEEE §802.11a/g operates at a single-user peak throughput of 54 Mbps, and IEEE §802.11n operates at a single-user peak throughput of 600 Mbps. 
         [0005]    In these WLANs, the AP transmits information to one client station at a time in a unicast mode. Alternatively, the same information may be transmitted to a group of client stations concurrently in a multicast mode. This approach reduces network efficiency because other client stations need to wait until the current client station or group of client stations is serviced. When transmitting the same information to the group of client stations, throughput may be limited by one of the client stations with the weakest reception. 
       SUMMARY 
       [0006]    An access point is provided and includes a first transmitter and a second transmitter. The first transmitter is configured to (i) during a first window, transmit a first data stream to a first client station, and (ii) during a second window, transmit a second data stream to a second client station. The second transmitter is configured to: during the first window and while the first transmitter transmits the first data stream to the first client station, transmit a third data stream to a third client station; during a first portion of the second window and while the first transmitter is transmitting the second data stream to the second client station, refrain from transmitting a fourth data stream to a fourth client station; and subsequent to the first transmitter completing the transmission of the second data stream and during a second portion of the second window, transmit the fourth data stream to the fourth client station. 
         [0007]    In other features, a method is provided and includes: during a first window, transmitting, via a first transmitter, a first data stream from an access point to a first client station; during a second window, transmitting, via the first transmitter, a second data stream from the access point to a second client station; and during the first window and while the first transmitter transmits the first data stream to the first client station, transmitting, via a second transmitter, a third data stream from the access point to a third client station. The method further includes: during a first portion of the second window and while the first transmitter is transmitting the second data stream to the second client station, refraining from transmitting a fourth data stream from the second transmitter to a fourth client station; and subsequent to the first transmitter completing the transmission of the second data stream to the second client station and during a second portion of the second window, transmitting, via the second transmitter, the fourth data stream from the access point to the fourth client station. 
         [0008]    A wireless network device is provided and includes modulation modules. Each of the modulation modules is configured to (i) receive a data stream, and (ii) modulate the data stream to generate a modulated data stream. A matrix module is configured to (i) generate a multiplexing matrix based on channel conditions between the wireless network device and each of a plurality of client stations, and (ii) apply the multiplexing matrix to each of the modulated data streams to generate multiplexed data streams. The wireless network device also includes summing modules. Each of the summing modules is configured to sum at least two of the multiplexed data streams to generate a transmit data stream. A first transmitter is configured to transmit a first one of the transmit data streams during a downlink transmission period to a first one of the client stations. A second transmitter is configured to transmit a second one of the transmit data streams to a second one of the client stations while the first transmitter transmits the first one of the transmit data streams. 
         [0009]    In other features, the wireless network device simultaneously transmits the M transmit data streams to R client stations. The wireless network device transmits a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. M receivers respectively receive R acknowledgements (ACKs) from the R client stations during R allocated time slots of the SDT period. Each of the R modulation modules includes a spatial mapping module that performs spatial mapping of one of the R independent data streams and that generates M spatial data streams; M modulation mapping modules that receive respective ones of the M spatial data streams and that output a set of tones; a multiplexing matrix module that applies the multiplexing matrix to the M sets of tones; and an inverse Fast Fourier Transform module that communicates with an output of the multiplexing matrix module. 
         [0010]    In other features, each of the M modulation mapping modules includes a quadrature amplitude modulation (QAM) module. A multiplexing matrix module generates a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The multiplexing matrix module determines a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The multiplexing matrix module determines a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The multiplexing matrix module determines the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations. 
         [0011]    In other features, the multiplexing matrix adjusts at least one of amplitude and phase for tones of the M transmit data streams. A transmitted signal vector s transmitted by the wireless network device is based on: 
         [0000]    
       
         
           
             s 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 N 
               
                
               
                 
                   W 
                   i 
                 
                  
                 
                   x 
                   i 
                 
               
             
           
         
       
     
         [0000]    where x i  is an information vector intended for an i th  client station, W i  is the multiplexing matrix for the i th  client station. 
         [0012]    In other features, a receiver receives channel state information (CSI) from the R client stations. Alternately, a channel condition estimator estimates channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets. 
         [0013]    A method includes receiving R independent data streams; modulating the R independent data streams; applying a multiplexing matrix to generate M modulated and multiplexed data streams, respectively, where R and M are integers greater than one; summing portions of each of the M modulated and multiplexed data streams to generate M transmit data streams; and simultaneously transmitting the M transmit data streams during a simultaneous downlink transmission (SDT) period. 
         [0014]    In other features, the method includes transmitting the M transmit data streams to R client stations at the same time. The method includes transmitting a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. The method includes receiving R acknowledgements (ACKs) from the R client stations during R allocated time slots of the SDT period. The method includes performing spatial mapping of one of the R independent data streams and generating M spatial data streams; receiving respective ones of the M spatial data streams and outputting M sets of tones; applying the multiplexing matrix to the M sets of tones; and performing an inverse Fast Fourier Transform. 
         [0015]    In other features, each of the M modulation mapping modules includes a quadrature amplitude modulation (QAM) module. The method includes generating a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The method includes determining a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The method includes determining a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The method includes determining the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations. The method includes adjusting at least one of amplitude and phase for tones of the M transmit data streams. A transmitted signal vector s is based on: 
         [0000]    
       
         
           
             s 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 N 
               
                
               
                 
                   W 
                   i 
                 
                  
                 
                   x 
                   i 
                 
               
             
           
         
       
     
         [0000]    where x i  is an information vector intended for an i th  client station, W i  is the multiplexing matrix for the i th  client station. 
         [0016]    In other features, the method includes receiving channel state information (CSI) from the R client stations. The method includes estimating channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets. 
         [0017]    A wireless network device includes R modulation means for receiving R independent data streams, for modulating the R independent data streams, and for applying a multiplexing matrix to generate M modulated and multiplexed data streams, respectively, where R and M are integers greater than one. M summing means sum portions of each of the M modulated and multiplexed data streams to generate M transmit data streams. M transmitting means simultaneously transmit the M transmit data streams during a simultaneous downlink transmission (SDT) period. 
         [0018]    In other features, the wireless network device simultaneously transmits the M transmit data streams to R client stations. The wireless network device transmits a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. M receiving means receive R acknowledgements (ACKs) from the R client stations during R allocated time slots, respectively, of the SDT period. Each of the R modulation means includes spatial mapping means for performing spatial mapping of one of the R independent data streams and for generating M spatial data streams; M modulation mapping means for receiving respective ones of the M spatial data streams and for outputting M sets of tones; multiplexing matrix means for applying the multiplexing matrix to the M sets of tones; and inverse Fast Fourier Transform means for communicating with an output of the multiplexing matrix means. 
         [0019]    In other implementations, each of the M modulation mapping means performs quadrature amplitude modulation (QAM). Multiplexing matrix means generates a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The multiplexing matrix means determines a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The multiplexing matrix means determines a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The multiplexing matrix means determines the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations. The multiplexing matrix adjusts at least one of amplitude and phase for tones of the M transmit data streams. 
         [0020]    In other features, a transmitted signal vector s transmitted by the wireless network device is based on: 
         [0000]    
       
         
           
             s 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 N 
               
                
               
                 
                   W 
                   i 
                 
                  
                 
                   x 
                   i 
                 
               
             
           
         
       
     
         [0000]    where x i  is an information vector intended for an i th  client station, W i  is the multiplexing matrix for the i th  client station. 
         [0021]    In other features, receiving means receives channel state information (CSI) from the R client stations. 
         [0022]    In other features, channel condition estimating means estimates channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets. 
         [0023]    A computer program stored on a computer readable medium and executed by a processor includes receiving R independent data streams; modulating the R independent data streams; applying a multiplexing matrix to generate M modulated and multiplexed data streams, respectively, where R and M are integers greater than one; summing portions of each of the M modulated and multiplexed data streams to generate M transmit data streams; and simultaneously transmitting the M transmit data streams during a simultaneous downlink transmission (SDT) period. 
         [0024]    In other features, the computer program further includes transmitting the M transmit data streams to R client stations at the same time. The computer program includes transmitting a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. The computer program includes receiving R acknowledgements (ACKs) from the R client stations during R allocated time slots of the SDT period. 
         [0025]    In other features, the computer program includes performing spatial mapping of one of the R independent data streams and generating M spatial data streams; receiving respective ones of the M spatial data streams and outputting M sets of tones; applying the multiplexing matrix to the M sets of tones; and performing an inverse Fast Fourier Transform. 
         [0026]    In other features, each of the M modulation mapping modules includes a quadrature amplitude modulation (QAM) module. The computer program includes generating a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The computer program includes determining a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The computer program includes determining a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The computer program includes determining the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations. The computer program includes adjusting at least one of amplitude and phase for tones of the M transmit data streams. 
         [0027]    In other features, the computer program includes transmitting a transmitted signal vector s based on: 
         [0000]    
       
         
           
             s 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 N 
               
                
               
                 
                   W 
                   i 
                 
                  
                 
                   x 
                   i 
                 
               
             
           
         
       
     
         [0000]    where x, is an information vector intended for an i th  client station, W i  is the multiplexing matrix for the i th  client station. 
         [0028]    In other features, the computer program includes receiving channel state information (CSI) from the R client stations. The computer program includes estimating channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets. 
         [0029]    In still other features, the systems and methods described above are implemented by a computer program executed by one or more processors. The computer program can reside on a computer readable medium such as but not limited to memory, nonvolatile data storage, and/or other suitable tangible storage mediums. 
         [0030]    Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. It should be understood that the detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0031]    The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein: 
           [0032]      FIG. 1  is a functional black diagram of a WLAN including an access point (AP) and one or more client stations; 
           [0033]      FIG. 2  is a timing diagram illustrating legacy windows and a simultaneous down link transmission (SDT) window; 
           [0034]      FIG. 3  is a timing diagram illustrating a downlink STD packet and acknowledgments; 
           [0035]      FIG. 4A  is a functional block diagram of a transmit path of an AP; 
           [0036]      FIG. 4B  illustrates a method performed by the transmit path of an AP; 
           [0037]      FIG. 5A  illustrates an exemplary SDT client station; 
           [0038]      FIG. 5B  illustrates a method performed by the SDT client station of  FIG. 5A ; 
           [0039]      FIG. 6A  illustrates an exemplary AP; 
           [0040]      FIG. 6B  illustrates a method performed by the AP of  FIG. 6A ; 
           [0041]      FIG. 7A  illustrates an exemplary AP; 
           [0042]      FIG. 7B  illustrates a method performed by the AP of  FIG. 7A ; 
           [0043]      FIG. 8A  is a functional block diagram of a high definition television; 
           [0044]      FIG. 8B  is a functional block diagram of a vehicle control system; 
           [0045]      FIG. 8C  is a functional block diagram of a cellular phone; 
           [0046]      FIG. 8D  is a functional block diagram of a set top box; and 
           [0047]      FIG. 8E  is a functional block diagram of a mobile device. 
       
    
    
     DESCRIPTION 
       [0048]    The following description is merely exemplary in nature and is in no way intended to limit the disclosure, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical or. It should be understood that steps within a method may be executed in different order without altering the principles of the present disclosure. 
         [0049]    As used herein, the term module refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. 
         [0050]    A wireless network device such as an access point (AP) according to the present disclosure transmits independent data streams to multiple client stations simultaneously (hereinafter simultaneous downlink transmission (SDT)). Using this approach increases the number of client stations that can be serviced by a single AP during a given time interval. In addition, in one aspect, the present disclosure takes advantage of differing channel conditions of client stations associated with the AP to improve throughput. 
         [0051]    Referring now to  FIG. 1 , a wireless local area network (WLAN)  10  includes an access point (AP)  14 . The AP  14  includes a network interface  16  including a medium access control (MAC) module  18 , a physical layer (PHY) module  20 , M transceivers  22 - 1 ,  22 - 2 , . . . ,  22 -M, and M antennas  24 - 1 ,  24 - 2 , . . . ,  24 -M (collectively antennas  24 ), where M is an integer greater than one. 
         [0052]    The WLAN  10  is associated with T client stations  26 - 1 ,  26 - 2 , . . . ,  26 -T (collectively client stations  26 ), where T is an integer greater than one. R of the T client stations are SDT enabled, and (T-R) of the T client stations  26  may be legacy client stations that are not SDT enabled, where R is an integer less than or equal to T. Each of the client stations  26  may include a network interface  27  including a MAC module  28 , a PHY module  29 , P i  transceivers  30 - 1 ,  30 - 2 , . . . ,  30 -P i , and P, antennas  32 - 1 ,  32 - 2 , . . . ,  32 -P i , where P i  is an integer greater than zero, and i corresponds to an i th  one of the T client stations  26 . The client stations  26  may have different numbers of transceivers and antennas. 
         [0053]    The AP  14  simultaneously transmits independent data to two or more of the R client stations  26  that are SDT enabled during an SDT window. For example, during a given SDT window, the AP  14  can transmit first data to a first SDT enabled client station while simultaneously transmitting second data to a second SDT enabled client data station. The SDT window includes a SDT portion and an acknowledgement portion following the SDT portion. For example only, the independent data may be arranged as packets, frames or sub-frames. In addition, the AP  14  may also transmit and receive data to/from the (T-R) legacy client stations  26  in a conventional manner (e.g., using a non-overlapping transmission approach) during a legacy window, such as a carrier sense multiple access (CSMA) window. Multi-user throughput is the sum of single-user throughputs of simultaneously serviced client stations  26 . Multi-user throughput is based on the number of users that can be reliably serviced simultaneously. Increasing the number of transmit antennas tends to improve the ability of the AP  14  to simultaneously service more client stations  26 . 
         [0054]    The AP  14  and the client stations  26  may communicate using orthogonal frequency division multiplexing (OFDM) processing. A multiplexing matrix W for each of the client stations  26  may be determined based on channel conditions between the AP  14  and the client station  26  for each OFDM tone. For example, channel knowledge may be obtained at the AP  14  using explicit simultaneous downlink transmission (SDT) and/or implicit SDT. For explicit SDT, the client station  26  feeds back channel state information (CSI) to the AP  14 . For implicit SDT, the AP  14  infers the CSI or channel conditions from signals received from the client station  26  on a reverse link. The implicit SDT approach may incorporate an initial calibration exchange so that the AP  14  can calculate an appropriate correction matrix to infer forward channel conditions from the reverse channel conditions. The client stations  26  may be simultaneously serviced using the above techniques. The multiplexing matrix W for a client station  26  may be refreshed periodically—e.g., when certain events occur and/or when client channel conditions change. 
         [0055]    A signal (or vector) to be transmitted to each client station  26  may be multiplied by a corresponding multiplexing matrix W. The multiplexing matrix W for each client station  26  will generally be different from that for other client stations  26 . The multiplexing matrix W will typically be a function of the channel conditions between the AP  14  and the respective ones of the client stations  26 . Steered signal vectors corresponding to the different client stations  26  are combined (e.g., added) and simultaneously transmitted by the AP  14  during an SDT window. The client stations  26  that receive the SDT data send an acknowledgement (ACK) during an allocated time slot during a later portion of the SDT window as will be described further below. 
         [0056]    Each client station  26  receives signals intended for the client station  26  and signals intended for other client stations  26  as transformed by the channel. The multiplexing matrix W may be constructed based on interference avoidance and/or signal-to-interference and noise ratio (SINR) balancing. Interference avoidance attempts to minimize the amount of non-desired signal energy arriving at a client station  26 . In the best case, interference avoidance ensures that signals intended for a particular client station  26  arrive only at the desired client station(s). 
         [0057]    In addition to interference avoidance, signal-to-interference and noise ratio (SINR) balancing may be performed by the AP  14 . SINR balancing involves designing multiplexing matrices to actively control the SINRs observed at the serviced client stations  26 . For example, one SINR balancing approach may include maximizing the minimum SINR across serviced client stations  26 . 
         [0058]    A transmission signal model for a single tone for OFDM according to one implementation is set forth below: 
         [0000]    
       
         
           
             s 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 N 
               
                
               
                 
                   W 
                   i 
                 
                  
                 
                   x 
                   i 
                 
               
             
           
         
       
     
         [0000]    where s is a transmitted signal vector for one tone, N is a number of simultaneously serviced users, x i  is an information vector (T i ×1, T i &lt;P i ) intended for the i th  user, IN, is a multiplexing matrix (M×T i ) for the i th  user, M is a number of transmit antennas of the AP  14 , and P, is the number of receive antennas of the i th  client station  26 . The transmission signal model extends to other OFDM tones. In addition, other modulation schemes and/or variants of OFDM may be used such as orthogonal OFDM multiple access (OFDMA). 
         [0059]    For example only, the AP  14  determines the multiplexing matrix W for each of the client stations  26  based on channel conditions between the AP  14  and the respective client stations  26 . The channel conditions for each of k tones of an OFDM signal may be as shown in Table I: 
         [0000]                                                              TABLE I                       Tones                                        Client Station 1   H 1   1     H 2   1     H 3   1     . . .   H k   1             Client Station 2   H 1   2     H 2   2     H 3   2     . . .   H k   2             . . .   . . .   . . .   . . .   . . .   . . .           Client Station   H 1   S     H 2   S     H 3   S     . . .   H k   S                          
H 1   1  represents the channel for a first tone of a first client station  26 , H 2   1  represents the channel for second tone of the first client station  26 , etc. The first tone received by the first client station  26  will be H 1   1 [W 1   1 s 1 +W 1   2 s 2 + . . . +W 1   N s s ]. The multiplexing matrix W may be selected to allow the first client station  26  to receive W 1   1 W 1   1 s 1  and to have the remaining signals s 2 , s 3 , . . . , s s  be in a null space for the first client station  26 . Therefore when using the signal interference approach, the values of the multiplexing matrix W are selected such that H 1   1 W 1   2 ≈0, . . . , H 1   1 W 1   N ≈0. In other words, the multiplexing matrix W adjusts phases and amplitudes for these OFDM tones such that a null is created at the first client station  26 . That way, the first client station  26  can receive the intended signal s 1  without interference from other signals s 2 , s 3 , . . . , s s  intended for the other client stations  26 .
 
         [0060]    Power available to the AP  14  is typically constrained. When servicing multiple client stations  26  simultaneously, power available at the AP  14  may be allocated across multiple client stations  26 . This, in turn, affects the SINR observed at each of the client stations  26 . SDT tends to work best with flexible power management across the client stations  26 . For instance, a client station  26  with low data rate requirements may be allocated less power by the AP  14 . For instance, power may only be allocated to client stations  26  that have high probability of reliable reception (so as not to waste transmit power). Power may be adjusted in the corresponding multiplexing matrix W and/or after using other amplitude adjustment methods. 
         [0061]    Independent data may also be simultaneously multicast to groups (independent across groups) of client stations  26 . SDT may also be combined with the concept of data aggregation. Frames transmitted from the AP  14  may be divided into subframes. Conventionally, each subframe is addressed to a single client station  26  or a group of client stations  26 . With SDT each sub-frame may carry independent information to client stations  26  or groups of client stations  26 . 
         [0062]    Referring now to  FIGS. 2 and 3 , exemplary legacy windows and SDT windows used by the AP  14  are shown. The AP  14  may transmit or receive data to/from legacy client stations  26  during legacy windows  50 ,  52 . For example, the legacy windows  50 ,  52  may be CSMA windows. During an SDT window  54 , the AP  14  sends SDT data  60  to multiple client stations  26  and then receives acknowledgements from the client stations  26 . During the SDT window  54 , other network devices are unable to transmit data. Time sufficient for the SDT window  54  may be arranged with the legacy client stations using MAC mechanisms provided by existing WLAN specifications. 
         [0063]    In  FIG. 3 , the downlink SDT data  60  may be followed by a period of acknowledgments (ACKs)  62 - 1 ,  62 - 2 , . . .  62 -X (collectively ACKs  62 ) from SDT-enabled client stations  26  that received data during the SDT window  54 . The ACKs  62  may be transmitted after the SDT data based on a fixed schedule (e.g., using a time slot based approach). Allocation of the time slots may be performed by the AP  14 . For example, timing data based on the allocation of the time slots may be sent to the client stations  26  in the SDT downlink frame. However, the allocation of time for ACKs may be distributed using other approaches and/or at other times. 
         [0064]    Referring now to  FIGS. 4A and 4B , a transmit path  100  of the AP  14  is shown. The transmit path  100  includes encoder modules  110 - 1 ,  110 - 2 , . . . ,  110 -R (collectively encoder modules  110 ) that receive R independent bit streams intended for R client stations  26 . The encoder modules  110  output encoded bit streams to spatial mapping modules  114 - 1 ,  114 - 2 , . . . ,  114 -R (collectively spatial mapping modules  114 ), which perform spatial mapping. 
         [0065]    Outputs of the spatial mapping modules  114  are input to quadrature amplitude modulation (QAM) mapping modules  116 - 11 ,  116 - 12 , . . . ,  116 -RM (collectively QAM mapping modules  116 ), which perform QAM and serial-to-parallel (S/P) conversion. The QAM mapping modules  116  output OFDM tones that are input to multiplexing matrix modules  118 - 1 ,  118 - 2 , . . . ,  118 -R (collectively multiplexing matrix modules  118 ). The multiplexing matrix modules  118  multiply the OFDM tones by a multiplexing matrix W as described herein. 
         [0066]    Outputs of the multiplexing matrix modules  118  are input to inverse Fast Fourier Transform (IFFT) modules  120 - 11 ,  120 - 12 , . . . ,  120 -RM (collectively IFFT modules  120 ). Outputs of the IFFT modules  120  are input to a parallel-to-serial (P/S) converter and cyclic prefix modules  124 - 11 ,  124 - 12 , . . . ,  124 -RM (collectively P/S and CP modules  124 ). Outputs of the P/S and CP modules  124  are input to digital-to-analog converters (DACs)  128 - 11 ,  128 - 12 , . . . ,  128 -RM (collectively DACs  128 ). Summing modules  132 - 1 ,  132 - 2 , . . . ,  132 -M sum corresponding outputs of the DACs  128  for each of the data streams and output the sum to transmitters  134 - 1 ,  134 - 2 , . . . ,  134 -M and associated antennas. 
         [0067]    In  FIG. 4B , a method  200  performed by the transmit path  100  of the AP  14  is shown. The method begins with step  202  and proceeds to step  203 . In step  203 , the AP  14  may reserve a clear channel by instructing legacy client stations to refrain from transmitting during an SDT period. In step  204 , the AP  14  may add ACK timing slot data for the SDT-enabled client stations. 
         [0068]    In step  206 , the transmit path  100  encodes multiple independent data dreams for different client stations. In step  208 , spatial mapping is performed on the multiple data streams. In step  210 , quadrature amplitude modulation is performed on the multiple data streams. In step  212 , the SDT multiplexing matrix W is applied to the multiple data streams. In step  214 , an inverse Fast Fourier Transform (IFFT) is performed on the multiple data streams. In step  216 , the multiple data streams are converted from digital to analog format. The multiple data streams are summed in step  218  and transmitted at the same time in step  220 . The method ends with step  222 . 
         [0069]    Referring now to  FIGS. 5A and 5B , an exemplary client station  26  is shown. The client station  26  is SDT enabled and includes the MAC module  28  and the PHY module  29 . The MAC module  28  further includes an ACK timing module  240  and a channel estimation module  242 . The ACK timing module  240  receives an acknowledgment timing slot from the AP  14  as described above. The ACK timing module  240  determines when to transmit an ACK after receiving the SDT data. 
         [0070]    In  FIG. 5B , a method performed by the client station  26  of  FIG. 5A  is shown. The method  260  begins with step  262 . In step  264 , the client station  26  determines whether the SDT data  60  was received. If not, normal operation is performed in step  266  and the method returns to step  264 . When step  264  is true, an ACK timer is started in step  270 . The SDT data  60  is received in step  272 . The method determines whether the ACK timer is up (i.e., whether the timer has reached an end-point) in step  274 . If not, control returns to step  274 . When step  274  is true, control continues with step  276  and sends an ACK to the AP  14 . 
         [0071]    Referring now to  FIGS. 6A and 6B , an exemplary AP  14  is shown. The AP  14  includes the MAC module  18  and the PHY module  20  as described. The MAC module  18  includes a control module  300  that receives CSI from the client stations  26  that are SDT enabled. The client stations  26  may generate the CSI in a conventional manner. The CSI may include channel information for each of the tones. The control module  300  outputs the CSI to an SDT multiplexing matrix adjusting module  304 , which adjusts an SDT multiplexing matrix  308  for the tones. 
         [0072]    The AP  14  may further include a data aggregation module  307  that selectively aggregates the SDT data into packets, frames and/or subframes. SDT data transmitted by the AP  14  may be divided into subframes by the data aggregation module  307 . Conventionally, each subframe is addressed to a single client station or a group of client stations. With SDT, each sub-frame may carry independent information to client stations and/or groups of client stations. 
         [0073]    The AP  14  may further include a time slot allocation module  309  that assigns time slots for ACKs from the client stations  26 . In some implementations, the time slot allocation module  309  inserts time allocation data into the SDT data for each client station  26 . 
         [0074]    In  FIG. 6B , a method  320  performed by the AP  14  of  FIG. 6A  is shown. The method begins with step  322  and proceeds with step  324  where the AP  14  determines whether new CSI has been received from one of the client stations. If step  324  is false, control returns to step  324 . If step  324  is true, the SDT matrix adjusting module  304  adjusts the SDT multiplexing matrix  308  in step  326 . Control ends with step  328 . 
         [0075]    In  FIGS. 7A and 7B , an exemplary AP  14  according to the present disclosure is shown. The AP  14  includes the MAC module  18  and the PHY module  20 . The MAC module  18  includes channel estimating module  340 . The channel estimating module  340  estimates CSI for the client stations  26 . The channel estimating module  340  outputs the CSI to the SDT multiplexing matrix adjusting module  304 , which adjusts the SDT multiplexing matrix  308  for the particular client station  26 . 
         [0076]    In  FIG. 7B , a method  360  performed by the AP  14  of  FIG. 7A  is shown. The method begins with step  362  and proceeds with step  364  where the AP  14  determines whether new CSI has been estimated for a client station  26 . If step  364  is false, control returns to step  364 . In step  364  is true, the SDT multiplexing matrix adjusting module  304  adjusts the SDT multiplexing matrix  308  in step  366 . Control ends with step  368 . 
         [0077]    The network interfaces may otherwise be complaint with IEEE standards—e.g., IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11h, 802.11n, 802.16, and/or 802.20, and/or Bluetooth, which are incorporated herein by reference in their entirety. 
         [0078]    The present disclosure increases throughput by simultaneously transmitting independent data streams to multiple client stations. The present disclosure includes the use of multiple antennas at an AP to achieve SDT. The AP may consider a variety of criteria (interference avoidance, SINR balancing or other approach) to improve multi-user throughput. The AP may combine power allocation and SDT for maximal gains in throughput. The present disclosure also may combine SDT with multicast and data aggregation. A reserved time period during which legacy devices are forbidden from transmitting may be used during which SDT is conducted in the network. The reserved time interval may be divided into a time period for downlink of the SDT data and a time period for uplink ACKs from receiving client stations. 
         [0079]    Referring now to  FIGS. 8A-8E , various exemplary implementations incorporating the teachings of the present disclosure are shown. Referring now to  FIG. 8A , the teachings of the disclosure can be implemented in a wireless network interface of a high definition television (HDTV)  937 . The HDTV  937  includes an HDTV control module  938 , a display  939 , a power supply  940 , memory  941 , a storage device  942 , a network interface  943 , and an external interface  945 . If the network interface  943  includes a wireless local area network interface, an antenna (not shown) may be included. 
         [0080]    The HDTV  937  can receive input signals from the network interface  943  and/or the external interface  945 , which can send and receive data via cable, broadband Internet, and/or satellite. The HDTV control module  938  may process the input signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may be communicated to one or more of the display  939 , memory  941 , the storage device  942 , the network interface  943 , and the external interface  945 . 
         [0081]    Memory  941  may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device  942  may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The HDTV control module  938  communicates externally via the network interface  943  and/or the external interface  945 . The power supply  940  provides power to the components of the HDTV  937 . 
         [0082]    Referring now to  FIG. 8B , the teachings of the disclosure may be implemented in a wireless network interface of a vehicle  946 . The vehicle  946  may include a vehicle control system  947 , a power supply  948 , memory  949 , a storage device  950 , and a network interface  952 . If the network interface  952  includes a wireless local area network interface, an antenna (not shown) may be included. The vehicle control system  947  may be a powertrain control system, a body control system, an entertainment control system, an anti-lock braking system (ABS), a navigation system, a telematics system, a lane departure system, an adaptive cruise control system, etc. 
         [0083]    The vehicle control system  947  may communicate with one or more sensors  954  and generate one or more output signals  956 . The sensors  954  may include temperature sensors, acceleration sensors, pressure sensors, rotational sensors, airflow sensors, etc. The output signals  956  may control engine operating parameters, transmission operating parameters, suspension parameters, brake parameters, etc. 
         [0084]    The power supply  948  provides power to the components of the vehicle  946 . The vehicle control system  947  may store data in memory  949  and/or the storage device  950 . Memory  949  may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device  950  may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The vehicle control system  947  may communicate externally using the network interface  952 . 
         [0085]    Referring now to  FIG. 8C , the teachings of the disclosure can be implemented in a wireless network interface of a cellular phone  958 . The cellular phone  958  includes a phone control module  960 , a power supply  962 , memory  964 , a storage device  966 , and a cellular network interface  967 . The cellular phone  958  may include a network interface  968 , a microphone  970 , an audio output  972  such as a speaker and/or output jack, a display  974 , and a user input device  976  such as a keypad and/or pointing device. If the network interface  968  includes a wireless local area network interface, an antenna (not shown) may be included. 
         [0086]    The phone control module  960  may receive input signals from the cellular network interface  967 , the network interface  968 , the microphone  970 , and/or the user input device  976 . The phone control module  960  may process signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may be communicated to one or more of memory  964 , the storage device  966 , the cellular network interface  967 , the network interface  968 , and the audio output  972 . 
         [0087]    Memory  964  may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device  966  may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The power supply  962  provides power to the components of the cellular phone  958 . 
         [0088]    Referring now to  FIG. 8D , the teachings of the disclosure can be implemented in a wireless network interface of a set top box  978 . The set top box  978  includes a set top control module  980 , a display  981 , a power supply  982 , memory  983 , a storage device  984 , and a network interface  985 . If the network interface  985  includes a wireless local area network interface, an antenna (not shown) may be included. 
         [0089]    The set top control module  980  may receive input signals from the network interface  985  and an external interface  987 , which can send and receive data via cable, broadband Internet, and/or satellite. The set top control module  980  may process signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may include audio and/or video signals in standard and/or high definition formats. The output signals may be communicated to the network interface  985  and/or to the display  981 . The display  981  may include a television, a projector, and/or a monitor. 
         [0090]    The power supply  982  provides power to the components of the set top box  978 . Memory  983  may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device  984  may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). 
         [0091]    Referring now to  FIG. 8E , the teachings of the disclosure can be implemented in a wireless network interface of a mobile device  989 . The mobile device  989  may include a mobile device control module  990 , a power supply  991 , memory  992 , a storage device  993 , a network interface  994 , and an external interface  999 . If the network interface  994  includes a wireless local area network interface, an antenna (not shown) may be included. 
         [0092]    The mobile device control module  990  may receive input signals from the network interface  994  and/or the external interface  999 . The external interface  999  may include USB, infrared, and/or Ethernet. The input signals may include compressed audio and/or video, and may be compliant with the MP3 format. Additionally, the mobile device control module  990  may receive input from a user input  996  such as a keypad, touchpad, or individual buttons. The mobile device control module  990  may process input signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. 
         [0093]    The mobile device control module  990  may output audio signals to an audio output  997  and video signals to a display  998 . The audio output  997  may include a speaker and/or an output jack. The display  998  may present a graphical user interface, which may include menus, icons, etc. The power supply  991  provides power to the components of the mobile device  989 . Memory  992  may include random access memory (RAM) and/or nonvolatile memory. 
         [0094]    Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device  993  may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The mobile device may include a personal digital assistant, a media player, a laptop computer, a gaming console, or other mobile computing device. 
         [0095]    Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims.

Technology Category: h