CS485 Sylabus

### Direct Sequence Spread Spectrum (DSSS) Communication

• Direct Sequence Spread Spectrum (used in 802.11)

• Definitions:

• Pseudo Noise (PN) code = a random sequence of N bits

Example:

 ``` 01001011 ```

( The number of 0's and 1's in the PN code should be approximately equal)

• Chip = a popular name for the PN code

• Chip length = the number of bits in the chip (PN code)

• The Direct Sequence Spread Spectrum (DSSS) transmission technique:

• The sender and the receiver select a common Pseudo Noise (PN) code:

• Sender:

• Code for transmitting 1:

 the chip (PN code)

• Code for transmitting 0:

 the inverse of the chip (PN code)

Example:

• Receiver: (decoding algorithm):

• Receive N bits (N = the chip length)

• If a majority of the received N bits matches the PN code:

 The receiver decodes to a "1" bit

• If a majority of the received N bits fails to match the PN code:

 The receiver decodes to a "0" bit

• Example decode process

• Suppose the nodes A and B uses the following PN code:

 ``` PN code = 0011011 ```

• If the node B receives:

 ``` B: 1011011 ```

then node B will decode as follows:

 ``` received: 1011011 PN code: 0011011 XOR ------------------ 1000000 NOT ------------------ 0111111 Majority = 1 ===> 1 ```

(You can compare the received data with the PN code using an Exclusive OR operation)

• A simplified explanation of collision

• The interference of radio transmission is very complex

 I will present a simplified explanation on how the PN code can overcome collisions (= multiple simultaneous transmissions)

• Simplification:

• I will use Amplitude Modulation to show you the effect of a collision

 In a later section, I will sketch what is really going on; but not very in depth --- this is a Electrical Engineering subject...

• Suppose the PN code used is:

 ``` PN code = 0011011 ```

• The PN code transmitted using Amplitude Modulation will look like this:

(Low amplitude = 0, and high amplitude = 1)

• Effect of collision (jamming):

• Suppose there are 2 pairs of senders/receivers:

 A/B uses PN code = 0011011 C/D uses PN code = 1011010

• Suppose the following transmissions happen simulataneously:

 A sends "1" to B     (i.e.: A will send 0011011 --- because its PN code "0011011") C sends "1" to D     (i.e.: C will send 1011010 --- because its PN code "1011010")

Graphically: (using Amplitude Modulation)

• Physics:

 Simultaneous waves result in super-imposition (I.e.: the amplitudes are added together)

The super-imposed wave is as follows:

The receivers will both "hear" (receive) the above pattern !!!!

When both receiver try to decode the reception (using Amplitude Modulation), they will obtain this (corrupted) pattern:

 1011011

Because:

 A large amplitude signal will be decoded as 1 A low amplitude signal will be decoded as 0

• Observation:

• Using amplitude modulation (= my simplified explanation), a collision will result in:

 or-ing the transmitted data bits

In reality, the receivers will use frequency filters to perform the decoding....

• The simplified explanation will still be helpful in understanding how the protection is provided:

 Through the redundancy (of data) in the PN code

• How the PN code protect against collision ( a "highly simplified" explanation using Amplitude modulation)

• Consider all possible scenarios that the transmissions A ⇒ B and C ⇒ D can interact with each other:

 At the bit level, the senders A and C can transmit either a "1" bit or a "0" bit

• There are then 4 possible interference patterns:

Namely:

 A transmits 0 to B and C transmits 0 to D at the same time A transmits 0 to B and C transmits 1 to D at the same time And so on...

Let's consider for each case whether the receivers B and D can decode the transmission correctly....

• The following figure consider these interferences:

 A sends "1" and C sends "1" (at the same time)            A sends "0" and C sends "0" (at the same time)

What the receivers B and D will decode:

Result:

 Both receivers B and D will decode correctly despite the interference

• The following figure consider these interferences:

 A sends "1" and C sends "0" (at the same time)            A sends "1" and C sends "0" (at the same time)

What the receivers B and D will decode:

Result:

 Again, both receivers B and D will decode correctly despite the interference

• Conclusion:

 Using these specific chips, each sender/receiver pair is able to decode the transmitted bit correctly. Therefore, the transmitting nodes are able to share the transmission medium (The direct-sequence spread spectrum has the "anti-jamming" property !!!).

• Comment...

• The real explanation is much more complex...

• Direct Sequence Spread Spectrum trasnmission:

• A digital signal (e.g.: 10101010...) is composed of many different frequencies (see: click here)

(This decomposition is called the Fourier transform)

• The result of using the Psuedo Noise (PN) code to transmit the data is:

 Transmit the data using a spectrum of frequencies

The signal strength used in DSSS transmissions look like this:

• A sender and reeiver will use filters to target the spectrum of frequencies contained in the PN code to extract the transmitted bits

 The receiver will tune in to the same set of frequencies defined by the Pseudo Noise (PN) code to pickup the data

• Code Correlation

• Different PN codes can be alike or different

• The measure of "likeness" is the correlation, defined as:

 ``` ∞ 1 / Rcorr(τ) = --- | pi(t) pj(t+τ) dt (See: click here) T / 0 ```

The function pi(t) and pj(t) are the wave forms of the two PN codes.

(Don't worry, you don't need to know the details of correlation - it's there for completeness sake....)

• The correlation function has the following properties:

 0 ≤ Rcorr ≤ 1 Rcorr = 1 if the PN codes ate identical Rcorr = 0 if the PN codes ate uncorrelated

Intermediate values (between 0 and 1) indicate how much the codes have in common.

• Property:

 If 2 PN codes are highly correlated, their collisions will be more likely to cause decoding errors