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 TQ1 ) 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] ф= 2d cos( ) = 2d 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 j1,1 ( 0 ) e 1 1 1 1 1 1 1 1 1 1 e j1, 2 ( 0 ) e j 2 , 1 ( 0 ) e j 2 , 2 ( 0 ) e j 3 , 1 ( 0 ) e j 3 , 2 ( 0 ) e j1,1 (1) e j1, 2 (1) e j 2 ,1 (1) e j 2 , 2 (1) e 23 j3 ,1 (1) 1 j3 , 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 n0 ( 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 R0, E[n [i] nT [j] ]= 2 if R1, 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 jk jk jk if jk if jk (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