You are on page 1of 45

Multiuser Detection

for CDMA

Anders Høst-Madsen
(with contributions from Yu Jaechon, Ph.D student)

TRLabs & University of Calgary

1
Overview

 Introduction
 Communications Signal Processing
 CDMA
 3G CDMA
 Multiuser Detection (MUD)
 Basics
 Blind MUD
 Group-blind MUD
 Performance
Some Impression of
a Changing Korea

 Compared with 2 years ago


 A lot has changed, fast
 Internet
 90% of subway ads about internet
 All ads have internet address
 Cell phones
 Everyman’s
 Fashion item Even babies in Korea have mobile phones!
 Small!
The Demands

 “The future of the internet is wireless,” Steve Balmer, CEO Microsoft


 Now
 Internet through telephone
 Wireless voice phones
 Emerging
 High-speed internet (ADSL, cable, satellite, fixed wireless)
 Some wireless terminals (Nokia 9000, Palm VII, RIM Blackberry)
 Web on wireless phones
 Future
 Wireless everything
– Internet terminals
– LAN, home networks
– Devices (Bluetooth)
 Wireless video phones?
 More webphones than wired internet connections in 2004 (Ericsson, Nokia, Motorola)
 All wireless phones web enabled from 2001 (Nokia)
The Constraints

 Limited spectrum
 Limited power
 Complex channels
 Multipath, shading
 Interference: Other users, other electronics
Solutions

 Efficient compression  New standards for mobile


 Coding communications 3rd
 Channel signal processing generation systems
 W-CDMA
 Efficient, cost-controlled
 cdma2000
media access
 4th generation by year 2010
 Software radio
The Communication Channel
Source Channel Adaptive Signal
coding coding transmission processing
Video

Com- Unknown
Speech Transmitter Receiver
pression channel
Data

 Channel Dispersion  Multipath  Interference


 (Low pass) filter effect (wireline  Slow fading  External Interference (other
filters, frequency selective fading)  Time selective electronics, communications,
 Intersymbol Interference (ISI) fading cars)
 Non-linear distortions (power  Space-selective  Multiple Access Interference
amplifiers) fading (MAI) (other users using the
same channel)
 Echo (line hybrids, room
microphones, hands-free
mobiles)
The Wireless Channel

Frequency-selective fading:
ISI

Doppler spread:
Time-varying channel

Path loss
Space-selective fading:
Beamforming
DS/CDMA†

 Principle  Applications
 Users share frequency and time  US IS-95 standard
 Distinguished by unique code  Korean cellular system
 Separated by correlation with code  IMT-2000 (wide band (WB) CDMA)
 Part of future European Frames
standards

†Direct Sequence Code Division Multiple Access


3G CDMA

 cdma2000
 North America, Korea?
 Compatible with IS-95
 Promoted by Qualcomm
 Long codes, synchronous
 Wideband CDMA (WCDMA)
 Europe, Japan
 Compatible with GSM
 Promoted by Nokia, Ericsson
 Long/short codes, asynchronous
 FDD and TDD modes
Long versus Short Codes

Long Codes Short Codes

 Principle  Principle
 Code “infinite”  Code repeats on every symbol
 Applications  Applications
 IS-95  W-CDMA (FDD)?
 cdma2000  W-CDMA (TDD)
 Advantages  Advantages
 Interference averaged out  More signal processing options
 Disadvantages  Higher capacity
 Limited signal processing options  Disadvantages
 Without advanced processing, high
interference
Multi-user Detection

 Multiple-Access Interference (MAI)


 Due to non-orthogonality of codes
 Caused by channel dispersion
 Multiuser detection
 reduction of MAI through interference
cancellation
 2-4 times capacity increase of
cellular systems
 Probably part of future wireless
systems (cellular, satellite, WLAN)
– Included in WCDMA TDD standard
– Several companies involved:
Siemens, Nokia, Nortel
– Some field trials [Siemens]
History of Multi-user Detection

Optimum Linear Decorrelating Blind


Multi-user Multi-user Detector Decorrelating
Detector Detector Detector

Minimum Mean Blind MMSE


Squared Error
(MMSE) Detector Detector

Subtractive Successive IC Group-Blind


Interference MMSE
Cancellation
Detector Parallel IC
Synchronous CDMA

 K users with no ISI.


 Sufficient to consider
signal in single symbol
interval, i.e., [0,T]
 Received signal

K
r (t )  b A s (t )  n(t ),
k 1
k k k t [0, T ]

 where
 bk  {-1,+1} is the k’th user’s transmitted bit.
 Ak is the k’th user’s amplitude
 sk(t) is the k’th user’s waveform (code or PN sequence)
 n(t) is additive, white Gaussian noise.
