Abstract:
An apparatus and method for despreading a CDMA signal, wherein the apparatus performs a predetermined operation on a received CDMA signal and first and second codes to extract a pilot symbol and a data symbol from the received CDMA signal when the first and second codes are generated internally; and includes a correlation unit for performing operations on the respective inphase and quadrature components of the first code and accumulatively storing the results of the operations depending on first and second selection signals obtained from the first and second codes, a decimator for outputting individual accumulated values after individual results of the operation are separately accumulated a predetermined number of times by the correlation unit, and a symbol output unit for performing a predetermined operation on individual values output from the decimator to output the pilot symbol and the data symbol.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a despreading apparatus and method for a code division multiple access (CDMA) signal.  
           [0003]    2. Description of the Related Art  
           [0004]    CDMA systems are largely classified into a direct sequence (DS) system and a frequency hopping (FH) system. While the FH system has not been widely used, the DS/CDMA system has been adopted as a standard and is widely used in a mobile communication environment. Although a frequency division multiple access system and a time division multiple access system are also used as standards in mobile communication, the DS/CDMA system has been adopted as a standard recommendation for International Mobile Telecommunication (IMT)-2000 since the DS/CDMA system can increase the number of users that can be served more easily than the other systems.  
           [0005]    In a CDMA system, user data is spread using a spreading code sequence and transmitted. By doing this, user data can be transmitted with a large bandwidth so that it can be robust against a multi-interference signal and multipath fading. To receive the spread signal, the same spreading code sequence used for transmission should be used for receiving. Receiving a spread signal includes the steps of searching a spreading code sequence and detecting the signal. Both steps include a procedure of despreading a signal. Despreading a signal is converting down a large bandwidth of the signal to an original small bandwidth of the signal before transmission. Accordingly, high speed signal processing is required.  
           [0006]    A CDMA system recommended by an IS-95 standard recommendation converts a signal of 1.2288 MHz down to a signal of 9.6 KHz. Thus, the system should process data having a bandwidth 128 times wider than an original bandwidth of data before being despread. Generally, large bandwidth data requires a faster signal processing ability than small bandwidth data. To realize a software radio CDMA receiver, it is necessary to reduce the amount of calculations for despreading, which cause a bottleneck in signal processing.  
           [0007]    Conventionally, a method of fast initial synchronization using a memory is used for fast signal processing. For example, this method is disclosed in U.S. Pat. No. 5,768,306. The memory is designed such that a received signal is stored in the memory at frequency of 1/T c  (T c  is a chip period) and is read from the memory at high frequency of K/T c . Although data is received at a rate of 1/T c , the data stored in the memory is read at a higher rate of K/T c  and processed so that signal processing related to a search can be performed on many signals simultaneously. Although this method is provided for searching many phase signals simultaneously in a searching apparatus operated by a fast clock, it does not reduce the amount of calculations.  
           [0008]    Accordingly, it is desirable to reduce the amount of calculations during a real-time signal detection. If the signal detection is realized as hardware, a high clock speed is required, which generates significant heat. Generation of much heat results in large power consumption of the hardware so that using the hardware is not suitable to a mobile receiver using a CDMA signal. Accordingly, reducing the amount of calculations for the signal detection is desirable, and particularly, reducing the amount of calculations for despreading a received CDMA signal is desirable.  
         SUMMARY OF THE INVENTION  
         [0009]    To solve the above problems, it is a feature of an embodiment of the present invention to provide a despreading apparatus and a method for obtaining a pilot symbol and a data symbol from a received code division multiple access (CDMA) signal using a value obtained by performing a predetermined operation on inphase and quadrature pilot pseudo noise (PN) codes when the received CDMA signal is despread.  
           [0010]    In an effort to satisfy this and other features of the present invention, in one aspect, there is provided an apparatus for despreading a CDMA signal. The apparatus performs a predetermined operation on a received CDMA signal and first and second codes to extract a pilot symbol and a data symbol from the received CDMA signal when the first and second codes are generated internally. The apparatus includes a correlation unit for performing operations on the respective inphase and quadrature components of the received signal and the respective inphase and quadrature components of the first code and accumulatively storing the results of the operations depending on first and second selection signals which are obtained from the first and second codes. The apparatus further includes a decimator for outputting individual accumulated values after individual results of the operation are separately accumulated a predetermined number of times by the correlation unit. The apparatus additionally includes a symbol output unit for performing a predetermined operation on individual values output from the decimator to output the pilot symbol and the data symbol.  
           [0011]    In another aspect, there is provided a method of despreading a CDMA signal, in which a predetermined operation on a received signal and first and second codes is performed to extract a pilot symbol and a data symbol from the received CDMA signal when the first and second codes are generated internally in a CDMA signal receiver. The method includes (a) performing operations on the respective inphase and quadrature components of the received signal and the respective inphase and quadrature components of the first code; (b) accumulatively storing the results of the operation a predetermined number of times depending on first and second selection signals which are obtained from the first and second codes; and (c) performing a predetermined operation on individual accumulated values after individual results of the operation are separately accumulated and outputting the pilot symbol and the data symbol.  
           [0012]    There is also provided a method of despreading a CDMA signal, in which a predetermined operation on a received signal and first and second codes is performed to extract a pilot symbol and a data symbol from the received CDMA signal when the first and second codes are generated internally in a CDMA signal receiver. The method includes (a) grouping data of one symbol depending on the combination of the first code and the second code; (b) performing predetermined operations on the inphase component of the received signal and the inphase component of the first code with respect to the data of each group and accumulating the results of the operation during a symbol duration, and simultaneously, performing predetermined operations on the quadrature component of the received signal and the quadrature component of the first code with respect to the data of each group and accumulating the results of the operation during the symbol duration; (c) combining the accumulated results of inphase components of one group with the accumulated results of quadrature components of the other group, the groups having the same second code, thereby obtaining a plurality of partial sums; and (d) performing a predetermined operation on the partial sums to obtain the pilot symbol and the data symbol.  
           [0013]    These and other features of the present invention will be readily apparent to those of ordinary skill in the art upon review of the detailed description that follows. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]    The above feature and advantages of the present invention will become more apparent by describing in detail preferred embodiments thereof with reference to the attached drawings in which:  
         [0015]    [0015]FIG. 1 is a block diagram that illustrates a pseudo noise (PN) and Walsh correlator for a code division multiple access (CDMA) signal according to the present invention;  
         [0016]    [0016]FIG. 2 is a block diagram that illustrates a PN and Walsh correlator; and  
         [0017]    [0017]FIG. 3 is a block diagram that illustrates a finger of a rake receiver for a CDMA signal according to the present invention.  
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0018]    Korean patent application No. 00-1191, filed on Jan. 11, 2000, and entitled: “Despreading Apparatus and Method for CDMA Signal,” is incorporated by reference herein in its entirety.  
         [0019]    Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings. Referring to FIG. 1, a pseudo noise (PN) and Walsh correlator for a code division multiple access (CDMA) signal according to the present invention includes a selection signal generator  10 , a PN correlator  20  and an accumulation unit  30 .  
         [0020]    The selection signal generator  10  outputs the result of exclusively ORing the inphase component and the quadrature component of a pilot PN code generated by a pilot PN code generator (not shown).  
         [0021]    The PN correlator  20  includes: a first exclusive ORing unit  21  for exclusively ORing the inphase component of a received signal and the inphase component of a pilot PN code, a second exclusive ORing unit  22  for exclusively ORing the quadrature phase component of the received signal and the quadrature component of the pilot PN code and first and second multiplexers  23  and  24  each for outputting one of the outputs of the first and second exclusive ORing units  21  and  22  in response to a selection signal generated by the selection signal generator  10 .  
         [0022]    The accumulation unit  30  includes a first accumulator  111  for accumulating the output of the first multiplexer  23 ; a second accumulator  112  for accumulating the outputs of the second multiplexer  24 ; first and second demultiplexers  121  and  122  for outputting the outputs of the first and second accumulators  111  and  112 , respectively, to one of a plurality of output terminals, respectively, according to Walsh code w(k) generated for a received signal channel; latch units  131 ,  132   133  and  134  which are connected to the output terminals, respectively, of the first and second demultiplexers  121  and  122  and store the outputs of the first and second demultiplexers  121  and  122 ; a third multiplexer  141  for selecting one of the outputs of the latch units  131  and  132  according to the Walsh code and outputting it to the first accumulator  111  as a previous output; and a fourth multiplexer  142  for selecting one of the outputs of the latch units  133  and  134  according to the Walsh code and outputting it to the second accumulator  112  as a previous output.  
         [0023]    A procedure of despreading a CDMA signal using the structure described above will be described. Despreading a CDMA signal is extracting a pilot symbol x and a data symbol y from a received signal r(k)=r i (k)+jr q (k) using PN despreading and Walsh orthogonal covering. Here, r i (k) is the inphase component of r(k) and r q (k) is the quadrature component of r(k). A data symbol is used for data demodulation, and a pilot symbol is used for frequency error estimation, finger lock detection and a channel estimation. The pilot symbol x can be expressed by Equation (1) when p i (k) is the inphase component of a pilot PN code, and P q (k) is the quadrature component of a pilot PN code.  
                   x   =                  x   i     +     jx   q                   =                  ∑     k   =   1     64            (         r   i          (   k   )       +       jr   q          (   k   )         )                     (         p   i          (   k   )       -       jp   q          (   k   )         )                     =                  ∑     k   =   1     64          {     (           r   i          (   k   )              p   i          (   k   )         +         r   q          (   k   )              p   q          (   k   )         +     j   (         -       r   i          (   k   )                p   q          (   k   )         +                                                r   q          (   k   )              p   i          (   k   )         )       }               =                  ∑     k   =   1     64          {       u        (   k   )       +     jv        (   k   )         }                     (   1   )                               
 
         [0024]    where x i  is the inphase component of the pilot symbol x, and X q  is the quadrature component of the pilot symbol x. The data symbol y can be expressed by Equation (2) when w(k) is a Walsh code.  
                   y   =                  y   i     +     iy   q                   =                  ∑     k   =   1     64            w        (   k   )            (         r   i          (   k   )       +       jr   q          (   k   )         )                     (         p   i          (   k   )       -       jp   q          (   k   )         )                     =                  ∑     k   =   1     64          {         w        (   k   )            u        (   k   )         +       jw        (   k   )            v        (   k   )           }                     (   2   )                               
 
         [0025]    where y i  is the inphase component of the data symbol y, and y q  is the quadrature component of the pilot symbol y. From Equation (1) and Equation (2), u(k) and v(k) can be expressed as follows. 
           u ( k )= r   i ( K ) p   i ( k )+ r   q ( k ) p   q ( k ) 
           v ( k )=− r   i ( k ) p   q ( k )+ r   q ( k ) p   i ( k )  (3) 
         [0026]    For calculation of Equations (1), (2) and (3), 6×64 additions should be performed. FIG. 2 is a block diagram that illustrates a PN and Walsh correlator for performing Equations (1) through (3). The PN and Walsh correlator of FIG. 2 includes first through fourth exclusive ORing units  200 ,  201 ,  202  and  203  for exclusively ORing the inphase and quadrature components of a received signal and the inphase and quadrature components of a pilot PN code; first and second adders  210  and  211  for selectively adding the outputs of the first through fourth exclusive ORing units  200 ,  201 ,  202  and  203  to output the result of Equation (3); a first accumulator  230  or accumulating the output of the first adder  210 ; a second accumulator  231  for accumulating the output of the second adder  211 ; first and second latch units  240  and  241  for storing the outputs, respectively, of the first and second accumulators  230  and  231  and outputting the stored values to the first and second accumulators  230  and  231 , respectively; fifth and sixth exclusive ORing units  220  and  221  for exclusively ORing the respective outputs of the first and second adders  210  and  211  and a Walsh code; a third accumulator  232  for accumulating the output of the fifth exclusive ORing unit  220 ; a fourth accumulator  233  for accumulating the output of the sixth exclusive ORing unit  221 ; and third and fourth latch units  242  and  243  for storing the outputs, respectively, of the third and fourth accumulators  232  and  233  and outputting the stored values to the third and fourth accumulators  232  and  233 , respectively.  
         [0027]    The PN and Walsh correlator of FIG. 2 uses 6 adders and 4 latch units. The 4 latch units are used at every chip. For one symbol period composed of 64 chips, 6×64 additions are performed. If the number of adders is reduced by ⅓, the number of latch units increases to 2 3  times. Accordingly, additional reductions in the amount of calculations are desired.  
         [0028]    To reduce the amount of calculations, the present invention divides one symbol data into a predetermined number of groups according to the combination of a pilot code and a Walsh code, extracts a pilot symbol and a data symbol from each group, and combines the extracted values.  
         [0029]    Data of one symbol can be grouped as showed in Equation (4). 
           K   1   ={k|p   i ( k ). p   q ( k )=1 ,w ( k )=1, k= 1,2 , . . . , 64} 
           K   2   ={k|p   i ( k ). p   q ( k )=1 ,w ( k )=−1 ,k= 1,2, . . . ,64} 
           K   3   ={k|p   i ( k ). p   q ( k )=−1, w ( k )=1 ,k= 1,2, . . . ,64} 
           K   4   ={k|p   1 ( k ). p   q ( k )=−1, w ( k )=−1, k= 1,2 , . . . , 64}  (4) 
         [0030]    The pilot symbol x and data symbol y of each group can be expressed by Equation (5).  
                     x   =                    ∑     k   ∈     K   1              {       u        (   k   )       +     jv        (   k   )         }       +       ∑     k   ∈     K   2              {       u        (   k   )       +     jv        (   k   )         }       +                                  ∑     k   ∈     K   3              {       u        (   k   )       +     jv        (   k   )         }       +       ∑     k   ∈     K   4              {       u        (   k   )       +     jv        (   k   )         }                      
                y   =                    ∑     k   ∈     K   1              {         w        (   k   )            u        (   k   )         +       jw        (   k   )            v        (   k   )           }       +       ∑     k   ∈     K   2              {         w        (   k   )            u        (   k   )         +       jw        (   k   )            v        (   k   )           }       +                                  ∑     k   ∈     K   3              {         w        (   k   )            u        (   k   )         +       jw        (   k   )            v        (   k   )           }       +       ∑     k   ∈     K   4              {         w        (   k   )            u        (   k   )         +       jw        (   k   )            v        (   k   )           }                         (   5   )                               
 
         [0031]    For data k, kεK 1 , if the inphase component and the quadrature component of a partially accumulated value are represented by S 1   i  and S 1   q , respectively, they can be expressed by Equation (6).  
                       S   i   1     =         ∑       k   ∈     K   1                               r   i          (   k   )              p   i          (   k   )           =       ∑     k   ∈     K   1                  r   i          (   k   )            w        (   k   )              p   i          (   k   )                         =         ∑       k   ∈     K   1                               r   i          (   k   )              p   q          (   k   )           =       ∑     k   ∈     K   1                  r   i          (   k   )            w        (   k   )              p   q          (   k   )                          
                  S   q   1     =         ∑       k   ∈     K   1                               r   q          (   k   )              p   q          (   k   )           =       ∑     k   ∈     K   1                  r   q          (   k   )            w        (   k   )              p   q          (   k   )                         =         ∑       k   ∈     K   1                               r   q          (   k   )              p   i          (   k   )           =       ∑     k   ∈     K   1                  r   q          (   k   )            w        (   k   )              p   i          (   k   )                             (   6   )                               
 
         [0032]    For data k, kεK 2 , if the inphase component and the quadrature component of a partially accumulated value are represented by S 2   i  and S 2   i  , respectively, they can be expressed by Equation (7).  
                       S   i   2     =         ∑       k   ∈     K   2                               r   i          (   k   )              p   i          (   k   )           =       ∑     k   ∈     K   2                  r   i          (   k   )            w        (   k   )              p   i          (   k   )                         =         ∑       k   ∈     K   2                               r   i          (   k   )              p   q          (   k   )           =     -       ∑     k   ∈     K   1                  r   i          (   k   )            w        (   k   )              p   q          (   k   )                            
                  S   q   2     =         ∑       k   ∈     K   2                               r   q          (   k   )              p   q          (   k   )           =     -       ∑     k   ∈     K   2                  r   q          (   k   )            w        (   k   )              p   q          (   k   )                           =         ∑       k   ∈     K   2                               r   q          (   k   )              p   i          (   k   )           =       ∑     k   ∈     K   2                  r   q          (   k   )            w        (   k   )              p   i          (   k   )                             (   7   )                               
 
         [0033]    For data k, kεK 3 , if the inphase component and the quadrature component of a partially accumulated value are represented by S 3   i  and S 3   q , respectively, they can be expressed by Equation (8).  
                       S   i   3     =         ∑       k   ∈     K   3                               r   i          (   k   )              p   i          (   k   )           =       ∑     k   ∈     K   3                  r   i          (   k   )            w        (   k   )              p   i          (   k   )                         =       -       ∑       k   ∈     K   3                               r   i          (   k   )              p   q          (   k   )             =     -       ∑     k   ∈     K   3                  r   i          (   k   )            w        (   k   )              p   q          (   k   )                            
                  S   q   3     =         ∑       k   ∈     K   3                               r   q          (   k   )              p   q          (   k   )           =       ∑     k   ∈     K   3                  r   q          (   k   )            w        (   k   )              p   q          (   k   )                         =       -       ∑       k   ∈     K   3                               r   q          (   k   )              p   i          (   k   )             =     -       ∑     k   ∈     K   1                  r   q          (   k   )            w        (   k   )              p   i          (   k   )                               (   8   )                               
 
         [0034]    For data k, kεK 4 , if the inphase component and the quadrature component of a partially accumulated value are represented by S 4   i  and S 4   q , respectively, they can be expressed by Equation (9).  
                       S   i   4     =         ∑       k   ∈     K   4                               r   i          (   k   )              p   i          (   k   )           =       ∑     k   ∈     K   4                  r   i          (   k   )            w        (   k   )              p   i          (   k   )                         =       -       ∑       k   ∈     K   4                               r   i          (   k   )              p   q          (   k   )             =       ∑     k   ∈     K   4                  r   i          (   k   )            w        (   k   )              p   q          (   k   )                          
                  S   q   1     =         ∑       k   ∈     K   4                               r   q          (   k   )              p   q          (   k   )           =     -       ∑     k   ∈     K   4                  r   q          (   k   )            w        (   k   )              p   q          (   k   )                           =       -       ∑       k   ∈     K   4                               r   q          (   k   )              p   i          (   k   )             =       ∑     k   ∈     K   1                  r   q          (   k   )            w        (   k   )              p   i          (   k   )                             (   9   )                               
 
         [0035]    Equations (5) through (9) can be arranged into a matrix as shown in Equation (10).  
               [           x   i               x   q               y   i               y   q           ]     =       [         1       1       1       1             -   1           -   1         1       1           1         -   1         1         -   1               -   1         1       1         -   1           ]          [           S   iq   1               S   iq   2               S   qi   1               S   qi   2           ]               (   10   )                               
 
         [0036]    where S 1   iq =S 1   i +S 3   q , S 2   iq =S 2   i +S 4   q , S 1   qi =S 1   q +S 3   i  and S 2   qi =S 2   q +S 4   i . In other words, a pilot symbol and a data symbol can be obtained by performing fast Hadamard transform of the above matrix on S 1   iq , S 2   iq , S 1   qi  and S 2   qi . Accordingly, 2×6+8 additions are required.  
         [0037]    When S 1   iq , S 2   iq , S 1   qi  and S 2   qi  at an arbitrary k are represented by S 1   iq  (k), S 1   iq  (k), S 1   qi  (k) and S 2   qi  (k), respectively, their values can be calculated as follows.  
                       S   iq   1          (   k   )       =     {                 S   iq   1          (     k   -   1     )       +         r   i          (   k   )              p   i          (   k   )           ,     k   ∈     K   1                         S   iq   1          (     k   -   1     )       +         r   q          (   k   )              p   q          (   k   )           ,     k   ∈     K   3                                 S   iq   2          (   k   )       =     {                 S   iq   2          (     k   -   1     )       +         r   i          (   k   )              p   i          (   k   )           ,     k   ∈     K   2                         S   iq   2          (     k   -   1     )       +         r   q          (   k   )              p   q          (   k   )           ,     k   ∈     K   4                                 S   qi   1          (   k   )       =     {                 S   qi   1          (     k   -   1     )       +         r   q          (   k   )              p   q          (   k   )           ,     k   ∈     K   1                         S   qi   1          (     k   -   1     )       +         r   i          (   k   )              p   i          (   k   )           ,     k   ∈     K   3                                 S   qi   2          (   k   )       =     {                 S   qi   2          (     k   -   1     )       +         r   q          (   k   )              p   q          (   k   )           ,     k   ∈     K   2                         S   qi   2          (     k   -   1     )       +         r   i          (   k   )              p   i          (   k   )           ,     k   ∈     K   4                               (   11   )                               
 
         [0038]    When the data blocks of kεK 1  and kεK 2  are changed into the data blocks of kεK 3  and kεK 4 , adders are changed. When the data blocks of kεK 1  and kεK 3  are changed into the data blocks of kεK 2  and kεK 4 , latch units are changed.  
         [0039]    The PN and Walsh correlator of FIG. 1 is provided for performing an operation according to Equation (11). The selection signal generator  10  exclusively ORs the inphase component p i (k) are the quadrature component p q (k) of a pilot PN sequence. The first exclusive ORing unit  21  of the PN correlator  20  exclusively ORs the inphase component r i (k) of a received signal and the inphase component p i (k) of a pilot PN code. The second exclusive ORing unit  22  exclusively ORs the quadrature component r q (k) of the received signal and the quadrature component p q (k) of the pilot PN code. Each of the first and second multiplexers  23  and  24  selects one of the outputs of the first and second exclusive ORing units  21  and  22  in response to the output of the signal generator  10 .  
         [0040]    The first and second accumulators  111  and  112  add the respective outputs of the first and second multiplexers  23  and  24  to respective previous outputs stored in the latch units  131  through  134 . The accumulated value of the first accumulator  111  is stored in one of the latch units  131  and  132  through the first demultiplexer  121  having a Walsh code w(k) as a selection signal. The values stored in the latch units  131  through  134  are output to the first and second accumulators  111  and  112  through the third and fourth multiplexers  141  and  142 , respectively, having the Walsh code as a selection signal.  
         [0041]    [0041]FIG. 3 is a block diagram that illustrates a finger of a rake receiver for a CDMA signal according to the present invention. The finger of FIG. 3 includes a PN and Walsh correlator  300 , a data decimator  302 , a matrix arithmetic unit  304 , a symbol rate pilot filter  306  and a symbol processor  308 .  
         [0042]    In the operation of the finger having the above structure, a CDMA signal received through an antenna is processed such as RF to IF down-conversion and then is input to the PN and Walsh correlator  300 . The PN and Walsh correlator  300  is the apparatus shown in FIG. 1, and it operates as described above. The decimator outputs S 1   iq , S 2   iq , S 1   qi  and S 2   qi  received from the PN and Walsh correlator  300  once each one symbol period.  
         [0043]    The matrix arithmetic unit  304  performs a matrix operation described in Equation (10) on S 1   iq , S 2   iq , S 1   qi  and S 2   qi  output from the decimator  302  each one symbol period to generate a data symbol and an on-time pilot symbol. The matrix operation is performed according to the fast Hadamard transform.  
         [0044]    The symbol rate pilot filter  306  filters the pilot symbol output from the matrix arithmetic unit  304 . Here, it is preferable to use a moving average filter as the symbol rate pilot filter  306 . By using the filter, noise can be removed.  
         [0045]    The symbol processor  308  performs typical frequency error compensation, channel compensation and data symbol processing for diversity combination on the pilot symbol output from the symbol rate pilot filter  306  and the data symbol output from the matrix arithmetic unit  304 .  
         [0046]    According to the present invention, when despreading a received signal, data of one symbol is grouped depending on the combination of a pilot PN code and a Walsh code, and the productions of the received signal and the pilot PN code are accumulated for each group, thereby reducing the number of additions from 6×64 to 2×64+8. In addition, the same number of latch units as used in conventional technology can be used even though the amount of calculations is reduced. Since a correlator can be driven at a lower clock speed as the amount of calculations is reduced, the amount of internally generated heat and power consumption can be reduced. Therefore, the present invention can be applied to a software radio mobile terminal susceptible to power consumption.  
         [0047]    While the invention has been described in terms of preferred embodiments, those of ordinary skill in the art will recognize that various modifications may be made to the invention without departing from the spirit and scope thereof.