Sie sind auf Seite 1von 73

Interference Rejection Combining System Performance

Mats Dahlqvist

Master of Science Thesis


IR-SB-EX-0020
May 27, 2000

Signal Processing Department of Signals, Sensors and Systems Royal Institute of technology Stockholm, Sweden

Ericsson Radio Systems AB LRF/BT Signal Processing Kista, Sweden

Abstract
For cellular communication systems in urban areas, co-channel interference is becoming a capacity limitation. Interference Rejection Combining (IRC) is a technique used in an antenna diversity system to suppress co-channel interference by using the cross covariance between the noise in diversity channels. The purpose of this thesis was to make an implementation of the IRC algorithm for a xed point Digital Signal Processor (DSP) for GSM (Global System for Mobile communication), and to evaluate the performance. First an implementation was made in a C/C++ simulator. This implementation was used as a reference for the DSP implementation, and also for evaluating the performance of the DSP implementation. The DSP implementation was carried out in an existing prototype platform to be able to evaluate the performance in a real network. The DSP implementation in this thesis shows a performance gain of 6 dB compared with MRC for a tu50 channel in an interference limited cell. Previous studies of the IRC algorithm shows that the performance gain is between 2{8 dB for such systems. For a ra250 channel the gain is 10 dB. The drawback is that the performance for IRC is 0:5 dB worse compared with MRC in a noise limited system. Performance evaluation has also shown that the use of joint synchronization position is essential when using IRC.

ii

Acknowledgments
I would like to thank my supervisors at Ericsson Radio Systems AB. First of all I would like to thank my overall supervisor Ulf Hill. His support and guidance greatly improved the result of this thesis. I am also very thankful to my DSP supervisor Simon Gaude. His patience and great knowledge concerning implementation aspects has been most invaluable. Finally I would like to thank Anders Kenneman for acting as eld trial coordinator, and for his support and encouragement. I would also like to thank George Jongren at the department of Signals, Sensors and Systems who has been my supervisor at the Royal Institute of Technology.

iii

iv

Contents
1 Introduction
1.1 1.2 1.3 1.4 1.5 1.6 Background . . Previous Work Purpose . . . . Outline . . . . Abbreviations . Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 4 4 5 5 6

2 A short overview of GSM

2.1 A wireless digital communication system . . . . . . . . . . . 2.2 Concept of a cellular system . . . . . . . . . . . . . . . . . . 2.2.1 Interference and Sensitivity limited Cellular Systems 2.3 Time Division Multiple Access . . . . . . . . . . . . . . . . 2.3.1 The burst format . . . . . . . . . . . . . . . . . . . . 2.3.2 Training Sequence . . . . . . . . . . . . . . . . . . . 3.1 Channel Model . . . . . . . . . . 3.1.1 Flat Fading . . . . . . . . 3.1.2 Inter-symbol Interference 3.1.3 Thermal Noise . . . . . . 3.2 Equalization . . . . . . . . . . . . 3.3 Diversity Techniques . . . . . . . 3.3.1 Combining Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 7 . 8 . 9 . 10 . 10 . 10 . . . . . . .

3 The Channel and the Equalizer

13

13 13 14 15 15 16 16

4 System and Data Model

4.1 System model . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2 Block description of the system . . . . . . . . . . . . . . . . . 21 4.3 Properties of the received signal . . . . . . . . . . . . . . . . . 22 5.1 Interference Rejection Combining . . . . . . . . . . . . . . . . 25 5.2 Using the Viterbi algorithm . . . . . . . . . . . . . . . . . . . 26 5.3 Synchronization of the received burst . . . . . . . . . . . . . . 27 v

19

5 Interference Rejection Combining

25

5.4 Channel estimation . . . . . . . . . . . . . . . . . . . 5.5 Joint synchronization position . . . . . . . . . . . . . 5.6 Covariance estimation . . . . . . . . . . . . . . . . . 5.6.1 Non-Synchronized Interferers . . . . . . . . . 5.6.2 Tracking algorithm . . . . . . . . . . . . . . . 5.6.3 Calculating an initial covariance estimate . . 5.6.4 Calculating the local covariance . . . . . . . . 5.6.5 Reversed time tracking for the left burst half 5.7 Di erences between IRC and MRC . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . .

28 29 29 30 30 31 31 32 32

6 Implementation

6.1 New features to be implemented . . . . . . . . . . . . . . . 6.1.1 Calculation of the initial covariance estimate . . . . 6.1.2 Updating the covariance matrix . . . . . . . . . . . . 6.1.3 Calculation of the delta metric . . . . . . . . . . . . 6.2 Output from the equalizer . . . . . . . . . . . . . . . . . . . 6.3 Di erences between oating and xed point implementation 6.3.1 Automatic Frequency Control . . . . . . . . . . . . . 6.3.2 Impulse Response Combining . . . . . . . . . . . . . 6.3.3 Impairment calculating . . . . . . . . . . . . . . . . 6.3.4 Metric scaling . . . . . . . . . . . . . . . . . . . . . . 6.4 Program ow . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Linear assembly with Texas C60 7.2 Hardware Limitations . . . . . . 7.3 Veri cation . . . . . . . . . . . . 7.3.1 Function tests . . . . . . . 7.3.2 Performance tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35
35 36 36 37 38 38 38 39 39 39 39 43 44 44 45 45 48 48 48 49 49 51 55 56 58

7 The Hardware Platform

43

8 Performance Evaluation

8.1 Simulation aspects . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Channel models . . . . . . . . . . . . . . . . . . . . . . 8.1.2 Parameter settings . . . . . . . . . . . . . . . . . . . . 8.2 Comparison between MRC and IRC . . . . . . . . . . . . . . 8.2.1 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2 Interference . . . . . . . . . . . . . . . . . . . . . . . . 8.2.3 Performance with joint burst synchronization position 8.3 Comparison with oating point implementation . . . . . . . . 8.4 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

9 Conclusions and Further Work


vi

9.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 9.2 Suggestions for further work . . . . . . . . . . . . . . . . . . . 60

59

A ML channel estimate B Derivation of the delta metric Bibliography

61 63 65

Chapter 1

Introduction
1.1 Background
GSM is today the most common system for mobile communications. With more than 140 million subscribers all over the world, and several million added each month,1 the system must constantly be growing to be able to serve all subscribers. Especially in urban areas the density of subscribers is so large that the limited capacity is a problem. The consequence is that mobile stations interfere with each other. GSM o ers several solutions to remedy this capacity problem. The use of several frequency bands, such as 900 MHz and 1800 MHz, is one way. Frequency hopping is another option supplied by GSM, in which the frequency is switched between users in order to average out the interference on several users. Another way of handling the capacity problem is to allow interference from di erent mobile stations, and to improve the receivers ability to reject the interfering signal. One way of interference rejection, is to use the crosscovariance between the noise in diversity channels in the equalizer. So called Interference Rejection Combining (IRC). To be able to use the IRC method, the receiver must use some antenna diversity technique. The GSM mobile stations don't have this antenna diversity, and therefore this technique can't be used in the mobile station receiver. Base stations on the other hand, usually have two antennas, and hence IRC can be used in the base station receiver.
1 December 1999

1.2 Previous Work


Several studies of the Interference Rejection Combining (IRC) method have been done. In Kar98] the performance of a multi-dimensional Maximum Likelihood Sequence Estimator equalizer, used for interference suppression, is studied. Di erent antenna con gurations are investigated where IRC and MRC (Maximum Ratio Combining), are used as receiver algorithms. In Hei96] polarization and space diversity methods are studied for use in GSM. Similar studies for EDGE (Enhanced Data rates for Global Evolution), have been done in Bla98]. In both cases comparison is made between using IRC and MRC as receiver algorithms. This thesis is based on the Master of Science Thesis written by Thomas Lindqvist Lin97] at Ericsson Radio Systems AB. Lindqvist has studied an IRC algorithm for GSM. He has also shown that a oating point implementation of the IRC-algorithm improves the performance of the equalizer compared to Maximum Ratio Combining.

1.3 Purpose
The purpose of this thesis is to make an implementation of the Interference Rejection Combining algorithm for a xed point digital signal processor (DSP). The DSP implementation shall run on a prototype platform, so that it can be tested in a real network. The implementation shall be based on the Master of Science Thesis written by Thomas Lindqvist, at Ericsson Radio Systems AB Lin97]. The performance of the implementation shall be investigated. Comparison between the performance of the oating point implementation and xed point implementation will be made. Comparison will also be made between simulated results and the performance in a live network. A reference implementation shall be made in a C/C++ simulator. The reference implementation shall be used when evaluating the performance of the algorithm and also to verify the DSP-implementation. 4

