DIGITAL SPREAD SPECTRUM SYSTEMS - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

DIGITAL SPREAD SPECTRUM SYSTEMS

Description:

A very important property of PN sequences is the periodic auto correlation function ... B-M requires (at most) 2n error-free chips to determine generating polynomial ... – PowerPoint PPT presentation

Number of Views:209
Avg rating:3.0/5.0
Slides: 47
Provided by: step87
Category:

less

Transcript and Presenter's Notes

Title: DIGITAL SPREAD SPECTRUM SYSTEMS


1
DIGITAL SPREAD SPECTRUM SYSTEMS
ENG-737
  • Wright State University
  • James P. Stephens

2
AUTOCORRELATION OF PN SEQUENCES
  • A very important property of PN sequences is the
    periodic auto correlation function
  • Recall that autocorrelation is defined as
  • Simply stated, it is a comparison of a sequence
    to a time-shifted version of itself
  • The equation asks For an offset of m chips, how
    similar is the sequence to inself?

3
PN SEQUENCE AUTOCORRELATION FUNCTION
Normalized
Rbb(?)
NTc
1.0
1/N
?
Tc
4
POWER SPECTRAL DENSITY FOR M-SEQUENCE
Chip Duration Tc and Period NTc
5
DISCRETE AUTOCORRELATION Example
n 3 N 2n 1 7 Initial Fill 0 0 1
Sequence ? 1 0 0 1 0 1 1 Convert to
-1, 1 ? 1 -1 -1 1 -1 1 1
  • The periodic autocorrelation
  • . . . 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1
    1 -1 1 1 1 -1 -1 1 -1 1 1 . .
  • 1 -1 -1 1 -1 1 1
    m0
  • 1 1 1 1 1 1
    1 7
  • 1 -1 -1 1 -1 1 1 m1
  • -1 1 -1-1 -1
    1 1 -1
  • and so on . . . . . . .

6
DISCRETE AUTOCORRELATION Example
m Sum of Products Rbbm
-6 -1 -1/7
-5 -1 -1/7
-4 -1 -1/7
-3 -1 -1/7
-2 -1 -1/7
-1 -1 -1/7
0 7 1
1 -1 -1/7
2 -1 -1/7
3 -1 -1/7
4 -1 -1/7
5 -1 -1/7
6 -1 -1/7
Discrete Time Plots
In the limit as m ? ? Approaches that of White
Noise
7
BINARY SYMBOL CONVERSION
  • Consider an m-sequence ck
  • Where, ck ? 0, 1 for all k
  • Now define the m-sequence bk ? -1, 1
  • By letting bk 2ck -1, this translates 0 ? -1
    and 1 ? 1
  • This is a useful MatLab conversion necessary for
    many MatLab computations
  • Note In GF(2) arithmetic, multiplication of 1
    and -1 is the same as addition of 0 and 1.
  • Example

a b
-1 -1 1
-1 1 -1
1 -1 -1
1 1 1
a b
0 0 0
0 1 1
1 0 1
1 1 0
Exclusive OR
Multiplication
8
MATLAB IMPLEMENTATION
  • The following files are found on my web site at
    http//www.cs.wright.edu/jstephen/
  • pnf.m
  • oct2bin.m
  • masseyf.m
  • Example
  • pn1pnf(6,103,1,1500,1,1)
  • pn2pnf(6,103,1,63,1,1)
  • pn1(pn12)-1
  • pn2(pn22)-1
  • autoxcorr(pn2,pn1)
  • plot(auto)

9
MATLAB IMPLEMENTATION (Cont.)
  • autoauto(100400)
  • plot(auto)

10
M-SEQUENCE SECURITY ISSUES
  • How secure are m-sequences? Even if they do not
    repeat for years?
  • Masseys Algorithm can determine the generating
    polynomial, at most, in 2 times n error free
    chips
  • Example
  • Generate m-sequence where N7, i.e. n3
  • Fill up matrix using only 2n 6 chips
  • Obtain system of equations that can be solved
    simultaneously
  • Thus, a code that uses 89 stages that will not
    repeat for 73,000 years (1 Mcps chip rate) can be
    determined by only processing 2 89 178 chips

