1 / 27

DIGITAL SPREAD SPECTRUM SYSTEMS

DIGITAL SPREAD SPECTRUM SYSTEMS. ENG-737. Wright State University James P. Stephens. x(t). BPSK modulator. s(t) = A x(t) g(t) cos w t. A cos w t. g(t). DIRECT SEQUENCE IMPLEMENTATION. (A). x(t). BPSK modulator. BPSK modulator. Data. s(t) = A x(t) g(t) cos w t.

fay-gamble
Download Presentation

DIGITAL SPREAD SPECTRUM SYSTEMS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. x(t) BPSK modulator s(t) = A x(t) g(t) cos wt A cos wt g(t) DIRECT 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) = A’A x(t - td) g(t - td) cos [ w(t – td) + f ] BPSK demod Filter ~ s(t) = A’A x(t - td) Output of correlator ~ g(t - td) Correlator

  3. SPREADING / DESPREADING Data “A” 1 0 1 1 0 1 0 0 A xor B transmitted “C” 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 0 Received “C” same as above C xor D original data signal Locally generated PN bit stream “B” Code Inversion Locally generated PN bit stream “D” same as “B” above Embedded Ref.

  4. SPREADING 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

  5. + Mod-2 Adder PN sequence 4 – Stage shift register SIMPLE 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

  6. + • 0 0 0 0 1 1 • 1 0 0 0 8 • 1 1 0 0 12 • 1 1 1 0 14 • 1 1 1 1 15 • 0 1 1 1 7 • 1 0 1 1 11 • 0 1 0 1 5 • 1 0 1 0 10 • 1 1 0 1 13 • 0 1 1 0 6 • 0 0 1 1 3 • 1 0 0 1 9 • 0 1 0 0 4 • 0 0 1 0 2 • 0 0 0 1 1 Mod-2 Adder PN sequence 4 – Stage shift register SIMPLE SHIFT REGISTER GENERATOR (SSRG) N = 2n - 1 Where, N = length of sequence n = number of stages Repeats

  7. 1 8 2 12 4 14 9 15 3 7 6 11 13 10 5 M-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

  8. + a1 a2 a3 a4 an . . . . . . . . Ck-1 Ck-2 Ck-3 Ck-4 Ck-n GENERAL 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:

  9. GENERAL 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’

  10. + 1 2 3 4 5 5-STAGE SIMPLE SHIFT REGISTER GENERATOR • 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: x0 x1 x2 x3 x4 x5 Clock

  11. 5-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 generator’s ‘characteristic polynomial’

  12. Polynomial Octal Binary OCTAL 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 1 2 4 5 6

  13. MAXIMAL 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

  14. 8 + 1 12 A 3 6 15 2 14 7 5 9 B C 13 11 10 4 EXAMPLE OF A NON-MAXIMAL SEQUENCE 24 – 1 = 15 Null SeqSeq ASeq 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

  15. Degree Octal Representation of Generator Polynomial [13] [23] [45], [75], [67] [103], [147], [155] [211], [217], [235], [367], [277], [325], [203], [313], [345] [435], [551], [747], [453], [545], [537], [703], [543] [1021], [1131], [1461], [1423], [1055], [1167], [1541], [1333], [1605], [1751], [1743], [1617], [1553], [1157] [2011], [2415], [3771], [2157], [3515], [2773], [2033] [2443], [2461], [3023], [3543], [2745], [2431], [3177] [4005], [4445], [4215], [4055], [6015], [7413], [4143] [4563], [4053], [5023], [5623], [4577], [6233], [6673] • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 Source: Introduction to Spread Spectrum Communications, Peterson, Ziemer, Borth PRIMITIVE POLYNOMIALS

  16. NUMBER OF M-SEQUENCESfrom register length 3 through 16 Register Length n Number of sequences • > 2 • 4 > 4 • 5 > 6 • 6 > 4 • 7 > 18 • 8 > 16 • 9 > 48 • 10 > 60 • 11 > 176 • 12 > 96 • 13 > 630 • 14 > 756 • 15 > 1800 • 16 > 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

  17. 1 2 5 3 4 Output + + + + + 1 2 5 3 4 Output COMPARISON 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

  18. Example: x5 + x2 + 1 x5 ( ) = 1 + x3 + x5 x5 + x3 + 1 1 1 1 + + 1 x2 x5 RECIPROCAL CODES Time reversed replicas

  19. Register Length - n Sequence Length Sequence Period CODE 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

  20. GENERATING PN SEQUENCES IN MATLAB • Requires: • pnf.m • oct2bin.m • x = pnf(8,435,1,500,1,1); • # of stages • Octal polynomial • Initial Fill in Octal • Length of sequence • Sampling Frequency • Bit rate

  21. GENERATING PN SEQUENCES IN MATLAB (Cont.)

  22. PROPERTIES 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)

  23. RUN PROPERTIES OF M-SEQUENCES (Cont.) 5. In one period there a 2(n-1) runs of consecutive 1’s or 0’s. • ½ are of length 1 • ¼ are of length 2 • 1/2lare of length l (Ex: 1/8 of length 3, 1/16 of length 4, . . .) Or equivalently: • 1 run of 1’s of length n • 1 run of 0’s of length n-1 • 1 run of 1’s and 1 run of 0’s of length n-2 • 2 runs of 1’s and 2 runs of 0’s of length n-3 • 4 runs of 1’s and 4 runs of 0’s of length n-4 • 2n-3 runs of 1’s and 2n-3 runs of 0’s of length. 1

  24. Number of Bits 1/24 = 1/16 (1 run of 1’s of length 5) 5 (1 run of 0’s of length 4) 4 1/23 = 1/8 (1 run of 1’s of length 3) 3 (1 run of 0’s of length 3) 3 1/22 = 1/4 (2 runs of 1’s of length 2) 4 (2 runs of 0’s of length 2) 4 1/21 = 1/2 (4 runs of 1’s of length 1) 4 (4 runs of 0’s of length 1) 4 BALANCE PROPERTYExample M-sequence where n=5, therefore l=4 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

  25. BALANCE PROPERTYExample Generating polynomial [67]o (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 10 0 0 01 1 10 01 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

  26. PROPERTIES 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 Euler’s 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

  27. NUMBER OF M-SEQUENCES Example • Let n = 5, N = 25 -1 = 31 • 31 is a prime number, therefore # of sequences = 1/n[(2n – 1)] = 1/5[30] = 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 n=4 and is verified from “Error-Correcting Codes” by Peterson and Weldon

More Related