1.4 Outline
The rst chapters, chapter two and three, give an overview of GSM and the equalizer. This serves as a background for the problem. The Interference Rejection Combining (IRC) algorithm is described in the following chapters. The mathematical description in chapter four serves as a base for the derivation of the IRC algorithm in chapter ve. Chapter six and seven deal with implementation aspects. This serves as a documentation of the chosen implementation. Di erences between the oating point and xed point implementation are described. In section seven the hardware platform is described. The performance evaluations of the xed point implementation can be found in chapter eight. Finally the conclusions and some suggestions for further work are presented in chapter nine. Derivations are placed in appendices.

1.5 Abbreviations
acf AFC AWGN BER C/I CMA DSP FER FIR GMSK GSM ISI IRC MAP ML MLSE MRC pdf SNR TDMA autocorrelation function Automatic Frequency Control Additive White Gaussian Noise Bit Error Rate Carrier-to-Interference ratio Common Memory Area Digital Signal Processor Frame Erasure Rate Finite Impulse Response Gaussian Minimum Shift Keying Global System for Mobil communication Inter Symbol Interference Interference Rejection Combining Maximum a posteriori probability Maximum Likelihood Maximum Likelihood Sequence Estimator Maximum Ratio Combining probability density function Signal-to-Noise Ratio Time Division Multiple Access 5

1.6 Notation
x(n) y(n) the convolution of x(n) and y(n) a scalar

a A
a

jAj I kak aT aH Efag Rfag Ifag


(n)

vector matrix the complex conjugate of a the determinant of matrix A the identity matrixq P a2 the norm of a, i.e. i i the transpose of a the Hermitian transpose, i.e. complex conjugate transpose of a the expectation value of a the real part of a the imaginary part of a the Dirac function, (n) =

1 if n = 0 0 otherwise

Chapter 2

A short overview of GSM


This chapter will brie y describe the principle of a wireless digital communication system in general, and GSM in particular. More information about wireless communication systems can be found in PS94, AZ97]. This description will focus on the parts of GSM that a ects Interference Rejection Combining.

2.1 A wireless digital communication system


A communication system like GSM, is designed to transfer information, such as speech or data from one user to another. GSM is a digital wireless communications system, where the information is transmitted by radio waves. Figure 2.1 shows how the information propagates from sender to receiver.
Source encoding Channel encoding Interleaving Burst formatting Modulation Channel Source decoding Channel decoding De-interleaving Comb. Equalizing Channel est. Demodulation Sync.

Figure 2.1:

The main blocks of a wireless digital communication system.

Source encoding. In a digital communication systems, the data is usually

source encoded. The source encoding results in shorter messages and data with little redundancy. Channel encoding. Ideally one want to transmit as short information sequences as possible. However, the channel encoder introduce redundancy in a controlled manner which is used by the receiver to detect and correct errors caused by the channel. Interleaving. Errors tend to occur in bursts. This is because a fading dip will a ect several consecutive symbols. Channel coding is most e ective detecting and correcting single errors. The interleaver change the order of the bits so that consecutive bits are sent in a non-consecutive way. Burst formatting. The information sequence is stored and sent in bursts. The burst format is described in section 2.3.1. Modulation. The modulator maps the information sequence into signal waveforms which are sent over the air to the receiver. In GSM, GMSK (Gaussian Minimum Shift Keying) is used as modulation scheme. Channel. The channel is the connection between the transmitter and the receiver. The characteristics of the channel is described in section 3.1. Demodulation. The received signal, i.e. the electro-magnetic waves are mapped back to a binary information sequence. Equalizing. The equalizer is described in chapter 3. De-interleaving is used to reestablish the correct order of the bits. Channel decoding. The channel has most probably introduced errors during the transmission. The channel decoder uses the redundancy introduced by the channel encoder to detect and correct errors. Source decoding. Using the knowledge of the source encoding scheme, the source decoder reconstructs the original message.

2.2 Concept of a cellular system


The transmitted radio waves are limited in range. Several transceivers are therefore needed to cover a larger area. The area is divided into smaller cells, and a base station serves all subscribers in the cell. The same geographical area may be covered by several cells in order to get better performance in the network. 8

Each base station has a set of frequencies to use for communication. All cells next to each other have an unique set of frequencies in order to not interfere with each other. Since the number of frequencies are limited, the frequency set must be reused in other cells. See gure 2.2. Larger distance will give less interference, and the cells is therefore kept as big as possible. On the other hand, when the cells becomes larger, the number of subscribers to be served also becomes larger.

A schematic gure of a cellular system, where each cell has an unique set of carrier frequencies. All cells where a transceiver is plotted use the same set of frequencies. The two mobile stations may interfere with each other since they are using the same frequency.
Figure 2.2:

2.2.1 Interference and Sensitivity limited Cellular Systems


When analyzing cellular systems, two major interference situations are often separately treated, interference- and sensitivity limited systems.

Interference Limited Systems


An interference limited system is a system where the capacity is limited because of interference between several mobile stations. This situation appears in urban areas with small cells and many simultaneous calls within the same geographical area. There exists two di erent types of interference between mobile stations. 9

Adjacent channel interference appears when two mobile stations using two di erent frequencies interfere each other. Co channel interference is illustrated in gure 2.2. The interfering mobile station is located in a neighboring cell, using the same carrier frequency. As a measure of the interference level the C=I , carrier to interferer ratio is used.

Sensitivity Limited Systems


Sensitivity limited systems occur in large cells in rural areas where the number of simultaneous calls is small. The quality of the signal depends on the noise level. The signal to noise ratio, SNR, is a measure of the relation E between the bit energy and the spectral density of the noise. SNR = Nb . 0 Sensitivity limited systems are also called noise limited systems.

2.3 Time Division Multiple Access


In GSM every frequency carrier is divided into eight time-slots, during which only one mobile station is active transmitting or receiving. This principle is called Time Division Multiple Access (TDMA). Each time-slot has a length of 0.577 ms, and together the eight time-slots form a frame. See gure 2.3.

2.3.1 The burst format


The information to be sent during one time-slot is packed into one burst. There exists di erent kinds of bursts, such as normal bursts, access bursts, frequency bursts and synchronization bursts. The most common type of burst is the normal burst, which is used to transmit normal data, such as speech. A normal burst consists of 116 data symbols split into two groups, each of 58 symbols. Between these two groups of data symbols, a training sequence is sent as seen in gure 2.3.

2.3.2 Training Sequence


There exists eight di erent training sequences in GSM. Both the mobile station and the base station know which training sequence is used in the 10

4:615 ms 1 2 3 4 5 6 7 8

3 Tail Guard Time

58 Left Data

26 Training Sequence 0:577 ms

58 Right Data

3 Tail Guard Time

Eight time-slots of 0.577 ms each, forms a TDMA-frame. A normal burst consists of two groups of data symbols, placed on each side of the training sequence. At the beginning and end of the burst, three tail symbols are sent in order to get a known start and end point. The burst is surrounded by a guard period with a length equal to 8 or 9 symbols.
Figure 2.3:

burst. So during a period of the burst, the receiver knows which symbols that were sent. This knowledge is used to nd the start position of the burst, and also to estimate the channel impulse response. See section 5.3 and 5.4. The training sequence is placed in the middle of the burst because when estimating the time-varying channel, one wants to get an estimate that is as good as possible both at the beginning and at the end of the burst. The length of the training sequence is 26 symbols, and since the training sequence is used for synchronization of the received burst, one wants the sequence to have good autocorrelation properties. Ideally the autocorrelation function acf(k) PM95] of the training sequence should be equal to the Dirac-function, also expressed as acf(k) = (k) =

1 if k = 0 0 otherwise

11

12

Chapter 3

The Channel and the Equalizer


3.1 Channel Model
The channel is the communication medium between the transmitter and the receiver. In the ideal case, the signal from the transmitter should be picked up undistorted at the receiver. The signal is however a ected by several mechanisms such as fading, inter symbol interference and thermal noise. The channel is time varying but is considered to be stationary during one burst of 0.577 ms. See section 3.1.1.

3.1.1 Flat Fading


The mobile stations are most often used in an environment where there is obstacles between the transmitter and the receiver. These obstacles, such as hills or buildings, will give rise to a shadowing e ect. This results in a decrease in the signal strength which will vary when the mobile station is moving. This is called log-normal fading AB95]. When mobile stations are used in urban areas, it will su er from another type of fading called Rayleigh fading. This sort of fading occurs when the signal is not received directly from the transmitter, but from many di erent locations where it has bounced. The received signal is the sum of several identical signals, which di ers in phase. The sum may turn up to be close to zero, resulting in a fading dip. 13

