You are on page 1of 117

HELSINKI UNIVERSITY OF TECHNOLOGY

Department of Electrical and Communication Engineering


Hong Zhang

WCDMA Simulator with Smart Antennas
Thesis submitted for the fulfilment of the requirements for the degree of
Master of Science in Engineering, Espoo 18 November, 2001
Supervisor: Professor Seppo J. Halme
Instructor: M. Sc. Adrian Boukalov
HELSINKI UNIVERSITY OF TECHNOLOGY ABSTRACT OF THE
MASTERS THESIS
Author: Hong Zhang
Name of the thesis: WCDMA Simulator with Smart Antennas
Date: 16.10.2001 Number of pages 78+18
Department: Electrical and Communication Engineering
Professorship: Communication Engineering
Supervisor: Professor Seppo J. Halme
Instructor: M. Sc. Adrian Boukalov
The goal for the next generation of mobile communications system is to seamlessly
integrate a wide variety of communication services such as high speed data, video and
multimedia traffic as well as voice signals. WCDMA as the radio access technology for
the 3G has many advantages such as highly efficient spectrum utilisation and variable user
data rates. The multipath signals can be used as a diversity to improve the system
performance. All users can share the same frequency when the signals are transmitted
through mobile radio channel. This also creates the question, multiple access interference.
So, the system is an interfered limited system. Multiuser detection and smart antenna
technologies are very important for the system implementation. Simulation is an important
tool to get insight into the problem
In this thesis a signal level simulator in uplink is implemented according to the physical
layer specification of the IMT-2000 WCDMA system. The analytical WCDMA system
through the use of linear algebra techniques is shown. Channel model is built on the
classical understanding of fading, Doppler spread, delay spread, and incorporate
additional concepts such as direction of arrival and antenna array geometry. PN sequence
properties and generation are studied. Spreading and scrambling techniques are present.
RAKE receiver and multiuser detection are described, and spatial processing in smart
antenna are reviewed. A simulation tool in Matlab is developed in this work.
In simulation, the data is spread, scrambled and transmitted through a time varying radio
channel. The transmitted signal is corrupted by multiple access interference, and is further
corrupted by AWGN at the front end of the receiver. In the receiver, despreading and
descrambling, RAKE receiver, smart antenna and multiuser detection are employed to
improve the system performance. We investigate the bit error rate at uplink
communication. The simulation indicates that spreading, smart antenna, RAKE receiver
and multiuser detection are important techniques to improve performance of WCDMA
system. Performance improvement due to processing gain, PN sequence, RAKE receiver,
smart antenna and multiuser detection are shown and compared with theory respectively.
The simulator developed can be an invaluable tool for investigating the design and
implementation of WCDMA system.
Keywords: PN sequence, spreading, scrambling, processing gain, RAKE receiver,
multiple access interference, multiuser detection, smart antenna.
i
Acknowledgements
Many individuals have profoundly influenced me during my graduate studies at
HUT and UCLA (University of California, Los Angeles), and it is a pleasure to
acknowledge their guidance and support.
I would like to begin by expressing my sincere thanks to my supervisor Professor
Seppo J. Halme to support me to work on this thesis and taking the time to read and
critique my thesis. Professor Halme has also provided me with generous financial support
in terms of research assistantship.
I am deeply grateful to M.Sc. Adrian Boukalov, my instructor, for the opportunity
to make my masters thesis on this interesting topic and his freely shared knowledge as
well as his more-than-helpful pieces of advice. I truly appreciate to him for being such a
good listener on those many occasions when I just need to discuss those technical
questions, and these discussions helped me to redefine my understanding of this field.
Outside the Communication Laboratory of HUT, I would particularly like to thank
Professor Rajive Bagrodia, Dr. Mineo Takai, Dr. Jay Martin and M. Sc. Sonia Furman in
UCLA Parallel Computing Laboratory. The stimulating, friendly discussions that we had
during Wednesday and Friday afternoon group meetings helped me shape my
understanding of the field during my stay at UCLA. I have very fond memories of our
lively discussions and the good time we shared.
Finally, I dedicate this work to my friends, my parents, my family and my younger
brother who have provided support and encouragement during my academic studies
18 November, 2001
Espoo, Finland
Hong Zhang
i
Acknowledgements
List
List
Department: Electrical and Communication Engineering............................i
Instructor: M. Sc. Adrian Boukalov...........................................................i
1Introduction to WCDMA..............................................................1
1.1Introduction..................................................................................................................1
1.2Applicable Techniques to enhance System Performance.........................................2
1.1.1 Spreading ...............................................................................................................2
1.1.2 Multipath Diversity ................................................................................................2
1.1.3 Multiuser Detection ................................................................................................3
1.1.4 Smart Antenna ........................................................................................................3
1.3Outline of This Thesis .................................................................................................4
2Analytical WCDMA System Model..............................................5
2.1Introduction..................................................................................................................5
2.2CDMA System Model for the Uplink.........................................................................6
2.3Mobile Radio Channel Model ....................................................................................8
2.4Discrete Time Base Band Uplink Model .................................................................11
1.1.5 Synchronous CDMA ....................................................................................11
1.1.6 Asynchronous CDMA...........................................................................................16
2.4.1.1Single Path Model.......................................................................................................................16
2.4.1.2Multipath Model .........................................................................................................................18
2.4.1.3Multiple Antenna Model ...........................................................................................................22
2.5Conclusion...................................................................................................................29
Spreading in WCDMA..................................................................30
2.6Introduction ...............................................................................................................30
2.7Properties of PN Sequence.........................................................................................31
2.8Spreading and Scrambling in the Uplink of WCDMA ........................................32
1.1.7 Walsh-Hadamard codes and Spreading................................................................34
1.1.8 Gold Codes and Scrambing...................................................................................35
2.9Conclusion ..................................................................................................................40
3RAKE Receiver and Multiuser Detection..................................42
3.1Introduction ...............................................................................................................42
3.2System Model .............................................................................................................43
3.3The RAKE Receiver ..................................................................................................46
3.4Multiuser Detection ...................................................................................................51
1.1.9 Input Signal Modelling.........................................................................................52
1.1.10 Optimal Detection...............................................................................................54
1.1.11 Suboptimal Detection..........................................................................................55
3.4.1.1Decorrelating Detector ...............................................................................................................55
3.4.1.2Linear Minimum Mean Square Error (MMSE)..........................................................................58
3.4.1.3Adaptive MMSE algorithm-Recursive Least Squares Algorithm with adaptive memory..........60
iii
List
3.5Conclusion...................................................................................................................60
4Smart Antenna in WCDMA........................................................62
4.1Types of Smart Antenna ...........................................................................................62
4.2Signal Modeling .........................................................................................................63
4.3Beamforming Schemes...............................................................................................66
1.1.12 Conventional beamforming ................................................................................66
Array signal vector due to the look direction signal becomes ....................................67
1.1.13 Optimum beamforming ......................................................................................67
1.1.14 Adaptive beamforming ......................................................................................69
4.4Conclusion ..................................................................................................................72
5Simulation.....................................................................................74
5.1System Setup...............................................................................................................74
5.2Channel .......................................................................................................................78
5.3System Performance ..................................................................................................78
1.1.15 Performance without RAKE receiver and with RAKE receiver........................78
1.1.16 Performance of 1-D RAKE Receiver with EGC or Selection Combining.........80
1.1.17 Performance of 1-D RAKE receiver with Decorrelating Detector and MMSE. 80
1.1.18 Performance with PN sequence and Random Sequence ...................................81
1.1.19 Performance with Processing Gain ....................................................................82
1.1.20 Performance with adaptive MUD- RLS algorithm with adaptive memory........82
1.1.21 Performance with Smart Antenna.......................................................................83
5.4Conclusion...................................................................................................................86
6Conclusion.....................................................................................87
6.1Summary of Research ...............................................................................................87
6.2Future Work ..............................................................................................................88
References.......................................................................................89
Appendix ........................................................................................93
iv
Abbreviations
Abbreviations
3G Third Generation
DFE Decision Feedback Equalizers
DOA Direction of Arrival
DPCCH Dedicated Physical Control Channel
DPDCH Dedicated Physical Data Channel
DS-CDMA Direct-Sequence Code Division Multiple Access
EGC Equal Gain Combing
ETSI European Telecommunications Standards Institute
FDD Frequency Division Duplexing
GWSSUS Gaussian Wide Sense Stationary Uncorrelated Scatters
HCS Hierarchical Cell Structure
HPSK Hybrid Phase Shift Keying
ISI Intersymbol Interference
LCMV Linearly Constrained Minimum Variance
LFSR Linear Feedback Shift Register
LMMSE Linear Minimum Mean Square Error
LS Least Square
MAI Multiple Access Interference
ML Maximum- Likehood
MMSE Minimum Mean Square Error
MRC Maximal Ratio Combining
MUD Multiuser Detection
OVSF Orthogonal Variable Spreading Factor
PG Processing Gain
PIC Parallel Interference Cancellation
RLS Recursive Least Squares
SF Spreading Factor
SIC Successive Interference Cancellation
SIMO Single Input Multiple Output
SINR Singla to Interference plus Noise Ratio
SNR Signal to Noise Ratio
ULA Uniform Linear Array
UTRA UMTS Terrestrial Radio Access
WLS Weighted Least Square
v
List of Symbols
List of Symbols
(.)
*
complex conjugate
* convolution
(.)
H
complex conjugate transposition
(.)
T
transposition
Kronecker tensor product
J(w
i
) the gradient of a function J(w)
a
i
(t) path attenuation
) , (
i i
a
the unit vector in direction (
i
,
i
),
B the number of antenna elements
C diagonal matrix containing the physical channel parameters .
C
1,n
C
2,n
gold sequence
C
sc
scrambling code
c the speed of propagation of the plane wavefront
c
k,m
(i),
) (
,
i c
m k complex channel coefficients of multipath m for symbol i transmitted by
user k
d the distance between the antenna elements
d the data symbol vector
l
d

the position vector of the n


th
element
d
k(i)
symbol i transmitted by user k
h (t, , ) channel impulse response
H
M
Walsh code function
J(w) the cost function
K the number of active users
L the number of symbols transmitted of each active user
M the number of multipath signals

m
i
(t) the complex modulating function
N processing gain
n noise vector
P the length of the pulse shaping filter impulse response
p the pulse shaping filter impulse response
Q sampling factor of pulse shaping filter
r received signal vector

the instantaneous signal to noise ratio


S the matrix of transmitted spreading waveform
SF spreading factor
vi
List of Symbols
s the steering vector
s
k
(i) spreading sequence for symbol i for user k
) ( i s
k
the kth users signature waveform, pulse shape filtered spreading
sequence of length NQ+P
the average signal to noise ratio
Tc chip interval

j
,
i
path delay
V() antenna array response vector
w
i
the weights for each antenna element
x
k
(i). zero-padded and pulse shape filtered spreading sequencee
y
MF
the output after the received signal despreading

j
(t) the complex amplitude of multipath signal j

j
Direction Of Arrival of multipath signal j

k,m
. angle of arrival from the multipath component m of user k
RF waveform length
the phase difference between the received signal as adjacent antenna
elements

k,m
the phase difference between the received signal as adjacent antenna
elements from the multipath component m of user k

i
(t)

path phase
vii
1 Introduction to WCDMA
1 Introduction to WCDMA
1.1 Introduction
The next generation of mobile communications system will seamlessly provide a
wide variety of communication services to anybody, anywhere, anytime. The intended
service for next generation mobile phone users include services like transmitting high
speed data, video and multimedia traffic as well as voice signals. The technology needed to
tackle the challenges to make these services available is popularly known as the Third
Generation (3G) Cellular System.
The first generation systems are represented by the analog mobile systems designed
to carry the voice application traffic. Their subsequent digital counterparts are known as
second generation cellular systems. Third generation systems mark a significant leap, both
in applications and capacity, from the current second generation standards. The current
digital mobile phone systems are optimised for voice communications, 3G communicators
are oriented towards multimedia message capability.
ETSI (European Telecommunications Standards Institute) decided between
technologies in January 1998, selecting WCDMA as the standard for the UTRA (UMTS
Terrestrial Radio Access) air Interface on the paired frequency bands, i.e. for FDD
( Frequency Division Duplexing ) operation.
WCDMA is the Wideband Direct-Sequence Code Division Multiple Access (DS-
CDMA) system, i.e. user information bits are spread over a wide bandwidth by multiplying
the user data with pseudo-random bits (called chips).
The key properties for general wideband CDMA include:
Improved performance over 2G systems:
improved capacity
improved coverage
fast power control in the downlink
seamless inter-frequency handover
High degree of service flexibility:
multirate services: with maximums of 64-384 Kb/s for full coverage and 2
Mb/s for limited coverage.
packet access mode
High degree of operator flexibility:
support of asynchronous inter-base-station operation (for ETSI/ARIB
WCDMA)
support of different deployment scenarios, including hierarchical cell structure
(HCS) and hot-spot scenarioes
support of new technologies like multi-user detection (MUD) and adaptive
antenna arrays.
1
1 Introduction to WCDMA
The following table shows the key technical features of the WCDMA radio
interface:
Table 1.1 WCDMA Key Technical Characteristics
1.2 Applicable Techniques to enhance System Performance
In the mobile cellular communication, an ever increasing demand to accommodate
more users and new high bit rate data service becomes more and more obvious. One of the
most important features of WCDMA is to provide high capacity. The following different
techniques are exploited to enhance the system capacity or system performance
1.1.1 Spreading
In the mobile cellular communication, the available frequency band is from 800
MHz to 2 GHz. With the limited radio frequency spectrum, the spread spectrum techniques
are exploited to satisfy the demand of the network capacity. All the users share the same
frequency to transmit signal through mobile radio channel. The system capacity is
increased compared with the GSM system.
Transmitted signal is spread before it is sent to the mobile radio channel. The
power of transmitted signal is reduced by spreading. This obtains the processing gain. In
this way, the interference signal power is reduced, so SINR of the desired signal is
improved and the system capacity is increased.
1.1.2 Multipath Diversity
Radio propagation in the land mobile channel is characterised by multiple
2
1 Introduction to WCDMA
reflection, diffraction and attenuation of the signal energy. These are caused by natural
obstacles such as buildings, hills, and so on, resulting in so called multipath propagation.
There are two effects resulting from the multipath propagation. It can sometimes destroy
signal through fast fading. However, these multipath components can be used as a
multipath diversity also called RAKE combining in WCDMA system. The RAKE diversity
receiving technology improves the reception performance by combining the individual
paths after they were received separately among multiple paths.
In WCDMA, the chip duration at 3.84 Mcps is 0.26 s. If the time delay difference
of the multipath components is at least 0.26 s, the WCDMA receiver can separate those
multipath components and combine them coherently to obtain multipath diversity. The 0.26
s delay can be obtained if the difference in path lengths is at least 78 m (= speed of light
chip rate =3.0 X 10
8
m/s 3.84 Mcps). With the chip rate of about 1 Mcps, the difference
in the path lengths of the multipath components must be about 300 m which cannot be
obtained in small cells. Therefore, it is easy to see that the 5 MHz WCDMA can provide
multipath diversity in small cells [1].
The use of a wider band carrier can improve the capability to separate these
multiple paths, which consequently reduces the required transmitter power. This makes it
possible to lower the transmitter power of mobile stations, and at the same time brings
down the interference power, which leads to further improve the spectrum utilization
efficiency and system capacity.
1.1.3 Multiuser Detection
WCDMA is an interference limited system as all the users share the same frequency.
Signal of user near to the base station submerges the weak signal of the user far away from the
base station. This is called near far effect in WCDMA which results in excessive multiple
access interference. With an increased number of simultaneously users, multiuser interference
must be effectively combated to improve signal SINR and system capacity.
1.1.4 Smart Antenna
One of the most promising techniques for increasing capacity in WCDMA system
is through the use of smart antenna. In WCDMA system, all the users share the same
frequency through mobile radio channel. Any other active users are co-channel interference
to the desired user. Indeed, the system performance in WCDMA is limited by interference.
The simple strategy of switching to the strongest signal to extracting maximum signal
power from the antennas is not appropriate as it can lead to signal enhancement of an
interferer rather than that of the desired user. However, if the direction of the desired user is
known or if a suitable reference signal that correlated more with the desired signal than
with any of the interferers can be generated at the receiver, the weights of the array antenna
could be chosen to suppress interference and, thereby, improve the system performance. If
the array weights change continuously with time so as to accommodate a dynamic radio
3
1 Introduction to WCDMA
environment, adaptive array technique is adopted. In an adaptive array, the weights are
adjusted to maximise the carrier to interference plus noise ratio (SINR) and provide
maximum discrimination against interfering signals.
1.3 Outline of This Thesis
The organisation of this thesis is as follows. Starting with a brief description of key
features of WCDMA system provided in Chapter one, the analytical model of the
WCDMA system is reviewed in detail in Chapter two. Then the spreading and scrambling
technique in WCDMA is shown in chapter three. This is followed by analysing the RAKE
Receiver with Multiuser Detection in detail in chapter four. Smart Antenna is studied in
chapter five. In the end, the system performance of these techniques is given by simulation
in chapter 6.
4
2 Analytical WCDMA System Model
2 Analytical WCDMA System Model
Abstract
In this chapter, analytical WCDMA system operating in the FDD mode model is
developed to describe the signal received over a multiple antenna, time dispersive, fading
code division multiple access (CDMA) channel. The realization that each of these channel
effects can be absorbed into a general linear model validates the abstraction of the CDMA
problem as a linear algebra problem which opens up a mathematically elegant and
powerful technique to solve common problems such as detection and channel estimation.
Although logical channels are defined for WCDMA, this paper will not discuss them. For
further information, please see [1], chapter 6.
2.1 Introduction
As wideband CDMA has been accepted as one of the air interface technologies for
UMTS/IMT2000 in Europe and Japan, the development of practical multiuser detection
techniques is becoming increasingly important. The use of RAKE combining, beam
forming or antenna diversity are also vital for efficiently combating channel impairments
and multiple access interference (MAI) at high data rates and high system loads.
To develop efficient detection strategies for such elaborate systems, it is of
paramount importance to develop an appropriate baseband model for the uplink
communication. It is especially convenient and insightful for the designer to have the
received signal represented by a sum of modulating waveforms, each directly associated
with a transmitted symbol. In this chapter we show how such a linear model can be used to
describe the signal received over a multiple antenna, time dispersive, fading CDMA
channel. The realization that each of these channel effects can be absorbed in a general
linear model validates the abstraction of the CDMA problem as a linear algebra problem
which opens up a mathematically elegant and powerful technique to solve common
problems such as detection and channel estimation. We focus on modelling the
oversampled received baseband signal coming out of the receiver A/D converter. Many
practical aspects of the uplink are considered so the model facilitates the development of
receiver structures based on the fundamental structural principles of practical systems.
In this chapter we first develop a model for a synchronous CDMA system to
establish a conceptually simple benchmark from which to extend to more practical
scenarios. This also serves to support the fact that the basic algebraic structure of the model
remains the same regardless of the series of complication later introduced, it also include
the Rayleigh fading, path loss, shadowing effects and channel estimation and power
control.
The synchronous model is then extended to facilitate random access among users,
typical for uplink transmission. Acquisition and tracking of the user dependent delays are
discussed and modelling of delay estimation inaccuracies due to the finite delay resolution
5
2 Analytical WCDMA System Model
inherent to a discrete time system is considered. This model is then extended to include
multipath propagation.
The final extension incorporates multiple antenna elements into the model. we
consider the cases of using the antenna elements for beam forming. We thus arrive at a
linear model where each of the active users transmits over a time-dispersive fading channel
with path loss and shadowing and is received by multiple antenna elements.
The chapter is organised as follows. In section 2, the structural block diagrams of
practical CDMA uplink are presented and discussed. These block diagrams are then used as
the basis for the development of a general algebraic model for the unlink communication in
section 4. Mobile radio channel model is reviewed in section 3. This is followed by discrete
time base band uplink model in section 4.
2.2 CDMA System Model for the Uplink
The 3
rd
generation wireless mobile communication system such as WCDMA
proposals for IMT2000 [3] all have the same fundamental structure for the uplink. Block
diagrams of the transmitter and receiver are as Fig. 2.1 and Fig. 2.2 respectively.
The baseband signal processing at transmitter and receiver is done in discrete time.
The transmitter consists of an encoder, a spreader, a pulse shaping transmitter filter, a D/A
converter and a IF-RF upconverter. The data stream b
k
generated by user k is encoded and
x
k
d
k
b
k
spreader
PN code
Pn code
source of
information
encoder/
interleaver
transmitter
filter
D/A
IF-RF
upconverter
Figure 2.1 Block diagram of the mobile transmitter for user k
x
k(t)
Figure 2.2 Block diagram of the base station receiver
.
.
.
receiver
front end
.
.
.
multiuser
detector
unit
sink K
sink 1
.
.
.
Despreader unit 1
PN code
Despreader unit K
PN code
y
MF
r (t)
b
6
2 Analytical WCDMA System Model
interleaved into sequence d
k
, then the sequence d
k
is spread by a PN code and digitally
modulated onto a chip pulse shape. The signal is then D/A converted and modulated onto
an analogue carrier for transmission. In a system with K active users, each user is
represented by such a transmitter.
The base station receiver contains the front end of the receiver, K despreaders, each
one for each user, multiuser detector and sinks.

The front end of base station receiver is common to all users, it is depicted in
Fig.2.3. The signal from every antenna element first is downconverted to baseband signal,
and then digitised at rate of Q/T
c
by A/D converter, Q is the sampling factor for pulse
shaping filter, and T
c
is the chip interval.
The digitised signal r
b
from the front end is then processed in the bank of
despreaders by multiplying the corresponding PN code of each user. In the unit for user k,
the multipath delays are estimated through acquisition and tracked typically by delay lock
loop techniques. These estimated and tracked delays are then used to control the timing for
despreading as illustrated in Fig 2.4.
Figure 2.4 Block diagram of the base station despreading unit for each user
y
MF, k, b
.
.
.
.
.
.
Receiver
filter
.
.
.
Acquisition
despreader
tracking
.
.
.
.
.
.
r
b
r
1
r
B
r
2
.
.
.
RF-IF
downconverter
antenna 1
.
.
.
.
.
.
A/D antenna1
.
.
.
.
.
.
ant.B
ant.2
ant.1
Figure 2.3 Block diagram of the base station front -end
7
2 Analytical WCDMA System Model
The despreaded sequence is forwarded to the multiuser detector unit. In this unit,
performance enhancing signal processing such as beam forming, RAKE combining
including channel estimation, antenna diversity combining, multiuser detection and error
control decoding can be included. If perfect channel information is available, beam
forming, RAKE and antenna diversity combining merely represent linear transformations
to obtain a minimal set of sufficient statistics. From the fundamental digital communication
theory, this is in fact equivalent to filtering matched to the received waveform in order to
maximise the signalto-noise ratio (SNR) [3]. In case channel information is not available,
some form of channel estimation must be done. This can be done separately to allow for
coherent detection or adaptively allowing for either separate or joint channel estimation,
RAKE combining and beam forming.
2.3 Mobile Radio Channel Model
The mobile radio channel is one of the most important elements in mobile
communication system. Before we start to analyse the discrete time baseband model for
uplink communication in WCDMA, let us first review the mobile radio channel model [25-
26].
When the signals are transmitted through mobile radio channel, it is affected by
shadow or large scale fading, Shadow fading reveals itself as an attenuation of the average
signal power, it is induced by prominent terrain contours (hills, buildings, etc) between
transmitter and receiver.
Mobile communication is affected by multipath fading in addition to shadow fading.
Multipath fading is caused by atmospheric scattering and refraction, or reflection from
building and other objects. The multipath channel is classified by 2 types of multipath
channel: discrete multipath channel and the diffuse multipath channel. Discrete multipath
channel consists of resolvable multipath components. Diffuse multipath channel consists of
unresolvable multipath components. Multipath fading affects the signals in two ways:
dispersion (time spreading or frequency selectivity) and time variant behaviour. The time
spreading of the symbol duration within the signal is equivalent to filtering and
bandlimiting. A time-variant behaviour of the channel is due to motion of the receiver or
changing environment such as movement of foliage or movement of reflectors and scatters.
This means the impulse response h(, t) of mobile radio channel is time variant [26] .
If h(, t) has a zero mean, then the envelope |h(, t)| has a Rayleigh distribution:
p(r) =
2

r
exp

,
_

2
2
2
r
(2.1)
where
2
is the total power in the multipath signal. Otherwise, if h(, t) has a nonzero
mean, which implies the presence of a significant specular (nonfaded) line-of -sight
component, then the envelope |h(, t)| has a Ricean distribution:
8
2 Analytical WCDMA System Model
p(r) =
2

r
exp

,
_

2
2 2
2
s r
I
0

,
_

rs
(2.2)
where s
2
is the power of the line-of-sight component, and I
0
denotes the zero order modified
Bessel function of the first kind [26].
In the most general case the channel is modeled as linear time variant system. This
is described by its time-variant impulse response, h(, t). This gives the response of the
channel at time t to an impulse at time t-. It therefore gives the channel impulse response
and shows how it varies with time. h(, t) is also related to three other functions, which
gives the same information in a different form. Fig. 2.5 shows the relationship among the
functions in which the F denotes Fourier transformation with respect to the subscripted
variable [57].
If x(t) represents the transmitted signal through mobile radio channel, the receiverd
signal, y(t), can be expressed
y(t) =


h(, t) x(t-) d (2.3)
If the time-variation of the channel is slow, we may treat it as quasi-stationary, or
piecewise stationary: in other words, as a linear system whose parameters vary with time,
but which are constant for period of a few transmitted symbols. We can strengthen this
condition because if the maximum Dopper shift v
max
is much less than one upon the
maximum delay in the channel,
max
, then the channel is said to be separable, so that the
delay parameter and the time t can be treated separately. If we further assume that the
signals on the different paths are uncorrelated and have Gaussian distributions, we have the
well-known Gaussian wide-sense stationary uncorrelated scatters (GWSSUS) model. Here
the impulse response may be treated as the sum of a series of impulses with delays
i
,
representing the different paths, with complex amplitudes (incorporating also the phase)
i
which vary with time. For practical purposes, we can sample the channel at the symbol
rate, leading to a tapped delay-line-model. Here the delayed signals on the different paths
are lumped into delays of multiples of the symbol period. This can be represented by a
tapped delay line (Fig. 2.6) with delays of one symbol period. Each tap is weighted by a
complex coefficient [57]. Fig. 2.6 shows a hierarchy of available models, starting from the
most detailed and general, and descending to the most specific and simplest [57].
h (, t)
F

H (f, t)
F
t
d (, v)
F

F
t
D (f, v)
Figure 2.5 Relationship of functions describing channel
Time-variant
impulse response
Time-variant
transfer function
Doppler variant
impulse response
Doppler -variant
transfer function
9
2 Analytical WCDMA System Model
If the channel information, Direction Of Arrival (DOA)
j
, is considered, the
distributed channel impulse response can be expressed [25], [44]
h (t, , ) =

1
0
N
j

j
(t)( -
j
) ( -
j
) (2.4)
where
j
(t) is the complex amplitude,
j
is the path delay,
j
is the Direction Of
Arrival, and N is the number of multipath components.
Equ. (2.3) is modified
y(t) =

1
0
N
j

j
(
j
) x(t-
j
) (2.5)
In the wideband channel where the delay-line model had a large number of taps, not
all the multipath components are likely to fade simultaneously. This may be used as a
multipath diversity to improve the received signal SINR. The RAKE receiver in WCDMA
T

0
T

1
T

N-1
Figure 2.7 the tapped delay line model for wideband channel
Linear time-variant system ( ,t)
v
max max<<1
Quasi-stationary
t
()
Uncorrelated scatters
Gaussian wide-sense stationary
uncorrelated scatters (GWSSUS)
Sampled

i
(t)( -
i
)
Tapped delay line
W
s

max<<1

j
(t) ( - jT)
Narrowband model
0
(t)
Figure 2.6 Mathematical model of the multipath channel
10
2 Analytical WCDMA System Model
utilises this feature can mitigate the effects of fading if the transmitted signal bandwidth is
larger than the coherence bandwidth.
2.4 Discrete Time Base Band Uplink Model
In this section, first, the synchronous CDMA model is established, it is used as a basis
to model asynchronous CDMA. Then the asynchronous CDMA model is extended from
single path model, multipath model to multiple antenna model, where each user signal is
received by multiple antenna elements and possibly has more than one multipath through
the mobile radio channel [21], [41], [45-46].
1.1.5 Synchronous CDMA
Referring to Fig 2.1, user k first encodes the information symbol stream b
k
(l), l =
0,1,2,... ,(kL-n

)/n at data rate 1/T
b
symbol per second (symbols/s) with a rate k/n
convolution code followed by an interleaver. Denote the sequence output at rate 1/T
d
=n/(k
T
b
) symbols/s as d
k(i)
, where i=0,1,2,...,L-1 is the symbol interval index. At each symbol
interval i, d
k(i)
, is modulated by a rate 1/T
c
=N/ T
d
=n N/( k T
b
) chips per second (chips/s)
spreading sequence, s
k
(i) =(s
k
(iN+1), s
k
(iN+ 2),..., s
k
( iN+N))
T
with s
k
(i) S where S
denotes the set of possible chip values. The processing gain is as follows:
PG =
b
C
T
T
/ 1
/ 1
=
k
nN
(2.6)
The practical implementation all the baseband processing is usually done in discrete
time. With this approach, each chip of d
k
(i), s
k
(i), is modulated by filtering the signal with a
discrete time pulse shaping filter. The filter operates at a rate of 1/ T
s
=Q/T
c
. In order to
express this operation algebraically, the spreading sequence is zero padded before filtering
to give u
1
s
k
(i), Kronecker tensor product, where u
1
=(1, 0
T
Q 1
)
T
. The transmitted
discrete time base band signals during a symbol interval is expressed as follows [21], [45-
46]:
x
k
(i) = d
k
(i)

,
_


NQ i L
k
iNQ
p i u
) 1 (
1
0
* ) (
0
s = d
k
(i)

,
_



NQ i L
k
iNQ
i
) 1 (
0
) (

0
s (2.7)
p :the pulse shaping filter impulse response of length P+1
) ( i
k
s
: the pulse shape filtered spreading sequence of length NQ + P.
11
2 Analytical WCDMA System Model
The length of column vector x
k
(i) is LNQ+P. Fig. 2.8 shows one of the example
zero-padded and pulse shape filtered spreading sequence x
k
(i).
Assume each active user to transmit L symbols through AWGN channel, the system
can be modelled as Fig 2.9.
The received signal in base station after A/D conversion is then
d
2
(i)
s
2
(i)
u
1
p
d
1
(i)
s
1
(i)
u
1
p
d
K
(i)
s
K
(i)
u
1
p
n
r
.
.
.
.
.
.
.
.
.
Figure 2.9 Discrete time model of the uplink communication of a
synchronous CDMA system without channel distortions
Fig 2.8 Example of zero-padded and pulse shape filtered spreading sequence x
k
(i)
12
2 Analytical WCDMA System Model
r =

1
0
L
i

K
k 1
) (i d
k

,
_



NQ i L
k
iNQ
i
) 1 (
0
) (

0
s + n = S d + n (2.8)
S is the (LNQ+P) x KL dimentional matrix of transmitted spreading waveform with column
j expressed as
j
s
=

,
_



NQ i L
k
iNQ
i
) 1 (
0
) (

0
s , j = iK+k
The data symbol vector , d = ( d
1
(0),d
2
(0),...,d
K
(L-1))
T
= (d
1
,d
2
,...d
LK
)
T
with length LK, and n
is the noise vector. Fig. 2.10 shows one of examples for the fundamental structure of matrix
S.
Symbol 1 2
User 1 2 3 1 2 3
Path 1 1 1 1 1 1


















Figure 2.10 The fundamental structure of the matrix S synchronous system with K=3,
L=2, N=4, Q =2, and P=4. The entries representing
) ( i
k
s
are indicated with
dots,while all other entries are zero.
13
2 Analytical WCDMA System Model


The data symbole vector corresponding to Fig. 2.10 is
d = ( d
1
(0), d
2
(0), d
3
(0), d
1
(1), d
2
(1), d
3
(1) )
T
The received signal r length is LNQ, while only LK symbols were transmitted in
total. The minimal set of sufficient statistics of length LK is obtained through correlation
matched to the received signal. This also ensures the maximisation of the SNR. In practice,
the received signal first pass through a received filter p* matched to the transmitter filter
and sampled at a chip rate. Despreading or spreading sequence matched filtering with s
k
(i) ,
k=1,2,...K, is then done at a chip rate with a bank of filters where the sampling instances for
the individual filters are controlled by the tracking units. Instead of sampling the receiver
filter at 1/T
c
, the output can be forwarded directly to the despreader where the matched
filtering is now done with a bank of filters based on the zero-padded spreading sequences
u
1
s
k
(i), k=1,2,...K. The inserted zeros are in effect executing the sampling at 1/ T
c
.
Finally, the received signal despread directly with the relevant pulse shape filtered
spreading sequence. The output of the despreader unit is
y
MF =
S
H
r = S
H
S d + S
H
n (2.9)
In a mobile communication, the transmitted signal is corrupted by channel fading
in addition to additive white Ganssian noise [4]. The received signal for each user k is
affected by a random, time-dependent complex channel coefficients c
k
(i):
14
2 Analytical WCDMA System Model
r =

1
0
L
i

K
k 1
c
k
(i)
) (i d
k

,
_



NQ i L
k
iNQ
i
) 1 (
0
) (

0
s + n = S Cd + n (2.10)
C : a LK x LK diagonal matrix containing the physical channel parameters with elements
c
j
= c
k
(i), j = iK+k .
The complex channel coefficent c
k
(i) contains all the channel fading and
attenuation, including small scale Rayleigh fading, large scale log-normal shadowing and
path loss [5]. This is assumed that the channel fading is constant for all the chips during
one transimtted symbol interval.
System is modelled as Fig. 2.11 above. The output of the receiver with matched
filter :
y = C
H
y
MF
=C
H
S
H
S C d + C
H
S
H
n (2.11)
where C =

,
_

) 1 ( ... 0 0
. ..
. ... ) 0 ( 0
0 ... 0 ) 0 (
2
1
L c
c
c
K
, 2 dimentional K L x K L matrix. For
example, if K = 3, L =2, the corresponding channel matrix C is
d
2
(i)
s
2
(i)
u
1
p
d
1
(i)
s
1
(i)
u
1
p
d
K
(i)
s
K
(i)
u
1
p
.
.
.
.
.
.
.
.
.
Figure 2.11 Discrete time model of the uplink communication of a
synchronous CDMA system over a mobile radio channel
n
r
c
1
(i)
c
2
(i)
c
K
(i)
.
.
.
15
2 Analytical WCDMA System Model
C =
1
1
1
1
1
1
1
1
]
1

) 1 (
) 1 (
) 1 (
) 0 (
) 0 (
) 0 (
3
2
1
3
2
1
c
c
c
c
c
c
0
0
1.1.6 Asynchronous CDMA
2.4.1.1 Single Path Model
Asynchronous CDMA system allows the users to have random access on the
uplink. Each user encounters a transmisson delay relative to other users. The delay
measured against an arbitrary reference selected such that all transmission delays are
constrained to 0<t
k
< T
d
. In the following developed model, T
d
equal to NQ T
s .
First for the simplicity, assume that all delays are constrained to be integer
multiples of the sampling interval. The relative delay normalised to sampling interval is
then
k
= t
k
/T
s
{ 0,1,..., NQ-1}. The model of transmitted signals x
k
(i) has to be modified
because of the transmission delay:
) ( i
k
x
=
) (i d
k

,
_




+
1 ) (
) (

K
K
NQ i L
k
iNQ
O
i
O

s
The length of
) ( i x
k
is (L+1)NQ+P-1.
In fact, this operation is just to filter x
k
(i) with a linear filter g
k
= ( g
k,1
, g
k,2
, ... g
k,NQ
)
T
of the
length NQ in Fig. 2.12, where
g
k,j
=

'

0
1

if
otherwise
j
k

16
2 Analytical WCDMA System Model
The discrete time model of the uplink communication of asynchronous CDMA over a
mobile radio channel is as Figure 2.13.
The received signal is as follows:
r =

1
0
L
i

K
k 1
c
k
(i) *
) (i x
k + n
=

1
0
L
i

K
k 1
c
k
(i)
) (i d
k

,
_




+
1 ) (
) (

K
K
NQ i L
k
iNQ
O
i
O

s + n = S Cd + n (2.12)

) (i x
k

x
k
(i)
c
k,
(i)
c
k,1
(i)
c
k,2
(i)
Q
T
c
Q
T
c
Q
T
c
. . .
Figure 2. 12 diagram of the tapped delay line filtering of x
k
(i) with c
k
(i)
d
2
(i)
s
2
(i)
u
1
p
d
1
(i)
s
1
(i)
u
1
p
d
K
(i)
s
K
(i)
u
1
p
.
.
.
.
.
.
.
.
.
Figure 2.13 Discrete time model of the uplink communication of a
single path asynchronous CDMA system over a mobile radio channel
n
r
c
1
(i)
c
2
(i)
c
K
(i)
.
.
.
17
2 Analytical WCDMA System Model
S is the ((L+1)NQ+P-1) x KL dimensional matrix of shifted transmitted spreading
waveform with column j expressed as
j
s
=

,
_




+
1 ) (
) (

K
K
NQ i L
k
iNQ
O
i
O

s
Fig. 2.14 is one of the basic example for matrix S, the characteristics of an
asynchronous system is a staggered set of spreading sequences. The spreading sequences
dont have to be ordered according to increasing transmission delays. It is clear that the
transmission delay need to be known. It can be obtained by channel estimation.
Symbol 1 2
User 1 2 3 1 2 3
Path 1 1 1 1 1 1

2.4.1.2 Multipath Model


In practice, when the transmitted signal pass through mobile radio channel,
duplicates of the transmitted signals are generated by reflection, refraction and diffraction.
The received signals are multiple copies of the transmitted signals with different channel
delay and fading.
Figure 2.14 The fundamental structure of the matrix S for single path synchronous
CDMA with K=3, L=2, N=4, Q =2, and P=4.
1
=0,
2
=3T
s
and
3
=4T
s
18
2 Analytical WCDMA System Model
The multipath fading channel is modelled as a discrete time tapped-delay line [3]
with a time spacing of T
c
/Q as illustrated in Fig.2.12 with M

maximum delay spread


normalised to sampling interval. By having a tap-spacing of T
c
/Q , path delay can be
resolved to within t T
c
/2Q .
Assume that there are only M resolvable multipath components per user so among
the M

filter taps, only M represent non-zero time varying complex channel coefficients.
The sequence of non-zero channel coefficients are collected in a vector defined as
) ( i c
k
= (
) (
1 .
i c
k
,
) (
2 .
i c
k
, ... ,
) (

.
i c
M k
)
T
Each non-zero channel coefficient has an associated relative path delay denoted as
m k,

= s m k
T t /
, {0,1, ... , 1

M } where the m k
t
, is the absolute path delay.
In practice, the multipath profile is user dependent and slowly time-varying, i.e., the
number of path and their location in time change. Usually it can be assumed that M and
m k,

are constant over L symbol intervals, where the channel coefficients


) (
.
i c
m k
are
independent over m and k and constant over one symbol interval.
The discrete time model of uplink communication over multipath mobile radio
channel is modified as Fig 2.15.
The model of transmitted signals x
k
(i) is modified :
Figure 2.15 Discrete time model of the uplink communication of a
multipath asynchronous CDMA system over a mobile radio channel
n
r
d
1
(i)
s
1
(i)
u
1
p c
1,1
(i) ... c
1,M
(i)
d
2
(i)
s
2
(i)
u
1
p c
2,1
(i) ... c
2,M
(i)
d
K
(i)
s
K
(i)
u
1
p c
K,1
(i) ... c
K,M
(i)
.
.
.
.
.
.
.
.
.
19
2 Analytical WCDMA System Model
) ( i
k
x
= c
k
(i) *
) (i x
k =
) (i d
k

,
_

NQ i L
k k
iNQ
O
i i c
O
) 1 (
) (

* ) ( s =
) (i d
k

,
_

NQ i L
m k m k
iNQ
O
i i c
O
) 1 (
, ,
) (

) (

s
) (
,
i
m k
s
=

,
_

m k
m k
M
k
O
i
O
,
,
) (

s
The length of
) ( i
k
x
is L NQ +M

+P spanning the entire transmission interval of L


symbols. The length of
) (
,
i
m k
s
is M

+NQ+P .
The received discrete time baseband signal is :
r =

1
0
L
i

K
k 1

M
m 1
) ( ) (
,
i d i c
k m k

,
_

NQ i L
m k
iNQ
O
i
O
) 1 (
,
) (

s
+ n=SCd+n (2.13)
Where
) (
,
i
m k
s
=

,
_

m k
m k
M
k
O
i
O
,
,
) (

s
) (i d
k
: the i
th
data symbol transmitted by user k
20
2 Analytical WCDMA System Model
) ( i
k
s
: the zero-padded spreading sequence for symbols generated by user k
) (
,
i c
m k : the channel coefficients over the m
th
multipath for the i
th
symbol generated by
user
k.
L : the total amount of the data symbol sent by every active user
K : the total amount of active users sending data to the BTS
M

: the maximum delay spread normalised to sampling interval


M : the amount of resolvable multipath components per user data sequence
C : channel matrix, it also needs to be modified to reflect the multipath profile, the matrix
is LKM x KL block diagonal:
C =

,
_

) 1 ( ... 0 0
. ..
. ... ) 0 ( 0
0 ... 0 ) 0 (
2
1
L c
c
c
K
S: the matrix of received spreading waveform with the column j
s
=

,
_

NQ i L
m k
iNQ
O
i
O
) 1 (
,
) (

s
, j =
iKM+(k-1)M+m. The dimension of S is (LNQ+M

+P) x KLM, consequently, the length


of r is LNQ+M

+P.
Symbol 1 2
User 1 2 3 1 2 3
Path 1 2 1 2 1 2 1 2 1 2 1 2


















21
2 Analytical WCDMA System Model




The form of matrix S is modified as Fig 2.16. The channel matrix C corresponding to Fig.
21.6 is
C =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
]
1

) 1 (
) 1 (
) 1 (
) 1 (
) 1 (
) 1 (
) 0 (
) 0 (
) 0 (
) 0 (
) 0 (
) 0 (
2 , 3
1 , 3
2 , 2
1 , 2
2 , 1
1 , 1
2 , 3
1 , 3
2 , 2
1 , 2
2 , 1
1 , 1
c
c
c
c
c
c
c
c
c
c
c
c
0
0
The output of the receiver after matched filtering and despreading :
y = C
H
y
MF
=C
H
S
H
S C d + C
H
S
H
n ( 2.14)
It represents coherent multipath combining, also known RAKE reception. The
principle of RAKE reception is to collect all the power in the multipath components
through weighted coherent combining. In practice, not all of multipath components can be
collected, the M strongest paths must obviously be acquired. The continually acquisition of
the multipath components is known as multipath searching and must be done periodically
to ensure the M strongest paths are always used for combining.
2.4.1.3 Multiple Antenna Model
In practice, the use multiple antenna has proven a powerful concept to improve
system performance [12,13]. In this section, the single-antenna model from previous
section will be extended to conveniently incorporate the use of multiple antennas [44-46].
Figure 2.16 The fundamental structure of the matrix S for multipath WCDMA with K=3,
L=2, N=4, Q =2, and P=4, M=2 and M

=9 T
s
. The delays for the threee users are (0, 5T
s
),
(3 T
s
, 4 T
s
), (4 T
s
, 9 T
s
)
Mobile
Base Station B
Figure 2.17 Illustration of the transmitted signal for one user arriving at B
antennas at the receiver over B different multipath channels
22
2 Analytical WCDMA System Model
Multiple-Antenna, Independent-Multipath Channel Model
Assume that there are B antenna elements in base station in Fig 2.17, there will be
generally B different multipath channels per user, per symbol interval. Specifically, in
each antenna b, there is a channel impulse response
) (
,
i c
b k as the vector of multipath
coefficients for user k in symbol interval i, the received signal vector r
r =

,
_

B
r
r

1
=

,
_

B B
C S
C S

1 1
=

,
_

B
S
S
S
... 0 0
. ..
. ... 0
0 ... 0
2
1

,
_

B
C
C
C

2
1
d + n (2.15)
The matrices S
b
and C
b
are respectively the S and C matrices defined earlier for antenna b.
The RAKE combining by this model is still represented by pre-multiplication with matrix
C
H
S
H
(assume perfect multipath acquisiton).
Multiple Antennas in a Uniform Linear Array
Multiple antenna can be used as the beam forming and diversity combining or
hybrids. Here, we consider the use of beam forming. The multipath channels between a
transmitter and individual elements will no longer be independent if the distance d between
neighbouring elements of antenna array is of order of a wavelength . In this case, the
antenna array is capable of beam forming with a directional response that can be shaped by
complex weighting of the antenna outputs [42-43], [46].
Antenna array can be constructed in different forms physically, for example,
uniform linear antenna (ULA) or circle antenna. For simplicity, we review ULA in which
antenna elements are placed in a straight line at a distance of d from each other. Fig. 2.18
Figure 2.18 The ULA with the direction of arrival (, ) indicated
d
B


waveform
z
x
y

B-1
1
D

23
2 Analytical WCDMA System Model
shows the ULA with the drection of arrival (, ) indicated. The relationship among ,
and is
cos () = con ( ) sin( )
The time delay distance of received signal, D, induced by the distance of antenna
elements is
D = d cos() = d con() sin()
The phase difference between the received signal as adjacent antenna elements
in a ULA is given by [50-52]
=

) cos( 2 d
=

) sin( ) cos( 2 d
(2.16)
Assume further that the multipath component m of user k arrives at an angle
k,m
. It is also
assumed that all users are located in the far field, so that their signals arrive at the antenna
array as a plane wave. The second antenna then has a channel vector from the same user
given by
c
k,2
(i)=

,
_

M k
k
k
j
j
j
e
e
e
,
2 ,
1 ,
... 0 0
. ..
. ... 0
0 ... 0

c
k,1
(i) =
k
c
k,1
(i)
where
k,m
= 2dcos
k,m
/ and c
k,1
(i) is the channel for user k, symbol interval i at antenna
1. The dimension of
k
is M x M. So channel vector between any adjacent elements b and
b+1 is
c
k,b+1
(i) =
k
c
k,b
(i) =
b
k

c
k,1
(i) for b=1,...,B-1
In this case, the C matrix in (2.15) is modified
C =

,
_

0
1
0
0
C
C
C
B

,
_


1 B

C
0
= C
0
Here =diag (, ,..., ), with
24
2 Analytical WCDMA System Model
=

,
_

K
... 0 0
. ..
. ... 0
0 ... 0
2
1
where is of dimension KLM x KLM. The number of diagonal elements of equals to
the length of transmitted data symbols, L. The dimension of is KM x KM. The dimension
of is BKLM x KLM. The basic form of in 2 multipath signals and 2 antenna elements
is as follows:
25
2 Analytical WCDMA System Model
26
2 Analytical WCDMA System Model
27
2 Analytical WCDMA System Model
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
]
1

) 1 (
) 1 (
) 1 (
) 1 (
) 1 (
) 1 (
) 0 (
) 0 (
) 0 (
) 0 (
) 0 (
) 0 (
2 , 3
1 , 3
2 , 2
1 , 2
2 , 1
1 , 1
2 , 3
1 , 3
2 , 2
1 , 2
2 , 1
1 , 1
1
1
1
1
1
1
1
1
1
1
1
1

j
j
j
j
j
j
j
j
j
j
j
j
e
e
e
e
e
e
e
e
e
e
e
e
The channel matrix has the following form:
C
0
=

,
_

) 1 ( ... 0 0
. ..
. ... ) 0 ( 0
0 ... 0 ) 0 (
2
1
L c
c
c
K
The dimension of matrix C is KLM x KL. Since each antenna now sees the same path
delays from each user, the sub-matrices S
b
in (2.15) are now equal to S
1
, so that S = diag
(S
1
,..., S
1
). The dimension of S
1
is (LNQ+M

+P) x KLM. The number of diagonal


elements S
1
of matrix S equals to the number of antenna elements B. The dimension of S is
B(LNQ+M

+P) x BKLM . The received signal vector is therefore


r = S C
0
d +n (2.17)
The RAKE combined output is given
y =
H
C
0

H
S
H
r =
H
C
0

H
S
H
S C
0
d +
H
C
0

H
S
H
n (2.18)
28
2 Analytical WCDMA System Model
2.5 Conclusion
29
3 Spreading in WCDMA
Spreading in WCDMA
Abstract
This chapter presents an overview on the code selection principle in WCDMA
system code design. The basic properties of the PN sequence in WCDMA system will be
reviewed. Spreading and scrambling techniques and their relationship will be studied. In
uplink of WCDMA, Walsh code and Gold code families properties as well as the
generation methods will be present and analyzed.
2.6 Introduction
The pseudo random (PN) sequence is a bit stream of 1s and 0s occurring
randomly, or almost randomly, with some unique properties. It is widely used in direct
sequence spread spectrum wireless communication systems, for example, synchronous
CDMA or asynchronous CDMA. The spread spectrum CDMA scheme is one in which the
transmitted signal is spread over a wide frequency band, much wider than the minimum
bandwidth required to transmit the information being sent. In general, the spread spectrum
signals are commonly used for [3]
Combating or suppressing the detrimental effects of interference due to jamming,
interference arising from other users of the channel, and self-interference due to
multipath propagation;
Hiding a signal by transmitting it at low power density and, thus making it difficult for
an unintended listener to detect it in the presence of background noise;
Achieving message privacy in the presence of other listeners.
Sharing the limited frequency resource to satisfy the demand of the increasing capacity
in the public network
The desired properties of PN sequence depend clearly on the target application. Our goal is
to study the code selecting in WCDMA system, the main emphasis is on the control of the
interference arising from other users of the channel. The PN sequence selected should have
high auto-correlation and low cross-correlation among different users PN codes.
A block diagram of spreading and despreading signal in baseband of CDMA is
shown in Fig 3.1 .
In transmitter, the spreader consists of multiplying the input data by a pseudo noise
(PN) sequence, the bit rate of which is much higher than the data bit rate. This increases the
data rate while adding redundancy to the system. The data bits modulated by spreading are
called chips. The ratio of the chip bit rate to the data bit rate is called the spreading factor
(SF). The resulting waveform is wideband, noise like signal [1].
30
3 Spreading in WCDMA
When the signal is received in the receiver side, the spreading is removed from the
desired signal by multiplying with the same PN sequence that is exactly synchronised to
the received chip level signal. When despreading is applied to the interference generated by
other users signals, there is no despreading, this means that each spread spectrum signal
should behave as if it were uncorrelated with every other spread signal using the same
band. Therefore, CDMA codes are designed to have very low cross-correlation.
The rest of this chapter is organized as follows. The property of the PN sequence
first is present in section 3.2. In section 3.3, the relationship between spreading and
scrambling is shown, this is followed by review the spreading and modulation in uplink.
Finally, the properties of Walsh code family and Gold code family and their generation are
studied.
2.7 Properties of PN Sequence
In CDMA user signal is multiplied by pseudo random sequence. This sequence
must be known by the transmitter and also by the receiver to be able to realize
synchronisation and despreading. To be used in real systems the sequence should be able to
be constructed from a finite number of randomly pre-selected parameters. On the other
hand the PN sequence should look like noise.
A PN sequence has three following properties[6]:
The number of 1s and the number of 0s in a PN sequence are only different by one.
Figure 3.1 Block diagram of the baseband model of CDMA
spreader
PN code
generator
source of
information
encoder/
interleaver
despreader
PN code
generator
PN
synchronization
LPF
decoder /
deinterleaver
data
31
3 Spreading in WCDMA
Run lengths of zeroes or ones are the same as in a coin flipping experiment. Half of the
run lengths are unity, one-quarter are of length two, one-eighth are of length three and
a fraction 1/2
n
of all runs are of length n.
If the sequence is shifted by any non-zero number of elements, the resulting sequence
will have an equal number of agreements and disagreements with the original sequence.
A deterministic generated sequence that nearly satisfies these three requirements,
within extremely small difference, will be a pseudo random sequence.
A PN sequence can be generated by a linear shift register. Fig 3.2 shows a linear shift
register sequence generator.
In each clock cycle the register shifts all its contents to the right. The sequence a
n
can be
written as
a
n
= c
1
a
n-1
+ c
2
a
n-1
+
...
+ c
r
a
n-r
(3.1)
where c
1
to c
r
are the connection variables (0 for no connection and 1 for connection ).
2.8 Spreading and Scrambling in the Uplink of WCDMA
The most common PN code families are Walsh-Hadamard codes, m-sequences,
Gold codes and Kasami codes. Walsh-Hadamard codes are orthogonal on zero code delay
whereas the m-sequence, Gold codes and Kasami codes are nonorthogonal with varying
cross-correlation properties. Walsh-Hadamard codes and Gold codes are used in uplink
communication of WCDMA. In this section, we will emphasize Walsh-Hadamard codes
and Gold-codes.
The concept of spreading process is introduced in section 3.1. In WCDMA, a PN
sequence is used to scramble the signal in addition to the spreading signal. The purpose of
the scrambling signal is to separate terminals or base station from each other. Scrambling is
used on top of spreading. It does not change the signal bandwidth but only makes the
signals from different source separable from each other. With the scrambling, it would not
matter if the actual spreading were done with identical code for several transmitters. The
relationship between spreading and scrambling is shown in Fig 3.3 [9].
a
n
a
n-1
a
n-2
a
n-r
c
1
c
2
c
3
c
r
Figure 3.2 Linear shift register sequence generator
32
3 Spreading in WCDMA
In the uplink communication of WCDMA, Walsh-Hadamard codes are used to
spread data, and Gold codes are used to scramble data, so called scrambling code.
There are 2 types of uplink dedicated physical channels, the uplink Dedicated
Physical Data Channel (uplink DPDCH) and the uplink Dedicated Physical Control
Channel (uplink DPCCH). The uplink DPDCH is used to carry dedicated data generated at
Layer 2 and above. There may be zero, one, or several uplink DPDCHs on each Layer 1
connections. The uplink DPCCH is used to carry control information generated at Layer 1.
The Layer 1 control information consists of known pilots bits to support channel estimation
for coherent detection, transmit power-control (TPC) commands, and an optional transport-
format indicator. There is one and only one DPCCH on each Layer 1 connection.
In the uplink The data modulation of both the DPDCH and the DPCCH is Binary
Phase Shift Keying (BPSK). The modulated DPCCH is mapped to the Q-channel, while the
first DPDCH is mapped to the I-channel. Subsequently added DPDCHs are mapped
alternatively to the I or the Q-channel. Spreading Modulation is applied after data
modulation and before pulse shaping. The spreading modulation used in the uplink is dual
channel QPSK. Spreading modulation consists of two different operations. The first one is
spreading where each data symbol is spread to a number of chips given by the spreading
factor. This increases the bandwidth of the signal. The second operation is scrambling
where a complex valued scrambling code is applied to spread signal. Fig. 3.4 shows the
spreading and modulation for an uplink user [1]. The uplink user has a DPDCH and a
DPCCH.
The bipolar data symbols on I and Q branches are independently multiplied by
different channelization codes. The channelization codes are known as Orthogonal Variable
Spreading Factor (OVSF) codes or Walsh-Hadamard codes. OVSF codes are discussed in
section 3.3.1.
The resultant signal is multiplied by a complex scrambling code. The complex
scrambling code is a unique signature of the mobile station. Next, the scrambled signal is
pulse shaped. Square-Root Raised Cosine filters with roll-off factor of 0.22 are employed
for pulse shaping. The pulse shaped signal is subsequently upconverted as shown in Fig.
3.4.
data
spreading
scrambling
bit rate
chip rate
chip rate
Figure 3.3 Relation between spreading and scrambling
33
3 Spreading in WCDMA
The application of a complex scrambling code with spreading modulation as
described above is usually termed as Hybrid Phase Shift Keying (HPSK). HPSK reduce the
peak-to-average power of the mobile station by generating the complex scrambling
sequence in a special way [11]. The generation of complex scrambling code is discussed in
section 3.3.2.
1.1.7 Walsh-Hadamard codes and Spreading
The most important purpose of the spreading codes is to help preserve orthogonality
among different physical channels of the uplink user. Walsh-Hadamard codes, also known
as OVSF (Orthogonal Variable Spreading Factor) codes, are employed as uplink spreading
codes. OVSF codes can be explained using the code tree shown in Fig 3.5. The subscript
here gives the spreading factor and the argument within the parenthesis provides the code
number for that particular spreading factor.
Each level in the code tree defines spreading codes of length SF, corresponding to a
particular spreading factor of SF. The spreading factor in uplink is defined as
SF =
k
2
256
(3.2)
C
1,1
= ( 1 )
C
2,2
= ( 1 , -1 )
C
2,1
= ( 1 , 1 )
C
4, 2
= ( 1 , 1 , -1 , -1 )
C
4,1
= ( 1 , 1 , 1 , 1 )
C
4, 3
= ( 1 , -1 , 1 , -1 )
C
4,4
= ( 1 , -1, -1, 1 )
SF=1
SF=2
SF=4
Figure 3.5 code tree for generation of Walsh-Hadamard codes
P(t)
Channelization
codes (OVSF) (Cd)
DPDCH
j
Channelization
codes (OVSF) (Cc)
DPCCH
Scrambling
codes (Csc)
P(t)
cos ( t)
sin ( t)
Figure 3.4 Uplink Spreading and Modulation
34
3 Spreading in WCDMA
The parameter k determines the number of bits in each slot .The spreading factor may thus
range from 256 down to 4.
The number of codes for a particular spreading factor is equal to the spreading
factor itself. All the codes of the same level constitute a set and they are orthogonal to each
other. Any two codes of different levels are orthogonal to each other as long as one of them
is not the mother of the other code [7]. For example the codes c
16,2
, c
8,1
and c
4,1
are all
mother codes of c
32,3
and hence are not orthogonal to c
32,3
. Thus all the codes within the
code tree cannot be used simultaneously by a mobile station. A code can be used by an MS
if and only if no other code on the path from the specific code to the root of the tree or in
the sub-tree below the specific code is used by the same MS [8]. The generation method of
OVSF can be explained with the help of the following matrix equations:
H
2
=

+
+
1
1

,
_

+
1
1
(3.3)
and if M > 2 is a power of 2, recursively
H
M
=

+
+
2 /
2 /
M
M
H
H

,
_

+
2 /
2 /
M
M
H
H
(3.4)
Then the rows of any H
M
form a mutually orthogonal set of sequences. These sequences
have zero cross-correlation when the codes are synchronous. But the advantage of using
OVSF codes is lost when all the users are not synchronised to a single time base or when
significant multipath is present. The dependence of auto-correlation and cross correlation
on time offset among the codes of length 128 are shown in Fig 3.6. The source code in
Matlab is available in the Appendix.
1.1.8 Gold Codes and Scrambing
Gold codes are used to scramble data in the uplink communication of WCDMA.
The purpose of scrambling is to separate the signals from different mobile stations. Gold
code is generated by two m-sequences. So let us first review m-sequence and then present
Gold sequences.
Figure 3.6 Auto-correlation and cross correlation between
the Walsh-Hadamard codes of length 128
35
3 Spreading in WCDMA
The maximum length shift sequence, or m-sequence for short, is probably the most
widely known PN sequence. It is generated by n cell shift register and has the length of m =
2
n
1 bits, meaning that they are as long as the shift register can produce. Maximal-length
sequences have a number of interesting properties, which several are listed in the following
[10]:
A m-sequence contains one more one than zero. The number of ones in the sequence is
(n+1)/2.
The modulo-2 sum of a m-sequence and any phase shift of the same sequence is
another phase of the same sequence (shift and add property).
The statistical properties of ones and zeros are well defined and always the same.
Relative positions vary, but the number of each run length does not vary.
Every possible state of the shift register exists at some time in a complete m-sequence
(except the all zeroes state, which is not allowed).
The periodic autocorrelation function R(k) is two valued and is given by
R(k) =

'

n l k
n
n l k


1
1
(3.5)
Where l is any integer and n is the sequence period.
The autocorrelation function R(k) is illustrated in Fig 3.7 where the length of the m-
sequence is 124 , generated by polynomial 1 + x
2
+ x
5
with sequence period 31.
Figure 3.7 Autocorrelation function for a m-sequence of length 124, generated by
polynomial 1 + x
2
+ x
5
with sequence period 31.
36
3 Spreading in WCDMA
Gold sequences are used especially for code division multiple access. Their idea is
to reduce the interference caused by a user to another user. For this reason Gold sequence
has also good cross correlated properties. Gold sequences are generated by taking the
modulo-2 sum of two m-sequences. The autocorrelation and cross-correlation between two
Gold sequences is shown in Fig 3.8 as one of example. The Gold sequences are generated
by two m-sequences which are from polynomials 1 + x
3
+ x
7
+ x
20
+ x
25
and 1 + x + x
2
+ x
3
+
x
25
[8], [9].
Uplink scrambling codes help to maintain separation among different mobile
stations. Either short or long scrambling codes can be used in the uplink. Short scrambling
codes are recommended for base stations equipped with advanced receivers employing
multiuser detection or interference cancellation. Since we employed a RAKE receiver in
the simulation, we present here the long scrambling codes construction. The long
scrambling codes are Gold codes. In the uplink communication of WCDMA , Gold codes
are selected to scramble the signals for different mobile terminal. Each mobile terminal has
a distinct Gold code. Transmitter and receiver should know the scrambling code for each
terminal in advance.
The complex-valued long scrambling code is formed one single sequence where the
other sequence is the delayed version of the first one. The scrambling codes can be defined
with the help of the following equation
C
sc
=C
1
(w
1
+j w
2

'
2
C ) (3.8)
Where, C
1
is the real chip rate code, j is the basic imaginary unit, and
'
2
C is a decimated
version of a real chip rate code C
2
.
Figure 3.8 autocorrelation and cross-correlation between two Gold sequences
37
3 Spreading in WCDMA
The usual decimation factor is 2 so that,
'
2
C (2k-1) =
'
2
C (2k) = C
2
(2k) (3.9)
w
1
is a repetition of {1 1} at the chip rate
w
2
is a repetition of {1 -1} at the chip rate
So we can write
C
sc
=C
1
+j w
2
C
1
'
2
C (3.10)
Fig. 3.9 shows the implementation of equation (3.10) above. All the additions and
multiplications are performed in modulo 2 arithmetic.
Long scrambling codes are constructed as described above. The real chip rate codes C
1
and
C
2
are formed as the position wise modulo 2 sum of 38400 chip segments of two binary m
sequences. The binary m sequences are generated from two generator polynomials of
degree 25. This is explained in details as follows [8], [9].
Two binary sequences x and y are generated using the generator polynomials 1 + x
3
+ x
7
+ x
20
+ x
25
and 1 + x + x
2
+ x
3
+ x
25
respectively. The resulting sequence constitutes
segments of a set of Gold sequences.
Let n
23
.n
0
be the 24 bit binary representation of the scrambling code number n
(decimal). In the binary representation, n
0
is the least significant bit (LSB). The x sequence
depends on the choice of the scrambling code number and is thus denoted as x
n
.
Furthermore, let x
n
(i) and y(i) denote the i th symbol of the sequences x
n
and y respectively.
The m sequences are constructed as
The initial conditions are set:
x
n
(0) = n
0
, x
n
(1) = n
1
,......, x
n
(22) = n
22
, x
n
(23) = n
23
, x
n
(24) = 1
y(0) = y(1) = ...... y(23) = y(24) = 1
Then the subsequent symbols are generated recursively according to:
j
2
C
1
C
2
'
2
C
w
2
w
2
= {1 1 1 1 ...}
Figure 3.9 Generation of scrambling Codes
38
3 Spreading in WCDMA
x
n
(i+25) = x
n
(i+20)+ x
n
(i+7)+ x
n
(i+3)+ x
n
(i)
mod2
, i =0,1,......,2
25
-27 (3.11)
y
n
(i+25) = y
n
(i+3)+ y
n
(i+2)+ y
n
(i+1)+ y
n
(i)
mod2
, i =0,1,......,2
25
-27 (3.12)
The number 27 = 26+1 means that the first 26 bits of the whole sequence has
been given as the initial condition to generate the sequence, and the length of the whole
sequence is 2
25
-1. So, the number of the rest of bits that needs to be generated is 2
25
-27.
The real chip rate code C
1,n
and C
2,n
for the nth scrambling code are defined as
C
1,n
=
{
2 mod
) 0 ( ) 0 ( y x
n
+
,
2 mod
) 1 ( ) 1 ( y x
n
+
,......,
2 mod
) 1 ( ) 1 ( + N y N x
n
}

(3.13)
C
2,n=

'

+
2 mod
) (
) (
M y
M x
n
, 2 mod
) 1 (
) 1 (
+ +
+
M y
M x
n
,.......,

+ +
+
2 mod
) 1 (
) 1 (
N M y
N M x
n
(3.14)
39
3 Spreading in WCDMA
The scrambling codes are designed so that they have very low cross-correlation among
them. This ensures good Multiple Access Interference (MAI) rejection capability. Fig. 3.10
shows a histogram of cross-correlation values for two long scrambling codes, the x-axis
reflects the range of values in crosscorrelation, the y-axis shows the numbers of elements
that fall within the groups, the y-axis ranges from 0 to the greatest number of elements
deposited in any bin . The source code in Matlab is available in Appendix.
2.9 Conclusion
This chapter reviews the important aspects of spreading codes used in the WCDMA
uplink communication. The spreading codes in WCDMA are designed to have random
behaviour and very low cross-correlation. We discuss the orthogonal codes, also called
Walsh Hadamard codes, and multiple spreading techniques. Then the characteristics of a
m-sequence are reviewed followed by Gold sequences and their generation by means of
Linear Feedback Shift Register (LFSR). The auto correlation and cross correlation
properties Walsh code family and Gold code family are analyzed. Finally, we described
how to generate the complex-valued scrambling codes used in the uplink communication of
WCDMA system.
Cross correlation value
T
h
e

n
u
m
b
e
r

o
f

e
l
e
m
e
n
t
s

Figure 3.10 Histogram of the cross-correlation of long scrambling codes
40
3 Spreading in WCDMA
41
3 RAKE Receiver with Multiuser Detection
3 RAKE Receiver and Multiuser Detection
Abstract
DS-CDMA system makes it possible to use RAKE combining technique mitigating
the multipath fading. RAKE reception is one of the most important techniques in DS-
CDMA system to improve the system performance. At the same time, DS-CDMA system as
a multiple access scheme suffers from the Multiple Access Interference (MAI). It is
important to cancel MAI by multiuser detection technique. In this chapter, we will review
the system model for RAKE receiver. Several different algorithms for RAKE combining will
be presented. Finally different algorithms for multiuser detection will be studied.
3.1 Introduction
The use of a RAKE receiver in direct sequence spread spectrum systems provides a
unique and valuable means of combating the adverse effects of short-term multipath fading
in mobile radio propagation environments [3], [14], [18]. Section 2.3 has shown that the
transmitted signal bandwidth in WCDMA system is much larger than the coherent
bandwidth of the channel, in which case the channel is frequency selective [3]. This
indicates that if all the multipath signals dont to be fade simultaneously, multipath signals
can be utilised as a diversity. Process gain employed in direct sequence CDMA systems
allows the receiver to distinguish between the separable multipath components with delays
separated by more than one chip duration. These provide an advantage for utilization of the
RAKE combining techniques within receivers. With traditional narrow-band modulation
techniques, the frequency selectivity of the channel causes ISI (intersymbol interference),
and adaptive channel equalizers are required to cancel the undesirable effects of ISI.
The idea behind the RAKE reception technique is that the signals propagating through
different multipath are received in individual fingers of the RAKE receiver, and the outputs
from these fingers are then coherently combined to provide the input signal for the symbol
decision. A RAKE receiver collects the signal energy from different multipath components.
The optimal RAKE receiver actually implements a channel matched filer which maximizes
the received signal to noise ratio. This means that the identified multipath components are
weighted proportionally to the amplitude of the component. Of course, the optimal RAKE
receiver can only be implemented if the multipath components or the channel impulse
response are known.
DS-CDMA is a multiple access system, where multiple users share a limited resource,
the frequency. Conventional asynchronous DS-CDMA systems allow each user to transmit
and receive independently. Each receiver performs a simple correlation between the
received baseband signal and the corresponding users spreading sequence. In an AWGN
channel with orthogonal spreading sequence, this approach would be optimal. Due to the
asynchronicity of users and the need to support numerous users, such orthogonality is
impossible, even on a hypothetical AWGN channel. System performance is rendered
multiple-access interference (MAI) limited, and channel utilization is correspondingly low.
42
3 RAKE Receiver with Multiuser Detection
Due to the nonorthogonality of practical spreading sequences, the conventional
correlator receiver suffers from the near-far problem. This implies that the cross correlation
between the spreading sequence of the user of interest and the signal from a strong
interferer can be larger than the correlation with the signal from the desired user. Detection
is rendered unreliable, all users interfere with each other. Potentially significant capacity
increases and near/far resistance can theoretically be achieved if the negative effect that
each user has on others can be canceled. A more fundamental view of this is multiuser
detection, in which all users are considered as signals for each other. Then, instead of users
interfering with each other, they are all being used for their mutual benefit by joint
detection.
The rest of this chapter is organized as follows. The system model is described in
Section 4.2, followed by the generalized RAKE receiver in Section 4.3. Then different
algorithms for multiuser detection are reviewed in Section 4.4. Finally the system
performance of the RAKE reception with multiuser detection and gold sequence are
evaluated.
3.2 System Model
Single-user DS spread-spectrum or multiuser DS-CDMA transmissions over fading
channels have been studied in chapter 2. A DS-CDMA system with K users transmitting L
symbols asynchronously over a frequency-selective fading channel can be modeled as a
tapped-delay line that comprises of M resolvable paths [3]. With discrete time baseband
model, the kth users contribution to the transmitted signals is
x
k
(t) =

1
0
L
i
d
k
(i)
( ) p i s u
k
* ) (
1

=

1
0
L
i
d
k
(i)
( ) ) (i
k
s
(4.1)
where d
k
(i){-1, 1} denotes the i
th
transmitted data ( information ) bit, s
k
(i) is the k
th
users
spreading sequence, p is the pulse shaping filter impulse response,
) (
1
i u
k
s
is the
Kronecker tensor product,
) (i
k
s
is the k
th
users signature filter spreading sequence, it is
formed by filtering the spreading sequence through the root cosine pulse shaping filter:
) (i
k
s
=
p i u
k
* ) (
1
s
(4.2)
Assume that the multipath spread is of the order of a few chip intervals T
c
and, since
the signal is bandlimited to B = 1/ T
c
, the tap delay line model has taps spaced at chip
intervals T
c
. The channel baseband equivalent impulse response is given [26]
h(t,) =

1
0
M
i
c
i
(t)( -
i
) (4.3)
Where c
i
(t)=a
i
(t)
) (t j
i
e

, a
i
(t) is path attenuation,
i
(t)

is path phase,
i
is path delay,
and M is the number of resolvable multipaths. The channel parameters c
i
and
i
are
assumed known in the despreading and demodulation process, although in practice the
impulse response of the channel is typically estimated using pilot symbols or pilot channel.
43
3 RAKE Receiver with Multiuser Detection
At the input of the receiver, the total received signal with discrete time baseband
model can be expressed matrix
r =

1
0
L
i

K
k 1

M
m 1
) ( ) (
,
i d i c
k m k

,
_

NQ i L
m k
iNQ
O
i
O
) 1 (
,
) (

s
+ n=SCd+n (4.4)
Where
) (
,
i
m k
s
=

,
_

m k
m k
M
k
O
i
O
,
,
) (

s
) (i d
k
is the i
th
data symbol transmitted by user k,
) ( i
k
s
is the user k signature sequence,
the zero-padded spreading sequence for symbols transmitted by user k,
) (
,
i c
m k denotes
the channel coefficients over the m
th
multipath for the i
th
symbol generated by user k, L is
the total number of the data symbols sent by every active users, K is the total number of
active users sending data to the BTS, M

is the maximum delay spread normalised to


sampling interval, and M is the number of resolvable multipath components per user data
sequence, C denotes channel matrix to reflect the multipath profile, the matrix is LKM x
KL block diagonal matrix
C =

,
_

) 1 ( ... 0 0
. ..
. ... ) 0 ( 0
0 ... 0 ) 0 (
2
1
L c
c
c
K
For example, if the number of multipath components M equals to 2, then the corresponding
channel matrix C is
44
3 RAKE Receiver with Multiuser Detection
C =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
]
1

) 1 (
) 1 (
) 1 (
) 1 (
) 1 (
) 1 (
) 0 (
) 0 (
) 0 (
) 0 (
) 0 (
) 0 (
2 , 3
1 , 3
2 , 2
1 , 2
2 , 1
1 , 1
2 , 3
1 , 3
2 , 2
1 , 2
2 , 1
1 , 1
c
c
c
c
c
c
c
c
c
c
c
c
0
0
S: the matrix with the column j
s
=

,
_

NQ i L
m k
iNQ
O
i
O
) 1 (
,
) (

s
, j = iKM+(k-1)M+m
The dimension of S is (LNQ+M

+P) x KLM, consequently, the length of r is LNQ+M

+P, and P+1 is the length of root cosine pulse shaping filter in transmitter.
) (
*
i s
k
) (
*
i s
k
) (
*
i s
k
) (
*
,
i c
M k
) (
*
1 ,
i c
k
) (
*
2 ,
i c
k
z
k
(i)
W
1
W
1
W
1
Correlator

T
o
()
w
1
Finger 1
Correlator

T
o
()
w
2
Finger 2
Correlator

T
o
()
M
w
Finger M
y
k
(i)
Figure 4.1 RAKE Receiver with M fingers
y
1
y
2
y
M
45
3 RAKE Receiver with Multiuser Detection
3.3 The RAKE Receiver
In frequency selective channels the RAKE principle is conceived as one that employs
a certain type of signal processing to different portions of the received signal stream and
takes advantage of all the received signal paths that carry the same signal information.
A typical RAKE receiver consists of a delay line, taps with complex multipliers and
integrators which in a spread-spectrum system are implemented as correlators with users
spreading code or signature sequence [3], [19-22]. The received signal is chip matched
and sampled at the chip rate. Figure 4.1 illustrates the structure of a typical RAKE receiver
in which
) (
*
i s
k
and
) (
*
,
i c
m k (k= 1,...K, m=1,...M) represent the complex conjugate of
chip-matched sampled signature sequence of the user of interest and the complex
conjugate estimate of the channel impulse response, respectively. Let PG be the
processing gain, the RAKE-matched-filter is characterized by a structure that correlates
the user signature sequence s
k
(i) with M size-PG shifted windows of the received signal
( that corresponds to the M paths of the channel ) appropriated weighted by the conjugated
estimates of the channel coefficient
) (
*
,
i c
m k , m=1,...M [21].
Hence, suppose the output of the matched filter mathcing to the pulse shaping filter in
the transmitter is z
k
(i), then the output of each finger is given after channel matched and
correlating
y
i
=

PG
j 1
) (
*
,
i c
m k
) (
*
,
i s
j k z
k
(i) (4.5)
Where PG is the processing gain,
) (
*
,
i c
m k is the complex conjugate estimate of the
channels impulse response,
) (
*
,
i s
j k is the complex conjugate of chip-matched sampled
signature sequence of the user of interest.
The dimension of each correlator equals the system processing gain PG. In matrix
notation the RAKE-matched-filter is characterized by
A
(i)
(k)
=

1
1
1
]
1