Conventional detector

T
b1

y1
Decision
t=iT
s1(t)

r(t) T b1
 t=iT
y2
Decision
s2(t)
.........

.........
T bK

yK
Matched Decision
filter bank t=iT
sK(t)
Detection of CDMA signals

 The signal is processed by cross correlation (or matched filtering):


T K


y k  sk (t )r (t )dt r (t )  b A s (t )  n(t ),
k 1
k k k t [0, T ]
0
T T T


 Ak bk sk (t ) sk (t )dt   A b  s (t ) s (t )dt   s (t )n(t )dt
ik
i i k i k
0 0 0
Desired signal Multiple Access Interference (MAI) noise
 In the conventional detector, the estimate of the k’th bit is
bk  sgn( yk )
 If the MAI term is not small, the error probability will be large
 MAI can be kept small by T

 Power control (all Ai same value)
0 
small cross correlation between codes ( sk (t ) si (t )dt small)
Signals on Vector Form

 The signal is processed by cross correlation (or matched filtering):


T


y1  s1 (t )r (t )dt
0
T


y 2  s2 (t )r (t )dt
0

r (t )  b1 A1s1 (t )  b2 A2 s2 (t )  n(t )
Signals on Vector Form

 The signal is processed by cross correlation (or matched filtering):


T
y1  s1 (t )b1 A1s1 (t )  b2 A2 s2 (t )  n(t ) dt

0
T
y 2  s2 (t )b1 A1s1 (t )  b2 A2 s2 (t )  n(t ) dt

0

r (t )  b1 A1s1 (t )  b2 A2 s2 (t )  n(t )
Signals on Vector Form

 The signal is processed by cross correlation (or matched filtering):


T
y1  s1 (t )b1 A1s1 (t )  b2 A2 s2 (t )  n(t ) dt

0
T
y 2  s2 (t )b2 A2 s2 (t )  b1 A1s1 (t )  n(t ) dt

0
T


 b1 A1 s1 (t ) s1 (t )dt
0
T


 b2 A2 s2 (t ) s2 (t )dt
0
Signals on Vector Form

 The signal is processed by cross correlation (or matched filtering):


T
y1  s1 (t )b1 A1s1 (t )  b2 A2 s2 (t )  n(t ) dt

0
T
y 2  s2 (t )b2 A2 s2 (t )  b1 A1s1 (t )  n(t ) dt

0
T T T

  
 b1 A1 s1 (t ) s1 (t )dt  b2 A2 s1 (t ) s 2 (t )dt  s1 (t )n(t )dt
0 0 0
T T T

  
 b2 A2 s2 (t ) s2 (t )dt  b1 A1 s 2 (t ) s1 (t )dt  s 2 (t )n(t )dt
0 0 0
Signals on Vector Form

 The signal is processed by cross correlation (or matched filtering):


T T T


0 =1

0

y1  b1 A1 s1 (t ) s1 (t )dt  b2 A2 s1 (t ) s 2 (t )dt  s1 (t )n(t )dt
=r12
0
=n1
T T T


0 =1

0

y 2  b2 A2 s2 (t ) s2 (t )dt  b1 A1 s 2 (t ) s1 (t )dt  s 2 (t )n(t )dt
=r12
0
=n2

 y1   b1 A1  b2 A2 r12  n1   b1 A1   r12 b2 A2   n1 



 y  b A  b A r  n      
 2   2 2 1 1 12 2  r12 b1 A1   b2 A2   n2 
 1 r12   b1 A1    n1   1 r12   A1 0   b1   n1 
    
 r12 1  b2 A2  n2   r12 1   0   
A2  b2  n2 

R A b n
Detection of CDMA signals 2

 The output y=[y1, y2,...,yK]T is sufficient statistic for b=[b1, b2,...,bK]T


y  RAb  n
y  [ y1 , y2 ,..., y K ]T , b  [b1 , b2 ,..., bK ]T
T


R i , j  si (t ) s j (t )dt , R i ,i  1
0

 A1 0  0 
0 A2  0 
A
    
 
0 0  AK 
E[nn T ]  R
Optimum Multi-user Detector
correlator
output
correlator Viterbi
r (t ) algorithm

...

...
correlator

 
b  arg max p ( y | b) bk  arg min P (   bk )
b{1, 1} K  {1, 1} K

 Too complex : 2K Comparison


 Impractical

 S. Verdú, Optimum multiuser signal detection, PhD thesis, University of Illinois at