According to AB95] the distance between two fading dips, due to Rayleigh fading, is about half a wavelength. If the 900 MHz band is used, the wavelength is approximately 0.33 m. So for a mobile station moving with a speed of 50 km/h, the time between two fading dips will be

v
2v

14 m/s 0:33 m 0:012 s

The cannel is therefore considered to be constant during one burst.

3.1.2 Inter-symbol Interference


Another problem besides fading is the time dispersion. This is because of re ections from objects far away1 . If the signal is re ected by an object far away, the re ection will cause interference between consecutive symbols (see gure 3.1). This is called Inter Symbol Interference (ISI).

ai ai;1
Mobile station Base station

Re ecting object
Inter Symbol Interference caused by a re ecting object. The consecutive symbols a and a ;1 will arrive at the receiver at the same time. The received symbol will be a + a ;1 .
Figure 3.1:
i i i i

As mentioned in section 2.1 GMSK (Gaussian Minimum Shift Keying) is used as modulation scheme in GSM. The GMSK also introduces ISI.
1 in

the order of kilometers

14

The GSM speci cation prescribes an equalizer that should be able to handle a re ected signal delay up to four bit times. This corresponds to a path di erence of 4:5 km, or 15 s AB95].

3.1.3 Thermal Noise


The signal is not only corrupted by ISI, noise is also added. There exists several kinds of noise, atmospheric, cosmic and man-made noise AZ97]. These forms of noise are picked up by the receiving antenna.
Thermal Noise is the most common form of signal degradation, and is generated by the front end of the receiver, where signal ampli cation is performed. The thermal noise arise in the electrical circuits, because of the random, Brownian, motion of particles in all material.

The thermal noise is modeled to have a constant spectral density function, so called White Noise. The spectral density function is given by

N0 = kTNf (W/Hz)
where k = 1:38 10;23 is Boltzmann's constant and T is the absolute temperature. Nf is the noise gure. Nf 8 ; 10 dB.

3.2 Equalization
The received signal is corrupted by ISI by the channel because of time dispersion. To compensate for this channel distortion an equalizer is used. The equalizer should mitigate the distortion due to the channel. Since the channel is modeled as a time invariant lter, the lter parameters can be estimated using the known training sequence. The channel model is then used to calculate the most probable transmitted information sequence. To be able to estimate the channel using the training sequence, the start position of the sequence has to be known. To get the start position of the burst, the properties of the autocorrelation of the training sequence is used. The equalizer structure used in this thesis is a Maximum Likelihood Sequence Estimator (MLSE). The Viterbi Algorithm PS94] is used to simplify the implementation of the MLSE. The MLSE-equalizer is not only used for suppression of ISI. In this thesis the MLSE, together with the diversity from two antennas, is used to suppress co-channel interfering mobiles. 15

3.3 Diversity Techniques


One major problem when using fading channels is that a large number of errors will occur when the channel is in a deep fade. As mentioned in section 2.1, one way of handling this problem is to use interleaving. Another way is to use several uncorrelated channels, so if one channel is in deep fading, hopefully other channels are not. There are several ways to improve the performance by providing the receiver with several independent channels. Several diversity methods can be used at the same time to increase the total gain.

Time diversity. One channel is used and the same information is sent sev-

eral times in di erent time slots. The time slots should be su ciently separated in time in order to achieve uncorrelated fading. This method requires more bandwidth, which is a limited resource.

Frequency diversity. The information is simultaneously sent on di erent

carrier frequencies. The carrier frequencies must be su ciently separated from each other in order to get di erent fading patterns. This method requires more bandwidth, which is a limited resource. waves, and the fact that fading occurs more or less independent in the horizontal and vertical components of the signal.

Polarization diversity utilizes the orthogonal property of electro-magnetic Space diversity uses several receiving antennas which are placed at di erent locations. The separation needed is proportional to the frequency used. Antenna diversity doesn't require any extra bandwidth, and no extra transmission power.

3.3.1 Combining Methods


When several versions of the signal is received the problem is to extract the transmitted information from the received signals. One simple way is to use the strongest signal, so called selection combining. Another way is to use equal-gain combining, where all signals are used to calculate the average signal. A better way is to use a weighted sum, as in Maximum Ratio Combining (MRC). The received signal level power is estimated and then the signals are weighted in proportion of the signal strength. 16

Interference Rejection Combining (IRC) is closely related to MRC. Actually IRC is an extended version of MRC. IRC uses the cross covariance between di erent signals as well, to extract the transmitted information. See section 5.7.

17

18

Chapter 4

System and Data Model


The mathematical description in this chapter is given for a situation where the base station uses two spatially separated antennas, and the channel is modeled as a ve tap FIR lter. A more general description can be found in Kar98, Hei96].

4.1 System model


The system model is given in gure 4.1. Let's denote the transmitted data sequence from the mobile station by x(n). This sequence is modulated and then transmitted over the radio channel and is received by the base station on two space separated antennas. The received signals at the base station is denoted y1 (n) and y2 (n). In Lau86] a method of making a linear model of the GMSK (Gaussian Minimum Shift Keying) modulation is presented. This enables us to model the channel as a ve-tap nite impulse response (FIR) lter. The baseband equivalent channel from the mobile station to antenna i is denoted by hi , represented by the vector

h i hi = hi (0) hi (1) hi(2) hi(3) hi (4) T


The signal transmitted by the mobile station is corrupted by ISI and thermal noise as described in section 3.1. There are also co-channel interferers present, i.e other mobile stations in the neighborhood transmitting on the same frequency. These undesired signals, the thermal noise together with 19

w1 (n) w2(n)

h1(n) h2(n)

y1 (n) x(n) ^ y2 (n)

x(n)

The system model for a base station with two antennas. The wanted signal x(n) travels via two independent channels h1 and h2 , and is received at the two antennas. The antennas also pick up interfering signals from another mobile station. The interfering signals and additive noise, impairment, are represented by w1 (n) and w2 (n).
Figure 4.1:

the interfering mobile station, is denoted w(n) = w1 (n) w2 (n)]T . The thermal noise plus the interfering signal is referred to as the impairment1. The co-channel interferers together with the TDMA-structure used in GSM, makes the impairment non-stationary. Similar to Kar98], we model the impairment as a temporally white, spatially colored complex Gaussian process with the following properties. Efw(n)g = 0 Efw(n)wH (k)g = Q(n) (n ; k) Efw(n)wT (k)g = 0 (4.1) (4.2) (4.3)

The spatial color of the noise is here represented by the covariance matrix Q(n). The GSM base stations are not synchronized, i.e. the time slots are not synchronized between di erent base stations. The interferer may therefore be present only during a part of the time slot. Therefore the covariance matrix (4.2) has the property of being time varying.
1 the

notation is the same as in Bot94]

20

The impairment is the sum of thermal noise and a transmitted signal from an interfering mobile station. The thermal noise is assumed to have a complex Gaussian distribution. The mean value and the covariance matrix of the impairment are given in equation (4.1) and (4.2).

w(n) CN (0 Q(n))
When we have a system where no co-channel interferer is present, w(n) will only consists of thermal noise. The thermal noise has the property of being independent between the two di erent branches, and hence the covariance matrix Q(n) will be diagonal. This is the case when Maximum Ratio Combining (MRC) is used. So the cross covariance terms of the covariance matrix is due to the fact that the received signals from the interfering mobile station is correlated in the separate branches. This information is used to reject the interfering mobile station via Interference Rejection Combining (IRC).

4.2 Block description of the system


To be able to make a compact notation of the system, gure 4.2 shows a block description of the signals. The output from the equalizer x(n) should ^ be as close to the transmitted signal x(n) as possible.

h2 (n)
Figure 4.2:

w1 (n)
+

w2 (n)

y2 (n)

A block description of the system. The transmitted signal from the mobile station is received on two antennas at the base station. Each path is modeled as an unique channel. The signal is corrupted by thermal noise and by an interfering signal from a neighboring mobile station. Note that the impairment signals are correlated, see equation (4.2).

The transmitted signal x(n) has propagated through two independent radio channels h1 (n) and h2 (n) to the base station. The signal is corrupted by thermal noise and also by an interfering mobile station in the neighborhood 21

Equal.

x(n)

h1 (n)

y1(n)

x(n) ^

using the same carrier frequency. Let H be a matrix consisting of the two sets of channel coe cients h1 and h2
T H = h1 hT 2