0
.
.
.
0
) ( ) (
* *
1 ,
i s i c
k k

0
.
.
.
) ( ) (
0
* *
2 ,
1
1
1
]
1

i s i c
k k

.
.
.
.
.
.
.
.

M M PG
k M k
i s i c
+
1
1
1
1
1
1
1
1
1
1
]
1
1
1
1
]
1

) 1 (
* *
,
) ( ) (
0
.
.
.
0
46
3 RAKE Receiver with Multiuser Detection
Where the superscript (k) in A
(i)
(k)
refers to the user of interest (use k). For example, if the
number of multipath components, M, equals to 3, and the time delays the 3 multipath
components are 0, T
c
, and 2T
c
respectively, the processing gain, PG, is 4, the form of A
(i)
(k)

for the i
th
transmitted symbol of user k is
A
(i)
(k)
=
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
]
1

1
1
1
1
1
]
1

1
1
1
1
1
]
1

1
1
1
1
1
]
1

) (
) (
) (
) (
) ( 0 0
0
) (
) (
) (
) (
) ( 0
0 0
) (
) (
) (
) (
) (
*
4 ,
*
3 ,
*
2 ,
*
1 ,
*
3 ,
*
4 ,
*
3 ,
*
2 ,
*
1 ,
*
2 ,
*
4 ,
*
3 ,
*
2 ,
*
1 ,
*
1 ,
i s
i s
i s
i s
i c
i s
i s
i s
i s
i c
i s
i s
i s
i s
i c
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
=
1
1
1
1
1
1
1
1
]
1

) ( ) ( 0 0
) ( ) ( ) ( ) ( 0
) ( ) ( ) ( ) ( ) ( ) (
) ( ) ( ) ( ) ( ) ( ) (
0 ) ( ) ( ) ( ) (
0 0 ) ( ) (
*
4 ,
*
3 ,
*
3 ,
*
3 ,
*
4 ,
*
2 ,
*
2 ,
*
3 ,
*
3 ,
*
2 ,
*
4 ,
*
1 ,
*
1 ,
*
3 ,
*
2 ,
*
2 ,
*
3 ,
*
1 ,
*
1 ,
*
2 ,
*
2 ,
*
1 ,
*
1 ,
*
1 ,
i s i c
i s i c i s i c
i s i c i s i c i s i c
i s i c i s i c i s i c
i s i c i s i c
i s i c
k k
k k k k
k k k k k k
k k k k k k
k k k k
k k

Since the RAKE-matched-filter decides on the transmitted information bit of the user of
interest based on the sum of the individual M path-correlator outputs, it can also be
equivalently characterized by the static (PG+M-1) taps FIR filter [21], in which the
coefficients of each tap is given
) (
_
k
MF R

=
1 ) 1 (
1
2
1
+
+
1
1
1
1
]
1

