WCDMA Simulator with Smart Antennas

advertisement
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
MASTER’S THESIS
Author:
Hong Zhang
Name of the thesis:
WCDMA Simulator with Smart Antennas
Date:
16.10.2001
Department:
Professorship:
Electrical and Communication Engineering
Communication Engineering
Supervisor:
Professor Seppo J. Halme
Instructor:
M. Sc. Adrian Boukalov
Number of pages 78+18
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
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 master’s 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
List
List
1
Introduction to WCDMA ................................................................................................ 1
1.1 Introduction .............................................................................................................. 1
1.2 Applicable Techniques to enhance System Performance ......................................... 2
1.2.1 Spreading ............................................................................................................. 2
1.2.2 Multipath Diversity .............................................................................................. 2
1.2.3 Multiuser Detection ............................................................................................. 3
1.2.4 Smart Antenna ..................................................................................................... 3
1.3 Outline of This Thesis .............................................................................................. 4
2
Analytical WCDMA System Model ............................................................................... 5
2.1 Introduction .............................................................................................................. 5
2.2 CDMA System Model for the Uplink ...................................................................... 6
2.3 Mobile Radio Channel Model .................................................................................. 8
2.4 Discrete Time Base Band Uplink Model ................................................................ 11
2.4.1 Synchronous CDMA .......................................................................................... 11
2.4.2 Asynchronous CDMA ....................................................................................... 15
2.4.2.1 Single Path Model ........................................................................................ 15
2.4.2.2 Multipath Model ........................................................................................... 17
2.4.2.3 Multiple Antenna Model .............................................................................. 21
2.5 Conclusion .............................................................................................................. 24
3 Spreading in WCDMA .................................................................................................. 25
3.1 Introduction ............................................................................................................ 25
3.2 Properties of PN Sequence ..................................................................................... 26
3.3 Spreading and Scrambling in the Uplink of WCDMA......................................... 27
3.3.1 Walsh-Hadamard codes and Spreading ............................................................. 29
3.3.2 Gold Codes and Scrambing ............................................................................... 30
3.4 Conclusion .............................................................................................................. 34
4 RAKE Receiver and Multiuser Detection ..................................................................... 36
4.1 Introduction ............................................................................................................ 36
4.2 System Model ......................................................................................................... 37
4.3 The RAKE Receiver ............................................................................................... 39
4.4 Multiuser Detection ................................................................................................ 45
4.4.1 Input Signal Modelling ...................................................................................... 46
4.4.2 Optimal Detection .............................................................................................. 47
4.4.3 Suboptimal Detection......................................................................................... 48
4.4.3.1 Decorrelating Detector ................................................................................. 48
iii
List
4.4.3.2 Linear Minimum Mean Square Error (MMSE) ............................................ 51
4.4.3.3 Adaptive MMSE algorithm-RLS Algorithm with adaptive memory ........... 52
4.5 Conclusion .............................................................................................................. 53
5 Smart Antenna in WCDMA .......................................................................................... 54
5.1 Types of Smart Antenna ......................................................................................... 54
5.2 Signal Modeling ..................................................................................................... 55
5.3 Beamforming Schemes ........................................................................................... 58
5.3.1 Conventional beamforming ............................................................................... 58
5.3.2 Optimum beamforming ...................................................................................... 59
5.3.3 Adaptive beamforming ...................................................................................... 60
5.4 Conclusion .............................................................................................................. 64
6 Simulation ..................................................................................................................... 65
6.1 System Setup .......................................................................................................... 65
6.2 Channel ................................................................................................................... 69
6.3 System Performance ............................................................................................... 69
6.3.1 Performance without RAKE receiver and with RAKE receiver ....................... 69
6.3.2 Performance of 1-D RAKE Receiver with EGC or Selection Combining ........ 71
6.3.3 Performance of 1-D RAKE receiver with Decorrelating Detector and MMSE 71
6.3.4 Performance with PN sequence and Random Sequence................................... 72
6.3.5 Performance with Processing Gain .................................................................... 73
6.3.6 Performance with adaptive MUD- RLS algorithm with adaptive memory ....... 73
6.3.7 Performance with Smart Antenna ...................................................................... 74
6.4 Conclusion .............................................................................................................. 77
7 Conclusion..................................................................................................................... 78
7.1 Summary of Research ............................................................................................. 78
7.2 Future Work ............................................................................................................ 79
References ............................................................................................................................ 80
Appendix .............................................................................................................................. 84
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
(.)*
*
(.)H
(.)T
complex conjugate
convolution
complex conjugate transposition
transposition
Kronecker tensor product
 J(wi)
the gradient of a function J(w)
ai(t)
path attenuation
aˆ ( i , i )
the unit vector in direction (φi ,θi ),
B
the number of antenna elements
C
diagonal matrix containing the physical channel parameters .
C1,n C2,n
Csc
c
gold sequence
scrambling code
the speed of propagation of the plane wavefront
ck,m(i), cˆ k ,m (i)
complex channel coefficients of multipath m for symbol i transmitted by
d
d

dl
user k
the distance between the antenna elements
the data symbol vector
the position vector of the nth element
dk(i)
symbol i transmitted by user k
h (t, , θ)
channel impulse response
HM
J(w)
K
L
M
mi(t)
N
n
P
p
Q
r
Walsh code function
the cost function
the number of active users
the number of symbols transmitted of each active user
the number of multipath signals
the complex modulating function
processing gain
noise vector
the length of the pulse shaping filter impulse response
the pulse shaping filter impulse response
sampling factor of pulse shaping filter
received signal vector

the instantaneous signal to noise ratio
S
the matrix of transmitted spreading waveform
SF
spreading factor
vi
List of Symbols
s
sk (i)
the steering vector
spreading sequence for symbol i for user k
sˆ k (i )
the kth user’s signature waveform, pulse shape filtered spreading

Tc
sequence of length NQ+P
the average signal to noise ratio
chip interval
j , i
path delay
V(θ)
wi
antenna array response vector
the weights for each antenna element
xk(i).
zero-padded and pulse shape filtered spreading sequencee
yMF
the output after the received signal despreading
βj (t)
θj
the complex amplitude of multipath signal 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 (DSCDMA) 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.2.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.2.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 108 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.2.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.2.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
environment, adaptive array technique is adopted. In an adaptive array, the weights are
3
1 Introduction to WCDMA
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 3rd 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.
spreader
source of
information
bk
encoder/
interleaver
dk
transmitter
filter
xk
IF-RF
upconverter
D/A
xk(t)
PN code
Pn code
Figure 2.1 Block diagram of the mobile transmitter for user k
Despreader unit 1
sink 1
.
.
.
PN code
b
multiuser
detector
unit
yMF
.
.
.
receiver
front – end
.
.
.
Despreader unit K
sink K
r (t)
PN code
Figure 2.2 Block diagram of the base station receiver
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 bk generated by user k is encoded and
6
2 Analytical WCDMA System Model
interleaved into sequence dk, then the sequence dk 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.
rB
r2
.
.
.
.
.
.
.
.
r1
.
.
.
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
yMF, k, b
.
.
.
.
.
.
.
.
..
.
.
despreader
.
.
.
Receiver
filter
rb
Acquisition
tracking
Figure 2.4 Block diagram of the base station despreading unit for each user
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/Tc by A/D converter, Q is the sampling factor for pulse
shaping filter, and Tc is the chip interval.
The digitised signal rb 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.
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 signal–to-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 [2526].
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) =
r
2
 r2 