"

and w(n) the impairment in the two branches

w(n) = w1 (n) w2 (n)

"

Let x(n) be a vector with time delayed copies of the transmitted signal.

2 x(n) 3 6 x(n ; 1) 7 6 7 x(n) = 6 x(n ; 2) 7 6 6 x(n ; 3) 7 7 4 5 x(n ; 4)

Now the received signals y1 (n) and y2 (n) for the two antennas can be written as

Y(n) = y1(n) = Hx(n) + w(n) y2 (n)

"

(4.4)

This model will be used in the derivation of the IRC-algorithm in chapter 5.

4.3 Properties of the received signal


From equation (4.4) its easy to see that y is the sum of a deterministic term and one random term. y(n) will have the same distribution, as the impairment, w(n), but with di erent parameters. To get a complete statistical description of the complex normal distribution we need to know the mean y , and autocorrelation matrix Cy . 22

= Efy(n)g = EfHx(n) + w(n)g = Hx(n) + | fw(n)g = E {z } = Hx(n) (4.5) Hg = = Ef(y(n) ; Efy(n)g)(y(k) ; Efy(k)g) ! H g = Q(n) (n ; k) = q1 q2 = Efw(n)w(k) (n ; k) (4.6) q q
3 4 0

Cy

Cy is a Hermitian matrix where q2 and q3 are related in the following way


q2 = Ef(w1 w2 ) g = Efw1 w2g = q3
So, y(n) is complex Gaussian distributed y(n) probability density function (pdf) is: p(y(n)jx(n)) = 1

CN (

Cy ), and the

(2

)2

exp ; (y(n) ; Hx(n))H Q;1 (n) (y(n) ; Hx(n)) jQ(n)j (4.7)


1 2

23

24

Chapter 5

Interference Rejection Combining


5.1 Interference Rejection Combining
The task for the equalizer is to decide which sequence x = x(0) : : : x(N ;1)]T that was transmitted, given the received sequence Y

# " # T y1 = y1(0) : : : y1(N ; 1) Y = yT y2(0) : : : y2 (N ; 1) 2


where N is the length of the sequence. We want to optimize our decision with regard to some criterion. A good criterion is to minimize the probability of decision error Lei98]. This is accomplished by using maximum apostiori (MAP) decoding. If P(xjY) is the probability of x being sent when Y is observed, then the MAP decoding rule is given by

"

jx) ^ x = arg max P(xjY) = dBayes Rulee = arg max p(Yp(YP(x) x x )

(5.1)

The probability density function p(Y) does not depend on x, and can therefore be omitted The expression can also be simpli ed if we assume that P(x) is constant. This means that we assume that all transmitted sequences are 25

a priori equally probable. The number of sequences is M = 2N , and the probability that x was transmitted can be expressed as

1 P(x) = M

8x

The numerator p(x) can then be omitted since it is independent from x and we have a maximum lilelihood sequence decoder (MLSE). Since the received sequence is assumed to be uncorrelated in time, (see equation 4.6), the probability density function can be split up in independent parts p(Yjx) = p(y(0) \ y(1) : : : \ y(N ; 1)jx) = dIndependente =

Y
n

p(y(n)jx) (5.2)

Using the probability density function (4.7), the estimate can be written as

Y Y ^ x = arg max p(y(n)jx) = arg max ln p(y(n)jx) = x x n n X H Q;1 (y(n) ; Hx(n)) = arg min (y(n) ; Hx(n)) {z x } n |
M

(5.3)

To be able to calculate the delta metric1 M , both the channel and the covariance matrix for y must be known. Unfortunately this is not the case. Instead estimates have to be used. Note that the sequence with highest probability of being sent is selected by the MLSE. The MLSE does not guarantee that each symbol decision has minimum error probability.

5.2 Using the Viterbi algorithm


To search among all possible sequences takes a lot of time. For a sequence with N binary symbols, the number of possible sequences are 2N . With a
1 another

name is branch metric

26

sequence length of N = 116, as for a normal burst in GSM, the total number of sequences to search among will be 2116 8:3 1034 . Fortunately the Viterbi algorithm PS94] can be used to reduce the number of sequences to be searched among from 2N to N 2k;1 , where k is the number of taps in the FIR lter h. For example, when k = 5 and N = 116, the number of sequences will be 116 24 2000. The delta metric used by the Viterbi algorithm comes from equation (5.3)

M = (y(n) ; Hx(n))H Q;1 (y(n) ; Hx(n))

(5.4)

There is a risk that the covariance matrix in equation (5.4) becomes singular. This happens for example when the impairment sequences in the two branches are identical. The impairment samples in the two branches will for example be equal if no diversity is used. There exists at least two solutions for solving the problem when the covariance matrix becomes singular Hei96]. One solution is to skip the determinant of the inverse matrix. Instead of using the inverse matrix, the adjoint of the covariance matrix is used. Another way is to regularize the covariance matrix Q, by adding a diagonal matrix. ^ Q=Q+ I where is small compared to the elements in Q. Here, I is the identity matrix.

5.3 Synchronization of the received burst


In order for the IRC algorithm to perform properly, the start position of the burst in the received data must be known. The received burst is correlated with the known training sequence in order to nd the start position in the received data. 27

5.4 Channel estimation


When estimating the channel impulse response h, the known training sequence in the middle of the burst is used. This means that the transmitted sequence is partly known. The same channel estimate is used during the whole burst. During the estimation of the channel impulse response, the impairment samples w(n) is assumed to be uncorrelated between the two channels. Thus we temporarily switch model and assume that

w(n) CN 0 2 I
The training sequence in normal burst consists of 26 symbols. The rst four received symbols corresponding to the training sequence are corrupted by ISI from unknown symbols, and they are therefore not used for channel estimation. If the transmitted training sequence is given by x(n), n = 0 : : : 25, then signel received on the i:th antenna is represented by yi (n) according to gure 5.1.

x(n)

hi (n)

y(n)

w(n)
The training sequence is used to estimate the channel. w(n) is white Gaussian noise.
Figure 5.1:

Let P be a matrix containing time shifted copies of the transmitted training sequence x(n), and hi (k) k = 0 : : : 4, be the unknown coe cients of the i:th channel. The vector ri containing the received sequence yi (n) is then given by

0 0 yi(4) 1 B x(4) B ... C = B x(5) @ A B .. B . @ yi(25) | {z } | x(25)


ri

: : : x(0) 0 : : : x(1) C B C .. .. C @ . . C A : : : x(21) |

1 }

hi (0) 1 0 wi (4) 1
hi vi

{z
P

.. C + B .. C . A @ . A hi (4) (25) (5.5) {z } | wi{z }

where vi is a vector of the corresponding noise samples. 28

A maximum likelihood (ML) estimate is used. Using the same technique as in section 5.1 together with the minimization derivation in Appendix A gives

^ hi = arg min kr ; Phk2 = (PH P);1 PH ri h

(5.6)

Since the training sequence x(n) is known, the matrix P is also known. Furthermore the matrix (PH P);1 PH is known and can be pre-calculated for all training sequences.

5.5 Joint synchronization position


When using MRC, the two channels are estimated completely independent. Burst synchronizations are made for each channel. The resulting start positions are used for estimating the channels. When using IRC it is important to use the same start position for both channels (See section 8.2.3). To be able to suppress the interferer, the correlation between the two branches is used. If joint synchronization position is used, the cross correlation becomes higher, resulting in better interference suppression. Joint synchronization position is achieved by rst making independent burst synchronization as for MRC. Channel estimations are then made. The quality of the channels are estimated using the received samples corresponding to the training sequence. As a measurement of the channel quality the noise variance is estimated. The start position of the best channel, i.e. with lowest noise variance, is used as the joint start position for both channels. In order to get a correct channel estimate for the other channel, a new channel estimate must be calculated using the joint start position.

5.6 Covariance estimation


The covariance matrix Q(n) is according to equation (4.6) given by:

Q(n) = Ef(y(n) ; Hx(n)) (y(n) ; Hx(n))H g


29

In section 3.1 it was assumed that the channel is constant during the burst, and hence the same channel estimate was used for the entire burst. A rst approach for estimating the covariance matrix, would naturally be to use the same technique when estimating the covariance matrix. The use of the same estimate for the whole burst will work as long as the interfering signal is present during the whole burst. But the interferer may only be present during a part of the burst.

5.6.1 Non-Synchronized Interferers


Figure 5.2 shows the situation when several interfering signals are present. Calculating an estimate of the covariance matrix from the training sequence, will in this case result in an incorrect estimate when demodulating (see section 6.4) the left burst half.
Interferer 1 Interferer 2

Training Sequence Incorrect estimate


Figure 5.2:

Correct estimate

Estimating the covariance from the received symbols corresponding to the training sequence will in this case result in an estimate which is correct during the demodulation of the right burst half. When demodulating the left burst half, another interferer is present with di erent signal properties. This results in an incorrect estimate for the left burst half.

By updating the estimated covariance matrix, an estimate which takes care of the sudden changes can be used.

5.6.2 Tracking algorithm


In Lin97] Lindqvist has investigated several algorithms for updating the covariance matrix. The tracking algorithm with the best performance is used in this thesis. 30