M PG
M PG

with j

M
m
jm
1

(4.6)
47
3 RAKE Receiver with Multiuser Detection
Where jm

is the (j,m)
th
element of the matrix A
(i)
(k)
. The output of the filter is given by the
inner product
) (
_
k
MF R

r. The RAKE processing can be thought of as an arbitrary (PG+M-1)


tap FIR filter, this corresponds to the algebraic model developed in Chapter 2. The output
of the RAKE receiver together with matched filter matching the pulse shaping filter of
transmitter for single user k after combining each finger output is expressed
y
k
=


M
m
PG
i
k m
t r w
1 1
) ( ) (
*
,
i c
m k
) (
*
i s
k
+


M
m
PG
i
m
t n w
1 1
) ( ) (
*
,
i c
m k
) (
*
i s
k
( 4.7)
By using the algebra model developed in Chapter 2, the output of RAKE combining can
expressed (2.14)
y = C
H
y
MF
=C
H
S
H
S C d + C
H
S
H
n = C
H
C d + (4.8)
Where = S
H
S
The decision on the transmitted information bit is based on the sum of the individual
correlator outputs. Given the decision statistic y, symbol detection then depends on the
modulation used. DS-CDMA standards typically employ BPSK or QPSK modulation. For
BPSK modulation, d
k
(i){-1, 1} , the detector is

) (i d
k
= sgn (Re{ y
k
}) (4.9)
For QPSK modulation, d
k
(i) = (
) (
0
i b
I
+ j
) (
0
i b
Q
) / 2 , where
) (
0
i b
I
and
) (
0
i b
Q
{-1,
1}, the detectors for the individual bits are

) (
0
i b
I
= sgn (Re{ y
k
}),

) (
0
i b
Q
= sgn (Im{ y
k
}) (4.10)
The soft decision bit value can be obtained by omitting the sgn(.) operations [19].
The output of all fingers are combined by Selection Combining, Maximal Ratio
Combining (MRC) or Equal Gain Combining (EGC) [23-24], [27].
(1) Selection Combining
One of the simplest combining methods is selection combining. The receiver simply
chooses the signal with the highest SNR of all the signals from the different fingers, and
only use this signal for detection.
w
i
=

'

otherwise
y y y y if
M i
, 0
} ,..., , max{ , 1
2 1
(4.11)
Assuming the probability density function (p.d.f) for the signal to noise ratio (SNR)
in each branch is known, when the channel fading is present, the bit error rate (BER) of
BPSK is [27]
48
3 RAKE Receiver with Multiuser Detection
P
BPSK
=
2
1

1
]
1

