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:
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.
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).
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:
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-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:
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.
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.
Please me and tell me if you liked my Spread Spectrum information, or even if you have any contributing sites on similar info that I can include here as reference.
Click here to go back to my Technical Page
This page has been accessed times.