^ ^ Q(n + 1) = Q(n) + (1 ; )Qs = 0:98 = 0:5

(5.7)

The algorithm has three parameters: the forgetting factor , the multiplying factor and the time when the preliminary bit decision is taken out from the Viterbi algorithm. The term Qs is the \local covariance at the bit which was preliminary just decided" by the Viterbi algorithm. For optimal performance Lindqvist has set = 0:98 and = 0:5.

5.6.3 Calculating an initial covariance estimate


^ ^ An initial estimate Q0 = Q(0), is calculated from the data corresponding to the known training sequence. The rst (k ; 1) symbols are corrupted by ISI, and they are not used for estimating the covariance matrix. The variable k is the number of taps in the FIR lter. The sum should be calculated over the training sequence. 1 ^ Q0 = M
N ;1 X n=k;1

(y(n) ; Hx(n))(y(n) ; Hx(n))H

(5.8)

Using the vector notation from section 5.4, element qij can be written as 1 ^ qij = M rj ; Phj
H

^ ri ; Phi

(5.9)

^ To be able to make an unbiased estimated of Q0 , the constant M is set to M = N ; 2k + 1, where N is the length of the training sequence, and k is the number of taps in the FIR- lter h. A normal burst having a training sequence of length N = 26, and a FIR lter with k = 5 taps, will result in the constant M = 26 ; 2 5 + 1 = 17.

5.6.4 Calculating the local covariance


Ideally the local covariance matrix Qs should be calculated from the impairment of the symbol just decided. But as mentioned in section 5.1 the MLSE 31

doesn't choose the symbol having the highest probability. Instead it choose the sequence having the highest probability. So to be able to calculate the impairment of the symbols, one has to wait until the whole sequence has been demodulated. But at that time, it is too late to calculate the local covariance matrix. However, there is always one sequence in the Viterbi algorithm that for the time being is the most probable one. By using that sequence, a decision can be made of which symbols were sent. Investigations PS94] have shown that this suboptimal method is quite good since, it is very unlikely that future bits a ects the old bits. A short time delay is needed in order to get a preliminary sequence which will not change in the future. The local covariance matrix is calculated from one pair of impairment samples. The impairment is calculated from the received symbol and the pre^ liminary decision. With ei = yi (l) ; g(l), where g(l) = hi (l) x(l). ^

Qs(l) =

eA eB

eA eB

2 eA B = keA k ke ek2 eA eB B

(5.10)

5.6.5 Reversed time tracking for the left burst half


The initial covariance matrix used by the tracking algorithm is calculated from the training sequence. It is then updated as described in the previous sections. To be able to use this technique, the left burst half must be demodulated time reversed. Otherwise the initial covariance is unknown.

5.7 Di erences between IRC and MRC


As mentioned in section 3.3, IRC and MRC are closely related to each other. The main di erence is that IRC also uses the cross correlation between channels, while MRC assumes there is no cross correlation between the channels. Mathematically speaking, this means that the covariance matrix Q(n) is assumed to be diagonal, and hence the delta metric M in equation (5.4) will be less complex to calculate when using MRC. 32

When using MRC it is assumed that there is no correlation between the branches. The impairment samples only consist of noise, no interferer is present. It is therefore natural to assume that the variance of the noise is constant during one burst, and there is therefore no need for updating the matrix, as is done when IRC is used.

33

34

Chapter 6

Implementation
The xed point implementation is based on a oating point implementation done by Thomas Lindqvist Lin97]. The c-code of that oating point implementation has together with Lin97] been used as an algorithm description. This, and the next chapter, serves as a documentation of the xed point implementation.

6.1 New features to be implemented


Since IRC is closely related to MRC, the implementation of the IRC algorithm is based on an existing implementation of the MRC algorithm. The new features which must be implemented for the IRC implementation is stated below. 1. The calculation of the delta metric must be extended to include the cross correlation terms of the impairment. 2. An initial estimate of the covariance matrix must be calculated from the impairment of the training sequence. 3. The covariance matrix must be updated, by using preliminary decisions in the Viterbi algorithm. 4. The two branches should use the same index pointing out the start positions of the bursts. The index should be calculated from the channel with the best quality, i.e. lowest noise variance. 35

6.1.1 Calculation of the initial covariance estimate


The initial covariance matrix is calculated from the received symbols corresponding to the training sequence (see equation (5.8)). The rst four symbols are not used since they are corrupted by ISI from unknown symbols. As described in section 5.6.3 the estimate should be divided by a factor M . Neither in the xed point implementation, nor in the oating point implementation, this division is done. This results in an initial covariance matrix which is \scaled by M ". To compensate for this scaling, the local covariance matrix in the tracking algorithm has to be scaled by the same factor.

6.1.2 Updating the covariance matrix


For updating the covariance matrix the tracking algorithm from section 5.6.2 is used. The variable is introduced in the implementation, and = M (1 ; ). The factor M compensates for not dividing the initial covariance matrix by M . The tracking algorithm then looks like ^ ^ Q(n + 1) = Q(n) + Qs (6.1)

where the local covariance matrix Qs, according to equation (5.10), is given by

Qs(l) =

eA eB

eA eB

2 eA B = keA k ke ek2 eA eB B

(6.2)

eA = eAi +jeAq is the di erence between the received sample and the delayed

preliminary symbol decision in the Viterbi algorithm. A sample delay of four symbols is used.

eAeB = (eAi + jeAq )(eBi + jeBq ) = = eAi eBi + eAq eBq + j (eAq eBi ; eAi eBq ) 2 = e2 + e2 keB k Bi Bq
36

keA k2 = e2 + e2 Ai Aq

6.1.3 Calculation of the delta metric


The delta metric used by the Viterbi algorithm is given by equation (5.4). For the xed point implementation it is necessary to expand the matrix multiplications. In appendix B the matrix multiplications are carried out, and the expression is simpli ed in order to reduce the number of operations/cycles, needed in the DSP. The simpli cations are based on the symmetric properties of a Hermitian matrix. To simplify notation ei is written instead of ei (n). The delta metric is then given by 1 M = q q ; (q2 + q2 ) (e2 + e2 )q4 + (e2 + e2 )q1 ; Ai Aq Bi Bq 41 2i 2q ; 2 q2i(eAi eBi + eAq eBq ) + q2q (eAi eBq ; eAq eBi )]) (6.3) where q4 q1 ;(q12i +q2q ) comes from the division by the determinant. 2 2 As in the oating point implementation, the xed point implementation uses the adjoint covariance matrix instead of the inverse matrix Q;1 . This reduces the complexity of the delta metric since division normally requires a lot of cycles. The delta metric without determinant division which is used in the Viterbi algorithm is given by

M 0 = (e2 + e2 )q4 + (e2 + e2 )q1 ; Ai Aq Bi Bq ; 2 q2i (eAieBi + eAq eBq ) + q2q (eAi eBq ; eAq eBi )]

(6.4)

The rst two terms of equation 6.4 is the \MRC part" of the metric, and the remaining terms are the cross covariance part. When there is no cross correlation, the elements q2i and q2q will be zero. The IRC metric is then reduced to an ordinary MRC metric. Note that omitting the determinant can a ect the performance of the MLSE since the covariance matrix is time-varying. However, this was not studied in this work. 37

6.2 Output from the equalizer


The equalizer delivers a bit sequence to the channel decoder. The bit sequence is used by the channel decoder to decide which information symbols that was transmitted. This is performed in a similar way as when the equalizer decided which bit sequence that was transmitted. To be able to perform a better channel decoding, the equalizer used in this thesis also delivers soft values for each bit in the bit sequence. The soft value is a measurement of \how sure" the equalizer was when making the decision. The soft values are simply the di erences between di erent metrics in the Viterbi algorithm. Since the adjoint matrix is used instead of the inverse covariance matrix, the soft values are not properly scaled. Instead, to preserve the gain of the bit error rate when using IRC, the corresponding soft values must be divided by the calculated channel quality Lin97].