0
1

d
e e
M
(4.12)
Where

is the instantaneous signal to noise ratio and is the average signal to noise
ratio for one of the branches, M is the number of branches.
(2) Maximal Ratio Combining (MRC)
In this technique, all branches are used simultaneously. The weights in each branch
are chosen so that the output SNR is maximized. This is an analytical technique that works
only if the individual signals must have the same phase shift before combining. That would
require estimation channel parameters which can be difficult in a fast fading environment
or a system that is noncoherent. Assume that cophasing has been achieved. The envelope of
the resulting combined signal y
k
, can be written as
y
k
=

M
i 1
w
i
y
i
(4.13)
Where w
i
is the gain factor of each branch, y
i
is the output of each finger given by (4.5).
Assume that the noise components in the branches are independent. Consequently, the
total noise power is given by the sum of the noise power in each branch, where each noise
component is multiplied with the combining gain factor of the branch, i.e.
N
t
= N
0

M
i 1
w
i
2
(4.14)
Assume that the noise power is equal in all branches. By using the Schwarz inequality, the
resulting SNR is
SNR =
t
b
N
E y
2
=
( )

2
0
2
i
i i b
w N
y w E

0
N
E
b


2
2 2
i
i i
w
y w
=
0
N
E
b

2
i
y
(4.15)
The maximum value of the output SNR is obtained if and only if the combining gain
factors are chosen as
w
i
= k y
i
( 4.16)
Where k is an arbitrary constant.
For coherent BPSK with Rayleigh fading channel, the performance of RAKE receiver with
Maximal Ratio Combining assuming identical noise in each branch is [3], [27]
P
BPSK
=
)! 1 (
1
M
M

,
_


2
1

M
n 0
!
)! 1 (
n
n M +

n

,
_

+
2
1
(4.17)
Where

=
+

1
=

+ M
49
3 RAKE Receiver with Multiuser Detection

is the instantaneous signal to noise ratio and is the average signal to noise ratio for
one of the branches, M is the number of branches.
(3) Equal Gain Combing (EGC)
Maximal ratio combining is the method that maximizes the SNR of the resulting
combined signal. The drawback with maximal ratio combing is that the receiver tends to be
complex, because of the need of measuring the instantaneous SNR in each branch. A
natural step to decrease the complexity is the Equal Gain Combing (EGC) method. The
weights in this scheme are chosen to remain constant and equal in all branches:
w
1
= w
2
=...= w
M
= 1
The complex value of the combined signal is given by (4.4) with w
i
= 1
y
k
=

M
i 1

y
i
(4.18)
Under the assumption of equal noise power in all branches, the resulting SNR becomes
SNR =
0
2
MN
E y
b
=
0
MN
E
b

2
1

,
_

M
i
i
y (4.19)
The SNR of the combined signal is a sum of M Rayleigh distributed variables. To
analytically determine the distribution function for SNR is not possible. Approximation
solutions have shown that the performance of this technique is just slightly poorer than that
of maximal ratio combining [23].
When the outputs of all fingers are combined with Maximal Ratio Combining or
Equal Gain Combining, the interpath interference (IPI) effects come into play. Fig 4.2
shows the IPI case. Two available fingers are assigned to the first two separable multipath
components with delays
1
and
2
, respectively. In order to demodulate the data bit b
i
, finger
1 will generate a decision variable r
1
by despreading and integrating r(t) in [
1,

1
+T], and
finger 2 will generate r
2
in a similar way. The final decision variable is then r = w
1
r
1
+w
2
r
2
where w
1
and w
2
are nonzero for the cases of EGC and MRC. The effect of IPI is the effect
of path 1 (path 2) on r
2
(r
1
) and the possible correlation between r
1
and r
2
[20]. Hence, the
performance of RAKE with EGC or MRC cannot be the integer multiple SNR of each
finger for RAKE with Selection Combining.
50
3 RAKE Receiver with Multiuser Detection
For the IPI present in RAKE receiver with EGC or MRC of a single user, We can
get insight into this problem by analyzing R = S
H
S matrix notation in (4.8). Assume the
system has only the 1
st
user, the fundamental structure of matrix R is illustrated in Fig 4.3
for the case in Fig 2.16.
symbol 1 2
user 1 1
path 1 2 1 2
1
X
X 1
1 X
X 1
Figure 4.3 The fundamental structure of R of RAKE receiver with EGC or MRC for the
multipath case in fig 2.16, where the delays of the 1
st
user are (0, 5T
s
). The 1 on the
diagonal represent the autocorrelation of each path for each symbol . The X represent IPI
Ideally, we would choose a sufficient number of fingers to demodulate all multipath
components. RAKE receivers provide time diversity for a wideband system, taking
advantage of the autocorrelation and cross correlation properties of PN sequences.
Practically speaking, most receivers are limited to just a few fingers, typically three to five,
the autocorrelation and cross correlation properties of PN sequences are corrupted by radio
channel when the multiple users signals are sent through mobile radio channel. In
particular, all CDMA signals are subject to multipath induced interchip interference,
leading to increased cross correlation between users effective signature waveform. When
this occurs, signal reception using matched filters suffers severe performance degradation
due to mutual interference. Although a RAKE receiver developed above can be employed
to combine multipath components for a desired user, it is optimal for a single user system
and thus is ineffective in a near-far situation.
3.4 Multiuser Detection
The conventional RAKE receiver consists of a filter matched to the desired users
spreading code as shown (4.5), followed by a decision device, e.g. a simple polarity check
for BPSK. In a single user environment, this is optimal by coherently combining the signals
received through different paths, the SNR is maximized which in turn corresponds to

1
+T

2
+T

3
+T
b
i
b
i
b
i
r
k
(t)
Path 1, finger 1
Path 2, finger 2
Path 3,
No finger assigned
Figure 4.2 Illustration of the case with three multipath components with
the two earliest arriving paths assigned to the two available fingers
51
3 RAKE Receiver with Multiuser Detection
maximum-likehood (ML) detection [3]. In a multiuser environment, this is, however, not
entirely true. The SNR is still maximized but the detector is not ML due to the presence of
multiple access interference (MAI). The effectiveness of the conventional receiver is
limited because it disregards the structure of MAI and is susceptible to disparities in the
received powers of the different users signals.
MUD jointly detecting the signal from different users has been under intense research
as a potential method to improve the system performance of CDMA systems during the last
ten years. Instead of being separately estimated, as in single user detection, the users are
jointly detected for their mutual benefit. Multiuser detection in CDMA was introduced in
[28]. A multiuser system with interference cancellation was introduced in [29]. The basic
multiuser detection algorithms and their variants have been well covered in [3], [25], [31-
32].
Table 4.1 Assumed knowledge for multiuser detection algorithms
Signature
of desired
user
Signature
of
interferers
Timing of
desired
user
Timing of
interferers
Relative
amplitudes
Training
sequence
Matched filter Y N Y N
a
Y N
Optimum multiuser Y Y Y Y Y N
Optimum linear
receiver
Y Y Y Y Y N
Decorrelator Y Y Y Y N N
SIC & Multistage Y Y
b
Y Y Y N
Adaptive MMSE N N Y
c
N N Y
Blind MMSE Y N Y N N N
a
Strict power control required for adequate performance
b
Adequate performance with information about most powerful interferers only
c
Symbol timing only may be adequate
Multiuser detection can be either optimal or suboptimal. Suboptimal multiuser
detection algorithms can be classified into linear and interference cancellation type
algorithms. Some detectors can also be classified into both categories. Furthermore, few
other schemes not fitting to this classification have been proposed. These include trellis-
search algorithm [34] [35] and neural networks approach [33]. In addition, different
algorithms for multiuser detection require different knowledge about the user of interest
and the interfering users. This is summerized in Table 4.1
1.1.9 Input Signal Modelling
The input signal of multiuser detector is the output of the RAKE receiver above. In Fig.
4.1, The output of the RAKE receiver together with matched filter matching the pulse
shaping filter of transmitter for single user k is (4.7)
y
k
=


M
m
PG
i
k m k k m
i s i c t r w
1 1
* *
,
) ( ) ( ) (
+


M
m
PG
i
k m k m
i s i c t n w
1 1
* *
,
) ( ) ( ) (
52
3 RAKE Receiver with Multiuser Detection
In the case of multiple K active users, the received signal in the receiver is
r(t) =

+
K
k
k
t n t r
1
) ( ) (
(4.20)
and the output of the RAKE receiver y
k
for the k
th
user is modefied
y
k
=


M
m
PG
i
k m k k m
i s i c t r w
1 1
* *
,
) ( ) ( ) (
+

M
m
PG
i
j m j j m
K
k j
j
i s i c t r w
1 1
* *
,
1
) ( ) ( ) (
+


M
m
PG
i
k m k m
i s i c t n w
1 1
* *
,
) ( ) ( ) (
(4.21)
Note that y
k
consists of threee terms. The first term is the desired information which gives
the signal of the information bit ( which is exactly what is sought). The second term is the
result the multiple access interferentce(MAI), and the last term is due to noise. The second
term typically dominates the noise so that one would like to remove its influence. Its
influence is
Symbol
1 2 3 4 5 6
User
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Figure 4.4 The fundamental structure of for the multipath case in Fig 2.16 where K=3
and L=6. The 1 on the diagonal represent the autocorrelation. The dots represent cross
correlations
felt through the cross-correlation between the chip sequences and the powers of users. If
one knew the cross-correlations and the powers, then one could attempt to cancel the effect
of one user upon another. This is, in fact, the intuitive motivation for interference
53
3 RAKE Receiver with Multiuser Detection
cancellation schemems. According to the algebra model developed in Chapter 2, the input
of multiuser detector is (2.14)
y = C
H
y
MF
=C
H
S
H
S C d + C
H
S
H
n = d + (4.22)
Where y and d are column vectors of length LK and is a band-diagonal square matrix of
dimensions LK X LK for a single antenna system, L is the number of transmitted symbol of
each active user and K is the number of active users. The fundamental band-diagonal
structure of is illustrated in Fig.4.4 [25].
1.1.10 Optimal Detection
For the AWGN channel, Verdu presented an optimum multiuser receiver [30]. The
optimum receiver presented in [30] is shown in Fig. 4.5. The optimum receiver consists of
a bank of K single user receivers whose outputs are then fed to a maximum likelihood
Viterbi decision algorithm. The optimum receiver requires a priori knowledge of the signal
amplitudes and phases in order to derive a maximum decision statistic in the decoder. This
decoder will introduce a considerable delay to achieve optimality and will have complexity
on the order of 2
K
for every bit decision required. However, it was shown that the receiver
is near-far resistant regardless of received power levels with significant improvement over
the single user receiver. Because 2
K
computations are needed for every user's bit decisions,
it should be obvious that for a high capacity system the receiver will not be capable of
sustaining such a load.
This optimum technique however requires a priori knowledge of the signal
amplitudes and phases and involves a high degree of computational complexity. Extensive
work has followed developing suboptimum multiuser detection and interference
cancellation schemes in hopes of reducing complexity, while maintaining good
performance. Modifications of the optimum receiver represent another class of sub-
optimum receivers. Most of these replace the Viterbi ML algorithm with a reduced
complexity algorithm. Some variations include sequential decoding, minimum mean
User 1 RAKE
User 2 RAKE
User K RAKE

Viterbi
Algorithm

) (
1
i d

) (
2
i d

) (i d
K

r(t)
Figure 4.5 Optimum Multiuser Receiver
54
3 RAKE Receiver with Multiuser Detection
squared error (MMSE) detection, weighted least square (WLS), and decision feedback
equalizers (DFE) [37].
This work tends to be a mix of analytical and simulation results because of the
inherent difficulty analyzing multiuser receivers. The focus of this section, however, will
be mainly on the linear detection decorrelating detector and minimum mean square error
(MMSE) for one-shot detection technique.
1.1.11 Suboptimal Detection
3.4.1.1 Decorrelating Detector
Several different types of sub-optimum receivers have been studied in the literature.
An important class of suboptimal detector is the decorrelating detector presented in [25],
[31], [32], [36]. Lets rewrite (2.8) for K active users without channel fading when there is
no multipath signals [58]
r =

1
0
L
i

K
k 1
s
k
(i)
) (i d
k + n = Sd + n (4.23)
For the conventional matched filter shown in Fig 4.6, the output can be expressed
y =

K
k 1
r s
k
*
(i) = R d + n (4.24)
Where R is the crosscorrelation matrix
R= S
H
S = {
kl
} (4.25)
And the crosscorrelation
kl

kl
=

T
0
s
k
(t) s
l
(t) dt (4.26)
s
k
is the the user signature sequance for discrete time baseband sytem model.
In the 2 users case,
Figure 4.6 Bank of conventional single user matched filters
in case of 2 users
r(t)

T
0
s
1
(t)
s
2
(t)
y
1

T
0
y
2

) (
1
i d

) (
2
i d
55
3 RAKE Receiver with Multiuser Detection
R =
1
]
1

1
1
12
12

(4.27)
The linear decorrelating (i.e., zero-forcing) detector premultiply the inverse of
crosscorrelation matrix R
-1
to completely eliminate the interference (at the expense of
enhancing the noise) [25], [58]
Dec
d

= R
-1
y = R
-1
R d + R
-1
= d +

(4.28)
Where E{

T
} =
2
R
-1

This detector performs a linear transform on the output of the matched filter bank of
matched filtering receiver. Figure 4.7 shows the decorrelating detector with matched
filtering receiver with 2 users data. The decorrelating linear receiver removes all cross
correlation between users by selecting the transform as the inverse of the spreading
sequence correlation matrix. Symbol decisions are made on the output of the linear
transform. The decorrelating detector performs well at high SNR because the MAI is
eliminated by the inversion of the crosscorrelation.
In asynchronous CDMA, 2 crosscorrelations between every pair of signature
waveforms have to be defined. They depend on the offset between the signals. If k < l

kl
() =

s
k
(t) s
l
(t-) dt (4.29a)

lk
() =

0
s
k
(t) s
l
(t+T-) dt (4.29b)
without loss of generality, assume users are labeled chronologically, i. e., by the arriving
time

1

2
.....
k

Figure 4.7 Decorrelating detector for 2 synchronous users
r(t)

T
0
s
1
(t)
s
2
(t)
y
1

T
0

T
0
y
2
+
-
-
+

) (
1
i d

) (
2
i d
56
3 RAKE Receiver with Multiuser Detection
(4.24) is modified at time instant i
y [i] = R
T
[1]d[i+1] + R [0]d[i] + R [1]d[i-1] + n [i] (4.30)
where the zero-mean Gaussian process n [i] has autocorrelation matrix
E[n [i] n
T
[j] ]=
[ ]
[ ]
[ ]

'

+
otherwise
i j if R
i j if R
i j if R
T
, 0
1 , 1
, 0
1 , 1
2
2
2

(4.31)
And the matrices R [0] and R [1] are defined by
R
jk
[0] =

'

>
<

k j if
k j if
k j if
kj
jk

, 1
(4.32)
R
jk
[0] =

'

<
>
k j if
k j if
kj

, 0
(4.33)
For example, in 3 users case,
R [0] =
1
1
1
]
1

1
1
1
23 13
23 12
13 12



(4.34)
R [1] =
1
1
1
]
1

0 0 0
0 0
0
32
31 21


(4.35)
In the asynchronous case, we can write the output of decorrelating detector

