Interference Rejection Combining System Performance
Interference Rejection Combining System Performance
Interference Rejection Combining System Performance
Mats Dahlqvist
Signal Processing Department of Signals, Sensors and Systems Royal Institute of technology Stockholm, 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.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 . . . . . . .
13
13 13 14 15 15 16 16
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
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
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
59
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.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
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
Figure 2.1:
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.
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:
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.
4:615 ms 1 2 3 4 5 6 7 8
58 Left Data
58 Right Data
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
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
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
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].
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
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.
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.
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
w1 (n) w2(n)
h1(n) h2(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
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).
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 1 H= h hT 2
"
"
Let x(n) be a vector with time delayed copies of the transmitted signal.
Now the received signals y1 (n) and y2 (n) for the two antennas can be written as
1 (n) = Hx(n) + w(n) Y(n) = y y2 (n)
"
(4.4)
= Efy(n)g = EfHx(n) + w(n)g = Hx(n) + | Efw (n)g {z }= = Hx(n) (4.5) H = Ef(y(n) ; Efy(n)g)(y(k) ; Efy(k)g) g = ! 1 q2 (n ; k) (4.6) = Efw(n)w(k)H g = Q(n) (n ; k) = q q q
3 4 0
Cy
CN (
Cy ), and the
(2
)2
23
24
Chapter 5
"
(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 ^ = arg max x p( y ( n ) j x ) = arg max ln p(y(n)jx) = x x n n X ;1 (y(n) ; Hx(n)) = arg min ( y(n) ; Hx(n))H Q x | {z } 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.
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)
(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+ I Q where is small compared to the elements in Q. Here, I is the identity matrix.
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
1 }
hi (0) 1 0 wi (4) 1
hi vi
{z
P
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
(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.
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.
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.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.8)
Using the vector notation from section 5.4, element qij can be written as 1 r ; Ph ^j qij = M j
H
^i ri ; Ph
(5.9)
^ 0 , the constant M is set to To be able to make an unbiased estimated of Q 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.
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^ i (l) x liminary decision. With ei = yi (l) ; g(l), where g(l) = h ^(l).
Qs(l) =
eA eB
eA eB
eA k2 eAeB = k eA eB keB k2
(5.10)
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.
where the local covariance matrix Qs, according to equation (5.10), is given by
Qs(l) =
eA eB
eA eB
eA k2 eAeB = k eA eB keB k2
(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.
2 keA k2 = e2 Ai + eAq
eAeB = (eAi + jeAq )(eBi + jeBq ) = = eAi eBi + eAq eBq + j (eAq eBi ; eAi eBq ) 2 2 keB k = e2 Bi + eBq
36
(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
page 33
38
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
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
Demodulation
AFC
Demodulation
AFC
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
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.
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.
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
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.
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.
49
IRC MRC
BER
SNR dB
Figure 8.1:
of SNR.
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:
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:
IRC MRC
FER
C/I dB
Figure 8.5:
52
IRC MRC
BER
C/I dB
Figure 8.6:
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
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:
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
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:
55
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:
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 IRC algorithm and the number of cycles used by the MRC algorithm 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
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).
60
Appendix A
ML channel estimate
Assume the following (n > m):
61
62
Appendix B
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
= q q ;q q 41 32
q4 ;q3 ;q2 q1
jQj 6= 0
With eT = eA eB
= eH Q;1 e = 1 1 = jQ j = 1
jQj
eAeB yields
Exploiting the properties of the impairment, i.e. q3 = q2 and (eA eB ) = 1 ke k2 q ; e e q ; e e q + ke k2 q M = jQ j A 4 AB3 AB2 B 1 1 ke k2 q + ke k2 q ; (q e e + q e e ) = = jQ j A 4 B 1 2AB 2AB 1 ke k2 q + ke k2 q ; 2Rfq e e g) = jQ 2AB j A 4 B 1
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 2 2 2 M = q q ; (q (e2 Ai + eAq )q4 + (eBi + eBq )q1 ; 2 q2i (eAi eBi + eAq eBq )+ 2 2 + q ) 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