Title: DIGITAL SPREAD SPECTRUM SYSTEMS
1DIGITAL SPREAD SPECTRUM SYSTEMS
ENG-737
- Wright State University
- James P. Stephens
2DIRECT SEQUENCE IMPLEMENTATION
(A)
x(t)
BPSK modulator
BPSK modulator
Data
s(t) A x(t) g(t) cos wt
sx(t) A x(t) cos wt
A cos wt
g(t)
Carrier
(B)
(C)
r(t) AA x(t - td) g(t - td) cos w(t td)
f
BPSK demod
Filter
s(t) AA x(t - td)
Output of correlator
g(t - td)
Correlator
3SPREADING / DESPREADING
Locally generated PN bit stream B
Code Inversion
Locally generated PN bit stream D same as B
above
Embedded Ref.
4SPREADING CODES
IMPORTANT CODE PROPERTIES
- Must be easily generated at the transmitter and
receiver (i.e. deterministic) - Behave as much as possible like a random sequence
- Be difficult to exploit
- Support multiple access
- Provide ease of synchronization
5SIMPLE SHIFT REGISTER GENERATOR (SSRG)
- Data at first stage is shifted once toward the
right each time clock pulse occurs - Clock input are normally not shown
6SIMPLE SHIFT REGISTER GENERATOR (SSRG)
N 2n - 1
Where, N length of sequence n number of
stages
Repeats
7M-SEQUENCES
- If sequence goes through all possible states
except all zeros, it is maximal
If not maximal, the output sequence will be
dependent on the initial fill
State Diagram
8GENERAL FORM OF A LINEAR SSRG
- Let
- Be the output sequence
- The general form for a linear SSRG is
The fundamental recursion relationship describing
the sequence element ck and the contents of the
register is
9GENERAL FORM OF A LINEAR SSRG (Cont)
- Where,
- The sum is modulo-2 addition
- ai is either 0 or 1
- i 1, 2, 3, . . . . n-1 and an 1
- The values are called
- initial conditions or initial fill
105-STAGE SIMPLE SHIFT REGISTER GENERATOR
x0
x1
x2
x3
x4
x5
Clock
- n 5 number of register stages
- N length of sequence generated (maximal only if
correct taps are chose) - Generator described by a polynomial over a field
of two symbols, called Galois Field of 2 (GF2) - Generator g(x) is written
115-STAGE SIMPLE SHIFT REGISTER GENERATOR (Cont)
- ai are the tap coefficients, for the example
shown - a0 a1 a3 a4 a5 1
- a2 0
- Therefore, the generator polynomial is written
- g(x) x5 x4 x3 x 1
- This is called the generators characteristic
polynomial
12OCTAL REPRESENTATION CONVERSION
- Example Convert 103o to generator polynomial
- Solution
- 1 0 3
- 0 0 1 0 0
0 0 1 1 - X8 X7 X6 X5 X4
X3 X2 X1 X0 X6 X 1
3
6
1
2
4
5
13MAXIMAL LENGTH SEQUENCES
- When the sequence goes through all 2n 1
possible states, it is called an m-sequence - The periodic cycles of a linear SSRG sequence
depend on - Register length, n
- Feedback taps
- Initial conditions
- Only if feedback taps are chosen properly will
the sequence be an m-sequence - A non-maximal sequence is one in which the
register does not go through all possible states,
i.e. the sequence will be initial fill dependent
14EXAMPLE OF A NON-MAXIMAL SEQUENCE
24 1 15
Null Seq Seq A Seq B
0 0 0 0 - 0 0 0 0 0 - R
1 0 0 0 - 8 1 1 0 0 -12 0 1 1 0 - 6 0 0 1 1 - 3 0
0 0 1 -1 1 0 0 0 - R
1 1 1 1 - 15 0 1 1 1 - 7 1 0 1 1 - 11 1 1 0 1 -
13 1 1 1 0 - 14 1 1 1 1 - R
State Diagrams
15PRIMITIVE POLYNOMIALS
16NUMBER OF M-SEQUENCESfrom register length 3
through 16
Register Length n
Number of sequences
- gt 2
- 4 gt 4
- 5 gt 6
- 6 gt 4
- 7 gt 18
- 8 gt 16
- 9 gt 48
- 10 gt 60
- 11 gt 176
- 12 gt 96
- 13 gt 630
- 14 gt 756
- 15 gt 1800
- 16 gt 2048
Where ?(2n 1) is a Euler number i.e. the number
of positive integers including 1 that are
relatively prime to and less than 2n 1
17COMPARISON OF SSRG WITH MSRG
(a) Simple Shift Register Generator (SSRG)
Configuration of x5 x2 1
(b) Equivalent Modular Shift Register Generator
(MSRG) Configuration of x5 x3 1
18RECIPROCAL CODES
Time reversed replicas
19CODE SEQUENCE PERIODS FOR M-SEQUENCES
Code Sequence Periods for Various m-sequence
Lengths at 1 Mcps
- 127 1.27 x 10-4 sec
- 255 2.55 x 10-4 sec
- 511 5.11 x 10-4 sec
- 1,023 1.023 x 10-3 sec
- 2,047 2.047 x 10-3 sec
- 4,095 4.095 x 10-3 sec
- 8,191 9.191 x 10-3 sec
- 131,071 1.31 x 10-1 sec
- 524,287 5.24 x 10-1 sec
- 8,388,607 8.388 sec
- 27 134,217,727 13.421 sec
- 2,147,483,647 35.8 min
- 879,609,302,207 101.7 days
- 2,305,843,009,213,693,951 7.3 x 104 years
- 89 618,970,019,642,690,137,449,562,111 1.95 x
109 years
Source Spread Spectrum Systems R.C. Dixon
20GENERATING PN SEQUENCES IN MATLAB
- x pnf(8,435,1,500,1,1)
- of stages
- Octal polynomial
- Initial Fill in Octal
- Length of sequence
- Sampling Frequency
- Bit rate
21GENERATING PN SEQUENCES IN MATLAB (Cont.)
22PROPERTIES OF M-SEQUENCES
- M-sequences must have an even number of taps
- Reciprocal codes can be generated by reversing
the order of the taps - Exhibit the shift and add property
- If an m-sequence is added to a phase shifted
version of itself, then the resulting sequence is
another shift of the original sequence - Example
- 1 1 1 0 1 0
0 ? Original sequence - 1 0 1 0 0 1
1 ? Shifted by 2 - 0 1 0 0 1 1
1 ? Same sequence shifted by 4 - Balance Property
- In one period of an m-sequence, there is one more
1 than 0 (result of not having an all zeros state)
23RUN PROPERTIES OF M-SEQUENCES (Cont.)
- 5. In one period there a 2(n-1) runs of
consecutive 1s or 0s. - ½ are of length 1
- ¼ are of length 2
- 1/2l are of length l (Ex 1/8 of length 3,
1/16 of length 4, . . .) - Or equivalently
- 1 run of 1s of length n
- 1 run of 0s of length n-1
- 1 run of 1s and 1 run of 0s of length n-2
- 2 runs of 1s and 2 runs of 0s of length n-3
- 4 runs of 1s and 4 runs of 0s of length n-4
- 2n-3 runs of 1s and 2n-3 runs of 0s of length. 1
24BALANCE PROPERTYExample
- M-sequence where n5, therefore l4
- N 25 1 31
Total runs 2n-1 25-1 24 16 Total number
of bits 5 4 3 3 4 4 4 4 31
25BALANCE PROPERTYExample
- Generating polynomial 67o (n 5 and N 31)
- The m-sequence is given as
- 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0
0 0 0 1 1 1 0 0 1 1 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Runs Present Number of Each Computation
0 4 ½(2n-1) ½(16) 8
1 4 Included in above
00 2 ¼(16) 4
11 2 Included in above
000 1 1/8(16) 2
111 1 Included in above
0000 1 1/16(16) 1
11111 1 1/16(16) 1
Total 16
26PROPERTIES OF M-SEQUENCES (Cont.)
- Number of maximal sequences possible
- Number of sequences 1/n ?(2n 1)
- Where
- n the number of SSRG stages
- ?(k) is Eulers number
- ?(k) equals the number of positive integers less
than k and relatively prime to k - If k is not prime, use
- Where pfi s are the prime factors of k
27NUMBER OF M-SEQUENCES Example
- Let n 5, N 25 -1 31
- 31 is a prime number, therefore
- of sequences 1/n?(2n 1) 1/530 6
- Note 30 is the number of positive integers
less than k - This number does not include reciprocal codes
since they are time-reversed replicas of the same
sequence - Let n 4, N 24 -1 15
- 15 is not a prime number, therefore prime factors
are 3 and 5 - of sequences
-
- (1/4)(24 1)(1 1/3)(1 1/5)
(1/4)(15)(2/3)(4/5) 2 - The table 3.3 on page 72 of the Dixon text is
incorrect for n4 and is verified from
Error-Correcting Codes by Peterson and Weldon