exp  
2 
 2 
(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) =
r

2
 r2  s2 
I
exp  
2  0
 2 
 rs 
 2
 
(2.2)
where s2 is the power of the line-of-sight component, and I0 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].
Time-variant
impulse response
F
h (, t)
H (f, t)
Ft
Doppler variant
impulse response
Time-variant
transfer function
Ft
F
d (, v)
D (f, v) Doppler -variant
transfer function
Figure 2.5 Relationship of functions describing channel
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 vmax 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
9
2 Analytical WCDMA System Model
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].
β( ,t)
Linear time-variant system
vmax max<<1
βt()
Quasi-stationary
Uncorrelated scatters
Gaussian wide-sense stationary
uncorrelated scatters (GWSSUS)

βi(t)(  - i )
i
Sampled
N 1

Tapped delay line
βj(t) (  - jT)
j 0
Ws max<<1
β0(t)
Narrowband model
Figure 2.6 Mathematical model of the multipath channel
T
β0
T
T
β N-1
β1
Figure 2.7 the tapped delay line model for wideband channel
If the channel information, Direction Of Arrival (DOA) θj, is considered, the
distributed channel impulse response can be expressed [25], [44]
h (t, , θ) =
N 1

βj (t)(  - j ) ( θ - θj)
(2.4)
j 0
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
N 1
y(t) =

βj (j) x(t-j)
(2.5)
j 0
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
10
2 Analytical WCDMA System Model
multipath diversity to improve the received signal SINR. The RAKE receiver in WCDMA
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].
2.4.1 Synchronous CDMA
Referring to Fig 2.1, user k first encodes the information symbol stream bk(l), l =
0,1,2,... ,(kL-n )/n at data rate 1/Tb symbol per second (symbols/s) with a rate k/n
convolution code followed by an interleaver. Denote the sequence output at rate 1/Td =n/(k
Tb) symbols/s as dk(i) , where i=0,1,2,...,L-1 is the symbol interval index. At each symbol
interval i, dk(i) , is modulated by a rate 1/Tc =N/ Td =n N/( k Tb) chips per second (chips/s)
spreading sequence, sk (i) =(sk (iN+1), sk (iN+ 2),..., sk ( iN+N))T with sk (i)  S where S
denotes the set of possible chip values. The processing gain is as follows:
PG =
nN
1 / TC
=
k
1 / Tb
(2.6)
The practical implementation all the baseband processing is usually done in discrete
time. With this approach, each chip of dk(i), sk(i), is modulated by filtering the signal with a
discrete time pulse shaping filter. The filter operates at a rate of 1/ Ts =Q/Tc. In order to
express this operation algebraically, the spreading sequence is zero padded before filtering
to give u1  sk (i), Kronecker tensor product, where u1 =(1, 0 TQ1 ) T. The transmitted
discrete time base band signals during a symbol interval is expressed as follows [21], [4546]:
 0 iNQ



        


xk (i) = dk(i)  u1  s k (i ) * p  = dk(i)
        


 0 ( L i 1) NQ

 0 iNQ



    


 sˆ k (i )

    


 0 ( L i 1) NQ 


(2.7)
p :the pulse shaping filter impulse response of length P+1
sˆ k (i) : the pulse shape filtered spreading sequence of length NQ + P.
The length of column vector xk(i) is LNQ+P. Fig. 2.8 shows one of the example
zero-padded and pulse shape filtered spreading sequence xk(i).
11
2 Analytical WCDMA System Model
Fig 2.8 Example of zero-padded and pulse shape filtered spreading sequence xk(i)
s1(i)
u1
p
s2(i)
u1
p
d1(i)
d2(i)
.
.
.
sK(i)
.
.
.
r
.
.
.
u1
p
n
dK(i)
Figure 2.9 Discrete time model of the uplink communication of a
synchronous CDMA system without channel distortions
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
12
2 Analytical WCDMA System Model
r
L 1
K
i 0
k 1
 0 iNQ



    

d k (i)  sˆ k (i)

    


 0 ( L i 1) NQ 


= 
+n
= Sd+n
(2.8)
S is the (LNQ+P) x KL dimentional matrix of transmitted spreading waveform with column
j expressed as
 0 iNQ



    


ŝ j =  sˆ k (i )

    


 0 ( L i 1) NQ 


