CDMA – form of “spread spectrum”

advertisement
CDMA – code division multiple access
- form of “spread spectrum” (modulated signals have much larger BW than data being
communicated)
Fundamental concept in data communication: multiple transmitters send simultaneously
over a single channel. TDMA, FDMA, CDMA
Many people in a room: (1) take turns = TDMA
(2) different pitches = FDMA
(3) different language = CDMA
Technical Details:
TX locally generated code runs a much higher rate than data
– transmit XOR of code and data
Tb: data signal pulse duration
Tc: code signal pulse duration
Tc << Tb => BW of spread spectrum much larger than BW of original
RX XORs with same code to recover data bits
Each user uses a different code to modulate their signal
- code selection criterion
- How is data recovery done? XOR received signal with code
- want codes for different user to be “orthogonal”
1
1
1
1
1
1
-1
-1
1
-1
-1
1
1 average of the pairwise XOR?
-1
1
-1
N
“dot product” orthogonal
∑ X i Y i= 0
i= 1
Each user get different code V : logic 0 sent as –V, logic 1 as +V
For example, V = (+1, -1), data is (1,0,1,1)
send (V, -V, V, V)
<1, -1, -1, 1, 1, -1, 1, -1> transmitted vector
Signals add up
Sender 0 has code (1,-1) data (1, 0, 1, 1)
Sender 1 has code (1, 1) data (0, 0, 1, 1)
Signal 0 (1, -1, -1, 1, 1, -1, 1, -1)
Signal 1 (-1, -1, -1, -1, 1, 1, 1, 1)
Received (0, -2, -2, 0, 2, 0, 2, 0) “interference pattern”
Receive 0 : (0, -2).(1, -1), (-2, 0).(1, -1), (2, 0).(1, -1), (2, 0).(1,-1)
= (2, -2, 2, 2)
=> (1, 0, 1, 1) was sent
Receiver 1: (0, -2).(1, 1), (-2, 0).(1, 1), (2, 0).(1, 1), (2, 0).(1, 1)
= (-2, -2, 2, 2)
=> (0, 0, 1, 1) was sent
What if only 1 user? signal 0 = (1,-1,-1, 1, 1, -1, 1, -1)
Sender 0 (1, -1).(1, -1), (-1, 1).(1, -1), (1, -1).(1, -1), (1, -1).(1, -1)
= (2, -2, 2, 2)
=> (1, 0, 1, 1)
Sender 1 : (0, 0, 0, 0)
“Walsh Matrix” - Standard technique for creating N orthogonal vectors with dimension N
- need everyone of the users to be coordinated
(transmissions start at the same time)
- need N in advance
Not reasonable for mobile base links
- solution: use pseudo-random sequences
(asynchronous CDMA)
different code sequences per user, identical to what we have seen
X = x1, x2, x3, ..., xn
Y = y1, y2, y3, ..., yn
Truly random
=> X.Y is 0 mean, variance is proportional to n
=> standard deviation is proportional to n1/2
User Y’s transmission looks like noise added on to user X’s transmission
Decode X: signal part of X ∞ n
Noise Part (from Y) ∞ n1/2
“multiple access interference”
multiple user => noise increases proportionately
Brings up key issues: if Y is very powerful compared to X, noise injected into X becomes
significant!
not true for synchronous CDMA, TDMA, FDMA
CDMA cellular: key patents are in the power control system (closed loop)
CDMA advantage?
- in theory : same spectral efficiency as FDMA
- implementation differences: FDMA needs frequency generation, filtering
[Doppler effects]
TDMA timing to get right slot [guarding in
mobile]
CDMA Power control
FDMA: fixed slots (waste)
CDMA: very flexible, can keep adding users
(noise increases => BER increases => SQ decreases)
ideal for mobile: bursty, users coming and going
some other benefits:
- larger BW: harder to jam, privacy, less impact of individual interference
sources
- less multi-path interference (delayed versions look like noise, assuming one
chip of delay)
- can use rake receiver: multiple correlators each tuned to different path delays
- no frequency planning (adjacent cells)
=> handoffs are easy (communicate simultaneously with two cells, so no
abrupt change in signal strength)
Download