JPL's Wireless Communication Reference Website

Chapter: Analog and Digital Transmission
Section: CDMA, Direct Sequence CDMA

Code Sequences for Direct Sequence CDMA

with contributions by Frank Kamperman.

In Direct-Sequence CDMA, the user signal is multiplied by a pseudo-noise code sequence of high bandwidth. This code sequence is also called the chip sequence. The resulting coded signal is transmitted over the radio channel.

Figure: User signal and code are multiplied to generate the coded transmit signal.

Code Properties

The (normalized) autocorrelation of the spreading waveform p(t) is defined by
             1       inf
   Rc(t)  =  -     int    p(t) p(t + t)  dt
             T      0
where p(t) is the transmit waveform of the code, T = Nc Tc is the code period time and t represents a time shift.
Partial Autocorrelation
If a bit transition occurs (from +1 to -1 or vice versa), the interference from a delay CDMA signal consists of two fractions of a bit duration. The Partial Autocorrelation is similar to the above formula, but integrated only of a portion of the bit duration.
Different signals have different spreading codes. The crosscorrelation between two codes i and j is
             1       inf
   Rc(t)  =  -     int    pi(t) pj(t + t)  dt
             T      0
which equals the autocorrelation if i = j.

Codes Used for CDMA

Popular code sequences used in spread-spectrum transmission are

The names "Pseudo-Noise" (PN) and "maximal-length" are used in some papers synonymously, while other authors use the name PN sequences to indicate a very broad class of sequences, including for instance ML and Gold sequences.

The user capacity of a synchronous CDMA system, in which the various user signals exhibit no time offsets when they arrive at the receiver, is limited by the number of different codes. With a spread factor N and Nu users, perfectly orthogonal codes can chosen if Nu is less or equal to N. Welch derived a bound for the maximum normalized cross correlation Rmax (at zero time offset) between user codes

             (Nu/N)  - 1
    Rmax2 =  ------------
               Nu  - 1
For Walsh-Hadamard codes N = Nu, so Rmax =0, and for Gold codes N = Nu - 1, so Rmax=1/N. Synchronous CDMA is used in the downlink of cellular systems, but multipath reception can destroy the time alignment of components travelling over different paths.

In asynchronous CDMA, codes arrive in a time-shifted manner, and the crosscorrelation values typically are much larger. Asynchronous CDMA occurs in the uplink of cellular systems.

Maximal Length (ML or m) sequences

ML codes are well understood and have a number of properties which are useful in their application to spread-spectrum systems. For instance See also the page about ML-codes.

Walsh-Hadamard Sequences

If perfectly synchronized with respect to each other, W-H codes are perfectly orthogonal. That is, W-H are optimal codes to avoid interference among users in the link from base station to terminals.

The simplest matrix of 2 orthogonal Walsh-Hadamard sequences is

         1      1
C1 = [             ]
         1     -1
The code of user 1 is the first column, i.e., (1, 1), the code of user 2 is the second column, i.e., (1, -1). Clearly (1, 1) is orthogonal to (1, -1). This matrix can be extended using a recursive technique. For 2n users, the matrix is found from the code matrix for 2(n - 1) users, according to
         C(n-1)        C(n-1)
Cn = [                         ]
         C(n-1)       -C(n-1) 

Gold Codes

Gold sequences have been proposed by Gold in 1967 and 1968. These are constructed by EXOR-ing two m-sequences of the same length with each other. Gold sequences have favorable cross-correlation properties. See also the page about Gold-codes.

Criteria to select a particular code

In synchronous DS-CDMA, the link performance is affected by As the user capacity of the channel is limited by the interference, we would like to make the partial cross-correlations of codes small, ideally zero for all time shifts. The values that the partial crosscorrelation functions take on depend upon the choice of codes. For example, Walsh codes have the desirable property of perfect orthogonality at zero phase offset, but have poor autocorrelation properties for other phase offsets. Moreover, Walsh codes do not spread the signal uniformly over the spectrum. To counteract this, one scheme has been proposed, e.g. for IS95, whereby each user's code consists of his unique Walsh code modulated by a ML sequence common to all users. Good autocorrelation properties are also crucial for timing recovery and coherent detection.


JPL's Wireless Communication Reference Website Jean-Paul M.G. Linnartz and Frank Kamperman, 1993, 1995.