6.3 Di erences between oating and xed point implementation


As already mentioned, this thesis is based on the work and implementation made by Thomas Lindqvist Lin97]. In his thesis he describes problems using some features of the equalizer. These problems have not arisen in the xed point implementation of the IRC algorithm considered here. Below follows a list of the problems encountered in Lin97].

6.3.1 Automatic Frequency Control


In order to compensate for Doppler shifts due to a moving mobile station the equalizer uses an Automatic Frequency Control (AFC) algorithm. This algorithm also compensates for carrier frequency o sets. In Lin97] simulations are carried out for a oating point implementation without the AFC. Lindqvist says that the reason for not using the AFC is that the \equalizer was not working together with the IRC-algorithm"1 . The xed point implementation of the IRC-algorithm has not shown any signs of not working well with the AFC-algorithm.
1 Lin97]

page 33

38

6.3.2 Impulse Response Combining


The oating point implementation described and tested in Lin97] doesn't use Impulse Response Combining. The reason for not using Impulse Response Combining is not given. However the xed point implementation works together with this feature. Brie y, Impulse Response Combining is a method were the impulse response from the correlation (see section 5.3) is added to the estimated impulse response of the channel. The combination is done by adding the amplitude of the largest tap of the correlation impulse response to the amplitude of the largest tap of the estimated channel impulse response. The resulting channel impulse response is then divided by two. The result of this combination is that the noise contained in the estimated taps of the channel impulse response is reduced. See also Gau98].

6.3.3 Impairment calculating


In section 4.1, equation (4.5), it was stated that the mean value of the impairment is zero. In the oating point implementation the mean of the impairment is calculated, and subtracted from the impairment samples when calculating the initial covariance matrix. In the xed point implementation the mean is assumed to be zero and therefore no calculation of the impairment mean is carried out.

6.3.4 Metric scaling


In the oating point implementation both the initial covariance matrix and the local covariance matrix are scaled by metricScaling = 5. The reason for this scaling is not given. Since this sort of scaling doesn't a ect the performance of the xed point implementation it has been left out.

6.4 Program ow
Figure 6.1 and 6.2 brie y shows the program ow of the IRC equalizer. The blocks plotted in bold, are the new features that have been implemented 39

for IRC. The equalization is divided into two major blocks, the estimation block and the demodulation block. In the estimation block the channel is estimated and sample estimates based on the channel impulse response is calculated. It is in the demodulation block that the bit decision is made. The output from the demodulation block is the bit decision and the corresponding soft values.
Start estimation Calculate signal level Get samples Imp. Resp. Comb.?

Synchronization Postprocess Channel Estimation Calculate impairment Estimate channel quality Both channels Calculate covariance matrix Use best start position

Impulse Response Combining

Best channel?

End estimation

A ow chart for the channel estimation. First the estimation process is initialized, samples are received and converted. Synchronization of the received burst gives the start position of the burst in the sample bu er. The lter taps are estimated and then an estimation of the quality of the channel is calculated. The start position of the channel with best quality is used as the joint start position. A new channel estimate must therefore be calculated for the other channel. The signal level is calculated in order to decide if Impulse Response Combining shall be performed. Sample estimates are calculated in the post process block. Then the impairment samples corresponding to the training sequence are calculated, and the covariance matrix is calculated.
Figure 6.1:

40

Demodulation Start

Initialize right burst half

Update covariance matrix

Demodulation

AFC

Extract bits and softvalues

Initialize left burst half

Reset covariance matrix

Update covariance matrix

Demodulation

AFC

Extract bits and softvalues

End demodulation

Flow chart for demodulation of a normal burst. First the right burst half is demodulated and then the left one. Since the covariance matrix is updated during the demodulation process, it has to be reset to the initial value before demodulation the left burst half. After demodulation the bits are extracted and the soft values are scaled.
Figure 6.2:

41

42

Chapter 7

The Hardware Platform


This chapter will discuss the platform speci c aspects of the implementation. In the previous chapters the IRC algorithm has been described. The focus of this thesis is however to make an implementation of the IRC algorithm for a xed point digital signal processor (DSP). The IRC algorithm has been implemented on Texas Instruments DSP TMS 320 C62. As a reference, a xed point implementation has been done in parallel in SysSim. SysSim is a C/C++ based signal processing simulator developed by Ericsson Radio Systems AB. The SysSim implementation has also been used for simulation and veri cation. This chapter serves as a documentation of the implementation. This version of the report is for external use outside Ericsson Radio Systems AB. Therefore some sections describing the architecture of the hardware platform are excluded.

7.1 Linear assembly with Texas C60


The IRC algorithm is implemented for a xed point C60 DSP from Texas Instruments. The source code written for the DSP is called linear assembly. The linear assembly is similar to assembly code but linear assembly does not include information about which registers to use, or parallel instructions. The assembly optimizer transforms the linear assembly code into \pure" assembly code. The optimizer decides which register to use and which instructions to be run in parallel Tex98]. 43

Instead of coding which register to use in the DSP the programmer uses register alias. The optimizer maps these alias into proper registers. To t within the cycle limitations described in section 7.2, manual optimization was performed (see also section 8.4). The C60 DSP has two functional units (see Tex98]), and one way of optimizing the code is to tell the optimizer when to use which functional unit. Another way of helping the optimizer is to use register alias in a way so that the optimizer \understands" when the registers can be reused.

7.2 Hardware Limitations


Since the implementation is aimed to run on a prototype platform in a real network, there exists hardware limitations. Both memory and DSP cycles are limited resources, resulting in a boundary for the implementation. The program code ts in the program memory and the data areas used by the program t in the data memory. So the memory is su cient for the new algorithm. A more critical restriction is the cycle limitation. The estimation of the two channels and the demodulation must be done during one time slot. During the development, the implementation exceeded the number of cycles available. If only four of eight time slots are used, then the number of available DSP cycles is doubled compared to processing every time slot. The disadvantage with this method is that it decreases the capacity of the base station signi cantly. However it can be used for performance evaluation. Another way of solving the time limitation problem is to use several DSPs in the platform. It was taken under consideration to split the work between several DSPs, and have them work in parallel in order to be able to run on every time slot. However, after some optimization of the linear assembly code (see section 7.1) the implementation ts under the time limitation and the implementation runs on every time slot on one DSP.

7.3 Veri cation


The implementation of the IRC algorithm in Syssim has been used both for performance evaluation and for veri cation of the DSP code. To verify the 44

DSP code, input data was generated in Syssim. These input data were sent to a software test bench. The input consisted of both normal and access bursts. The output from the equalizer was extracted from both Syssim and the test bench. The output was then compared. It was veri ed that both Syssim and the DSP code delivered exactly the same output. Not only the output from the equalizer was examined. For veri cation and debugging purpose di erent internal data areas were extracted both from Syssim and from the DSP code. For example, the channel impulse response, the impairment samples and the covariance matrix were extracted for comparison purposes. Di erent channel combinations with di erent SNR and C/I have been used as input data for the veri cation. To verify that all calculations are made in the same way in both the Syssim implementation and the DSP code, input data with very bad quality, i.e. low SNR and low C/I, were also used.

7.3.1 Function tests


The implementation has been tested in a veri cation lab. The new software has been down loaded into the prototype platform. It has been veri ed that the implementation receives data in a correct way and that it delivers the output in a correct way. No performance evaluation tests have been done in the veri cation lab, only function tests.

7.3.2 Performance tests


The implementation has also been tested in a performance lab. The test procedure has not nished when writing this report, but preliminary results show that the performance in the lab and Syssim are similar.

45

46

Chapter 8

Performance Evaluation
Simulations are performed using Syssim which is a C/C++ signal processing simulator. Di erent devices form the signal processing chain of the base station. In this thesis the equalizer of the simulation chain has been modi ed to use IRC. In this chapter the performance of the implementation is evaluated. This is done by comparing the Bit Error Rate (BER) and the Frame Erasure Rate (FER) between MRC and IRC. The bit decision made by the equalizer is analyzed, and the number of erroneous bits are counted and presented as the BER. As described in section 6.2 the equalizer also delivers soft values which are used by the channel decoder to make decisions of which symbol that was sent. As a measurement of the \total" performance the FER is used. The simulations also give other important measurements, such as the estimated signal quality. To t into the prototype platform, it is important that such parameters are calculated and delivered in a correct way. If not, the implementation can not be a part of a whole system. However, these parameters are not presented here. This version of the report is for external use outside Ericsson Radio Systems AB. Therefore, all plots are presented without numbers on the axes.

