Patent Document

FIELD OF THE INVENTION  
       [0001]     The present invention relates to code division multiple access (CDMA) communication systems and, more particularly, to direct sequence CDMA (DS-CDMA) systems having reduced peak-to-average power ratios (PAPRs).  
       BACKGROUND OF THE INVENTION  
       [0002]     CDMA techniques transmit multiple information signals on the same channel, and differentiate each user sub-channel by encoding it with a unique spreading code. Originally, CDMA networks were designed to carry only voice traffic and exhibited limited data rate variability. CDMA networks, however, are evolving to encompass a variety of applications, each requiring potentially different data rates or quality of service needs. A CDMA system that employs four spreading codes is said to have a “spreading factor” of four and can transmit four distinct streams of data.  
         [0003]     The output of a given CDMA transmitter is generally the sum, s, of each data stream multiplied by the corresponding spreading code. In a system having a spreading factor of four, there are 16 possible output vectors,  s . It can be shown that the peak-to-average power ratio of such a CDMA system is the maximum value over each possible output vector,  s , of the peak energy divided by the average energy. If the peak-to-average power ratio of a CDMA system is greater than one then it is obvious that power of different signals vary. Thus, when the output vector,  s , is amplified prior to transmission by a non-linear amplifier, which are commonly found in communications devices, the transmitted signal will be amplified differently for each possible output vector,  s , creating non-linear distortion.  
         [0004]     A need therefore exists for a CDMA system that provides a reduced peak to average power ratio.  
       SUMMARY OF THE INVENTION  
       [0005]     Generally, a method and apparatus are provided for generating a code book for use in a CDMA system. The code book comprises of a plurality of vectors that are used to encode user data. According to one aspect of the invention, the amplitude and polarity for each vector in the code book are selected to provide a reduced peak-to-average power ratio. The amplitude values can be selected to provide a reduced peak-to-average power ratio while maintaining a desired average energy per chip. The desired energy per chip can be based on the energy per chip of a CDMA system having a lower order spreading factor.  
         [0006]     In one exemplary implementation, a CDMA system has a spreading factor of eight for communicating eight distinct data streams. One or more of the data streams can be reserved to maintain a desired data rate, such as a data rate of a CDMA system with a spreading factor of four. The exemplary code book employs vectors having amplitude values that provide a significant reduction in the peak-to-average power ratio, relative to a frequently deployed conventional CDMA system having a spreading factor of four. In a further variation, performance can be further improved by employing a first code book under a first signal-to-noise ratio condition and a second code book under a second signal-to-noise ratio condition.  
         [0007]     From the system point of view, a CDMA transmitter incorporating features of the present invention comprises a plurality of multipliers that multiply an encoded data stream by a corresponding spreading code. The encoded data stream is based on a code book comprised of a plurality of vectors, each of the vectors having non-uniform amplitude values selected to provide a reduced peak-to-average power ratio, in accordance with the present invention.  
         [0008]     A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0009]      FIG. 1  illustrates a conventional DS-CDMA system;  
         [0010]      FIG. 2  illustrates an exemplary code book that can be employed by the DS-CDMA system of  FIG. 1 ′ 
         [0011]      FIG. 3  illustrates a DS-CDMA system incorporating features of the present invention;  
         [0012]      FIG. 4  is a flow chart describing an exemplary implementation of a code book generation process;  
         [0013]      FIG. 5  is a plot illustrating the relative decoding performance (bit error probability versus signal-to-noise ratio) of the conventional DS-CDMA system of  FIG. 1  and the DS-CDMA system of  FIG. 3 , in the presence of an additive white Gaussian noisy (AWGN) channel; and  
         [0014]      FIG. 6  is a flow chart describing an exemplary implementation of a decoding process. 
     
    
     DETAILED DESCRIPTION  
       [0015]      FIG. 1  illustrates a conventional DS-CDMA system  100  with a spreading factor (SF) of four (4). The conventional DS-CDMA system  100  is used, for example, in mobile telephones. For a detailed discussion of exemplary DS-CDMA systems  100 , see, for example, T. Ottosson, “Precoding for Minimization of Envelope Variations in Multicode DS-CDMA Systems,” Wireless Personal Communications, 13, 57-78 (2000), incorporated by reference herein.  
         [0016]     The conventional DS-CDMA system  100  shown in  FIG. 1  is used for simultaneous transmission of four streams of information, a 0 ,a 1 ,a 2  and a 3 , that carry information of streams  0 ,  1 ,  2 , and  3 , respectively. Variables a 0 ,a 1 ,a 2  and a 3  form the vector  a =(a 0 ,a 1 ,a 2 ,a 3 ). The vector  s  is referred to as the output vector that is applied to a communications channel. The vectors  c   0 ,  c   1 ,  c   2  and  c   3  are spreading sequences. Generally, each information stream a 0 ,a 1 ,a 2  and a 3  is multiplied by a corresponding spreading sequence,  c   0 ,  c   1 ,  c   2  and  c   3 , respectively, by corresponding multipliers  110 - 1  through  110 - 4 , and the spread signals are combined at stage  120  prior to application to the channel.  
         [0017]      FIG. 2  illustrates an exemplary code book A  200  that can be employed by the DS-CDMA system  100  of  FIG. 1 . Thus, the vectors  a  form the code book A of  FIG. 2 . The information bit from the ith information stream is encoded into the sign of the ith entry of a vector  a . The logical zeroes (0s) correspond to positive entries of a vector  a  and logical ones (1s) correspond to negative entries. For example, in order to transmit logical zero in the 0th and 3rd information streams and logical one in the 1st and 2nd streams, the vector  a =(a,−a,−a,a) is transmitted. The value a is the amplitude of transmitted signals. Typically, the amplitudes of each of the four streams of information, a 0 ,a 1 ,a 2  and a 3 , is the same. In some implementations of the conventional DS-CDMA system  100 , the amplitude of one or more of the four streams of information, a 0 ,a 1 ,a 2  and a 3 , may be increased to provide a corresponding increase in energy (and thus protection) of the stream. For example, the amplitude of stream a 0 , which may be associated with a pilot signal, may be increased to improve the channel estimation.  
         [0018]     The vectors  c   0 ,  c   1 ,  c   2 ,  c   3  are spreading sequences assigned to corresponding information streams.  
         [0019]     The spreading sequences  c   0 ,  c   1 ,  c   2 ,  c   3  are defined as follows: 
         c   0 =(1, 1, 1, 1),      c   1 =(1, −1, 1, −1),      c   2 =(1, 1, −1, −1),      c   3 =(1, −1, −1, 1).        
 
         [0024]     It can be seen that these sequences form rows of the well-known Hadamard matrix H 4  of dimension four (see, e.g., F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, North-Holland (1977)), as follows:  
           H   4     =     [           1   ,           1   ,           1   ,         1             1   ,             -   1     ,           1   ,           -   1               1   ,           1   ,             -   1     ,           -   1               1   ,             -   1     ,             -   1     ,         1         ]       ,       
 
 and therefore they are orthogonal. In other words  
                   c   _     i     ·       c   _     j       =     {           4   ,         if           i   =   j     ;               0   ,         if           i   ≠   j     ;                     (   1   )             
 
 where the multiplication · is the inner product of two vectors defined by the following rule: 
 
( x   0   ,x   1   , . . . , x   n-1 )·( y   1   ,y   2   , . . . , y   n-1 )= x   0   y   0   +x   1   y   1   + . . . x   n-1   y   n-1 . 
 
         [0025]     For example, 
 
   c     1   · c     2 =(1,−1,1−1)·(1,1,−1,−1)=1−1−1+1=0, but 
 
   c     1   · c     1 =(1,−1,1−1)·(1,−1,1,−1)=1+1+1+1=4. 
 
         [0026]     The output vector  s =(s 0 ,s 1 ,s 2 ,s 3 ), which is later modulated and then transmitted into the channel, is computed as follows: 
 
   s = a ·H   4   =a   0     c     0   +a   1     c     1   +a   2     c     2   +a   3     c     3 . 
 
         [0027]     The multiplication operation a i   c   i  occupies four chips of time. Therefore, in any DS-CDMA system, such as the DS-CDMA system  100  of  FIG. 1 , with the spreading factor four, variables a 0 ,a 1 ,a 2  and a 3  can change their values not faster than every four consecutive chips.  
         [0028]     Thus, the DS-CDMA system  100  is a system in which the variables a 1 ,a 2 ,a 3  take new values every four chips, and the variable a 0  takes a new value only every m chips, where m is an integer divisible by 8. It is assumed that the 0th stream plays a special role in the system  100 . For example, the 0th stream of a mobile telephone can be used for transmitting voice, while other streams can be used for transmitting data. The voice changes significantly slower compared to data and therefore a 0  has to take a new value only every i consecutive chips. Another common and important case is when the 0th stream is used for transmitting a pilot signal. The pilot signal usually remains constant for a long time interval, typically 256 chips, that allows the decoder to accurately estimate the channel fading coefficient.  
         [0029]     The rate of a DS-CDMA system  100  is defined as the average number of information bits transmitted per chip. It is easy to see that the DS-CDMA system  100  has the following rate:  
               R   A     =           3   ⁢     m   4       +   1     m     .             (   2   )             
 
         [0030]     Decoding  
         [0031]     During transmission through an exemplary channel, the vector  s  is corrupted by additive noise and the vector  x = s + z  is received, where  z  is a vector of noise. To recover a value of a i , a despreading procedure is used, which consists of multiplying the received vector  x  by the vector  c   i : 
 
 h   i   = x · c     i =(   s + z   )·   c     i =( a   0     c     0   +a   1     c     1   +a   2     c     2   +a   3     c     3 )·   c     i   + zc     i .  (3) 
 
         [0032]     Taking into account the orthogonality property of equation (1), the following is obtained: 
 
 h   i =4 a   i   + z · c     i . 
 
         [0033]     Finally, the sign of h i  is computed and the original bit is reconstructed as â i =sign(h i )a. If the channel noise is not very strong, in other words, if entries of the vector  z  are small numbers, then with a large probability the quantity | z · c   i | will be smaller than |4a i |. Therefore, h i  will have the same sign as a i , and hence â i  will be equal to a i .  
         [0034]     For example, without loss of generality it can be assumed that a=1. Let  a =(1, −1, 1, 1) and  z =(2.1, −1.8, −1.85, −1.75). Then,  s =(2, 2, −2, 2) and  h =(2.1, −1.8, −1.85, −1.75). Computing, for instance, h 1  according to equation (3), h 1  equal to −3.3 and â 1 =a 1  are obtained.  
         [0035]     Since the variable a 0  changes its value only every m chips and since it is spread with the help of the sequence  c   0 =(1,1,1,1), the value of a 0  is reconstructed using a different rule.  x   (x) , i=1, . . . , m/4 denotes vectors received from the channel after transmitting m chips.  z   (i) , i=1, . . . , m/4 denotes the corresponding noisy vectors. To determine the value a 0 , compute:  
           h   0     =         ∑     i   =   1       m   /   4       ⁢         x   _       (   i   )       ·       c   _     0         =         ∑     i   =   1       m   /   4       ⁢       ∑     j   =   0     3     ⁢       x   _     j     (   i   )           =     ma   +       ∑     i   =   1       m   /   4       ⁢       ∑     j   =   0     3     ⁢       z   _     j     (   i   )                   ,       
 
 and reconstruct â 0 =sign(h 0 )a. It can be shown that the probability of decoding error, defined below, is significantly lower for a 0  compared to other values of a i . 
 
         [0036]     The bit error probability of a DS-CDMA system, such as the DS-CDMA system  100 , is defined as follows 
 
 Pr ( â   i   ≠a   i )= Pr (sign( â   i )≠sign( a   i )). 
 
         [0037]     PAPR of the DS-CDMA System  100   
         [0038]     The energy of a vector of signals  x =(x 0 , x 1  . . . , x n-1 ) is defined as x 0   2 +x 1   2 + . . . +x n-1   2 .  
         [0039]     Hence, the average energy per chip of an output vector  s  equals:  
           E   av     ⁡     (     s   _     )       =       1   4     ⁢       (       s   0   2     +     s   1   2     +     s   2   2     +     s   3   2       )     .           
 
         [0040]     The average energy per chip for the system is defined as the value E( s ) averaged over all 16 possible vectors  s  corresponding to vectors from code book A, shown in  FIG. 2 .  
               E   A     =       1   16     ⁢       ∑     s   -       ⁢         E   av     ⁡     (   s   )       .                 (   4   )             
 
         [0041]     The peak energy of  s  is defined as  
                 E   peak     ⁡     (     s   _     )       =       max     0   ≤   i   ≤   3       ⁢       {     s   i   2     }     .               (   5   )             
 
         [0042]     The peak to average power ratio of the DS-CDMA system  100  equals:  
               PAPR   A     =       max     s   -       ⁢           E   peak     ⁡     (     s   _     )         E   A       .               (   6   )             
 
 Thus, the peak to average power ratio will vary. For non-linear amplifiers, which are commonly found in communications devices, such as mobile telephones, different components of the transmitted signal will be amplified differently, creating non-linear distortion. A need therefore exists for a DS-CDMA system that provides a reduced peak to average power ratio. 
 
         [0043]     Let H n  be an n dimensional Hadamard matrix and  y =(y 0 , . . . , y n-1 ) be a real vector and  v = y H n . The Parseval rule (see, e.g., F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, Chapter 14.3, Corollary 3) relates the energy of the vector  y , which equals 
 
 E (   y   )= y   0   2   + . . . +y   n-1   2 , 
 
 to the energy of the vector  v , E( v )=v 0   2 + . . . +v n-1   2 , by the following equality: 
 
 E (   v   )= nE (   y   )  (7) 
 
         [0044]     If a vector  a =(a 0 ,a 1 ,a 2 ,a 3 ) is transmitted, then according to the Parseval rule (equation (7)), the corresponding output vector  s  will have the following average energy per chip:  
                 E   av     ⁡     (     s   _     )       =         1   4     ⁢     (       s   0   2     +     s   1   2     +     s   2   2     +     s   3   2       )       =         1   4     ⁢   4   ⁢     (       a   0   2     +     a   1   2     +     a   2   2     +     a   3   2       )       =     4   ⁢       a   2     .                   (   8   )             
 
         [0045]     Thus, according to equation (4): 
 
 E   A =4 a   2 .  (9) 
 
         [0046]     The PAPR of the DS-CDMA system  100  is now estimated. It can be shown that half of the output vectors  s =(s 0 , s 1 , s 2 , s 3 ) have the property that three variables of s 0 , s 1 , s 2 , s 3  are zeros and one variable has the absolute value |4a 2 | For instance, if  a =(a, a, −a, −a) then the corresponding output vector has the form  s =(0, 0, 4a, 0). The second half of the output vectors have the property that all s 0 , s 1 , s 2 , s 3  variables have the same absolute value |2a|. For instance, if  a =(a, −a, a, a) then  s =(2a, 2a, −2a, 2a). Therefore, according to equations (6), (5), and (9), the peak to average power ratio of the DS-CDMA system  100  can be expressed as follows:  
         PAPR   A     =           (     4   ⁢   a     )     2       4   ⁢     a   2         =   4.         
 
         [0047]     Improved DS-CDMA System  
         [0048]      FIG. 3  illustrates a DS-CDMA system  300  incorporating features of the present invention. The exemplary DS-CDMA system  300  provides a spreading factor SF=8, with a reduced peak to average power ratio and bit error probability, relative to the conventional DS-CDMA system  100 . In various implementations, the DS-CDMA system  300  can have the same (i) rate, (ii) average energy per chip and (iii) amplitude, a, of signals transmitted in the 0th stream as the conventional DS-CDMA system  100 . In this manner, the rate of the conventional system is maintained without increasing the average power per chip. In addition, the power for signals transmitted in the 0th stream is not changed, thereby resulting in the same bit error probability. Since the 0th stream plays a special role in the system it can be important to maintain the bit error probability for the 0th stream, relative to the DS-CDMA system  100 . For example, if the 0th stream is used for sending a pilot signal and the amplitude of the signal is reduced, this will result in a less accurate estimate of the channel fading coefficients, which, in turn, leads to failure to decode other streams of information.  
         [0049]     Vectors  b =(b 0 , b 1 , b 2 , b 3 , b 4 , b 5 , b 6 , b 7 ) are taken from the code book, defined below in conjunction with  FIG. 4 . In the exemplary implementation, only streams  0 ,  1 , . . . ,  6  carry information and stream  7  plays an auxiliary role. The signs (polarities) of the variables b 0 , . . . , b 6  represent values of transmitted bits, in a similar manner to the DS-CDMA system  100 . For example, positive entries can correspond to logical 0 and negative entries can correspond to logical 1. The absolute values |b 0 |, . . . , |b 7 | represent signal amplitudes of transmitted signals. In the DS-CDMA system  300  of the present invention, different amplitudes and polarities are chosen for signals from different streams (such that a desired average energy, E A , is maintained).  
         [0050]     The spreading sequences  w   0 ,  w   1 , . . . ,  w   7  can be expressed as follows: 
         w   0 =(1, 1, 1, 1, 1, 1, 1, 1,);      w   1 =(1, −1, 1, −1, 1, −1, 1, −1,);      w   2 =(1, 1, −1, −1, 1, 1, −1, −1,);      w   3 =(1, −1, −1, 1, 1, −1, −1, 1,);      w   4 =(1, 1, 1, 1, −1, −1, −1, −1,);      w   5 =(1, −1, 1, −1, −1, 1, −1, 1,);      w   6 =(1, 1, −1, −1, −1, −1, 1, 1,);      w   7 =(1, −1, −1, 1, −1, 1, 1, −1,).        
 
         [0059]     The sequences  w   0 ,  w   1 , . . . ,  w   7  form rows of the Hadamard matrix H 8  of dimension eight (8) and therefore they are orthogonal. The variables b 1 , . . . , b 6  take new values every eight chips and the variable b 0  takes a new value every m chips. It is noted that during a time interval of 8 chips, the conventional DS-CDMA system  100  can transmit 6 bits (over two cycles). Thus, in order to transmit 6 bits with the DS-CDMA system  300  in the same time interval of 8 chips, only six user streams are needed. According to one aspect of the invention, the seventh user stream can be used to maintain performance (e.g., to improve the PAPR). Thus, during m chips the DS-CDMA system  300  will transmit  
         6   ⁢     m   8       +   1       
 
 bits of information and therefore the rate of the DS-CDMA system  300  equals the rate of the conventional DS-CDMA system  100 :  
         R   B     =             6   8     ⁢   m     +   1     m     =             3   4     ⁢   m     +   1     m     =       R   A     .             
 
         [0060]     To be able to transmit seven streams of information, a code book of size 2 7  is needed. Instead of defining a code book for the DS-CDMA system  300  explicitly, the code book is defined using an algorithm. The matrices G pc  and G rm  are defined as follows:  
           G   pc     =     [         1       1       1       1       1       1       1       1           0       1       0       1       0       1       0       1           0       0       1       1       0       0       1       1           0       0       0       0       1       1       1       1           0       0       0       0       1       0       0       1           0       0       0       0       0       1       0       1           0       0       0       0       0       0       1       1         ]       ,     
     ⁢       G   rm     =       [         1       1       1       1       1       1       1       1           0       1       0       1       0       1       0       1           0       0       1       1       0       0       1       1           0       0       0       0       1       1       1       1         ]     .           
 
         [0061]     The matrices G pc  and G rm  are generator matrices of the single parity check code and the first order Reed-Muller code of length  8  (see, e.g. F. J. MacWilliams and N. J. Sloane, The theory of Error-Correcting Codes, North-Holland (1977)). They define properties of a code book B.  
         [0062]     Let a be the signal amplitude used in the conventional DS-CDMA system  1100  and c, e and d be signal amplitudes for the DS-CDMA system  300  of the present invention. Let a binary vector  u =(u 0 , u 1 , . . . , u 6 ) take all 2 7 =128 possible values from (0, 0, . . . , 0) to (1, 1, . . . , 1). For each vector  u , the corresponding vector  b  is defined according to the following code book generation process  400 , shown in  FIG. 4 : 
        1. Compute  v = u G pc       2. Compute  h =G rm   v   ⊥  (here ⊥ indicates the vector transposition);     3. If  h   ⊥ =(0,0,0,0) then assign t=2, else assign t=1;     4. Let v i =1−2v i , i=0, . . . , 7;     5. Form the vector  b  as follows. If t=1 then assign b 0 =av 0  and b i =cv i , i=1, . . . , 7, else assign b 0 =av 0 , b i =ev i , i=1, . . . , 6, and b 7 =−dv 7 .        
 
         [0068]     Vectors  b  form the code book B.  
         [0069]     For example, let  u =(0, 1, 1, 0, 0, 0, 0). Then,  v =(0,1,1,0,0,1,1,0) and further  h   ⊥ =(0,0,0,0). Therefore, t=2 and  b =(a,−e,−e,e,e−e,−e,d).  
         [0070]     It can be shown that any vectors  u  whose entries u 4 ,u 5 ,u 6  are all zeros will lead to t=2. In a further example, let  u =(0, 1, 1, 0, 0, 0, 1). Then,  v =(0, 1, 1, 0, 0, 1, 0, 1) and further  h   ⊥ =(0, 1, 0, 0). Therefore, t=1 and  b =(a, −c, −c, c, c, −c, c, −c).  
         [0071]     It can be shown that any vectors  u  in which at least one of entries u 4 ,u 5 ,u 6  is not zero will lead to t=1.  
         [0072]     PAPR of the DS-CDMA System  300   
         [0073]     Vectors  b  that correspond to the case t=1 are referred to as vectors of the first type and vectors  b  that correspond to the case t=2 vectors of the second type. It can be shown that the number of vectors of the first type is 7·16=112 and the number of vectors of the second type is 16.  
         [0074]     The power of a vector of the first type is a 2 +7c 2 . The power of a vector of the second type is a+6e 2 +d 2 . The total number of vectors is 2 7 =128. Hence, the average energy of a vector from the code book equals  
         E   vector     =           112   ⁢     (       a   2     +     7   ⁢     c   2         )       +     16   ⁢     (     a   +     6   ⁢     ⅇ   2       +     d   2       )         128     .         
 
         [0075]     Using the Parseval rule of equation (7), the average energy per chip is expressed as follows:  
               E   B     =         1   8     ⁢   8   ⁢     E   vector       =           112   ⁢     (       a   2     +     7   ⁢     c   2         )       +     16   ⁢     (     a   +     6   ⁢     ⅇ   2       +     d   2       )         128     .               (   10   )             
 
         [0076]     In order to maintain the average energy per chip in the DS-CDMA system  300  the same as in the conventional DS-CDMA system  100 , the amplitudes e, c, and d must be selected so that E B =E A , where E A  is defined in equation (8).  
         [0077]     Consider the PAPR of the DS-CDMA system  300  of the present invention. It can be shown that for any vector  b  of the first type, the corresponding output vector  s = b H 8  will have one and the same set of absolute values of entries: 
 
{|a+3c|,|a−c|,|a−5c|}. 
 
 It is noted that the vectors  u  that produce vectors  b  of the first type belong to cosets of the first order Reed-Muller code with the coset leader of weight two. The same is true for vectors  b  of the second type. In this case, the set of absolute values of entries of the output vector  s = b H is expressed as follows: 
 
{|a+6e−d|,|a+d|,|a−2e−d|}. 
 
         [0078]     Thus, the PAPR of the DS-CDMA system  300  is expressed as follows:  
               PAPR   B     =         max   ⁢     {                    a   +     3   ⁢   c            2     ,            a   -   c          2     ,            a   -     5   ⁢   c            2     ,                      a   +     6   ⁢   e     -   d          ,          a   +   d          ,          a   -     2   ⁢   e     -   d                  }             112   ⁢     (       a   2     +     7   ⁢     c   2         )       +     16   ⁢     (     a   +     6   ⁢     ⅇ   2       +     d   2       )         128       .             (   11   )             
 
         [0079]     To obtain a system with a small PAPR, the amplitudes b, c, and e must be selected to provide E B =E A  and minimize expression (11).  
         [0080]     In one exemplary solution of this optimization problem, the following amplitudes were obtained: 
 
 c= 0.6125123893 ·a, e= 0.611 ·a, d= 1.837572876 ·a.  
 
         [0081]     It can be shown that under this choice, E B =E A  and PAPR=2.013.  
         [0082]     Variations of the DS-CDMA System  300   
         [0083]     In addition to a small PAPR, a small bit error probability is also desired. A decoding algorithm will be described in the next section. It is noted that for minimizing the bit error probability, different approaches are used for channels with low and with high signal to noise ratios (SNR). In a channel with a high signal to noise ratio, a code book with a large minimum distance will have smaller bit error probability. The minimum distance of code book B is defined as follows: 
 
 d ( B )=min{ dist (   x ,  y   )=( x   0   −y   0 ) 2 +( x   1   −y   1 ) 2 + . . . +( x   7   −y   1 ) 2   :  x ,  y ∈B}.  
 
         [0084]     It is can be shown that vectors of the form  
             (           a   ,           e   ,           e   ,           e   ,           e   ,           e   ,           e   ,           -   d               a   ,             -   e     ,             -   e     ,           e   ,           e   ,             -   e     ,             -   e     ,         d         )         
 
 will have the minimum pairwise distance, say d 1 , among all pairs of vectors of the first type. Similarly, the vectors of the following form:  
             (           a   ,           c   ,           c   ,           c   ,           c   ,           c   ,             -   c     ,           -   c               a   ,           c   ,           c   ,           c   ,           c   ,             -   c     ,             -   c     ,         c         )         
 
 will have the minimum pairwise distance, say d 2 , among all pairs of vectors of the second type. 
 
         [0085]     Finally, the vectors of the folllowing form:  
             (           a   ,           e   ,           e   ,           e   ,           e   ,           e   ,           e   ,           -   d               a   ,           c   ,           c   ,           c   ,           c   ,           c   ,             -   c     ,           -   c           )         
 
 will have the minimum pairwise distance, say d 3 , among all pairs of vectors one of which is a vector of the first type and another is the vector of the second type. As previously indicated, for achieving small bit error probability in a channel with large SNR, the minimum distance of the code book must be maximized. This can be done by changing values for the constant amplitudes c, d, and e, which increases the PAPR of the system. 
 
         [0086]     Assume that a PAPR equal to 2.2 is desired. It can be shown that the minimum of distances d 2  and d 3  will define the minimum distance of the code book, while the distance d 1  is always much larger than d 2  and d 3 . Thus, an optimal choice of the constant amplitudes c, d, and e is one that provides d 2 ≈d 3  under the condition that PAPR B ≈2.2 and E A =E B .  
         [0087]     For example, if c=0.611617844·a, e=0.63 d 3  a, and d=1.813520605 d 3  a are selected, then a DS-CDMA system is obtained with PAPR≈2.2009 and d1≈2.992·a 2 , d2≈2.987·a 2 , d3≈3.1752·a 2 .  
         [0088]      FIG. 5  is a plot  500  illustrating the relative decoding performance (bit error probability versus signal-to-noise ratio) of the conventional DS-CDMA system  100  and the DS-CDMA system  300  of the present invention, in the presence of an additive white Gaussian noisy (AWGN) channel. According to another aspect of the invention, two different code books are employed based on whether the channel exhibits low or high signal to noise ratios (SNR), distinguished by a specified threshold. Thus, to minimize the bit error probability, different approaches are used for channels with low and with high signal to noise ratios (SNR). In a channel with a high signal to noise ratio, a code book with a large minimum distance will have smaller bit error probability. For example, as shown in  FIG. 5 , for a SNR above 2, the codebook associated with the DS-CDMA system  300  of  FIG. 3  will exhibit a better bit error probability.  
         [0089]     Decoding for the DS-CDMA System  300   
         [0090]     For reconstruction of the variable b, we use exactly the same procedure as in system A. Since in systems B and C we keep the same amplitude for signals transmitted in the 0th stream as in system A the probability of error remains also the same. For reconstruction information from other streams in systems B and C we can also use the same procedure of despreading as in system A. However, since signal amplitudes for streams  1 ,  2 , . . . ,  7  are lower than in system A the bit error probability will increase. For this reason, in addition to despreading, a posteriori probability (APP) decoding of the received vector can be used.  
         [0091]     It is again assumed that a vector  b =(b 0 ,b 1 , . . . , b 7 ). is transmitted. The output vector  
         s   _     =       ∑     i   =   0     7     ⁢       b   i     ⁢       w   _     i             
 
 is transmitted through a noisy channel and the vector  x = s + z  is received. Without loss of generality, it is assumed that the channel is an additive white Gaussian noisy (AWGN) channel. In other words, it is assumed that the density function f(z i ) of any element of the vector  z  can be expressed as:  
           f   ⁡     (     z   i     )       =       1       2   ⁢           ⁢   π   ⁢           ⁢     σ   2           ⁢     ⅇ       z   i   2       2   ⁢           ⁢     σ   2               ,       
 
 where σ depends on the SNR of a channel. 
 
         [0092]      FIG. 6  is a flow chart describing an exemplary decoding process  600 . As shown in  FIG. 6 , the exemplary decoding process  600  performs as follows: 
        1. For i from 0 to 7 compute  
           y   i     =       x   _     ·       w   i     _         ;       
    2. For all  b =(b 0 ,b 1 , . . . b 7 ) from B compute  
         p   ⁡     (     b   _     )       =     exp   ⁡     (             (       y   0     -     b   0       )     2     +       (       y   1     -     b   1       )     2     +   …   +       (       y   7     -     b   7       )     2       )       2   ⁢           ⁢     σ   2         )           
    3. For i from 0 to 7 do  
                 t   i     (   0   )       =       ∑       b   _     =         (       b   0     ,           ⁢   …   ⁢           ,     b   7       )     :     b   i       =   1         ⁢     p   ⁡     (     b   _     )           ,                   t   i     (   1   )       =       ∑       b   _     =         (       b   0     ,           ⁢   …   ⁢           ,     b   7       )     :     b   i       =     -   1           ⁢     p   ⁡     (     b   _     )           ,                 t   i     =     ln   ⁢       t   i     (   0   )         t   i     (   1   )                     
    4. For i from 0 to 7 do  
           b   ^     i     =     {           1   ,         if             t   i     &gt;   0     ;                 -   1     ,         if           t   i     &lt;   0.                 
    5. End.          
         [0098]     Using standard arguments (see, e.g., L. R. Bahl et al., “Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate,” IEEE Trans. Inform. Theory, 20, 284-87 (1974)), it can be shown that:  
         t             ⁢   i       =         Pr   ⁡     (       sign   ⁡     (     b   i     )       =     1   |     x   _         )         Pr   ⁡     (       sign   ⁡     (     b   i     )       =       -   1     |     x   _         )         .         
 
         [0099]     In other words, t i  is the log likelihood ratio of the ith bit. The algorithm  600  requires about 1000 operations over real numbers.  
         [0100]     It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.

Technology Category: 5