Multiuser Detection
Summary for 6.975 EECS Graduate Seminar in
Communications
Benjamin Vigoda
The multiuser detection problem applies when we are sending data on the uplink
channel from a handset to a base station. The base station must demodulate and de
code signals from K−1 interfering handsets. A related problem known as interference
cancellation arises on the downlink channel from the base station to the handset in
which the handset must separate the signal intended for it, from the signals that the
base station intends for other handsets in the cell. Methods for directly mitigating
interference from neighboring cells have generally not been addressed, probably be
cause of the current practical diﬃculties of sharing large quantities of time sensitive
information between diﬀerent cells.
There is an enormous literature on multiuser detection, but a few resources may
be helpful. The main resource is Verdu’s book [Verdu 1998]. The Fall 11/8/2000 pre
sentation by C. Emre Koksal, entitled “Linear Multiuser Receivers” for this seminar
is quite helpful.
Matched Filter
In a Gaussian channel
p(y
i
[x
i
) = exp
−
1
2σ
2
[y(t) − x
i
(t)]
2
dt
(1)
where x is the transmitted signal and y is the received signal, if we hypothesize two
possible transmitted signals x
i
and x
j
, we can determine which is more likely to have
actually been sent by comparing the likelihoods to see which is greater (maximum)
p(y
i
[x
i
) <> p(y[x
j
), (2)
1
−
1
2σ
2
[y(t) − x
i
(t)]
2
dt <> −
1
2σ
2
[y(t) − x
j
(t)]
2
dt, (3)
[y(t) − x
i
(t)]
2
dt <>
[y(t) − x
j
(t)]
2
dt, (4)
y(t)x
i
(t)dt −
1
2
x
i
(t)
2
dt <>
y(t)x
j
(t)dt −
1
2
x
j
(t)
2
dt. (5)
This last relation states that to minimize the chance of a wrong decision as to
which x was actually sent, we must choose the x with the minimum mean squared
distance to y. We can use the suﬃcient statistic
y(t)x
i
(t)dt, (6)
to make an optimal decision if x
1
, . . . , x
m
are linearly independent.
In general, g(y) is a suﬃcient statistic for θ if given the observations y, the condi
tional distribution p(y[g(y)) does not depend on θ. In other words, g(y) contains all
of the information in y necessary to infer θ.
We can apply the above argument to the single user version of the CDMA channel.
The received signal is
y(t) = Axs(t) + σn(t), t ∈ [0, T], (7)
where the deterministic signature sequence (spreading code) s has unit energy,
the noise n is white and Gaussian, and the transmitted symbol b ∈ −1, 1. We can use
a correlator with a model h(t) of the signature waveform s(t) to make an estimate
ˆ x = sgn
h(t)y(t)dt −
1
2
x
i
(t)
2
dt
(8)
of the correct transmitted symbol x. As long as the noise is uncorrelated, this
will produce the most accurate result if h is a (nonzero) multiple of s. This linear
detector is known as a matched ﬁlter and in the single user environment it is optimal
in the sense that the SNR is maximized. Another way to say this is that the matched
ﬁlter yields the maximumlikelihood (ML) detector for the singleuser channel [?].
In a multiuser channel, we can write the received signal as
2
Y =
K
¸
i=1
X
i
s
i
+W (9)
and we can use a bank of matched ﬁlters to demodulate each independent user. In
order to do this each matched ﬁlter must either be synchronized to the bit epochs of
its corresponding transmitter or we must oversample the received signal and use an
asynchronous detector architecture. Synchronization in multiuser detectors (called
acquisition and tracking) will not be discussed in this chapter. If the matched ﬁlters
are perfectly synchronized and the signature sequences s
k
for all the k users are all
orthogonal to one another (linearly independent), then the matched ﬁlter is optimal
and the results are the same as for the single user problem.
An important question is, “how many mutually orthogonal signals with (approx
imate) duration T and (approximate) bandwidth B can be constructed? In fact, no
signal is strictly timelimited or bandlimited, so instead we ask that the amount of
signal energy that lays outside the time interval [0, T] or outside the band [−B, B]
does not exceed a bound . No explicit answer for the number of orthogonal signals
in terms of B, T and is known, but unless BT is very small, the answer is essentially
2BT. Therefore, a Kuser orthogonal CDMA system employing antipodal modulation
at the rate of R bits per second requires bandwidth approximately equal to
B =
1
2
RK. (10)
Nonorthogonal Spreading Sequences
However, we need not always enforce the strict condition that the signals be or
thogonal in CDMA. For example, the performance of the matched ﬁlter receiver will
be degraded in the presence of nonorthogonal interferers, but we still may be able
to correctly demodulate the signals from each user if the interference is bounded.
This still requires careful selection of the signature waveforms so that their cross
correlations are fairly low (compared to the signature waveform energies s
i

2
=
3
's
i
, s
i
`) [Abend 1970]. More to the point, maintaining strict orthogonality involves
maintaining strict synchronization among all the users of the system, which is a very
diﬃcult control problem in a real world channel due to realvalued multipath time
delays.
Even if global symbol and/or spreading sequence synchronization were possible,
removing the restriction of orthogonal signature waveforms has several major beneﬁts
that make CDMA attractive for multiuser communications systems:
• The users can be asynchronous and yet “quasiorthogonality” can be maintained
by adequate design of the signature waveforms.
• The number of signature users is no longer constrained to twice the duration
bandwidth product of the signature waveforms.
• Channel sharing experiences graceful degradation; Reliability depends on the
number of simultaneous users rather than on the (much larger) number of po
tential users. Therefore, unlike orthogonal multiaccess, it is possible to trade
oﬀ reception quality for increased capacity.
With nonorthogonal CDMA, the simple matched ﬁlter is no longer optimal (even
in the presence of white Gaussian noise). For example it suﬀers from the nearfar
problem: any interferer that is suﬃciently powerful at the receiver causes arbitrar
ily high performance degradation. Furthermore, by designing receiver demodulation
schemes that unlike the matched ﬁlter, take into account the structure of the mul
tiaccess interference (MAI), it is possible to design a system with increased spectral
eﬃciency, decreased output power, and robustness against imbalances in the received
powers of various users.
The matched ﬁlter still plays an important role in multiuser detection, however,
since the output of a bank of matched ﬁlters provides a minimal suﬃcient statistic
for detection [Verdu 1986].
4
Decorrelator
The decorrelator, like the matched ﬁlter, is a linear multiuser detector, but unlike the
matched ﬁlter, it uses information from all of the other users to remove interference.
The decorrelator inverts the channel leaving the received signal without interference
but by doing so also increases the noise. The advantage of the decorrelator is that
no knowledge of the received power is necessary and its performance is independent
of the power of interfering users so that it solves the nearfar problem. Both syn
chronous and asynchronous decorrelators have been considered, but here we consider
only the synchronous case as the generalization to the asynchronous case is relatively
straightforward. Equation 9 can be written in matrix form as
Y = SX+W, (11)
where X = [X
1
. . . X
K
]
T
and S = [s
1
. . . s
k
]
T
is the N K matrix of signature
sequences. For one user S would look like this,
s
1,1
s
1,2
.
.
.
s
1,N
s
2,1
s
2,2
.
.
.
s
2,N
.
.
. s
Tu,1
s
T
u
,2
.
.
.
s
T
u
,N
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
(12)
and extended to multiple users it takes the form
5
s
1
1,1
. . . s
K
1,1
s
1
1,2
. . . s
K
1,2
.
.
.
.
.
.
s
1
1,N
. . . s
K
1,N
s
1
2,1
. . . s
K
2,1
s
1
2,2
. . . s
K
2,2
.
.
.
.
.
.
s
1
2,N
. . . s
K
2,N
.
.
.
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
(13)
A bank of matched ﬁlters would mean ﬁltering Y by multiplying it by S
T
yielding,
R = S
T
SX+ S
T
W (14)
If however, we also multiply by (S
T
S)
−1
, then we get
U = (S
T
S)
−1
R = X+ (S
T
S)
−1
S
T
W (15)
We deﬁne the overall linear ﬁlter N = (S
T
S)
−1
S
T
. This is called the decorrelator.
The covariance of N, K
N
is
K
N
= (S
T
S)
−1
σ
2
. (16)
The Optimum Multiuser Detector (Nonlinear)
The optimum receiver for a DS/CDMA asynchronous Gaussian multiple access chan
nel was ﬁrst shown by Verdu [Verdu 1986] and is covered in a chapter in his book
[Verdu 1998]. Although theoretically optimal, the optimum detector for this channel
is unfortunately not computationally feasible in practical systems [Verdu 1989]. It is
important, however, as an upper bound on performance and as a starting point for
designing reduced complexity decoders. The optimum detector for the synchronous
6
channel computational feasible, however, so we examine it ﬁrst.
The matched ﬁlter assumed knowledge of the signature waveform and its timing
(synchronization). The optimum detector requires this knowledge as well as knowl
edge of the amplitude for each of the users and the total noise level. The optimum
MAP detector is deﬁned as,
ˆ
b
MAP
= arg max
b∈{−1,1}
(P+1)K
P(b[y) (17)
ˆ
b
MAP
= arg max
b∈{−1,1}
(P+1)K
P(b[y)p(y) (18)
ˆ
b
ML
= arg max
b∈{−1,1}
(P+1)K
p(y[b)P(b). (19)
By applying Bayes’ rule and assuming that the vector b ∈ ¦−1, 1¦
(P+1)K)
was
transmitted and that the probability of b is P(b) = 2
−(P+1)K
, ie. all the transmitted
data vectors are independent and equally likely, we can write the optimum maximum
likelihood detector,
ˆ
b
ML
= arg max
b∈{−1,1}
(P+1)K
P(y[b) (20)
where P is the number of symbols in the signature sequence, and K is again the
number if users, and where
ˆ
b is the data vector that maximizes the pdf of received
vector y. This is known as maximum likelihood sequence estimation (MLSE).
OptimumMultiuser Detector for TwoUser Synchronous Chan
nel
If the received signal for the twouser synchronous channel is
y(t) = A
1
x
1
s
1
(t) + A
2
b
2
s
2
(t) + σn(t), t ∈ [0, T], (21)
then the individual minimum probability of error decision for user 1 is obtained
by selecting the value of b
1
∈ −1, +1 that maximizes the a posteriori probability
7
P[b
1
[y(t), 0 ≤ t ≤ T] (22)
and analogously for user 2. We could also ask for a joint minimum probability of
error by requiring that the receiver select the pair (b
1
, b
2
) that maximizes the joint a
posteriori probability
P[(b
1
, b
2
)[y(t), 0 ≤ t ≤ T]. (23)
We can write the single user optimum detector 22 in terms of joint optimum
detector 23
P[b
1
[y(t), 0 ≤ t ≤ T] = P[(b
1
, +1)[y(t), 0 ≤ tlT] + P[(b
1
, −1)[y(t), 0 ≤ tlT]. (24)
Since the transmitted data are equiprobable, the joint MAP estimate is the max
imum likelihood estimate. In practice, the individual and joint optimum decision
strategies will only give diﬀerent decisions in very noisy situations where the prob
ability of error is very large. For the received signal given in equation 21, the joint
optimum decisions for two users are given by
ˆ
b
1
= sgn
A
1
y
1
+
1
2
[A
2
y
2
− A
1
A
2
ρ[ −
1
2
[A
2
y
2
+ A
1
A
2
ρ[
, (25)
and
ˆ
b
2
= sgn
A
2
y
2
+
1
2
[A
1
y
1
− A
1
A
2
ρ[ −
1
2
[A
1
y
1
+ A
1
A
2
ρ[
, (26)
where A
1
, A
2
are the amplitudes of the received signals from users 1 and 2, and
ρ
ij
= R is the signature sequence crosscorrelation matrix given by
ρ
ij
= 's
i
, s
j
` =
T
0
s
i
(t)s
j
(t)dt (27)
which for two users reduces to
8
ρ =
T
0
s
1
(t)s
2
(t)dt. (28)
The optimum decisions for the users taken individually is very similar in form,
ˆ
b
1
= sgn
y
1
−
σ
2
2A
1
log
cosh
A
2
y
2
+A
1
A
2
ρ
σ
2
cosh
A
2
y
2
−A
1
A
2
ρ
σ
2
, (29)
but the absolute value function is replaced by cosh. For large signal to noise
ratios (A
1
, A
2
0), the individual optimum decision converges to the jointly optimum
decision as the cosh function more and more approximates an absolute value function.
Optimum Multiuser Detector for the Asynchronous Channel
Now we turn to the optimum detector in the asynchronous channel. The detector
in the asynchronous channel is computationally complex for a simple reason; making
optimum decisions in the asynchronous channel requires observation of the entire
frame of transmitted bits. Suppose we want to decode a particular bit, b
1
[0]. The
conventional matched ﬁlter or decorrelator detectors as well as the optimum detector
in the synchronous channel can all decode a single bit at a time. This is not the case
in the asynchronous channel. For example, in the twouser case, a given bit such as
b
1
[0] will overlap user’s bits bits b
2
[−1] and b
2
[0] to a greater or lesser degree. To be
optimum, the detector should use information about the values of those interfering
bits by extending the observation interval from [0, T] to [τ − T, τ + T]. However,
once we do this, the new observation interval contains bits b
1
[−1] and b
1
[1] so these
must be included in the estimate by again extending the observation interval. Unless
the entire bit frame is included, the decision on bit b
1
[0] or any other bit will be
suboptimal.
We again examine the two user case to simplify the exposition. We will need the
following deﬁnitions. There are 2M + 1 transmitted bits from each of our 2 users,
b
k+i2
= b
k
[i], k = ¦1, 2¦, i = ¦−M, . . . , M¦. (30)
9
Our objective is to compute a b that maximizes
f(¦y(t), t ∈ [−MT, MT + 2T]¦[b) = exp
−
1
2σ
2
MT+2T
−MT
[y(t) − S
t
(b)]
2
dt
(31)
where
S
t
(b) =
K
¸
k=1
M
¸
i=−M
A
k
b
k
[i]s
k
(t − iT − τ
k
). (32)
Maximizing this only involves maximizing the term
ω(b) = 2
S
t
(b)y(t)dt −
S
2
t
(b)dt, (33)
The observations enter into the (nonlinear) function to be optimized exclusively
via the outputs of matched ﬁlters, so once again, y is a suﬃcient statistic for b.
A detailed exposition is beyond the scope of this review, but suﬃce it to say that
the Viterbi algorithm can be applied to this optimization problem. The intuition is
that decoding each bit only depends on the bits immediately before and after it, so
we can draw a trellis and a forwardbackward type dynamic programming algorithm
can be applied to calculate the maximum likelihood estimates for each bit.
With the maximum likelihood sequence estimation (MLSE) receiver operating in
low noise conditions, the user with the lowest probability of detection error experiences
the same performance as the user in a single user system. The complexity of the
MLSE receiver is not exponential in the length of the spreading code, but it does
scale exponentially O(2
K
) with the number of users K and is classiﬁed as NPhard
[Verdu 1989]. Due to the complexity of the MLSE receiver, a number of reduced
complexity receivers have been developed, which we will examine next.
10
Iterative Multiuser Detection
There have been a variety of suboptimal (but lower complexity) nonlinear detec
tors. Multistage receivers are receivers in which decisions made by the ﬁrst stage are
used for interference cancellation in the second stage. Decision feedback equalizers
(DFE) using this principle have been known for quite some time. Xie et al. also
proposed a sequential decoding scheme based on the original trellis decoder of Verdu
which decoded the MLSE solution in a suboptimal way but with substantially better
performance than a matched ﬁlter.
Following on success of turbo codes and the understanding of their decoding on
probability graphs, there has been much recent interest in designing iterative mul
tiuser receivers following the same principles. Here we discuss a receiver that is
derived from the maximum a posteriori (MAP) criterion for the joint received signal,
but uses only single user decoders. “Iterating” the system is utilized to greatly im
prove performance. I carefully follow the exposition in a paper by Reed et al. found
in the bibliography of this document.
Each user uses a single user turbo code for forward error correction in addition to a
randomly generated signature sequence (spreading code). With randomly generated
spreading codes, performance is on average the same for synchronous or asynchronous
system, given a large number of users. Furthermore, using random codes (which are
not at all guaranteed to be orthogonal) it is theoretically possible to achieve single
user performance.
Giallorenzi et al. [Giallorenzi 1996] formulated an optimal multiuser sequence
estimator for an asynchronous DSCDMA system where each user employs convoluti
nonal error control coding. They found that the complexity per bit of information
using the MLSE solution grows exponentially with the number of users in the system
and the number of states in each user’s encoder. Rather than jointly estimate the
spreading sequence and the error control code, various proposals to factor the graph
into subsystems to reduce the overall complexity of the decoding/demodulation task
while maintaining performance.
11
We describe the trellisbased system proposed by Reed et al. which decomposes
the receiver into a separate equalizer (multiuser detector) and decoder. The multiuser
decoder is derived from a maximum a posteriori (MAP) criterion, that maximizes
the probability of a correct symbol decision. This MAPbased multiuser receiver
is concatenated with a single user softin/softout trellis decoder for the singleuser
turbo code employed by the transmitters.
The System and the Channel
For this discussion, the uplink communication system transmits convolutional coded,
discrete time, perfect square pulses (no pulse shaping or intersymbol interference
(ISI), and has no synchronization errors or multipath. The channel model adds Gaus
sian noise of variance σ
2
with samples taken synchronously at the chip rate.
K users transmit L coded bits d
(k)
t
∈ ¦+1, −1¦, where k ∈ ¦1, . . . , K¦ is the user
number and t ∈ ¦0, . . . L − 1¦ indexes the bits. The spread sequence employed by
user k on bit t consists of N chips denoted by
s
(k)
t
∈ ¦−1/
√
N, . . . , +1/
√
N¦
N
. (34)
The chips of the spreading code are generated randomly and independently for
each user k and for every bit t which is statistically the same as using a pseudorandom
sequence that is much longer than the spreading length N. As can be seen in ﬁgure
01, the channel sums the encoded signals from all of the users and adds Gaussian
noise.
The channel output e
t
at time t can be written as
e
t
= A
t
d
t
+ n
t
C
N
(35)
where
A
t
= (s
1
t
, . . . , s
K
t
) ∈ ¦−1/
√
N, . . . , +1/
√
N¦
N×K
(36)
12
Encoder
b
t
(K)
s
t
(K)
d
t
(K)
Encoder
b
t
(1)
s
t
(1)
d
t
(1)
.
.
.
AWGN
e
t
Matched
Filter 1
Matched
Filter K
Iterative
Receiver/
Decoder
y
t
(1)
y
t
(K)
b
t
(1)
^
b
t
(K)
^
Figure 01: Convolutional coded synchronous multiuser channel
is the bank of spreading codes, one spreading code for each user. The matched
ﬁlter (MF) output y
t
at time t is then
y
t
= A
T
t
A
t
d
t
+A
T
t
n
t
∈ C
K
= H
t
d
t
+ z
t
∈ C
K
(37)
where
d
t
= (d
(1)
t
, . . . , d
(K)
t
)
T
∈ ¦+1, −1¦
K
(38)
is the data vector, H
t
= A
T
t
A
t
∈ R
K×K
is the crosscorrelation matrix of the
spreading sequences, and z
t
and n
t
are the correlated and uncorrelated noise vectors,
respectively.
13
Decomposing the Receiver
The receiver takes the matched ﬁlter channel output and generates the conditional
channel probabilities p(y
t
[d
t
) (multivariate Gaussian conditional probabilities). The
metric generator then calculates the marginal probabilities p(y
t
[d
(k)
t
) for the kth de
coder. The single user softin/softout FEC decoders then generate the a posteriori
coded bit probabilities Pr¦d
(k)
t
= d[y
(k)
¦ for user k for coded block size 0 to L − 1.
The a posteriori coded bit probabilities are then used as a priori information for the
metric generator on the next iteration. This information ﬂow is shown in ﬁgure 02.
The output from the single user’s decoder can be taken as the system’s bit estimates
after a suitable number of iterations. Probabilities related to the coded bits d
(k)
t
are
iterated around the receiver, while the information bits b
(k)
j
are only generated when
a decision by the receiver is ﬁnally required.
Encoder
(K users)
Multiuser
Channel
Likelihood
Calculation
Metric
Generator
K Single
User
Decoders
b
t
d
t
y
t p(y
t
 d
t
)
p(y
t
 d
t
(K)
) Pr(d
t
(K)
=d  y
(K)
)
b
t
^
Figure 02: A decomposition of an iterative convolutional coded multiuser receiver
From the matched ﬁlter, we know that the conditional probability of y
t
is
p(y
t
[d
t
) =
1
(2π)
K
2
[H
t
σ
2
[
1
2
exp¦−
1
2σ
2
y
T
t
H
−1
t
y
t
− 2y
T
t
d
t
+ d
T
t
H
t
d
t
¦ (39)
The MAP decision rule for the metric generator sets
14
ˆ
d
t
= arg max
dt
Pr¦d
t
[y
t
¦ (40)
= arg max
dt
p(y
t
[d
t
)Pr¦d
t
¦. (41)
Since there are K users using binary symbol alphabets, there are 2
K
hypotheses
of the coded bits sent at time t. If each user encodes their coded bit sequence with
a code with memory ν then there will be 2
ν
possible states. When the DS/CDMA
channel and the FEC code are jointly detected, the total complexity will be O(2
K+Kν
).
When we partition the receiver into a separate decoder for the FEC decoder and the
DS/CDMA channel decoder, the complexity is reduced to 2
K
+ 2
ν
.
APP Inputs to the FEC Decoder
Say there are n coded bits d
(k)
t
, . . . , d
(k)
t+n−1
for every information bit b
j
, denoted as
d
(k)
j
. We want to calculate the a posteriori probability
Pr¦d
(k)
t
= d[y
(k)
¦ =
¸
m
¸
d
(k)
j
Pr¦S
j−1
= m
; d
(k)
j
[y
(k)
¦ (42)
where S
j
is the state at time j and m
ranges over all code states. Vector d
(k)
j
is the hypothesized channel bit vector for a particular user k for a particular FEC
code trellis transition at time j, where t ≤ t
≤ t + n − 1. One way that t his can
be calculated is by using the MAP algorithm. The FEC decoder takes as input the
state transition probability.
APP Inputs to the Metric Generator
The a posteriori probabilities p(d
t
= d[y
t
) are the outputs of the FEC decoder. We
assign them as the apriori input probabilities to the metric generator.
Pr¦d
(k)
t
= Pr¦d
(k)
t
[y
(k)
¦. (43)
15
This is okay since there are no correlations between the single user convolutional
codes and the spreading codes. On the ﬁrst iteration, these probabilities are set to
1
2
for all k.
Computational Complexity Reduction
The computational complexity of this iterative receiver includes exponential com
plexity in the number of users just like the optimum decoder. The complexity is
dominated by a 2
K
term in the likelihood generation and the metric generation.
First we try to reduce the complexity of the likelihood generator. Since the ﬁrst
term in the exponential of equation 39 is independent of the variable d we can simplify
it to
p(y
t
[d
t
) =
h
exp¦−
1
2σ
2
2y
T
t
d
t
− d
T
t
H
t
d
t
¦. (44)
Even so there are 2
K
hypotheses that need to be tested by the likelihood generator
and these likelihoods are then passed to the metric generator. This is the source of
the complexity in these modules. Further methods, however, can be used to reduce
the complexity, for example, by only computing an update of the least signiﬁcant bit
to the likelihoods in each iteration. A full discussion of such methods are beyond the
scope of this review which only aims to bring together ideas from turbo decoding,
factor graphs and message passing with the problem of multiuser detection.
When comparing this iterated multiuser detector against the performance of a
decorrelator detector concatenated with the same turbo FEC that was used in the
iterative decoder, we see that the iterative decoder performs at least 3dB better even
with the complexity reduction techniques.
16
Bibliography
[Abend 1970] Abend, K. and Fritchman, B. D. (May 1970). Statistical detection for
communication channels with intersymbol interference. Proc. IEEE, vol. 58, pp.
779–785
[Forney 2001] Forney, G.D.(Feb. 2001). Codes on Graphs: Normal Realizations.
IEEE Trans. Inform. Theory, vol. 47, pp. 520–548
[Gershenfeld 1995] Neil Gershenfeld and Geoﬀ Grinstein (1995). Entrainment and
Communication with Dissipative Pseudorandom Dynamics. Physical Review Let
ters, 74, pp. 5024
[Loeliger 2001] Frank R. Kschischang, Brendan J. Frey and HansAndrea Loeliger
(Feb. 2001). Factor graphs and the sumproduct algorithm. IEEE Transactions on
Information Theory, 47:2, pp. 498–519
[Lustenberger ] Lustenberger, Felix (Nov. 2000) Doctoral Dissertation: On the De
sign of Analog VLSI Iterative Decoders Zurich, Switzerland: Swiss Federal Institute
of Technology (ETH).
[Giallorenzi 1996] T. R. Giallorenzi and S.G. Wilson (Sept. 1996). Suboptimum mul
tiuser receivers for convolutionally coded asynchronous DSCDMA systems. IEEE
Transactions on Communications, 44, pp. 1183–1196
[Rooyen 2000] P. v. Rooyen, M. Lotter, D. v. Wyk (2000). SpaceTime Processing
for CDMA Mobile Communications. Norwell, MA: Kluwer Academic Publishers.
17
[Verdu 1989] Verdu, Sergio.(Jan. 1989). Computational Complexity of Optimum
Multiuser Detection. Algorithmica, 4, pp. 303–312
[Verdu 1986] Verdu, Sergio.(Jan. 1986). Minimum probability of error for asyn
chronous Gaussian multiple access channels. IEEE Transactions on Information
Theory, 32, pp. 85–96
[Verdu 1998] Verdu, Sergio.(1998). Multiuser Detection. Cambridge, UK: Cambridge
University Press.
[Viterbi 1995] Viterbi, A.J.(1995). CDMA, Principles of Spread Spectrum Commu
nication. Reading, MA: AddisonWesley Longman Inc.
18
. 1. We can use the suﬃcient statistic
y(t)xi (t)dt.
(6)
In general. the conditional distribution p(yg(y)) does not depend on θ. t ∈ [0. we can write the received signal as 2
. g(y) is a suﬃcient statistic for θ if given the observations y. the noise n is white and Gaussian. xm are linearly independent. to make an optimal decision if x1 . In a multiuser channel. As long as the noise is uncorrelated.
y(t)xi (t)dt −
1 2
xi (t)2 dt <>
(5)
This last relation states that to minimize the chance of a wrong decision as to which x was actually sent. The received signal is
y(t) = Axs(t) + σn(t). T ]. This linear detector is known as a matched ﬁlter and in the single user environment it is optimal in the sense that the SNR is maximized. We can use a correlator with a model h(t) of the signature waveform s(t) to make an estimate 1 2 xi (t)2 dt
x = sgn ˆ
h(t)y(t)dt −
(8)
of the correct transmitted symbol x.−
1 2σ 2
[y(t) − xi (t)]2 dt <> − [y(t) − xi (t)]2 dt <>
1 2σ 2
[y(t) − xj (t)]2 dt.
(7)
where the deterministic signature sequence (spreading code) s has unit energy. . this will produce the most accurate result if h is a (nonzero) multiple of s. We can apply the above argument to the single user version of the CDMA channel. and the transmitted symbol b ∈ −1. In other words. we must choose the x with the minimum mean squared distance to y. . y(t)xj (t)dt − 1 2 xj (t)2 dt.
(3) (4)
[y(t) − xj (t)]2 dt. Another way to say this is that the matched ﬁlter yields the maximumlikelihood (ML) detector for the singleuser channel [?]. . g(y) contains all of the information in y necessary to infer θ.
a Kuser orthogonal CDMA system employing antipodal modulation at the rate of R bits per second requires bandwidth approximately equal to 1 B = RK. Synchronization in multiuser detectors (called acquisition and tracking) will not be discussed in this chapter. “how many mutually orthogonal signals with (approximate) duration T and (approximate) bandwidth B can be constructed? In fact. T ] or outside the band [−B. then the matched ﬁlter is optimal and the results are the same as for the single user problem. but unless BT is very small. 2
(10)
Nonorthogonal Spreading Sequences
However. B] does not exceed a bound . the performance of the matched ﬁlter receiver will be degraded in the presence of nonorthogonal interferers. No explicit answer for the number of orthogonal signals in terms of B. This still requires careful selection of the signature waveforms so that their crosscorrelations are fairly low (compared to the signature waveform energies si 3
2
=
. but we still may be able to correctly demodulate the signals from each user if the interference is bounded.K
Y=
i=1
Xi si + W
(9)
and we can use a bank of matched ﬁlters to demodulate each independent user. so instead we ask that the amount of signal energy that lays outside the time interval [0. Therefore. In order to do this each matched ﬁlter must either be synchronized to the bit epochs of its corresponding transmitter or we must oversample the received signal and use an asynchronous detector architecture. T and is known. For example. we need not always enforce the strict condition that the signals be orthogonal in CDMA. An important question is. If the matched ﬁlters are perfectly synchronized and the signature sequences sk for all the k users are all orthogonal to one another (linearly independent). no signal is strictly timelimited or bandlimited. the answer is essentially 2BT .
• Channel sharing experiences graceful degradation. decreased output power. however. which is a very diﬃcult control problem in a real world channel due to realvalued multipath time delays. Furthermore. take into account the structure of the multiaccess interference (MAI). it is possible to trade oﬀ reception quality for increased capacity.si . it is possible to design a system with increased spectral eﬃciency. si ) [Abend 1970]. by designing receiver demodulation schemes that unlike the matched ﬁlter. • The number of signature users is no longer constrained to twice the durationbandwidth product of the signature waveforms. Even if global symbol and/or spreading sequence synchronization were possible. Therefore. the simple matched ﬁlter is no longer optimal (even in the presence of white Gaussian noise). removing the restriction of orthogonal signature waveforms has several major beneﬁts that make CDMA attractive for multiuser communications systems:
• The users can be asynchronous and yet “quasiorthogonality” can be maintained by adequate design of the signature waveforms. 4
. For example it suﬀers from the nearfar problem: any interferer that is suﬃciently powerful at the receiver causes arbitrarily high performance degradation.
With nonorthogonal CDMA. since the output of a bank of matched ﬁlters provides a minimal suﬃcient statistic for detection [Verdu 1986]. More to the point. The matched ﬁlter still plays an important role in multiuser detection. maintaining strict orthogonality involves maintaining strict synchronization among all the users of the system. unlike orthogonal multiaccess. Reliability depends on the number of simultaneous users rather than on the (much larger) number of potential users. and robustness against imbalances in the received powers of various users.
2 . it uses information from all of the other users to remove interference. XK ]T and S = [s1 . Equation 9 can be written in matrix form as
Y = SX + W.Decorrelator
The decorrelator. sk ]T is the N × K matrix of signature sequences.N s2. .2 . . .. is a linear multiuser detector. . .N
and extended to multiple users it takes the form 5
. but unlike the matched ﬁlter. For one user S would look like this. . . The decorrelator inverts the channel leaving the received signal without interference but by doing so also increases the noise.1 s2. sTu . s1.
sTu . The advantage of the decorrelator is that no knowledge of the received power is necessary and its performance is independent of the power of interfering users so that it solves the nearfar problem.2 .N s1. . s1. s2.
.1
(12)
.1 sTu . but here we consider only the synchronous case as the generalization to the asynchronous case is relatively straightforward. .
(11)
where X = [X1 . like the matched ﬁlter. . Both synchronous and asynchronous decorrelators have been considered.
. K s1 2.
(13)
. sK 2.N . The optimum detector for the synchronous 6
.
(16)
The Optimum Multiuser Detector (Nonlinear)
The optimum receiver for a DS/CDMA asynchronous Gaussian multiple access channel was ﬁrst shown by Verdu [Verdu 1986] and is covered in a chapter in his book [Verdu 1998]. 1 s1.2 2. .
A bank of matched ﬁlters would mean ﬁltering Y by multiplying it by S T yielding.2 .
R = S T SX + S T W If however. .1 s1 . . we also multiply by (S T S)−1 . KN is KN = (S T S)−1 σ 2 . 1 s1.1 sK 1. sK 2.. . . however. . . . . .2 . This is called the decorrelator. It is important. as an upper bound on performance and as a starting point for designing reduced complexity decoders. . the optimum detector for this channel is unfortunately not computationally feasible in practical systems [Verdu 1989].1
.2 . Although theoretically optimal.N s1 1. .N . The covariance of N . sK 1. .N s1 . . . sK 1. . . s2.1 2. . ... then we get
(14)
U = (S T S)−1 R = X + (S T S)−1 S T W
(15)
We deﬁne the overall linear ﬁlter N = (S T S)−1 S T . .
ˆ bM AP = arg ˆ bM AP = arg ˆ bM L = arg
b∈{−1. however.
(17) (18) (19)
max
max
By applying Bayes’ rule and assuming that the vector b ∈ {−1. and K is again the ˆ number if users. T ]. 1}(P +1)K) was transmitted and that the probability of b is P (b) = 2−(P +1)K .
Optimum Multiuser Detector for TwoUser Synchronous Channel
If the received signal for the twouser synchronous channel is
y(t) = A1 x1 s1 (t) + A2 b2 s2 (t) + σn(t). The optimum MAP detector is deﬁned as. The optimum detector requires this knowledge as well as knowledge of the amplitude for each of the users and the total noise level.1}(P +1)K b∈{−1.
(21)
then the individual minimum probability of error decision for user 1 is obtained by selecting the value of b1 ∈ −1.channel computational feasible. all the transmitted data vectors are independent and equally likely.1}(P +1)K
max
P (by) P (by)p(y) p(yb)P (b). This is known as maximum likelihood sequence estimation (MLSE). The matched ﬁlter assumed knowledge of the signature waveform and its timing (synchronization).1}(P +1)K
max
P (yb)
(20)
where P is the number of symbols in the signature sequence. so we examine it ﬁrst. and where b is the data vector that maximizes the pdf of received vector y. ie. t ∈ [0. +1 that maximizes the a posteriori probability 7
. we can write the optimum maximum likelihood detector.1}(P +1)K b∈{−1. ˆ bM L = arg
b∈{−1.
In practice. the joint MAP estimate is the maximum likelihood estimate. 0 ≤ tlT ].
(23)
We can write the single user optimum detector 22 in terms of joint optimum detector 23
P [b1 y(t).P [b1 y(t). the individual and joint optimum decision strategies will only give diﬀerent decisions in very noisy situations where the probability of error is very large. 0 ≤ t ≤ T ]. 0 ≤ tlT ] + P [(b1 . We could also ask for a joint minimum probability of error by requiring that the receiver select the pair (b1 . 0 ≤ t ≤ T ]
(22)
and analogously for user 2. 0 ≤ t ≤ T ] = P [(b1 .
(24)
Since the transmitted data are equiprobable. b 2 2 and ˆ2 = sgn A2 y2 + 1 A1 y1 − A1 A2 ρ − 1 A1 y1 + A1 A2 ρ . sj =
0
si (t)sj (t)dt
(27)
which for two users reduces to 8
. b2 ) that maximizes the joint a posteriori probability
P [(b1 . −1)y(t). A2 are the amplitudes of the received signals from users 1 and 2. For the received signal given in equation 21. and ρij = R is the signature sequence crosscorrelation matrix given by
T
ρij = si . +1)y(t). b2 )y(t). b 2 2
(25)
(26)
where A1 . the joint optimum decisions for two users are given by ˆ1 = sgn A1 y1 + 1 A2 y2 − A1 A2 ρ − 1 A2 y2 + A1 A2 ρ .
For large signal to noise ratios (A1 . Unless the entire bit frame is included. b1 [0]. The conventional matched ﬁlter or decorrelator detectors as well as the optimum detector in the synchronous channel can all decode a single bit at a time. A2 0). 9
(30)
. making optimum decisions in the asynchronous channel requires observation of the entire frame of transmitted bits.
(28)
The optimum decisions for the users taken individually is very similar in form. i = {−M. We will need the following deﬁnitions. There are 2M + 1 transmitted bits from each of our 2 users. For example. T ] to [τ − T. the detector should use information about the values of those interfering bits by extending the observation interval from [0. . the individual optimum decision converges to the jointly optimum
decision as the cosh function more and more approximates an absolute value function. The detector in the asynchronous channel is computationally complex for a simple reason. This is not the case in the asynchronous channel.
(29)
but the absolute value function is replaced by cosh. 2}. once we do this.
bk+i2 = bk [i]. Suppose we want to decode a particular bit. the decision on bit b1 [0] or any other bit will be suboptimal. However. To be optimum. a given bit such as b1 [0] will overlap user’s bits bits b2 [−1] and b2 [0] to a greater or lesser degree. τ + T ]. k = {1. .T
ρ=
0
s1 (t)s2 (t)dt. We again examine the two user case to simplify the exposition. in the twouser case. .
Optimum Multiuser Detector for the Asynchronous Channel
Now we turn to the optimum detector in the asynchronous channel. .
2 ˆ1 = sgn y1 − σ log cosh b 2A1 cosh A2 y2 +A1 A2 ρ σ2 A2 y2 −A1 A2 ρ σ2
. the new observation interval contains bits b1 [−1] and b1 [1] so these must be included in the estimate by again extending the observation interval. M }.
so we can draw a trellis and a forwardbackward type dynamic programming algorithm can be applied to calculate the maximum likelihood estimates for each bit. which we will examine next. y is a suﬃcient statistic for b.
ω(b) = 2
St (b)y(t)dt −
(33)
The observations enter into the (nonlinear) function to be optimized exclusively via the outputs of matched ﬁlters. The complexity of the MLSE receiver is not exponential in the length of the spreading code. but it does scale exponentially O(2K ) with the number of users K and is classiﬁed as NPhard [Verdu 1989]. so once again.Our objective is to compute a b that maximizes
f ({y(t). M T + 2T ]}b) = exp − where
K M
1 2σ 2
M T +2T −M T
[y(t) − St (b)]2 dt
(31)
St (b) =
k=1 i=−M
Ak bk [i]sk (t − iT − τk ).
(32)
Maximizing this only involves maximizing the term St2 (b)dt. With the maximum likelihood sequence estimation (MLSE) receiver operating in low noise conditions. t ∈ [−M T. the user with the lowest probability of detection error experiences the same performance as the user in a single user system. a number of reduced complexity receivers have been developed. A detailed exposition is beyond the scope of this review.
10
. Due to the complexity of the MLSE receiver. The intuition is that decoding each bit only depends on the bits immediately before and after it. but suﬃce it to say that the Viterbi algorithm can be applied to this optimization problem.
Decision feedback equalizers (DFE) using this principle have been known for quite some time. Rather than jointly estimate the spreading sequence and the error control code. various proposals to factor the graph into subsystems to reduce the overall complexity of the decoding/demodulation task while maintaining performance. They found that the complexity per bit of information using the MLSE solution grows exponentially with the number of users in the system and the number of states in each user’s encoder. Xie et al. but uses only single user decoders. I carefully follow the exposition in a paper by Reed et al. Here we discuss a receiver that is derived from the maximum a posteriori (MAP) criterion for the joint received signal. “Iterating” the system is utilized to greatly improve performance. With randomly generated spreading codes. Giallorenzi et al. also proposed a sequential decoding scheme based on the original trellis decoder of Verdu which decoded the MLSE solution in a suboptimal way but with substantially better performance than a matched ﬁlter. performance is on average the same for synchronous or asynchronous system. Following on success of turbo codes and the understanding of their decoding on probability graphs. there has been much recent interest in designing iterative multiuser receivers following the same principles. 11
. [Giallorenzi 1996] formulated an optimal multiuser sequence estimator for an asynchronous DSCDMA system where each user employs convolutinonal error control coding. Multistage receivers are receivers in which decisions made by the ﬁrst stage are used for interference cancellation in the second stage.Iterative Multiuser Detection
There have been a variety of suboptimal (but lower complexity) nonlinear detectors. Furthermore. Each user uses a single user turbo code for forward error correction in addition to a randomly generated signature sequence (spreading code). given a large number of users. found in the bibliography of this document. using random codes (which are not at all guaranteed to be orthogonal) it is theoretically possible to achieve singleuser performance.
. K users transmit L coded bits dt
(k)
∈ {+1. . L − 1} indexes the bits. perfect square pulses (no pulse shaping or intersymbol interference (ISI). the channel sums the encoded signals from all of the users and adds Gaussian noise. . This MAPbased multiuser receiver is concatenated with a single user softin/softout trellis decoder for the singleuser turbo code employed by the transmitters. . . −1}. The spread sequence employed by user k on bit t consists of N chips denoted by
(k)
st
√ √ ∈ {−1/ N . .
The System and the Channel
For this discussion. +1/ N }N ×K t t 12
(35)
(36)
. The channel model adds Gaussian noise of variance σ 2 with samples taken synchronously at the chip rate. The multiuser decoder is derived from a maximum a posteriori (MAP) criterion. . that maximizes the probability of a correct symbol decision. . The channel output et at time t can be written as et = At dt + nt CN where √ √ At = (s1 . which decomposes the receiver into a separate equalizer (multiuser detector) and decoder.We describe the trellisbased system proposed by Reed et al. . and has no synchronization errors or multipath. +1/ N }N . the uplink communication system transmits convolutional coded. . As can be seen in ﬁgure 01. . . . . where k ∈ {1. . . . . . sK ) ∈ {−1/ N . K} is the user
number and t ∈ {0. discrete time.
(34)
The chips of the spreading code are generated randomly and independently for each user k and for every bit t which is statistically the same as using a pseudorandom sequence that is much longer than the spreading length N .
. . and zt and nt are the correlated and uncorrelated noise vectors. . . 13
.st(K)
bt(K)
Encoder
dt(K)
Matched Filter 1
yt(1)
^ (1) bt
AWGN . The matched ﬁlter (MF) output yt at time t is then
yt = AT At dt + AT nt ∈ CK t t = Ht dt + zt ∈ CK (37)
where
dt = (dt . . one spreading code for each user. −1}K
(1)
(K)
(38)
is the data vector. respectively. Ht = AT At ∈ RK×K is the crosscorrelation matrix of the t spreading sequences. dt )T ∈ {+1.
Iterative Receiver/ Decoder et
st(1)
bt(1)
Encoder
dt(1)
Matched Filter K
yt(K)
^ (K) bt
Figure 01: Convolutional coded synchronous multiuser channel
is the bank of spreading codes. .
Decomposing the Receiver
The receiver takes the matched ﬁlter channel output and generates the conditional channel probabilities p(yt dt ) (multivariate Gaussian conditional probabilities). Probabilities related to the coded bits dt iterated around the receiver. This information ﬂow is shown in ﬁgure 02. The single user softin/softout FEC decoders then generate the a posteriori coded bit probabilities P r{dt
(k) (k)
= dy (k) } for user k for coded block size 0 to L − 1. The output from the single user’s decoder can be taken as the system’s bit estimates after a suitable number of iterations.
bt Encoder (K users) dt yt Likelihood Calculation p(yt  dt) Metric Generator
(k) (k)
are
are only generated when
Multiuser Channel
Pr(dt(K) =d  y(K))
p(yt  dt(K))
^ bt
K Single User Decoders
Figure 02: A decomposition of an iterative convolutional coded multiuser receiver
From the matched ﬁlter. The metric generator then calculates the marginal probabilities p(yt dt ) for the kth decoder. while the information bits bj a decision by the receiver is ﬁnally required. we know that the conditional probability of yt is 1 (2π) Ht σ 2 
K 2 1 2
p(yt dt ) =
exp{−
1 T y T H −1 yt − 2yt dt + dT Ht dt } t 2σ 2 t t
(39)
The MAP decision rule for the metric generator sets 14
.
The a posteriori coded bit probabilities are then used as a priori information for the metric generator on the next iteration.
dj y (k) }
(k)
(42)
where Sj is the state at time j and m ranges over all code states. the complexity is reduced to 2K + 2ν . the total complexity will be O(2K+Kν ). The FEC decoder takes as input the state transition probability.
dt
Since there are K users using binary symbol alphabets. dt+n−1 for every information bit bj . We want to calculate the a posteriori probability P r{dt
(k) (k) (k) (k)
= dy (k) } =
m
(k) dj
P r{Sj−1 = m . . . . We assign them as the apriori input probabilities to the metric generator. When the DS/CDMA channel and the FEC code are jointly detected. . there are 2K hypotheses of the coded bits sent at time t.
APP Inputs to the Metric Generator
The a posteriori probabilities p(dt = dyt ) are the outputs of the FEC decoder. Vector dj
(k)
is the hypothesized channel bit vector for a particular user k for a particular FEC code trellis transition at time j.
(k) (k)
P r{dt
= P r{dt y (k) }. If each user encodes their coded bit sequence with a code with memory ν then there will be 2ν possible states.
APP Inputs to the FEC Decoder
Say there are n coded bits dt .ˆ dt = arg max P r{dt yt }
dt
(40) (41)
= arg max p(yt dt )P r{dt }. When we partition the receiver into a separate decoder for the FEC decoder and the DS/CDMA channel decoder. where t ≤ t ≤ t + n − 1. 15
(43)
. denoted as dj . One way that t his can be calculated is by using the MAP algorithm.
by only computing an update of the least signiﬁcant bit to the likelihoods in each iteration. Since the ﬁrst term in the exponential of equation 39 is independent of the variable d we can simplify it to 1 T 2yt dt − dT Ht dt }. we see that the iterative decoder performs at least 3dB better even with the complexity reduction techniques.
1 2
Computational Complexity Reduction
The computational complexity of this iterative receiver includes exponential complexity in the number of users just like the optimum decoder. Further methods.This is okay since there are no correlations between the single user convolutional codes and the spreading codes. however. t 2 2σ
p(yt dt ) =h exp{−
(44)
Even so there are 2K hypotheses that need to be tested by the likelihood generator and these likelihoods are then passed to the metric generator. factor graphs and message passing with the problem of multiuser detection. On the ﬁrst iteration. these probabilities are set to for all k.
16
. This is the source of the complexity in these modules. First we try to reduce the complexity of the likelihood generator. for example. A full discussion of such methods are beyond the scope of this review which only aims to bring together ideas from turbo decoding. can be used to reduce the complexity. The complexity is dominated by a 2K term in the likelihood generation and the metric generation. When comparing this iterated multiuser detector against the performance of a decorrelator detector concatenated with the same turbo FEC that was used in the iterative decoder.
Felix (Nov. Physical Review Letters. Suboptimum multiuser receivers for convolutionally coded asynchronous DSCDMA systems. 498–519 [Lustenberger ] Lustenberger. 44. 779–785 [Forney 2001] Forney.(Feb. 58. pp. Wyk (2000). Factor graphs and the sumproduct algorithm. pp. 1996). Giallorenzi and S. (May 1970). Entrainment and Communication with Dissipative Pseudorandom Dynamics. G. 520–548 [Gershenfeld 1995] Neil Gershenfeld and Geoﬀ Grinstein (1995). pp. IEEE Transactions on Communications. Brendan J. B. Proc.G. 2001). vol. 2000) Doctoral Dissertation: On the Design of Analog VLSI Iterative Decoders Zurich. Theory. D. IEEE. 1183–1196 [Rooyen 2000] P. K. 74. v. 17
. Kschischang. Wilson (Sept. M. Rooyen. Statistical detection for communication channels with intersymbol interference.D. Frey and HansAndrea Loeliger (Feb. [Giallorenzi 1996] T. pp. Lotter. 47:2. Norwell.Bibliography
[Abend 1970] Abend. Codes on Graphs: Normal Realizations. v. SpaceTime Processing for CDMA Mobile Communications. vol. pp. Switzerland: Swiss Federal Institute of Technology (ETH). MA: Kluwer Academic Publishers. 5024 [Loeliger 2001] Frank R. D. IEEE Trans. 47. IEEE Transactions on Information Theory. R. Inform. 2001). and Fritchman.
CDMA. 4. 303–312 [Verdu 1986] Verdu. MA: AddisonWesley Longman Inc. Sergio. 1986). 1989). 32. A. Cambridge.(Jan. Minimum probability of error for asynchronous Gaussian multiple access channels.
18
. Principles of Spread Spectrum Communication. [Viterbi 1995] Viterbi.(Jan.[Verdu 1989] Verdu. Algorithmica. 85–96 [Verdu 1998] Verdu. UK: Cambridge University Press. Reading. pp. pp. Computational Complexity of Optimum Multiuser Detection.(1998). Sergio. Sergio.(1995). IEEE Transactions on Information Theory. Multiuser Detection.J.