Legends
MRC Maximum ratio combining IRC IRC using AFC and Impulse Response Combining 47

8.1 Simulation aspects


Simulations are made both for sensitivity limited systems and interference limited systems. Since the IRC algorithm is designed to reject interference, the performance in the interference limited system is the most interesting situation. In Syssim the correlation between the channels, can be varied. However both the correlation between the carrier and the interferer is a ected. There is no way of individualy adjusting the correlation for the carrier and the interferer. The interfering signal generated in Syssim doesn't have the burst structure described in section 2.3.1. This means that the interfering signal consists of random symbols. In a real system, the interfering signals will consist of bursts with a training sequence in the middle. This means that there is a correlation between the wanted burst and the interfering burst during the estimation of the channel and the covariance matrix. This may a ect the performance.

8.1.1 Channel models


The GSM speci cation Ins99] de nes some channel models to be used as a reference. These channel models are of course implemented in the simulator and used to evaluate the performance. The channels used in simulations in this thesis are listed below.

Abbreviation Channel name Comment


static tu ht ra Static Typical Urban Hilly Terrain Rural Area

AWGN channel

For all channels except the static channel in the tabular above, the speed of the mobile can be set. For example tu3 and tu50 refer to the typical urban channel for a mobile station with a velocity of 3 km/h and 50 km/h.

8.1.2 Parameter settings


For sensitivity measurements no interfering signal is present and the performance for di erent SNR values are measured. In the interference measure48

ments the SNR is set to 25 dB and then the performance are measured for di erent C/I. If nothing else is stated, 12 000 bursts are used for each simulation. Frequency hopping is not used. The correlation parameter is set to = 0:3 if nothing else is stated.

8.2 Comparison between MRC and IRC


8.2.1 Sensitivity
The IRC equalizer is designed to work in interference limited systems such as urban areas. In sensitivity simulations the interferer is disabled. The cross covariance terms in the covariance matrix should therefore be equal to zero and the IRC equalizer should work like the MRC equalizer. In gure 8.1 one can see that IRC is slightly worse than MRC for a noise limited tu50 channel. The performance loss may be due to the fact that the cross covariance is estimated from rather few samples. When no interferer is present the cross covariance terms consists of estimation noise. In this situation the cross covariance terms should be set to zero. When there is no interferer and no noise present and a static channel is used, the signals in the two branches becomes almost identical, i.e. no diversity. From equation (6.4) it is easy to see that the delta metrics will be equal to zero when diversity is not used. Figure 8.2 shows the FER for a static channel in a noise limited system. No frames are erased when the MRC equalizer is used. But when using IRC, the FER gets high for SNR > 30 dB. However, this degradation is probably due to the actual xed point implementation rather than being a feature of the IRC algorithm itself.

49

IRC MRC

BER

SNR dB
Figure 8.1:

of SNR.

A tu50 channel in a noise limited system. BER is plotted as a function

IRC MRC

FER

SNR dB
Figure 8.2: The plot is showing bad performance for a static channel when the IRC equalizer is used. The FER is plotted as a function of SNR for a static channel. No errors were detected for the MRC equalizer. The number of bursts is 48000.

50

8.2.2 Interference
The IRC equalizer is designed to work in an interfering limited system. Figure 8.3 { 8.6 shows the performance for the IRC equalizer for di erent channels in an interference limited system. When comparing the performance of the BER and the FER as a function of C/I in gure 8.4 and 8.5, one can see that the gain in BER is preserved by the channel decoder, resulting in the same gain for the FER. The gain of the equalizer in an interfering limited system is 6 dB.
IRC MRC

BER

C/I dB
Figure 8.3:

BER as a function of C/I for a tu3 channel.

Since IRC uses the correlation between the channels to suppress the interferer, the performance increases when the correlation between the two branches gets higher. In gure 8.7 the BER is plotted as a function of C/I for di erent correlations . Correlation = 0 means no correlation and = 1:0 means full correlation. When = 1 the carrier and the interferer are identical in the two branches, i.e. no diversity. Since there is no diversity the interferer can not be suppressed by IRC. See gure 8.7. As described in section 8.2.1 the delta metrics will be equal to zero when the two channels are identical. Fortunately noise is added independently to the branches, and the delta metrics will therefore in general not be equal to zero. 51

IRC MRC

BER

C/I dB
Figure 8.4:

BER as a function of C/I for a tu50 channel.

IRC MRC

FER

C/I dB
Figure 8.5:

FER as a function of C/I for a tu50 channel.

52

IRC MRC

BER

C/I dB
Figure 8.6:

BER as a function of C/I for a ra250 channel.

IRC MRC =0 = 0:5 = 0:7 = 1:0

BER

C/I dB

Plot showing how the correlation a ects the BER. Higher correlation results in lower BER. But when = 1, the carrier and interferer are identical in the two branches. However, uncorrelated noise is added to the channels.
Figure 8.7:

53

No Impulse Response Combining or AFC


As already mentioned, the oating point implementation described in Lin97], did not work together with the AFC algorithm and Impulse Response Combining. Figure 8.8 shows the performance for the DSP equalizer when AFC and Impulse Response Combing is disabled. As seen in the plot there is almost no di erences between the di erent settings. As described in section 6.3.1 the aim of the AFC is to compensate for Doppler Shifts and Frequency o sets. During these simulations there is no frequency o set. A closer look at the plot in gure 8.8 will show that the performance is a little bit better when not using AFC or Impulse Response Combining. However, the purpose of these simulations is to show that there is no major problem to use AFC and Impulse Response Combining in the IRC equalizer.
IRC MRC No Imp No AFC

BER

C/I dB

The BER as a function of C/I for a tu50 channel. \No AFC" means that IRC was used but with no AFC. \No Imp" means that IRC was used but with no Impulse Response Combing.
Figure 8.8:

No tracking of covariance matrix


If the carrier and interferer are time slot synchronized, then there is no need to update the covariance matrix. Figure 8.9 shows the performance of the IRC equalizer both with and without the tracking functionality. The 54

performance is plotted both for a tu3 and a tu50 channel. As seen in the gure it is hard to separate the di erent situations by inspection. The conclusion is therefore that there is almost no di erence in performance when the interferer and carrier are slot synchronized.
IRC MRC

noTrack tu3 tu50

BER

C/I dB

The BER as a function of C/I for a tu3 and tu50 channel. The plot shows that there is almost no di erence between an IRC equalizer with and without the tracking functionality when using synchronized interferers. The performance of the MRC equalizer is plotted as a reference.
Figure 8.9:

8.2.3 Performance with joint burst synchronization position


In section 5.5 it was stated that it is important to use the same start position of the burst for both channels. Figure 8.10 shows the comparison between IRC using individual- and joint burst synchronization. As a reference the MRC performance is plotted. The gain of using joint burst synchronization is 3 dB in this case. The simulations are made with the assumption that the received signals in the two branches are time-aligned. However, in the DSP implementation, it is possible to switch on and o the joint burst synchronization. Hence, a eld trial will show the gain of joint burst synchronization in a real network.

55

IRC MRC No common

BER

C/I dB

Plot showing BER as a function of C/I for a tu50 channel. Common burst synchronization is used for the solid curve. The dashed curve shows the performance without it.
Figure 8.10:

8.3 Comparison with oating point implementation


In Lin97] simulations are presented showing that the IRC algorithm is approximately 9 dB better than MRC in an interference limited system. The situation showing this improvement is a tu3 and tu50 channel with SNR= 25 dB, and correlation between branches = 0:7. Simulation using the xed point implementation only gives a gain of approximately 6 dB. In Hed99] a method of converting a oating point implementation into xed point was studied. By using this method, the oating point implementation in Lin97] was converted into a xed point implementation. This converted version is from now on referenced as the \converted xed point implementation". In Hed99] comparisons were made between the oating point implementation used in Lin97], and the converted xed point version. Figure 8.11 shows that there is almost no di erence in performance between the oating point implementation and the converted version. Figure 8.11 also shows that the performance of the DSP xed point implementation is slightly better than the other ones for higher C/I. 56

IRC MRC Fl. point Conv. Fx. p

BER

C/I dB

Comparison between oating point implementation, converted xed point version and the DSP xed point implementation. The oating point and converted xed point simulations are presented in Hed99]. Channel model tu50 is used with SNR = 25 dB, correlation between channels = 0:3. 10 000 bursts are used in the simulations.
Figure 8.11:

57

