You are on page 1of 7

Code-Division Multiple Access

(CDMA)
„ Multiplexing technique used with spread
spectrum
Spread Spectrum (contd.) „ Basic Principles of CDMA
„ D = rate of data signal
„ Break each bit into k chips
„ Chips are a user-specific fixed pattern
„ Chip data rate of new channel = kD

„ Use orthogonal codes for different users!

CDMA Example CDMA Example


„ If k=6 and code is a sequence of 1s and -1s „ User A code = <1, –1, –1, 1, –1, 1>
„ For a ‘1’ bit, A sends code as chip pattern „ To send a 1 bit = <1, –1, –1, 1, –1, 1>
„ <c1, c2, c3, c4, c5, c6>
„ To send a 0 bit = <–1, 1, 1, –1, 1, –1>
„ For a ‘0’ bit, A sends complement of code
„ <-c1, -c2, -c3, -c4, -c5, -c6> „ User B code = <1, 1, –1, – 1, 1, 1>
„ Receiver knows sender’s code and performs „ To send a 1 bit = <1, 1, –1, –1, 1, 1>
electronic decode function „ Receiver receiving with A’s code
Su (d ) = d1× c1 + d 2 × c2 + d 3× c3 + d 4 × c4 + d 5× c5 + d 6 × c6 „ (A’s code) x (received chip pattern)
„ <d1, d2, d3, d4, d5, d6> = received chip pattern „ User A ‘1’ bit: 6 -> 1
„ <c1, c2, c3, c4, c5, c6> = sender’s code „ User A ‘0’ bit: -6 -> 0
„ User B ‘1’ bit: 0 -> unwanted signal ignored

1
CDMA for Direct Sequence Categories of Spreading
Spread Spectrum Sequences
„ Spreading Sequence Categories
„ PN sequences
„ Orthogonal codes
„ For FHSS systems
„ PN sequences most common
„ For DSSS systems not employing CDMA
„ PN sequences most common
„ For DSSS CDMA systems
„ PN sequences
„ Orthogonal codes

PN Sequences Important PN Properties


„ PN generator produces periodic sequence that „ Randomness
appears to be random
„ Uniform distribution
„ PN Sequences „ Balance property (binary1 occurs ½ the time)
„ Generated by an algorithm using initial seed „ Run property (sequence of 1s (or 0s) – length 1 occurs ½ the
„ Sequence isn’t statistically random but will pass many time; length 2 occurs ¼ the time; length 3 occurs 1/8 the time…)
test of randomness „ Independence
„ Sequences referred to as pseudorandom numbers or
pseudonoise sequences „ Correlation property (cycle shift of a period of the sequence
is compared term by term; |#sameTerms-#diffTerms| <= 1)
„ Unless algorithm and seed are known, the sequence is
impractical to predict „ Unpredictability

2
Linear Feedback Shift Register Properties of M-Sequences
Implementation of PN Generator „ Property 1:
„ Has 2n-1 ones and 2n-1-1 zeros
„ Property 2:
„ For a window of length n slid along output for N (=2n-1)
shifts, each n-tuple appears once, except for the all zeros
sequence
„ Property 3:
„ Sequence contains one run of ones of length n
„ One run of zeros of length n-1
„ One run of ones and one run of zeros of length n-2
„ Two runs of ones and two runs of zeros of length n-3
Output is periodic with max-period N=2n-1; „ 2n-3 runs of ones and 2n-3 runs of zeros of length 1
LFSR can always give a period N sequence -> resulting in m-sequences.
Different Ai allow generation of different m-sequences

Properties of M-Sequences Definitions


„ Property 4: „ Correlation
„ The concept of determining how much similarity one
„The periodic autocorrelation of a ±1 set of data has with another
m-sequence is „ Range between –1 and 1
1 The second sequence matches the first sequence
τ = 0, N, 2N, ...
„

 1 „ 0 There is no relation at all between the two sequences


R(τ ) =  1 „ -1 The two sequences are mirror images
− otherwise
 N „ Cross correlation
„ The comparison between two sequences from different
sources rather than a shifted copy of a sequence with
R(t) = AVGk(Bk Bk-t) itself

3
Advantages of Cross Correlation Gold Sequences
„ The cross correlation between an m-sequence and „ Gold sequences constructed by the XOR of two
noise is low m-sequences with the same clocking
„ This property is useful to the receiver in filtering out „ Codes have well-defined cross correlation
noise properties
„ The cross correlation between two different m- „ Only simple circuitry needed to generate large
sequences is low number of unique codes
„ This property is useful for CDMA applications
„ In following example (Figure 7.16a) two shift
„ Enables a receiver to discriminate among spread
spectrum signals generated by different m-sequences
registers generate the two m-sequences and these
are then bitwise XORed
„ M –sequences good for FHSS and DSSS
not used for CDMA
why?

Gold Sequences Orthogonal Codes


„ Orthogonal codes
„ All pairwise cross correlations are zero
„ Fixed- and variable-length codes used in CDMA
systems
„ For CDMA application, each mobile user uses one
sequence in the set as a spreading code
„ Provides zero cross correlation among all users
„ Types
„ Welsh codes
„ Variable-Length Orthogonal codes

4
Typical Multiple Spreading
Walsh Codes Approach
„ Spread data rate by an orthogonal code
„ Set of Walsh codes of length n consists of the n
rows of an n ´ n Walsh matrix: (channelization code)
„ Provides mutual orthogonality among all users
 Wn Wn 
W 2 n =   in the same cell
W n 
„ W1 = (0)
 Wn „ Further spread result by a PN sequence
„ n = dimension of the matrix (scrambling code)
„ Every row is orthogonal to every other row and to „ Provides mutual randomness (low cross
the logical not of every other row
correlation) between users in different cells
„ Requires tight synchronization
„ Cross correlation between different shifts of Walsh
sequences is not zero

Coping with Data Transmission


Errors
„ Error detection codes
„ Detects the presence of an error
Coding and Error Control „ Automatic repeat request (ARQ) protocols
„ Block of data with error is discarded
„ Transmitter retransmits that block of data
„ Error correction codes, or forward
correction codes (FEC)
„ Designed to detect and correct errors

5
Error Detection Probabilities Error Detection Probabilities
„ Definitions „ With no error detection

P1 = (1 − Pb )
„ Pb : Probability of single bit error (BER) F
„ P1 : Probability that a frame arrives with no bit
errors
„ P2 : While using error detection, the probability that P2 = 1 − P1
a frame arrives with one or more undetected errors
„ P3 : While using error detection, the probability that P3 = 0
a frame arrives with one or more detected bit errors
but no undetected bit errors „ F = Number of bits per frame

Error Detection Process Error Detection Process


„ Transmitter
„ For a given frame, an error-detecting code (check bits)
is calculated from data bits
„ Check bits are appended to data bits
„ Receiver
„ Separates incoming frame into data bits and check bits
„ Calculates check bits from received data bits
„ Compares calculated check bits against received check
bits
„ Detected error occurs if mismatch

6
Parity Check
„ Parity bit appended to a block of data
„ Even parity
„ Added bit ensures an even number of 1s
„ Odd parity
„ Added bit ensures an odd number of 1s
„ Example, 7-bit character [1110001]
„ Even parity [11100010]
„ Odd parity [11100011]

You might also like