,
j = iK+k
The data symbol vector , d = ( d1(0),d2(0),...,dK(L-1))T = (d1,d2,...dLK)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 sˆ k (i) are indicated with
dots,while all other entries are zero.
The data symbole vector corresponding to Fig. 2.10 is
d = ( d1(0), d2(0), d3(0), d1(1), d2(1), d3(1) )T
13
2 Analytical WCDMA System Model
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 sk(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/Tc , 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
u1  sk(i), k=1,2,...K. The inserted zeros are in effect executing the sampling at 1/ Tc .
Finally, the received signal despread directly with the relevant pulse shape filtered
spreading sequence. The output of the despreader unit is
yMF = SH r = SH S d + SH 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 ck(i):
L 1
K
i 0
k 1
r=  
 0 iNQ



    

ck(i) d k (i)  sˆ k (i)
 + n = S Cd + n
    


 0 ( L i 1) NQ 


(2.10)
C : a LK x LK diagonal matrix containing the physical channel parameters with elements
cj = ck(i), j = iK+k .
The complex channel coefficent ck(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
s1(i)
u1
p
c1(i)
s2(i)
u1
p
c2(i)
d1(i)
d2(i)
.
.
.
sK(i)
.
.
.
u1
r
.
.
.
.
.
.
p
cK(i)
n
dK(i)
Figure 2.11 Discrete time model of the uplink communication of a
synchronous CDMA system over a mobile radio channel
14
2 Analytical WCDMA System Model
one transimtted symbol interval.
System is modelled as Fig. 2.11 above. The output of the receiver with matched
filter :
y = CH yMF =CH SH S C d + CH SH n
(2.11)
0
...
0
 c1 (0)



c 2 (0) ...
.
 0

where
C= 
 , 2 dimentional K L x K L matrix. For
..
.


 0

0
...
c
(
L

1
)
K


example, if K = 3, L =2, the corresponding channel matrix C is
c1 (0)



c 2 (0)




c3 (0)

C =
c1 (1)




c 2 (1)



c 3 (1)
0
0
2.4.2 Asynchronous CDMA
2.4.2.1
Single Path Model
Asynchronous CDMA system allows the users to have random access on the
uplink. Each user encounters a transmissíon delay relative to other users. The delay
measured against an arbitrary reference selected such that all transmission delays are
constrained to 0<tk < Td. In the following developed model, Td equal to NQ Ts .
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 = tk /Ts  { 0,1,..., NQ-1}. The model of transmitted signals xk (i) has to be
modified because of the transmission delay:
 OiNQ  K



    



xˆ k (i) = d k (i)  sˆ k (i )

    



 O( L i ) NQ  1 
K


The length of xˆ k (i ) is (L+1)NQ+P-1.
In fact, this operation is just to filter xk (i) with a linear filter gk= ( gk,1, gk,2, ... gk,NQ )T of the
length NQ in Fig. 2.12, where
if j  k
1
gk,j = 
otherwise
0
15
2 Analytical WCDMA System Model
xk (i)
Tc
Q
Tc
Q
ck,1(i)
Tc
Q
...
ck,(i)
ck,2(i)


x k (i )
Figure 2. 12 diagram of the tapped delay line filtering of xk (i) with ck(i)
The discrete time model of the uplink communication of asynchronous CDMA over a
mobile radio channel is as Figure 2.13.
s1(i)
u1
p
c1(i)
s2(i)
u1
p
c2(i)
d1(i)
d2(i)
.
.
.
.
.
.
sK(i)
u1
r
.
.
.
.
.
.
p
cK(i)
n
dK(i)
Figure 2.13 Discrete time model of the uplink communication of a
single path asynchronous CDMA system over a mobile radio channel
The received signal is as follows:
r
L 1
K
i 0
k 1
= 
+n
ck(i) * x k (i)
L 1
K
i 0
k 1
= 
 OiNQ  K



      


ck(i) d k (i)  sˆ k (i )

      


 O( L i ) NQ  1 
K


+ n = S Cd + n
S is the ((L+1)NQ+P-1) x KL dimensional matrix of shifted transmitted spreading
waveform with column j expressed as
16
(2.12)
2 Analytical WCDMA System Model
 OiNQ  K



      


ŝ j =  sˆ k (i )

      


 O( L i ) NQ  1 
K


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
don’t 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
User
Path
1
1












1
2
1














3
1












1
1












2
2
1












3
1












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 =3Ts and 3 =4Ts
2.4.2.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.
The multipath fading channel is modelled as a discrete time tapped-delay line [3]
with a time spacing of Tc/Q as illustrated in Fig.2.12 with M̂ maximum delay spread
normalised to sampling interval. By having a tap-spacing of Tc/Q , path delay can be
resolved to within  Tc/2Q .
17
2 Analytical WCDMA System Model
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
cˆk (i) = ( cˆk .1 (i) , cˆk .2 (i ) , ... , cˆ k .Mˆ (i ) )T
Each non-zero channel coefficient has an associated relative path delay denoted as
 k , m = tk ,m / Ts {0,1, ... , Mˆ  1 } where the t k ,m 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
 k , m are constant over L symbol intervals, where the channel coefficients cˆk .m (i) 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 xk (i) is modified :
s1(i)
u1
p
c1,1(i) ... c1,M(i)
s2(i)
u1
p
c2,1(i) ... c2,M(i)
d1(i)
d2(i)
.
.
.
sK(i)
.
.
.
.
.
.
u1
p
r
cK,1(i) ... cK,M(i)
n
dK(i)
Figure 2.15 Discrete time model of the uplink communication of a
multipath asynchronous CDMA system over a mobile radio channel
xˆ k (i)
= ck(i) *
 OiNQ



x k (i) = d k (i)  c k (i) * sˆ k (i) 


 O( L i 1) NQ 
18
 OiNQ




ˆ
ˆ
= d k (i)  c k ,m (i)s k ,m (i) 
O

 ( L i 1) NQ


2 Analytical WCDMA System Model
O

  k ,m



       

sˆ k , m (i) =  sˆ k (i )


       
O

 M 

k ,m


The length of xˆ k (i) is L NQ + M̂ +P spanning the entire transmission interval of L
symbols. The length of sˆ k ,m (i) is M̂ +NQ+P .
The received discrete time baseband signal is :
r=
L 1
K
M
i 0
k 1
m 1
  
cˆk ,m (i) d k (i)
 OiNQ



 ŝ k ,m (i)
 + n=SCd+n


 O( L i 1) NQ 


(2.13)
Where
O

  k ,m



       

sˆ k , m (i) =  sˆ k (i )


       
O

 M 

k ,m


d k (i) : the ith data symbol transmitted by user k
sˆ k (i) : the zero-padded spreading sequence for symbols generated by user k
cˆk ,m (i ) : the channel coefficients over the mth multipath for the ith 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:
0
...
0
 cˆ1 (0)



cˆ 2 (0) ...
.
 0

C= 

..
.


 0

ˆ
0
...
c
(
L

1
)
K


S: the matrix of received spreading waveform with the column
 OiNQ



 , j=
ŝ j =  ŝ k ,m (i)


 O( L i 1) NQ 


iKM+(k-1)M+m. The dimension of S is (LNQ+ M̂ +P) x KLM, consequently, the length of
r is LNQ+ M̂ +P.
19
2 Analytical WCDMA System Model
Symbol
User
Path
1
2
1
1












2












1












3
2
1
























2
2
1
2












1












2












1












3
2
1
























2












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 Ts . The delays for the threee users are (0, 5Ts ),
(3 Ts , 4 Ts ), (4 Ts , 9 Ts )
The form of matrix S is modified as Fig 2.16. The channel matrix C corresponding to Fig.
21.6 is
 c1,1 (0)

c1, 2 (0)





C= 










0
c 2,1 (0)
c 2, 2 (0)
c3,1 (0)
c3, 2 (0)
c1,1 (1)
c1, 2 (1)
c 2,1 (1)
c 2, 2 (1)
0
















c3,1 (1) 

c3, 2 (1)
The output of the receiver after matched filtering and despreading :
y = CH yMF =CH SH S C d + CH SH n
20
( 2.14)
2 Analytical WCDMA System Model
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.2.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
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
section will be extended to conveniently incorporate the use of multiple antennas [44-46].
 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 cˆk , b (i ) as the vector of multipath
coefficients for user k in symbol interval i, the received signal vector r
 S1
 r1   S1C1  
  
 0
r =   = 
=
r  S C  
 B  B B  0

0
S2
0
0   C1 
 
... .   C 2 
d+n
.. .    
 
... S B   C B 
...
(2.15)
The matrices Sb and Cb 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
CHSH (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
21
2 Analytical WCDMA System Model
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
z
D
’
φ
d

θ
waveform
B
y
α
B-1
1
x
Figure 2.18 The ULA with the direction of arrival (α, φ) indicated
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]
ф=
2d cos( )

=
2d cos( ) sin(  )

(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
 e j k , 1

 0
ck,2 (i)= 

 0

0
e
j k , 2
0
0 

...
. 
 ck,1 (i) = Φk ck,1 (i)
..
. 
j
... e k , M 
...
22
2 Analytical WCDMA System Model
where фk,m = 2πdcosθk,m /λ and ck,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
ck,b+1 (i) = Φk ck,b (i) = Φ bk ck,1 (i)
for b=1,...,B-1
In this case, the C matrix in (2.15) is modified
 C0
 


 

 ΦC0   Φ 
C= 
 = 
 C0 = Ψ C0


 

 Φ B 1C   Φ B 1 
0



Here Φ =diag (γ, γ,..., γ), with
 1

0
γ = 

 0

0
0 

... . 
..
. 

...  K 
...
2
0
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:
 1

















 j1,1 ( 0 )
e

















1
1
1
1
1
1
1
1
1
1
e
j1, 2 ( 0 )
e
j 2 , 1 ( 0 )
e
j 2 , 2 ( 0 )
e
j 3 , 1 ( 0 )
e
j 3 , 2 ( 0 )
e
j1,1 (1)
e
j1, 2 (1)
e
j 2 ,1 (1)
e
j 2 , 2 (1)
e
23
j3 ,1 (1)

















1 


















j3 , 2 (1)
e

2 Analytical WCDMA System Model
The channel matrix has the following form:
0
...
0
 cˆ1 (0)



cˆ 2 (0) ...
.
 0

C0 = 

..
.


 0
0
... cˆ K ( L  1) 

The dimension of matrix C is KLM x KL. Since each antenna now sees the same path
delays from each user, the sub-matrices Sb in (2.15) are now equal to S1, so that S = diag
(S1,..., S1). The dimension of S1 is (LNQ+ M̂ +P) x KLM. The number of diagonal elements
S1 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 ΨC0 d +n
(2.17)
The RAKE combined output is given
y = C 0H ΨHSH r = C 0H ΨHSH S ΨC0 d + C 0H ΨHSH n
(2.18)
2.5 Conclusion
In this chapter, we have developed a linear model for CDMA transmission over a
multipath, time-dispersive fading channel usually encountered in cellular mobile
communication. The model is based on the structural principles of practical systems where
all baseband processing is done in discrete time. This linear model provides a valuable tool
to insight into CDMA system performance.
24
3 Spreading in WCDMA
3 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.
3.1 Introduction
The pseudo random (PN) sequence is a bit stream of ‘1’s and ‘0’s 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].
25
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.
spreader
source of
information
encoder/
interleaver
PN code
generator
despreader
data
decoder /
deinterleaver
LPF
PN code
generator
PN
synchronization
Figure 3.1 Block diagram of the baseband model of CDMA
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.
3.2 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 ‘1’s and the number of ‘0’s in a PN sequence are only different by one.
26
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/2n 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.
an
an-1
c1
an-2
an-r
c2
c3
cr
Figure 3.2 Linear shift register sequence generator
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 an can be
written as
an = c1 an-1 + c2 an-1 + ... + cr an-r
(3.1)
where c1 to cr are the connection variables (0 for no connection and 1 for connection ).
3.3 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].
27
3 Spreading in WCDMA
spreading
scrambling
data
bit rate
chip rate
chip rate
Figure 3.3 Relation between spreading and scrambling
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 transportformat 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.
28
3 Spreading in WCDMA
cos ( ωt)
Channelization
codes (OVSF) (Cd)
DPDCH
P(t)
Scrambling
codes (Csc)
DPCCH
j
P(t)
sin ( ωt)
Channelization
codes (OVSF) (Cc)
Figure 3.4 Uplink Spreading and Modulation
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.
3.3.1 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.
C 2,1 = ( 1 , 1 )
C 4,1 = ( 1 , 1 , 1 , 1 )
C 4, 2 = ( 1 , 1 , -1 , -1 )
C 1,1 = ( 1 )
C 2,2 = ( 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
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 =
256
2k
29
(3.2)
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 c16,2, c8,1 and c4,1 are all
mother codes of c32,3 and hence are not orthogonal to c32,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:
  1  1

H 2 = 
  1  1
(3.3)
and if M > 2 is a power of 2, recursively
 HM /2  HM /2 

H M = 

H

H
M
/
2
M
/
2


(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.
Figure 3.6 Auto-correlation and cross correlation between
the Walsh-Hadamard codes of length 128
3.3.2 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.
30
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 =
2n – 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) =
1

 1
n

k ln
k ln
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 msequence is 124 , generated by polynomial 1 + x2 + x5 with sequence period 31.
Figure 3.7 Autocorrelation function for a m-sequence of length 124, generated by
polynomial 1 + x2 + x5 with sequence period 31.
31
(3.5)
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 + x3 + x7 + x20 + x25 and 1 + x + x2 + x3
+ x25 [8], [9].
Figure 3.8 autocorrelation and cross-correlation between two Gold sequences
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
Csc =C1 (w1+j w2 C 2' )
(3.8)
Where, C1 is the real chip rate code, j is the basic imaginary unit, and C 2' is a decimated
version of a real chip rate code C2 .
32
3 Spreading in WCDMA
The usual decimation factor is 2 so that,
C 2' (2k-1) = C 2' (2k) = C2 (2k)
(3.9)
w1 is a repetition of {1 1} at the chip rate
w2 is a repetition of {1 -1} at the chip rate
So we can write
Csc =C1 +j w2 C1 C 2'
(3.10)
Fig. 3.9 shows the implementation of equation (3.10) above. All the additions and
multiplications are performed in modulo 2 arithmetic.
C1
C 2'
C2
2
j
w2
w2 = {1 –1 1 –1 ...}
Figure 3.9 Generation of scrambling Codes
Long scrambling codes are constructed as described above. The real chip rate codes C1 and
C2 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 + x3
+ x7 + x20 + x25 and 1 + x + x2 + x3 + x25 respectively. The resulting sequence constitutes
segments of a set of Gold sequences.
Let n23…….n0 be the 24 bit binary representation of the scrambling code number n
(decimal). In the binary representation, n0 is the least significant bit (LSB). The x sequence
depends on the choice of the scrambling code number and is thus denoted as xn.
Furthermore, let xn(i) and y(i) denote the i th symbol of the sequences xn and y respectively.
The m sequences are constructed as
The initial conditions are set:
xn(0) = n0 , xn(1) = n1 ,......, xn(22) = n22 , xn(23) = n23 , xn(24) = 1
y(0) = y(1) = ...... y(23) = y(24) = 1
Then the subsequent symbols are generated recursively according to:
33
3 Spreading in WCDMA
xn(i+25) =  xn(i+20)+ xn(i+7)+ xn(i+3)+ xn(i)  mod2 , i =0,1,......,225-27
(3.11)
yn(i+25) = yn(i+3)+ yn(i+2)+ yn(i+1)+ yn(i) mod2 , i =0,1,......,225-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 225-1. So, the number of the rest of bits that needs to be generated is 225-27.
The real chip rate code C1,n and C2,n for the nth scrambling code are defined as
C1,n =

xn (0)  y(0)
 x (M )
C2,n=  n
  y ( M )
mod 2
,
mod 2
, xn (1)  y(1)
mod 2
xn ( M  1)
 y ( M  1)
,......, xn ( N  1)  y( N  1)
,.......,
mod 2
mod 2



 y ( M  N  1) mod 2 
x n ( M  N  1)
(3.13)
(3.14)
The number of elements
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.
Cross correlation value
Figure 3.10 Histogram of the cross-correlation of long scrambling codes
3.4 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
34
3 Spreading in WCDMA
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.
35
4 RAKE Receiver with Multiuser Detection
4 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 DSCDMA 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.
4.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 don’t 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 user’s 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.
36
4 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.
4.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 user’s contribution to the transmitted signals is
L 1
xk (t) =

i 0
dk(i) u1  s k (i) * p  =
L 1

dk(i) s k (i) 
(4.1)
i 0
where dk(i)  {-1, 1} denotes the ith transmitted data ( information ) bit, sk(i) is the kth user’s
spreading sequence, p is the pulse shaping filter impulse response, u1  s k (i) is the
Kronecker tensor product, s k (i) is the kth user’s signature filter spreading sequence, it is
formed by filtering the spreading sequence through the root cosine pulse shaping filter:
(4.2)
s k (i) = u1  s k (i) * p
Assume that the multipath spread is of the order of a few chip intervals Tc and, since
the signal is bandlimited to B = 1/ Tc , the tap delay line model has taps spaced at chip
intervals Tc. The channel baseband equivalent impulse response is given [26]
M 1
h(t,) =  ci (t)(  - i )
(4.3)
i 0
Where ci (t)=ai(t) e j i (t ) , ai(t) is path attenuation, i(t) is path phase, i is path delay,
and M is the number of resolvable multipaths. The channel parameters ci 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.
37
4 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=
L 1
K
M
i 0
k 1
m 1
  
cˆk ,m (i) d k (i)
 OiNQ



 ŝ k ,m (i)
 + n=SCd+n


 O( L i 1) NQ 


(4.4)
Where
O

  k ,m



       

sˆ k , m (i) =  sˆ k (i )


       
O

 M 

k ,m


th
d k (i) is the i data symbol transmitted by user k, sˆ k (i) is the user k signature sequence, the
zero-padded spreading sequence for symbols transmitted by user k, cˆk ,m (i ) denotes the
channel coefficients over the mth multipath for the ith 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
0
...
0
 cˆ1 (0)



cˆ 2 (0) ...
.
 0

C= 

..
.


 0
0
... cˆ K ( L  1) 

For example, if the number of multipath components M equals to 2, then the corresponding
channel matrix C is
C=
 c1,1 (0)

c1, 2 (0)
















0
c 2,1 (0)
c 2 , 2 ( 0)
c 3,1 (0)
c 3 , 2 ( 0)
c1,1 (1)
c1, 2 (1)
c 2,1 (1)
0
c 2, 2 (1)
















c 3,1 (1) 

c 3, 2 (1) 
 OiNQ



S: the matrix with the column ŝ j =  ŝ k ,m (i)  , j = iKM+(k-1)M+m


 O( L i 1) NQ 


38
4 RAKE Receiver with Multiuser Detection
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.
zk(i)
1
W
Finger 1
1
W
Finger 2
ck*,1 (i )
ck*, 2 (i )
s k* (i )
s k* (i )
Correlator
1
W

T
o
()
Correlator
ck*, M (i )
s k* (i )

T
o
y1
w1
Finger M
()
Correlator

T
o
()
yM
y2
w2
wM
yk(i)
Figure 4.1 RAKE Receiver with M fingers
4.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 user’s
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 s k* (i ) and c k*,m (i) (k= 1,...K, m=1,...M) represent the complex conjugate of chipmatched 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 sk(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 c k*,m (i) , m=1,...M [21].
39
4 RAKE Receiver with Multiuser Detection
Hence, suppose the output of the matched filter mathcing to the pulse shaping filter in
the transmitter is zk(i), then the output of each finger is given after channel matched and
correlating
PG
yi =

c k*,m (i) s k*, j (i ) zk(i)
(4.5)
j 1
Where PG is the processing gain, c k*,m (i) is the complex conjugate estimate of the
channel’s impulse response, s k*, j (i ) 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

0





c * (i )  s * (i )

*
*
k
,
1
k



c k , 2 (i )  s k (i )





A(i)(k) = 
0
.

.

.
.


.
.

0
0

.
.
.
.
.
.
.
.
0


.

.


.

0




c k*, M (i )  s k* (i) 

 
( PG  M 1) M
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, Tc, and 2Tc respectively, the processing gain, PG, is 4, the form of A(i)(k)
for the ith transmitted symbol of user k is
A(i)(k) =


 s k*,1 (i ) 


 *

s k , 2 (i )
 *


0
0
c k ,1 (i )  s * (i ) 



 *k ,3 

  c k*,1 (i ) s k*,1 (i )
 s k , 4 (i )

  *
*
 s k*,1 (i ) 

 c k ,1 (i ) s k , 2 (i )



 c * (i ) s * (i )
s * (i )
k ,3

 =  k ,1
0
c k*, 2 (i )  k*, 2 
0

 c k*,1 (i ) s k*, 4 (i )
s k ,3 (i )
 *


 
s
(
i
)
0


k
,
4

 


 s k*,1 (i )   
0

 *

s (i ) 

0
0
c k*,3 (i )  k*, 2  

s (i )

 *k ,3  

 s k , 4 (i ) 

0
c k*, 2 (i ) s k*,1 (i )
c k*, 2 (i ) s k*, 2 (i)
c k*, 2 (i ) s k*,3 (i )
c k*, 2 (i ) s k*, 4 (i)
0


0

c k*,3 (i) s k*,1 (i) 

c k*,3 (i) s k*, 2 (i )
c k*,3 (i) s k*,3 (i ) 
c k*,3 (i) s k*, 4 (i )
0
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
40
4 RAKE Receiver with Multiuser Detection
equivalently characterized by the static (PG+M-1) taps FIR filter [21], in which the
coefficients of each tap is given
 1 
 

M
2
(k )


with  j =   jm
 R _ MF =
  
m 1



 PG  M 1  ( PG  M 1)1
(4.6)
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  R( k_) MF 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
M
yk =
PG
 
wm
m 1
M
*
rk (t ) c k*,m (i) s k (i ) +
i 1
PG
  n(t ) c
wm
m 1
*
k , m (i )
s k* (i )
( 4.7)
i 1
By using the algebra model developed in Chapter 2, the output of RAKE combining can
expressed (2.14)
y = CH yMF =CH SH S C d + CH SH n = CH ΘC d + η
(4.8)
Where Θ = SH 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, dk(i)  {-1, 1} , the detector is

d k (i ) = sgn (Re{ yk })
For QPSK modulation, dk(i) = ( b0I (i ) + j b0Q (i ) ) /
(4.9)
2 , where b0I (i ) and b0Q (i )  {-1, 1}, the
detectors for the individual bits are


I
0
b (i) = sgn (Re{ yk }), b0Q (i ) = sgn (Im{ yk })
(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.
41
4 RAKE Receiver with Multiuser Detection
1, if y i  max{ y1 , y 2 ,..., y M }
wi = 
0, otherwise
(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]

 

e 1  e  



M

PBPSK =
1
2 

0

d
(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 yk, can be written as
M
yk =

wi yi
(4.13)
i 1
Where wi is the gain factor of each branch, yi 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.
M
Nt = N0

wi 2
(4.14)
i 1
Assume that the noise power is equal in all branches. By using the Schwarz inequality, the
resulting SNR is
Eb  wi y i 
y 2 Eb
SNR =
=
Nt
N 0  wi2
2
E
 b
N0
w  y
w
2
i
2
i
2
i
=
Eb
N0
y
2
i
(4.15)
The maximum value of the output SNR is obtained if and only if the combining gain
factors are chosen as
wi = k yi
Where k is an arbitrary constant.
42
( 4.16)
4 RAKE Receiver with Multiuser Detection
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]
PBPSK =
Where
 =
1
1  


( M  1)!  2 

=
1 
M
M

n0
( M  1  n)!  1   


n!
 2 
n
(4.17)

M 
 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:
w1 = w2 =...= wM = 1
The complex value of the combined signal is given by (4.4) with wi = 1
M
yk =

yi
(4.18)
i 1
Under the assumption of equal noise power in all branches, the resulting SNR becomes
y 2 Eb
Eb  M 
SNR =
=
  yi 
MN 0
MN 0  i 1 
2
(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 bi,
finger 1 will generate a decision variable r1 by despreading and integrating r(t) in [τ1, τ1+T],
and finger 2 will generate r2 in a similar way. The final decision variable is then r = w1 r1
+w2 r2 where w1 and w2 are nonzero for the cases of EGC and MRC. The effect of IPI is the
effect of path 1 (path 2) on r2 (r1) and the possible correlation between r1 and r2 [20].
43
4 RAKE Receiver with Multiuser Detection
τ1+T
τ1
Path 1, finger 1
bi
τ2+T
Path 2, finger 2
bi
rk(t)
τ2
Path 3,
No finger assigned
bi
τ3
τ3+T
Figure 4.2 Illustration of the case with three multipath components with
the two earliest arriving paths assigned to the two available fingers
Hence, the performance of RAKE with EGC or MRC cannot be the integer multiple SNR
of each finger for RAKE with Selection Combining.
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 = SH S matrix notation in (4.8). Assume the
system has only the 1st user, the fundamental structure of matrix R is illustrated in Fig 4.3
for the case in Fig 2.16.
symbol
1
user
1
path
2
1
1
2
1
X
X
1
1
2
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 1st user are (0, 5Ts ). 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.
44
4 RAKE Receiver with Multiuser Detection
4.4 Multiuser Detection
The conventional RAKE receiver consists of a filter matched to the desired user’s
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
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 user’s 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], [3132].
Table 4.1 Assumed knowledge for multiuser detection algorithms
Signature
of desired
user
Y
Signature
of
interferers
N
Timing of
desired
user
Y
Timing of
interferers
Relative
amplitudes
Training
sequence
Na
Y
N
Optimum multiuser
Y
Y
Y
Y
Y
N
Optimum linear
Y
Y
Y
Y
Y
N
Decorrelator
Y
Y
Y
Y
N
N
SIC & Multistage
Y
Yb
Y
Y
Y
N
Adaptive MMSE
N
N
Yc
N
N
Y
Blind MMSE
Y
N
Y
N
N
N
Matched filter
receiver
a
Strict power control required for adequate performance
Adequate performance with information about most powerful interferers only
c
Symbol timing only may be adequate
b
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 trellissearch 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
45
4 RAKE Receiver with Multiuser Detection
4.4.1 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)
M
yk =
PG
 
wm
m 1
M
rk (t )c k*,m (i) s k* (i) +
i 1
PG
  n(t)c
wm
m 1
*
*
k , m (i ) s k (i )
i 1
In the case of multiple K active users, the received signal in the receiver is
K
r(t) =
 r (t )  n(t )
k 1
(4.20)
k
and the output of the RAKE receiver yk for the kth user is modefied
yk =
M
PG
K
m 1
i 1
j 1
j k
 wm  rk (t )ck ,m (i)* sk (i)* + 
M
PG
M
PG
m 1
i 1
m 1
i 1
 wm  r j (t )c j ,m (i)* s j (i)* +  wm  n(t )ck ,m (i)* sk (i)*
(4.21)
Note that yk 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
1
Symbol
User
1
2
3
2
3
1
2
3
1
1







1







1






1






1













4
2
3
2
3












1




1










1












1









1







1










46
1
5
1
6
2
3
1
2
3













1








1









1









1









1







1







1
4 RAKE Receiver with Multiuser Detection
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
cancellation schemems. According to the algebra model developed in Chapter 2, the input
of multiuser detector is (2.14)
y = CH yMF =CH SH S C d + CH SH 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].
4.4.2 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 2K 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 2K 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

User 1 RAKE
d1 ( i )
User 2 RAKE
d 2 (i)

r(t)
Viterbi
Algorithm



d K (i )
User K RAKE
Figure 4.5 Optimum Multiuser Receiver
amplitudes and phases and involves a high degree of computational complexity. Extensive
work has followed developing suboptimum multiuser detection and interference
47
4 RAKE Receiver with Multiuser Detection
cancellation schemes in hopes of reducing complexity, while maintaining good
performance. Modifications of the optimum receiver represent another class of suboptimum receivers. Most of these replace the Viterbi ML algorithm with a reduced
complexity algorithm. Some variations include sequential decoding, minimum mean
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.
4.4.3 Suboptimal Detection
4.4.3.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]. Let’s rewrite (2.8) for K active users without channel fading when there is
no multipath signals [58]
r

T
L 1
K
i 0
k 1
= 
sk(i) d k (i) + n = Sd + n
y1

d1 (i )
0
r(t)
(4.23)
s1(t)
s2(t)

T

y2
d 2 (i)
0
Figure 4.6 Bank of conventional single user matched filters
in case of 2 users
For the conventional matched filter shown in Fig 4.6, the output can be expressed
K
y =  r sk*(i) = R d + n
(4.24)
k 1
Where R is the crosscorrelation matrix
R= SHS = { ρkl }
And the crosscorrelation ρkl
48
(4.25)
4 RAKE Receiver with Multiuser Detection
ρkl =

T
0
sk(t) sl(t) dt
(4.26)
sk is the the user signature sequance for discrete time baseband sytem model.
In the 2 users case,
 1
R =
 12
12 
1 
(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]

d̂ Dec = R-1y = 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.

T
y1
+

0
-
d1 (i )
s1(t)
r(t)

T

T

0
s2(t)
-
y2
+

d 2 (i)
0
Figure 4.7 Decorrelating detector for 2 synchronous users
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(τ) =
ρlk(τ) =
T



0
49
sk(t) sl(t-τ) dt
(4.29a)
sk(t) sl(t+T-τ) dt
(4.29b)
4 RAKE Receiver with Multiuser Detection
without loss of generality, assume users are labeled chronologically, i. e., by the arriving
time
τ1 ≤ τ2..... ≤ τk
(4.24) is modified at time instant i
y [i] = RT [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
 2 R T 1,
if
 2
if
  R0,
E[n [i] nT [j] ]=  2
if
  R1,
 0,
otherwise
j  i 1
j i
j  i 1
(4.31)
And the matrices R [0] and R [1] are defined by
 1,

Rjk[0] =   jk

 kj
 0,
Rjk[0] = 
  kj
if
if
if
jk
jk
jk
if
jk
if
jk
(4.32)
(4.33)
For example, in 3 users case,
 1
R [0] =  12
 13
12
1
 23
0  21
R [1] = 0 0

0 0
13 
 23 
(4.34)
1 
 31 
 32 
(4.35)
0 
In the asynchronous case, we can write the output of decorrelating detector
d̂ Dec = [RT [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]
50
4 RAKE Receiver with Multiuser Detection
R = CH SH 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:
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.
4.4.3.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]
d̂ Dec = HH y = (R+ σ2I)-1 y
(4.38)
Where HH = (R+ σ2I )-1, minimize the cost function
J(HH)= E[ | HH 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
d̂ Dec = HH y = (RT [1] z + R [0] + R [1] z -1 + σ2I )-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.
51
4 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].

T
y1
1+ σ2
+

0
-
d1 (i )
s1(t)
r(t)

T

T

0
s2(t)
-
y2
+

d 2 (i)
1+ σ2
0
Figure 4.8 MMSE linear receiver for 2 synchronous users
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.
4.4.3.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.
52
4 RAKE Receiver with Multiuser Detection
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

T

0
ck1
s1(t)

r(t)
d̂ k
T
0
ck2
s2(t)




T
0
ckK
sK(t)
Coefficient update algorithm
+
Training
sequence
Figure 4.9 multiuser adaptive MMSE receiver for user k based on a transversal
FIR
be described in detail in Section 5.3.3, next chapter.
Please refer to Section 5.3.3.
4.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
disadvantage of optimal and suboptimal multiuser detectors are described and compared
with each other theoretically.
53
5 Smart Antenna in WCDMA
5 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.
5.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, predefined 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
co-channel interfering environments owing to their lack of ability to distinguish a desired
Desired signal
Interfering signal
Figure 5.1
Switched beam form antenna pattern
54
5 Smart Antenna in WCDMA
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.
Desired signal
Interfering signal
Figure 5.2
Adaptive beamform antenna pattern
5.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 )=
d l  aˆ ( i , i )
c
(5.1)

Where d l is the position vector of the nth element, aˆ ( i , i ) 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 )=
d
(n-1) cos θi
c
55
n =1,2,...B
(5.2)
5 Smart Antenna in WCDMA
z
xi
φi
d1
d2
y
θi
B
x
Figure 5.3 The coordinate system for the signal model
Assume the signal on the 1st element due to the ith source is xi(t)
xi(t) = mi (t) exp ( j 2 π f0 t )
(5.3)
Where mi (t) denotes the complex modulating function. The received signal vector on
ULA can be expressed as
 r1 (t )   xi (t ) exp(  j 1 ) 
 exp(  j 1 ) 
 r (t )   x (t ) exp(  j ) 
 exp(  j ) 
2 
2 
x (t ) +n(t)=s xi (t ) +n(t) (5.4)
r(t)=  2  =  i
+n(t)= 

   

 i




 


rB (t )  xi (t ) exp(  j B )
exp(  j B )
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
1


d cos 


 exp(  j 2  ) 
H= 
 h(t,τ)=V(θ) h(t, τ)


d cos  
exp(  j 2 ( B  1)

 

(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).
56
5 Smart Antenna in WCDMA
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
M
Hm =
V
m 1
m
( )hm (t , )
(5.6)
Where hm (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).
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.
Steering Delay
τ1 (φi,θi)
r1
T
w11
τ2 (φi,θi)
r2
w12
T
w22

w1M

T
w21
τB (φi,θi)
T

rB
wB1
y(t)
w2M


T
T
wB2

wBM
Weight
control
Error
signal
+
Reference signal
Figure 5.4 Broad-band beam-former structure
For a received signal xi (t) in Fig.5.3, the array output from Fig. 5.4 can be given by
57
5 Smart Antenna in WCDMA
B
y(t) =

wn rn (t)
(5.7)
n 1
Where w = [wn1, wn2, ..., wnM ], the weight vector, and r is given in (5.4)
5.3 Beamforming Schemes
5.3.1 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
particular direction, the phases are selected appropriately [53]. This can be explained as
follows.
Assume that there is a source of power pi in the look direction, it is referred to as the signal
source. According to (5.3) for a particular direction (φi, θi),, the signal rin (t) induced on the
nth element due to this source is given
rin (t) = mi (t) exp ( j 2 π f0 ( t +τ (φi ,θi )))
(5.8)
Array signal vector due to the look direction signal becomes
ri (t) = mi (t) exp ( j 2 π f0 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
wc = (1 /B ) s
(5.10)
Where B is the number of elements. The output of the array with weight vector wc
becomes
y(t)= wcH ri (t) = mi (t) exp ( j 2 π f0 t )
(5.11)
yielding the mean output power of the processor
P(wc )=E[y(t) y*(t)]= pi
(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].
58
5 Smart Antenna in WCDMA
5.3.2 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]
Minimize the
difference between
the output of the
array and some
desired response
J(w)= E[ | wH r(t)d(t)|2 ]
Maximize the ratio of the power in
the desired signal component to the
power in the noise component at the
array output
J(w)=
LCMV
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
J(w)=wH Rw
w H Rn w
w H Rs w
Where Rn is the covariance matrix of
the noise component of r(t) and RS is
the covariance matrix of the signal
component.
Subject to the linear
constraint wHa(φ) = g.
when g=1, this is called
the Minimum Variance
Distortionless Response
(MVRD) beamformer
Rn-1Rs w = λmax w
w = R-1c[cHR-1c]-1g
Where λmax is the maximum
eigenvalue of Rs
where c = a(φ) is the
steering vector in the
direction of constraint
Advantages
Where r(t) is the
array input and d(t) is
the desired response
Max SNR
Knowledge of the
DOA is not required
True maximization of SNR
Generalized constraint
technique
Disadvantages
Cost Function
criteria
MMSE
Generation of
reference signal
Must know statistics of noise and
DOA of desired signal
Must know DOA of
desired component
Optimal
solution
w = R-1 p
where R = E[r(t)
rH(t)]
and p = E[r(t) d*(t)]
59
5 Smart Antenna in WCDMA
squares (LS) criteria. In both of these techniques, the square of the difference between the
array output, z(t)=wHk ri (t), and dk(t), a locally generated estimate of the desired signal for
the kth subscriber, is minimized by finding an appropriated weight vector, wk. MMSE
solutions are posed in terms of ensemble averages and produce a single weight vector, wk ,
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)
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].
5.3.3 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], [5253]. An adaptive solution which minimizes the cost function is
wi+1 = wi –

 J(wi)
