Radio & Technology
The Principles of Spread Spectrum Communication
by Jack Glas
In Code Division Multiple Access (CDMA) systems all users transmit in the same bandwidth simultaneously. Communication systems following this concept are "spread spectrum systems''. In this transmission technique, the frequency spectrum of a data-signal is spread using a code uncorrelated with that signal. As a result the bandwidth occupancy is much higher then required.
The codes used for spreading have low cross-correlation values and are unique to every user. This is the reason that a receiver which has knowledge about the code of the intended transmitter, is capable of selecting the desired signal.
A number of advantages are:
- Low power spectral density. As the signal is spread over a large frequency-band, the Power Spectral Density is getting very small, so other communications systems do not suffer from this kind of communications. However the Gaussian Noise level is increasing.
- Interference limited operation. In all situations the whole frequency-spectrum is used.
- Privacy due to unknown random codes. The applied codes are - in principle - unknown to a hostile user. This means that it is hardly possible to detect the message of an other user.
- Applying spread spectrum implies the reduction of multi-path effects.
- Random access possibilities. Users can start their transmission at any arbitrary time.
- Good anti-jam performance.
Because of the difficulty to jam or detect spread spectrum signals, the first applications were in the military field. However nowadays spread spectrum systems are gaining popularity also in commercial applications.
The main parameter in spread spectrum systems is the processing gain: the ratio of transmission and information bandwidth:
which is basically the "spreading factor''. The processing gain determines the number of users that can be allowed in a system, the amount of multi-path effect reduction, the difficulty to jam or detect a signal etc. For spread spectrum systems it is advantageous to have a processing gain as high as possible.
There exist different techniques to spread a signal: Direct-Sequence (DS), Frequency-Hopping (FH), Time-Hopping (TH) and Multi-Carrier CDMA (MC-CDMA ) [YLF94]. It is also possible to make use of combinations of them. An overview of the more conventional spread spectrum techniques can be found in [SOSL85a,Hol82,Dix84, PSM82, SH85].
We will now concentrate on the two most popular techniques: Direct-Sequence and Frequency-Hopping.
Direct Sequence is the best known Spread Spectrum Technique. The data signal is multiplied by a Pseudo Random Noise Code (PNcode).
A PNcode is a sequence of chips valued -1 and 1 (polar) or 0 and 1 (non-polar) and has noise-like properties. This results in low cross-correlation values among the codes and the difficulty to jam or detect a data message [Gol67,HdV71,Roe77,Gla92].
Several families of binary PNcodes exist, they are addressed in another section. A usual way to create a PNcode is by means of at least one shift-register. When the length of such a shift-register is n, the following can be said about the period of the above mentioned code-families:
In direct-sequence systems the length of the code is the same as the spreading-factor with the consequence that:
Figure 1: direct-sequence spreading
This can also be seen from figure 1, where we show how the PNcode is combined with the data-signal, in this example . The bandwidth of the data signal is now multiplied by a factor . The power contents however stays the same, with the result that the power spectral density lowers.
The generation of PNcodes is relatively easy, a number of shift-registers is all that is required. For this reason it is easy to introduce a large processing-gain in Direct-Sequence systems.
Figure 2: DS-concept, before and after despreading
In the receiver, the received signal is multiplied again by the same (synchronized) PNcode. Since the code existed of +1s and -1s, this operation completely removes the code from the signal and the original data-signal is left. Another observation is that the despread operation is the same as the spread operation. The consequence is that a possible jamming-signal in the radio channel will be spread before data-detection is performed. So jamming effects are reduced (see figure 2 [Hen84]).
The main problem with applying Direct Sequence spreading is the so-called Near-Far effect which is illustrated in figure 3. This effect is present when an interfering transmitter is much closer to the receiver than the intended transmitter. Although the cross-correlation between codes A and B is low, the correlation between the received signal from the interfering transmitter and code A can be higher than the correlation between the received signal from the intended transmitter and code A. The result is that proper data detection is not possible.
Figure 3: near-far effect illustrated
Another spread spectrum technique: Frequency-Hopping is less effected by this Near-Far effect.
When applying Frequency Hopping, the carrier frequency is 'hopping' according to a unique sequence (an FH-sequence of length ). In this way the bandwidth is increased by a factor (if the channels are non-overlapping):
The process of frequency hopping is illustrated in figure 4. A disadvantage of Frequency-Hopping as opposed to Direct-Sequence is that obtaining a high processing-gain is hard. There is need for a frequency-synthesizer able perform fast-hopping over the carrier-frequencies. The faster the "hopping-rate'' is, the higher the processing gain.
Figure 4: illustration of the frequency hopping concept
On the other hand, Frequency-Hopping is less effected by the Near-Far effect than Direct-Sequence. Frequency-Hopping sequences have only a limited number of "hits'' with each other. This means that if a near-interferer is present, only a number of "frequency-hops'' will be blocked in stead of the whole signal. From the "hops'' that are not blocked it should be possible to recover the original data-message.
Hybrid System: DS/(F)FH
The DS/FFH Spread Spectrum technique is a combination of direct-sequence and frequency-hopping. One data bit is divided over frequency-hop channels (carrier frequencies). In each frequency-hop channel one complete PN-code of length is multiplied with the data signal (see figure, where is taken to be 5).
Figure 5: ds-fh spreading scheme
As the FH-sequence and the PN-codes are coupled, an address is a combination of an FH-sequence and PN-codes. To bound the hit-chance (the chance that two users share the same frequency channel in the same time) the frequency-hop sequences are chosen in such a way that two transmitters with different FH-sequences share at most two frequencies at the same time (time-shift is random).
Pseudo-Random Noise Codes
A PNcode used for DS-spreading exists of units called chips, these chips can have 2 values: -1/1 (polar) or 0/1. As we combine every data symbol with a complete PNcode, the DS processing gain is equal to the code-length. To be usable for direct-sequence spreading, a PNcode must meet the following constraints:
- The sequences must be build from 2-leveled numbers.
- The codes must have a sharp (1-chip wide) autocorrelation peak to enable code-synchronization.
- The codes must have a low cross-correlation value, the lower this cross-correlation, the more users we can allow in the system. This holds for both full-code correlation and partial-code correlation. The latter because in most situations there will not be a full-period correlation of two codes, it is more likely that codes will only correlate partially (due to random-access nature).
- The codes should be "balanced'': the difference between ones and zeros in the code may only be 1. This last requirement stands for good spectral density properties (equally spreading the energy over the whole frequency-band).
Codes that can be found in practical DS-systems are: Walsh-Hadamard codes, M-sequences, Gold-codes and Kasami-codes. These code sets can be roughly divided into two classes: orthogonal codes and non-orthogonal codes. Walsh sequences [Bea75] fall in the first category, while the other group contains the so-called shift-register sequences [ Gol67,Roe77, SP80].
Walsh Hadamard codes
Walsh-sequences have the advantage to be orthogonal, in this way we should get rid of any multi-access interference. There are however a number of drawbacks:
- The codes do not have a single, narrow autocorrelation peak.
- The spreading is not over the whole bandwidth, instead the energy is spread over a number of discrete frequency-components. This can be seen from the solid line in figure 6.
- Although the full-sequence cross-correlation is identically zero, this does not hold for partial-sequence cross-correlation function. The consequence is that the advantage of using orthogonal codes is lost.
- Orthogonality is also affected by channel properties like multi-path. In practical systems equalization is applied to recover the original signal.
Figure 6: frequency-domain comparison of a Walsh and an M-sequence
These drawbacks make Walsh-sequences not suitable for non-cellular systems. Systems in which Walsh-sequences are applied are for instance multi-carrier CDMA [YLF94] and the cellular CDMA system IS-95 ; [Qua92]. Both systems are based on a cellular concept, all users (and so all interferers) are synchronized with each other. Multi-Carrier CDMA uses another way of spreading while IS-95 uses a combination of a Walsh-sequence and a Shift-Register sequence to enable synchronization.
Shift-Register sequences are not orthogonal, but they do have a narrow autocorrelation peak. The name already makes clear that the codes can be created using a shift-register with feedback-taps. By using a single shift-register, maximum length sequences (M-sequences) can be obtained. Such sequences can be created by applying a single shift-register with a number of specially selected feedback-taps. If the shift-register size is n then the length of the code is equal to . The number of possible codes is dependent on the number of possible sets of feedback-taps that produce an M-sequence. These sequences have a number of special properties, here we will mention some of them which will be used in the code selection process.
- M-sequences are balanced: the number of ones exceeds the number of zeros with only 1.
- The spectrum of an M-sequence has a -envelope. In figure 6 the spectra of a Walsh-sequence of length 64 and an M-sequence of length 63 are shown, both sequences contain (almost) the same power. The figure shows that applying an M-sequence better distributes the power over the whole available frequency range.
- The shift-and-add property can be formulated as follows:
here u is an M-sequence, by combining two shifts of this sequence (relative shifts i and j) we obtain again the same M-sequence, yet with another relative shift.
- The auto-correlation function is two-valued:
where k is an integer value, and is the relative shift.
- There is no general formula for the cross-correlation of two M-sequences, only some rules can be formulated [Roe77].
- A so called ``preferred pair'' is a combination of M-sequences for which the cross-correlation only shows 3 different values: -1, and . There do not exist preferred pairs for shift-registers with a length equal to 4k where k is an integer.
Combining two M-sequences which form a "preferred pair'' leads to a so-called Gold-code. By giving one of the codes a delay with respect to the other code, we can get different sequences. The number of sequences that are available is (the two M-sequences alone, and a combination with different shift positions). The maximum full-code cross-correlation has a value of .
If we combine a Gold-code with a decimated version of one of the 2 M-sequences that form the Gold-code we obtain a "Kasami-code'' from the large set. Such a code can then be formulated as follows:
here u and v are M-sequences of length: (n even) which form a preferred pair. w is a M-sequence resulting after decimation the v-code with a value . T denotes a delay of one chip, k is the offset of the v-code with respect to the u-code and m is the offset of the w-code with respect to the u-code. Offsets are relative to the all-ones state.
In the large set of Kasami-codes a number of "special cases'' can be observed. The two M-sequences that are used as a basis are part of the set, as well as the Gold-codes that can be created using these M-sequences. Also a sub-set of the large set of Kasami-codes is the so-called small set of Kasami-codes: this set can be obtained by combining an M-sequence with the decimated version of itself, so leaving out the other M-sequence.
Kasami-codes have the same correlation properties as Gold-codes, the difference lays in the number of codes that can be created. For the large set of Kasami-codes this number is equal to . Choosing n equal to for instance 6 leaves us 520 possible codes. It is important to have a large code-set: the number of available codes determines the number of different code addresses that can be created. Also a large code-set enables us to select those codes which show good cross-correlation characteristics.
Last modified on August 29, 1996 by Jack Glas
Credit and many thanks for "The Principles of Spread Spectrum Communication"
AIRLINX wishes to thank Dr. Jack P. F. Glas for the contribution of this technical brief on CDMA radio technology. Dr. Glas is part of the Silicon Circuits Research Department at Bell Labs, Lucent Technologies. Dr. Glas joined Bell Labs as a member of the technical staff in 1997. His education includes an M.Sc. degree (with honours) from Delft University of Technology, Faculty of Electrical Engineering and a Ph.D. in EE from Delft University of Technology. Dr. Glas' Ph.D. thesis focused on the subject of spread spectrum for short distances, entitled "Non-Cellular Wireless Communication Systems." During his Ph.D. research, Dr. Glas worked on the Home System Project entitled "WISSCE." In November 1997, he received the Else Kooi Award for his work.