Dec
d

= [R
T
[1] z + R [0] + R [1] z
-1
]
-1
y

(4.36)
In the case channel fading for synchronous CDMA system, the received signal is
considered in (2.10),
r = SCd + n
Crossscorrelation matrix R in decorrelating detector above is modified for
synchronous case[58]
R = C
H
S
H
SC (4.37)
Since a matrix inverse represents the solution to a set of linear equations, in some
cases, the correlation matrix may be singular, in which case the Moore-Penrose generalized
inverse of R, R
+
, may be substituted [36], [58]. The Moore-Penrose generalized inverse of
R, R
+
satifies four conditions:
57
3 RAKE Receiver with Multiuser Detection
R
+
* R * R
+
= R
+
R

* R
+
* R = R
R
+
* R is Hermitian
R

* R
+
is Hermitian
The Moore-Penrose generalized inverse of R, R
+
has some of, but not all, the
prpoperties of inverse of R. This was shown to also be optimally near-far resistant.
In a manner analogous to zero-forcing equalization, noise enhancement may be
problem. The decorrelating detector performs poorly at a lower range of SNR's because the
noise is multiplied by the inverse of crosscorrelation matrix. Unfortunately, as with any
matrix inversion, the operation is very computationally intensive and numerically sensitive.
3.4.1.2 Linear Minimum Mean Square Error (MMSE)
An alternative is to select a transform to reduce the total mean square error at the
receiver output, thus alleviating the problem of the noise enhancement. This has led to the
development of the minimum mean square error (MMSE) detector for CDMA, [25], [38].
The linear MMSE detector chooses the weight matrix to minimize the mean square error
between the transmitted user signals and the outputs of the linear transformation.
For synchronous CDMA, the output of linear MMSE (LMMSE) detector can be
readily derived based on (4.22) [25], [58]
Dec
d

= H
H
y = (R+
2
I)
-1
y (4.38)
Where H
H
= (R+
2
I )
-1
, minimize the cost function
J(H
H
)= E[ | H
H
y-d|
2
] (4.39)
which incidently is also the filter that maximizes the SINR at the detector output. Thus, y is
multiplied by a modified version of the inverse of the correlation matrix. Fig. 4.8 shows the
linear MMSE in case 2 synchronous users.
In asynchronous CDMA, (4.37) is modified
Dec
d

= H
H
y = (R
T
[1] z + R [0] + R [1] z
-1
+
2
I )
-1
y (4.40)
The transformation balances the desire to eliminate MAI with the desire to minimize noise
enhancement. The LMMSE detector generally performs better in terms of BER than the
decorrelating detector since background noise is taken into account.
58
3 RAKE Receiver with Multiuser Detection
In principle, the LMMSE detector can suppress PG-1 interferers for synchronous
CDMA. For asynchronous CDMA, a digital filter that spans a single symbol interval can
suppress (PG-1)/2 interferers. By increasing the observation window, the filter can suppress
up to PG-1 users [39].
The error rate performance of the MMSE detector is similar to that for the
decorrelating detector when the noise level is low. For low multiuser interference, the
MMSE detector results in a smaller noise enhancement compared with the decorrelating
detector. But has some residual bias resulting from the other users. Thus, the MMSE
detector attempts to strike a balance between the residual interference and the noise
enhancement [3].
Other suboptimum detectors use interference cancellation to remove the interfering
signals during detection. The idea of interference cancellation is to estimate the multiple
access and multipath induced interference and then to subtract the interference estimate.
Successive interference cancellation (SIC) cancels the interference estimate on user by user
basis while parallel interference cancellation (PIC) cancels the interference of all users
simultaneously [25], [31], [32]. The effectiveness of the cancellation is a function of the
quality of the estimation and reconstruction. Performance of interference cancellation is
tied to the signal parameters and whether they are known.
Figure 4.8 MMSE linear receiver for 2 synchronous users
r(t)

T
0
s
1
(t)
s
2
(t)
y
1

T
0

T
0
y
2
+
-
-
+

) (
1
i d

) (
2
i d
1+
2
1+
2
59
3 RAKE Receiver with Multiuser Detection
3.4.1.3 Adaptive MMSE algorithm-Recursive Least Squares Algorithm with
adaptive memory
The algorithms of decorrelating detector and linear minimum means square error
would require the knowledge of cross correlation matrix and a bank of synchronized
matched filters. Many multiuser receivers need the large assumed knowledge in common.
Repeated matrix inversions would be necessary if the channel was nonstationary, this can
be solved by adaptive MMSE algorithms.
The adaptive MMSE algorithm minimizes the difference between the output and the
desired response. It can be implemented by a simple transversal adaptive FIR filter. Fig. 4.9
illustrates the structure of an adaptive MMSE algorithm for MUD. The weights are
adaptively adjusted by available information to minimize the cost function [32].
There are many schemes to choose the weights based on the adaptive MMSE
algorithms. One of them, Recursive Least Squares Algorithm with adaptive memory, will
be reviewed in this work. As this algorithm can also applied for spatial processing, it will
be described in detail in Section 5.3.3, next chapter. Please refer to Section 5.3.3.
3.5 Conclusion
In this chapter, we have provided a brief insight into the concept and principles of
RAKE receiver and multiuser detection. The combining methods for RAKE receiver are
classified. The problem for different combining methods of RAKE receiver are compared
and analyzed theoretically, this is followed by the classifying and analyzing the multiuser
detection algorithms. During the review of multiuser detection, the advantage and
Figure 4.9 multiuser adaptive MMSE receiver for user k based on a transversal
FIR
r(t)

T
0
s
1
(t)
s
2
(t)

T
0

T
0
c
k1
+
-
k
d

s
K
(t)
c
k2
c
kK

Training
sequence
Coefficient update algorithm



60
3 RAKE Receiver with Multiuser Detection
disadvantage of optimal and suboptimal multiuser detectors are described and compared
with each other theoretically.
61
5 Smart Antenna in WCDMA
4 Smart Antenna in WCDMA
Abstract
Smart antennas consist of an antenna array, combined with signal processing in
both space and time. They offer a broad range of ways to improve wireless system
performance. These antenna systems include a large number of techniques that attempt to
enhance the receiver signal, suppress all interfering signals and increase capacity. This
chapter begins with the review of types of smart antennas. This is followed by the signal
modeling for smart antenna system. Finally beamforming schemes of smart antennas are
reviewed, and the conventional beamforming and recursive least square error algorithms
are presented in detail.
4.1 Types of Smart Antenna
Smart antennas consist of an antenna array, combined with signal processing in both
space and time. Spatial processing leads to more degrees of freedom in the system design,
which can help to improve the overall performance of the system. Smart antenna, when
used appropriated, help in improving the system performance by increasing channel
capacity and spectrum efficiency, extending range coverage by steering multiple beams to
track many mobiles [47]. Smart antenna systems are usually categorized as switched
beamer, and adaptive array systems [42-44], [49].
A switched beam antenna system consists of several highly directive, fixed, pre-
defined beams, and choose the beam which gives the best SNR. Fig. 5.1 shows a switched
beam antenna system. A switch is used to select the best beam to receive a particular
signal. Because no Direction Of Arrival (DOA) information of the desired user is assumed,
the desired user may not fall on the maximum of the chosen beam. The system is not able
to provide any protection from multipath components which arrive with DOAs near that of
desired components. They are unable to take advantage of path diversity by combining
coherent multipath components. Switched beam antenna are effective in low to moderate to
Desired signal
Interfering signal
Figure 5.1 Switched beam form antenna pattern
62
5 Smart Antenna in WCDMA
co-channel interfering environments owing to their lack of ability to distinguish a desired
user from an interferer.
In adaptive array systems, the weights are adjusted by some means using available
information derived from the array output. Fig.5.2 shows an adaptive beam form antenna
pattern. They maximize the signal-to-interference-plus-noise ratio (SINR) and provide the
maximum discrimination against interfering signals. The exact structure of the signal
processor is dependent on the amount of information that is available or can be estimated at
the receiver. This information includes the type of modulation and signalling format, the
number of resolvable signal paths that received at the receiver, the DOA and time delay of
each path signal, availability of reference to training signals, and the complexity of the
propagation environment.
4.2 Signal Modeling
Modeling signal is an important step in the design of array signal processing. Consider
a linear antenna array of L isotropic elements, shown in Fig. 5.3. Under these assumptions,
if antennas are identical in the array and all antennas have the same response in any given
direction. The signals induced at different receiving antennas only have phase difference
caused by time delay [44], [50-52]

l
(
i
,
i
)=
c
a d
i i l
) , (
(5.1)
Desired signal
Interfering signal
Figure 5.2 Adaptive beamform antenna pattern
63
5 Smart Antenna in WCDMA
Where
l
d

is the position vector of the n


th
element,
) , (
i i
a
is the unit vector in
direction (
i
,
i
), and c is the speed of propagation of the plane wavefront. For the simple
case, a Uniform Linear Array (ULA) of identical antennas, aligned with the x-axis such
that the first element is situated at the origin (Fig. 5.3), this becomes

l
(
i
)=
c
d
(n-1) cos
i
n =1,2,...B (5.2)
Assume the signal on the 1
st
element due to the ith source is x
i
(t)
x
i
(t) = m
i
(t) exp ( j 2 f
0
t ) (5.3)
Where m
i
(t) denotes the complex modulating function. The received signal vector on
ULA can be expressed as
r(t)=
1
1
1
1
]
1

) (
) (
) (
2
1
t r
t r
t r
B

=
1
1
1
1
]
1

) exp( ) (
) exp( ) (
) exp( ) (
2
1
B i
i
i
j t x
j t x
j t x

+n(t)=
1
1
1
1
]
1

) exp(
) exp(
) exp(
2
1
B
j
j
j

) (t x
i
+n(t)=s
) (t x
i
+n(t)
(5.4)
Where n(t) is the white noise with zero mean and variance equal to
2
, and s is the
steering vector.
From (5.2) and (5.4), the channel propagation function vector for Single Input Multiple
Output (SIMO) channels that have uniform linear multiple receiver antennas (ULA)
can be shown
d
1
d
2
B

i

i
x
i
z
x
y
Figure 5.3 The coordinate system for the signal model
64
5 Smart Antenna in WCDMA
H=
1
1
1
1
1
]
1