8.4 Complexity
The changes listed in section 6.1 will all result in a more complex algorithm, demanding more DSP cycles. The most cycle consuming features are the extended metric calculation and the updating of the covariance matrix. The delta metric must be calculated twice for each state in the Viterbi algorithm. The states of the Viterbi algorithm are updated for each sample. Hence, adding just a few extra cycles for the metric calculation, will result in a signi cant amount of needed cycles. On the other hand, optimizing this part of the code really \pays o ". The number of cycles available for the DSP xed point implementation is limited, since the implementation is to be tested in a live network. Therefore the DSP implementation has been optimized to t under these limitations. However, the optimization process stopped when the limit was reached. Most certainly, there is room for more optimization. Execution statistics are gathered by the pro le environment of the TMS 320 C6x C Source Debugger. The ratio between the number of cycles used by theIRC algorithm and the number of cycles used by the MRC algorithm IRC is MRCcycles = 1:54. As mentioned above, the manual optimization process cycles stopped when the number of cycles t the cycle limitation.

58

Chapter 9

Conclusions and Further Work


9.1 Conclusions
A xed point implementation of the IRC algorithm has been implemented for a DSP running on a prototype platform. The performance gain is 6 dB in an interference limited system with synchronized interferers. The performance gain of 9 dB which was achieved for the corresponding oating point implementation in Lin97] has not been reached. In a sensitivity limited system, the BER is little higher compared to when MRC is used. Unfortunately this performance gap increases when looking at the FER. This implementation uses the joint synchronization position for both channels in the received data. When using IRC, this seems to be essential since the use of a joint synchronization position results in a 3 dB performance gain. The oating point implementation evaluated in Lin97] did not work together with AFC or Impulse Response combining. The DSP xed point implementation did not show any signs of degraded performance when used together with AFC or Impulse Response Combining. No performance evaluation in a live network has been done because of lack of time. The DSP implementation has been run on a prototype platform. The conclusions from the simulations in this thesis is that using IRC in an 59

interference limited system with synchronized base stations, will result in a performance gain. However, the behaviour of the implementation may di er in a live network due to non synchronized base stations. Supposing that the base stations will be synchronized in the future, it is not certain that the performance gain of 6 dB will be achieved (see section 8.1).

9.2 Suggestions for further work


The performance of the DSP implementation has not been evaluated in a live network. The implementation runs on a prototype platform which enables performance evaluation in a live network. The performance of IRC is not satisfactory in a noise limited system. In such systems, it is better to use MRC. However, it can be hard to tell whether the base station operates in a noise limited system or in an interference limited system. The situation may also vary from time to time. It is desirable that the equalizer can decide when to use IRC and when to use MRC. Since the use of joint synchronization position has such a great in uence on the performance, there may be other ways of performing the common burst synchronization which will result in even better performance. In this thesis the adjoint covariance matrix has been used in stead of the inverse covariance matrix. This may a ect the performance. Instead of using the adjoint matrix, the inverse of a regularized covariance matrix could be used. It may also be possible to use the correlation between the real and imaginary parts to suppress the interferer.

60

Appendix A

ML channel estimate
Assume the following (n > m):

r is a nx1 vector P is a nxm matrix h is a mx1 vector


Also assume that the matrix PH P is invertible. It is always possible to choose the training sequences so that the matrix is PH P invertible. The problem is to nd the vector h which minimize (r ; Ph)H (r ; Ph). Completing the squares gives: (r ; Ph)H (r ; Ph) = rH r ; rH Ph ; hH PH r ; hH PH PH = H = h ; (PH P);1 PH r PH P h ; (PH P);1 PH r ; ; rH P(PH P);1 PH r And the minimization problem is easy. ^ h = PH P ;1 PH r

61

62

Appendix B

Derivation of the delta metric


The delta metric, M , is according to section 5.2 given by

M = (y(n) ; HX(n))H Q;1 (y(n) ; HX(n))


To simplify notation, let e = (y(n) ; HX(n)). M can then be written as

M = e(n)H Q;1e(n)
where Q is the covariance matrix for y. From section 4.3 we get the expression of the covariance matrix.

Q = EfwwH g = Ef

wA wA wA wB g = q1 q2 wB wA wB wB q3 q4

!
(B.1)

As described in section 4.3, the covariance matrix is Hermitian, which means that q3 = q2 .

Q;1 = 1

q4 ;q3 jQj ;q2 q1

= q q ;q q 41 32

q4 ;q3 ;q2 q1

jQj 6= 0

With eT = eA eB

the delta metric can be written as 63

= eH Q;1 e = 1 1 = jQj = 1

jQj

q4 ;q3 eA ;q2 q1 eB jQj eA eB ! eAq4 ; eB q3 = eA eB ;eAq2 + eB q1 keA k2 q4 ; eAeB q3 ; eA eB q2 + keB k2 q1

eAeB yields

Exploiting the properties of the impairment, i.e. q3 = q2 and (eA eB ) = 1 M = jQj keA k2 q4 ; eA eB q3 ; eA eB q2 + keB k2 q1 1 = jQj keA k2 q4 + keB k2 q1 ; (q2 eA eB + q2 eA eB ) = 1 = jQj keA k2 q4 + keB k2 q1 ; 2Rfq2 eA eB g)

q2 = (q2i + jq2q ) eA = (eAi + jeAq ) eB = (eBi + jeBq )

Rfq2 eAeB g = Rf(q2i + jq2q )(eAi + jeAq )(eBi ; jeBq )g = = q2i (eAi eBi + eAq eBq ) + q2q (eAi eBq ; eAq eBi ) jQj = q4q1 ; q3q2 = q4q1 ; q2 q2 = q4q1 ; kq2k2
1 M = q q ; (q2 + q2 ) (e2 + e2 )q4 + (e2 + e2 )q1 ; 2 q2i (eAi eBi + eAq eBq )+ Ai Aq Bi Bq 41 2i 2q + q2q (eAi eBq ; eAq eBi )]) 64

Bibliography
AB95] Ericsson Radio Systems AB. CME 20 System Survey, Training Document. Technical report, Ericsson Radio Systems AB, 1995. AB98] Ericsson Radio Systems AB. GSM RBS 2000 Basics. Technical Report EN/LZT 123 3805, Ericsson Radio Systems AB, 1998. And96] Maria Andersson. Interwork description PCE Interwork Physical Layout. Technical Report 1/155 19-CRH 201 103 Uen, Ericsson Radio Systems AB, May 1996. AZ97] Lars Ahlin and Jens Zander. Principles of Wireless Communications. Studentlitteratur, January 1997. Bla98] David Bladsjo. Antenna Diversity Methods for EDGE. Master's thesis, Luleaa University of Technology, December 1998. Bot94] G. Bottomley. Interference Rejection Combining in Multiantenna Digital Cellular Systems. Technical Report CT/Y 94:0003, Ericsson, 1994. Gau98] Simon Gaude. A survey of the EQUALIZER in the GSM base station system. Technical report, Ericsson Radio Systems AB, October 5, 1998. Gau99] Simon Gaude. Detailed design Whitbread Equalizer. Technical Report 109 41-CAH Uen, Ericsson Radio Systems AB, October 1999. Hed99] Andreas Hedberg. Floating-Point to Fixed-Point Conversion Based on the Usage of AjRT Library. Master's thesis, Royal Institute of Technology, June 1999. Hei96] Jan Heinegard. A C/I Performance on Polarization Diversity and Interference Rejection Combining. Master's thesis, Linkoping Institute of Technology, January 1996. 65

Ins99] European Telecommunications Standard Institute. GSM 05.05 V7.0.0. Technical report, European Telecommunications Standard Institute, March 1999. Kar98] Jonas Karlsson. Adaptive Antennas in GSM Systems with NonSynchronized Base Stations. Royal Institute of Technology, March 1998. Lau86] Pierre A. Laurent. Exact and Approximate Construction of Digital Phase Modulations by Superposition of Amplitude Moudlated Pulses (AMP). IEEE Transactions on Communications, COM-34, NO. 2:150{160, February 1986. Lei98] Arne Leijon. Introduction to Pattern Recognition. Royal Institute of Technology - Speech, Music and Hearing, 1998. Lin97] Thomas Lindqvist. Evaluation of the IRC equalizer. Master's thesis, Linkoping Institute of Technology, March 1997. PM95] John G. Proakis and Dimitris G. Manolakis. Digital Communications. McGraw-Hill, Inc., third edition, 1995. PS94] John G. Proakis and Masoud Salehi. Communication Systems Engineering. Prentice-Hall, 1994. Tex98] Texas Instruments. TMS320C62x/C67x Programmer's Guide, 1998.

66

Das könnte Ihnen auch gefallen