Urbana-Champaign, Aug. 1984.
Linear Multi-User Detectors

 Decorrelating detector
y  RAb  n 

R 1y  Ab  R 1n   A1b1 ,..., AK bK   n
T ~~ T ]  R 1 no MAI
~ , E[ nn


b  sgn(R 1y)

sgn( Ab)  b  

 General linear detector
Ly  LRAb  Ln
b  sgn(Ly)

 
 Linear MMSE detector
2
 Minimizes E Ly  Ab
2

 
1
2
Gives L  R   A
2

 Lower bit error rate (BER) than decorrelating
Parallel Interference Canceller (PIC)

 Received signal
y  RAb  n
 Suppose b known:
y  (R  I)Ab  RAb  n  (R  I)Ab  Ab  n
 Use initial estimate of b
bˆ (1)  sgn(y )
y ( 2)  y  (R  I) Abˆ (1) , bˆ ( 2)  sgn(y ( 2) )
y (3)  y  (R  I) Abˆ ( 2) , bˆ (3)  sgn(y (3) )
 Advantages 
 works for long codes
 Each stage simple (no matrix inversion)
 Problems
 If bit wrong, magnifies MAI
 Many stages needed
Blind Multiuser Detection

 Traditional, non-blind MUD


 Codes of all users known
Matched Non-blind
 Sufficient statistics Filter Multiuser
Detector Detector

MA
Interference MA
Interference

 Blind MUD
 Only code of desired user known
 Similar to beam forming in antenna
arrays
Adaptive IC
 Works only for short codes
 Mobile station
MA
Interference
System Model - Synchroneous CDMA

 Signal is sampled at chip rate (from


matched filter)
 Received signal on vector form
K
r b A s
k 1
k k k n

 bk (1): transmitted bits


 Ak: received amplitude
 sk: code waveforms
 n: white, additive noise
Linear Detectors

 Conventional detector

 
bˆ1  sgn s1T r  sgn
 
M 1
k 0
s1[k ]r[k ] 

K
s1T r  b1 A1s1T s1
 
  bk Ak s1T s k  s
k  2
T
1n
Desired    noise
MAI
 General linear detector:

 
b1  sgn w 1T r
K
w 1T r  b1 A1w 1T s1 
  b
k  2
Ak w 1T s k  w
k n
T
1
Desired    noise
MAI
The Decorrelating Detector

 Choose w1 so that
w1T s1  1
w1T s k  0, k  2,3,..., K
 Detector:

 
b1  sgn w 1T r
 0

K
w 1T r  b1 A1w 1T s1 
  
k  2
bk Ak w 1T s k  w

T
1 n
Desired  
 noise
MAI

 b
1 A1  w

T
1 n
Desired noise
The MMSE Detector

 Choose w1 to satisfy


 

 w
1 
T 2   arg min E b 2  2( w T r )b  ( w T r )(r T w )
w1  arg min E b1  w1 r
 1 1 1 1 
w1 1
 Solution

w1  arg min 1  2w1T E[rb1 ]  w1T E[rr T ]w1 
w1
K
r b A s
k 1
k k k n
The MMSE Detector

 Choose w1 to satisfy


 

w
1 
T 2   arg min E b 2  2( w T r )b  ( w T r )(r T w )
w1  arg min E b1  w1 r
 1 1 1 1 
w1 1
 Solution
   
w1  arg min 1  2w1T E   bk Ak s k  n b1   w1T E[rr T ]w1 
K

w1   k 1   
 
T
 Ebk b1 Ak s k  Enb1   w1T E[rr T ]w1 
K
 arg min 1  2w1 
w1   k 1  
 
 arg min 1  2w1T  Eb1b1 A1s1   Ebk b1 Ak s k  Enb1   w1T E[rr T ]w1 
K

w1   k 2  
 
=1 =0 =0
 arg min 1  2w1T A1s1  w1T E[rr T ]w1
w1
The MMSE Detector

 Choose w1 to satisfy




 w
1 
T 2   arg min E b 2  2( w T r )b  ( w T r )(r T w )
w1  arg min E b1  w1 r
 1 1 1 1 
w1 1
 Solution


w1  arg min 1  2w1T A1s1  w1T E[rr T ]w1 
w1

0

w1
 
1  2w1T A1s1  w1T E[rr T ]w1  2 A1s1  2E[rrT ]w1
1
A1s1  Rw 1  w1  A1R s1 R
The Blind MMSE Detector

 Choose w1 to satisfy

w1
  T 2
 
w1  arg min E b1  w1 r  arg min E b12  2(w1T r)b1  (w1T r)(r T w1 )
  w1

 Solution

w1  A1R 1s1
   T 1
 T 1
bˆ1  sgn w1T r  sgn A1s1 R r  sgn s1 R r
N
 

ˆ  1
R  E[rrT ]  R ri riT
N i 1 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit ...

Chip rate sampling

r1 r2 r3 r4 r5 r6 r...
Subspace Methods

 Correlation matrix of received data


R  E[rr T ]  SA 2S T   2 I, S  s1 , s 2 ,..., s K 
 The correlation matrix for CDMA has EVD
 s 0  U Ts 
R  U s U n   
0  2 I U Tn 
 s  diag(1 ,...,  K ), i   2
span(U s )  span(S)
 The MMSE detector is given by:
M A  U s s1UTs
bˆ  sgn(sT M r)
i i A
Subspace Tracking

 Computation of M A  U s s1UTs
 Direct EVD n 1


  1
 Estimate R: R ri riT
n i 0
 Calculate EVD of R
 Find Us and s from K largest eigenvalues
 Singular Value Decomposition
 Calculate SVD of [r0 r1 ... rn-1]
 Find Us and s from K largest singular values
 Subspace tracking
 Low complexity methods of dynamically updating EVD/SVD
 complexity O(MK2) (e.g., F2)
 or O(MK) (e.g., PASTd)
Group-Blind MUD

 Multiple-Access Interference (MAI)


 Intra-cell interference: users in same
cell as desired user
 Inter-cell interference: users from Inter-cell MAI
other cells
 Inter-cell interference 1/3 of total
interference
Intra-cell MAI
Blind Multi-User Detection

 Non-Blind multi-user detection


 Codes of all users known
 Cancels only intracell interference

 Blind multi-user detection


 Only code of desired user known
 Cancels both intra- and inter-cell
interference
Group-blind MUD

 Codes of some, but not all, users


known
 Cancels both intra- and inter-cell
interference
 Uses all information available to
receiver
 Decreases estimation error
 Decreases BER
 Potentially less computationally
complex
 Only one adaptive IC common to all
users.
 Adaptive IC can have lower
complexity than pure blind IC
Group-Blind Hybrid Detector

 Hybrid detector
 Decorrelating among known users
 MMSE with respect to unknown users
 Has convenient, simple expression

 
 Algorithm 1 T
 Projection onto subspace of known codes P S S S
T
S

 Orthogonal Projection P  I  P
 EVD ~ ~
 s 0 0 U Ts 
  ~ T 
 ~ ~
P  RP   U s U n U o  0
~
  I 0 U n 
2

0 0 0 U To 
~
  
~ ~ ~ ~ ~
 s  diag(1 , 2 ,...,  K~ ), i   2

 Detector b

 
ˆ  sgn ST S 1 T
 ~ ~ ~

S I  RU s s1UTs r 

Group-Blind Detector
Performance Simulations

 K=7 users with known codes


 Variable number (4 or 10) of users with unknown codes
 Purely random codes of length M=31
 SNR=20 dB
 Ensemble of 50 different random code assignments is generated
 Median signal to inference and noise ratio (SINR)
 Over all code choices and known users
 total ensemble of 350
Simulation Results
20

 7 Known users 18 Full

 4 Unknown users 16
Group-blind
 All same power
14
1 Blind
12
2
10
SINR(dB)

Direct

8 Non-blind

Single user
4

-2
50 100 150 200 250 300 350 400
Bits
Simulation Results
20

 7 Known users 18
Full
 10 Unknown users 16
 4 Unknown users
with power 0dB 14
Group-blind
 6 unknown users 12
with power -6dB Blind

10
SINR(dB)

Direct

8
2 Non-blind

6 1

Single user
4

-2
50 100 150 200 250 300 350 400
Bits
Simulation Results, BER
0
10

 7 Known users
-1
 4 Unknown users 10

 Blocksize fixed at
200 -2
10
 20 different code Non-blind

matrices
 Ensemble of 140 -3
BER

10 Blind
for each SNR value
 Upper curve: 90-
-4
percentile 10

 Lower curve: median


Group-blind
-5
10

-6
10
0 2 4 6 8 10 12 14 16 18 20
SNR (dB)
Summary

 Multiuser Detection
 Gives considerably performance improvement
 Most useful for short codes
 PIC also useful for long codes
 (Group) blind MUD
 For short code MUD
 More useful in real environments
 Future Developments
 Further development of PIC
 Practical, real-time implementation of MUD
 Complexity reduction of (group-) blind MUD

You might also like