Vous êtes sur la page 1sur 25

SDSU Marko Vuskovic, 2004

2-1
Spread Spectrum
Part II : Wireless Communication
Chapter 2
SDSU Marko Vuskovic, 2004
2-2
Spread Spectrum is used in wireless LANs and cellular telephony to make
hard to intercept the communication. In addition, the spread spectrum
decreases the noise and channel interference. It was originally developed
for military communication systems. Spread spectrum is implemented at the
physical layer, same as modulation and demodulation.
There are two basic approaches to spread spectrum:
Frequency Hopping Spread Spectrum (FHSS)
Direct Sequence Spread Spectrum (DSSS)
SDSU Marko Vuskovic, 2004
2-3
FHSS
Number of channels (2
k
) are allocated to FH signal. Each channel has
a BW equal to the BW of the input signal. The transmitter operates in
one channel at the time for a fixed time interval (e.g. 300 ms). The
sequence of channels is dictated by the spreading code. Both
transmitter and receiver use the same spreading code.
Oscillator
Channel
Table
Pseudo
Random
Sequence
( )
i
c t
Spread
spectrum
signal
Modulator
X
Band Pass Filter
(passes sum
frequency)
( ) d t ( ) mt
( ) s t
Channel
Table
Pseudo
Random
Sequence
( )
i
c t
( ) s t
Band Pass Filter
(passes difference
frequency)
Demodulator
( ) d t
( ) mt
Binary
Data
Transmitter
Receiver
Oscillator
( ) p t
i
f
i
f
X
( ) p t
SDSU Marko Vuskovic, 2004
2-4
FHSS with QPSK
( ) cos( ) sin( ), , { 1, 1}
c c
mt A t B t A B = +
( ) ( ) [cos( ) cos( ) ] [sin( ) sin( ) ]
i c i c i c i c i
mt c t A t t B t t = + + + +
( ) 2cos( ), 1, 2,..., 2
k
i i
c t t i = =
( ) cos( ) sin( )
c i c i
s t A t B t = + +
( ) ( ) [cos( 2 ) cos( )] [sin( 2 ) sin( )]
i c i c c i c
s t c t A t t B t t = + + + +
( ) cos( ) sin( )
c c
mt A t B t =
QPSK signal:
Channel signal:
After spreading:
After filtering (transmitted/received signal):
After despreading:
After filtering:
SDSU Marko Vuskovic, 2004
2-5
DSSS
With direct sequence spread spectrum each bit of the original signal is
substituted by multiple (n) bits, called chips. (Typically 10 < n < 100)
Spreading code (chip sequence):
Data sequence:
10110001, 01001110
( ) [ 1, 1, 1, 1, 1, 1, 1, 1] ,
( ) [ 1, 1, 1, 1, 1, 1, 1, 1]
T
T
P P
p t
p t
= =
= + + + +
= + + + +
5
01100, ( ) [ 1, 1, 1, 1, 1]
T
D d t = = + + +
Spread sequence:
0 ,1 ,1 , 0 , 0 , , , , ,
10110001 01001110 01001110 10110001 10110001
s
D P P P P P P P P P P = = =
=
5
( ) [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,..., 1, 1, 1, 1, 1, 1, 1, 1]
s T
d t = + + + + + + + + + + + +
+1
-1
T
t
( ) p t
T
t
+1
-1
( ) p t
+1
-1
T
t
T
+1
-1
T
t
T
( ) d t
( )
s
d t
0
1
Bipolar form
Binary form
XOR =
SDSU Marko Vuskovic, 2004
2-6
DSSS with BPSK
Receiver ( ) d t
( ) s t
Demodulator
( )
s
d t
DS
Despreader
( ) c t
( ) p t
Transmitter
Modulator
( ) d t
( ) s t
DS
Spreader
( ) c t ( ) p t
( )
s
d t
( ) ( ( ))cos( )
k c
s t A p t t =
( ) ( )
s k
d t A p t =
Spread signal (one symbol):
Transmitted signal (one symbol):
Spread signal (after demodulation):
( ) ( )
s k
d t A p t =
Despreading: ( ) ( ) ( ( )) ( ) ( ( ) ( ))
s k k k
d t p t A p t p t A p t p t A = = =
(This is the ideal case, no frequency or phase change of the carrier during transmission)
SDSU Marko Vuskovic, 2004
2-7
Spreading sequences at transmitter and receiver side must be strictly equal
1
( ) ( )
1
i j
if i j
p t p t
if i j
=
!
=
"
<
#
Generation of Spreading Sequences
If the sequences are not equal, then the signal after despreading is largely
attenuated.
Each spreading sequence must be generated such that the resulting spread
signal looks like noise. Therefore a spreading sequence must have a good
balance between 0s and 1s, and no repeating patterns.
One popular method to generate spread sequences are pseudo random
number generators. PRNG can easily be implemented in hardware using shift
registers and additional logic circuits. Both transmitter and receiver must use
the same PRNG, with the same seed.
SDSU Marko Vuskovic, 2004
2-8
DSSS with BPSK (Cont.)
0
1 0
1
( ) ( ( ), ( )) ( ) ( )
0 0
s
T
s
if
R corr p t p t p t p t dt
if T