11
CODE SEQUENCE DETERMINATION
  • Berlekamp-Massey linear feedback shift register
    prediction algorithm
  • Golds Frequency Agile Predictor
  • B-M requires (at most) 2n error-free chips to
    determine generating polynomial
  • Golds based on relative times of arrival of
    single frequency
  • Demonstrated on Workstation with MATLAB

12
MASSEY ALGORITHM EXAMPLE
a(k)
  • Code sequence of period N7 (n3)
  • a a(0), a(1), a(2), a(3), a(4), a(5), . . . .
  • a 1 1 1 0 1 0 0 1 1 1 0 1 0 0 (14
    chips)
  • a(k) C1 a(k-1) C2 a(k-2) C3 a(k-3)
  • a(3) a(2) a(1) a(0) 0 1 1 1
  • a(4) a(3) a(2) a(1) 1 0 1 1
  • a(5) a(4) a(3) a(2) 0 1 0 1
  • We obtain the system of equations
  • (1) 0 1 C1 1 C2 1 C3
  • (2) 1 0 C1 1 C2 1 C3
  • (3) 0 1 C1 0 C2 1 C3

13
MASSEY ALGORITHM EXAMPLE
  • Add equations (1) and (2)
  • 1 1 C1 0 C2 0 C3
  • C1 1
  • Substitute in equation (3)
  • 0 1 (1) 0 C2 1 C3
  • C3 1
  • Substitute C1 1, C3 1, into (1) gives
  • 0 1(1) 1 C2 1(1)
  • C2 0
  • Solution is X3 X 1

14
MODEL FREQUENCY HOPPER
Code-of-the-day
Modulo-2 Adder
Binary Register
FH Output
Mapper
15
GOLDS TIME-OF-ARRIVAL ALGORITHM
Code-of-the-day
Code Generator
Binary Output Register
Output Hopping Sequence
00 gt a 01 gt b 10 gt c 11 gt d
Frequency Mapper
Times-of-arrival 4,5,8,9,10,13,14,23,24,25,26,27
,31
16
PERFORMANCE
  • Importance of real-time implementation
  • Rapidly changing battle scenario
  • Typically short message bursts
  • Ability to change code-of-the-day
  • Data collection time
  • Probability of correct synchronization
  • Prediction algorithm run time

17
DATA COLLECTION TIME
18
PROBABILITY OF CORRECT SYNCHRONIZATION
19
ALGORITHM TIME
Based on 32-stage shift register
20
ALGORITHM TIME VERSUS NUMBER OF HOP FREQUENCIES
21
PARTIAL CORRELATION
  • The important random properties of m-sequences
    are the result of usually very long sequences
  • However, it is not possible to perform full
    length correlation in a receiver
  • Also, if the duration of a message bit is less
    than that of the period of the PN sequence, then
    to decode the message, we need to correlate over
    something less that a full code period
  • In these cases, the correlation function we just
    looked at does not apply
  • The Partial Correlation function is written

22
PARTIAL CORRELATION (Cont.)
  • We can treat the ams as random variables ? 1
  • So,
  • The variance is

23
PARTIAL CORRELATION
M-sequence Autocorrelation
M-sequence Partial Correlation
50 chips
63 chips
24
PARTIAL CORRELATION (Cont.)
50 chips
40 chips
30 chips
20 chips
25
MATLAB IMPLEMENTATION OF PARTIAL CORRELATION
  • To perform a full autocorrelation of an
    m-sequence of length 63
  • pn1pnf(6,103,1,1500,1,1)
  • pn2pnf(6,103,1,63,1,1)
  • pn1(pn12) -1
  • pn2(pn22) -1
  • autoxcorr(pn2,pn1)
  • autoauto(100400)
  • plot(auto)
  • To perform a partial autocorrelation for this
    sequence, change line 2
  • pn2pnf(6,103,1,50,1,1)