2
(5.13)
Where μ is the convergence factor which controls the rate of adaptation, and  J(wi) 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) - wH (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
60
5 Smart Antenna in WCDMA
n
J(k) =

n i
(| ζ(k)|2 )
(5.16)
i 1
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.
 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 ) =
w(k )

Differentiating the cost function J(k) with respect to λ yields
61
(5.17)
5 Smart Antenna in WCDMA
  ( n) 
J (k )
1
  E[ H (k  1)r (k ) * (k )  r H (k ) (k  1) (k ) ]

2
(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 P(k  1)r (k )
1  1 r H (k ) P(k  1)r (k )
(5.20)
And
P(k) = λ-1 P(k-1) - λ-1 G(k) rH (k) P(k-1)
(5.21)
Let S(k) denote the derivative of the inverse correlation matrix P(k) with respect to λ:
S(k) =
P(k )

(5.22)
Differentiating Eq. (5.21) with respect to λ
S(k) = λ-1[I - G(k) rH (k)] S(k-1) [I - r (k)GH(k)]+ λ-1 G(k) GH(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) rH (k)]  (k  1) + S(k) r(k) ζ *(k)
(5.24)
According to Eq. (5.18) , the forgetting factor λ(k) is adaptively computed
λ(k)= λ(k-1)+α Re[ H (k  1) 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
62
5 Smart Antenna in WCDMA
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 w(0) , P(0), λ(0), S(0), and  (0) , compute for n>0 :
G(k) =
1 P(k  1)r (k )
1  1 r H (k ) P(k  1)r (k )
ζ(k) = d(k) - ŵ
H
(k-1) r(k)
w(k)= ŵ (k-1) + G(k) ζ *(k)
P(k) = λ-1 P(k-1) - λ-1 G(k) rH (k) P(k-1)
λ(k)= λ(k-1)+α Re[ˆ H (k  1) r(k) ζ *(k)]] 
S(k) = λ-1[I - G(k) rH (k)] S(k-1) [I - r (k)GH(k)]+ λ-1 G(k) GH(k)- λ-1 P(k)
 (k ) = [I - G(k) rH (k)] ˆ H (k  1) + 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.