!
= = =
"

/
#
$
The despreader in the previous two pages is idealized. If the received signal
is contaminated with noise or with the intersymbol interference (ISI), then it
is better to use the integrate-and-dump technique, which does integration
of the product during the symbol interval.
For this purpose, the spreading sequence must have good autocorrelation
properties, which can be expressed by:
( ) ( )
s
d t p t
Autocorrelation function
Since p(t) is not correlated with the noise n(t) (strictly speaking the noise
has to be additive white Gaussian noise (AWGN)), then
0
1
( ) ( ) 0
s
T
s
p t n t dt
T

$
SDSU Marko Vuskovic, 2004
2-9
DSSS with BPSK (Cont.)
1
( ) ( ) ( ) ( )
s k k s
d t A p t A p t T n t

= + +
The despreading with integrate-and-dump technique:
[ ]
1
0
1
0 0 0
1
( ) ( ) ( ) ( )
1 1 1
( ) ( ) ( ) ( ) ( ) ( )
s
s s s
T
k k s
s
T T T
k k s k
s s s
A p t A p t T n t p t dt
T
A p t p t dt A p t T p t dt n t p t dt A
T T T

+ + =
+ +
$
$ $ $
ISI
AWGN
( ) d t
( ) s t
Demodulator
( )
s
d t
( ) c t
( ) p t
X
Despreader
0
1
(...)
s
T
s
dt
T
$
0 0
1 =
Integrate-and-dump
SDSU Marko Vuskovic, 2004
2-10
IEEE 802.11 uses 11-chip Barker sequence. (Robustness against
interference, insensitive to multipath propagation)
Barker Codes
[-1 -1 +1] 3
[-1 -1 +1 -1] 4
[-1 -1 -1 +1 -1] 5
[-1 -1 -1 +1 +1 -1 +1] 7
[-1 -1 -1 +1 +1 +1 -1 +1 +1 -1 +1] 11
[-1 -1 -1 -1 -1 +1 +1 -1 -1 +1 -1 +1 -1] 13
[-1 +1]; 2
[-1] 1
Code Sequences Length
The pseudorandom sequences that have excellent autocorrelation
properties are Barker sequences:
SDSU Marko Vuskovic, 2004
2-11
Discrete version of the autocorrelation function:
Barker Codes (Cont.)
1
( , )
N k
k j j k
j
R corr P P P P

+
=
= =
%
P
1
P
2
P
3
P
4
P
5
P
6
P
7
P
1
P
2
P
3
P
4
P
5
P
6
P
7
Time-shifted code word
7 1
1 1 2 2 3 3 4 4 5 5 6 6 7
1
j j k
j
R P P P P P P P P P P P P P P

+
=
= = + + + + +
%
Example of two 7-bit sequences shifted by a single symbol interval (k = 1):
SDSU Marko Vuskovic, 2004
2-12
-6 -4 -2 0 2 4 6
-2
-1
0
1
2
3
4
5
6
7
Barker Codes (Cont.)
Autocorrelation function of Baker sequence s
7
SDSU Marko Vuskovic, 2004
2-13
-15 -10 -5 0 5 10 15
-2
0
2
4
6
8
10
12
14
Autocorrelation function of Baker sequence s
13
Barker Codes (Cont.)
SDSU Marko Vuskovic, 2004
2-14
-15 -10 -5 0 5 10 15
-15
-10
-5
0
5
10
15
Autocorrelation function of sequence of alternating -1 and +1
s
alt
= [-1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1]
Barker Codes (Cont.)
SDSU Marko Vuskovic, 2004
2-15
-15 -10 -5 0 5 10 15
-4
-2
0
2
4
6
8
10
12
14
Autocorrelation function of an arbitrary sequence
s
rand
= [-1 1 1 1 -1 -1 1 -1 1 -1 -1 1 1]
Barker Codes (Cont.)
SDSU Marko Vuskovic, 2004
2-16
Autocorrelation functions of 10 pseudorandom sequences
-15 -10 -5 0 5 10 15
-10
-5
0
5
10
Barker Codes (Cont.)
SDSU Marko Vuskovic, 2004
2-17
Noise Suppression in DSSS
Data spectrum
Transmitted spectrum (after spreading)
Jammer
(interference)
Spectrum at the receiver
After demodulation and despreading
After filtering
[ ]
( ) PSD d t
[ ]
( ) ( ) PSD M d t p t & '
( )
[ ]
( ) PSD n t
+
c s
f NR

