DSSS-CDMA
This explanation builds intuition step by step for DSSS-CDMA, chip rate, processing gain, and how multiple users share the same analog carrier.
What DSSS-CDMA Really Is
- All users transmit at the same time
- Over the same frequency band
- Using the same RF carrier
- Separated using codes
Role of the Carrier Signal
There is one common carrier frequency for all users.
Carrier frequency: 900 MHz
Bandwidth: 1.25 MHz (IS-95)
The carrier is NOT assigned per user.
sk(t) = bk(t) · ck(t) · cos(2Ï€fct)
- bk(t): user data (low rate)
- ck(t): spreading code (high rate)
- fc: same carrier for everyone
Chip and Chip Rate
- Bit → Information (0 or 1)
- Chip → Element of spreading code (+1 / −1)
Bit rate Rb = 10 kbps
Code length N = 100
Chip rate Rc = N × Rb = 1 Mcps
Processing Gain
Rb = 10 kbps
Rc = 1 Mcps
PG = 100 = 20 dB
Numerical DSSS-CDMA Example
User data:
b₁ = [ 1, -1 ]
b₂ = [ -1, 1 ]
Spreading codes (N = 4):
c₁ = [ 1, 1, -1, -1 ]
c₂ = [ 1, -1, 1, -1 ]
c₁ · c₂ = 0 (orthogonal)
Spread signals:
s₁ = [ 1, 1, -1, -1, -1, -1, 1, 1 ]
s₂ = [ -1, 1, -1, 1, 1, -1, 1, -1 ]
Channel sum:
r = [ 0, 2, -2, 0, 0, -2, 2, 0 ]
Intuition
| Concept | Mathematical Meaning |
|---|---|
| User separation | Code orthogonality |
| Same carrier | Same cos(2Ï€fct) |
| Same bandwidth | Chip rate |
| Interference rejection | Inner product ≈ 0 |
| Processing gain | Chip length N |
DSSS-CDMA Demodulation Process
At the receiver, the base station performs coherent demodulation followed by despreading to recover the desired user’s data.
Received signal:
r(t) = Σ bk(t)ck(t)cos(2πfct)
Step 1: Carrier Demodulation
r(t) × cos(2Ï€fct) → baseband + high-frequency terms
Step 2: Low-Pass Filtering (LPF)
Removes 2fc components, leaving:
rbb(t) ≈ Σ bk(t)ck(t)
Step 3: Despreading (Code Correlation)
rbb(t) × cdesired(t)
Desired user adds coherently; other users average to zero.
Step 4: Integrate over One Bit Period
∫ rbb(t)ck(t) dt ≈ N · bk
Step 5: Decision Device
If output > 0 → bit = +1
If output < 0 → bit = −1
This completes carrier demodulation, despreading, and bit recovery.
For Example
take first 4 symbols of the received signal [0, 2, -2, 0]
then at user 1 perform [0, 2, -2, 0].c1' = [ 1, 1, -1, -1 ].[0, 2, -2, 0]' = 4/4 = 1
at user 2 perform [0, 2, -2, 0].c2' = [0, 2, -2, 0].[ 1, -1, 1, -1 ]' = -4/4 = -1