cos
) 1 ( 2 exp(
)
cos
2 exp(
1
d
B j
d
j

h(t,)=V() h(t, ) (5.5)


Where h(t, ) is the channel response function for given reference point, and V() is the
array response vector which is with respect to a given reference point and is functions
of the array geometry and direction of arrival (DOA).
We can extend the results above to the case of M multipaths, each multipath
component here can be considered to be a planar wave, arriving from a unique
direction at a unique time delay. The general results for multipath case can be simply
obtained by the superposition principle
H
m
=

M
m
m m
t h V
1
) , ( ) (
(5.6)
Where h
m
(t) has been derived and expressed in (2.4).
For the discrete baseband model in matrix notation with M multipath signal and ULA
used, the received signal is given by (2.13).
65
5 Smart Antenna in WCDMA
Consider a broad-band beamformer, shown in Fig. 5.4, which has a digital filter in
each antenna element, can also control their own frequency response. The pattern of an
array is easily controlled by adjusting the amplitude and phase of the signal from each
element before combining the signals.
For a received signal x
i
(t) in Fig.5.3, the array output from Fig. 5.4 can be given by
y(t) =

B
n 1
w
n
r
n
(t) (5.7)
Where w = [w
n1
, w
n2
, ..., w
nM
], the weight vector, and r is given in (5.4)
4.3 Beamforming Schemes
1.1.12 Conventional beamforming
The simplest beamformer has all the weights of equal magnitudes and is called a
conventional beamformer or a delay-and-sum beamformer. This array has unity response in
the look direction, which means that the mean output power of the processor duo to a
source in the look direction, is the same as the source power. To steer the array in a
Reference signal
Figure 5.4 Broad-band beam-former structure

Weight
control
Error
signal
y(t)
T
1
(
i
,
i
)
r
1
T
w
11
w
12
w
1M
T
2
(
i
,
i
)
r
2
T
w
21
w
22
w
2M
T
B
(
i
,
i
)
r
B
T
w
B1
w
B2
w
BM




Steering Delay
-
+
66
5 Smart Antenna in WCDMA
particular direction, the phases are selected appropriately [53]. This can be explained as
follows.
Assume that there is a source of power p
i
in the look direction, it is referred to as the signal
source. According to (5.3) for a particular direction (
i
,
i
),, the signal r
in
(t) induced on the
n
th
element due to this source is given
r
in
(t) = m
i
(t) exp ( j 2 f
0
( t + (
i
,
i
))) (5.8)
Array signal vector due to the look direction signal becomes
r
i
(t) = m
i
(t) exp ( j 2 f
0
t ) s (5.9)
Where s is the steering vector in the look direction, it has been given in (5.4).
For the conventional beamforming, the array weights are given by
w
c
= (1 /B ) s (5.10)
Where B is the number of elements. The output of the array with weight vector w
c

becomes
y(t)= w
c
H

r
i
(t) = m
i
(t) exp ( j 2 f
0
t ) (5.11)
yielding the mean output power of the processor
P(w
c
)=E[y(t) y
*
(t)]= p
i
(5.12)
Thus, the mean output power of the conventional bean former is steered in the look
direction. The process is similar to steering the array mechanically in the look direction
except that it is done electronically by adjusting the phases. This beamformer provides the
maximum output SNR for the case that no directional jammer operating at the same
frequency exists, but it is not effective in the presence of directional jammers, intentional or
unintentional [50].
1.1.13 Optimum beamforming
In optimum beamforming techniques, a weight vector is determined which
minimizes a cost function. Such beamforming techniques are also known as statistically
optimal techniques as they determine a weight vector which is optimum in some statistical
sense. Typically, this cost function is inversely associated with the quality of the signal at
the array output. Two of the most popular techniques which have been applied extensively
in communication systems are the Minimum Mean Square Error (MMSE) and Least
Table 5-1 Statistically optimum beamforming techniques [44]
MMSE Max SNR LCMV
67
5 Smart Antenna in WCDMA
c
r
i
t
e
r
i
a
Minimize the
difference between
the output of the
array and some
desired response
Maximize the ratio of the power in
the desired signal component to the
power in the noise component at the
array output
Minimize the variance at
the output of the array
subject to linear
constraints. For a single
constraint, this
corresponds to forcing the
beam pattern to be a
constant in a particular
direction
C
o
s
t

F
u
n
c
t
i
o
n
J(w)= E[ | w
H
r(t)-
d(t)|
2
]
Where r(t) is the
array input and d(t) is
the desired response
J(w)=
w R w
w R w
s
H
n
H
Where R
n
is the covariance matrix of
the noise component of r(t) and R
S
is
the covariance matrix of the signal
component.
J(w)=w
H
Rw
Subject to the linear
constraint w
H
a() = g.
when g=1, this is called
the Minimum Variance
Distortionless Response
(MVRD) beamformer
O
p
t
i
m
a
l

s
o
l
u
t
i
o
n
w = R
-1
p
where R = E[r(t)
r
H
(t)]
and p = E[r(t) d
*
(t)]
R
n
-1
R
s
w =
max
w
Where
max
is the maximum
eigenvalue of R
s
w = R
-1
c[c
H
R
-1
c]
-1
g
where c = a() is the
steering vector in the
direction of constraint
A
d
v
a
n
t
a
g
e
s
Knowledge of the
DOA is not required
True maximization of SNR Generalized constraint
technique
D
i
s
a
d
v
a
n
t
a
g
e
s
Generation of
reference signal
Must know statistics of noise and
DOA of desired signal
Must know DOA of
desired component
squares (LS) criteria. In both of these techniques, the square of the difference between the
array output, z(t)=w
H
k
r
i
(t), and d
k
(t), a locally generated estimate of the desired signal for
the k
th
subscriber, is minimized by finding an appropriated weight vector, w
k
. MMSE
solutions are posed in terms of ensemble averages and produce a single weight vector, w
k
,
which is optimal over the ensemble of possible realizations of the stationary environment
[25], [44], [53-54].
There are other techniques which can be used to form statistically optimal beam
patterns based on data received by the array. The statistically optimal beamforming
techniques are shown in Table 5.1. The Max SNR approach which maximizes the actual
SNR at the array output and the Linearly Constrained Minimum Variance (LCMV)
68
5 Smart Antenna in WCDMA
approach, require knowledge of Direction of Arrival (DOA) of the desired signal which is
not typically known in mobile and portable wireless systems [44], [53-54].
1.1.14 Adaptive beamforming
Since in practice situations, the R used in optimal beamformer above are not available
to calculate the optimal weights of the array. Adaptive techniques are often used with
iterative approach which provides an updated weight vector w, after each computation.
Typically, these algorithms have a per-step complexity which is much lower than the direct
solution in optimal beamformer above, and can track non-stationary channels. The adaptive
algorithm operates either in block mode or recursive mode. In block estimation the input data
stream is arranged in the form of blocks of equal length (duration), and the current weight
vector w(i) is adjusted on a block-by-block basis. In recursive estimation, on the other hand,
the tap weights of spatial processor are updated on a sample-by-sample basis [25], [44], [52-
53]. An adaptive solution which minimizes the cost function is
w
i+1
= w
i

2

J(w
i
) (5.13)
Where is the convergence factor which controls the rate of adaptation, and J(w
i
) is the
gradient of a function J(k), which is given
J(k)= E[ | (k)|
2
] (5.14)
Where (k) is the a priori estimation error defined by
(k) = d(k) - w
H
(k-1) r(k)

(5.15)
The function J(w) is the cost function which defines an error performance surface.
There are a large number of adaptive beamforming algorithms. One of them, RLS
(Recursive Least Squares) algorithms, is well known to pursue fast convergence even when
the eigenvalue spread of the input signal correlation matrix is large. In RLS algorithms, we
minimize the cost function
J(k) =

n
i
i n
1

(| (k)|
2
) (5.16)
Where 1<< 1 is the exponential weighting factor or forgetting factor, i=1,2,...,n. When
equals 1, we have the ordinary methods of least squares. The inverse of 1- is, roughly
speaking, a measure of the memory of the algorithms. The special case =1 corresponds to
infinite memory.
The RLS family of linear adaptive filtering algorithms is classified 3 into distinct
categories [55]:
Standard RLS algorithm, which assumes the use of a transversal filter as the
structural basis of the linear adaptive filter.
69
5 Smart Antenna in WCDMA
Square-root RLS algorithms, which are based on QR-decomposition of the
incoming data matrix.
Fast RLS algorithms, which combine the desirable characteristics of recursive
linear least squares estimation by the use of linear least-squares predictionin both
the forward and backward directions. Two types fast RLS algorithms may be
identified
Order-recursive adaptive filters, which are based on a lattice like structure for
making linear forward and backward predictions.
Fast transversal filters, in which the linear forward and backward predictions
are performed using separate transversal filters.
In a nonstationary environment, the algorithm is required to continuously track
the statistical variations of the input, the occurrence of which is assumed to be slow
enough for tracking to be feasible. Tracking is a steady-state phenomenon. This is to be
contrasted with convergence, which is transient phenomenon. An adaptive filter must first
pass through the transient mode to the steady-state mode of operation to exercise its
tracking capability. And there must be provision for continuous adjustment of the free
parameters of the filter.
For RLS algorithms, how to optimally choose the forgetting factor when details of
the underlying physical model of the system and its variability with time are not known? In
this work the RLS algorithm with adaptive memory will be reviewed to automatically tune
the forgetting factor [55].
RLS algorithm with adaptive memory
Define gradient

) (k
=

) (k w
(5.17)
Differentiating the cost function J(k) with respect to yields
2
1 ) (
) (

k J
n
E[ ) ( ) 1 ( ) ( ) ( ) ( ) 1 (
*
k k k r k k r k
H H
+ ]
(5.18)
The updated weight vector for time k is given by gain vector G(k) = P(k) r(k)
w(k)= w(k-1) + G(k)
*
(k) (5.19)
Where G(k) is gain vector
G(k) =
) ( ) 1 ( ) ( 1
) ( ) 1 (
1
1
k r k P k r
k r k P
H
+

(5.20)
And
70
5 Smart Antenna in WCDMA
P(k) =
-1
P(k-1) -
-1
G(k) r
H
(k) P(k-1) (5.21)
Let S(k) denote the derivative of the inverse correlation matrix P(k) with respect to :
S(k) =

) (k P
(5.22)
Differentiating Eq. (5.21) with respect to
S(k) =
-1
[I - G(k) r
H
(k)] S(k-1) [I - r (k)G
H
(k)]+
-1
G(k) G
H
(k)-
-1
P(k) (5.23)
Then using Eqs. (5.15), (5.19), and (5.22) in Eq. (5.17) yields
) (k
= [I - G(k) r
H
(k)]
) 1 ( k
+ S(k) r(k)
*
(k) (5.24)
According to Eq. (5.18) , the forgetting factor (k) is adaptively computed
(k)= (k-1)+ Re[ ) 1 ( k
H
r(k)
*
(k)] (5.25)
Where is a small, positive learning rate parameter.
The applicability of the RLS algorithm requires that we initialize the recursion of
the Eq. (5.21) by choosing a starting value P(0) that assures the nonsingularity of the
correlation matrix [55]. To meet this requirement we may choose the initial value of P(k)
with
P(0)=
-1
I (5.26)
Where is the small positive constant.
And the initial value of weight vector is set to
w(0) = 0 (5.27)
Where 0 is the N-by-1 null vector.
The initialization procedure incorporating Equation (5.26) and (5.27) is referred to as a
soft constrained initialization. The positive is that it should be small compared to 0.01
2
,
where
2
is the variance of a data sample r(k). Such a choice is based on practical
experience with the RLS algorithm supported by a statistical analysis of the soft
constrained initialization of the algorithm [55]. Now we may summarize the RLS algorithm
with adaptive memory as follows:
Starting with the initial values

) 0 ( w
, P(0), (0), S(0), and

) 0 (
, compute for n>0 :
G(k) =
) ( ) 1 ( ) ( 1
) ( ) 1 (
1
1
k r k P k r
k r k P
H
+

(k) = d(k) - w
H
(k-1) r(k)
w(k)= w (k-1) + G(k)
*
(k)
71
5 Smart Antenna in WCDMA
P(k) =
-1
P(k-1) -
-1
G(k) r
H
(k) P(k-1)
(k)= (k-1)+ Re[ ) 1 ( k
H
r(k)
*
(k)]]

S(k) =
-1
[I - G(k) r
H
(k)] S(k-1) [I - r (k)G
H
(k)]+
-1
G(k) G
H
(k)-
-1
P(k)

) (k
= [I - G(k) r
H
(k)] ) 1 ( k
H
+ S(k) r(k)
*
(k)
The convergence behaviour for are illustrated through the learning curves depicted
in Fig. 5.5, where in this case = 0.001, = 0.01
+
=1, -=0.82, MS is moving at the speed
8.1 Km/h, processing gain equal 16. The channel data is updated symbol by symbol, this
means the channel data is updated once every 16 chips. The estimated MSE was plotted
only for the first 300 iterations in chip level, enough to display the convergence behaviour.
The fast convergence of this algorithm is traded off high computational complexity.
4.4 Conclusion
In this chapter, different types of smart antennas are classified and reviewed. The
signal modeling for smart antenna system is developed in order to analyze the
beamforming algorithms. In beamforming techniques, bemforming techniques are
classified and their characteristics are compared. The conventional beamforming and RLS
algorithm with adaptive memory are studied in detailed. RLS algorithm with adaptive
memory can continuously track the time-varying channel and obtain fast convergence by
the trading off high computation complexity.
Figure 5.5 The learning curve for the RLS algorithms with
adaptive memeory with = 0.001, = 0.01
+
=1, -=0.82,
72
5 Smart Antenna in WCDMA
73
6 Simulation
5 Simulation
Abstract
In this chapter, we present the results of the simulation. The system described in
Chapter 2 is simulated using the concepts and models presented in Chapters 3, 4 and 5.
The simulations provide results for performance of WCDMA uplink communication with
spreading and multipath diversity, multiple access interference cancellation and spatial
processing in smart antenna implemented. Results are provided for the performance of the
system in a multipath environment as well. Quantization results are also given for
WCDMA uplink communication for a comparative view.
5.1 System Setup
We consider only uplink simulation. The basic simulation block diagram of WCDMA
is shown in Fig. 6.1 and Fig 6.2. In the transmitter MS, BPSK is chosen as the modulation
method. Spreading and scrambling techniques, and root raised cosine filter is used for pulse
shaping filter. In the receiver BTS, a space-time two-dimensional (2D) RAKE receiver is
adopted in the BTS as different multipath components arrive at the receiver with different
time delay and different directions. In the structure, the weight vector for each RAKE
finger is adjusted by spatial processing. It takes advantage of all correlated components
arriving within path delay of one chip period to which the finger is locked. The diversity
combining is then used to combine the output from each RAKE finger. This is followed by
multiuser detection algorithms, decorrelating detector and linear MMSE detector to cancel
the multiple access interference. Finally, the polarity check method is adopted for the
symbol decision.
spreading
scrambling
bit
rate
chip
rate
chip
rate Modulation
(BPSK)
Pulse
shaping
filter
Channel
h
(1)
(t)
d
K
(i)
( user K)
MAI
Figure 6.1 Simulation diagram of transmitters of WCDMA in uplink
d
2
(i)
( user 2)
Modulation
(BPSK)
Pulse
shaping
filter
Channel
h
(2)
(t)
Modulation
(BPSK)
Pulse
shaping
filter
Channel
h
(K)
(t)



d
1
(i)
( user 1)
74
6 Simulation
75
6 Simulation
To enable statistically valid simulation results in reasonable simulation times, Monte
Carlo methods are used during the simulation. Certain assumptions were used throughout
to simplify the simulation.
Transmitted symbols genereration of each user
Position generationof each user
Load channel parameters
Modualtion , spreading, scrambling and filtering of transmitted symbols
Radio Channel fading
Rescontructing the composite received signal trasnmitted from all users
Loop(Monte Carlo)
loop< max_loop
Inner loop
SNR <= max_SNR
Adding white noise by the specified SNR
Temporal processing , RAKE receiver
Multiuser detection
Initiating parameters
Walsh code and gold code or random sequence generation
Filtering the users signature sequences codes for each user
BER calculation
Average BER calculation for all loops and the curve generation
end
Yes
No
Yes
No
Figure 6.3 Flowchart of the simulation
Spatial processing
Symbol decision
76
6 Simulation
During simulation, the RF frequency is 2 GHz, the chip rate is 3.84Mcps and the
channel parameters are updated symbol by symbol by MS moving.
The noise components observed at all the receivers have identical, independent
Gaussian distribution and are spatially and temporally white.
The signals transmitted from different users are independent and Gaussian distributed
and are temporally white. The signals from different users are sent asynchronously.
In each transmitter MS, BPSK modulation method is employed, and root raised cosine
matched filter is used for the chip pulse shaping before the data are sent to the radio
channel..
For the RAKE receiver, we assume that the number of fingers M employed in the
RAKE receiver is equal to the number of channel paths L. In non ideal cases, when M < L
or M > L, the system performance degrades. Therefore, the matched case provides the
optimally achievable performance reference.
Within the simulation, the system does not use any kind of error coding, i.e. it is an
uncoded and there is no power control in the system.
The simulation will continue until the number of simulation loops reaches a specified
maximum number of loops. The flowchart of the simulation is shown in Fig. 6.3.
The acquisition and synchronization of the PN sequences for each user are obtained
perfectly. The performance will be degraded because of timing error [40]. The spreading
code is Walsh code and scrambling code is the gold sequence.
Assume the receiver acquires the channel information perfectly.
The hard decision is employed for the symbol decision in the receiver.
BS
Figure 6.4 Simulation area and the related BS and MS route
MS location
77
6 Simulation
5.2 Channel
The simulation gives an approach to obtain the channel data for a given special area.
Ray tracing channel simulator, widely used simulation program, calculates all line of sight
(LOS) and non line of sight (NLOS) paths up to some threshold level based on the
geometry of a given scenario, reflection diffraction and scattering propagation models, and
gives the channel impulse response data for the given special area.
A ray tracing program developed by Radio plan company in German is used to obtain
the channel data in this simulation. The simulation area is the campus area of Dresden
University of Technology. The location of base station and the route of mobile station are
shown in Fig. 6.4. The channel impulse response are calculated assuming that the carrier
frequency is 2GHz, and the Noise Floor is 160dB, the time resolution is 0.26us
(=1/3.85Mcps). Fig. 6.5 shows the channel impulse response.
5.3 System Performance
1.1.15 Performance without RAKE receiver and with RAKE receiver
Fig. 6.6 shows the performance with RAKE receiver and without RAKE receiver
for a single user. In this simulation, the user sends 10 symbols within each loop. The
maximum loop is equal to 100. 1000 symbols are sent totally by the user. The symbols are
modulated by BPSK. Then the data are spread by Walsh code and scrambled by Gold code
with PG 8. The channel parameters are updated by MS moving with the speed 2.7km/hour.
Figure 6.5 Channel Impulse Response
78
6 Simulation
In the receiver, only one omnidirectional antenna is used. No spatial processing is adopted.
Equal Gain Combining method is used in RAKE. With lower SNR in Fig. 6.6, the system
performance is not improved so much, however, along with the SNR increase, the
performance can be improved an order of magnitude. For example, when SNR equal 40
dB, the BER is 10
-2.8
and 10
-0.8
respectively.
BER
SNR (dB)
Figure 6.7 Performance of 1-D RAKE with EGC or Selection Combining for
single user
Figure 6.6 The system performance of 1-D RAKE and conventional mathed
filter for single user
79
6 Simulation
1.1.16 Performance of 1-D RAKE Receiver with EGC or Selection Combining
Implementation of the maximal ratio combiner is expensive since the weights need
both amplitude and phase tracking of the channel response. Furthermore, linear amplifiers
and phase shifters over a large dynamic range of input signals are needed. Fig. 6.7
illustrates the performance difference of the RAKE with EGC and Selection Combining. In
this simulation, one user sends 10 symbols within each loop. The maximum loop is equal to
100. 1000 symbols are sent totally by the user.Then the data are spread by Walsh code and
scrambled by Gold code with PG 8. The channel parameters are updated by MS moving
with the speed 2.7km/hour. In the receiver, no antenna array and spatial processing is used.
Equal Gain Combining and selection combining method are used in RAKE. As analyzing
in Chapter 4, RAKE with EGC or MRC cause IPI and ISI. With EGC, the performance can
improve somehow, but it couldnt improve so much. Fig.6.7 clearly demonstrates the
improvement with EGC.
1.1.17 Performance of 1-D RAKE receiver with Decorrelating Detector and MMSE
Fig. 6.8 clearly shows the importance of multiuser detection (MUD). In this
simulation, 3 active users send 10 symbols respectively within each loop. The maximum
loop is equal to 100. 3000 symbols are sent totally by the user. Then the data are spread by
Walsh code and scrambled by Gold code with PG 8. The channel parameters are updated
by MS moving with the speed 2.7km/hour. In the receiver, no antenna array and spatial
processing is adopted. The received signal is processed with 1-D RAKE and conventional
matched filter respectively. Equal Gain Combining method is used in RAKE. Decorrelating
Figure 6.8 The system performance of 1-D RAKE with Decorrelating Detector and MMSE
80
6 Simulation
detector and LMMSE detector are adopted to cancel the multiple access interference.
Without MUD, the performance of 1-D RAKE couldnt improve although SNR increases.
With MUD, the system performance can improve more than 10
2
at high SNR. At the same
time, Fig.6.8 shows that LMMSE detector generally performs better in terms of BER than
the decorrelating detector since background noise is taken into account, this corresponds to
the analysing in chapter 4.
1.1.18 Performance with PN sequence and Random Sequence
Fig. 6.9 clearly shows the improvement of performance when the signal is spread by
Walsh code and scrambled by Gold sequence comparing with that of spreading with
random sequence. In this simulation, 3 active users send 10 symbols respectively within
each loop. The maximum loop is equal to 100. 3000 symbols are sent totally by the user.
Then the data are spread by Walsh code and scrambled by Gold code. The same data are
also spread by random sequence. The processing gain is 8 for both spreading cases. The
channel parameters are updated by MS moving with the speed 2.7km/hour. In the receiver,
no antenna array and spatial processing is adopted. The received signal is processed 1-D
RAKE and conventional matched filter respectively. Equal Gain Combining method is
used in RAKE. Decorrelating detector is employed to cancel the multiple access
interference.
In Fig. 6.9, With Walsh and Gold sequence, the performance of 1-D RAKE with
Decorrelating Detector can improve more than 10 dB at high SNR. This corresponds to the
theoritical analyze in chapter 3. This illustrates that Walsh code and Gold code have much
better autocorrelation and crosscorrelation properties than that of random sequnece.
Figure 6.9 The system performance of 1-D RAKE with Gold code and random code
spreading with decorrelating detection (DD)
81
6 Simulation
1.1.19 Performance with Processing Gain
Fig. 6.10 indicates the processing gain influence to the system performance. In this
simulation, 3 active users send 10 symbols respectively within each loop. The maximum
loop is equal to 100. 3000 symbols are sent totally by the user. Then the data are spread by
Walsh code and scrambled by Gold code with PG 8 and PG 32 respectively. The channel
parameters are updated by MS moving with the speed 2.7 km/hour. In the receiver, no
antenna array and spatial processing is adopted. The received signal is processed with 1-D
RAKE and conventional matched filter respectively. Equal Gain Combining method is
used in RAKE. Decorrelating detector is employed to cancel the multiple access
interference.
In Fig. 6.10, for example, when desired SNR equals to 40 dB, the BER with PG 32 and
PG 8 is 10
-2.72
, 10
-1.9
respectively for the receiver used 1-D RAKE and MMSE. Or the
performance with PG 32 improves more than 10 dB when the target BER equals to 10
-2.9
for the receiver with 1-D RAKE and MMSE. This corresponds to the principle analyzed in
chapter 3. Processing gain is one of imporant factors for multiple access interfered system
such as WCDMA.
1.1.20 Performance with adaptive MUD- RLS algorithm with adaptive memory
Fig. 6.11 indicates system performance with RLS algorithm with adaptive memory. In
this simulation, 3 active users send 50 symbols respectively within each loop. The
maximum loop is equal to 10. 1500 symbols are sent totally by the users. Then the data are
Figure 6.10 System performance of 1-D RAKE with different processing gain
82
6 Simulation
spread by Walsh code with PG 8 . The channel parameters are updated by MS moving with
the speed 0.27 km/hour. In the receiver, no antenna array and spatial processing is adopted.
The received signal is processed with 1-D RAKE and conventional matched filter
respectively, this is followed the adaptive RLS algorithm with adaptive memory for MUD.
To cancel the multiple access interference.
Figure 6.11 The system performance of 1-D RAKE with adaptive MUD algorithms
Fig. 6.11 indicates the RLS algorithm with adaptive memory can well track non
stationary channel and get convergence to improve the system performance although the
channel varies symbol by symol, i.e. the channel varies at the symbol rate. It is not easy for
many other adaptive algorithms to get fast convergence when the channel varies at symbol
rate.
1.1.21 Performance with Smart Antenna
Conventional beamforming algorithm
Fig.6.12 shows the performance improvement with conventional beamforming
algorithm described in Chapter 5. In this simulation, 3 active users send 10 symbols
respectively within each loop. The maximum loop is equal to 100. 3000 symbols are sent
totally by the users. Then the data are spread by Walsh code and scrambled by Gold code
with PG 32. The channel parameters are updated by MS moving with the speed 2.7
km/hour. In the receiver, an ULA antenna array is employed, it has 3 antenna elements and
the distance between antenna elements is half of waveform length. Conventional
beamforming is employed for spatial processing. 2D RAKE receiver model in Fig. 6.2 is
adopted. Equal Gain Combining is selected to use. Decorrelating detector or LMMSE
detector are used to cancel the multiple access interference. In Fig. 6.12, for example, when
SNR equal to 30 dB, the BER with 1-D RAKE with MMSE equal to 10
-1.6
, and the BER
0 10 20 30 40 50 60 70 80
10
-2
10
-1
10
0
System performance
SNR (dB)
B
E
R
Conventional
adaptive MUD(RLS)
RAKE adaptive MUD(RLS)
Rake
83
6 Simulation
with 2-D RAKE with MMSE and conventional beamforming algorithm equal to 10
-2.3
.
Conventional beamforming algorithms can improve the system performance somehow, this
is corresponds to the analysis in Chapter 5.
RLS algorithms with adaptive memory
Fig.6.13 shows the performance improvement with RLS algorithm with adaptive
memory for spatial processing described in Chapter 5. In this simulation, 3 active users
send 5 symbols respectively within each loop. The maximum loop is equal to 100. 1500
symbols are sent totally by the user. Then the data are spread by Walsh code and scrambled
by Gold code with PG 16. The channel parameters are updated by MS moving with the
speed 2.7km/hour. In the receiver, an ULA antenna array is employed, it has 3 antenna
elements and the distance between antenna elements is half of waveform length. 2D RAKE
receiver model in Fig. 6.2 is employed. RLS algorithm with adaptive memory is employed
for spatial processing, the minimum value of forgetting factor, _, equals to 0.86, and
maximum value of forgetting factor,
+,
is 1.
RLS algorithm with adaptive memory has important influence to the system than
that of the conventional beamforming algorithm above. In Fig. 6.13, for example, when
SNR equal to 30 dB, the BER with1-D RAKE equal to 10
-1.5
, and the BER of 2-D RAKE
with RLS algorithm with adaptive memory equal to 10
-2.9
. It can get fast convergence to
improve the system performance although the channel varied at the symbol rate. This is
corresponds to the analysis in Chapter 5.
Figure 6.12 The system performance with of 2-D RAKE with conventional
beamforming algorithm for spatial processing
84
6 Simulation

Figure 6.13 The system performance 2-RAKE receiver with RLS algorithm
with adaptive memory for spatial processing, for the forgetting
factor, _= 0.86,
+
=1
0 10 20 30 40 50 60 70 80
10
-2
10
-1
10
0
System performance
SNR (dB)
B
E
R
Conventional
Rake
SA RAKE
SA RAKE adaptive MUD(RLS)
Figure 6.14 The system performance 2-RAKE receiver with RLS algorithm
with adaptive memory for spatial processingand MUD
where the forgetting factor is _= 0.86,
+
=1
85
6 Simulation
However, when the number of antenna elements is less than the number of active
users, the spacial process cannot completely null out the interference. Fig 6.14 illustrate this
problem, where the number of antenna elements equal to 2, and 3 active users send 50
symbols respectively within each loop. The maximum loop is equal to 10. 1500 symbols
are sent totally by the users, The data are spread by Walsh code with PG 8. The channel
parameters are updated by MS moving with the speed 0.27 km/hour. In this case, it is
necessary to employ MUD algorithm to cancel the interference, where the same algorithm
as the spatial processing, RLS algorithm with adaptive memory is used again for MUD.
This figure indicates the 2-D RAKE receiver with adaptive MUD can work well to improve
the system performance.
5.4 Conclusion
In this chapter, the system performance with PN sequence, different processing gain,
RAKE, MUD and spatial filtering are simulated and compared with the theory. These
results show the importance of these techniques to WCDMA system. The system capacity
with these techniques can increase and satisfy the demand of capacity.
86
7.Conclusion
6 Conclusion
6.1 Summary of Research
We implemented a signal simulator according to the physical layer specification of the
IMT-2000 WCDMA system. The system model is developed by linear algebra knowledge.
This provides a very useful and easy way to get insight into problem. The data is spread by
Walsh codes and scrambled by Gold codes, the chip signal is filtered by root raised cosine
filter before transmitted through a time varying channel. The channel model build on the
classical understanding of fading, Doppler spread, delay spread, and incorporates additional
concepts such as direction of arrival and antenna array geometry. There are a variety of
models used to obtain the channel parameters, these models can be divided into 2 groups:
general statistical based models and entirely site-specific models. The first group is useful
for general system performance analysis. The second group, e.g. ray tracing, has the
potential to be extremely accurate, but is only valid for the special area. The ray tracing
method is used to obtain the channel data in this work.
The transmitted signal is corrupted by multipath and multiple access interference. The
signal is further corrupted by AWGN at the front end of the receiver. Beamforing, RAKE
and multiuser detection are employed at the receiver. Several simulations were carried out
for estimation of the performance of WCDMA with spreading and scrambling, smart
antenna, RAKE and multiuser detection techniques. We investigated the bit error rate in
uplink. As expected the system is interference limited for number of users. The simulation
shows the importance of the good autocorrelation and cross correlation of PN sequence.
The processing gain is also one important factor to reduce the multiple access interference.
The robustness to multipath in the simulation are shown and achieved by taking advantage
of the multiple fingers of the RAKE. The benefits obtained by spatial processing has been
shown in the simulation. The advantage of using multiuser detection was maintained
throughout.
The developed simulator can be an invaluable tool to investigate the performance of a
WCDMA under various conditions. As for example the simulator can be used to
investigate channel coding schemes at the receiver. The simulator is flexible and one can
easily make the necessary modification to incorporate complex statistical channel model
based on measurement and investigate the WCDMA performance under practical mobile
87
7.Conclusion
channel condition. The simulator can be used to investigate the gain of different adaptive
algorithms.
6.2 Future Work
The simulator is implemented in Matlab. It is time consuming especially for large
amount of matrix usage for digital signal processing within physical layer. Parallel
programming is one of the best solutions by taking advantage of multiprocessing with
multiprocessor simultaneously. Parallel programming can speed up the execution of a
program by dividing into multiple fragments that can be executed simultaneously, each on
its own processor. The simulator can be further improved by program in parallel in future.
88
Reference
References
[1] H. Holma and A. Toskala, WCDMA for UMTS, Radio Access For Third
Generation Mobile Communication , John Wiley & Sons, Inc., 2000
[2] K. Okawa, Y. Okumura, M. Sawahashi and F. Adachi, 1.92Mbps data transmission
experiments over a coherent W-CDMA mobile radio link, in the proceedings of the
IEEE Vehicular Technology Conference, pp. 1300-1304,May 1998, Ottawa, Ontario.
[3] J. G. Proakis, Digital Communication, 3
rd
edition,McGraw-hill,1995.
[4] W. C. Jakes, Microwave mobile communication, IEEE Press Classis Reisse,1974.
[5] T. S. Rappaport, Wireless Communication Principle & Practice, Prentice hall ,1998.
[6] A. J. Viterbi, CDMA Principles of Spread Spectrum Communication, Addison-
Wesley 1995.
[7] Esmael H. Dinan and Bijan Jabbari, "Spreading Codes for Direct Sequence CDMA
and Wideband CDMA Cellular Networks," IEEE Communications Magazine, vol. 36,
pp. 48-54, September 1998.
[8] Third Generation Partnership Project Technical Specification Group Radio Access
Network Working Group 1," Spreading and Modulation," TS 25.213 V2.1.2 (1999-4).
[9] Third Generation Partnership Project Technical Specification Group Radio Access
Network Working Group 1, " Physical Channels and Mapping of Transport Channels
onto Physical Channels (FDD)," TS 25.211 V2.2.1 (1999-08).
[10] R. L. Peterson, R. E.Ziemer, D. E. Borth, Introduction to Spread Spectrum
Communication, Prentice Hall ,1995.
[11] Kevin Laird, Nick Whinnet, and Soodesh Buljore, " A Peak-To-Average Power
Reduction Method for Third Generation CDMA Reverse Links, in Proc., IEEE
Vehicular Technology Conference, 1999.
[12] L.C.Godara, Application of antenna arrays to mobile communication, part :
Performance improvement, feasibility, and system considerations, Proceedings of the
IEEE, vol. 85, pp. 1031-1060, July 1997.
[13] L.C.Godara, Application of antenna arrays to mobile communication, part :
Beamforming and direction-of-arrival considerations, Proceedings of the IEEE, vol.
85, pp. 1195-1245, Aug.1997.
[14] U. Grob et al., Microcellular direct-sequence spread-spectrum radio system
using N -path RAKE receiver, IEEE J. Select. Areas Commun., vol. 5, pp. 772780,
June 1990.
[15] S. Allpress et al., An investigation of RAKE receiver operation in an urban
environment for various spreading bandwidth allocations, in Proc. 1992 IEEE Veh.
Technol. Conf., Denver, CO, May 1992, pp.506510.
[16] N. Chan, Multipath propagation effects on a CDMA cellular system, IEEE
Trans. Veh. Technol., vol. 43, pp. 848855, Nov. 1994.
89
Reference
[17] P. Van Rooyen et al., Performance of coded SSMA system and RAKE reception
on a Nakagami fading environment, in Proc. 1994 Int. Symp. Inform. Theory, Sydney,
Australia, Nov. 1994, pp. 121125.
[18] K.Wu and S.Tsaur, Selection diversity for DS-SSMA communications on
Nakagami fading channels, IEEE Trans. Veh. Technol., vol. 43, pp.428438, Aug. 1994.
[19] Bottomley, G.E.; Ottosson, T.; Wang, Y.-P.E., A generalized RAKE receiver for
interference suppression , IEEE J. Select. Areas Commun., vol. 18, pp. 1536 1545,
Aug. 2000.
[20] Kyungwhoon Cheun, Performance of direct-sequence spread-spectrum RAKE
receivers with random spreading sequences , IEEE Trans. Commun., vol. 45, pp. 1130
-1143, Sept. 1997.
[21] Kansal, A.; Batalama, S.N.; Pados, D.A., Adaptive maximum SINR RAKE
filtering for DS-CDMA multipath fading channels , IEEE J. Select. Areas Commun.,
vol. 16, pp. 1765 1773, Dec. 1998.
[22] Hui Liu; Kemin Li, A decorrelating RAKE receiver for CDMA Communications
over frequency-selective fading channels , IEEE Trans. Commun., vol.47, pp. 1036
1045, July 1999.
[23] L. Ahlin, J. Zander, Principles of Wireless Communications, Lund 1997,
Studentlitteratur, 527p.
[24] S. Striglis, A Multistage RAKE Receiver for CDMA System, Masters Thesis in
Electrical Engineering, Virginia Polytechnic Institute and State University, Blacksburg,
VA, Aug. 1994.
[25] P.V. Rooyen; M.Ltter; D.V.Wyk, Space-Time Processing for CDMA Mobile
Communications, Kluer Academic Publishers, 2000.
[26]Michel C. Jeruchim; Philip Balaban; K. Sam Shanmugan, Simulation of
Communication Systems: Modeling, Methodology & Techniques, Kluer Academic
Publishers, 2000.
[27] R. Janaswamy, Radio Propagation and Smart Antennas for Wireless
Communication, Kluer Academic Publishers, 2000.
[28] K.S.Shanmugan, Optimum Detection of Code Division Multiplexed Signals,
IEEE Trans. Aerospace Electronic Syst., vol. AES-15, no. 1, pp. 181-185, Jan. 1979.
[29] R. Kohno, M. Hatori, and H. Imai, Cancellation Techniques of Co-channel
Interference in Asynchrounous Spread Spectrum Multiple Access Systems,
Electronics and Communications, vol. 66-A, no. 5, pp. 20-29, 1983.
[30] S. Verdu, Minimum Probability of Error for Asynchronous Gaussian Multiple
Access Channels, IEEE Trans. Info. Theory, vol. IT-32, no. 1, pp.85-96, Jan. 986.
[31] Duel-Hallen, A.; Holtzman, J.; Zvonar, Z., Multiuser detection for CDMA
systems , IEEE Personal Communications , Vol. 2, April 1995 pp.46 58.
[32] Woodward, G.; Vucetic, B.S., Adaptive detection for DS-CDMA, Proceedings of
the IEEE, Vol. 86, July 1998, pp. 1413 1434.
[33] Neng Wang; Wei-Ping Zhu; Baoyu Zheng, Blind multiuser detection for DS-
90
Reference
CDMA systems: a neural network approach, Circuits and Systems, 1999. ISCAS '99.
Proceedings of the 1999 IEEE International Symposium on, Vol. 5, 1999, pp. 603 606.
[34] Li-Chung Chu; Mitra, U., Trellis-based multiuser detection for DS-CDMA
systems in mismatched asynchronous flat-fading channels, Wireless Communications
and Networking Conference, IEEE, 1999 vol.3, pp.134 1138.
[35] Do-Sik Yoo; Hafeez, A.; Stark, W.E., Trellis-based multiuser detection for DS-
CDMA systems with frequency-selective fading, Wireless Communications and
Networking Conference, IEEE, 1999, vol.2. pp. 829 833.
[36] R. Lupas and S. Verdu, Linear Multiuser Detectors for Synchronous Code-
Division-Multiple-Access Channels, IEEE Trans. Info. Theory, vol. 35, no.1, pp.123-
136, Jan. 1989.
[37] A. Duel-Hallen, Decorellating Decision-Feedback Multiuser Detector for
Synchrounous Code-Division Multiple-Access Channel, IEEE Transaction on
Communications, Vol. 41, no. 2, pp. 285-290, February 1993.
[38] Klein, A.; Kaleh, G.K.; Baier, P.W., Zero forcing and minimum mean-square-
error equalization for multiuser detection in code-division multiple-access channels,
IEEE Trans. Veh. Technol, Vol. 45, pp. 276 287, May 1996
[39] Honig, M.; Tsatsanis, M.K., Adaptive techniques for multiuser CDMA receivers ,
IEEE Signal Processing Magazine , Vol. 17, pp.49-61, May 2000 .
[40] R. M. Buehrer, N. S. Correal, and B. D. Woerner, A Comparison of Multiuser
Receivers for Cellular CDMA, IEEE Transactions on Vehicular Technology, June 1996.
[41] Jung, P.; Blanz, J., Joint detection with coherent receiver antenna diversity in
CDMA mobile radio systems, IEEE Trans. Veh. Technol, Vol. 44, pp. 76 88, Feb.
1995.
[42] R. Janaswamy, Radio Propagation and Smart Antennas for Wireless
Communication, Kluwer Academic Publishers, 2001.
[43] G. V. Tsoulos, Smart Antenna for mobile communication systems: benifits and
challenges, Electronics & Communication Engineering Journal, April 1999
[44] J. C. Liberti, Jr. Bellccore, T. S. Rappaport, Smart Antenna for Wireless
Communications: IS-95 and Third Generation CDMA Applications, Prentice Hall,
1999.
[45] M. Torlak, Estimation and Capacity of Channels in Smart Antenna Wireless
Communication, Ph. D thesis, The University of Texas at Dallas,1999.
[46] V. R. Swarts & L. Oppermann, CDMA Techniques for Third Generation Mobile
Systems, Kluwer Academic Publishers, 1999.
[47] A. Boukalov & Hggman, S-G. System Aspects of Smart Antenna Technology in
Cellular Wireless Communication-An Overview, IEEE Transactions on Microwave
Theory and Techniques, 2000. Vol. 48, nro 6, s. 919-929.
[48] A. Boukalov, A. Ren & S. J. Halme, New Cellular Wireless System Concept for
Very High Bit Rate Data Transmission with Smart Antennas at the Mobile and Base
Station.IEEE Radio and Wireless Conference - RAWCON 2000, 10.-13.9.2000, Denver,
Colorado, USA.
[49] A. Boukalov, Introduction to Smart Antennas Techniques and Algorithms,
Workshop on Smart Antennas Technology and Applications at RAWCON 99, 1st August
1999.
[50] M. Chryssomallis, Smart antennas, IEEE Antennas and Propagation Magazine ,
Vol. 42 pp. 129 -136, June 2000
91
Reference
[51] R. Kohno, Spatial and temporal communication theory using adaptive antenna
array, IEEE Personal Communications, Vol. 5 pp. 28 -35, Feb. 1998
[52] R. B. Ertel, P. Cardieri, K. W. Sowerby, T. S. Rappaport, J. H. Reed, Overview of
spatial channel models for antenna array communication systems, IEEE Personal
Communications, Vol. 5, pp. 10-22, Feb. 1998
[53] L.C. Godara, Application of antenna arrays to mobile communications. II.
Beam-forming and direction-of-arrival considerations, IEEE Proceedings, Vol. 85 pp.
1195 -1245, Aug. 1997
[54] B.D. Van Veen & K.M. Buckley, Beamforming: a versatile approach to spatial
filtering, IEEE ASSP Magazine, Vol.5, pp. 4 24,April 1988
[55] S. Haykin, Adaptive filter theory, the 3
rd
edition, Prentice Hall, 1996, 989 Pages
[56] Hubing, N.E., and S.T. Alexander. Statistical analysis of the soft constained
initialization of recursive least squares algorithms, in Proc. ICASSP, Albuquerque, N.
Mex. 1990
[57] A. Burr, Modulation and Coding for Wireless Communications, Prentice Hall, 1
edition, 2001.
[58] S. Verdu, Multiuser Detection, Cambridge University Press., 1998
92
Appendix
Appendix
Notes: In the following source codes, they are comments between 2 signs % , %.......
%,
1. Main function
clear all;
time1=cputime;
L=10; % the length of transmitted symbols vector for from every user%
K=3; % the number of the active users%
N=32; % the length of spreading sequence NOTE: N >= K, each user has a unique PN code with that of
other users!%
MS_v=20*0.27; % the MS speed, km/hour%
Q=4; % Upsampling factor of PN sequence for Pulse shaping filter%
num_antenna=3; % the Number of antenna elements in the Receiver%
d_lamda=1*0.5; % The normalized distance between the ULA antenna elements %
%------user signature waveform generation by zero-padded and pulse shape filtered spraeding and scrambling
sequence%
H=user_signature_waveform(N,K,L,Q); %
%---Desired SNR value in decibels -----%
snr_db=0:2:80; snr=10.^(snr_db/10);
Num_loop=100;
ratio_SA(1,1:length(snr))=1; ratio_SA_RAKE(1,1:length(snr))=1;
ratio(1,1:length(snr))=1; ratio_DD(1,1:length(snr))=1; ratio_MMSE(1,1:length(snr))=1;
ratio_RAKE(1,1:length(snr))=1; ratio_RAKE_DD(1,1:length(snr))=1;
ratio_RAKE_MMSE(1,1:length(snr))=1;
% Loop according to Monte Carlo %
for loop=1:Num_loop
loop
time_loop1=cputime % test the time
clear sym data channel_MS M max_delay location_MS C S S_temp C_r ref_antenna C_MUD rake_C
rake_S rake_S_t rake_C_r rake_ref_antenna rake_C_MUD;
clear x_received sigma pre_noise x_received_rake sigma_rake pre_noise_rake ;
clear weight rake_weight r_received S_temp_r S_r matrix_received;
clear r_received_rake matrix_received_rake rake_S_temp rake_S_r ;
clear YY_SA YY YY_SA_RAKE YY_RAKE;
clear R_DD R_rake_DD R_MMSE R_rake_MMSE;
% Generate symbols transmitted %
rand('state',sum(100*clock)); sym=randint(L,K);% the data in every column is from one users (MS)%
sym=sym*2-1;
for i=1:L
for k=1:K
data((i-1)*K+k)=sym(i,k);%%% for data converting to a vector %
end
end
% Radio Channel Parameter Processing %
rand('state',sum(100*clock)); % location_MS=randint(1,K,[1,Num_P-L]);%
[channel_MS,M,max_delay,location_MS ]=channel_data_process(L,K,MS_v,N,Q);
% channel_MS: a cell array , the size is 1 X K*L, %
% {1, k+1} ...... {1, k+L}; k=1,....K %
% in each cell: Column 1 Column 2 Column 3 Column 4 Column 5
Column 6 %
% row: TxID Excess Delay Complex Channel Impulse Response DOA(rad)
Magnitude (dB/dBm) Phase(degree) %
% Matrix C S for conventional matched filter receiver %
[C,S,S_temp,C_r,ref_antenna,C_MUD]=
single_path_S_C_antenna(L,K,N,Q,H,channel_MS,num_antenna,d_lamda,data);
% S C matrix for Rake %
[rake_C, rake_S, rake_S_t, rake_C_r, rake_ref_antenna,rake_C_MUD]=
multipath_S_C_antenna(L,K,N,Q,H,channel_MS,M,max_delay,num_antenna,d_lamda,data);
93
Appendix
%-- Construct the composite signal and AWGN for single path signal %
[x_received,sigma,pre_noise]= composite_signal(S,C,data,snr);
%----------Construct the composite signal and AWGN with multipath signal %
[x_received_rake,sigma_rake,pre_noise_rake]= composite_signal(rake_S,rake_C,data,snr);
%- adding AWGN=>> spatial processing =>> RAKE =>> MUD %
for n=1:length(snr)
clear weight rake_weight r_received S_temp_r S_r matrix_received;
clear r_received_rake matrix_received_rake rake_S_temp rake_S_r ;
clear YY_SA YY YY_SA_RAKE YY_RAKE;
clear R_DD R_rake_DD R_MMSE R_rake_MMSE;
%---- received signal for single path ------%
r_received=x_received+sigma(n)*pre_noise; % adding the AWGN noise %
%------start to spatial processing -----%
if num_antenna >1
clear row col;
[row, col]=size(r_received);
clear matrix_received;
length_vector=row/num_antenna;
for i=1:num_antenna
matrix_received(i,:)=r_received((i-1)*length_vector+1:i*length_vector)';
% matrix_received is for using function spatial processing directly %
end
for k=1:K
clear temp_weight;
temp_weight=spatial(matrix_received,ref_antenna(:,k)',num_antenna);
weight(:,:,k)=temp_weight';
%weight is 3 dimensions array, each row of each array is the weights in all antenna elements for
one chip %
end
clear temp_weight ;
S_r=[];
for m=1:num_antenna
for k=1:K
for i=1:L
S_temp_r(:,(i-1)*K+k,m)=full(S_temp(:,(i-1)*K+k)).*weight(:,m,k);
end
end
S_r=sparse(blkdiag(S_r,S_temp_r(:,:,m)));
end
clear S_temp_r;
%--- the output of conventional matched filter with Spatial processing %
YY_SA=C_r'*S_r'*r_received/N;
else
YY_SA=C'*S'*r_received/N;
end
out_SA=sign(real(YY_SA))';
[num,ratio_SA(loop,n)]=symerr(data,out_SA); clear out_SA num;
%- output of the conventional matched filter -- %
if num_antenna >1
YY=C_MUD'*S_temp'*matrix_received(1,:)'/N;
else
YY=C_MUD'*S_temp'*r_received/N;
end
out=sign(real(YY))';
[num,ratio(loop,n)]=symerr(data,out); clear out num;
%-2-DRAKE, to reconstruct the multipath component --%
r_received_rake=x_received_rake+sigma_rake(n)*pre_noise_rake; % adding the AWGN noise %
% Spatial processing %
if num_antenna >1
clear row col;
94
Appendix
[row, col]=size(r_received_rake);
clear matrix_received_rake length_vector;
length_vector=row/num_antenna;
for i=1:num_antenna
matrix_received_rake(i,:)=r_received_rake((i-1)*length_vector+1:i*length_vector)';
end
for k=1:K
for p=1:M
clear temp_weight;
temp_weight=spatial(matrix_received_rake,rake_ref_antenna(:,p,k)', num_antenna);
rake_weight(:,:,p,k)=temp_weight';
%weight is 4 dimensions array, each row of each array is the weights in all antenna elements for
one chip!%
end
end
clear temp_weight;
% temporal processing
% Resconstruct S and C matrix in receiver ---
clear rake_S_temp; rake_S_r=[];
for m=1:num_antenna
for k=1:K
for p=1:M
for i=1:L
rake_S_temp(:,(i-1)*K*M+(k-1)*M+p,m)= full(rake_S_t(:,(i-1)*K*M+(k-
1)*M+p)).*rake_weight(:,m,p,k);
end
end
end
rake_S_r=sparse(blkdiag(rake_S_r,rake_S_temp(:,:,m)));
end
clear rake_S_temp;
%---- the output of 2-D RAKE %
[YY_SA_RAKE, ratio_SA_RAKE]=RAKE(loop,n,
rake_C_r,rake_S_r,r_received_rake,N,ratio_SA_RAKE, data);
else
[YY_SA_RAKE, ratio_SA_RAKE]=RAKE(loop,n,
rake_C,rake_S,r_received_rake,N,ratio_SA_RAKE, data);
end
%-------the output of 1-D RAKE output---%
if num_antenna >1
[YY_RAKE, ratio_RAKE]=RAKE(loop,n,
rake_C_MUD,rake_S_t,matrix_received_rake(1,:)',N,ratio_RAKE, data);
else
[YY_RAKE, ratio_RAKE]=RAKE(loop,n, rake_C_MUD,rake_S_t,r_received_rake,N,ratio_RAKE,
data);
end
%---Multiuser Detection of 1-D RAKE with DD or LMMSE ----%
R_DD=C_MUD'*S_temp'*S_temp*C_MUD; % the correlation matrix %
R_rake_DD=rake_C_MUD'*rake_S_t'*rake_S_t*rake_C_MUD;
R_MMSE= R_DD+ sigma(n)^2*sparse(eye(length(R_DD)));
R_rake_MMSE=R_rake_DD+sigma_rake(n)^2*sparse(eye(length(R_rake_DD)));
% DD ---%
ratio_DD =MUD(loop, n, R_DD, YY, data,ratio_DD);
ratio_RAKE_DD =MUD(loop, n, R_rake_DD, YY_RAKE, data,ratio_RAKE_DD);
% --- MMSE ----%
ratio_MMSE =MUD(loop, n, R_MMSE, YY, data,ratio_MMSE);
ratio_RAKE_MMSE=MUD(loop, n, R_rake_MMSE, YY_RAKE,data,ratio_RAKE_MMSE);
95
Appendix
% --- Adaptive MUD:RLS
for i=1:L
for k=1:K
YY_m(k,i)=YY((i-1)*K+k); % matrix,the data in each row for each user %
YY_SA_m(k,i)=YY_SA((i-1)*K+k); % matrix,the data in each row for each user %
YY_RAKE_m(k,i)=YY_RAKE((i-1)*K+k); % matrix,the data in each row for each user %
YY_SA_RAKE_m(k,i)=YY_SA_RAKE((i-1)*K+k); % matrix,the data in each row for each user
%
end
end
ref_sym=sym'; % the reference signal for MUD adaptive algorithms
clear YY YY_RAKE YY_SA YY_SA_RAKE;
for k=1:K
YY(:,:,k)=YY_m;
YY(1,:,k)=YY_m(k,:);
YY(k,:,k)=YY_m(1,:);
YY_RAKE(:,:,k)=YY_RAKE_m;
YY_RAKE(1,:,k)=YY_RAKE_m(k,:);
YY_RAKE(k,:,k)=YY_RAKE_m(1,:);
YY_SA(:,:,k)=YY_SA_m;
YY_SA(1,:,k)=YY_SA_m(k,:);
YY_SA(k,:,k)=YY_SA_m(1,:);
YY_SA_RAKE(:,:,k)=YY_SA_RAKE_m;
YY_SA_RAKE(1,:,k)=YY_SA_RAKE_m(k,:);
YY_SA_RAKE(k,:,k)=YY_SA_RAKE_m(1,:);
end
clear YY_m YY_RAKE_m YY_SA_m YY_SA_RAKE_m;
for k=1:K
out(k,:) =MUD_RLS(YY(:,:,k), ref_sym(k,:),K,L);
out_RAKE(k,:) =MUD_RLS(YY_RAKE(:,:,k), ref_sym(k,:),K,L);
out_SA(k,:) =MUD_RLS(YY_SA(:,:,k), ref_sym(k,:),K,L);
out_SA_RAKE(k,:)=MUD_RLS(YY_SA_RAKE(:,:,k),ref_sym(k,:),K,L);
end
[num, ratio_ada_RLS(loop,n)] =symerr(sign(real(out)), ref_sym); clear num;
[num, ratio_RAKE_ada_RLS(loop,n)] =symerr(sign(real(out_RAKE)), ref_sym); clear num;
[num, ratio_SA_ada_RLS(loop,n)] =symerr(sign(real(out_SA)), ref_sym); clear num;
[num, ratio_SA_RAKE_ada_RLS(loop,n)] =symerr(sign(real(out_SA_RAKE)), ref_sym); clear num;
clear out out_RAKE out_SA out_SA_RAKE;
end
end
time_consume=cputime-time1;
BER =mean(ratio); BER_RAKE =mean(ratio_RAKE);
BER_SA =mean(ratio_SA); BER_SA_RAKE =mean(ratio_SA_RAKE);
BER_DD =mean(ratio_DD); BER_RAKE_DD =mean(ratio_RAKE_DD);
BER_MMSE=mean(ratio_MMSE); BER_RAKE_MMSE=mean(ratio_RAKE_MMSE);
BER_ada_RLS =mean(ratio_ada_RLS); BER_RAKE_ada_RLS =mean(ratio_RAKE_ada_RLS);
BER_SA_ada_RLS=mean(ratio_SA_ada_RLS);
BER_SA_RAKE_ada_RLS=mean(ratio_SA_RAKE_ada_RLS);
=======================================================================
2. The function to generate the user signature waveform
function H=user_signature_waveform(N,K,L,Q);
% Input: L: the length of transmitted symbols vector for from every user %
% K: the number of the users %
% N: the length of spreading sequence NOTE: N >= K %
% Q: upsample value of PN sequence for Pulse shape filter %
% Output: H, the user signature waveform.%
%--- Walsh code generation --%
H=walsh_seq(N);
%-- Gold code generation --%
for k=1:K
96
Appendix
[gold(k,:) ,temp]=gold_scrambling(N*L,k); %H(k,:)=gold_seq(N,k); Note N*L >= 24 %
end
clear temp;
%-- scrambling technique is implemented --%
for j=1:L
for k=1:K
scram(:,k+(j-1)*K)=(H(k,:).*gold(k,((j-1)*N+1:j*N)))';
end
end
H=[]; H=scram; clear scram gold ;
% filtering PN sequence by Rooted Raised cosine filtering %
Delay=2; R=.5; Fd=1; % parameters for Raised cosine filtering %
[ys,ts]=rcosine(Fd,Q,'fir/sqrt',R,Delay);%Design filter: length(ys)=Delay*2*Q/Fd +1;%
for k=1:L*K
[yc(:,k),tc(k,:)]=rcosflt(H(:,k),Fd,Q,'filter',ys);%Upsample and filter,length(yc(:,k))=Q*H(k,:)+length(ys)-
1%
end
H=[];
H=yc;
====================================================================
3 Walsh codes function
function H=walsh_seq(spread_factor)
%Walsh-Hadamard Sequence (64 bit sequence) : walsh_seq.m
% WCDMA Spreading Codes and Its auto-correlation
% and cross-correlation.
%PN Sequences simulation:
% Walsh-Hadamard Sequences
% Walsh-Hadamard Sequence
% 2560 chips/ 10 X 2^k k= 0 1 2 3 4 5 6
% 10 X 2^k = 10 20 40 80 160 320 640
% the spread factor may change from(UL): 256 128 64 32 16 8 4
% Data rate (Kb/s) : 15 30 60 120 240 480 960
% Input: spread_factor, processing gain
%Output : H, the Walsh codes
H = 1;
for i=1:log2(spread_factor)
H= [H H;H -H]; % Sequence generation
end
========================================================
4 Function for Scrambling Code and Gold Code Generation (UL)
function [C1n_gold, SC_code]=scrambling(length, N);
% WCDMA Spreading Codes and Its auto-correlation and cross-correlation.
% This function output the long scrambling code for Uplink in WCDMA system
% Gold Sequences is generated by the following 2 polynomials:
% p1(x) = 1 + x^3 + x^25 p2(x) = 1 + x + x^2 + x^3 + x^25
% Input: length, the required length of the long scrambling code. For WCDMA
% length=38400 chips
% N, the scrambing code number N
% Output: SC_code, the complex scrambing code for UP in WCDMA
% C1n_gold , gold code
shift_C=1024;
power=log2(length+shift_C);
% the initial condition in the shift register%
num_bin=dec_bin(N,24);
97
Appendix
t1 = [num_bin 1];
t2 = ones(1,25);
for x = 1:pow2(power)+1;
% Shifting the values in the register 1%
m_seq1(x)=t1(1);
t1(1)=t1(2);t1(2)=t1(3);t1(3)=t1(4);t1(4)=t1(5);t1(5)=t1( 6);t1( 6)=t1( 7);
t1( 7)=t1( 8) ;t1( 8)=t1( 9);t1( 9)=t1(10) ;t1(10)=t1(11);t1(11)=t1(12);
t1(12)=t1(13);t1(13)=t1(14);t1(14)=t1(15);t1(15)=t1(16);t1(16)=t1(17);
t1(17)=t1(18);t1(18)=t1(19);t1(19)=t1(20);t1(20)=t1(21);t1(21)=t1(22);
t1(22)=t1(23);t1(23)=t1(24);t1(24)=t1(25);
t1(25)= xor(t1(1),xor(t1(4),xor(t1(8),t1(21))));
% Shifting the values in the register 2 %
m_seq2(x)=t2(1);
t2(1)=t2(2);t2(2)=t2(3);t2(3)=t2(4);t2(4)=t2(5);t2(5)=t2( 6);t2( 6)=t2( 7);
t2( 7)=t2( 8) ;t2( 8)=t2( 9);t2( 9)=t2(10);t2(10)=t2(11);t2(11)=t2(12);
t2(12)=t2(13);t2(13)=t2(14);t2(14)=t2(15);t2(15)=t2(16);t2(16)=t2(17);
t2(17)=t2(18);t2(18)=t2(19);t2(19)=t2(20);t2(20)=t2(21);t2(21)=t2(22);
t2(22)=t2(23);t2(23)=t2(24);t2(24)=t2(25);
t2(25)= xor(t2(1),xor(t2(2),xor(t2(3),t2(4))));
end
clear t1 t2;
%-- Gold sequence generation --%
for i=1:length
C1n_gold(i) = xor(m_seq1(i),m_seq2(i));
C2n_gold(i) = xor(m_seq1(shift_C+i),m_seq2(shift_C+i));
end
%-- Complex scrambling code generation --%
for k=1:length/2
C2n(2*k-1)=C2n_gold(2*k-1);% First downsample (factor 2) and then upsample%
C2n(2*k)= C2n_gold(2*k-1);
w2(2*k-1)=1;
w2(2*k)=-1;
end
if mod(length,2)==1
C2n(length)=C2n_gold(length);
w2(length)=1;
end
temp_1=w2.*C1n_gold;
temp_2=temp_1.*C2n;
SC_code=C1n_gold+sqrt(-1)*temp_2;
===================================================================
5 The function to process channel data in order to directly use it in the main function
function [ch_data,max_multipath,max_delay,location_MS ]=channel_data_process(L,K,MS_v,N,Q);
% Input L: the number of symbols transmitted for each user%
% K: the number of active users in the system%
% N: Processing Gain%
% Q: sampling factor for pulse shape filter%
% MS_v: the MS speed is related to the corresponding distance(MS position lamda/2) of updating
channel parameters %
% between 2 successive symbols: num_d=MS_v/(lamda/2)%
% for example: 0.27km/h, 2.7km/h, 5.4km/h, 8.1km/h %
% 1(lamda/2) 10(lamda/2) 20(lamda/2) 30(lamda/2) %
%Output ch_data : a cell array , the size is 1 X K*L, %
% {1, k+1} ...... {1, k+L}; k=1,....K%
98
Appendix
% in each cell: Column 1 Column 2 Column 3 Column 4 Column 5
Column 6 %
% row: TxID Excess Delay Complex Channel Impulse Response DOA Magnitude
(dB/dBm) Phase(degree)%
% max_multipath: the Maximum Number of Multipath among all the symbols transmitted.%
% max_delay: the Maximum Delay among all the Multipath signals%
% location_MS: the location of MS when MS send the 1st symbol %
D=load('channel_data.txt');
Num_P=1800; rand('state',sum(100*clock));
lamda=3*(10^8)/(2*10^9); % the wave length of the RF signal,here f = 2GHz;%
num_d=round((MS_v*1000/3600)/(lamda/2)); % the distance between the MS positions of Channel
Parameters used by successive symbols %
location_MS= randint(1,K,[1,Num_P-L*num_d]);
ImP= (cos(D(:,4)*pi/180)+sqrt(-1)*sin(D(:,4)*pi/180)).*10.^(D(:,3)./20);% complex Channel Impulse
Response %
DD=[D(:,1:2) ImP D(:,7)*pi/180 D(:,3:4)];
%DD Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 %
% TxID Excess Delay Complex Channel Impulse Response DOA(rad) Magnitude
(dB/dBm) Phase(degree)%
num=length(DD(:,1)); ch_data_temp=cell(1,L*K); clear k i temp;
for k=1:K
temp=k-1;
for i=1:L
for n =1:num
if (location_MS(k)+num_d*(i-1))== DD(n,1)
ch_data_temp{1,temp*L+i}=[ch_data_temp{1,temp*L+i};DD(n,:)];
end
end
end
end
%---- the absolute excess Delay Processing comparing to the Chip interval (Tc) :(1/3.84)*1000 (ns)%
clear k i temp;
for k=1:K
temp=k-1;
for i=1:L
if ~isempty(ch_data_temp{1,temp*L+i})
% the delay is measured against an arbitrary reference selected %
% such that all transmission delays are constrained 0< t < symbol interval.%
ch_data_temp{1,temp*L+i}(:,2)=ch_data_temp{1,temp*L+i}(:,2)./((1/(3.84))*1000);
% Assume all delays are constrained to be integer multiples of the sampling interval %
ch_data_temp{1,temp*L+i}(:,2)=ceil(ch_data_temp{1,temp*L+i}(:,2));
% the relative delay (normalized to the sampling interval) is then tau=0,1,...,NQ-1 %
ch_data_temp{1,temp*L+i}(:,2)=rem(ch_data_temp{1,temp*L+i}(:,2),N*Q-1);
delay(k,i)=max(ch_data_temp{1,temp*L+i}(:,2));
end
end
end
max_delay=max(max(delay));
%----------- the Maximum Number of multipaths=last-first %
count=1; clear k i temp;
for k=1:K
temp=k-1;
for i=1:L
if ~isempty(ch_data_temp{1,temp*L+i})
99
Appendix
for n=1:length(ch_data_temp{1,temp*L+i}(:,3))
if ch_data_temp{1,temp*L+i}(n,3)~=0
index(count)=n;
count=count+1;
end
end
end
end
end
max_multipath=max(index)-min(index)+1; % -the Maximum maximum number of multipaths %
%---------matching the maximum number of multipaths----%
ch_data=cell(1,L*K); clear k i temp;
for k=1:K
temp=k-1;
for i=1:L
if ~isempty(ch_data_temp{1,temp*L+i})
if max_multipath > length(ch_data_temp{1,temp*L+i}(:,1))
ch_data{1,temp*L+i}=[ch_data_temp{1,temp*L+i}; zeros(max_multipath-
length(ch_data_temp{1,temp*L+i}(:,1)),length(ch_data_temp{1,temp*L+i}(1,:)))];
else
ch_data{1,temp*L+i}=[ch_data_temp{1,temp*L+i}];
end
else
ch_data{1,temp*L+i}=zeros(max_multipath,6);
end
end
end
============================================================================
6 The function to construct the matrix C and S developed in Chapter 2 for conventional matched
filtering receiver
function [C,S,S_temp,C_r,ref_antenna,C_MUD]=
single_path_S_C_antenna(L,K,N,Q,H,channel_MS,num_antenna,d_lamda,data);
%Input: L, the number of transmitted symbols by each user
% K, the number of active users
% N, processing gain
% Q, upsampling factor for the pulse shaping filter
% H, user signature sequence
% data, the transmitted symbols vector by all active users
% channel_MS: a cell array , the size is 1 X K*L,
% {1, k+1} ...... {1, k+L}; k=1,....K
% in each cell: Column 1 Column 2 Column 3 Column 4 Column 5
Column 6
% row: TxID Excess Delay Complex Channel Impulse Response DOA Magnitude
(dB/dBm) Phase(degree)
% Output: C, array for all antenna elements: num_antenna*MKL X KL
% S, the user signature wave form containing delay information, all the antenna elements use the same S
matrix.
% ref_antenna: the reference signal for spatial processing algorithm, RLS
% each column is the desired signal for each received signal.
% S_temp, the funmental matrix S without antenna array
% the number of column=K*L; used for constructing a matrix in RAKE to matched filtering, despreading
and integrating
% C_r, the arry for RAKE to match the channel:num_antenna*KL X KL
% C_MUD, channel matrix without antenna array
100
Appendix
for i=1:L
for k=1:K
%------- To randomly pick up one of the multipath signals -----
clear index NO row col ; count=1;
[row,col]=size(channel_MS{1,(k-1)*L+i}(:,:));
if ~isequal(channel_MS{1,(k-1)*L+i}(:,3),zeros(row,1))
for p=1:length(channel_MS{1,(k-1)*L+i}(:,3))
if channel_MS{1,(k-1)*L+i}(p,3)~=0
index(count)=p; count=count+1;
end
end
rand('state',sum(100*clock));
NO=randint(1,1,[1, length(index)]);
delay_single_path(i,k)=channel_MS{1,(k-1)*L+i}(index(NO),2); % for constructing S matrix
for no_ant=1:num_antenna
% for construct the received signal in the front of the receiver
ch_no_rake((i-1)*K+k,no_ant)=channel_MS{1,(k-1)*L+i}(index(NO),3)*exp(sqrt(-
1)*2*pi*(no_ant-1)*d_lamda*cos(channel_MS{1,(k-1)*L+i}(index(NO),4)));
ch_no_rake_mud((i-1)*K+k,no_ant)=channel_MS{1,(k-1)*L+i}(index(NO),3); % To match the
channel
end
else
delay_single_path(i,k)=0;
for no_ant=1:num_antenna
ch_no_rake((i-1)*K+k,no_ant)=0;
ch_no_rake_mud((i-1)*K+k,no_ant)=0;
end
end
end
end
%---------------------------------
C_MUD=sparse(diag(ch_no_rake_mud(:,1)));
C=[];C_r=[];
for no_ant=1:num_antenna
C=sparse([C; diag(ch_no_rake(:,no_ant))]); % Actually, This is matrix (PHA) X matrix (C)
C_r=sparse([C_r; diag(ch_no_rake_mud(:,no_ant))]);
end
clear ch_no_rake ;
%--------- S Matrix generation %
tau=delay_single_path(1,:);
% Assume all the symbols of each user has same delay, here the delay of the 1st symbol is used , o < tau(k) <
N*Q-1 %
clear temp;
for i=1:L
temp=i-1;
for k=1:K
S_temp(:,temp*K+k)=sparse( [zeros(1,temp*N*Q+tau(k)) (H(:,k+(i-1)*K))' zeros(1,(L-temp)*N*Q-
tau(k)-1)]'); %
end
end
S=[];
for no_ant=1:num_antenna
S=sparse(blkdiag(S,S_temp));
end
101
Appendix
S=sparse(S);
clear tau delay_single_path temp val index NO;
%- Generate the reference signal for spatial processing algorithms %
clear temp;
data_faded=C_MUD*data';
for k=1:K
clear temp;
for i=1:L
temp(:,i)= S_temp(:,(i-1)*K+k)*data_faded((i-1)*K+k);
end
ref_antenna(:,k)= sum(temp')';
end
================================================================
7 The function to construct the matrix C and S developed in Chapter 2 for RAKE
function [rake_C, rake_S, rake_S_t, rake_C_r, rake_ref_antenna,rake_C_MUD]=
multipath_S_C_antenna(L,K,N,Q,H,channel_MS,M,max_delay,num_antenna,d_lamda,data);
%Input: L, the number of transmitted symbols by each user
% K, the number of active users
% N, processing gain
% Q, upsampling factor for the pulse shaping filter
% H, user signature sequence
% M, the Maximum Number of Multipath among all the symbols transmitted.
% max_delay, maximum delay among all the multipath signals
% data, the transmitted symbols vector by all active users
% num_antenna, the Number of antenna elements in the Receiver
% d_lamda, the normalized distance between the ULA antenna elements
% channel_MS: a cell array , the size is 1 X K*L,
% {1, k+1} ...... {1, k+L}; k=1,....K
% in each cell: Column 1 Column 2 Column 3 Column 4 Column 5
Column 6
% row: TxID Excess Delay Complex Channel Impulse Response DOA(rad)
Magnitude (dB/dBm) Phase(degree)
% Output: rake_C, a cell array, the data in each cell is for each antenna elements
% rake_S, the user signature wave form containing delay information, all the antenna elements use the
same S matrix.
% rake_ref_antenna: the reference signal for spatial processing algorithm, RLS
% multi-demensional array(:,M,K)
% each array is the desired multipath signals for each user signal.
% rake_S_t, the fundamental S matrix without antenna array used for RAKE
% rake_C_MUD, the channel matrix C without antenna array used for MUD
rake_C_t=cell(1,num_antenna);
rake_C_mud=cell(1,num_antenna);
for i=1:L
temp=i-1;
for k=1:K
for no_ant=1:num_antenna
rake_C_t{1,no_ant}=sparse(blkdiag(rake_C_t{1,no_ant},channel_MS{1,(k-1)*L+i}(:,3).*exp(sqrt(-
1)*2*pi*(no_ant-1)*d_lamda*cos(channel_MS{1,(k-1)*L+i}(:,4)))));
rake_C_mud{1,no_ant}=sparse(blkdiag(rake_C_mud{1,no_ant},channel_MS{1,(k-1)*L+i}(:,3)));
end
for m=1:M
if ~isequal(channel_MS{1,(k-1)*L+i}(m,1),0)
rake_S_t(:,temp*K*M+(k-1)*M+m)=sparse([zeros(1,temp*N*Q+channel_MS{1,(k-1)*L+1}(m,2))
(H(:,k+(i-1)*K))' zeros(1, max_delay+1-channel_MS{1,(k-1)*L+1}(m,2)-1) zeros(1,(L-temp-1)*N*Q)]');
102
Appendix
else
rake_S_t(:,temp*K*M+(k-1)*M+m)=sparse([zeros(1,temp*N*Q+channel_MS{1,(k-1)*L+1}(m,2))
zeros(1,length((H(:,k+(i-1)*K))')) zeros(1, max_delay+1-channel_MS{1,(k-1)*L+1}(m,2)-1) zeros(1,(L-
temp-1)*N*Q)]');
end
end
end
end
%---------------
rake_C_MUD=rake_C_mud{1,1};
rake_C=[];rake_S=[];rake_C_r=[];
for no_ant=1:num_antenna
rake_C=sparse([rake_C;rake_C_t{1,no_ant}]);% to construct the received signal
rake_C_r=sparse([rake_C_r;rake_C_mud{1,no_ant}]);% to match channel fading within RAKE
rake_S=sparse(blkdiag(rake_S,rake_S_t));
end
rake_C=sparse(rake_C);
rake_S=sparse(rake_S);
%----- Generate the reference signal for spatial processing algorithm --------
data_faded=rake_C_MUD*data';
clear temp;
for k=1:K
clear temp;
for m=1:M
for i=1:L
temp(:,i)= full(rake_S_t(:,(i-1)*K*M+(k-1)*M+m))*data_faded((i-1)*K*M+(k-1)*M+m);
end
rake_ref_antenna(:,m,k)=sum(temp')';
end
end
======================================================================
8 The function to construct the composite signal and AWGN data generation in front of receiver
function [x_received,sigma,pre_noise]= composite_signal(S,C,data,snr);
% Input : S, the matrix developed in Chapter 2 , containing the channel delay , user signature waveform for
each symbol
% C, the matris developed in Chapter 2, containing the channel fading of each symbol transmitted
% data, the transmitted data by all the active users
% snr, the desired signal to noise ratio
% Output : x_received, the corrupted signal by multipath
% sigma ,noize power
% pre_noise, normalized white noise sequence
randn('state',sum(100*clock));
x_received=S*C*data';
sig_pow=sqrt(mean(x_received.*conj(x_received)));
sigma=sqrt(sig_pow./snr);
pre_noise=randn(length(x_received),1)+sqrt(-1)*randn(length(x_received),1);
================================================================
9 The function for RAKE receiver
function [YY, ratio]=RAKE(loop,n, C_r,S_r, r_received,N,ratio, data)
% Input: loop, the index of loop
% n, the index for different signal to noise ratio
% N, processing gain
103
Appendix
% S_r, the matrix for matching to the channel delay ,despreading and integrating
% C_r, matrix to match to channel fading
% r_received, the received chip level signal a colunm vector,
% data, the transmitted data by all active users, it is used to test the BER at the MUD output
% ratio, BER ,2 D array , each row is the BER within each loop corresponding to al l the target SNRs
% Output : ratio (loop,n), BER
YY=C_r'*S_r'*r_received/N;
for i=1:length(real(YY))
out(i)=sign(real(YY(i)));
end
[num(n),ratio(loop,n)]=symerr(data,out);
======================================================
10 The function to cancel the multiple access interference for the Decorrelating Detection and
LMMSE algorithms
function ratio=MUD(loop, n, R, YY,data,ratio);
% Multiuser detection: Decorrelating Detector and LMMSE
% Input :
% loop, the index of loop
% n, the index for different signal to noise ratio
% YY, the input of the detector , a column vector, KL x 1
% R, the cross correlation matrix among all active users' signature wavefrom
% data, the transmitted data by all active users, it is used to test the BER at the MUD output
% ratio, BER, 2 D array, each row is the BER within each loop corresponding to al l the target SNRs
% Output : ratio (loop,n), BER
% To judge whether the correlation matrix is the singular matrix or not%
% and generate the inverse of correlation matrix for Decorrelating Detector and LMMSE%
if det(R)==0
% to generate Moore-Penrose pseudoinverse of a marix%
disp(' processing singular matrix');
R_inv=pinv(full(R));
else
R_inv=inv(R);
end
Y=R_inv*YY; % The output of Multiuser detection %
out_MUD=sign(real(Y))';% Symbol decision%
[num(n),ratio(loop,n)]=symerr(data,out_MUD);
=====================================================================
11 The function for spatial processing in smart antenna
function weight=spatial(xin,reference,numelements)
% function: to implement the spatial processing,
% the RLS algorithm with adaptive memory is employed here
% to updata the weight vector for build the spatial filter.
% Inputs:
% xin = Complex baseband signal matrix, each row is the signal sequence
% received at each antenna element.
% reference = Desired response.
% numelements = Number of antenna elements.
% Outputs:
% weight = Complex weight vector matrix.
delta=0.01*( mean(mean((abs(xin)).^2)));
104
Appendix
lambda=1; ilambda=1/lambda;
[row,num]=size(xin);
Mserr=zeros(num,1);
pr=delta *eye(numelements);
w=zeros(numelements,1);
w=[1; w(1:numelements-1)];
ant_resig=zeros(numelements,1);
alpha=0.001;
S=zeros(numelements);
phai=zeros(numelements,1);
lambda_min=0.8; lambda_max=1;
I=eye(numelements);
for n=1:num
ant_resig=xin(:,n);
k=pr*conj(ant_resig)/(lambda+ant_resig'*pr*conj(ant_resig)); % Gain vector %
epsilon=conj(reference(n)-w'*ant_resig);
w=w +k*epsilon; % updating the weights %
pr=ilambda*(pr - k *ant_resig'*pr)*n ;
lambda=lambda+alpha*real(phai'*ant_resig*conj(epsilon));
if lambda < lambda_min
lambda = lambda_min;
else
if lambda > lambda_max
lambda = lambda_max;
end
end
ilambda=1/lambda;
S=ilambda*(I-k*ant_resig')*S*(I-ant_resig*k')-ilambda*k*k'-ilambda*pr;
phai=(I-k*ant_resig')*phai+S*ant_resig*conj(epsilon);
weight(:,n)=w;
output(n)=w'*ant_resig;
error=reference(n)-output(n) ;
Mserr(n)=Mserr(n)+error^2;
end
=================================================================
12 The function to convert decimal to numerical value of binary string
function num_bin=dec_bin(dec_data,m);
% input : dec_data, a decimal vactor
% m, at least more than log2((length(dec_data)) one
% output : num_bin, the length(dec_data) X m, 2 D numerical value matrix
temp=dec2bin(dec_data,m);
for i=1:length(dec_data)
for j=1:m
num_bin(i,j)=str2num(temp(i,j)); % convert the string to numerical value
end
end
13 PN Sequences simulation: m sequence and Its auto-correlation generation
% Polynomial:
% p1(x) = 1 + x^2 + x^5
% p2(x) = 1 + x + x^2 + x^4 + x^5
% Initialize variables
clear all;
length = 31*4;
105
Appendix
count = 1;
% Starting sequence in the shift register
t1 = [1 1 1 1 1];
t2 = [1 1 1 1 1];
for x = 1:1:length
m_seq1(count)=t1(5); % m-sequence generated by 1 + x^2 + x^5
m_seq2(count)=t2(5); % m-sequence generated by 1 + x + x^2 + x^4 + x^5
GOLD(count) = xor(t1(5),t2(5));% Gold sequence generated
count = count + 1;
% Shifting the values in the register 1
temp = t1(1);
t1(1) = xor(t1(2),t1(5));
t1(5) = t1(4);
t1(4) = t1(3);
t1(3) = t1(2);
t1(2) = temp;
% Shifting the values in the register 2
temp = t2(1);
t2(1) = xor(t2(1),xor(t2(2),xor(t2(4),t2(5))));
t2(5) = t2(4);
t2(4) = t2(3);
t2(3) = t2(2);
t2(2) = temp;
end
% Calculating the auto-correlation function of m sequence
m_seq1 = m_seq1 .* 2 - 1;
m_seq2 = m_seq2 .* 2 - 1;
[row, col]=size(m_seq1);
for i=1:col
if i==1
m_seq1_ac(i)=sum(m_seq1.*m_seq1);
m_seq2_ac(i)=sum(m_seq2.*m_seq2);
else
m_seq1_ac(i)=sum(m_seq1.*[m_seq1(col-(i-2):col) m_seq1(1:col-(i-1))]);
m_seq2_ac(i)=sum(m_seq2.*[m_seq2(col-(i-2):col) m_seq2(1:col-(i-1))]);
end
end
m_seq1_ac = m_seq1_ac./max(m_seq1_ac);
m_seq2_ac = m_seq2_ac./max(m_seq2_ac);
% plot the autocorrelation function for m sequence 1
index = -(max(size(m_seq1_ac))+1)/2:1:(max(size(m_seq1_ac))-1)/2-1;
figure(1);
plot(index,m_seq1_ac);
axis([-(max(size(m_seq1_ac))+1)/2 (max(size(m_seq1_ac))-1)/2-1 min(m_seq1_ac)-0.05 max(m_seq1_ac)]);
title(['Autocorrelation of a m-sequence with length', num2str(length)]);
xlabel('time offset');
ylabel('Autocorrelation function');
index = -(max(size(m_seq2_ac))+1)/2:1:(max(size(m_seq2_ac))-1)/2 - 1;
figure(2);
plot(index,m_seq2_ac);
axis([-(max(size(m_seq2_ac))+1)/2 (max(size(m_seq2_ac))-1)/2-1 min(m_seq2_ac)-0.1 max(m_seq2_ac)]);
title(['Autocorrelation of a m-sequence with length', num2str(length)]);
xlabel('time offset');
106
Appendix
ylabel('Auto-correlation function');
14 zero-padded and pulse shape filtered spreading sequencee xk(i)
function [yo,xx] = raise_cos_filter(Delay,R, Fs, Fd, PropD,DataL)
% Input: Delay , the delay to design the filter
% R , rolloff factor
% Fs, sampling rate
% Fd, input data rate
% PropD, the delay of the filtered data
% DataL, the length of input data, here it refers to the length of spreading sequence
%Output: yo, the filtered spreading sequence
% xx, zero-padded data of the input data
H=walsh_seq(DataL); % to generate Walsh codes
x=H(4,:); % generate the input of the raised cosine filter
tx=[PropD:PropD+DataL-1]./Fd; % at time 0,1/Fd,2/Fd
[yf,tf]=rcosine(Fd,Fs,'fir',R,Delay); %Design filter: length(yf)=Delay*2*Fs/Fd +1;
[yo,to]=rcosflt(x,Fd,Fs,'filter',yf); %Upsample and filter
PropD=Delay*Fd; %
temp=zeros(1,Fs-1);
xx=kron(x,[1 temp]); % Note Fs=4=length([1 0 0 0])
tx_x=to(1:length(xx))+PropD;
subplot(2,2,3);
stem(tx_x,xx,'ko');
hold on;
plot(to,yo,'m');
legend('zero-padded spread seuqnece','filtered spread... signal');
hold off;
axis([0 max(to) -1.6 1.6]);
xlabel('Time');
ylabel('Amplitude');
title('Thesis figure');
13 The auto correlation and cross correlation of Gold sequence generated by
polynomials, p1(x) = 1 + x^3 + x^25 p2(x) = 1 + x + x^2 + x^3 + x^25
clear all;
length=128*4;
num=2
N=randint(1,num,[1,2^22])
for i=1:num
C1n_gold(i,:)=Gold_scrambling(length,N(i));
C1n_gold(i,:)=2*C1n_gold(i,:)-1;
end
for i=1:num/2
figure(i);
auto_gold1(i,:)=xcorr(C1n_gold(i,:));
cross_gold1(i,:)=xcorr(C1n_gold(i,:),C1n_gold(i+num/2,:));
leng=max(size(cross_gold1));
plot([1:leng], auto_gold1(i,:),'-r',[1:leng], cross_gold1(i,:),':b');
title('autocorrelation of Gold sequence 1 and cross correlation among the Gold sequnece 1 family')
legend('autocorrelation','cross correlation');
xlabel('time offset');
end
%---Generate Histogram to express probabilty of cross-correlation values of Gold sequence
max1=max(auto_gold1(1,:));
107
Appendix
cross1_nor=cross_gold1(1,:)./max1;
min_value=min(cross1_nor);
max_value=max(cross1_nor);
step=0.005
xx=min_value:step:max_value;
figure(i+1);
hist(cross1_nor,xx);
h = findobj(gca,'Type','patch');
set(h,'FaceColor','g','EdgeColor','w');
xlabel('the normalized value of cross correlation');
ylabel(' the number of elements');
==================================================================
14 The adaptive MUD algorithmRLS algorithm with adaptive memory
% This subprogram is used to implement the adaptive MUD, the RLS algorithm
% is used here to updata the weight vector to cancel interference
% Inputs:
% xin = Complex baseband signal matrix, each row is each user' signal sequence
% outputed from each RAKE combiner.
% reference = Desired response.
% K = Number of active users .
% L = Length of the symbols of each user
% Outputs:
% weight = Complex weight vector matrix.
% output = Complex baseband signal sequence for the desired user signal.
% Mserr = Error estimation sequence.
function output=MUD_RLS(xin,reference,K,L)
delta=0.01*( mean(mean((abs(xin)).^2)));
lambda=1; ilambda=1/lambda;
[row,num]=size(xin);
Mserr=zeros(num,1);
pr=delta *eye(K);
w=zeros(K,1);
w=[1; w(1:K-1)];
ant_resig=zeros(K,1);
alpha=0.001;
S=zeros(K);
phai=zeros(K,1);
lambda_min=0.85; lambda_max=1;
I=eye(K);
for n=1:num
ant_resig=xin(:,n);
k=pr*conj(ant_resig)/(lambda+ant_resig'*pr*conj(ant_resig));
epsilon=conj(reference(n)-w'*ant_resig);
w=w +k*epsilon;
pr=ilambda*(pr - k *ant_resig'*pr)*n ;
lambda=lambda+alpha*real(phai'*ant_resig*conj(epsilon));
if lambda < lambda_min
lambda = lambda_min;
else
if lambda > lambda_max
lambda = lambda_max;
end
end
ilambda=1/lambda;
108
Appendix
S=ilambda*(I-k*ant_resig')*S*(I-ant_resig*k')-ilambda*k*k'-ilambda*pr;
phai=(I-k*ant_resig')*phai+S*ant_resig*conj(epsilon);
weight(:,n)=w;
output(n)=w'*ant_resig;
error=reference(n)-output(n) ;
Mserr(n)=Mserr(n)+error^2;
end
109

You might also like