Figure 5.5 The learning curve for the RLS algorithms with
adaptive memeory with α= 0.001, δ = 0.01 λ+=1, λ-=0.82,
63
5 Smart Antenna in WCDMA
5.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.
64
6 Simulation
6 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.
6.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
d1(i)
( user 1)
d2(i)
( user 2)
Modulation
(BPSK)
chip
rate
bit
rate
chip
rate Pulse
Channel
h(1)(t)
shaping
filter
Pulse
shaping
filter
Modulation
(BPSK)

dK(i)
( user K)
scrambling

Channel
h(2)(t)
MAI

Pulse
shaping
filter
Modulation
(BPSK)
Channel
h(K)(t)
Figure 6.1 Simulation diagram of transmitters of WCDMA in uplink
65
6 Simulation
66
6 Simulation
Initiating parameters
Walsh code and gold code or random sequence generation
Filtering the users signature sequences codes for each user
No
Loop(Monte Carlo)
loop< max_loop
Yes
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
No
Inner loop
SNR <= max_SNR
Yes
Adding white noise by the specified SNR
Spatial processing
Temporal processing , RAKE receiver
Multiuser detection
Symbol decision
BER calculation
Average BER calculation for all loops and the curve generation
end
Figure 6.3 Flowchart of the simulation
67
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.
 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
