The Spread Spectrum Communication Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Spread Spectrum is a means of wireless transmissions in which the transmitted signal's frequency is deliberately varied so that we can get a much greater bandwidth than the transmitted signal would have if its frequency were not varied. The band spread is obtained by means of a code which is independent of data. A code synchronized reception at the receiver is used for despreading the subsequent data recovery.

These spread spectrum techniques are widely used these days in various fields like Military, Industrial, Avionics, Scientific, Civil, etc.

Its applications include:

Interference and Jam resistant communication systems.

CDMA radios: here one channel is shared for communication between multiple users.

High resolution ranging: It is possible to locate an object with good accuracy using Spread Spectrum techniques. Ex: Global Positioning System(GPS).

Cordless phones

Cellular base stations inter-connections

WLAN: Wireless LAN's widely use spread spectrum communications. The IEEE 802.11 standard defines three types of physical layer communications:

Infrared (IR) Communications.

Direct Sequence Spread Spectrum (DSSS) Communications.

Frequency Hopping Spread Spectrum (FHSS) Communications.

Among the three, DSSS and FHSS are widely used.

This project mainly concerns with Frequency Hopping Spread Spectrum (FHSS) Communications.

Frequency Hopping Spread Spectrum Communications

In this kind of systems, the transmitted signal appears as a data modulated carrier which keeps hopping from one frequency to the next using a pseudo random sequence generator connected to the frequency synthesizer that results in different hop frequencies at different points, thus achieving the signal spread. This pseudo random sequence generator and frequency synthesizer is common both at the transmitting as well as receiving end.

In the receiver, the frequency hopping is removed by down-converting with a local oscillator signal which is hopping synchronously with the received signal.

This technique reduces interference because a signal from a narrowband system will only affect the spread spectrum signal if both are transmitting at the same frequency at the same time.

General FHSS transmitter:

The transmitter consists of data input to a baseband modulator which is followed by multiplication with the frequency synthesized by the frequency synthesis which is driven by a PN sequence generator. This product is then passed through a high pass filter and then sent as a transmitted signal.

NRZ Data d(t)

High pass filter

Baseband modulator

PN sequence generator

Frequency synthesizer

General FHSS receiver:

A FHSS receiver consists of a down converter followed by a demodulator. A synthesizer, driven by the matching PN generator s used to down convert the received signals. A minimum received signal threshold signifies locking.



Down Converter

PN sequence generator

Frequency synthesizer

Spreading Codes

Maximal Length Sequences

A simple shift register generator (SSRG) has all the feedback signals returned to a single input of a shift register (delay line). The SSRG is linear if the feedback function can be expressed as a modulo-2 sum (xor).

An SSRG with L flip-flops produces sequences that depend upon register length L, feedback tap connections and initial conditions. When the period (length) of the sequence is exactly Nc=2L-1, the PN sequence is called a maximal -length sequence or simply an m-sequence.

An m-sequence generated from a linear SSRG has even number of taps.

Gold Codes

The auto-correlation properties of the m-sequences cannot be bettered. But a multi-user environment (CDMA) needs a set of codes with the same length and with good cross-correlation properties.

Gold code sequences are useful because a large number of codes (with the same length and with controlled cross-correlation) can be generated, although they require only one pair of feedback tap sets.

Gold codes are product codes achieved by xor-ing of two m-sequences with the same length. The code sequences are added chip by chip by synchronous clocking. Because the m-sequences are of the same length, the two code generators maintain the same phase relationship, and the codes generated are of the same length as the two base codes which are added together, but are non-maximal. Even change in phase position between the two generated m-sequences causes a new sequence to be generated.

Barker Code

The number of stages L in the SSRG also determines the length (period) Nc=2L-1 of the m-sequence codes. The barker code gives codes with different lengths and similar auto-correlation properties as the m-sequences.

Barker codes of length 11 and 13 are used in direct-sequence spread spectrum and pulse compression radar systems because of their low autocorrelation properties. The +ve and -ve amplitudes of the pulses forming the Barker codes imply the use of biphase modulation; that is, the change of phase in the carrier wave is 180 degrees. A Barker code resembles a discrete version of a continuous chirp, another low-autocorrelation signal used in other pulse compression radars. Pseudorandom number sequences can be thought of as cyclic Barker Codes, having perfect (and uniform) cyclic autocorrelation sidelobes. Very long pseudorandom number sequences can be constructed. Similar to the Barker Codes are the complementary sequences, which cancel sidelobes exactly the pair of 4 baud Barker Codes in the table form a complementary pair. There is a simple constructive method to create arbitrarily long complementary sequences

Walsh Hadamard Codes.

The Walsh-Hadamard codes are generated in a set of N=2n codes with length N=2n. The generating algorithm is simple:

HN = HN/2 HN/2 with H0 = [1]

HN/2 -HN/2


Bit error ratio or bit error rate is a dimensionless quantity that gives an average estimate of the number of errors at the receiver upon suitable detection in any given N bits of transmitted data.

If 'errors' or 'error bits' represent the number of places where the received data stream is different from the transmitted data stream, the stream considered in both cases of a constant length L(say) then,

BER= (No. of errors in the received data bits) / (No. of total transmitted/received data bits)

As an example, if it is known that the BER of a communication system is 0.4 and the number of received bits is 10, it follows that 4 bits out of the 10 bits would be 'errors', as defined earlier. It is of no surprise then, as the name suggests, that a lower BER is desired for any effective communication.




In MATLAB SIMULINK, there is a predefined block 'Error Calculation' that takes two inputs of transmitted and received data and calculates the BER as the output. This output can be either given to the MATLAB WORKSPACE fro further usage or it can be given to a display. O/p is a 3 x 1 matrix where the three values correspond, in order, to-

