Pseudo-random sequences
One of the most common ways of spreading a
CDMA signal is with a pseudo-random noise sequence (often called a PN sequence). This is a
sequence generated by a shift register with feedback (see digaram) which repeats itself
after every N = 2n 1 clock cycles. The 3-bit shift register shown would
thus generate a sequence that repeats every seven bits, (often called 'chips' in spread
spectrum applications).

Simple 3 stage PN Sequence Generator
Of particular interest in CDMA is the auto-correlation of a PN
sequence with itself, and the cross-correlation with other PN sequences generated using
different length shift registers, or registers with different 'taps' from which the
feedback signals are obtained.
The result of auto-correlation of a PN sequence is shown in
the figure. Auto-correlation is this application involves comparing the similarity of one
sequence with a time displaced version of the same sequence for all possible time offsets
until the sequence repeats itself. A maximum output is achieved only when the two
sequences are exactly time aligned, and falls to a minimum value of 1 / N for all sequence
offsets greater than 1 chip period. Auto-correlation is achieved practically by mixing the
incoming spread spectrum signal with a locally generated replica of the spreading PN
sequence and sliding the timing of the local PN sequence until a correlation peak is
reached. At this point, the modulation, which has been superimposed on the spreading code
in the transmitter, can be extracted.

Auto-correlation of a PN Sequence
If all other spread spectrum signals are operating with unique and
carefully chosen spreading codes, then there will be no cross-correlation between
them and the contribution from all these other users will also be 1 / N times that of
the wanted user correlation peak. Clearly, the larger the sequence length N, the
larger the wanted correlation peak will be with respect to all other signals. This is very
important if a large number of users are to be accommodated on the same frequency and
still allow the de-spreading of any individual signal with sufficient signal to noise
ratio for acceptable communications quality. If the sequence length N is made too
big however, the time taken to find the correlation peak by sliding one sequence against
another can be prohibitively long.