Professional Documents
Culture Documents
Interference Rejection Combining PDF
Interference Rejection Combining PDF
System Performance
Mats Dahlqvist
iii
iv
Contents
1 Introduction 3
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 A short overview of GSM 7
2.1 A wireless digital communication system . . . . . . . . . . . . 7
2.2 Concept of a cellular system . . . . . . . . . . . . . . . . . . . 8
2.2.1 Interference and Sensitivity limited Cellular Systems . 9
2.3 Time Division Multiple Access . . . . . . . . . . . . . . . . . 10
2.3.1 The burst format . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Training Sequence . . . . . . . . . . . . . . . . . . . . 10
3 The Channel and the Equalizer 13
3.1 Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1 Flat Fading . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.2 Inter-symbol Interference . . . . . . . . . . . . . . . . 14
3.1.3 Thermal Noise . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Equalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Diversity Techniques . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.1 Combining Methods . . . . . . . . . . . . . . . . . . . 16
4 System and Data Model 19
4.1 System model . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Block description of the system . . . . . . . . . . . . . . . . . 21
4.3 Properties of the received signal . . . . . . . . . . . . . . . . . 22
5 Interference Rejection Combining 25
5.1 Interference Rejection Combining . . . . . . . . . . . . . . . . 25
5.2 Using the Viterbi algorithm . . . . . . . . . . . . . . . . . . . 26
5.3 Synchronization of the received burst . . . . . . . . . . . . . . 27
v
5.4 Channel estimation . . . . . . . . . . . . . . . . . . . . . . . . 28
5.5 Joint synchronization position . . . . . . . . . . . . . . . . . . 29
5.6 Covariance estimation . . . . . . . . . . . . . . . . . . . . . . 29
5.6.1 Non-Synchronized Interferers . . . . . . . . . . . . . . 30
5.6.2 Tracking algorithm . . . . . . . . . . . . . . . . . . . . 30
5.6.3 Calculating an initial covariance estimate . . . . . . . 31
5.6.4 Calculating the local covariance . . . . . . . . . . . . . 31
5.6.5 Reversed time tracking for the left burst half . . . . . 32
5.7 Dierences between IRC and MRC . . . . . . . . . . . . . . . 32
6 Implementation 35
6.1 New features to be implemented . . . . . . . . . . . . . . . . 35
6.1.1 Calculation of the initial covariance estimate . . . . . 36
6.1.2 Updating the covariance matrix . . . . . . . . . . . . . 36
6.1.3 Calculation of the delta metric . . . . . . . . . . . . . 37
6.2 Output from the equalizer . . . . . . . . . . . . . . . . . . . . 38
6.3 Dierences between
oating and xed point implementation . 38
6.3.1 Automatic Frequency Control . . . . . . . . . . . . . . 38
6.3.2 Impulse Response Combining . . . . . . . . . . . . . . 39
6.3.3 Impairment calculating . . . . . . . . . . . . . . . . . 39
6.3.4 Metric scaling . . . . . . . . . . . . . . . . . . . . . . . 39
6.4 Program
ow . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7 The Hardware Platform 43
7.1 Linear assembly with Texas C60 . . . . . . . . . . . . . . . . 43
7.2 Hardware Limitations . . . . . . . . . . . . . . . . . . . . . . 44
7.3 Verication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.3.1 Function tests . . . . . . . . . . . . . . . . . . . . . . . 45
7.3.2 Performance tests . . . . . . . . . . . . . . . . . . . . 45
8 Performance Evaluation 47
8.1 Simulation aspects . . . . . . . . . . . . . . . . . . . . . . . . 48
8.1.1 Channel models . . . . . . . . . . . . . . . . . . . . . . 48
8.1.2 Parameter settings . . . . . . . . . . . . . . . . . . . . 48
8.2 Comparison between MRC and IRC . . . . . . . . . . . . . . 49
8.2.1 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.2.2 Interference . . . . . . . . . . . . . . . . . . . . . . . . 51
8.2.3 Performance with joint burst synchronization position 55
8.3 Comparison with
oating point implementation . . . . . . . . 56
8.4 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9 Conclusions and Further Work 59
9.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.2 Suggestions for further work . . . . . . . . . . . . . . . . . . . 60
vi
A ML channel estimate 61
B Derivation of the delta metric 63
Bibliography 65
1
2
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 lim-
ited capacity is a problem. The consequence is that mobile stations interfere
with each other. GSM oers several solutions to remedy this capacity prob-
lem. 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 interfer-
ence on several users.
Another way of handling the capacity problem is to allow interference from
dierent mobile stations, and to improve the receivers ability to reject the
interfering signal. One way of interference rejection, is to use the cross-
covariance 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 diver-
sity 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
3
1.2 Previous Work
1.3 Purpose
1.5 Abbreviations
acf autocorrelation function
AFC Automatic Frequency Control
AWGN Additive White Gaussian Noise
BER Bit Error Rate
C/I Carrier-to-Interference ratio
CMA Common Memory Area
DSP Digital Signal Processor
FER Frame Erasure Rate
FIR Finite Impulse Response
GMSK Gaussian Minimum Shift Keying
GSM Global System for Mobil communication
ISI Inter Symbol Interference
IRC Interference Rejection Combining
MAP Maximum a posteriori probability
ML Maximum Likelihood
MLSE Maximum Likelihood Sequence Estimator
MRC Maximum Ratio Combining
pdf probability density function
SNR Signal-to-Noise Ratio
TDMA Time Division Multiple Access
5
1.6 Notation
x(n) y(n) the convolution of x(n) and y(n)
a scalar
a vector
A matrix
a the complex conjugate of a
jAj the determinant of matrix A
I the identity matrixq
kak the norm of a, i.e.
P a2
i i
aT the transpose of a
aH the Hermitian transpose, i.e. complex conjugate transpose of a
Efag the expectation value of a
Rfag the real part of a
Ifag the imaginary part of a
(n) the Dirac function,
(
(n) = 10;; ifotherwise
n=0
6
Chapter 2
A short overview of GSM
This chapter will brie
y describe the principle of a wireless digital commu-
nication system in general, and GSM in particular. More information about
wireless communication systems can be found in [PS94, AZ97]. This de-
scription will focus on the parts of GSM that aects Interference Rejection
Combining.
Channel
7
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 se-
quences as possible. However, the channel encoder introduce redun-
dancy 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 aect several consecutive symbols. Channel coding is most eec-
tive 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 dur-
ing the transmission. The channel decoder uses the redundancy intro-
duced 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.
Figure 2.2: 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.
1 2 3 4 5 6 7 8
3 58 26 58 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 autocorrela-
tion 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 aected 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.
v 14 m/s
0:33 m
0:012 s
2v
The cannel is therefore considered to be constant during one burst.
ai;1
Base station
Mobile station
Re
ecting object
Figure 3.1: Inter Symbol Interference caused by a re
ecting object. The consecu-
tive symbols a and a ;1 will arrive at the receiver at the same time. The received
i i
symbol will be a + a ;1 .
i i
14
The GSM specication prescribes an equalizer that should be able to handle
a re
ected signal delay up to four bit times. This corresponds to a path
dierence of 4:5 km, or 15s [AB95].
N0 = kTNf (W/Hz)
where k = 1:38 10;23 is Boltzmann's constant and T is the absolute tem-
perature. 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 dis-
persion. 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 Se-
quence 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 dierent time slots. The time slots should be suciently
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 dierent
carrier frequencies. The carrier frequencies must be suciently sepa-
rated from each other in order to get dierent fading patterns. This
method requires more bandwidth, which is a limited resource.
Polarization diversity utilizes the orthogonal property of electro-magnetic
waves, and the fact that fading occurs more or less independent in the
horizontal and vertical components of the signal.
Space diversity uses several receiving antennas which are placed at dier-
ent locations. The separation needed is proportional to the frequency
used. Antenna diversity doesn't require any extra bandwidth, and no
extra transmission power.
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].
The signal transmitted by the mobile station is corrupted by ISI and ther-
mal 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) y1 (n)
x^(n)
h2(n) y2 (n)
x(n)
Figure 4.1: 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).
the interfering mobile station, is denoted w(n) = [w1 (n) w2 (n)]T . The ther-
mal 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 im-
pairment as a temporally white, spatially colored complex Gaussian process
with the following properties.
Efw(n)g = 0 (4.1)
Efw(n)wH (k)g = Q(n)(n ; k) (4.2)
Efw(n)wT (k)g = 0 (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 dierent 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).
h1 (n) +
y1(n)
x(n) x^(n)
Equal.
w1 (n)
h2 (n)
y2 (n)
+
w2 (n)
Figure 4.2: 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
using the same carrier frequency. Let H be a matrix consisting of the two
sets of channel coecients h1 and h2
" #
H = hh1T
T
2
Let x(n) be a vector with time delayed copies of the transmitted signal.
2 x(n) 3
66 x(n ; 1) 77
x(n) = 666 x(n ; 2) 777
4 x(n ; 3) 5
x(n ; 4)
Now the received signals y1 (n) and y2 (n) for the two antennas can be written
as
" #
Y(n) = yy12((nn)) = Hx(n) + w(n) (4.4)
1 H ;1
p(y(n)jx(n)) = 1 exp ; (y(n) ; Hx(n)) Q (n) (y(n) ; Hx(n))
(2) jQ(n)j
N
2 2 (4.7)
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
" # " #
y T
1 y 1 (0) : : : y 1
Y = yT = y2(0) : : : y2(N ; 1)( N ; 1)
2
The probability density function p(Y) does not depend on x, and can there-
fore be omitted The expression can also be simplied 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
P(x) = M1 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
Y
p(Yjx) = p(y(0) \ y(1) : : : \ y(N ; 1)jx) = dIndependente = p(y(n)jx)
n (5.2)
Using the probability density function (4.7), the estimate can be written as
Y Y
x^ = arg max
x
p(y ( n )j x ) = arg max
x
ln p(y(n)jx) =
n
X n
= arg min (|y(n) ; Hx(n))H Q ;1 (y(n) ; Hx(n)) (5.3)
x
n {z }
M
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)
There is a risk that the covariance matrix in equation (5.4) becomes singu-
lar. 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 covari-
ance matrix becomes singular [Hei96].
w(n)
Figure 5.1: The training sequence is used to estimate the channel. w(n) is white
Gaussian noise.
0 1
0 yi(4) 1 B x(4) : : : x(0) 0 hi (0) 1 0 wi (4) 1
B@ ... CA = BB x(5) : : : x(1) C
CB .. C B . C
B@ ... .. C @ . A + @ .. A
. C
..
yi(25) . A hi (4) (5.5)
| {z } | x(25) : : : x(21) |
{z } {z } | wi{z(25) }
ri hi vi
P
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.
Interferer 1 Interferer 2
Training Sequence
t
Incorrect Correct
estimate estimate
Figure 5.2: 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 dierent signal properties. This results in an
incorrect estimate for the left burst half.
NX
;1
Q^ 0 = M1 (y(n) ; Hx(n))(y(n) ; Hx(n))H (5.8)
n=k;1
Using the vector notation from section 5.4, element qij can be written as
H
qij = M1 rj ; Ph^j ri ; Ph^i (5.9)
! !
Qs(l) = eA e e = keA k2 eAeB (5.10)
eB A B eA eB keB k2
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 imple-
mentation has together with [Lin97] been used as an algorithm description.
This, and the next chapter, serves as a documentation of the xed point
implementation.
35
6.1.1 Calculation of the initial covariance estimate
The initial covariance matrix is calculated from the received symbols cor-
responding to the training sequence (see equation (5.8)). The rst four
symbols are not used since they are corrupted by ISI from unknown sym-
bols.
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.
! !
Qs(l) = eA e e = keA k2 eAeB (6.2)
eB A B eA eB keB k2
eA = eAi +jeAq is the dierence between the received sample and the delayed
preliminary symbol decision in the Viterbi algorithm. A sample delay of four
symbols is used.
36
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 simplied in order to reduce the number of opera-
tions/cycles, needed in the DSP.
The simplications 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
M = q q ; (q12 + q2 ) (e2Ai + e2Aq )q4 + (e2Bi + e2Bq )q1 ;
41 2i 2q
; 2 [q2i(eAi eBi + eAq eBq ) + q2q (eAi eBq ; eAq eBi )]) (6.3)
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 aect 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 se-
quence is used by the channel decoder to decide which information symbols
that was transmitted. This is performed in a similar way as when the equal-
izer 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 dierences between dierent 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].
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 Re-
sponse 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.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.?
Impulse
Response
Synchronization Combining
Postprocess
Channel
Estimation
Calculate
impairment
Estimate
channel quality
Calculate
covariance
Both channels matrix
Best
channel? Use best
start position
End estimation
Figure 6.1: 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 buer. 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.
40
Demodulation
Start
Initialize
right burst half
Update
covariance Demodulation AFC
matrix
Extract
bits and softvalues
Initialize
left burst half
Reset
covariance matrix
Update
covariance Demodulation AFC
matrix
Extract
bits and softvalues
End
demodulation
Figure 6.2: 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.
41
42
Chapter 7
The Hardware Platform
This chapter will discuss the platform specic 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 verication.
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.
45
46
Chapter 8
Performance Evaluation
Simulations are performed using Syssim which is a C/C++ signal processing
simulator. Dierent devices form the signal processing chain of the base
station. In this thesis the equalizer of the simulation chain has been modied
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 es-
timated 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 aected. 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 aect the
performance.
49
IRC
BER MRC
SNR dB
Figure 8.1: A tu50 channel in a noise limited system. BER is plotted as a function
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. Fig-
ure 8.3 { 8.6 shows the performance for the IRC equalizer for dierent chan-
nels 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
Since IRC uses the correlation between the channels to suppress the in-
terferer, 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 dierent 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 sup-
pressed 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
IRC
MRC
FER
C/I dB
52
IRC
MRC
BER
C/I dB
IRC
MRC
=0
= 0:5
= 0:7
= 1:0
BER
C/I dB
Figure 8.7: Plot showing how the correlation aects 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.
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 Com-
bining. 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 dierences between the dierent settings.
As described in section 6.3.1 the aim of the AFC is to compensate for Doppler
Shifts and Frequency osets. During these simulations there is no frequency
oset. 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
Figure 8.8: 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.
IRC
MRC
noTrack
tu3
tu50
BER
C/I dB
Figure 8.9: The BER as a function of C/I for a tu3 and tu50 channel. The plot
shows that there is almost no dierence 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.
55
IRC
MRC
BER No common
C/I dB
Figure 8.10: 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.
56
IRC
MRC
Fl. point
Conv. Fx. p
BER
C/I dB
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
signicant 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 prole 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
cycles
= 1:54. As mentioned above, the manual optimization process
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 chan-
nels 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 to-
gether 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 dier
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):
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
61
62
Appendix B
Derivation of the delta
metric
The delta metric, M , is according to section 5.2 given by
where Q is the covariance matrix for y. From section 4.3 we get the expres-
sion of the covariance matrix.
! !
Q = EfwwH g = Ef wA wA wA wB g = q1 q2
wB wA wB wB q3 q4 (B.1)
63
! !
M = eH Q;1 e = 1 eA q4 ;q3
eB eA
jQj ;q2 q1 eB
1 eAq4 ; eB q3 !
= jQj eA eB ;eAq2 + eB q1 =
= jQ1 j keA k2 q4 ; eA eB q3 ; eA eB q2 + keB k2 q1
Exploiting the properties of the impairment, i.e. q3 = q2 and (eA eB ) =
eAeB yields
M = jQ1 j keA k2 q4 ; eA eB q3 ; eA eB q2 + keB k2 q1
= jQ1 j keA k2 q4 + keB k2 q1 ; (q2 eA eB + q2 eA eB ) =
= 1 ke k2 q + ke k2 q ; 2Rfq e e g)
jQj A 4 B 1 2AB
q2 = (q2i + jq2q )
eA = (eAi + jeAq )
eB = (eBi + jeBq )
M = q q ; (q12 + q2 ) (e2Ai + e2Aq )q4 + (e2Bi + e2Bq )q1 ; 2 [q2i (eAi eBi + eAq eBq )+
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 Communica-
tions. 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, Oc-
tober 5, 1998.
[Gau99] Simon Gaude. Detailed design Whitbread Equalizer. Technical Re-
port 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 Insti-
tute 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 Non-
Synchronized Base Stations. Royal Institute of Technology, March
1998.
[Lau86] Pierre A. Laurent. Exact and Approximate Construction of Digi-
tal 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 Communica-
tions. McGraw-Hill, Inc., third edition, 1995.
[PS94] John G. Proakis and Masoud Salehi. Communication Systems En-
gineering. Prentice-Hall, 1994.
[Tex98] Texas Instruments. TMS320C62x/C67x Programmer's Guide, 1998.
66