c s
f NR
[ ]
( ) ( ) ( ) PSD M d t p t n t & ' +
( )
c
f
[ ]
( ) ( ) ( ) '( ) ( ) PSD d t p t p t n t p t +
c
f
0
0
n c
f f
s
R
s
R
SDSU Marko Vuskovic, 2004
2-18
Complementary Code Keying (CCK)
CCK is a combination of DSSS and QPSK (or DQPSK) modulation which is
used in IEEE 802.11b to obtain high data rates (5.5 and 11 Mbps).
Spread spectrum helps to fight noise, however it doesnt help to increase the
data rate. The data rate can be increased (at the same bandwidth) by multi
level PSK. Unfortunately with the multi-level PSK one cant go too far because
the smaller phase shifts are more difficult to detect in presence of noise and
multipath interference. The hardware for multi-level PSK is very complex.
CCK enables 256-level modulation, which at the same time improves noise and ISI
immunity! 256-level modulation means that the modulating symbol contains 8 bits,
which consequently improves bit rate log
2
(256) = 8 times. CCK also does 16-level
modulation, which improves the bit rate log
2
(16) = 4 times.
CCK modulation is based on a set of codewords that act as spreading chips.
CCK codewords have property that the cross correlation between two different
codewords from the set give a nearly zero value. Similarly two shifted version of the
same codeword also give small value. In other words, if we encode 256 levels with
different codewords, then the distinguishing between two levels (i.e. between two
codewords) is easy, even in presence of noise.
SDSU Marko Vuskovic, 2004
2-19
CCK (Cont.)
Generating 256-level complementary codes
{ }
1 2 3 4 1 3 4 1 2 3 1 3 1 2 4 1 4 1 2 1
7 6 5 4 2 1 0 1 2 3 4
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( , , , )
, , , , , , ,
j j j j j j j j
w CCK ddddddd CCK
e e e e e e e e
+ + + + + + + + + + + +
= = =
=
Where depend on the values of dibits in data word:
i

!!!!
4 3 2 1
7 6 5 4 3 2 1 0
dd dd dd dd

d
i
d
i-1
3/2 11
/2 10
01
0 00
Data word: 10 11 01 01 ! !! !
Example:
4 3 2 1
, , ,
2 2

= = = =
( 2 2) ( 2 2) ( 2) ( 2)
( 2) ( 2) ( ) ( )
, , , ,
, , ,
j j j j
j j j j
e e e e
w
e e e e
+ + + ++ +
+ +
! *

+ +
=
" ,

+ +
# -
{ }
{ }
2 5 2 3 2 3 2 2 2
, , , , , , , 1, 1, , , , , 1, 1
j j j j j j j j
w e e e e e e e e j j j j

= =
Code word:
SDSU Marko Vuskovic, 2004
2-20
CCK (Cont.)
{ }
1, 1, , , , , 1, 1 w j j j j =
j
-j
1 -1
10
00 01
11
[00 10 01 01 11 01 10 10] w=
- Codeword in binary form
- Codeword in complex form
SDSU Marko Vuskovic, 2004
2-21
CCK (Cont.)
CCK Transmitter
( ) d t
11 Mbps
S/P
1.375 Msps
8
parallel
bits
Pick one of
256 8-bit
complex
codewords
(table lookup)
QPSK
modulator
8-bit complex
codewords
generated at
1.375 MHz
! !! !one 2-bit symbol
for QPSK generated
at 11 MHz
22 MHz
( ) s t
1.375 MHz clock
(chips clocked with 11 MHz)
Principle of CCK
11 Msps
( ) d t
11 Mbps
P/S
1.375 Msps
8
parallel
bits
Find the
closest
vector
by
correlation
QPSK
demod
22 MHz
( ) s t
1.375 MHz clock
CCK Receiver
I/Q
11 Msps
8-bit symbols
generated at 1.375 MHz
I
Q
Two-bit symbols
here
SDSU Marko Vuskovic, 2004
2-22
CCK (Cont.)
It can be shown that for the 256 codewords generated as shown in slide 2-19,
the real part of the cross correlation sequences satisfy the following relations:
{ }
{ }
8
Re (0) (1)
4
8 0
Re ( ) (2)
3 0
ij
ii
if i j
R
if i j
if k
R k
if k
=
!
=
"