Try different values here !
Note Each time you change line 2, be sure to
re-enter lines 4, 5, 6, and 7 since these values
must be re-computed.
26
PERIODIC VS. APERIODIC CORRELATION
1
4
2
3
PN Code Reference
Periodic
1
PN Code Reference
Aperiodic
27
APERIODIC AUTOCORRELATION OF AN M-SEQUENCE
  • Determine the Aperiodic autocorrelation of
    m-sequence 45o
  • n 5, N 31
  • pn1pnf(5,45,1,31,1,1)
  • pn2pnf(5,45,1,31,1,1)
  • pn1(pn12)-1
  • pn2(pn22)-1
  • xxcorr(pn2,pn1)
  • plot(x)

28
APERIODIC AUTOCORRELATION
Peak Value
Approximately 15 side lobe values
Index of discrimination
G(x) 45o
29
PARTIAL APERIODIC AUTOCORRELATION
G(x) 45o 15 Chips
30
CROSSCORRELATION
  • Whereas autocorrelation compares a code with
    itself, crosscorrelation compares one code to
    another
  • Example Determine the periodic and aperiodic
    crosscorrelation of 45o and 75o
  • Note the number of sidelobe values
  • Periodic sidelobes are 3-valued
  • Aperiodic is very random looking
  • Refer to the handout from Robert Golds
    publication on Linear Code Sequences

31
CROSSCORRELATION(45o and 75o)
Periodic
Aperiodic
32
COMPOSITE CODES
  • Although m-sequences are quite desirable for many
    applications, there is considerable research in
    finding new codes that offer improved performance
    in area
  • Composite codes are generated by a combination of
    linear maximal sequences
  • The following are examples of composite codes
  • Gold Codes CDMA Applications
  • JPL Codes Rapid synchronization
  • Kasami Codes Length construction and CDMA
    Applications

33
GOLD CODES
  • Many details regarding Gold Codes are explained
    in Appendix 7 of Dixon text
  • To be assured of good performance in CDMA
    applications, a system must have
  • Low crosscorrelation properties among codes
  • Low partial crosscorrelation properties among
    codes
  • From Golds report
  • Length 25 1 31 Fixed Polynomial
    45o
  • Bound N Spectrum Polynomial
  • 31 1 31(1) -1(30) 45
  • 11 1 7(5) 3(10) 51
  • -1(5) -5(5)
  • -9(5)
  • 9 4 7(10) -1(15) 75
  • -9(6) 67
  • 53 73

34
REGARDING M-SEQUENCES FOR CDMA APPLICATIONS
  • There is no general bound on the
    cross-correlation properties of m-sequences
  • There is a limited number of available code for a
    large number of users within the family of
    m-sequences

35
GOLD CODE CONSTRUCTION
LRS 1 and LRA 2 must have same length
Code 1
LRS 1

Clock
LRS 2
Code 2
Output Gold Code ( Code 1 xor Code 2)
36
GOLD CODE CONSTRUCTION
x5 x3 1 51o
Gold Code
x5 x4 x3 x2 1 75o
37
GOLD CODE CONSTRUCTION
  • 51o xor 75o ( x5 x3 1)(x5 x4 x3
    x2 1)
  • x10 x9 x8 x7
    x5
  • x8
    x7 x6 x5 x3

  • x5 x4 x3 x2 1
  • x10 x9 x6 x5
    x4 x2 1
  • 3165o non-maximal

38
MAXIMUM NUMBER OF GOLD CODES
  • Normally, you fix one register and change the
    fill of the other to generate a family of Gold
    Codes
  • Since there are 2n 1 initial fills, you can
    generate 2n 1 Gold Codes from each
    configuration
  • The code length will be N 2n 1, where n is
    the length of the individual registers which must
    be of equal size
  • For the 5-stage registers shown in the previous
    chart, N 31
  • Since the generating polynomial for the Gold Code
    is degree-10, an m-sequence would be 210 1
    1023
  • 1023 / 31 33 codes
  • This comes from 31 initial fills plus the
    m-sequence generated from each separate register
    alone
  • Recall from Table 3.3 in Dixons text, the number
    of possible m-sequences given n is tabulated in
    the next chart

