Abstract:
An orthogonal frequency division multiplexing (OFDM)-code division multiple access (CDMA) system is disclosed. The system includes a transmitter and a receiver. At the transmitter, a spreading and subcarrier mapping unit spreads an input data symbol with a complex quadratic sequence code to generate a plurality of chips and maps each chip to one of a plurality of subcarriers. An inverse discrete Fourier transform is performed on the chips mapped to the subcarriers and a cyclic prefix (CP) is inserted to an OFDM frame. A parallel-to-serial converter converts the time-domain data into a serial data stream for transmission. At the receiver, a serial-to-parallel converter converts received data into multiple received data streams and the CP is removed from the received data. A discrete Fourier transform is performed on the received data streams and equalization is performed. A despreader despreads an output of the equalizer to recover the transmitted data.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 12/984,101 filed Jan. 4, 2011 which was a continuation application of U.S. patent application Ser. No. 11/385,168, which claimed the benefit of U.S. Provisional Application Nos. 60/664,868 filed Mar. 24, 2005, 60/665,442 filed Mar. 25, 2005, 60/665,811 filed Mar. 28, 2005 and 60/666,140 filed Mar. 29, 2005, which are incorporated by reference as if fully set forth. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention is related to a wireless communication system. More particularly, the present invention is related to an orthogonal frequency division multiplexing (OFDM)-code division multiple access (CDMA) communication system. 
       BACKGROUND 
       [0003]    Wireless communication networks of the future will provide broadband services such as wireless Internet access to subscribers. Those broadband services require reliable and high-rate communications over time-dispersive (frequency-selective) channels with limited spectrum and intersymbol interference (ISI) caused by multipath fading. OFDM is one of the most promising solutions for a number of reasons. OFDM has high spectral efficiency and adaptive coding and modulation can be employed across subcarriers. Implementation is simplified because the baseband modulation and demodulation can be performed using simple circuits such as inverse fast Fourier transform (IFFT) circuits and fast Fourier transform (FFT) circuits. A simple receiver structure is one of the advantages of OFDM system, since in some cases only one tap equalizer is sufficient to provide excellent robustness in multipath environment. In other cases, when OFDM is used in conjunction with signal spreading across multiple subcarriers, a more advanced equalizer may be required. 
         [0004]    OFDM has been adopted by several standards such as Digital Audio Broadcast (DAB), Digital Audio Broadcast Terrestrial (DAB-T), IEEE 802.11a/g, IEEE 802.16 and Asymmetric Digital Subscriber Line (ADSL). OFDM is being considered for adoption in standards such as Wideband Code Division Multiple Access (WCDMA) for third generation partnership project (3GPP) long term evolution, CDMA2000, Fourth Generation (4G) wireless systems. IEEE 802.11n, IEEE 802.16, and IEEE 802.20. 
         [0005]    Despite all of the advantages, OFDM has some disadvantages. One major disadvantage of OFDM is its inherent high peak-to-average power ratio (PAPR). The PAPR of OFDM increases as the number of subcarriers increases. When high PAPR signals are transmitted through a non-linear power amplifier, severe signal distortion will occur. Therefore, a highly linear power amplifier with power backoff is required for OFDM. As a result, the power efficiency with OFDM is low and the battery life of a mobile device implementing OFDM is limited. 
         [0006]    Techniques for reducing the PAPR of an OFDM system have been studied extensively. These PAPR reduction techniques include coding, clipping, and filtering. The effectiveness of these methods varies and each has its own inherent trade-offs in terms of complexity, performance, and spectral efficiency. 
       SUMMARY 
       [0007]    The present invention is related to an OFDM-CDMA system. The system includes a transmitter and a receiver. At the transmitter, a spreading and subcarrier mapping unit spreads an input data symbol with a spread complex quadratic sequence (SCQS) code to generate a plurality of chips and maps each chip to one of a plurality of subcarriers. An inverse discrete Fourier transform (IDFT) or IFFT unit performs IDFT or IFFT on the chips mapped to the subcarriers and a cyclic prefix (CP) is inserted to an OFDM frame. A parallel-to-serial (P/S) converter converts the time-domain data into a serial data stream for transmission. At the receiver, a serial-to-parallel (S/P) converter converts a received data into multiple received data streams and the CP is removed from the received data. A discrete Fourier transform (DFT) or FFT unit performs DFT or FFT on the received data streams and equalization is performed. A despreader despreads an output of the equalizer to recover the transmitted data. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    A more detailed understanding of the invention may be had from the following description of a preferred embodiment, given by way of example and to be understood in conjunction with the accompanying drawing wherein: 
           [0009]      FIG. 1  is a block diagram of an OFDM-CDMA system in accordance with one embodiment of the present invention; 
           [0010]      FIG. 2  shows the code set of the spread complex quadratic sequence (SCQS) code in accordance with the present invention; 
           [0011]      FIG. 3  shows spreading and subcarrier mapping in the system of  FIG. 1 ; 
           [0012]      FIG. 4  shows an alternative interpretation of the spreading and subcarrier mapping in the system of  FIG. 1 ; 
           [0013]      FIG. 5  is a block diagram of an OFDM-CDMA system in accordance with another embodiment of the present invention; 
           [0014]      FIG. 6  is a block diagram of an OFDM-CDMA system in accordance with yet another embodiment of the present invention; 
           [0015]      FIG. 7  shows an alternative way for the frequency-domain spreading and subcarrier mapping in a system of  FIG. 6 ; and 
           [0016]      FIG. 8  is a block diagram of an exemplary time-frequency Rake combiner in accordance with the present invention 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0017]    The present invention is applicable to wireless communication systems implementing OFDM and CDMA such as IEEE 802.11, IEEE 802.16, Third Generation (3G) cellular systems for long term evolution, Fourth Generation (4G) systems, satellite systems, DAB, digital video broadcasting (DVB), or the like. 
         [0018]    The features of the present invention may be incorporated into an integrated circuit (IC) or be configured in a circuit comprising a multitude of interconnecting components. 
         [0019]    The present invention provides an OFDM-CDMA system with an improved PAPR and capacity. The present invention uses a special spreading code, a SCQS code, in spreading input data symbols. The SCQS code comprises two components; a quadratic phase sequence code and an orthogonal (or pseudo-orthogonal) spreading code. Examples of the quadratic phase sequence code, denoted by G, are the Newman phase code (or polyphase code), a generalized chirp-like sequence (GCL) and a Zadoff-Chu sequence. Quadratic phase sequences are called polyphase sequences as well. 
         [0020]    To support a variable spreading factor (VSF), the sequence length of the quadratic phase sequence (or polyphase sequence) is limited as K=2 k . In some special cases, (such as random access channel or uplink pilots), the sequence length of quadratic phase sequence (or polyphase sequence) can be any arbitrary integer number. Given the number of subcarriers N=2 n  in the system, consider a sequence length of N as an example. Then, the generic Newman phase code or polyphase code sequence is fixed. The generic Newman phase code sequence is: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       G 
                       k 
                     
                     = 
                     
                       e 
                       
                         
                           - 
                           
                             jk 
                             λ 
                           
                         
                          
                         
                           π 
                           N 
                         
                       
                     
                   
                   , 
                   
                     k 
                     = 
                     0 
                   
                   , 
                   1 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     N 
                     - 
                     1. 
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   
                     ( 
                     1 
                     ) 
                   
                 
               
             
           
         
       
     
         [0021]    More orthogonal Newman phase code sequences are created by shifting the generic Newman phase code sequence in phase. The l-th shifted version, (or DFT modulated), of the generic Newman polyphase code sequence is: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       G 
                       k 
                       
                         ( 
                         l 
                         ) 
                       
                     
                     = 
                     
                       
                         e 
                         
                           
                             - 
                             
                               jk 
                               2 
                             
                           
                            
                           
                             π 
                             N 
                           
                         
                       
                       · 
                       
                         e 
                         
                           jkl 
                            
                           
                             
                               2 
                                
                               π 
                             
                             N 
                           
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     k 
                     = 
                     0 
                   
                   , 
                   1 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     N 
                     - 
                     1 
                   
                   , 
                   
                     l 
                     = 
                     0 
                   
                   , 
                   1 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     N 
                     - 
                     1. 
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   
                     ( 
                     2 
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    Two Newman phase code sequences with different shifts are orthogonal to each other. 
         [0022]    One example of the orthogonal (or pseudo-orthogonal) spreading code, denoted by H, is Walsh-Hadamard code, which is given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       H 
                       2 
                     
                     = 
                     
                       [ 
                       
                         
                           
                             1 
                           
                           
                             1 
                           
                         
                         
                           
                             1 
                           
                           
                             
                               - 
                               1 
                             
                           
                         
                       
                       ] 
                     
                   
                   ; 
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   
                     ( 
                     3 
                     ) 
                   
                 
               
             
             
               
                 
                   
                     
                       H 
                       
                         2 
                         m 
                       
                     
                     = 
                     
                       [ 
                       
                         
                           
                             
                               H 
                               
                                 2 
                                 
                                   m 
                                   - 
                                   1 
                                 
                               
                             
                           
                           
                             
                               H 
                               
                                 2 
                                 
                                   m 
                                   - 
                                   1 
                                 
                               
                             
                           
                         
                         
                           
                             
                               H 
                               
                                 2 
                                 
                                   m 
                                   - 
                                   1 
                                 
                               
                             
                           
                           
                             
                               - 
                               
                                 H 
                                 
                                   2 
                                   
                                     m 
                                     - 
                                     1 
                                   
                                 
                               
                             
                           
                         
                       
                       ] 
                     
                   
                   , 
                   
                     
                       for 
                        
                       
                           
                       
                        
                       m 
                     
                     &gt; 
                     1. 
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   
                     ( 
                     4 
                     ) 
                   
                 
               
             
           
         
       
     
         [0023]    The SCQS code is constructed by combining the quadratic phase code and the orthogonal (or pseudo-orthogonal) spreading code. For a specific spreading factor 2 m , the SCQS code has 2 m  chips. The generic quadratic phase sequence code part of the SCQS code has 2 m  chips, which is: 
         [0000]      { G   i   ,G   2     n−m     +i   , . . . ,G   2     n−m     ·k+i   , . . . ,G   2     m−1     +i };  Equation (5)
 
         [0000]    where k=0, 1, . . . , 2 m −1, i=0, 1, . . . , 2 n−m −1. 
         [0024]    The l-th shifted version of the quadratic phase sequence code part has 2 m  chips, which is: 
         [0000]      { G   i   (l)   ,G   2     n−m     +i   (l)   , . . . ,G   2     n−m     ·k+i   (l)   , . . . ,G   2     m−1     +i   (l) };  Equation (6)
 
         [0000]    where l=0, 1, . . . , N−1, k=0, 1, . . . , 2 m −1, i=0, 1, . . . , 2 n−m −1. 
         [0025]    For a specific SCQS code with spreading factor 2 m , the orthogonal (or pseudo-orthogonal) spreading code part of the SCQS code is given by one of the codes in the orthogonal (or pseudo-orthogonal) spreading code set of spreading factor 2 m  For example, the h-th code is denoted by H 2     m   (h,:). 
         [0026]    The k-th chip of the SCQS code c i  is constructed as a product of the k-th quadratic phase sequence code of the l-th shifted version of the generic quadratic phase sequence code and the k-th chip of the h-th orthogonal (or pseudo-orthogonal) spreading code with the size of N=2 m . 
         [0000]        c   i   k   =G   k   (l)   ·H   2     m   ( h,k ),  k= 0,1, . . . ,2 m −1.  Equation (7)
 
         [0027]    The code set size of the SCQS code is determined by the code set dimensions of the orthogonal (or pseudo-orthogonal) spreading code part and the quadratic phase sequence code part. The code set dimension of the quadratic phase sequence code is fixed regardless of the spreading factor and is determined by the number of different shifts, which is the number of subcarriers in the system, 2 n . The code set dimension of the orthogonal (or pseudo-orthogonal) spreading code depends on the spreading factor. For example, in the case of a Walsh-Hadamard code, the dimension equals to the spreading factor 2 m  (0≦m≦n). 
         [0028]    Different users are assigned different SCQS codes. In order for a receiver to distinguish between different users, the SCQS codes used by two users may be different in the quadratic phase sequence code part, the orthogonal (or pseudo-orthogonal) spreading code part, or both. The code set of the SCQS code is shown in  FIG. 2 . 
         [0029]    Without multipath, different SCQS codes are orthogonal as long as their quadratic phase sequence code parts are different; or an orthogonal spreading code is used. Different SCQS codes are pseudo-orthogonal only when their quadratic phase sequence code parts are the same and a pseudo-orthogonal spreading code is used. In both cases, the multiple access interference (MAI) between different codes is either zero or very small. 
         [0030]    Under the multipath fading environment, codes assigned to different users should be such that the difference in the shift of quadratic phase sequence code part should be as large as possible. Codes assigned to different users should be such that if the difference in the shift of the quadratic phase sequence code part of two codes is not less than the maximum delay spread of the multipath channel, there is no MAI between the two codes. Therefore, the corresponding orthogonal (or pseudo-orthogonal) spreading code part can be assigned to be the same. Optionally, the difference in the shift of the quadratic phase sequence code part may be limited to be at most the maximum delay spread of the multipath channel. This will create more codes with perfect MAI immunity. This is achievable as long as the number of users in the system is no more than N/L, where N is the number of subcarriers and L is the multipath channel maximum delay spread. 
         [0031]    If the difference in the shift of the quadratic phase sequence code part of two codes is less than the maximum delay spread of the multipath channel, the corresponding orthogonal (or pseudo-orthogonal) spreading code part should be different in order to reduce the MAI that cannot be cancelled by the difference in the shift of the quadratic phase sequence code part. 
         [0032]    In this way, the MAI can be reduced as compared to the conventional CDMA system since the correlation between orthogonal codes is further reduced by the correlation of two quadratic phase sequence codes. For an interference-limited system (such as CDMA), reduced MAI implies increased system capacity. 
         [0033]    An OFDM-CDMA system of the present invention comprises a transmitter and a receiver. The transmitter comprises a spreading and subcarrier mapping portion and an OFDM portion. The spreading and subcarrier mapping portion performs spreading of input data symbols into a plurality of chips and mapping of the chips to one of a plurality of subcarriers. The OFDM portion performs conventional OFDM operation. The spreading may be performed in the frequency-domain, in the time-domain or both, which will be explained in detail hereinafter. 
         [0034]      FIG. 1  is a block diagram of an OFDM-CDMA system  100  in accordance with a first embodiment of the present invention. The system  100  comprises a transmitter  110  and a receiver  150 . The transmitter  110  comprises a spreader  112 , a serial-to-parallel (S/P) converter  114 , a subcarrier mapping unit  116 , an IDFT unit  118 , a cyclic prefix (CP) insertion unit  120 , a parallel-to-serial (P/S) converter  122  and an optional mixer  124 . The spreader  112  spreads input data symbols  101  in frequency-domain using the SCQS code  111 . The procedure of spreading and subcarrier mapping is shown in  FIG. 3 . The spreading factor used by the SCQS code c i  is 2 m  (0≦m≦n). One user can use all of 2 n  subcarriers in the system. Therefore, the number of data symbols that can be transmitted by one user in one OFDM frame is 2 n−m . Each data symbol d(i)  101  is spread by the spreading code c i    111  into 2 m  chips  113 . The 2 m  chips  113  are then converted into 2 m  parallel chips  115  by the S/P converter  114  and each chip is mapped to one of the subcarriers  117  by the subcarrier mapping unit  116  in an equal-distance. The distance between each subcarrier used by chips of the same data symbol is 2 n−m  subcarriers. Chips of different data symbols are mapped to subcarriers in the system sequentially such that the chips of data symbol d(i) are mapped to subcarriers 2 n−m ·k+i, (k=0, 1, . . . , 2 m −1, i=0, 1, . . . , 2 n−m −1). 
         [0035]      FIG. 4  shows an alternative embodiment for spreading and subcarrier mapping. Instead of the spreader  112 , a repeater  402  is used to repeat each data symbol d(i) 2 m  times at the chip rate. The repeated data symbols  404  are converted into 2 m  parallel symbols  407  by the S/P converter  406  and each symbol is mapped to one of the 2 m  subcarriers of equal distance by the subcarrier mapping and weighting unit  408  sequentially. The distance between each subcarrier is 2 n−m  subcarriers. Chips of different data symbols are mapped to subcarriers in the system sequentially such that the chips of data symbol d(i) are mapped to subcarriers 2 n−m ·k+i, (k=0, 1, . . . , 2 m −1, i=0, 1, . . . , 2 n−m −1). A symbol mapped on each subcarrier 2 n−m ·k+i is weighted by an SCQS code such that a symbol on subcarrier 2 n−m ·k+i is multiplied with the k-th chip of the SCQS code, denoted by c i   k . 
         [0036]    Referring back to  FIG. 1 , chips  117  mapped on subcarriers are fed into the IDFT unit  118  to be converted into time-domain data  119 . A cyclic prefix (CP) is then added by the CP insertion unit  120  to the end of each OFDM frame. The time-domain data with CP  121  is then converted by the P/S converter  122  into a serial data  123  and transmitted over the wireless channel. It should be noted that the IDFT operation may be replaced by IFFT or other similar operations and the CP insertion may be performed after the IDFT output is converted into a serial data stream by the P/S converter  122  and the CP removal may be performed before the received signals are converted to a parallel data stream by the S/P converter  154 . 
         [0037]    Due to the structure of spread data, the IDFT operation can be simplified. The output  119  of the IDFT unit  118  comprises data symbols shifted by a particular phase. The phase is a function of corresponding input data subcarrier and data symbol indexes. Therefore, the IDFT operation can be replaced by the computation of the phase shift, which requires less computation. 
         [0038]    For example, assume n/2&lt;m≦n and the orthogonal (or pseudo-orthogonal) spreading code part of the SCQS code are {1, 1, . . . , 1}. Then, the h-th output of the IDFT unit  118  is given as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       IDFT 
                        
                       
                         ( 
                         h 
                         ) 
                       
                     
                     = 
                     
                       
                         d 
                          
                         
                           ( 
                           i 
                           ) 
                         
                       
                       · 
                       
                         e 
                         
                           j 
                            
                           
                             
                               
                                 
                                   ( 
                                   
                                     
                                       p 
                                       · 
                                       
                                         2 
                                         
                                           n 
                                           - 
                                           m 
                                         
                                       
                                     
                                     + 
                                     i 
                                   
                                   ) 
                                 
                                 2 
                               
                               - 
                               
                                 2 
                                 
                                   n 
                                   - 
                                   2 
                                 
                               
                             
                             
                               2 
                               n 
                             
                           
                            
                           π 
                         
                       
                     
                   
                   ; 
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   
                     ( 
                     8 
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    where the value of h satisfies the following condition: 
         [0000]        h= 2 n−m   ·p+i, p= 0,1, . . . ,2 m −1,  i= 0,1, . . . ,2 n−m −1.
 
         [0039]    It is optional to perform the masking operation at the transmitter  110  and the corresponding demasking operation at the receiver  150 . The purpose of masking is to reduce the inter-cell MAI. At the transmitter  110 , the mixer  124  multiplies the data  123  with a masking code  125  before transmission. The corresponding demasking operation is performed at the receiver  150 . A mixer  152  multiplies the received signals  128  with the conjugate  151  of the masking code  125  to generate a demasked data stream  153 . 
         [0040]    Referring to  FIG. 1 , the receiver  150  comprises an optional mixer  152 , an S/P converter  154 , a CP removing unit  156 , a DFT unit  158 , an equalizer  160  and a despreader (including multipliers  162 , a summer  164  and a normalizer  166 ). The time-domain received data  128  are converted into parallel data stream  155  by the S/P converter  154  and the CP is removed by the CP removing unit  156 . The performance of these operations may be switched as explained hereinabove. The output  157  from the CP removing unit  156  is then fed into the DFT unit  158  to be converted into frequency-domain data  159 . Equalization on the frequency-domain data  159  is performed by the equalizer  160 . As in a conventional OFDM system, a simple one-tap equalizer may be used for the frequency-domain data  159  at each subcarrier. It should be noted that the DFT operation may be replaced by an FFT operation or other similar operation. 
         [0041]    Due to the structure of spread data, the DFT operation can also be simplified. The outputs  159  of the DFT unit are data symbols shifted by a particular phase. The phase is a function of corresponding input data subcarrier and data symbol indexes. Therefore, the DFT operation can be replaced by the computation of the phase shift, which requires less computation. The way it is done is similar, but opposite, to the IDFT operation at the transmitter side. 
         [0042]    The equalized data is despread at the frequency-domain. The output  161  at each subcarrier after equalization is multiplied by the multipliers  162  with the conjugate  168  of the corresponding chip of the SCQS code, c i   k , k=0, 1, . . . , 2 m −1, used at the transmitter  110 . Then, the multiplication outputs  163  at all subcarriers are summed up by the summer  164  and the summed output  165  is normalized by the normalizer  166  by the spreading factor of the SCQS code to recover the data  167 . 
         [0043]    The receiver  150  may further include a block linear equalizer or a joint detector (not shown) for processing the output of the despreader. Any type of block linear equalizer or joint detector may be used. One conventional configuration for a block linear equalizer or a joint detector is the minimum mean square error (MMSE) block linear equalizer. In this case, a channel matrix H is established and computed for subcarriers, and equalization is performed using the established channel matrix such that: 
         [0000]      {right arrow over ( d )}=( H   H   H+σ   2   I ) −1   H   H   {right arrow over (r)};   Equation (9)
 
         [0000]    where H is the channel matrix, {right arrow over (r)} is the received signal in subcarriers and {right arrow over (d)} is the equalized data vector in subcarriers. 
         [0044]    For uplink operation, it is preferred to keep a constant envelope after IDFT operation, which allows use of an efficient and inexpensive power amplifier. In order to keep a constant envelope, the following conditions for a system with N=2 n  subcarriers have to be met. First, the spreading factor 2 m  is limited by └n/2┘≦m≦n, wherein the term └a┘ means the smallest integer larger than a. Second, for spreading factor 2 m , only a fraction of orthogonal codes are used to combine with the quadratic phase sequence codes to generate the SCQS codes that yield constant envelope. For example, in the case of Newman phase code and Hadamard code, only the first 2 ┌m/2┐  codes of the Hadamard code sets (of size 2 m ) are used to combine with the Newman phase sequence code to generate the SCQS codes. The term ┌b┐ means the largest integer smaller than b. 
         [0045]    As stated above, as long as the number of users in the system is no more than N/L, there is no MAI and there is no need to implement multi-user detection (MUD). When the number of users in the system is more than N/L, then there will be MAI and MUD may be implemented. The MAI will be more benign than conventional CDMA system with the same number of users. 
         [0046]    Suppose that there are M users in the system. The number of users for MUD in the conventional CDMA system will be M. However, the number of users for MUD in the OFDM-CDMA system in accordance with the present invention will be ┌M/L┐, which is reduced by a scale of L as compared to a conventional CDMA system. In this way, the complexity of MUD operation is much lower than the MUD in a prior art CDMA system. It is also possible to use multiple antennas at the transmitter and/or receiver. 
         [0047]      FIG. 5  is a block diagram of an OFDM-CDMA system  500 , (multi-carrier direct sequence (MC-DS) CDMA system), in accordance with a second embodiment of the present invention. The system  500  comprises a transmitter  510  and a receiver  550 . The transmitter  510  comprises an S/P converter  512 , a plurality of multipliers  514 , a sub-carrier mapping unit  516 , an IDFT unit  518 , a P/S converter  520 , a CP insertion unit  522  and an optional mixer  524 . If there are N=2 n  subcarriers in the system  500 , the N consecutive data symbols  501  of the user i are converted from serial to N parallel symbols  513  by the S/P converter  512 . The j-th data symbol of the N parallel data symbols  513  of the user i is denoted by d j (i), where j=0, 1, . . . , N−1. The SCQS code used by the user i is denoted by c i . Each of the N parallel data symbols  513  is spread in time-domain using the SCQS code c i    511 . The spreading factor of the SCQS code c i  is 2 m  (0≦m≦n), therefore each data symbol  513  is spread by the SCQS code c i    511  into 2 m  chips  515 . 
         [0048]    At each chip duration, one chip of each of the N data symbols d j (i) is transmitted on its corresponding subcarrier j. One user can use all of 2 n  subcarriers in the system. Therefore, the number of data symbols that can be transmitted by one user in one OFDM frame is 2 n . 
         [0049]    The chips  515  are mapped to subcarriers by the subcarrier mapping unit  516 . Chips  517  on subcarriers are fed into the IDFT unit  518 , and converted into time-domain data  519 . The time-domain data  519  are converted from parallel into serial data  521  by the P/S converter  520 , and a CP is added to the end of each frame by the CP insertion unit  522 . The data with CP  523  is transmitted over the wireless channel. It is equivalent to perform the conventional DS-CDMA operation on each subcarrier independently using the SCQS code, and DS-CDMA signals on subcarriers are transmitted in parallel using OFDM structure. 
         [0050]    The receiver  550  comprises a CP removal unit  554 , an S/P converter  556 , a DFT unit  558 , an equalizer  560 , a plurality of rake combiners  562 , and a P/S converter  564 . First, the CP is removed by the CP removing unit  554  from the received data  528  via the wireless channel. The data  555  is then converted from serial to parallel data  557  by the S/P converter  556 . The parallel data  557  is fed into the DFT unit  558 , and converted to frequency-domain data  559 . Then, equalization is applied to the frequency-domain data  559  by the equalizer  560 . As in a conventional OFDM system, a simple one-tap equalizer may be used at each subcarrier. 
         [0051]    Data  561  on each subcarrier after equalization is recovered by Rake combiners  562 , (which include despreaders), in the time-domain. Then, parallel data symbols  563  yielded by each Rake combiners  562  are parallel-to-serial converted by the P/S converter  564  to recover the transmitted data. 
         [0052]    As in the first embodiment of  FIG. 1 , it is optional to perform a masking operation at the transmitter  510  and the corresponding demasking operation at the receiver  550  to reduce the intercell MAI. The mixer  524  multiplies output  523  from the CP insertion unit  522  with a masking code  525  before transmission. The mixer  552  of the receiver  550  multiplies the received signals  528  with the conjugate  551  of the masking code used at the transmitter  510 . 
         [0053]      FIG. 6  is a block diagram of an OFDM-CDMA system  600  in accordance with a third embodiment of the present invention. The system  600  comprises a transmitter  610  and a receiver  650 . The transmitter  610  includes an S/P converter  612 , a plurality of multipliers  614 , a plurality of repeaters  616 , a plurality of S/P converters  618 , a subcarrier mapping and weighting unit  620 , an IDFT unit  622 , a P/S converter  624 , a CP insertion unit  626  and an optional mixer  628 . In accordance with the third embodiment, the input data symbol is spread twice, once at the time-domain and the other at the frequency-domain. Assume the total number of subcarriers is 2 n  and the spreading factors used in the time-domain and frequency-domain spreading are 2 p  and 2 m , respectively. The N T  consecutive data symbols  601  of the user i are converted from serial to parallel N T  symbols  613  by the S/P converter  612 . The value of N T  equals to 2 n−m . The j-th data symbol of the N T  parallel data symbols  613  of the user i is denoted by d j (i), where j=0, 1, . . . , N−1. The time-domain spreading code  611  used by the user i is denoted by H 2     p   (i,:). Each of the N T  parallel data symbols  613  is then spread in the time-domain by the multipliers  614  by multiplying the symbols  613  with the time-domain spreading code H 2     p   (i,:)  611 . The spreading factor of the time domain spreading code H 2     p   (i,:) is 2 p  as defined in Equations (3) and (4). Each data symbol  613  is spread into 2 p  chips and N T  parallel 2 p  chip streams  615  are generated. 
         [0054]    After the time-domain spreading, a frequency-domain spreading is performed. Given the user i, for each chip stream j, (corresponding to the j-th data symbols of the N T  data symbols), at each chip duration, each chip of the N T  chip streams is repeated 2 m  times by the repeater  616  and the 2 m  repeated chips are converted into parallel 2 m  chips  619  by the S/P converter  618 . The 2 m  chips are then mapped to 2 m  equal-distant subcarriers sequentially by the subcarrier mapping and weighting unit  620 . The distance between each subcarrier is 2 n−m  subcarriers. Subcarrier mapping is performed sequentially such that the repeated chips from the j-th chip stream are mapped to subcarriers 2 n−m ·k+j, (k=0, 1, . . . , 2 m −1, j=0, 1, . . . , 2 n−m −1). Before the IDFT operation, a chip on each subcarrier 2 n−m ·k+j is weighted by the k-th chip of the SCQS code c i , denoted by c i   k . 
         [0055]    One user can use all of 2 n  subcarriers in the system. Therefore, the number of data symbols that can be transmitted by one user in one OFDM frame is 2 n−m . 
         [0056]      FIG. 7  shows an alternative way for the frequency-domain spreading and subcarrier mapping in a system of  FIG. 6 . Instead of repeating the chips 2 m  times, the chips  615  are directly spread by the frequency-domain spreading code c i   k . Given the user i, for each chip stream j, (corresponding to the j-th data symbols of the N T  data symbols), at each chip duration, each of the chips  615  is spread by the SCQS code c i   k    703  into 2 m  chips  704  by the multipliers  702  and the frequency-domain spread chips  704  are converted into 2 m  parallel chips  707  by the S/P converter  706 . These parallel chips  707  are then mapped to 2 m  equal-distant subcarriers  709  by the subcarrier mapping unit  708  sequentially, as explained hereinabove. The distance between each subcarrier is 2 n−m  subcarriers. Subcarrier mapping is performed sequentially such that the repeated chips from the j-th chip stream are mapped to subcarriers 2 n−m ·k+j, (k=0, 1, . . . , 2 m −1, j=0, 1, . . . , 2 n−m −1). 
         [0057]    Referring again to  FIG. 6 , chips  621  mapped on subcarriers are fed into the IDFT unit  622 , and converted into time-domain data  623 . The time-domain data  623  is converted from parallel data into serial data  625  by the P/S converter  624 , and a CP is added to the end of each frame of the data  625  by the CP insertion unit  626 . The data with the CP  627  is transmitted over the wireless channel. 
         [0058]    The receiver  650  includes an optional mixer  652 , a CP removal unit  654 , an S/P converter  656 , a DFT unit  658 , an equalizer  660 , a plurality of time-frequency Rake combiners  662  and a P/S converter  664 . At the receiver  650  side, the CP is removed by the CP removal unit  654  from the received data  632  via the wireless channel. The data  655  is then converted from serial to parallel data  657  by the S/P converter  656 . The parallel data  657  is fed into the DFT unit  658 , and converted to frequency-domain data  659 . Then, equalization is applied to the frequency-domain data  659  by the equalizer  660 . As in a conventional OFDM system, a simple one-tap equalizer may be used at each subcarrier. 
         [0059]    After equalization, data  661  on each subcarrier is recovered by time-frequency Rake combiners  662 , which will be explained in detail hereinafter. Parallel data symbols  663  yielded by each of the time-frequency Rake combiners  662  are then parallel-to-serial converted by the P/S converter  664  to recover the transmitted data. 
         [0060]    A time-frequency Rake combiner  662  is a Rake combiner that performs processing at both the time and frequency domains in order to recover the data that is spread in both the time and frequency domains at the transmitter.  FIG. 8  shows exemplary time-frequency Rake combiners  662 . It should be noted that the time-frequency Rake combiners  662  may be implemented in many different ways and the configuration shown in  FIG. 8  is provided as an example, not as a limitation, to those of ordinary skill in the art. 
         [0061]    Each time-frequency Rake combiner  662  comprises a subcarrier grouping unit  802 , a despreader  804  and a Rake combiner  806 . For each data symbol j (j=0, 1, . . . , 2 n−m −1) of N T  consecutive data symbols, the subcarrier grouping unit  802  collects the following chips on subcarriers  661  2 n−m ·k+j (k=0, 1, . . . , 2 m −1), totaling 2 m  chips. Then, the despreader  804  performs frequency-domain despreading to the chips on the 2 m  subcarriers. The despreader  804  includes a plurality of multipliers  812  for multiplying conjugate  813  of the SCQS codes to the collected chips  811 , a summer  815  for summing the multiplication outputs  814 , and a normalizer  817  for normalizing the summed output  816 . After the frequency-domain despreading, chips on 2 n  subcarriers become chips on N T  parallel chip streams  818 . To recover the j-th data symbol of the user i, time-domain Rake combining is performed by the Rake combiner  806  on the corresponding chip stream  818 . 
         [0062]    Referring again to  FIG. 6 , it is optional to perform a masking operation at the transmitter  610  and the corresponding demasking operation at the receiver  650  to reduce the intercell MAI. The mixer  628  multiplies output  627  from the CP insertion unit  626  with a masking code  630  before transmission. The mixer  652  of the receiver  650  multiplies the received signals  632  with the conjugate  651  of the masking code used at the transmitter  610 . 
         [0063]    For all the embodiments described hereinbefore, a predetermined data vector {d(i)}, (i.e., pre-known signals), may be transmitted. In this way, the uplink transmitted signals can be used as a preamble for Random Access Channel (RACH) or uplink pilot signals. For example, a predetermined data vector {d(i)} of all 1s. {1, 1, . . . , 1}, may be transmitted. 
         [0064]    Although the features and elements of the present invention are described in the preferred embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the preferred embodiments or in various combinations with or without other features and elements of the present invention.