#
=
!
=
"

#
where
( ) ( , ), , 1, 2,..., 256
ij i j
R k corr w w i j = =
are cross correlation sequences for shifts k = -7,-6,,-2,-1,0,1,2,,6,7.
This can be used to match the received codewords: each codeword received
is matched against all 256 codewords using equation (1); the subscript of the
one with the highest value of the cross correlation function identifies the
transmitted codeword, and can be translated into the corresponding8-bit data
sequence.
SDSU Marko Vuskovic, 2004
2-23
CCK (Cont.)
Simplification of the CCK lookup table
The large lookup table in the previous diagram can be reduced four times due
to the fact that
1
is present in all elements of the CCK codeword:
{ }
1 2 3 4 1 3 4 1 2 3 1 3 1 2 4 1 4 1 2 1
2 3 4 3 4 2 3 3 2 4 4 2
7 6 5 4 2 1 0 1 2 3 4
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( , , , )
, , , , , , ,
, , , , , , ,
j j j j j j j j
j j j j j j j j
CCK ddddddd CCK
e e e e e e e e
e e e e e e e e
+ + + + + + + + + + + +
+ + + + +
= =
=
=
{ }
1
1
( ) 0
( )
2 3 4 7 6 5 4 2 1 0
( , , ) ( ) [ ]
j
j
e
CCK e CCK ddddd dd

=
= =
7 6 5 4 2
( ) CCK ddddd
1 0
[ ] dd
7 6 5 4 2 1 0
( ) CCK ddddddd
In other words the codeword based on 6 most significant data bits can
be rotated by teo least significan bits to produce codeword based on all 8
data bits. The rotation is achieved by modulo-2 addition (see next slide):

T
o

b
e

m
o
d
i
f
i
e
d
SDSU Marko Vuskovic, 2004
2-24
CCK (Cont.)
Rotation of symbols
j
-j
1 -1
10
00 01
11
0 2 2
2 2
2 3 2
3 2 2 0
0
{ } {1}{ } [00] [01] [01] { } { }
{ } { }{ } [01] [01] [10] { 1} { }
{ } { 1}{ } [10] [01] [11] { } { }
{ } { }{ } [11] [01] [00] {1} { }
{ } {1}{ 1} [00] [10]
j j j
j j j
j j j
j j j
j j
e e j j e
e e j j e
e e j j e
e e j j e
e e



= = = = =
= = = = =
= = = = =
= = = = =
= =
2 3 2
0
3 2 2
[10] { 1} { }
{ } { }{ 1} [01] [10] [11] { } { }
{ } { 1}{ 1} [10] [10] [00] {1} { }
{ } { }{ 1} [11] [10] [01] { } { }
j
j j j
j j j
j j j
e
e e j j e
e e e
e e j j e




= = =
= = = = =
= = = = =
= = = = =
T
o

b
e

m
o
d
i
f
i
e
d
SDSU Marko Vuskovic, 2004
2-25
CCK (Cont.)
Implementation of CCK transmitters for 11 and 5.5 Mbps (802.11b)
( ) d t
5.5 Mbps
(4-bit stream)
S/P
11 Msps
2 parallel
bits
Pick one of
4 8-bit
complex
codewords
mod-2
adder
1.375 MHz clock
2 parallel
bits
22 MHz
( ) s t
QPSK
or
DQPSK
modulator
( ) d t
11 Mbps
(8-bit stream)
S/P
11 Msps
6 parallel
bits
Pick one of
64 8-bit
complex
codewords
mod-2
adder
1.375 MHz clock
(chips clocked with 11 MHz)
2 parallel
bits
22 MHz
( ) s t
QPSK
or
DQPSK
modulator
Rotation of 8-bit codeword
Rotation of 8-bit codeword