39
MAXIMUM NUMBER OF GOLD CODES
  • n of m-sequences. of Gold
    Codes
  • 5 6
    31 2
  • 6 4
    63 2
  • 7 18
    127 2
  • 8 16
    255 2
  • 9 48
    511 2
  • . .
    .
  • . .
    .
  • . .
    .
  • 15 1800
    32767 2

Not only do Gold Codes provide a larger ensemble
of codes, but they provide uniformly low-cross
correlation properties while exhibiting good
autocorrelation properties
40
CHOSING A SET OF PREFERRED PAIRS
  • M-sequences used to generate Gold Codes must be
    of the same length and chosen according to a
    process of preferred pairs selection (Details
    are in Appendix 7 of Dixon text)
  • Table A7.3 says there are no preferred pairs for
    n6. Not true! 103o and 147o are a preferred
    pair
  • Arbitrary selection of code pairs can result in
    very poor correlation performance
  • Table A7.1, page 501, shows that for n5, a
    preferred pair yields a peak value of cross
    correlation of 9 for a preferred pair, but 11 for
    a non-preferred pair
  • The selection of preferred pairs will always
    give 3-valued autocorrelation which will bound
    the correlation to

41
Table A7.1 Performance of Preferred Pairs
Compared with Worst Case Pairs
Degree Period Worst Case Preferred Pair Difference (dB)
5 31 11 9 1.7
6 63 23 15 3.7
7 127 41 17 7.6
8 255 95 31 9.7
9 511 113 33 10.7
10 1023 383 63 15.7
11 2047 287 65 12.9
12 4095 1407 127 20.9
13 8191 703 127 14.9
42
PREFERRED PAIRS OF GOLD CODES
Degree Preferred Pairs Bound
5 5,25,4,3,2 9
6 None
7 7,37,3,2,1 7,3,2,17,5,4,3,2,1 15
8 8,7,6,5,2,18,7,6,1 31
9 9,49,6,4,3 9,6,4,39,8,4,1 33
10 10,9,8,7,6,5,4,310,9,7,6,4,1 10,8,7,6,5,4,310,9,7,6,4,1 10,8,5,110,7,6,4,2,1 63
11 11,211,8,5,2 11,8,5,211,10,3,2 65
12 12,11,9,8,7,5,2,112,10,5,4,2,1 12,11,6,4,2,112,11,8,7,5,4,3,2 127
13 13,4,3,113,10,9,7,5,4 13,10,9,7,5,413,12,8,7,6,5 129
43
CHOSING A SET OF PREFERRED PAIRS
  • The algorithm for choosing preferred pairs is
    as follows
  • Select n and a polynomial
  • Find k associated with the polynomial (polynomial
    root)
  • If n is odd, then calculate 2k 1, if n is even
    then calculate 2(n2)/2 k
  • The number calculated is the polynomial root (k)
    associated with the second code that completes a
    preferred pair

44
CHOSING A SET OF PREFERRED PAIRS
  • Example
  • Let n8, then choose 435(1)
  • k1
  • n is even therefore, 2(82)/2 1 33
  • None listed
  • Try n8, then choose 747(11)
  • k11
  • N is even therefore, 2(82)/2 11 43 ?
    703o

45
JPL RANGING CODES
  • JPL Codes are constructed by modulo-2 addition of
    2 or more m-sequences whose lengths are
    relatively prime to one another
  • Advantages of JPL Codes
  • Very long codes can be generated which are useful
    for unambiguous ranging over long distances
  • May be generated easily with a small number of
    short registers
  • Synchronization can be more easily accomplished
    by separate operation on each of the component
    codes
  • Relatively prime means no common factors among
    numbers

46
JPL CODE CONSTRUCTION
a
a xor b xor c
b
c
Write a Comment
User Comments (0)
About PowerShow.com