Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Performance of an improved MMSE receiver for CDMA systems in Rayleigh fading Martin, David Glenn 2002

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_2002-0488.pdf [ 4.79MB ]
Metadata
JSON: 831-1.0065309.json
JSON-LD: 831-1.0065309-ld.json
RDF/XML (Pretty): 831-1.0065309-rdf.xml
RDF/JSON: 831-1.0065309-rdf.json
Turtle: 831-1.0065309-turtle.txt
N-Triples: 831-1.0065309-rdf-ntriples.txt
Original Record: 831-1.0065309-source.json
Full Text
831-1.0065309-fulltext.txt
Citation
831-1.0065309.ris

Full Text

P E R F O R M A N C E O F A N I M P R O V E D M M S E R E C E I V E R F O R C D M A S Y S T E M S I N R A Y L E I G H F A D I N G b y D a v i d G l e n n M a r t i n B.Eng. (Electrical Engineering) Memorial University of Newfoundland, Canada, 1996 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES DEPARTMENT OF ELECTRICAL A N D COMPUTER ENGINEERING We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH C O L U M B I A September 2002 © David Glenn Martin, 2002 In presenting this thesis in partial fulfillment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly pur-poses may be granted by the head of the department or by his or her representatives. It is under-stood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. David G. Martin Department of Electrical and Computer Engineering The University of British Columbia 2356 Main Mall Vancouver, B C , Canada V6T 1Z4 Date: A b s t r a c t In a recent paper an adaptive modified minimum mean squared (MMSE) linear filter is used to mitigate interference caused by other users in a C D M A system. The tap weight vector for this adaptive linear filter is determined by an orthogonal decomposition-based least mean square (LMS) algorithm. This tap weight vector consists of a fixed and an adaptive part whose orthogonality is normally maintained by the LMS algorithm. In this thesis, it is proposed that an explicit orthogonalization procedure be used to reduce problems due to quantization errors. These errors would otherwise accumulate and are shown via fixed-point simulations to cause the components of the tap weight vector to become non-orthogonal, resulting in a decreased signal to interference plus noise ratio (SINR) and an increased BER. It is demonstrated that this explicit orthogonalization procedure results in a higher SINR and a lower BER. A new detector is proposed, which adds two minor improvements to the previously published detector, in addition to the explicit orthogonalization procedure. The advantages of these improvements are illustrated by floating-point simulations. The B E R performance of the Proposed Detector is compared to those of previously published detectors for the flat Rayleigh fading channel. Finally, to cope with the frequency-selective fading channel, multiple instances of the Proposed Detector can be used in a precombining R A K E receiver structure. The BER performance for this Proposed R A K E receiver is compared against published results for other detectors. T a b l e o f C o n t e n t s Abstract ii List of Tables vi List of Figures vii Acknowledgements x Chapter 1: Introduction 1 1.1: Motivation and Scope 1 1.2: Thesis Outline 4 Chapter 2: Background 5 2.1: Optimum Multiuser Detection 5 2.2: Multiuser Detection and Interference Cancellation 5 2.3: Basic Definitions and System Models 7 2.3.1: Synchronous C D M A Model 8 2.3.2: Asynchronous C D M A Model 9 2.3.3: Discrete-Time Synchronous Model 10 2.3.4: Discrete-Time Asynchronous Model 12 2.4: Linear Minimum Mean-Squared Error (LMMSE) Detector 16 2.4.1: Adaptive L M M S E and Blind Adaptive L M M S E 17 2.5: Modified M M S E 18 2.6: Constrained Modified M M S E 20 2.6.1: Hermitian Issue in the Constrained Modified M M S E Detector 22 Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 26 3.1: Baseline Simulations 27 3.1.1: Non-Fading Environment 32 3.1.2: Single User Rayleigh Fading Environment 35 3.1.3: Multiple User Rayleigh Fading Environment 37 3.2: Simulations for the Hermitian Issue 38 3.2.1: BER Simulation Results for the Hermitian Issue 39 3.2.2: Loss of Orthogonality and Tap Weight Plots 42 iii 3.3: Normalized Least Mean Squared (NLMS) 47 3.3.1: Simulation Results 49 Chapter 4: Fixed-Point Implementation Considerations 53 4.1: Fixed-Point vs. Floating-Point Systems 54 4.2: Orthogonalization Procedure 55 4.2.1: Orthogonalization Procedure Description 55 4.2.2: Proposed Detector Description 56 4.3: Orthogonalization Procedure Floating Point Simulations 57 4.4: Fixed-Point Simulations 60 4.4.1: Simulations to Determine Quantization Parameters 60 4.4.2: Orthogonalization Procedure Fixed Point Simulations 63 4.4.3: Orthogonalization Procedure Fixed Point Extended Simulations 66 Chapter 5: Proposed Detector - One Path Simulation Results 74 5.1: Uplink BER in Rayleigh Flat Fading 75 5.2: Varying the Pilot Symbol Insertion Period and the Moving Average Length 80 5.3: Performance in Different Environments 87 5.3.1: Uplink, Asynchronous Rayleigh Flat Fading Channel 88 5.3.2: Uplink, Synchronous Rayleigh Flat Fading Channel 89 5.3.3: Downlink, Synchronous Rayleigh Flat Fading Channel 90 5.3.4: Downlink, Asynchronous Rayleigh Flat Fading Channel 92 Chapter 6: Performance in a Two-Path Frequency-Selective Channel 94 6.1: Two Path R A K E Detector for Frequency Selective Rayleigh Fading 95 6.2: Channel Estimation via a Pilot Channel 97 6.3: BER Comparison to Previously Published Results 98 6.4: Single Path Detector Performance in a Multipath Rayleigh Fading Channel 102 6.4.1: Single Path Detector Performance in a Two Path Rayleigh Fading Channel 102 6.4.2: Single Path Detector Performance in a One Path Rayleigh Fading Channel 103 Chapter 7: Conclusions 105 7.1: Contributions of this Thesis 105 7.2: Suggestions for Further Work 106 Glossary 108 iv List of Mathematical Symbols and Notation 110 Bibliography 114 Appendix A : Derivation of Discrete-Time Received C D M A Signal 117 V L i s t o f T a b l e s Table 2.1: Comparison of required parameters for selected detection techniques 7 Table 3.1: Detector abbreviations and section listing 26 Table 3.2: Default simulation parameters 31 Table 3.3: Theoretical and simulated cross-correlations for selected code families 34 Table 4.1: Required number of bits for acceptable performance in fixed-point 62 Table 5.1: Best moving average length for each pilot symbol insertion period 82 vi L i s t o f F i g u r e s Figure 2.1: Organization of data detection techniques 6 Figure 2.2: Bit epochs and timing offsets for an asynchronous system 9 Figure 2.3: Illustration of asynchronous cross-correlation (ti < tj) 10 Figure 2.4: Discretizing the continuous-waveform r(t) by a bank of matched filters 11 Figure 2.5: Modified M M S E Detector 20 Figure 2.6: Constrained Modified M M S E Detector 21 Figure 2.7: Projection of rk onto xk and sk 23 Figure 3.1: Gold code generator 29 Figure 3.2: Matched filter in A W G N - simulated and theoretical values 33 Figure 3.3: Single-user matched filter in non-fading and Rayleigh fading channels 36 Figure 3.4: Matched filter in Rayleigh fading with multiple users - simulated results 38 Figure 3.5: Experimentally determined step size for the Kim Detector + Herm. Fix, with K = 25 users 40 Figure 3.6: BER simulation of Matched Filter, the Kim Detector, and the Kim Detector + Herm. Fix 41 Figure 3.7: Orthogonality problems without the Hermitian Fix 43 Figure 3.8: One selected tap weight component for the Kim Detector 44 Figure 3.9: Orthogonality problems solved via Hermitian Fix 46 Figure 3.10: One selected tap weight component for the Kim Detector with Herm. Fix 47 Figure 3.11: Calculating the 'effective' step size for an N L M S algorithm 50 Figure 3.12: BER simulation of the Matched Filter, the Kim Detector + Herm. Fix, and the Kim Detector + Herm. Fix + N L M S 51 Figure 3.13: Simulation of the Kim Detector while holding the step size constant 52 Figure 4.1: Proposed Detector - single path 57 Figure 4.2: Orthogonality measure in Kim Detector + Herm. Fix + N L M S 59 Figure 4.3: Orthogonality measure in Proposed Detector 59 Figure 4.4: Orthogonality measure for dataset #1 with Kim Detector + Herm. Fix + N L M S . . 64 Figure 4.5: Orthogonality measure for dataset #1 with Proposed Detector 65 vii Figure 4.6: Orthogonality measure for an extended simulation with Kim Detector + Herm. Fix + N L M S 67 Figure 4.7: Real part of the error signal for an extended simulation with Kim Detector + Herm. Fix + N L M S 67 Figure 4.8: SINR for an extended simulation with Kim Detector + Herm. Fix + N L M S 69 Figure 4.9: Moving median of SINR over 25000 bits for extended simulations with Kim Detector + Herm. Fix + N L M S 69 Figure 4.10: Orthogonality measure for an extended simulation with the Proposed Detector . . 70 Figure 4.11: Real part of error signal for an extended simulation with the Proposed Detector . 71 Figure 4.12: SINR for an extended simulation with the Proposed Detector 72 Figure 4.13: Moving median of SINR over 25000 bits for extended simulations with the Proposed Detector 72 Figure 5.1: BER as a function of number of users for uplink/asynchronous Rayleigh fading channel, fd = 93 Hz 76 Figure 5.2: Simulation results for lower bound BER with a known channel (MF) 77 Figure 5.3: Simulation results for lower bound BER with a known channel (non-MF) 78 Figure 5.4: BER as a function of number of users for uplink/asynchronous Rayleigh fading channel, fd= 185 Hz 80 Figure 5.5: BER for different lengths of the pilot symbol insertion period 84 Figure 5.6: Weighted moving average filter for P = 3, Np = 2 86 Figure 5.7: Weighted moving average filter for P = 3, Np = 3 86 Figure 5.8: Uplink, asynchronous Rayleigh flat fading channel 88 Figure 5.9: Uplink, synchronous Rayleigh flat fading channel 90 Figure 5.10: Downlink, synchronous Rayleigh flat fading channel 91 Figure 5.11: Downlink, asynchronous Rayleigh flat fading channel 93 Figure 6.1: Proposed two path R A K E detector 96 Figure 6.2: BER for downlink synchronous two path Rayleigh fading channel 99 Figure 6.3: B E R for uplink synchronous Rayleigh two path fading channel 100 Figure 6.4: B E R for downlink synchronous Rayleigh two path fading channel (using the Latva-aho Detector's published step size) 101 Figure 6.5: BER for a single path detector in a two path synchronous downlink channel . . . . 103 Vlll Figure 6.6: BER for a single path detector in a one path synchronous downlink channel . . . . 104 Figure A . 1: Received signals for an example C D M A system with three users 118 IX A c k n o w l e d g e m e n t s I would like to thank my thesis supervisor, Dr. Cyril Leung, for his guidance, patience, and for sharing his extensive knowledge throughout this thesis research. This work was supported in part by the Natural Sciences and Engineering Research Council of Canada under grant OGP-0001731. Also, I would like to thank my thesis examining committee for their time in reviewing this thesis. I would like to thank my parents for their love and financial support during my many years of education. I would also like to thank my sister for her love and friendship over the years. Finally, I would like to thank my fiance, Rho Nebre, for her love and encouragement during this endeavor. She has been very patient during my many nights of study and research, and deserves my utmost gratitude. Chapter 1: Introduction 1.1 Motivation and Scope There are several types of multiple access schemes in common use for cellular communica-tion systems. One of the more recent forms is direct sequence-code division multiple access (DS-C D M A ) , embodied by TIA/EIA-95B [1]. DS-CDMA is commonly known by the more generic term, C D M A . D S - C D M A will also be part of the next generation of mobile communication systems, e.g. 3GPP (Third Generation Partnership Project). The 3GPP is a consortium of companies, interna-tional standards organizations, and other related bodies founded to produce a complete set of specifications for the third generation of mobile communication systems, based on the evolved G S M (Global System for Mobile communications) core networks. The air interface of the system uses W C D M A (Wideband CDMA) , with a bandwidth of about 5 MHz. A competing third generation cellular system, known as cdma2000, is proposed by the 3GPP2 (Third Generation Partnership Project - 2) consortium. Some of the major differences between cdma2000 and W C D M A include an easier upgrade path from IS-95 to cdma2000 and use of multi-carrier C D M A within cdma2000. cdma2000 can use multiple carriers (typically three) of 1.25 MHz each, with each carrier containing a D S - C D M A signal. Wireless channels generally have a higher BER (bit error rate) than their copper or optical fiber counterparts. Cellular systems are allocated a limited portion of the radio frequency (RF) spectrum - a problem not encountered with fixed land line systems in which the maximum data rates can be increased simply by adding copper or fiber cables. Due to the limited RF spectrum, it 1 Chapter 1: Introduction 2 is desirable to accommodate as many users in a given bandwidth (BW) as possible. The main sources of bit errors in a cellular system are: 1. Fading channels, e.g. Rayleigh fading. 2. Additive white gaussian noise (AWGN). 3. Intracell interference. This interference is due to other users within the cell. For the purposes of this thesis, this is called multiple access interference (MAI). 4. Intercell interference. This interference is due to other users located outside the cell of inter-est. To help explain how the effects of M A I and fading can be mitigated, we take a closer look at the D S - C D M A system. In DS-CDMA, each user's signal is multiplied by one or more sequences, to spread the bandwidth of the signal and to provide a low cross-correlation between any two users' signals. If one sequence is used for this spreading, it is often called a spreading sequence, and is unique to that one user. This sequence is sometimes called the signature of that user. If two sequences are used for this spreading, then one sequence is often called a spreading sequence, and one is called a scrambling sequence. The spreading sequence usually spreads only the bandwidth of the user's signal, and may or may not be unique to that user. The scrambling sequences are unique to each user and are chosen such that they have a low cross-correlation. The combination of the spreading and scrambling sequence is known as that user's signature [2, 3]. In either of the above cases, all users' signals overlap in time and frequency. Ideally, the sig-natures, or code sequences, should be orthogonal to one another, i.e. their cross-correlations are zero. A system with orthogonal codes would have no intracell interference if the signals received from the various mobiles were synchronized. In a practical system with imperfect synchronization and channel distortions, the received signals are no longer orthogonal. Chapter 1: Introduction 3 The signature sequence can help to make the transmitted signal look more noise-like. The matched filter is an optimum detector for an A W G N channel [4]. Thus, the conventional receiver (matched filter) would only be optimal if the M A I had statistical properties equivalent to AWGN. However, this is not the case. As another example of the limitations of the matched filter, consider a situation with two users. One of the users is received with a stronger signal power, and will overpower the weaker user, creating the near/far problem. Tight power control is required to combat this effect, some-times unsuccessfully, and with added complexity. A better strategy is to use a technique called multiuser detection (MUD), in which informa-tion about the interferers is used to improve the detection for each individual user. Since the inter-fering signals are not truly random and cannot be treated as Gaussian noise, the conventional receiver is not optimal. An intuitive way to understand this multiuser detection strategy is to con-sider a system with two users, in which one is stronger than the other. The conventional detector for the weak user would just try to detect its weak signal with the strong signal acting as interfer-ence. One form of a multiuser detector may try to detect the stronger user first, and use that result to subtract the stronger user's signal from the received signal. It then proceeds to detect the weaker user's signal from this signal, which does not contain much of the stronger user's signal. This thesis looks at single-user interference cancellation which is a detection strategy related to M U D , in that it makes use of the knowledge that M A I exists, and that performance can be improved by not treating the interference as purely A W G N . The focus of this thesis is the improvement of adaptive linear detectors. Linear detectors use linear operations to improve performance given one or more constraints. Adaptive linear detectors constantly try to improve themselves by updating the linear operations according to certain crite-Chapter 1: Introduction 4 ria, such as minimum mean-squared error or minimum output energy. This thesis considers a par-ticular implementation of an adaptive linear detector, and provides suggestions for improvement. In particular, implementation considerations for a fixed-point implementation of the detector are discussed. An algorithm improvement is suggested which will help the detector in fixed-point systems. The performance of this improved detector is studied using several methods. The detec-tor is then extended for use in a Rayleigh frequency-selective channel. The detectors studied within this thesis are derived from a form of multiuser detection, the linear M M S E (minimum mean-squared error), and therefore make use of the knowledge that there is M A I , and this M A I is not A W G N . However, unlike most M U D techniques, the detectors stud-ied here do not use the other users' signatures or timing information. 1.2 Thesis Outline Chapter 2 gives some of the mathematical terminology and background for later work. It also summarizes the techniques and literature directly applicable to this thesis. Chapter 3 illus-trates some potential problems with a previously published detector, herein called the Kim Detec-tor, and suggests some improvements. Chapter 4 investigates some issues that arise with fixed-point implementation of this previously published detector and the suggested improvements of Chapter 3. A new detector is then proposed to help solve these issues. Chapter 5 provides some floating-point simulation results for the Proposed Detector, and compares the results to the perfor-mance of three existing detectors. Chapter 6 proposes an extension of the Proposed Detector for the Rayleigh frequency-selective channel, along with some simulation results. Finally, the thesis contributions are summarized in Chapter 7 along with some suggestions for further work. Chapter 2: Background This chapter provides the background information and necessary definitions for understand-ing the new results presented in this thesis. The reader is assumed to be familiar with basic spread-spectrum principles, C D M A systems, and adaptive digital signal processing. Further information on these topics is in [4, 5,6]. 2.1 Optimum Multiuser Detection An optimal detector for C D M A systems was proposed by Verdu in [7]. The optimal detector is a minimum least squared error (MLSE) detector that searches through 2KL^2M+ ^ possible bit combinations, where K denotes the number of users in the system, L is the number of multipath for each user, and (2M+1) is the number of bits transmitted by each user. This detector requires knowledge of the signature waveforms for each user, associated tim-ing information, received amplitudes, A W G N power level, and the complex channel coefficients (gain, phase, and timing) for all users. The information required by this detector is extensive, and the ensuing complexity is prohibitive for implementation in a real system [2, 7]. 2.2 Multiuser Detection and Interference Cancellation There are many different ways of categorizing data detection schemes. Figure 2.1, which is adapted from [8], illustrates one method of classifying them, by defining a single-user detector to mean any detector that requires no information about the other users present in the system, and it 5 Chapter 2: Background 6 demodulates one user only. In this thesis, the term multiuser detector is used to refer to any detec-tor which makes use of knowledge about the other interferers such as timing or signatures. Given these definitions, the technique studied in this thesis is a combination of an enhanced single-user detector, an interference canceller, and a minimum mean-squared error detector. Table 2.1, adapted from [2], illustrates how various detection techniques require different types of informa-tion in order to work correctly. The term desired user refers to the demodulated user for which performance results are obtained. Data detection Single-user Multi-user ' — A — Matched filter 1 Enhanced (conventional 1 single-user detector) 1 techniques Interference cancellation schemes _ : \ Joint detection i - i | Technique studied in this | , thesis is the combination | Successive Parallel Minimum mean squared error Decorrelator Maximum likelihood (optimal) I outlined by the dashed box. | Figure 2.1: Organization of data detection techniques Chapter 2: Background 7 Table 2.1: Comparison of required parameters for selected detection techniques Signature waveform of desired user Timing of desired user Received amplitudes Noise level Signature waveform of interfering users Timing of interfering users User-specific training sequence Single User Matched Filter Y Y Maximum Likelihood Y Y Y Y Y Minimum BER Y Y Y Y Y Y Decorrelator Y Y Y Y MMSE Y Y Y Y Y Y Adaptive MMSE (with training) Y Y Adaptive MMSE (with desired user's signature) Y Y Y Enhanced Single User Detector Y Y Y Decision Directed Y Y Y Y Y 2.3 Basic Definitions and System Models A number of different models for a C D M A system with K users are described in this sec-tion. We begin with a synchronous C D M A system with additive white Gaussian noise (AWGN) and finish with an asynchronous C D M A system in Rayleigh fading with A W G N . In this thesis, the terms synchronous or asynchronous refer to the timing at the receiver, and not the transmitter. Propagation delays introduced by the channel may mean that synchronously-transmitted signals are received asynchronously. The symbol notation to be used is as follows. Scalars and continuous time signals are repre-sented by an italicized regular weight font, as in rk or r(t). Vectors are column vectors unless oth-erwise stated, and are represented by a non-italicized bold font, as in r. Matrices are represented by a non-italicized bold uppercase letter, as in R. Chapter 2: Background 8 2.3.1 Synchronous C D M A Model We consider a synchronous C D M A system with K users. Signals from the K users arrive at the receiver in a synchronous fashion in that each user is bit and chip synchronized to each other. The received signal assuming BPSK modulation and A W G N can be written as where Ak is the received amplitude of the M i user's signal and Ak is the energy; bk e {-1,+1} is determined by the bit transmitted by the M i user; sk(t) is the deterministic signature waveform of the &th user, normalized to have unit energy, i.e. so that the received energy from user k is Ak . The signature waveforms are assumed to be zero outside the interval [0, T], so that there is no intersymbol interference. Note that we consider only real-valued signature sequences of a length equal to the bit period. In general, signature sequences longer than a bit period place certain restrictions on the detector. For example, cross-correlations between signature sequences may need to be recalculated for each bit period, since the "signature" in that period is constantly changing, for all users; n(t) is white Gaussian noise with unit power spectral density (PSD). The noise power within a frequency bandwidth, B, is 2G2B. NQ = 2 a 2 is commonly referred to as the one-sided noise PSD. The similarity between two signature waveforms can be quantified by their cross-correla-tion, K r(t)= £ ^ V * ( 0 + o-"(0 ,te[0,T], (2.1) k= 1 (2.2) (2.3) Chapter 2: Background Note that -1 < p • < 1. It is convenient to define a matrix of cross-correlations: R = {P//>-9 2.3.2 Asynchronous C D M A Model In the asynchronous system model, there is a lack of alignment of the bit epochs and chip epochs at the receiver. We will denote the offset of user A; by xk e [0, T) . The bit epoch offsets are defined with respect to an arbitrary origin, which we will take to be i j =0. The notation, bk[m], will represent the rath bit of user k. Each user transmits a stream of bits of length (2M+1). Figure 2.2 represents the bit epochs and timing offsets of this system for the case of M= 1. Figure 2.2: Bit epochs and timing offsets for an asynchronous system In general, the received signal can be written as K M r(t)= £ £ Akbk[m]sk(t-mT-xk) + an(t). (2.4) k=\m=-M Chapter 2: Background 10 The cross-correlation for the synchronous C D M A model has been previously defined. The cross-correlation for the asynchronous C D M A model can take one of two forms, due to the offset between the two signature waveforms [2]. Figure 2.3 will help describe the cross-correlations in a two user asynchronous system. 1 1 t/ l< • 1 User / :p//<Trf): Pifid) '. : *d : : N ~1 ± = ± l — —| User j SJ SJ 0 T IT Figure 2.3: Illustration of asynchronous cross-correlation (x,- < x.) The cross-correlations between sfj) and sft) are defined as P y M = f Si(t)Sj(t-Td)dt (2.5) PjM = + T-xd)dt (2.6) where x d - Xj - xt. 2.3.3 Discrete-Time Synchronous Model A C D M A receiver has an initial functional block which discretizes the continuous-time waveform r(f), e.g. an analog-to-digital converter. It is important to look at this discrete-time ver-Chapter 2: Background 11 sion of the received signal, since most multiuser detectors work in the discrete-time domain. A continuous-time waveform can be converted into a discrete-time signal by correlating the wave-form with deterministic signals. One common method for converting r(t) into a discrete-time signal is to correlate it with the set of user signatures. Through the functional equivalence of correlators and matched filters, this is in effect, a bank of matched filters, as shown in Figure 2.4. r{t) Matched Filter User 1 r.[m\ Sync to user 1 Matched Filter User 2 I— Sync to user 2 Matched Filter User K I • rK[m] Sync to user A" Figure 2.4: Discretizing the continuous-waveform r(t) by a bank of matched filters The outputs are given by = ?r(i)sx(t)dt J o rK[m] = \r(f)sK{t)dt (2.7) Using (2.1), the term rk, k- 1, 2,..., Kc&n be rewritten as K rk = Akbk + Y.AJbJpJk + nk (2.8) Chapter 2: Background 12 where nk - a ^n(t)sk(t)dt. Using a matrix notation, we have r = R A b + n , r = [r,, ...,rK] b = [bx, ...,bKf A = diag{Ax, ...,AK}. (2.9) where R is the normalized cross-correlation matrix given by R Pn ••• PATI PIA: ••• PKK (2.10) and n is a zero-mean Gaussian random vector with covariance matrix given by E[nnT] = or2R. (2.11) No information relevant to demodulation is lost by the use of matched filters [2]. 2.3.4 Discrete-Time Asynchronous Model The equations for the discrete-time asynchronous model can be expressed more easily i f all users are ordered according to their time offsets. So it is assumed, without loss of generality, that i j < x 2 . . . ^ xK. Then by using (2.4),(2.5), and (2.6), the matched filter outputs for the asynchro-nous model are given by rk[m] = Akbk[m]+ ^Ajbj[m + l]pkj+ ^Ajbj[m]pjk+ ^Ajbj[m]p^ j<k j<k j>k (2.12) + X AjbAm ' 1 ]Pjk + w * l > ] j>k Chapter 2: Background 13 iik + mT+T) where nk[m] = n{t)sk{t-mT-xk)dt. }(xk + mT) It is desirable to find the discrete-time version of the continuous-time waveform at the input to the matched filter. A literature search was initially unable to find a deterministic expression for this discretization. So, equation (2.13), whose derivation can be found in Appendix A , will serve this purpose. Essentially, it is the output of an integration (sample and hold) circuit that captures all the received signals, from all users, including channel fading and noise, within the desired user's chip time of interest. Basically, it must calculate the area within that chip time, which equals signal amplitude multiplied by time. This must be done in a continuous fashion from the beginning of the chip time to the end of that chip time, with no gaps. At a later time, it was found that [9] uses a similar integration circuit, although their method of calculating the terms , , skqL' ana" skqR within (2.13) is somewhat different from the method presented here. The received signal can be expressed as r[m] = Akbk[m]skak[m]cos($R[m]-$k[m]) + ^4-6 /[/w]s / / t La y[w]cos((t)^[w] - ty[w]) + j<k ^Ajbj[m+ l]8JkRa.j[m+l]cos(tyR[m]-ty[m+ 1])+ , 2 1 3 ) j<k Y^Aqbq[m-l]skqLaq[m-\]cos($R[m]-<bq[m-\]) + q>k X Aqbq{m]HqRaq[m}cos(§R[m} - $q[m]) + n[m] q> k where a f^/w] is the channel coefficient amplitude of the wth bit of the M i user; §R[m] is the phase reference for the receiver, which the receiver may or may not (depends on receiver implementation) adjust to track channel phase; fy^m] is the channel coefficient phase of the wth bit of the M i user; is a special "signature" vector that we can calculate earlier and continue to Chapter 2: Background 14 use as the bit numbers change. It represents a new "chip sequence" for the overlap of user j, bit [w+1] in the bit [m] time of user k. It will usually have values outside the set JPG JPG (which would be the normal set of chip values for a signature) because they use portions of each chip. One can visualize the reason for the nomenclature, ,jk refers to the two users whose timing is under consideration, and R refers to the right side of the boundary between bj[m] and bj[m+ 1 ] ; SjkL is similar to S y ^ in that SjkL represents a new chip sequence for the overlap of user j, bit [m] in the bit [m] time of user k; skqL is similar to Sj^ in that s ^ represents a new chip sequence for the overlap of user q, bit [m-\] in the bit [m] time of user k; s ^ is similar to sjkR in that s ^ represents a new chip sequence for the overlap of user q, bit [m] in the bit [m] time of user k SjkR is defined by (2.14) for the case where the chips of user j and user k are not aligned, and by (2.15) for the case where these chips are aligned (not necessarily bit-aligned). 'c L ' c J (s,-[2-^]-s,[i-N z j R}) • ( l t^i- + [a^SJ) +»jU | (2.14) sjkR (Sj [PG - NzjR] - Sj[PG - 1 - NzJR]) • (it** + I I) + tj[PG - 1 - NzjR] sjkR ~ SjU-NzjR] Sj[2-N2JR} ?j[PG-NzJR]\ (2.15) where NzjR = PG- (2.16) Chapter 2: Background 15 PG is the processing gain a n d T * l represents the value obtained by rounding upwards to the next integer larger than x. If x is already an integer, then [x~\ = x. This is sometimes known as the ceiling function. $jkL is defined by (2.17) for the case where the chips of user j and user k are not aligned, and by (2.18) for the case where these chips are aligned (not necessarily bit-aligned). (sj[NzJL + 2] - Sj[NzJL + 1 ]) • ( I t p -N2 j L) + Sj[NzJL + 1 ] (»./[%. + 3] - « / [ % + 2]) • fe$ -NzJi) + Sj[NzjL + 2] *jkL (sj[NzJL + PG + 1 ] - SJ[NZJL + PG]) • -N Z J L ) + Sj[NZJL + PG] (2.17) sjkL Sj[NzJL + 2] lsj[NZJL + PG]\ (2.18) where (2.19) and \_x J represents the value obtained by rounding downwards to the next integer smaller than JC. If x is already an integer, then [x J = x. This is sometimes known as the floor function. s^/j is defined by (2.20) for the case where the chips of user k and user q are not aligned, and by (2.21) for the case where these chips are aligned (not necessarily bit-aligned). ^q[\-NzqR])-{\-U^ + NzqR) 'c («,[1 - NzqR] - s,[2 - A^]) • felt - N z q R ) + s„[2 - NzqR] skqR (Sq[PG- 1 -N z q R] - sq[PG-NzqR]) • (h-*k -NzqR) + sq[PG-NzqR] (2.20) Chapter 2: Background 16 skqR M 1 ~NzqR^ Sq[l-NzqR\ *q[PG-NzqRi (2.21) where N. zqR T„ (2.22) skqL is defined by (2.23) for the case where the chips of user k and user q are not aligned, and by (2.24) for the case where these chips are aligned (not necessarily bit-aligned). (syl^V + 1 ] " *AN«,L + 21) ' - I « f) + SjWzqL + 2] skqL (sj[NzqL + 2]-sJ[NzqL + 3])-(^. Zlk- \ - 1 k (SjWzqL + PG]-Sj[NzqL + PG+1])- (\-^- \j + Sj[NzqL + PG+\] (2.23) skqL *q{NzqL + 2} [sq[NzqL + PG]\ (2.24) where NzqL = PG- (2.25) 2.4 Linear Minimum Mean-Squared Error (LMMSE) Detector One type of multiuser detector is the linear minimum mean-squared error (LMMSE) detec-tor. The L M M S E detector can yield a lower BER than a matched filter, but it does not necessarily achieve the lowest possible BER. This type of detector can be used to detect a single user, or a number of users all at once. The detector for the Ath user chooses the weight vector which min-imizes the difference between the true transmitted bit, bk, and the receiver bit estimate, bk . Chapter 2: Background 17 The bit estimate at the output of the receiver is given by h = \(thr)\. (2.26) so that the L M M S E detector uses fk that minimizes E[(bk-(fhr))2]. (2.27) An M M S E detector will maximize the signal to interference ratio (SIR) of bk at the linear transform output. It can be shown that the optimum L M M S E bit estimate for user A: in a synchronous system is given by where the subscript k refers to the Ath element of the resulting column vector [2]. A similar equation can be found for the asynchronous system [2]. 2.4.1 Adaptive L M M S E and Blind Adaptive L M M S E Linear detectors have an attractive structure in that they can be implemented so that they decode only selected users. That is, they only require a linear transform on the received signal, and do not require the other users to be demodulated. However, disadvantages to the L M M S E detector exist. The M M S E computations are very time-consuming due to the matrix inversions. It also needs to know the cross-correlations or signature waveforms of all interfering users. The adaptive L M M S E detector uses a training sequence to adjust the tap weights of a linear filter so as to minimize the mean-squared error at the output. As the channel or interferers change, the tap weights must be updated. A training sequence must be periodically sent to update the fil-ter, unless the detector output can be used to continually train the filter, in a decision-directed ((R + a 2 ( A - ' ) V ' r ) (2.28) Chapter 2: Background 18 mode. The performance of these adaptive detectors, using training sequences and/or a decision-directed mode, is reasonably good and when used on a fixed channel, the adaptive L M M S E detec-tor will converge to the L M M S E detector [2]. To avoid the use of training sequences, a method known as blind adaptive L M M S E may be used. The algorithm operates without knowledge of the M A I , SNR, or channel fading, and with-out training sequences. The only knowledge required by the detector is the same as that of the matched filter - the signature waveform and the timing of the desired user. The optimization criterion used by the blind adaptive L M M S E detector is the output vari-ance, or output energy. Hence, it is sometimes known as a blind minimum output energy (MOE) detector. This detector will also converge to the M M S E solution [10]. Further information on these detectors may be found in [2, 10, 11, 12]. 2.5 Modified M M S E The adaptive and blind adaptive L M M S E detectors perform reasonably well. However, in fading channels, the adaptive algorithms sometimes have a problem tracking the channel changes. A solution proposed in [13] changes the M S E optimization criterion to £ [ | e , [m] | 2 ] = E[\ck[m]dk[m]-YtkH[m]rk[mf], (2-29) where dk[m] is a reference bit; ck[m] is the channel coefficient estimate for the mth bit, ck[m] = ak ; and [m] is the tap weight vector for the mth bit, with a Hermitian operation (complex conjugate and transposition). As explained in [13], the adaptive algorithm for the standard M S E criterion in (2.27) depends on the instantaneous complex channel coefficient Chapter 2: Background 19 values. However, the modified MSE criterion in (2.29) depends on the average channel power profiles, which is easier to obtain from a channel estimation scheme. The detector proposed in [13] that implements (2.29) is shown in Figure 2.5. In [13], it is suggested that dk[m\ can be either the known or estimated data bit. For the results presented in [13], it is assumed that the estimated data bit is used. It is useful to view the tap weight vector as a sum of two orthogonal components, one of which is the user's signature and the other is the adaptive portion, x^, i.e. W*[/H] = sk + xk[m]. (2.30) This is known as the canonical representation for w^[w] [2]. The only signals w / t[w] which satisfy (2.30) and the orthogonality of xk[m] and s^  are those that satisfy the constraint vkH[m]sk = 1, (2-31) where s^  is the signature vector of user k [14]. The tap weight vector is adapted using some stochastic gradient algorithm, like the LMS algorithm. A simple channel estimator uses pilot symbols, bkp[m], on a pilot channel. As shown in Figure 2.5 the channel coefficient estimator derives its estimates from the input signal, rk[m], and applies the conjugate of the channel estimate to the output of the linear filter, w^ [w]r^[w]. This detector will be referred to in this thesis as the Latva-aho Detector. A similar detector derives a channel phase estimate from the output of the linear filter, but applies the channel phase estimate to the input of the linear filter [15]. Since the channel amplitude is not estimated or compensated, the performance decreases when the channel goes into a deep fade [16]. Chapter 2: Background 20 Stored Pilot Symbols Channel Coefficient Estimator rk[m] Adaptive PG-Tap FIR Filter 1 w,H[m] Adaptive Algorithm c,[m] V. * c* Re[] KM ek[m] w + ® ? — ( * H Figure 2.5: Modified M M S E Detector 2.6 Constrained Modified M M S E This detector, referred to as the Kim Detector, is based on the same optimization criterion as the Modified M M S E detector, given in (2.29). However, for the reference bit, dk[m], this detector uses pilot symbols periodically inserted into the data stream, so that both known and estimated data bits are used in the filter updates. As shown in Figure 2.6, the detector of [16] derives its channel estimates from the output of the adaptive filter and then applies the channel estimate to the output of the adaptive filter. The idea is that the SIR should be higher at the output of the lin-ear filter, so the channel estimate should be better. A simple channel estimator is used that takes a moving average of the pilot symbols. The pilot symbols are inserted every P symbols, at which time the detector switches from a decision-directed mode to a single-symbol training mode. The switch at the bottom right of Figure 2.6 is Chapter 2: Background 21 set to the 'down' position when a pilot symbol is expected in the received signal. The channel estimate remains constant between pilot symbols, so that the same channel estimate, c^m], is applied to the output of the linear filter until a new channel estimate is ready at the next pilot sym-bol. At each pilot symbol, the channel estimate is updated using Np-\ CkW = TT 2 b k p [ m - i P ] y f k H [ m - i P ] r k [ m - i P ] Pi = Q me {..r-2P,-P,0,P,2P,...} (2.32) where is the number of pilot symbols used; P is the pilot symbol insertion period; and bkp is the pilot symbol of user k. Stored Pilot Symbols Channel Coefficient Estimator Adaptive PG-Tap FIR Filter 1 wkH[m] w,H[w]r,[w] Algorithm c.[m] * c* Re[] Adaptive LMS ^ ( j U ( x W . — e , [ m ] ^+ ^ d.[m] bk[m] 4 Stored Pilot Symbols Figure 2.6: Constrained Modified M M S E Detector Chapter 2: Background 22 The tap weight vector, defined by (2.30) and (2.31), is adapted by an orthogonal decomposi-tion-based least-mean-squared (LMS) algorithm, given by , x k i m + ^ ] = x d m ] + V-e*[m]rx[m]' (2.33) where rx is taken to be the projection of the received signal vector xk on according to [16], given by rj™] = rk[m]-(rkH[m]sk)sk, (2.34) and u is the step size of the adaptive algorithm. For further information, please refer to [16]. 2.6.1 Hermitian Issue in the Constrained Modified M M S E Detector There is a problem with one of the equations in [16]. Equation (2.34) is not the projection of the received signal vector on . The Hermitian operator acting on rk should actually be a transpose operator, resulting in, rx[m] = rk[m]-(rkT[m]sk)sk. (2.35) The derivation for this equation is as follows. For notational simplicity, the bit index "[w]" will be dropped for the derivation. Consider a vector, r ,^ and a pair of orthogonal vectors, xk and s ,^ as shown in Figure 2.7. The vector rk can be decomposed into two orthogonal components, with one component along x .^ and another component along s .^ That is, rk projected on xk gives r x , and rk projected on s^  gives rs. Chapter 2: Background 23 Figure 2.7: Projection of rk onto and s^ . Mathematically, this decomposition of rk can be expressed as rk= rx + rs hf N l 2 (2.36) Using || s j = 1, this leads to the derivation of rx as rx = rk~vs = rk~ <r*»S/fc>s*-(2.37) The inner product of two complex vectors, u = ux u2 ... and v = [v, v 2 ... vj] > can be expressed as [17] ( U , V) = U • V = U V* = " i V , * + « 2 V 2 * + ••• + unVn (2.38) Chapter 2: Background 24 Therefore, using (2.38) and Im{sk) = 0, equation (2.37) can be expressed as *x = rk-(rkTsk*)sk = rk~rkTsksk r j c t w ] = rk[m]-(rk[m]TSk)sk, which is the corrected equation given as (2.35). (2.39) H Examining (2.34) more closely, the element-by-element expansion of s^  is H _ rk sk ~ rk\ H sk\ Skl rk2 sk2 [fkl rk2 • • rkn] sk2 rk\*sk\ + rk2*skl + • • + rkn*skn (2.40) rkn skn fkn To obtain an equivalent element-by-element expansion of (2.40), a different equation can be expanded skl T rk\ * rk\ * sk2 rk2 = \fkl sk2 • • skn] rk2 = sk\rkl* +sk2rk2* + • Skn rkn rkn Using, (2.38), (2.40) and (2.41), (2.42) Therefore, it seems possible that the authors of [16] incorrectly used rx = rk~ (sb rk)sk (2.43) instead of rx = rk-(rbH)H- (2.44) Chapter 2: Background 25 The simulations and discussions in this thesis that refer to the Kim Detector use the Kim Detector exactly as described in [16]. That is, the simulations and discussions use (2.34) and not (2.35). Simulations were performed on systems to investigate the differences between using equa-tions (2.34) and (2.35). The results of these simulations are found in Section 3.2. The term 'Her-mitian Fix' in this thesis will mean applying (2.35) instead of (2.34). Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations Baseline theoretical and simulation results are shown in this chapter for typical systems which will be investigated in Chapters 4, 5, and 6. Some potential problems are described for the Constrained Modified M M S E Detector [16]. These problems are illustrated via qualitative and analytical explanations and numerical simulation results. Finally, methods are suggested for solv-ing these problems and improving the performance of the detector. A l l detectors simulated in this thesis are listed in Table 3.1, along with their abbreviations, and sections in which they are present. Some of these phrases, such as 'orthogonal projection', have not yet been described. However, it is not necessary to understand the descriptions before reading the table, since the table serves as a road map, and it allows the reader to preview how the thesis will develop. The phrases and exact descriptions will be found in the appropriate sections. Table 3.1: Detector abbreviations and section listing Abbreviation Description Sections 3.1 3.2 3.3 4.x 5.x 6.x MF Matched Filter Kim Detector Kim Detector in [16] V V Kim Detector + Herm. Fix Kim Detector with the Hermitian Fix of Section 2.6.1 V V Kim Detector + Herm. Fix + NLMS Kim Detector, with the Hermitian Fix, and the NLMS algorithm of Section 3.3 V V Proposed Detector Kim Detector, with the Hermitian Fix, the NLMS algorithm, and the orthogonalization procedure of Section 4.2. (Kim Detector + Herm. Fix + NLMS + Orthog. Proj.) V V V Latva-aho Detector see Section 2.5 26 Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 27 The simulation methods used in the thesis, and some baseline simulation and theoretical results for the matched filter, are presented in Section 3.1. The usefulness of the Hermitian Fix as described in Section 2.6.1 is investigated in Section 3.2. The effectiveness of a normalized LMS (NLMS) algorithm for the Kim Detector is examined in Section 3.3. 3.1 Baseline Simulations It is useful to first examine a set of typical simulation environments and receivers so as to observe the performance levels of various systems. The single path simulations use equations (2.13) - (2.25) as the received signal model. A l l simulations use Matlab®, with the Signal Processing Toolbox and the Statistics Tool-box. The general numerical simulation methodology uses Monte-Carlo simulations. Details will be given for each particular system, but a generic model will now be described. In each trial of a simulation, 10,000-20,000 data bits are generated for each user. In trials with adaptive filters, the first 1500 bits are used to allow the adaptive filters to acquire the channel. This was experimen-tally determined to be a sufficient time for acquisition. However, in most instances, the adaptive filters acquire the channel in 500 bits or less. Each trial uses independent signatures, user data bits, fading coefficients, and A W G N , and is used to yield one B E R value. Usually, 100 to 1000 trials are performed, and the resulting 100 to 1000 BER values are averaged to generate a single BER point on a plot. So, typically 1,000,000 (10,000 bits per trial x 100 trials) to 10,000,000 bits are simulated for each data point, depending on the desired confidence interval. Confidence inter-vals are quoted as the confidence level that the result is within a given range, e.g. a 95% confi-dence interval (CI) of +/- 5% means that we are 95% confident that the actual result is within +/-Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 28 5% of the given value. This thesis uses only 95% confidence intervals. Note that BER results are given for a system with no channel coding or error correction. Independent A W G N is added to the in-phase and quadrature components of the received signal. Rayleigh fading coefficients are generated according to Clarke's model [18]. These coeffi-cients are generated using a Rayleigh fading simulator originally from Matthew Valenti [19]. The simulator was revised for this project to make two minor corrections and to generate the Ray-leigh-faded phase. The corrections include fixing an index variable for root-mean-square (rms) calculations and replacing |... | with Real(...) in operations using the inverse Fast Fourier Trans-form output. To normalize the generated Rayleigh-faded channel coefficients, the amplitudes of the fading coefficients have a rms value of 1. The fading rates considered in this thesis are assumed to be slow enough so that the phase and amplitude can be assumed constant over a bit period. Gold codes are the most common spreading codes in this thesis and can be generated as fol-lows. A PN (pseudo-noise) sequence generator produces two m-sequences by using one charac-teristic polynomial per m-sequence. These characteristic polynomials were chosen as 1 +x + x2 + x4 + x5 and 1 +x2 +x5, taken from [20]. As shown in Figure 3.1, the sequence gen-erator modulo-2 adds the sequences and cyclically shifts them, modulo-2 adding them at each shift. This will form a set of N+2 Gold sequences, where TV = 2( w ~ ^ , and m = number of shift register stages. This implementation generates 33 sequences of length 31, using m = 5. Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 29 Figure 3.1: Gold code generator The particular codes chosen for each user are randomly determined. For example, in the first trial of the simulation, the code for user 1 might correspond to the 7th generated Gold code, but in the next simulation, the code for user 1 might correspond to the 18th generated Gold code. In addition, the desired user, or the user for which the BER is calculated, is randomly num-bered. For the first trial of a simulation, the desired user might be user 8, but for the second trial it might be user 3. Since the simulation model involves sorting all the users from lowest to highest time offset, as described in Section 2.3.4, this random numbering allows the desired user to have a varying number of users with lower or higher time offsets. Unless otherwise specified, the term asynchronous means that the bit timing of the users are offset from the first user by a uniform random number between zero and the bit period length. Therefore, they would be bit and chip asynchronous. The term synchronous means that the bit and chip timing are perfectly aligned for all users. Note that unless otherwise stated, it is assumed that the timing information of the desired user is known at the receiver. Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 30 Default simulation parameter values for the single path Rayleigh fading channel are that of Figure 3 in [16]. That is, an uplink mobile channel is simulated, with many mobiles sending sig-nals to the base station. The desired user is considered to be one of these received signals. Each user's Rayleigh fading channel coefficients are generated independently. The carrier frequency is 2 GHz, and the chip rate is 3.968 Mcps (3.968 x 106 chips per second). The data rate is 128 kbps. The mobile speed is 50 km/h, giving a Doppler frequency of about 93 Hz. The E^/NQ is set at 20 dB. A l l users have independent random timing offsets making them completely asynchronous. Gold sequences of length 31 are used to spread each data bit. The pilot symbol insertion period was chosen to be 8, and the averaging takes place over 3 pilot symbols (last two plus the current one). The default simulation parameters values for the two path Rayleigh fading channel are that of Figure 2 in [13]. In this case, a downlink synchronous system is considered. The base station is transmitting a number of signals in a bit- and chip-synchronous fashion to the mobiles. The desired user is considered to be one of the mobiles, which has to discern its signal from the other signals simultaneously received from the base station. Since in a downlink channel the signal for each user travels over the same radio channel to reach the desired user, the Rayleigh fading chan-nel coefficients are identical for each user. The carrier frequency is 2.0 GHz, and the chip rate is 496 kcps. The data rate is 16 kbps. The mobile speed is 40 km/h, giving a Doppler frequency of about 74 Hz. The EB/NQ is set at 20 dB. Gold sequences of length 31 are used to spread each data bit. A separate pilot channel is transmitted from the base station, with the same power level as one user. It is assumed to be spread as if it were another user, via a Gold sequence of length 31. The second fading path has an equal power to the first path, but its Rayleigh fading coefficients are independent from the first path. As with the first path, all users have the same fading coefficients Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 31 for the second path. The time delay spread between the first and second paths is a uniformly dis-tributed value between 0 and 10 us. Since one bit time is approximately 7.83 us, inter-path inter-ference (IPI) is possible. Table 3.2: Default simulation parameters Symbol One Multipath Two Multipath timing asynchronous (bit and chip) synchronous (bit and chip aligned) propagation direction uplink downlink type of fading Rayleigh flat fading Rayleigh two path fading spreading code Gold code Gold code spreading code length (processing gain) PG 31 31 mobile speed V 50km/h 40km/h carrier frequency fc 2.0 GHz 2.0 GHz symbol rate 128 kbps 16 kbps chip rate 3.968 x 106 4.96 x 105 Doppler frequency fd 93 Hz 74 Hz signal power E,/N0 20 dB 20 dB relative power of users equal equal phase for desired user §R[m] coherent coherent phase for interferers non-coherent all first path interferers are coherent to the desired first path, all second path interferers are coherent to the desired second path. 2nd path power level n/a equal to first path 2nd path timing H,2 n/a uniformly distributed between 0 and 10 us after the first path (inter-path interference possible) number of simulation bits per trial 10000 10000 pilot channel or symbol symbol channel pilot symbol insertion period P 8 n/a pilot symbol/channel averaged over Np symbols NP 3 11 These default simulation parameters are summarized in Table 3.2. Two columns of data are given in the table: the single path Rayleigh fading channel is used in Chapters 3, 4, and 5, while Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 32 the two path Rayleigh fading channel is used in Chapter 6. If the parameter values differ from those presented in the table, the exact value will be given as the simulation results are presented. 3.1.1 Non-Fading Environment We first consider a single user transmitting a BPSK-modulated signal in A W G N without fading. The receiver consists of a simple matched filter (MF), using the signature of the desired user. The theoretical probability of BER for this detector is [4] where and Eb = Ak2. (3-3) The parameter Ak is the amplitude of user k and ^ is the noise variance, as in (2.1). A Gold code of length 31 is used to spread the source data. The use of a spreading code of any sort does not make a difference for single-user channels, since the spreading codes offer assis-tance only against other users, not against A W G N or fading channels. It is used here only for con-sistency with later simulations. Figure 3.2 shows the results from this simulation. A total of 1,300,000 bits were simulated per data point for the single-user matched filter, resulting in a confidence interval of at most +/-Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations • 33 6% for Eb/N0<S dB, to a confidence interval of+/- 92% for Eb/N0 = 10 dB. For all 11 data points (0 to 10 dB), 11x1,300,000 = 14,300,000 bits were simulated in total. Eb/No (dB) Figure 3.2: Matched filter in A W G N - simulated and theoretical values Also shown in this plot are simulation results for a 15 user A W G N channel, with Gold code spreading, asynchronous timing, and coherent phase (to each other and to the receiver). A coher-ent phase is assumed in this set of simulations to allow an easier comparison between the synchro-nous and asynchronous systems. Non-coherent phase will be discussed in Section 3.1.3. A l l users have equal power. The BER is higher for the 15 user channel than the single user channel because of the added multiple access interference (MAI). For this plot, 200,000 bits were simulated, giv-ing a confidence interval of +/- 5%. For the 15 user synchronous channel, the parameter values Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 34 are otherwise the same as the 15 user asynchronous channel. When synchronized, Gold codes have very low cross-correlations, which leads to less M A I than an asynchronous channel. When this synchronicity is lost, the cross-correlations go up, resulting in an increased BER as shown in Figure 3.2. For the synchronous plot, 200,000 bits were simulated, giving an overall confidence interval of+/- 21%, but +/- 5% for Eb/N0<9 dB. Table 3.3 shows how the cross-correlation changes between synchronous and asynchronous settings for different types of spreading codes. The table contains some theoretical results [2, 20], while simulation results are shown in parenthesis. The simulation results were performed over 500 trials, with each trial generating different codes, or timing offsets, as required by the particu-lar simulation. Each trial used 31 users, with spreading codes of length 31 for Gold and random codes, and 32 for Walsh-Hadamard codes (must be a power of 2). Table 3.3: Theoretical and simulated cross-correlations for selected code families Simulation results shown in (parenthesis) Cross-correlation mean - synchronous Cross-correlation variance - synchronous Cross-correlation mean - asynchronous E[Pkj(x)] Cross-correlation variance - asynchronous T \\E[pkl(T)]dt 0 Gold — * -0.03226 PG (-0.03226) (1.041X10-3) (-8.206x10"4) (0.01349) Random 0 (2.109xl0-4) — * 0.03226 PG (0.03211) 0 (1.847xl0'4) 1 * 0.01075 3PG (0.01406) Walsh-Hadamard 0 (0) 0 (0) (0.03460) (0.02144) Examining Table 3.3, we can see that the cross-correlation variance for asynchronous Gold codes is higher than for synchronous Gold codes. This leads to the higher BER for asynchronous Gold codes than for synchronous Gold codes, as shown in Figure 3.2. The opposite conclusion Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 35 can be drawn for random codes. A synchronous system with random spreading codes will have a higher BER than an asynchronous system with random codes. In fact, the BER of a .K-user asyn-chronous system, with random spreading codes will have a BER equivalent to that of synchronous system with -(AT— 1) interferers [2]. Walsh-Hadamard codes are orthogonal when synchronous, and their cross-correlation variance results in a higher BER while asynchronous. 3.1.2 Single User Rayleigh Fading Environment Consider a single user transmitting a BPSK-modulated signal in A W G N with Rayleigh flat fading. A coherent receiver is assumed, therefore the changing phase associated with Rayleigh fading does not affect the decoding. Since the receiver always knows the phase, it can include any phase offset before decoding. The receiver consists of a simple matched filter (MF), using the signature of the desired user. The theoretical BER for this detector is [4] where yR is the average signal to noise ratio in Rayleigh fading, defined as yR = -J1E{a ).The Eh 2 term a represents the channel attenuation, i.e. YR= A • Note that in all Rayleigh fading N0 2 results presented within this thesis, E(a ) = 1. This value is constant to allow BER results to be presented as a function of EU/NQ , rather than yR. (3.4) Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 36 Figure 3.3 shows the simulation results. A total of 800,000 bits were simulated per data point, resulting in a confidence interval of +/- 1.5% for Eb/N0 = 0 dB, to a confidence interval of +/- 6% for Eb/NQ = 10 dB. The doppler frequency of the Rayleigh fading was 185 Hz, although this should not affect the results in this particular system with a matched filter because it is assumed the phase and amplitude is constant over a bit period. The chip rate is 3,840,000 chips per second, with a spreading factor of 31. 10u : : : : : : : : : : t : : : : : : : : : : i : : t . _ - I — MF, theoretical for non-fading MF, theoretical for Rayleigh fading -A- MF, simulated for Rayleigh fading Eb/No (dB) Figure 3.3: Single-user matched filter in non-fading and Rayleigh fading channels Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 37 3.1.3 Multiple User Rayleigh Fading Environment In a multiple user channel, the timing and phase of the interferers have an effect on the BER of the desired user. If the timing is synchronous for a system with Gold codes, the BER will be lower than i f the timing is asynchronous. If the phases of all users are non-coherent, the BER of the desired user will be lower than if the phases are coherent (for BPSK channels). That is, the desired user receives all its energy in the in-phase component of the BPSK signal. If the interfer-ers transmit all their energies in the in-phase component, then their interference will be higher than if some of their energy went into the quadrature component. This set of simulations use similar parameter values to those in Section 3.1.2 except that the number of users is increased to 15. That is, there are 15 users in a A W G N channel with Rayleigh fading amplitude and phase. The timing is asynchronous and each user has independent Rayleigh fading channel coefficients, similar to the uplink of a cellular channel. They are spread by Gold codes, and the desired user has a coherent receiver. Two situations were simulated. One situation has independent phases for each user (non-coherent phases). The second situation has identical phases for each user, including the desired user (coherent phases). Figure 3.4 shows the results of these simulations. For comparison purposes, the theoretical BER for a single user in Rayleigh fading and A W G N is included. The simulation results were based on 1,250,000 bits per data point, giving a confidence interval of +/- 3.7%. A brief introduction was given in Section 3.1.1 to the effects of asynchronous and synchro-nous timing on BER. Section 3.1.2 showed the results of adding Rayleigh fading to a wireless channel. This section illustrated the impact of the phase of interfering users on BER. It would be useful to investigate how these effects would affect the BER of the matched filter i f combined in certain ways, e.g. synchronous channel with Rayleigh fading and coherent interferers, or asyn-Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 38 chronous channel with Rayleigh fading and non-coherent interferers. These effects will be inves-tigated in Chapter 5. That will allow us to also look at the performance of the Proposed Detector in these channels. 10u T T T : -*— 15 users, all users with coherent phase - 0 - 15 users, all users with non-coherent phase -•k- single user, theoretical Eb/No (dB) Figure 3.4: Matched filter in Rayleigh fading with multiple users - simulated results 3.2 Simulations for the Hermitian Issue Section 2.6.1 introduced an issue regarding the use of the Hermitian operator instead of the transpose operator in a key equation of the Kim Detector. The term 'Hermitian Fix' in this thesis will mean applying (2.35) instead of (2.34) to form a detector called 'K im Detector with Hermi-tian Fix' in this thesis. For the sake of brevity, the 'K im Detector with Hermitian Fix ' will be Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 39 referred to as the 'K im Detector + Herm. Fix.' A number of simulations were performed to inves-tigate the validity and usefulness of this change to the Kim Detector. The BER results when add-ing just the Hermitian Fix to the Kim Detector are discussed in Section 3.2.1. Finally, some tap weight plots illustrating the usefulness of the Hermitian fix are presented in Section 3.2.2. Note that the 'K im Detector with Hermitian Fix' was not proposed in [16], but is actually introduced in this thesis. 3.2.1 BER Simulation Results for the Hermitian Issue Before BER simulation results can be presented, the best step size, \x, must be found for the LM S algorithm for each value of K, the number of users. These step sizes were found by observ-ing the simulated BER for different values of the step size. Such experiments involved looking at the BER results for a number of p values, to deter-mine the minimum BER, and then using that value for \x as the 'best' value. In determining the minimum BER, it was assumed that since the BER increased on both sides of this minimum BER, then this minimum BER must be approximately the 'global' minimum BER for all p. values. This 'best' value for p. would be used in the final simulations to obtain a sufficiently low confidence interval. It is not the true 'optimum' step size, but it should be close enough that the theoretical BER with the 'optimum' step size will be well within the confidence interval given in the simula-tions. In general, this is the method for determining the step size for the adaptive detectors within this thesis, whenever the structure of the detector changes. In the case of the L M S detectors, this step size must be reevaluated when the number of users in the channel changes. Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 40 An example plot used to experimentally determine the step size is shown in Figure 3.4. On average, 1,000,000 to 5,000,000 bits were used for each of the data points, giving confidence intervals of between +/- 4 to 8%. Simulation parameter values are that of the single path in Table 3.2. In this particular case, the system under investigation is the 25 user instance of the Kim Detector + Herm. Fix. The plot shows that the best step size i s u « 4 x l 0 5 . Other experimen-tally determined step size plots may show more sensitive or less sensitive performance with respect to step size. 0 . 0 4 6 , — r — r -0 . 0 4 5 r - - r - T -0.044 j -0.043h--i--|-0.042 r - - j - - r -2} 0.041 [--'<r-\-m i < i 0.04 r - - ! - - ; -I I I 0.039'— 0.0381—:- -1 -0.037: - - | - -} -0.036'—I—^~ 10"5 10"4 Step size p Figure 3.5: Experimentally determined step size for the Kim Detector + Herm. Fix, with K = 25 users Figure 3.6 shows BER simulation results for the Kim Detector + Herm. Fix as in (2.35) above. In the same plot, the matched filter and the Kim Detector (without the Hermitian Fix) are Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 41 shown. Simulation parameter values are that of the single path in Table 3.2. For the Kim Detector + Herm. Fix, the best step sizes, p., were experimentally found to be 1 x 10"4, 6 x 10"5, and 4 x 10"5 for 15, 20, and 25 users, respectively. For the Kim Detector, the best step sizes were experimentally found to be 2 x 10"5, 1 x 10"5, and6x 10"6 for 15, 20, and 25 users, respectively. As can be seen in the plot, the Hermitian Fix has a definite effect on the BER of the detector. It was found that BER results for these two detec-tors varied, even with the same input parameter values, data, noise, and fading coefficients. Between 4,000,000 and 7,000,000 bits were simulated resulting in a confidence interval of +/-5%. 10u LjJ 10 CD 10 -2 Matcnea tuter - < h Kim Detector * - Kim Detector + Herm. Fix -2 T = ^ 15 20 Number of users 25 Figure 3.6: BER simulation of Matched Filter, the Kim Detector, and the Kim Detector + Herm. Fix Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 42 3.2.2 Loss of Orthogonality and Tap Weight Plots To illustrate the usefulness of the Hermitian Fix in (2.35), a measure of orthogonality is introduced. Two complex vectors, u and v , are considered to be orthogonal if their inner product is zero [17], i.e. (u,v) = u V = 0. (3-5) Normalizing the magnitude of the left hand side of this equation gives a measure of the loss of orthogonality. Defining this as \|/ results in, T u V (3.6) As the value of \\i increases, the vectors become 'further away' from being orthogonal. If \\i = 1, which is its maximum, then the vectors point in the same direction. In the particular case for the vectors xk[m] and s^, the vector s^  is real, and has a norm of one, so Y|/[ffj] (3.7) The values of \\r[m] are calculated for a simulation of the Kim Detector (i.e. without the Hermitian Fix). Simulation parameter values are that of the single path in Table 3.2. Normally, \\i[m] = 0 V m , because \k[m] and s^  are orthogonal components, and the orthogonal-decompo-sition based algorithm should ensure that orthogonality. As shown in Figure 3.7, the errors build up quickly, and the components lose their orthogonality. Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 43 Figure 3.7: Orthogonality problems without the Hermitian Fix To understand a little more of what is happening in this situation, Figure 3.8 shows a plot of the normalized real portion of an individual adaptive tap weight component of xk[m] as the sim-ulation progresses. Remember that x^m] consists of PG components. Notice that the component shown is actually converging near the negative of the corresponding component of the desired user's signature, s^. This is the very situation that reference [16] tries to avoid when it proposes this detector. Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 44 0.35 0.3 0.1 0.05 Normalized Re(x k [m]), component #8 -(s k ) , component #8 CM O O CN Q. a> CO 500 1000 1500 2000 Bit Number, m 2500 3000 Figure 3.8: One selected tap weight component for the Kim Detector The real part of the adaptive tap weight vector approaches the negative of the desired user's signature, which has a value of around 0.18 (for this particular tap weight). As the values of Real(xk[m]) go to the values of -s^, approaches M l = 1. This can be seen from Figure 3.7. The reason for the adaptive tap weight vector going towards the negative of the desired user's signature is related to the fact that both sides, ck[m]dk[m] and w^ [wjr^fw], of the mod ified M M S E optimization criterion, (2.29), depend on the output of the linear fdter. If xk[m] is Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 45 not orthogonal to s^ ., then the adaptive filter will suppress not only the M A I , but also the desired user. That is, i f there are no constraints on yvk[m], then a decrease in w^fw] may lead to a decrease in c^m], which leads to a further decrease in wk[m + 1 ] , and so forth. Eventually, both w^f/w] and ck[m] may go to zero, satisfying the minimization criterion. So it is important to keep the orthogonality between x^fm] and s ,^ so that these two parts of the tap weight vector do not cancel each other and allow w^m] to go to zero. A partial cancellation of the two parts of the tap weight vector is also undesirable since it means that the desired user's signal is partially cancelled by the adaptive vector. If the M A I is not suppressed proportionally, then a lower signal to interfer-ence plus noise ratio (SINR) will result. On the other hand, i f we add the Hermitian Fix to the detector, the resulting plot of v|/[w] for the exact same simulation (same parameter values, random seeds, etc.) is shown in Figure 3.9. It can be easily seen that the two tap weight components are now orthogonal, for all practical pur-poses. Note the y-axis scaling shows that even though the two tap weight components are orthog-onally projected, quantization errors still cause the orthogonality to be slightly off. In the floating-point environment of a personal computer, these quantization errors are not significant. Please see Section 4.4 for more details on situations in which these quantization errors may be significant. Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 46 Bit Number, m Figure 3.9: Orthogonality problems solved via Hermitian Fix As a comparison to Figure 3.7, Figure 3.10 shows the corresponding situation for the real portion of an individual adaptive tap weight component of xk[m~\ as the simulation for the Kim Detector with Hermitian Fix progresses. In this case, the tap weight component changes as the M A I changes. Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 47 0.2 3.3 Normalized Least Mean Squared (NLMS) The Kim Detector uses an L MS algorithm to adapt the tap weights of the adaptive filter, as shown in (2.33). The step size, p, controls the amount by which the tap weights change with each iteration of the algorithm, that is, with every bit. Increasing this step size can lead to a faster adap-tation i f the initial tap weights are significantly different from the tap weights that satisfy the M M S E criterion. Decreasing the step size leads to a slower rate of convergence. After the algo-rithm has adapted to the interfering users and the channel, it is only tracking the changes in the Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 48 channel, and it is no longer trying to 'acquire' or make an initial adaptation. Therefore, a larger step size is not necessarily desirable in this case, since it can lead to a higher mean-squared error. This higher mean-squared error is caused by the tap weights 'overshooting' their optimum values on one iteration, then 'undershooting' these values on the next iteration - oscillating around the optimum tap weight values. However, the larger step size is useful i f the channel suddenly changes substantially, since it allows the adaptive filter to quickly adapt to the channel changes. Hence, a step size must be chosen which trades off convergence and adaptation speed with stability and mean-squared error. Likewise, i f the received signal power level increases or decreases, the amount by which the tap weights update will also change. This is a problem with the regular L M S detector, especially in channels in which the number of users or their power lev-els change. The N L M S algorithm will adjust automatically to these changing conditions. To minimize the BER, the L M S algorithm described in Section 2.6 requires knowledge of the number of users on the channel in order to optimize the adaptive algorithm's step size. That is, if the number of users changes while the detector is in operation, the step size, u, will no longer be optimum. To avoid the need to know the number of users in the channel in order to set the step size, the normalized L M S (NLMS) algorithm can be used. The tap weights of the N L M S algo-rithm should be more stable than those of the LMS algorithm because of the time varying step size parameter in the N L M S algorithm [5]. This should lead to less noise, and a lower BER. This algorithm is a simple modification of (2.33), as indicated below, xk[m+ 1] = xk[m] + 2 -e*[m]rx[m] 6 + \\rx[m]\\ where r| is a constant step size, which controls the speed of convergence of the algorithm. The parameter 8 is a small positive constant, i.e. s « £'[||r ; c(m)|| ] , used to ensure that i f the input Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 49 2 power, Ir^/w)! goes to zero, the algorithm will remain stable. Since e has such a small value, its exact value does not affect the algorithm performance, in terms of adaptation or BER. 3.3.1 Simulation Results Simulations were performed for the Kim Detector with the Hermitian Fix of Section 2.6.1 and with the N L M S algorithm instead of the L M S algorithm. That is, these simulations use (2.35) and (3.8) rather than (2.34) and (2.33). For simplicity and clarity, this will be referred to as the Kim Detector + Herm. Fix + N L M S . The best step size for this new detector was experimentally determined to be r\ « 0.11. The best step sizes for the Kim Detector + Herm. Fix was experimen-tally found to be lx lO" 4 , 6xl0" 5 , and 4xl0" 5 for 15, 20, 25 users, respectively. A little more insight into the relationship between the L M S and N L M S step sizes can be found by comparing (2.33) and (3.8). In particular, note that the N L M S algorithm replaces the p in the LMS algorithm with 2 , The term |kv.[w]|| 2 is the received power for bit m, pro-jected along the adaptive part of the tap weight. So, an estimate for u. can be found using V ~ T • (3 9) e + E[\\rx[m]\\2] 1 ) 2 It one trial for each of 15, 20, and 25 users, it was found that £'[||r ; c[/w]|| ] was 2040, 2600, and 3454, respectively. Therefore, applying (3.9) and the previously determined r\ « 0.11, esti-mates for p are 5.4 x 10"4, 4.2 x 10"5, and 3.18 x 10"5, respectively. Note that these values do not match the values estimated through extensive BER simulations since this calculation method using (3.9) used only one trial (10,000 bits) to determine the average received power per bit. Chapter 3: Baseline, Hermitian F i x , and N L M S Simulations 50 However, this calculation method provides a good starting point to search for an optimum step size. When the N L M S algorithm is used, the value of 3 changes as the input power changes. This has been calculated for 25 users, over one simulation trial of 10,000 bits, and plot-ted in Figure 3.11 for n = 0.11. Looking at the figure, it is easy to see that a L M S step size of u,« 4 x 10 - 5 would be useful for much of the figure. Bit Number, m Figure 3.11: Calculating the 'effective' step size for an N L M S algorithm Simulations were performed comparing the BER of the Kim Detector + Herm. Fix (with LMS) and the Kim Detector + Herm. Fix + N L M S . The environment and parameter values cho-sen are that of the single path fading found in Table 3.2. Figure 3.12 shows the results of these simulations for 5,000,000 to 8,000,000 bits, giving a confidence interval of +/- 5%. The plot shows that the Kim Detector + Herm. Fix + N L M S has roughly the same BER as the Kim Detector + Herm Fix, except for 15 users, in which case the Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 51 N L M S algorithm gives a slight advantage. More importantly, the N L M S algorithm allows the step size to be constant for the range of users shown in Figure 3.12. Number of users Figure 3.12: BER simulation of the Matched Filter, the Kim Detector + Herm. Fix, and the Kim Detector + Herm. Fix + N L M S The main advantage of the N L M S algorithm is that the step size does not have to be changed every time the input power to the receiver changes by the addition or removal of a few users. This input power is primarily determined by the number of users in the channel, the power of the users, and the channel coefficients. An illustration of one advantage of the N L M S algorithm over the L M S algorithm is shown in Figure 3.13. Using the same simulation parameter values as in the previous simulation, it shows the resulting BER for the Kim Detector + Herm. Fix, if this detector uses the same step size Chapter 3: Baseline, Hermitian Fix, and NLMS Simulations 52 regardless of the number of users. This step size was chosen to be the best step size for 15 users, u. = lx lO" 4 . In comparing Figure 3.12 and Figure 3.13, it is evident that fixing the step size for the LMS algorithm results in a less than optimal BER. However, fixing the step size for the N L M S algorithm, and changing the number of users from 15, to 20, to 25, maintains an optimal BER. Between 2,000,000 and 5,000,000 bits were simulated for each data point, resulting in a confidence interval of +/- 5.2%. The environment and parameter values chosen are that of the sin-gle path fading found in Table 3.2. 10u a - in" 1 LJJ 10 m 10"' - A - Matched filter - O - Kim Detector + Herm. Fix — * - Kim Detector + Herm. Fix + NLMS 1 15 20 Number of users 25 Figure 3.13: Simulation of the Kim Detector while holding the step size constant Chapter 4: Fixed-Point Implementation Considerations The simulations in the other sections of this thesis are performed on a computer using float-ing-point calculations. This chapter will present some fixed-point simulation results for detectors described in this thesis, along with an accompanying discussion. A potential problem with the Kim Detector is described and shown to adversely affect the detector algorithm performance. A new detector is proposed to deal with this problem. It is useful to examine these detectors in a fixed-point environment in order to understand issues that may arise that are not present in floating-point. Both fixed-point and floating-point implementations are possible in practice, depending on the system designer's technical require-ments, financial resources, and other factors. Some basic ideas about floating-point and fixed-point systems are introduced in Section 4.1. The idea of an explicit orthogonalization procedure to help improve the performance of the Kim Detector is presented in Section 4.2. A Proposed Detector is introduced which helps solve some potential problems for the Constrained Modified M M S E Detector [16]. The Proposed Detector can also be thought of as the Kim Detector + Herm. Fix + N L M S + Orthog. Proj. (Orthogonal Projection via the explicit orthogonalization procedure). The performance of the Proposed Detec-tor is examined through the use of floating-point simulations in Section 4.3. Finally a discussion of the impact of a fixed-point implementation on these algorithms is presented in Section 4.4. Simulation results are given to illustrate the usefulness of the orthogo-nalization procedure, as well as to illustrate other fixed-point issues. 53 Chapter 4: Fixed-Point Implementation Considerations 54 4.1 Fixed-Point vs. Floating-Point Systems The floating-point number representation system can represent a wide range of numbers by allowing the radix point to move through the mantissa (fractional part) and scaling the exponent in a manner similar to scientific notation. The fixed-point number representation system has a for-mat such that all bits (or digits) to the left of the radix point form the integer part and all bits (or digits) to the right of the radix point form the fractional part. A key advantage of the floating-point representation is that it provides a larger dynamic range than the fixed-point system. This alleviates problems such as overflow and underflow. However, devices based on the fixed-point system can process signals faster than floating-point devices. The fixed-point devices also use less power and cost less than the floating-point devices [21]. The floating-point simulations in the rest of this thesis use Matlab for Windows on an Intel Pentium III PC. The floating-point format is IEEE double precision [22]. This is implemented using a total of 64 bits, with 11 exponent bits (of which one is an exponent sign), 52 mantissa bits, and a mantissa sign bit. The relative accuracy for these simulations is 2 « 2.22 x 10 which -52 means that the distance from 1 to the next largest floating-point number is 2 . So, the maximum -52 error introduced by rounding off a result near 1 to the nearest floating-point number is 2 / 2 . Fixed-point and floating-point calculations place limits on the largest and smallest repre-sentable numbers, and the degree of accuracy for the desired number. For example, consider a signed fixed-point system with 16 bits: 8 for the fractional portion and 7 for the integer portion. The largest representable number would be 2 7 - 2"8 = 127.99609375, i.e. 1111111.111111112, assuming one bit is used to represent the sign of the number. Likewise, the smallest absolute value Chapter 4: Fixed-Point Implementation Considerations 55 would be 2 - 8 = 0.00390625, or 0.000000012. The distance from 1 to the next largest fixed-point number is 2"8. For brevity in the descriptions in this chapter, the word length and fractional length will be represented by WordX/FracY, where X is the word length and Y is the fractional length. Signed fixed-point will be assumed, so that the integer length can be calculated as X - Y - l . For example, the 16 bit system in the previous paragraph can be referred to as Wordl6/Frac8. A l l fixed-point calculations in this chapter assume that i f the absolute value of a calculated result is larger than the largest representable number (called an overflow) the output will saturate, such that the output is equal to the largest representable number (or the negative of the largest rep-resentable number, depending on the sign). If the absolute value of a calculated result is smaller than the smallest representable number, the output will underflow, and result in zero. Otherwise, i f the absolute value of a calculated result is between the smallest and largest representable num-bers, then the result will be rounded upwards or downwards to the closest representable number. 4.2 Orthogonalization Procedure 4.2.1 Orthogonalization Procedure Description In practice, digital implementation of an algorithm may result in performance degradation due to quantization errors. These errors accumulate and are shown in Section 4.3 and Section 4.4 to cause the components of the right hand side of (2.30) to become non-orthogonal. To reduce problems due to quantization errors, we apply the method suggested in [2], in which the compo-Chapter 4: Fixed-Point Implementation Considerations 56 nent xk[m + 1 ] is orthogonally projected onto s^  with each update of the algorithm to guarantee orthogonality. That is, after the tap weights are updated in (2.33) or (3.8), we apply T xk[m + 1 ] = xk[m + 1 ] - S*>S*. (4.1) M Since ||sj = 1, this reduces to xk[m+\] = xk[m+\]-(xk[m+l]\)sk. (4-2) It is shown in Section 4.3 that this orthogonal projection is not particularly useful in float-ing-point with many bits of precision, such as on a typical personal computer. However, in Sec-tion 4.4, it is found that the orthogonal projection can make a significant difference in fixed-point calculations with limited precision. Throughout this thesis, the terms 'orthogonal projection' and 'explicit orthogonalization procedure' refer to the use of (4.2). 4.2.2 Proposed Detector Description The Proposed Detector contains three improvements to the Kim Detector introduced in Sec-tion 2.6. The first improvement, described in Section 2.6.1, fixes a problem with the Hermitian operator in a linear projection equation. Secondly, the adaptive L M S algorithm of the Kim Detec-tor is replaced by an adaptive normalized LMS (NLMS) algorithm, described in Section 3.3. Finally, an orthogonal projection of the two components, sk and xk[m], of the tap weight vector is performed after this adaptive N L M S algorithm. The Proposed Detector is shown in Figure 4.1 for a single path Rayleigh fading channel. Simulation results in several environments will be pre-sented in Chapter 5. The two path version of this Proposed Detector is described and examined in Chapter 6. Chapter 4: Fixed-Point Implementation Considerations 57 Stored Pilot Symbols Channel Coefficient Estimator rt[m] Adaptive PG-Tap FIR Filter | YfkH[m] \v.H[m]r,[m] Orthogonal Projection n s * T T x > ] Adaptive NLMS Algorithm c.[m] * A . c * ek[m] v-y+ © f — d.[m] Re[ ] \-+\ -P bk[m] Stored Pilot Symbols Figure 4.1: Proposed Detector - single path 4.3 Orthogonalization Procedure Floating Point Simulations Floating-point simulations were performed on two detectors, using the parameter values given in the single path column of Table 3.2. The first detector simulated was the Kim Detector + Herm. Fix + N L M S . The second detector was the Proposed Detector, which is actually the first detector + orthogonal projection via the orthogonalization procedure. It was found that these two detectors resulted in the same BER, i f given the same set of input parameter values. It was also found that the real and complex values of rx[m] in (2.34) Chapter 4: Fixed-Point Implementation Considerations 58 were nearly identical in both detectors at each value of m. The calculated value for xk[m + 1] in (2.33) was also nearly identical in both detectors at each value of m. The term "nearly identical" in this case means that of the approximately 16 digits of accuracy given for these results, only the last 2 or 3 digits differed in value. It is suspected that these digits differ in value due to quantiza-tion errors. Therefore, it can be concluded for the Proposed Detector that the application of the orthogonal projection of xk does not impact the BER, in floating-point calculations with a suffi-ciently large number of bits of precision. The orthogonality of xk[m] and s^ . was examined in these simulations. Since these two T components are supposed to be orthogonal, the equation [m]sk = 0 should hold for all values of m. Figure 4.2 illustrates the orthogonality measure, defined in (3.7), for the Kim Detector + Herm. Fix + N L M S . As shown in the diagram, orthogonality is preserved for all practical pur-poses, with the precision given in the computer simulations. However, it can be seen that the rela-tively minor quantization errors do accumulate, although at a slow enough rate that it should not pose a problem for typical transmission lengths. In detectors with a lower number of bits repre-senting each value, (e.g. a 16-bit fixed-point system), these quantization errors may accumulate to create problems in detection. These issues are addressed in further detail in Section 4.4. Similarly, Figure 4.3 shows the orthogonality measure for the Proposed Detector. In this case, the quantization errors do not accumulate beyond a very small amount. Therefore, the explicit orthogonal projection of may prove useful in detectors with limited quantization abili-ties, such as in a fixed-point system. Chapter 4: Fixed-Point Implementation Considerations 59 0 500 1000 1500 2000 2500 3000 Bit Number, m Figure 4.2: Orthogonality measure in Kim Detector + Herm. Fix + N L M S Bit Number, m Figure 4.3: Orthogonality measure in Proposed Detector Chapter 4: Fixed-Point Implementation Considerations 60 4.4 Fixed-Point Simulations The simulations in the previous sections of this thesis were modified for this section so that the receiver portion was modelled as a fixed-point system. The word and fractional lengths within this fixed-point system were adjustable at the start of each simulation. These simulation results include BER performance for different levels of fixed-point accu-racy, minimum fixed-point requirements for different environments, and the effects of fixed-point calculations on the algorithms used in the detectors. The number of simulations performed using fixed-point was limited by the long simulation time required. Simulation time is typically one to three orders of magnitude longer than the equiv-alent floating-point simulations, depending on the parameter values and the fixed-point word length. 4.4.1 Simulations to Determine Quantization Parameters A number of datasets were used in these simulations. These datasets use the single path fad-ing parameter values given in Table 3.2 and a simulation length of 20,000 bits. Each dataset is used to facilitate comparison of simulation results with other detectors at a later point. These datasets are relatively large files consisting of the desired user number, asynchronous timings, bit sequences, Gold spreading codes, A W G N values, fading channel coefficients, and other parame-ter values. Dataset #1 is a random generation of the desired user number, asynchronous timings, bit sequences, etc... The same parameter values are used in dataset #2, however, the desired user number, asynchronous timings, bit sequences, etc... were randomly chosen to have different val-ues. That is, dataset #2 is a second trial using the same parameter values as dataset # 1. Next, the Chapter 4: Fixed-Point Implementation Considerations 61 same parameter values as dataset #1 were used in dataset #3 except the number of users is 25. Finally, the same parameter values as dataset #1 were used in dataset #4 except for these differ-ences: Eb/N0 = 10 dB, K = 20 users, synchronous downlink is assumed, and the mobile speeds are 100 km/h. A simulation of the matched filter with dataset #1 showed that a Wordl2/Frac5 was neces-sary to achieve a BER within +/- 2% of the floating-point BER. A BER difference of +/- 2% is arbitrarily considered here to be sufficiently close. As the number of integer bits or fractional bits were increased, the agreement among results improved. As the number of integer or fractional bits were decreased, the difference increased, sometimes drastically. For example, using Wordll / Frac5 gives a BER difference of 2.2% of the floating-point value. However, Wordl0/Frac5 and Word8/Frac4 are only 16% and 61% within the floating-point value, respectively. This difference between the fixed-point and floating-point results can be explained by the increased number of underflow and overflow errors as the number of bits decrease. A system of Word32/Fracll is nec-essary to achieve the same BER as the floating-point simulation, for dataset #1. A simulation using the matched filter with dataset #2 indicated that Wordl3/Frac5 is required to achieve a BER within +/- 2% of the floating-point value. Using the parameters Wordl2/Frac5 in the matched filter gave a 4.5% difference between floating-point and fixed-point results for dataset #2. Dataset #3 required Wordl2/Frac4 to achieve a matched filter BER within +/- 2% of the floating-point value, while dataset #4 required Word8/Frac4. The requirements for acceptable BER performance are compared in Table 4.1. As stated earlier, acceptable BER performance is arbitrarily defined to be a fixed-point BER which is within +/- 2% of the floating-point BER. Chapter 4: Fixed-Point Implementation Considerations 62 Table 4.1: Required number of bits for acceptable performance in fixed-point Matched Filter K i m Detector + Herm. F i x + N L M S Proposed Detector Word Integer Fraction Word Integer Fraction Word Integer Fraction Dataset #1 12 6 5 24 10 13 24 10 13 Dataset #2 13 7 5 27 12 14 26 11 14 Dataset #3 12 7 4 27 12 14 27 12 14 Dataset #4 8 3 4 21 8 12 20 8 11 Simulations were also performed on the Kim Detector + Herm. Fix + N L M S . For dataset #1, a minimum of Word24/Fracl3 was required to obtain a BER within +/- 2% of the floating-point value. A minimum of Word36/Frac22 is required to obtain the same B E R as the floating-point value, for dataset # 1. If the fractional part is insufficient, the normalized step size goes to zero, making this detector essentially a matched filter, and giving identical performance to the matched filter. That is, in the N L M S equation = Hi™}* 3 ^*[m]rx[m] e + \\rJm (4.3) the portion results in an underflow if there are an insufficient number of fractional bits. Since the adaptive part, x / t [w], of the tap weight vector is initially zero, it will remain zero throughout all the 'updates' and therefore the tap weight vector ends up as the signature of the desired user. Therefore, the same equation as the matched filter results. Fixed-point parameter values of Word27/Fracl4 were required for the Kim Detector + Herm. Fix + N L M S to obtain a BER within +/- 2% of the floating-point BER using dataset #2. Note that for all datasets, the matched filter requires the lowest number of bits. This makes intui-tive sense, since it is the simplest detector with the worst BER performance. By allowing more Chapter 4: Fixed-Point Implementation Considerations 63 bits of precision, one can implement an adaptive detector that will substantially improve the BER. The bit requirements for the Kim Detector + Herm. Fix + N L M S for datasets #3 and #4 are given in Table 4.1. Fixed-point simulations were also performed on the Proposed Detector. Its requirements are similar to the Kim Detector + Herm. Fix + N L M S . However, in two cases, the Proposed Detector required one less bit than the Kim Detector + Herm. Fix + N L M S . The bit requirements for the three detectors are summarized in Table 4.1. 4.4.2 Orthogonalization Procedure Fixed Point Simulations The benefits of the orthogonalization procedure in a fixed point system are illustrated in this section. It will be shown that a loss of orthogonality will increase the BER. It has been demon-strated through the floating-point simulations in Section 3.2 that the Hermitian Error can cause the two tap weight components to become non-orthogonal, e.g. \\i[m] Xklm\*k\ « 0.96 after l|xjt[m]|| 3,000 bits. It was also shown that fixing this Hermitian Error causes the tap weight components to remain orthogonal, e.g. \\f[m] « 2 x 10 1 6 , and decrease the BER. The orthogonality between the adaptive and fixed parts of the Kim Detector + Herm. Fix + N L M S is illustrated in Figure 4.4, for dataset #1. The equation v|/[m] = = 0 should hold for all values of m, as discussed in Section 4.3. However, Figure 4.4 shows that this is not true. Figure 4.4 uses a Word24/Frac 13 fixed-point system, which gives a minimum representable number of approximately 1.2207 x 10"4, and a maximum representable number of approximately 1023.9999. Chapter 4: Fixed-Point Implementation Considerations 64 0.02 0.018 0.016 — 0.014 10 E, 0.012 x ^ 0.01 CD N 15 0.008 z 0.006 0.004 0.002 0 0 B it N um ber, m Figure 4.4: Orthogonality measure for dataset #1 with Kim Detector + Herm. Fix + N L M S As the number of iterations of the detector algorithms increase with each bit, the quantiza-tion errors accumulate. This level of the orthogonality measure did not appear to have an impact on the BER of the detector. However, if the orthogonality measure tended to increase at the same rate, say 7 x 10"3 for every 20,000 bits, we can see that after a few hundred thousand or million bits, this orthogonality measure will become substantial. Remember that an orthogonality mea-sure of zero occurs for orthogonal vectors, while a value of one occurs for vectors pointing in the same direction. It has been previously shown in [16] that a single tap weight vector containing no fixed part will cancel the interference as well as the desired user. If the loss of orthogonality defined by the orthogonality measure continues to increase in the Kim Detector + Herm. Fix + N L M S , the adap-tive part of the algorithm may suppress the fixed part, as explained in Section 3.2.2. As the two Chapter 4: Fixed-Point Implementation Considerations 65 parts of the adaptive algorithm move closer to cancelling each other, the effectiveness of the algo-rithm diminishes, and the bit errors will increase. It is also possible that this loss of orthogonality will lead to an increase or decrease in the value of the tap weight vector or its components. This may cause overflow or underflow errors, or possibly cause a decrease in the SINR of the system. This would lead to a higher BER. However, i f the orthogonalization procedure, as described in Section 4.2, is applied to the detector, the loss of orthogonality is limited to a value near the fixed-point (or floating-point) pre-cision of the receiver platform. This is illustrated in Figure 4.5, which shows the corresponding plot for the Proposed Detector which uses the orthogonalization procedure. The same fixed-point parameters are used in Figure 4.5 as in Figure 4.4, i.e. Word24/Fracl3. In Figure 4.5, the orthogo-nality error is just slightly higher than the quantization limits of the receiver. We can see that the orthogonality error remains relatively constant, since after each iteration of the N L M S algorithm, the orthogonality is restored due to the orthogonalization procedure. 0.02 0.018 0.016 — 0.014 CO £ 0.012 J 0.01 0) N la 0.008 2 0.006 0.004 0.002 0 0.5 1 Bit Num ber, m 1.5 x 10 Figure 4.5: Orthogonality measure for dataset #1 with Proposed Detector Chapter 4: Fixed-Point Implementation Considerations 66 4.4.3 Orthogonalization Procedure Fixed Point Extended Simulations Simulations were also performed over an extended period of time to see if the orthogonality error continues to increase. The same parameter values as dataset #1, which are taken from Table 3.2, are used in this extended dataset but the extended dataset simulates 300,000 bits. The fixed-point parameters are Word21/Fracl2, which was experimentally chosen to 'accelerate' the loss of orthogonality. Normally, Word27/Fracl4 is necessary to achieve a B E R within +/- 2% of the floating-point BER for the simulations of Section 4.3. It is necessary to 'accelerate' the loss of orthogonality since it was shown in Section 4.4.2 that it could take hundreds of thousands or mil-lions of bits to substantially increase the loss of orthogonality when using longer word lengths, such as Word24/Fracl3 or Word27/Fracl4. Note that the problems illustrated in the remainder of this section may still occur with higher fixed-point parameter values, such as Word24/Fracl3 or Word27/Fracl4, but they will take longer to surface. The orthogonality measure, \\i[m], for this simulation is shown in Figure 4.6 for the Kim Detector + Herm. Fix + N L M S . After 300,000 bits, v|/ » 0.65, which is significantly higher than Figure 4.4. This leads to an increased error signal, ek[m], as shown in Figure 4.7. This error signal con-tinues to increase and is shown to saturate at several points. In fact, near the end of the 300,000 simulated bits, the error signal saturates often. Recall that since this detector has parameter values of Word21/Fracl2, it has eight bits for the integer portion. Since 2 8 = 256, the detector saturates around this point. Note that only the real portion of the error signal is shown, although the imagi-nary portion is similar. Chapter 4: Fixed-Point Implementation Considerations 67 0.9 -0.8 h B it N um ber, m x 1 05 Figure 4.6: Orthogonality measure for an extended simulation with Kim Detector + Herm. Fix + N L M S 300 -300 1 ' ' 1 1 1 l-0 0.5 1 1.5 2 2.5 3 B it N um ber, m x 1 05 Figure 4.7: Real part of the error signal for an extended simulation with Kim Detector + Herm. Fix + N L M S Chapter 4: Fixed-Point Implementation Considerations 68 The signal to interference plus noise ratio (SINR) is shown in Figure 4.8. The SINR is defined as the ratio of the square of the desired user amplitude immediately before the hard deci-sion device in Figure 2.6, to the square of the interference plus noise amplitude at the same point, i.e. SINR = \^(SoftDecSig)]2 ( 4 4 ) [Re(SoftDecIFN)]2 where SoftDecSig is the part of c/*[m]wk [m]rk[m] due to the desired user, and SoftDecIFN is the part of ck [m\vtk [m]rk[m\ due to the M A I and A W G N . It is well known that a decrease in SINR will increase the B E R [4]. It is hard to discern from Figure 4.8 a change in the SINR as the number of bits increase. However, the median of the SINR for the first 150,000 bits has a value of 23.48, while the median of the SINR for the last 150,000 bits has a value of 14.49. This clearly indicates the SINR is decreasing as the simulation progresses. The median is preferred over the mean in this case because there are a few outlying points which diminish the usefulness of the mean. The moving median of SINR over 25,000 bits is shown in Figure 4.9 and is defined as, MovingSI~NR[m] = median{SINR[m - 24999], SINR[m]}, m > 25000 MovingSINR[m] = median[SINR[l], SINR[m]}, m < 25000. From Figure 4.9, it is easy to see that the median of the SINR is decreasing as the number of simulated bits increases. Chapter 4: Fixed-Point Implementation Considerations 69 Figure 4.8: SINR for an extended simulation with Kim Detector + Herm. Fix + N L M S 70 60 -S 8 50 -CD > O Figure 4.9: Moving median of SINR over 25000 bits for extended simulations with Kim Detector + Herm. Fix + N L M S Chapter 4: Fixed-Point Implementation Considerations 70 It is evident from the BER results that the decreased SINR does increase the BER. The BER for the first 150,000 bits is 0.06918. The second 150,000 bits, i.e. bit #150001 to bit #300000, has a BER of 0.1027. This leads to an overall BER is 0.08602. To gain some perspective, the floating-point BER for the Proposed Detector is 0.01447. The floating-point B E R for the matched filter is 0.08132. Next, the Proposed Detector was simulated using the same extended dataset as the Kim Detector + Herm. Fix + N L M S . Recall that the Proposed Detector is equivalent to the Kim Detec-tor + Herm. Fix + N L M S + Orthog. Proj. Fixed-point parameters of Word21/Fracl2 were also used for the Proposed Detector. In Figure 4.10, it is shown for the Proposed Detector that the orthogonality measure, vj/[w], is limited to a value near the quantization limits of the system. Even after 300,000 bits, the orthogonality measure is relatively the same as at 1000 bits. It is evi-dent from this figure that i f the receiver was continuously receiving data bits for an indefinite period, the orthogonality measure would remain bounded within reasonably low limits. 0.02 0.015 h 0.01 •£ 0.005 -h- XL X CO O -0.005 h -0.01 -0.015 -0.02 0 0.5 1.5 B it Num ber, m 2 2.5 x 1 0 5 Figure 4.10: Orthogonality measure for an extended simulation with the Proposed Detector Chapter 4: Fixed-Point Implementation Considerations 71 The error signal is shown for the Proposed Detector in Figure 4.11. Again it can be seen that the error signal remains at relatively low levels, and does not saturate at the quantization limits. 300 r-200 -B it Num ber, m x 1 05 Figure 4.11: Real part of error signal for an extended simulation with the Proposed Detector The SINR, as defined in (4.4), is plotted for the Proposed Detector in Figure 4.12. Note that little change can be seen when compared to the SINR of Figure 4.8. However, the median of the SINR for the first 150,000 bits is 23.47, and the second 150,000 bits has a median SINR of 23.60. Therefore, the median SINR for the first half of Figure 4.12 is roughly the same as the median SINR for the first half of Figure 4.8. But the median SINR for the second half of Figure 4.12 is much better than that of the second half of Figure 4.8. The moving median SINR over 25,000 bits, as defined in (4.5), is also plotted for the Pro-posed Detector in Figure 4.13. The median SINR in this case does not decrease as it did for the Kim Detector + Herm. Fix + N L M S . Chapter 4: Fixed-Point Implementation Considerations 72 Figure 4.12: SINR for an extended simulation with the Proposed Detector 70 60 -CO 5 S 50 -CD > O Figure 4.13: Moving median of SINR over 25000 bits for extended simulations with the Proposed Detector Chapter 4: Fixed-Point Implementation Considerations 73 This more consistent SINR leads to a lower BER for the Proposed Detector. The BER for the first 150,000 bits is 0.06841. The second 150,000 bits, i.e. bit #150001 to bit #300000, has a BER of 0.06830. The overall BER is 0.06835. The BER for the first half is higher for this Pro-posed Detector versus the Kim Detector + Herm. Fix + N L M S , but that is only over 150,000 bits. It will be shown in Chapter 5 that for a much longer length of time, the floating-point BER for the Proposed Detector is about the same as the Kim Detector + Herm. Fix + N L M S . Also notice that for the second half of the simulation, the BER for the Proposed Detector stays roughly the same as the first half. This indicates that the Proposed Detector does not suffer from the same fixed-point problems as the Kim Detector + Herm. Fix + N L M S . Chapter 5: Proposed Detector - One Path Simulation Results Some possible improvements for the Kim Detector [16] were described in Chapters 3 and 4, along with the benefits of applying each of these improvements. A detector which combines these improvements, called the Proposed Detector, was described in Chapter 4. In the present chapter, the BER of this Proposed Detector is calculated via numerical simulations and comparisons are made to previously published results, wherever possible. Its performance in a single path Ray-leigh fading channel is investigated in this chapter. The two path version of this Proposed Detec-tor is described and examined in Chapter 6. The BER of an asynchronous uplink channel is simulated in Section 5.1, in order to com-pare results for the Proposed Detector with that of other published results. In the next section, Section 5.2, the pilot symbol insertion period and the moving average length is varied in order to investigate the effects of the pilot symbol parameters on the BER. These parameters are important factors for the system designer to consider in trading off channel throughput versus overall BER. A weighted moving average filter is also suggested to improve the BER. Finally, in Section 5.3, the BER of the Proposed Detector and the Matched Filter are simulated and compared in four dif-ferent environments. This is useful since it gives the reader some insight into how an uplink/ downlink or synchronous/asynchronous channel affects the BER of a C D M A system with these detectors. 74 Chapter 5: Proposed Detector - One Path Simulation Results 75 5.1 Uplink BER in Rayleigh Flat Fading Simulations comparing the performances of the Kim Detector and the Proposed Detector were performed using the same environment and parameter values as those used for Figure 3 of [16]. These parameter values are described in the single path fading column of Table 3.2. Note that the mobile speed is 50 km/h, giving a Doppler frequency of about 93 Hz. The optimum step size for the N L M S algorithm was experimentally determined to be approximately 0.11. This step size was used for the Proposed Detector and the Latva-aho Detector. The optimum step sizes for the L M S algorithm within the Kim Detector were experimentally determined to be about 2xl0" 5 , lx lO" 5 , and 6xl0" 6 for 15, 20, and 25 users, respectively. However, since the step size must be changed each time the number of users changes (i.e. the received energy changes), this creates a problem in practice. Figure 5.1 shows the BER results of the Proposed Detector compared with those of the -matched filter, the Kim Detector, and the Latva-aho Detector. The plot shows that the Proposed Detector has the lowest BER. The Proposed Detector has a BER of 1.2lxl0" 2 at 15 users, with a confidence interval of +/- 4.2% and the Kim Detector has a BER of 1.37xl0"2, with a confidence interval of+/- 4.4%. The number of bits simulated ranges from 4,000,000 to 10,000,000, depend-ing on the number of users. The largest confidence interval for any data point on the graph is +/-4.4%o. Also included in the figure are the previously published results for the Kim Detector and the matched filter as found in Figure 3 of [16]. These results, indicated by the dot-dash line in the figure, are simply copied from [16]. Chapter 5: Proposed Detector - One Path Simulation Results 76 10u - v - Published results: Kim Matched Filter - A - Matched Filter - 0 - Latva-aho Detector - 0 - Published results: Kim Detector - O - Kim Detector — * — Proposed Detector 20 Number of Users Figure 5.1: BER as a function of number of users for uplink/asynchronous Rayleigh fading channel,/j = 93 Hz Note that the results for the Kim Detector presented in [16] show a BER between 1.5 and 2 times higher than the Kim Detector BER results in Figure 5.1. Also note that the matched filter results presented in that reference are also between 1.5 and 2 times higher than the results pre-sented in Figure 5.1. It is unclear why the matched filter results are different. However, a possible reason for the differences in the Kim Detector may be a slightly different step size between the simulations in Figure 5.1 and that of [16]. Thorough verification was performed on all the detec-tors for this thesis. The matched filter results in this thesis were also compared and found to closely agree with other published results, including [2, 15, 23]. It seems that whatever difference Chapter 5: Proposed Detector - One Path Simulation Results 77 is affecting the results for the matched fdter in [16] may also be affecting their results for the Kim Detector. In the next simulation, the lower bounds of the matched fdter (MF), Kim Detector, and the Proposed Detector were found by assuming the desired user's channel coefficients are known. Simulation results using otherwise the same parameter values as in Figure 5.1 are shown in Figure 5.3 and Figure 5.3. The BER results for the M F are shown in Figure 5.2, while the BER results for the other detectors are shown in Figure 5.3. Between 4,000,000 and 7,000,000 bits were simulated for each data point, resulting in a confidence interval of +/- 5%. The "Published results: Kim Detector Lower Bound" are from [16]. Reference [16] does not contain any results for the MF lower bound. 10u 10" - v - Published results: Kim Matched Filter - A - Matched Filter -*- Matched Filter Lower Bound 15 20 Number of Users 25 Figure 5.2: Simulation results for lower bound BER with a known channel (MF) Chapter 5: Proposed Detector - One Path Simulation Results 78 10" 10" 15 -,---4 - 0 - Published results: Kim Detector - 0 - Kim Detector - £>• Kim Detector Lower Bound Proposed Detector Published results: Kim Detector Lower Bound - o Kim Detector + Herm. Fix Lower Bound - FJ Proposed Detector Lower Bound 20 Number of Users 25 Figure 5.3: Simulation results for lower bound BER with a known channel (non-MF) These simulations show that the Kim Detector + Herm. Fix lower bound is lower than the Kim Detector lower bound. This indicates that the Hermitian Fix definitely has a impact on reduc-ing the BER. With that in mind, notice that the "Published results: Kim Detector Lower Bound" is Chapter 5: Proposed Detector - One Path Simulation Results 79 close to the Kim Detector lower bound (published results a little lower for 20 and 25 users, pub-lished results a little higher for 15 users), indicating the high likelihood of reference [16] simulat-ing exactly as written in their equations. That is, the Hermitian operator is likely intentional in (2.34), and not simply a typographical error. Next, the Proposed Detector lower bound is approximately the same as the Kim Detector + Herm. Fix lower bound, indicating that the N L M S does not contribute noticeably to lowering the BER more than the L M S algorithm (when optimum step sizes are chosen for every value of the number of users, in the L M S algorithm). In the next set of simulations, the Kim detector was simulated with a mobile speed of 100 km/h but with otherwise the same parameter values as for the 50 km/h case [24]. For comparison purposes, the Proposed Detector is simulated using mobiles at 100 km/h, which corresponds to a Doppler frequency of about 185 Hz. The results of these simulations are shown in Figure 5.4. It can be seen from comparing Figure 5.1 and Figure 5.4 that the Proposed Detector is relatively insensitive to a moderate increase in Doppler frequency, increasing its BER just slightly with the higher Doppler frequency. The matched filter is also reasonably insensitive to this change in Dop-pler frequency. Between 2,000,000 and 4,000,000 were simulated to give a confidence interval of +/- 4.9%. Also included in the figure are the previously published results for the Kim Detector and the matched filter as found in Figure 3 of [16]. Chapter 5: Proposed Detector - One Path Simulation Results 80 10° UJ 10 CO 15 - V - Published results: Kim Matched Filter Matched Filter - O - Published results: Kim Detector Proposed Detector 20 Number of Users -4> Figure 5.4: BER as a function of number of users for uplink/asynchronous Rayleigh fading channel,/^ = 185 Hz 5.2 Varying the Pilot Symbol Insertion Period and the Moving Average Length The previously published paper that introduces the Kim Detector presents its Figure 4 illus-trating the decreasing BER as the pilot symbol insertion period decreases [24]. A closer examina-tion of that figure shows the BER decreases steadily from a pilot symbol insertion period, P = 512 to P = 8 or 4 and then remains relatively constant. Results for P < 4 are not shown in the figure from [24]. The authors select a length for the moving average filter that gives the best results for Chapter 5: Proposed Detector - One Path Simulation Results 81 any given value of P. Unfortunately, the lengths of the filter for each P are not provided. Recall that the pilot symbol insertion period, P, and the moving average length, Np, affect the channel estimates through (2.32). Note that other than the parameters values found in Table 5.1, all other simulation parame-ter values for this section are found in the one path column of Table 3.2. In addition, 20 users were simulated in this section. For this thesis, the optimum moving average filter length for each instance of the pilot sym-bol insertion period was experimentally determined, similar to reference [24]. Parameter values that were found to give the best overall BER for the four detectors are shown in Table 5.1. In most cases, the parameter values for the best BER for one detector corresponded to the same parameter values for the best BER for all other detectors. However, in the rare instances where this was not the case, the parameter values that gave the lowest BER for the Kim Detector and the Proposed Detector were favored. For example, when the pilot symbol insertion period was 3 symbols, a moving average length of 3 symbols was found to result in the best B E R for the Kim Detector, the Latva-aho Detector and the Proposed Detector. But a moving average length of 1 symbol was a little better for the matched filter. Therefore, the "overall" best moving average length was 3 sym-bols, and the BER results for all detectors in the plot correspond to this value. A pilot symbol insertion period of 1 symbol is not shown in Table 5.1. A pilot symbol inser-tion period of 1 symbol would mean that no data is being transmitted, just pilot symbols. Since the BERs in these simulations are calculated only for data symbols, and not for pilot symbols, no BER would be available for P = 1. Chapter 5: Proposed Detector - One Path Simulation Results 82 Table 5.1: Best moving average length for each pilot symbol insertion period Pilot symbol insertion period, P (symbols) Moving average length, Np (symbols) 2 1 3 3 4 4 8 4 16 3 32 2 64 2 128 1 256 1 512 1 For a pilot symbol insertion period of 8 symbols, it was found that a moving average length of 4 symbols gave the best BER results, but they were only marginally better than a moving aver-age length of 3 symbols. Reference [16] and [24] recommend a moving average length of 3 sym-bols. The 'best' moving average lengths within Table 5.1 were found to have the lowest BER when compared to other moving average lengths for the same pilot symbol insertion period. How-ever, the BER results for these simulations sometimes do not vary much between different mov-ing average lengths. For example, the BERs for the Proposed Detector between P = 3, N =3 and P = 3, N = 2 differ by only 6%. Between P = 3, N = 3 and P = 3, Np = 1 the difference is 17%. As a second example, the BERs for the Kim Detector between P = 4, Np =4 and P = 4, Np -2 differ by only 7%. Note that regardless of the pilot symbol insertion period, a reduction in the 'randomness' of the signal due to A W G N will not significantly smooth out the signal estimate, since the A W G N Chapter 5: Proposed Detector - One Path Simulation Results 83 power is much lower than the interferers' power. This is a key concept when considering the rea-sons for different moving average lengths working best for different pilot symbol insertion peri-ods. For short pilot symbol insertion periods, only 1 sample is required to accurately predict the next channel coefficient, since there is little time between samples. It seems that the M A I due to the fading of the interferers does not change much for short periods, so there would be no gain in averaging the M A I . However, for medium length insertion periods, it seems that 2-4 samples are needed in order to average out the M A I which may be undergoing fading at different times within the averaging interval. In the first sample, the total M A I power may be at one level, but in the next 1-3 samples, the total M A I power may be at different levels, therefore the moving average filter can average out the M A I power to obtain a reasonable estimate of the mean power. This mean power can be used to obtain the channel estimate between pilot symbols. Finally, for longer inser-tion periods, the benefit of averaging out the fading of the interferers is outweighed by the fact that the desired user's channel coefficients will have changed significantly. Figure 5.5 shows the BER plot for these simulations. Between 3 and 8 million bits were simulated, resulting in a confidence interval of +1-5% for all data points with a pilot symbol inser-tion period less than 16 symbols. Data points for a pilot symbol insertion period of 16 symbols or greater have a confidence interval of +/-10%. The B E R generally decreases as the pilot symbol insertion period decreases. However, the penalty for this decreased BER is the reduction in data throughput. Since more channel bandwidth is allocated to pilot symbols, the effective data transfer rate is lowered. The system designer would need to trade off the desired data throughput with the desired BER, by inserting pilot sym-bols at the appropriate rate. Chapter 5: Proposed Detector - One Path Simulation Results 84 8 16 32 64 128 256 512 Pilot symbol insertion period, P Figure 5.5: BER for different lengths of the pilot symbol insertion period To improve the BERs even further, a weighted moving average fdter may be used in place of the moving average filter. In such a filter the weights associated with more recent pilot symbols may be higher than the weights for older pilot symbols. For example, a filter that uses two pilot symbols may allocate 80% of its weight to the most recent pilot symbol, and 20% of its weight to the other pilot symbol. In this manner, the most recent pilot symbols are favoured, since it is expected that they would be closest in value to the current symbol. This weighted moving average filter, given by (5.1), is similar to the moving average filter, (2.32), except for the weights, h[i], Chapter 5: Proposed Detector - One Path Simulation Results 85 and the need to divide the summation by N. Equation (5.1) can give the same results as (2.32) i f the same weighting is applied to each symbol, by making h[i] = - j - , V / . p c*l>] = h[i]bkp[m-iP]v/k [m - iP]rk[m - iP], 7 = 0 m e {..,-2P,-P,0,P,2P,...} , 0<h[i]< 1, Np-\ X h[i] = 1 ; = 0 Two sets of simulations were performed to demonstrate the effectiveness of the weighted moving average fdter. A pilot symbol insertion period of three symbols was chosen for each set. Two symbols were used in the first set - the current pilot symbol, plus the most recent pilot sym-bol. In the second set, three symbols were used - the current pilot symbol plus the two most recent pilot symbols. Weights were assigned to each of the pilot symbols, using (5.1), with an equal weighting applied for the right-most data point in each figure to illustrate the results obtained with (2.32). The BER results for the first set, using two pilot symbols, is shown in Figure 5.6. From the figure, it is apparent that a weighting of 80% on the first symbol and 20% on the second symbol gives better results than the equal weighting (50-50%) scheme. Both the matched filter and the Proposed Detector benefit from the unequal weighting that favors the current pilot symbol, but takes advantage of some averaging provided by the second symbol. The B E R results for the second set, using three pilot symbols, is illustrated in Figure 5.7. Again, the unequal weighting method, (5.1), has a lower BER than the equal weighting (33-33-33%) method, (2.32). In the case of the matched filter, the best results are obtained with a weight-Chapter 5: Proposed Detector - One Path Simulation Results 86 ing of 70-20-10%. In the Proposed Detector, the best results are obtained with either the 70-20-10% or the 50-30-20% weighting. LU DD +- " 10 -2 M atched Filter — P r o p o s e d Detector 90-10 80-20 70-30 Percentage of total filter weight on each of two symbols 50-50 Figure 5.6: Weighted moving average filter for P = 3, Np = 2 10" on LU m M atched Filter -*— Proposed Detector 10" 80-10-10 70-20-10 50-30-20 40-30-30 Percentage of total filter weight on each of three symbols 33-33-33 Figure 5.7: Weighted moving average filter for P = 3, Np = 3 Chapter 5: Proposed Detector - One Path Simulation Results 87 Comparing both Figure 5.6 and Figure 5.7, the best results are found with the filter length of three symbols in Figure 5.7. In both figures, between 1,000,000 and 5,000,000 bits were simu-lated for each data point, resulting in a maximum confidence interval of 6.8%. 5.3 Performance in Different Environments It is useful to understand how detectors perform in a variety of different environments. In particular, the uplink and downlink channels of a mobile system are different in terms of how fad-ing applies to the different users. Likewise, the asynchronous or synchronous nature of the multi-ple users in the system can affect the BER differently. A system designer can use this information in deciding the appropriateness of the Proposed Detector in their given channel configuration. Simulations were performed to examine the BER in these four channel configurations: 1. Uplink, Asynchronous 2. Uplink, Synchronous 3. Downlink, Synchronous 4. Downlink, Asynchronous A l l other parameter values for these systems are identical, so as to allow a fair comparison. The number of users ranges from 15 to 25, each of which has an — o f 20 dB. The carrier fre-N0 quency is 2.0 GHz, with a chip rate of 3.84 Mcps. The channel has single path Rayleigh fading, with mobile speeds of 50 km/h, giving a Doppler frequency of approximately 93 Hz. Gold codes of length 31 are used as spreading codes. Results are presented for the matched filter and the Pro-posed Detector. For both detectors, a moving average filter is used, with a filter length of 3, and a Chapter 5: Proposed Detector - One Path Simulation Results 88 pilot symbol insertion period of 8 symbols. The step size is set to rj- = 0.11 for the Proposed Detector. 5.3.1 Uplink, Asynchronous Rayleigh Flat Fading Channel The realistic uplink or reverse link of a mobile channel is asynchronous. In the uplink, each user has independent fading coefficients. This simulation is similar to that in Section 5.1, except Section 5.1 uses a chip rate of 3.968 Mcps in order to compare results with [16]. The chip rate of 3.84 Mcps is chosen for this simulation since it is the chip rate specified for W C D M A [3]. As shown in the simulation results presented in Figure 5.8, the Proposed Detector has a lower BER —A- Matched Filter — * — Proposed Detector 15 20 25 Number of Users Figure 5.8: Uplink, asynchronous Rayleigh flat fading channel Chapter 5: Proposed Detector - One Path Simulation Results 89 than the M R Also note that the BER is higher for both detectors as the number of users in the channel increases. This makes intuitive sense because these additional users would create addi-tional interference. Up to 6,500,000 bits were simulated per data point, resulting in a maximum confidence interval of +/-5.4%. 5.3.2 Uplink, Synchronous Rayleigh Flat Fading Channel The ideal uplink channel is the synchronous channel, since it would have a low cross-corre-lation between the spreading codes at the base station (assuming Gold codes), which would lead to a low BER. However, this is difficult if not impossible to obtain, since it would involve pre-cisely timing the transmission times of each of the mobiles, which have different propagation delays to the base station. As expected, the BER shown in Figure 5.9 is much lower than the BER for the uplink asyn-chronous case in Figure 5.8, for both the MF and the Proposed Detector. Note that as for the asyn-chronous case, the Proposed Detector has a lower BER than the MF. The M F treats the A W G N and the M A I in the same manner, and cannot distinguish between them. However, the Proposed Detector is an adaptive filter, and therefore looks for repetitive interference, which in this case comes in the form of M A I . It is then able to suppress some of this repetitive interference to give a lower BER than the MF. The BER increases only marginally with additional users because the total interference increases only slightly due to the low cross-correlations between the synchro-nous users. For each data point, 6,000,000 bits were simulated, giving a maximum confidence confidence interval of +/- 7.1%. Chapter 5: Proposed Detector - One Path Simulation Results 90 10u 10" LU 10"' 10" 15 1_. - A - Matched Filter - * — Proposed Detector 20 Number of Users 25 Figure 5.9: Uplink, synchronous Rayleigh flat fading channel 5.3.3 Downlink, Synchronous Rayleigh Flat Fading Channel This is a realistic and desirable downlink or forward link of a mobile channel since the downlink would have a low cross-correlation, and hence a lower BER, than if the users were asynchronous. In the downlink channel, all users have the same fading channel coefficients, since each user's signal from the basestation travels over the same path to any one mobile. The simula-tion results using the signal received at the mobile are presented in Figure 5.10. Up to 7,000,000 bits were simulated per data point, resulting in a worst case confidence interval of +/- 6.9%. Chapter 5: Proposed Detector - One Path Simulation Results 91 10u 10" or LU 00 10"' 10"" Matched Filter — * — Proposed Detector N - — a n 15 20 Number of Users -A•I 25 Figure 5.10: Downlink, synchronous Rayleigh flat fading channel The Proposed Detector and the MF have approximately the same B E R for this channel. This is due to the fact that each user now has the same fading channel coefficients and the same timing, so the only thing remaining to discriminate each user is their spreading codes. Since the Gold spreading codes have a low cross-correlation in a synchronous channel, the MF performs as well as the Proposed Detector. In order for the Proposed Detector to do better, there must be a greater difference in the signals from the interferers, such as asynchronous timing or independent channel coefficients. For example, the uplink synchronous channel has independent channel coefficients, which adds to the effective interference. The MF cannot combat this interference as effectively as Chapter 5: Proposed Detector - One Path Simulation Results 92 the Proposed Detector, so the MF's BER degrades in the uplink synchronous channel as com-pared to the Downlink Synchronous channel. However, the BER of the Proposed Detector remains nearly unchanged in comparing the uplink synchronous and downlink synchronous chan-nels. As with the uplink synchronous channel, the synchronous nature leads to a nearly constant BER as the number of users in the channel increases. 5.3.4 Downlink, Asynchronous Rayleigh Flat Fading Channel In practice, the downlink channel is usually synchronous because Gold codes and other low cross-correlation codes create a relatively low amount of M A I , resulting in a low BER for all users. This section looks at the BER simulations results of a downlink asynchronous system, since it interesting to examine the loss of BER that would occur. The simulation results using the received signal at the mobile are presented in Figure 5.11. Up to 6,000,000 bits were simulated per data point, giving a maximum confidence interval of +/- 6.2%. Due to the higher cross-correlations between the asynchronous Gold spreading codes, the BER for this system is higher than the downlink synchronous system. However, the Proposed Detector BER does not increase as much as the MF BER. The higher BER for the uplink asynchronous channel compared to the downlink asynchro-nous channel can probably be explained by considering the case of deep fades for the desired user. First notice that since the signal power is reasonably high (20 dB), a lot of the interference comes from the other users, and not from the A W G N . In the uplink case, the deep fades for the desired user may not occur at the same time as those of the interferers, so the instantaneous signal power of the interferers may be much higher than the desired user, causing many bit errors. In the down-link case, all users experience deep fades at the same time, so the desired user is not overcome by Chapter 5: Proposed Detector - One Path Simulation Results 93 a set of interferers with much higher signal power. This gives the desired user a reasonable chance of making a correct bit decision. The BER increases as the number of users increases, since the additional interferers have higher cross-correlation than the synchronous case, and therefore con-tribute to a higher BER. 10u 10" a: LU CO 10"' 10 -3 15 - A - Matched Filter — P r o p o s e d Detector 20 Number of Users 25 Figure 5.11: Downlink, asynchronous Rayleigh flat fading channel Chapter 6: Performance in a Two-Path Frequency-Selective Channel In this chapter we investigate the use of the Proposed Detector in a two path frequency-selective fading channel. In order to cope with this new channel, two instances of the Proposed Detector can be placed in parallel, using one detector for each of the two paths. This forms a R A K E receiver which is described in more detail later. Multipath R A K E receivers are commonly used in C D M A systems. Typical 2G C D M A detectors may use three or four fingers to capture three or four multipath. The latest 3G detectors may be more effective with even more fingers, since they have a larger bandwidth [3]. Although only two path detectors are described and simulated here, this can easily be extended to include more paths. In Section 6.1, the two path Proposed R A K E Detector is described, as an extension to the one path Proposed Detector. A discussion on channel estimation using pilot channels follows in Section 6.2. Pilot channels are used for the two path simulations in this chapter to allow easier comparison against previously published results. In Chapters 3, 4, and 5 periodically-inserted pilot symbols were used for channel estimation to allow easier comparison against previously published results for a one path detector. The BER performance of the two path Proposed Detec-tor is compared against earlier published results in Section 6.3. Finally, in Section 6.4, a single path Proposed Detector is placed in both a one path Rayleigh fading channel and a two path Ray-leigh fading channel in order to examine the BER impact of the number of multipath versus the number of fingers in the R A K E receiver. 94 Chapter 6: Performance in a Two-Path Frequency-Selective Channel 95 6.1 Two Path R A K E Detector for Frequency Selective Rayleigh Fading In a two path frequency-selective Rayleigh fading channel, the received signal is given by K M rW = Z Z ( A k b d m ] a k , l i ^ i c i ' ~ m T - x k , i ) + k= \ m = -M (6.1) Akbk[m]ak2[m]sk(t-mT-xk2)) + an(t) where xkj, xk>2, ak j and a k 2 are the timing offsets and channel coefficients for the first and second paths of user k, respectively. Equation (6.2) is the analogous single path equation, which is a generalization of (2.4), since equation (2.4) uses ak[m] = 1 Vm . K M r(0 = Z Z Akbk[m]ak[m]sk(t-mT-xk) + an(t) (6.2) k=\m=-M Two of the proposed single path detectors can be used in a R A K E receiver structure, to han-dle this two path channel. Such an approach using a different modified M M S E detector is used in [13]. The single path Proposed Detector has been shown in Section 5.1 to have a lower BER than the equivalent single path form of the modified M M S E detector in [13], which we refer to as the Latva-aho Detector. Therefore, it is expected that the multipath R A K E receiver based on the Pro-posed Detector will have a better performance than the multipath receiver in [13]. The R A K E receiver using the Proposed Detector is shown in Figure 6.1. The "precombin-ing" structure is the same as in [13] in that the interference suppression occurs before the multi-path combining. This interference suppression is the single path Proposed Detector. An alternative to precombining is "postcombining", in which the interference suppression occurs after the multipath combining. It has been shown in [13] that the precombining structure is more effective for fast fading channels, using the modified M M S E criterion. Chapter 6: Performance in a Two-Path Frequency-Selective Channel 96 C*H CD O u CD cfl c W c CS X I U « co S oo Vi I* S 37 H i X w co CU "o ed qui >-> o -«-» 00 oo • 0 1 y CD ' > & O , t i -ns T 3 a , < [ —i 03 C a o O \n 00 o o <u •S 'o1 *- J-1 o CO S C z a cu 'C > o •a oo cs <; T .2 o C+-( <D O u til Vi a w CS o Pilo ols -a CD qui >> o -4—t Vi s ""a cu 1 <l> » a. 73 •u Q . HH cs -a < cu Q c3 c C _o O 00 o o CD s o OH E Z •4—* CD ' c > o Alg a, C3 Alg T 3 <: >> J3 . 1 Q Figure 6.1: Proposed two path R A K E detector Chapter 6: Performance in a Two-Path Frequency-Selective Channel 97 The R A K E structure in the figure uses maximal ratio combining (MRC) to determine the weighting applied to the fingers before summing. M R C is implemented by multiplying the output of the filter, w .^, [w]i>i[w] by the complex conjugate of the channel coefficient estimate, ck*[m]. The real portion of this result is then combined (added) with the real portion of the max-imal ratio weighted result of the other path. As in the single path case, it is assumed that the bit and chip timing is known. It is easy to see that the two path R A K E detector can be extended to three or more paths simply by adding more instances of the original one path detector in parallel. 6.2 Channel Estimation via a Pilot Channel A pilot channel can be added as a completely separate spreading code (ideally orthogonal) to the desired user's signal prior to transmission, and then transmitting it over the channel. The timing and channel coefficients for this pilot channel will then be the same as for the desired user's signal. This also means that the pilot channel is subject to exactly (minus itself, of course) the same M A I as the data channel. However, unless the spreading codes used in the pilot and data channel are orthogonal, then the pilot channel actually adds extra interference (even when syn-chronous) to the data channel. This pilot channel method is used in the forward link of IS-95, using an orthogonal Walsh code for the pilot signal. It is also used in the downlink of W C D M A , using a different type of spreading and scrambling codes. It is unclear if this is the method used in [13], but it seems likely. Therefore, this method of pilot channel implementation is used for the simulation results pre-sented in this thesis. Chapter 6: Performance in a Two-Path Frequency-Selective Channel 98 6.3 BER Comparison to Previously Published Results The two path Proposed Detector was simulated in order to compare its performance against the Latva-aho Detector and the matched filter. A series of simulations were performed using the parameter values of the two path column in Table 3.2. These parameter values are identical to those used for Figure 2 in [13], with the exception of the receiver window length and the N L M S step size. The receiver window length in [13] is three symbols, whereas in these simulations it is one symbol. That is, the receiver in [13] decodes three symbols at the same time, and delays the output by one symbol. A longer receiver window length usually results in a lower BER, as it allows the receiver to use information from the 'past' and 'future' received symbol(s) in decoding the 'present' received symbol. A receiver window length of three symbols was not chosen for these simulations since it would be too complex to implement in the current receiver design, and it would require far more simulation time. The best step size was experimentally determined to be within the range of 0.05 to 0.2. That is, the BER did not change significantly with the step size within this range. Therefore, the step size was chosen to be 0.11, as used in previous chapters. In [13] a step size of 6.45 x 10"4 is used for all data points within Figure 2. Simulation results using a step size of 6.45 x 10"4 are also pre-sented later in this section. As in [13], it is assumed that the first and second paths have equal powers. The downlink synchronous simulation results are presented in Figure 6.2. The 95% confi-dence intervals for these simulations are approximately +/- 9% for 15 users and greater, and +/-13% for less than 15 users. The number of bits simulated is in the range of 2,500,000 and 12,000,000. There are several points to note about this figure. The first is that the matched filter simulated for this thesis has a much lower BER than the published results in [13]. The shape of Chapter 6: Performance in a Two-Path Frequency-Selective Channel 99 the plot from 1 to 30 users is also different for the MF. The published results rapidly increase the BER with the addition of the first 10 or so users. However, the simulated results in this thesis have a much lower rate of BER increase for the first 10 users. A possible explanation for this difference in MF results is given later in this section. 10" 10"' LU 10 CO 10 10 -5 -^7- Published Results: Latva-aho Matched Filter - A - Matched Filter - O - Published Results: Latva-aho Detector - © - Latva-aho Detector — P r o p o s e d Detector 10 15 Users 20 25 30 Figure 6.2: BER for downlink synchronous two path Rayleigh fading channel The second observation is that the published BER results for the Latva-aho Detector are slightly lower than our simulated results for a small number of users, but are higher for a large number of users. The reason for this discrepancy is yet to be determined. Another observation is that although there was a large difference in BER performance between the Latva-aho and Proposed Detectors in Figure 5.1, there is only a small difference Chapter 6: Performance in a Two-Path Frequency-Selective Channel 100 between these two detectors for the two path case. The two path case shows that the Proposed Detector is slightly better than the Latva-aho Detector for greater than 15 users, while the Latva-aho Detector is slightly better than the Proposed Detector for less than 15 users. This can be best explained by the fact that Figure 5.1 is for an uplink asynchronous channel, whereas Figure 6.2 is for a downlink synchronous channel. A second set of simulations was performed, using the same parameter values as for Figure 6.2, but for an uplink synchronous channel instead of a downlink synchronous channel. These results are presented in Figure 6.3. Between 3,000,000 and 10,000,000 bits were simulated, result-ing in a confidence interval of +1-5% for 20 users and more, and a confidence interval of +/-14% for less than 20 users.The "Published Results: Latva-aho Matched Filter" curve is the BER results 10" 10 -2 LU CO 10 -3 10"* i 1 1 i J ; i i i i i i i 1 \ i i ; ; + - - -j>y^- ~ 1 L J 7 7 ; 1 1 / 7 L f _ J _ / 1 1 y i j _ ' - f _ -/. , 1 ! : i / : 7 : : : : : ^ : : : : : : - V - Published Results: Latva-aho Matched Filter - ^ r - Matched Filter - e - Latva-aho Detector —sK- Proposed Detector I I I 10 15 Users 20 25 30 Figure 6.3: BER for uplink synchronous Rayleigh two path fading channel Chapter 6: Performance in a Two-Path Frequency-Selective Channel 101 from [13] for the downlink synchronous channel. It can be seen this curve is very close to that for our simulated uplink synchronous matched filter curve. A plausible explanation is that the authors of [13] mistakenly presented these matched filter results as downlink synchronous, when they are in fact uplink synchronous. From these results, it can be concluded that the Proposed Detector performance is better than the Latva-aho Detector in the uplink channel for both the one and two path Rayleigh fading channels. Finally, a set of simulations was performed with identical parameter values to Figure 6.2, except the step size was chosen to be the same as that of [13]. That is, an N L M S step size of 6.45 x 10"4 was used. These results are presented in Figure 6.4. Between 3,000,000 and 8,000,000 bits or LU m 10"' - O - Published Results: Latva-aho Detector - © - Latva-aho Detector — * — Proposed Detector 10 15 Users 20 25 30 Figure 6.4: BER for downlink synchronous Rayleigh two path fading channel (using the Latva-aho Detector's published step size) Chapter6: Performance in a Two-Path Frequency-Selective Channel 102 were simulated, resulting in a confidence interval of +/- 7.5% for 20 or more users, and +/-15% for less than 20 users. The figure shows a small increase in BER for both the Proposed Detector and the Latva-aho Detector, as compared to Figure 6.2. 6.4 Single Path Detector Performance in a Multipath Rayleigh Fading Chan-nel It is useful to examine the BER of a single path detector in the synchronous downlink envi-ronment of Section 6.3. This will show the BER improvement gained by using an extra R A K E finger. It is also interesting to examine the BER of a single path detector in a one path version of the synchronous downlink environment of Section 6.3 to illustrate the effect of interference gen-erated by the second path. 6.4.1 Single Path Detector Performance in a Two Path Rayleigh Fading Chan-nel The BER performance for a single path detector in a two path synchronous downlink Ray-leigh Fading Channel is shown in Figure 6.5. Parameter values are those in column 2 of Table 3.2. Between 1,700,000 and 5,000,000 bits were simulated, resulting in a confidence interval of +/-5%. A comparison of Figure 6.2 and Figure 6.5 shows that there is a big increase in BER when one of two R A K E fingers is removed. This is especially evident for the Proposed Detector with a small number of users. It is evident that if two multipath are present, it is beneficial to decode both paths. Chapter 6: Performance in a Two-Path Frequency-Selective Channel 103 10" LU 10 CD 10"' I I I I I L J 1 ' " ~ ^ ^ ^ ^ ^ ^ ! 1 ^ L T ~ 1 1 1 1 1 1 1 1 1 y 1 J i 1 i i ! T 1 - A - Matched Filter 1 — * — Proposed Detector [ i i 10 15 Users 20 25 30 Figure 6.5: BER for a single path detector in a two path synchronous downlink channel 6.4.2 Single Path Detector Performance in a One Path Rayleigh Fading Chan-nel The BER performance for a single path detector on a one path Rayleigh fading channel is now examined. This is the only difference between this section and Section 6.4.1. It allows the reader to see the effects of adding a second multipath to a single path channel, in the case of a syn-chronous downlink. The results are shown in Figure 6.6. Between 1,400,000 and 6,000,000 bits were simulated, resulting in a confidence interval of +/- 5%. Recall that as described in Section 3.1, a synchronous Chapter 6: Performance in a Two-Path Frequency-Selective Channel 104 downlink with two paths has the first path bit and chip-synchronous for all users. The second path timing is uniformly distributed from the first path, and all users have independent second path timing. With a single path synchronous downlink, the Gold codes with their low cross-correlation generate little M A I so that the BER is relatively constant as the number of users changes. The addition of the second asynchronous multipath, adds considerable interference as can be seen by comparing Figures 6.2, 6.5, and 6.6. 10" UJ 10 CD 10"' 1 1 1 -_L J L 1 L -1 —| 1 A , \ i k I . & = = Cs ft %. * h c \ T 1 1 1 - A - Matched Filter — * - Proposed Detector i i 10 15 Users 20 25 30 Figure 6.6: BER for a single path detector in a one path synchronous downlink channel Chapter 7: Conclusions In this chapter, the main contributions of the thesis are summarized, along with some sug-gestions for further work. 7.1 Contributions of this Thesis The main contribution of this thesis is a proposed explicit orthogonalization procedure to reduce fixed-point quantization errors in a previously published detector. It is shown in this thesis that these quantization errors accumulate and cause filter tap weights to become non-orthogonal in the adaptive modified M M S E detector. An explicit orthogonalization procedure is proposed to reduce the effects of this problem. Through the use of fixed-point simulations, it is shown that the signal to interference plus noise ratio (SINR) decreases when the explicit orthogonal projection is not used. With the explicit orthogonalization procedure applied at each iteration of the algorithm, the SINR is maintained at higher levels, and a significant BER improvement can be obtained. A minor contribution of this thesis is the correction of an error in an equation of a paper describing the Kim Detector [16]. The authors mistakenly use a Hermitian operator instead of a transpose operator. The use of the transpose operator is proven to be correct through derivation of the equation. It is demonstrated through simulations that the use of the transpose operator improves the B E R of the detector. Another minor contribution is the application of the normalized L M S (NLMS) algorithm in place of the L M S algorithm for the Kim Detector. The N L M S algorithm allows the system designer to keep the algorithm step size fixed as the number of users in the channel changes, and 105 Chapter 7: Conclusions 106 still achieve a near-minimum BER. Through the use of simulations, the BER of the N L M S algo-rithm is shown to be generally lower than the L M S algorithm that uses a single step size. Finally, the Proposed Detector is extended to a multipath fading channel, by implementing it in a "precombining" R A K E receiver structure. The performance of the two path version of this Proposed Detector is compared to the R A K E matched filter and other previously published results [13]. 7.2 Suggestions for Further Work The "one-shot" approach to signal detection, where only the received signal in the interval of the decoded bit affects the decision, is known to be sub-optimal [2]. It would be useful to examine the performance improvements in the Proposed Detector when detecting a larger win-dow of bits simultaneously. Methods of adapting the filter tap weights other than the L M S algorithm may lead to faster adaptation to changing channel conditions, which could result in a better BER performance. It would be useful to investigate how algorithms such as the recursive least-squares (RLS) could improve the Proposed Detector [25]. Analytical expressions for the BER performance of the Kim Detector and the Proposed Detector are not currently available. Such expressions would obviate the need for time-consuming computer simulations. Furthermore, the signature waveforms assumed in this thesis are Gold codes, which serve as a useful starting point for detector design and evaluation. However, to examine the performance of these detectors in a real system, it would be worthwhile to implement them with more realistic spreading and scrambling sequences, such as those used in W C D M A or cdma2000. Note that the Chapter 7: Conclusions longer lengths and complexity of these realistic sequences would dramatically increase the lation time. Glossary Acronyms A W G N additive white gaussian noise BER bit error rate BPSK binary phase-shift-keying BW bandwidth C D M A code division multiple access CI confidence interval D S - C D M A direct spread code division multiple access FIR finite impulse response G S M Global System for Mobile Communications IC interference cancellation IPI inter-path interference IS-95 Interim Standard 95 ISI intersymbol interference kcps kilochips per second (1 x 103 chips per second) LMS least mean square M A I multiple access interference Mcps megachips per second (1 x 106 chips per second) MF matched filter L M M S E linear minimum mean-squared error M M S E minimum mean-squared error M O E minimum output energy M S E mean-squared error M U D multiuser detection N L M S normalized least mean square PN pseudo-noise PSD power spectral density 108 Glossary rms root-mean-square 3GPP 3G Generation Partnership Project 3GPP2 3G Generation Partnership Project - 2 TIA/EIA Telecommunications Industry Association/Electronic Industries Alliance SIR signal to interference ratio SINR signal to interference plus noise ratio SNR signal to noise ratio W C D M A wideband code division multiple access List of Mathematical Symbols and Notation Symbol / Notation Definition r...i ceiling function. Represents the value obtained by rounding upwards to the next integer larger than the function input, e.g. If* is already an integer, then [x~\ = x. floor function. Represents the value obtained by rounding downwards to the next integer smaller than the function input, e.g. L*J If x is already an integer, then |_*J = x. [...] element indexing is represented by brackets (square), e.g. b[m] {...} set grouping is represented by braces (curly), e.g. {-1,+1} (...) time indexing is represented by parenthesis (round), e.g. r{t) <...,...> inner product. Represented by angle brackets, e.g. Pij = (st, SJ) = ^Si(t)sj(t)dt N or (a, b) = a • b= ^ aibi, where a and b are real and length / / = 1 II.-ii norm. Represented by two vertical lines per side. i.e. IHI - 4a* a = J Z a ? -i...i absolute value. Represented by one vertical line per side. estimate of a value, e.g. bk is the estimate of bk . - mean of a value, e.g. yR is the mean SNR in Rayleigh fading. median of a value, e.g. SINR is the median SINR * complex conjugate, e.g. x* H Hermitian. Combination of a transpose and complex conjugate, e.g. T transpose of a vector or matrix, e.g. r Im(...) imaginary part of a complex number e.g. Im(x) 110 List of Mathematical Symbols and Notation 111 Re{...) real part of a complex number, e.g. Re{x) italicized non-bold font continuous time signals are in an italicized non-bold font. They may be differentiated from scalars by their time index, e.g. x(t) italicized non-bold font scalars are represented by an italicized non-bold font. e.g. r non-italicized bold font vectors are represented by a non-italicized bold font. They are column vectors by default, e.g. r non-italicized bold uppercase font matrices are in non-italicized bold uppercase font. Dimensions are number of rows x number of columns (R x Q in the matrix.e.g. A ak[m] channel coefficient amplitude of kth user, wth bit A amplitude matrix for all users Ak amplitude of user k B frequency bandwidth under consideration bit m of user k bkP bit for the pilot symbol or pilot channel ck channel coefficient for user k. c^m] = ak[m]eJ^k^m^ Eb energy per bit ek error signal 6 small positive constant to help prevent the N L M S algorithm from becoming unstable Tl step size of the N L M S adaptive algorithm 1R signal to noise ratio in Rayleigh fading h moving average filter tap weight k user index number K number of users in the system L number of multipath for each user M (2M+1) is the number of bits transmitted by each user step size of the L M S adaptive algorithm N0 2 see a List of Mathematical Symbols and Notation 112 NP number of pilot symbols used in a moving average channel estimator NzjL> NzjR, NzqL, NzqR the term NZJ-L is defined to represent the number of chip intervals of °k [m] f ° r which Sjfri is zero. The other terms, NzjR, NzqL, NzqR, have analogous definitions. n zero-mean Gaussian random vector, with each element representing the A W G N at the output, nk, of a bank of matched filters. nk A W G N at the output of a matched filter for user k. Sometimes known as correlated noise. P pilot symbol insertion period Pe probability of error (BER) PG processing gain tyR[m] phase reference for the receiver, which the receiver may or may not (depends on receiver implementation) adjust to track channel phase y « ] channel coefficient phase of Ath user, mth bit v|/[w] a measure of the loss of orthogonality Q(x) complementary cumulative distribution function for a Gaussian random variable. Q(X) = 4 = f e 2 d t P cross-correlation PijPji two versions of the asynchronous cross-correlation between users i and j 2 o 2 N0 variance of additive white Gaussian noise. In this work, a = — r(t) received continuous time signal at time t rk received discrete time signal at the output of a matched filter for user k r vector of rk, for all k. This is the equivalent discrete time representation ofKO-*k received discrete time signal vector, r, time-aligned to the chip and bit timing of user k projection of on x^ . List of Mathematical Symbols and Notation 113 R normalized cross-correlation matrix sk signature waveform of the user k sk signature vector of user k SjkL a new chip sequence for the overlap of user j, bit [m] in the bit [m] time of user k. skqL a new chip sequence for the overlap of user q, bit [w-1] in the bit [m] time of user k. sjkR a new chip sequence for the overlap of user j, bit [m+\] in the bit [m] time of user k. skqR a new chip sequence for the overlap of user q, bit [m] in the bit [m] time of user k. TJ time offset of user j with respect to some time reference. Usually the desired user is given the arbitrary time reference of = 0. Tc chip period w * tap weight vector *k adaptive portion of the tap weight vector Bibliography [1] TIA/EIA IS-95B, "Mobile station-base station compatibility standard for wideband spread spectrum cellular systems," Telecommunications Industry Association / Electronics Indus-tries Alliance: TR-45.5 Committee, Feb. 1 1999. [2] S. Verdu, Multiuser Detection. Cambridge, U K : Cambridge University Press, 1998. [3] A . Toskala, "Physical layer," in WCDMA for UMTS, Ch.6, H . Holma and A . Toskala, Eds. Chichester, England: John Wiley & Sons, Ltd., 2001, pp. 69-116. [4] J. G. Proakis, Digital Communications. New York: McGraw Hi l l , 3rd ed., 1995. [5] S. Haykin, Adaptive Filter Theory. Upper Saddle River, NJ: Prentice Hall, 3rd ed., 1996. [6] A . J. Viterbi, CDMA: Principles of Spread Spectrum Communications. Reading, M A : Add-ison-Wesley, 1995. [7] S. Verdu, "Minimum probability of error for asynchronous gaussian multiple access chan-nels," IEEE Transactions on Information Theory, vol. 32, no. 1, pp. 85-96, January 1986. [8] D. Koulakiotis and A. Aghvami, "Data detection techniques for D S / C D M A mobile sys-tems: A review," IEEE Personal Communications, vol. 7, no. 3, pp. 24-34, June 2000. [9] E. Strom, S. Parkvall, S. Miller, and B. Ottersten, "Propagation delay estimation in asyn-chronous direct-sequence code-division multiple access systems," IEEE Transactions on Communications, vol. 44, pp. 84-93, January 1996. 114 Bibliography 115 [10] M . L. Honig, U . Madhow, and S. Verdu, "Blind adaptive interference for near-far resistant C D M A , " in Proceedings of IEEE Global Telecommunications Conference, San Francisco, CA, pp. 379-384, 1994. [11] U . Madhow and M . L. Honig, " M M S E interference suppression for direct-sequence spread-spectrum C D M A , " IEEE Transactions on Communications, vol.42, pp. 3178-3188, December 1994. [12] M . L. Honig and H . V. Poor, "Adaptive interference suppression," in Wireless Communica-tions: Signal Processing Perspectives, H . V. Poor and G. W. Wornell, Eds. Upper Saddle River, NJ: Prentice Hall, 1998, pp. 64-128. [13] M . Latva-aho and M . Juntti, " L M M S E detection for D S - C D M A systems in fading chan-nels," IEEE Transactions on Communications, vol. 48, pp. 194-199, February 2000. [14] M . L . Honig, U . Madhow, and S. Verdu, "Blind adaptive multiuser detection," IEEE Trans-actions on Information Theory, vol. 41, pp. 944-960, July 1995. [15] A. N . Barbosa and S. L. Miller, "Adaptive detection of D S / C D M A signals in fading chan-nels," IEEE Transactions on Communications, vol. 46, pp. 115-124, January 1998. [16] S. R. Kim, Y. G. Jeong, and I.-K. Choi, " A constrained M M S E receiver for DS/CDMA sys-tems in fading channels," IEEE Transactions on Communications, vol. 48, pp. 1793-1796, November 2000. [17] H . Anton and C. Rorres, Elementary Linear Algebra. New York: John Wiley & Sons, Inc., 1991. Bibliography 116 [18] R. H. Clarke, " A statistical theory of mobile-radio reception," Bell System Technical Jour-nal, vol. 47, pp. 957-1000, July-August 1968. [19] M . Valenti. (2000, March). Matlab® code. A Rayleigh fading simulator based on Clarke's model. [Online]. Available: http://www.ee.vt.edu/valenti/toolbox.html. [20] D. V. Sarwate and M . B. Pursley, "Crosscorrelation properties of pseudorandom and related sequences," Proceedings of the IEEE, vol. 68, pp. 593-619, May 1980. [21] Texas Instruments, DSP Selection Guide. Houston, T X : Earth Color, May 2002. [22] C. Moler. (1996). Floating points: Technical Report-Fall. The Mathworks Inc. [Online]. Available: http://www.mathworks.com/company/newsletter/pdf/Fall96Cleve.pdf. [23] M . B. Pursley, "Performance evaluation for phase-coded spread-spectrum multiple access communication-Part I: System analysis," IEEE Transactions on Communications, vol. 25, pp. 795-799, August 1977. [24] S. R. Kim, Y. G. Jeong, I.-K. Choi, and S. Lee, "An adaptive pilot symbol-aided M M S E receiver in fading channels," in Proceedings of IEEE International Conference on Commu-nications, Vancouver, Canada, June 1999. [25] H . V. Poor and X . Wang, "Code-aided interference suppression for D S / C D M A communi-cations-Part II: Parallel blind adaptive implementations," IEEE Transactions on Communi-cations, vol. 45, pp. 1112-1122, September 1997. Appendix A: Derivation of Discrete-Time Received CDMA Signal The derivation for the discrete-time version of the continuous-time waveform at the input to the matched filter of a C D M A system is described in this appendix. It is generalized for a AT-user asynchronous system using Rayleigh flat fading and A W G N . It can be easily extended to fre-quency-selective fading i f necessary. The background information and symbol definitions can be found in Chapter 2. An example C D M A system with three users and PG = 4 is shown in Figure A . 1. User k is the desired user, that is, the user that is to be detected. For this thesis, only a single bit interval will be detected at a time. Therefore, the desired user's bit is bk [m], as illustrated in Figure A . l . It is necessary to calculate the received signal only within this bit interval. As described in Chapter 2, the received signal is the output of a integration (sample and hold) circuit that captures all the received signals, from all users, including channel fading, and noise, within the desired user's chip time of interest. Basically, it must calculate the area within that chip time, which equals signal amplitude multiplied by time. This must be done in a continu-ous fashion from the beginning of the chip time to the end of that chip time, with no gaps. The received signal from the desired user is Akbk [m]skak[m~\cos{§R[m] - ^[m]). For the interfering signals, the K-\ actual interferers can be thought of as 2{K-\) 'pseudo-interfer-ers'. Each pseudo-interferer's signal consists of the same components as in the desired user's sig-nal: an amplitude, a bit value, a signature, a channel coefficient amplitude, and a channel coefficient phase. For example, it is easy to show that the first pseudo-interferer would have the 117 Appendix A: Derivation of Discrete Received CDMA Signal Hi received signal Ajbj[m]sjkLaj[m]cos(§R[m] -<J>y[m]). This pseudo-interferer would only trans-mit during the time in which bj[m] is active and only after bk [m] has started. When bj[m + 1 ] becomes available, another pseudo-interferer would transmit. bj[m-\] i t. 1 h bk[m-\] chip 1 through chip 4 reference H h bq[m-l]\ chip marker j\ H h bjim] 3jkL SjkR H 1 h bk[m] H h bq[m] H h bj[m+l] H h bJm+l] H 1 h bq[m+l] need to compute the Rx signal in this interval Figure A . l : Received signals for an example C D M A system with three users So, this first pseudo-interferer has a designated signature, S y ^ , that represents a new "chip sequence" for the overlap of user j, bit [m] in the bit [m] time of user k. It will usually have values Appendix A: Derivation of Discrete Received CDMA Signal 119 outside the set I——, —!— L (which would be the normal set of chip values for a signature) I JPG JPG) because they use portions of each chip. One can visualize the reason for the nomenclature, s^ ,jk refers to the two users whose timing is under consideration, and L refers to the left side of the boundary between bj[m] and bj[m + 1]. To aid in calculating the value of sjkL, the term NZJ-L is defined to represent the number of chip intervals of bk [m] for which s^ is zero. That is, sjki has no influence on NZJ-L of the chips of bk [m]. Using the example timing alignment of Figure A . l , NzjL = 0. By a closer examina-tion of the possible chip offsets, this can be mathematically expressed as NZJL = By careful inspection, the 'chip value' of the pseudo-interferer during chip #1 of the desired user, contributed by the left side of the 'chip marker j l ' is SJ[NZJL + 1 ](1 - (X/I ~ XJ - ^zjij] • The chip value of the pseudo-interferer during chip # 1 of the desired user, contributed by the right side of the chip marker jl is Sj[NZjL + 2] • — ^ - NZjj \ . Continuing this for each of the chips of the desired user allows the derivation of (2.17). It is easy to see that if the chips of user j and user k are aligned, the value of the first "chip" of this pseudo-interferer corresponding to s^ can be expressed as Sj[NzjL + 1]. Likewise, con-tinuing through for all chips allows the derivation of (2.18). The remainder of equations (2.13)-(2.25) can be solved in a similar fashion. 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0065309/manifest

Comment

Related Items