BS
MS location
Figure 6.4 Simulation area and the related BS and MS route
68
6 Simulation
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.
6.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.
6.3 System Performance
Figure 6.5 Channel Impulse Response
6.3.1
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.
69
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.
Figure 6.6 The system performance of 1-D RAKE and conventional mathed
filter for single user
BER
SNR (dB)
Figure 6.7 Performance of 1-D RAKE with EGC or Selection Combining for
single user
70
6 Simulation
6.3.2 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 couldn’t improve so much. Fig.6.7 clearly demonstrates the
improvement with EGC.
6.3.3 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
Figure 6.8 The system performance of 1-D RAKE with Decorrelating Detector and MMSE
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
71
6 Simulation
detector and LMMSE detector are adopted to cancel the multiple access interference.
Without MUD, the performance of 1-D RAKE couldn’t improve although SNR increases.
With MUD, the system performance can improve more than 102 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.
6.3.4 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)
72
6 Simulation
6.3.5 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.
Figure 6.10 System performance of 1-D RAKE with different processing gain
6.3.6 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
spread by Walsh code with PG 8 . The channel parameters are updated by MS moving with
73
6 Simulation
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.
System
0
performance
10
-1
BER
10
Conventional
adaptive MUD(RLS)
RAKE adaptive MUD(RLS)
Rake
-2
10
0
10
20
30
40
SNR (dB)
50
60
70
80
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.
6.3.7 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
74
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.
Figure 6.12 The system performance with of 2-D RAKE with conventional
beamforming algorithm for spatial processing

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.
75
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
System performance
0
10
Conventional
Rake
SA RAKE
SA RAKE adaptive MUD(RLS)
-1
BER
10
-2
10
0
10
20
30
40
SNR (dB)
50
60
70
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
76
80
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.
6.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.
77
7.Conclusion
7 Conclusion
7.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 channel
78
7.Conclusion
condition. The simulator can be used to investigate the gain of different adaptive
algorithms.
7.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.
79
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, 3rd 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, AddisonWesley 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. 772–780,
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.506–510.
[16] N. Chan, “Multipath propagation effects on a CDMA cellular system,” IEEE
Trans. Veh. Technol., vol. 43, pp. 848–855, Nov. 1994.
80
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. 121–125.
[18] K.Wu and S.Tsaur, “Selection diversity for DS-SSMA communications on
Nakagami fading channels,” IEEE Trans. Veh. Technol., vol. 43, pp.428–438, 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.Lötter; 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-
81
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 DSCDMA 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 CodeDivision-Multiple-Access Channels, ” IEEE Trans. Info. Theory, vol. 35, no.1, pp.123136, 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-squareerror 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 & Häggman, 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
82
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. Beamforming 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 3rd 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
83
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);
84
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;
85
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+(k1)*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);
86
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
87
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);
t1 = [num_bin 1];
88
Appendix
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%
%
in each cell: Column 1 Column 2
Column 3
Column 4
Column 5
Column 6 %
89
Appendix
%
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})
for n=1:length(ch_data_temp{1,temp*L+i}(:,3))
if ch_data_temp{1,temp*L+i}(n,3)~=0
90
Appendix
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_multipathlength(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
for i=1:L
91
Appendix
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*Qtau(k)-1)]'); %
end
end
S=[];
for no_ant=1:num_antenna
S=sparse(blkdiag(S,S_temp));
end
S=sparse(S);
clear tau delay_single_path temp val index NO;
92
Appendix
%- 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)]');
else
93
Appendix
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,(Ltemp-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
%
S_r, the matrix for matching to the channel delay ,despreading and integrating
94
Appendix
%
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)));
lambda=1; ilambda=1/lambda;
95
Appendix
[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;
count = 1;
96
Appendix
% 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');
ylabel('Auto-correlation function');
97
Appendix
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');
15
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,:));
cross1_nor=cross_gold1(1,:)./max1;
min_value=min(cross1_nor);
max_value=max(cross1_nor);
98
Appendix
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');
==================================================================
16 The adaptive MUD algorithm—RLS 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;
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);
99
Appendix
weight(:,n)=w;
output(n)=w'*ant_resig;
error=reference(n)-output(n) ;
Mserr(n)=Mserr(n)+error^2;
end
100
Download