1) Bit error rate 2) No. of errors 3) Total No. of transmitted bits

The BER performance of a communication system is enhanced by employing forward error correction coding schemes. Forward error correction techniques essentially add redundant bits in the data before transmission that can be suitably analyzed at the receiver to find out the errors.

Increasing the signal strength of the transmitting signal is also a factor for improving BER however if there is an unrestrained increase in the strength it can lead to interferences in the channel like cross talk.

BER among other things also depends on Bit synchronization, Multipath fading and various types of channel noises.

While using forward error correction coding schemes there are two additional types of BER that are useful.

1) Transmission BER = (no. of error bits detected at the receiver before error correction) /Total no. of transmitted bits, including the redundant bits)

2) Information BER = (no. of error bits detected at the receiver even after Error correction) /Total no. of transmitted bits, including the redundant bits)


In MATLAB SIMULINK we can run an already created SIMULINK model of a communication system using 'BER Tool' option. This utility lets us plot graphs of BER vs. Eb/No for a specific communication model that is designed using SIMULINK and compare them with the plots of theoretical communication system identical to our model. The variable to be specified in this tool is Eb/No variation. This is done , for example, by setting Eb/No to 0:1:18 which runs the specified SIMULINK model by varying the Channel parameter (Eb/No) from 0 to 18 in steps of 1 and calculating all the corresponding BERs. These are then plotted on the y axis respective to their Eb/No values on the x axis.


In the MATLAB Workspace, upon typing 'bertool', the BER Tool window opens. There is an option of Theoretical plots where a communication system can be defined by its modulation scheme, order, channel type and the coding scheme (if any). The Eb/No parameter is suitably varied and upon pressing 'plot' we get the theoretical plot of BER vs. Eb/No of the specified communication system.


The second option is the MONTE CARLO simulation option in BER Tool. Here the path of the SIMULINK model to be run is mentioned and EB/No is suitably varied. The simulation limits are also set in the 'No. of bits' and 'No. of errors' with the simulation being terminated at the occurrence of either of these two parameters, whichever happens earlier. One important point to note is, before setting the simulation limits in the Monte Carlo simulation box one needs to ensure that in the original SIMULINK model, the simulation limits in the block parameter dialog box of the 'Error rate Calculation' block are set to the following string literals

1) No. of bits - 'MaxNumBits'

2) No. of Errors-'MaxNumErrors'

If the block parameters in the model are set to any other integral values than these settings will override the MONTE CARLO settings in the BER Tool window.

The variable name in the Monte Carlo Simulation should match the variable name specified in the block parameters dialog box of Error Rate Calculation Block.

Thus, Monte Carlo simulation method runs a Simulink Model in real time varying the Eb/No parameter according to specification and plots the BER vs. Eb/No plot which can then be compared with the theoretical plot. It eliminates the need of writing long MATLAB code in the workspace to plot the BER performance of a SIMULINK model.


There have been investigations into the frequency hop spread spectrum systems employing different modulation schemes to decrease the bit error ratios. There has been much work done on FHSS with error control coding using industry standard convolutional coding and different turbo product codes etc. One particular research paper, the content of which is somewhat relevant to the content presented here, cited in reference [1] compares the BER performance measures of FHSS systems in partial band noise channel employing a variety of error codes, soft decision metrics like log likelihood ratio and distance metric.


Frequency Hop spread spectrum modulation is preceded by another type of regular, non -spreading modulation. The goal is to choose a suitable modulation scheme and build upon it to enhance the BER performance. Theoretically, M-QAM provides much better performance than BPSK or QPSK in terms of spectral efficiency and BER [1], [2]. However, the signal energy required to meet a specific error rate is more assuming the noise is almost constant but this tradeoff can be checked by employing proper error correction techniques [1].

The aim of the project is to compare the BER performances of an FHSS system with QAM Modulation in different noise environments and using error coding schemes so that an estimate can be made of the effect of QAM-FHSS on the BER performance of FHSS. The soft decision metric that is used is predominantly the decision metric which has been shown to be superior to the log likelihood metric [1] and also the BER performance is checked for a variety of source data like Bernoulli binary source, gold and Kasami codes, etc.


A Simulink model of gray coded 16-QAM with AWGN Channel has been designed and the BER curves for this have been simulated for different input signal power values. The results are close to the theoretically expected plots of BER vs. Eb/No of an ideal 16-QAM system without error coding.

The BER vs. EB/No plot obtained for the 16-QAM AWGN communication model by Monte Carlo analysis is close to theoretical plot for the same. This is seen in figure 1

1) The Blue curve represents the theoretical values of BER .

2) Simulation 1/Green curve represents the BER values of the Simulink model of the 16-QAM with input signal power of 50 watts

3) Simulation 3/Red points represent the BER of the Simulink model of the 16-QAM with input signal power of 40 watts.

Figure 1


The simulation results of the presently designed 16 QAM model, specifically the plotted BER vs. Eb/No values are fairly accurate and quite close to the theoretically expected plots. Thus this model of 16-QAM tx/Rx is suitable for the further design of an FHSS.


a) Constructing and Simulating the Forward error control model of 16-QAM using Convolutional encoding and Viterbi decoding for decreasing the BER.

b) Designing the code generator and frequency synthesizer models for generating the spreading code signal

c) Modulating the QAM modulated signal again with the spreading code carrier and transmitting through a noisy channel

d) Receiving the Tx signal via a matched filter and detecting it suitably using QAM demodulator and viterbi decoder

e) Calculating the BER of the FHSS and comparing the BER performance by varying different parameters like source signals, input power and channel noise