You are on page 1of 73

Interference Rejection Combining

System Performance
Mats Dahlqvist

Master of Science Thesis


IR-SB-EX-0020

May 27, 2000

Signal Processing Ericsson Radio Systems AB


Department of Signals, Sensors and Systems LRF/BT Signal Processing
Royal Institute of technology Kista, Sweden
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 al-
gorithm 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 evaluat-
ing 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 con-
cerning 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 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 Di erences 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 Di erences 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 Veri cation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 o ers 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
di erent 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

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 Evolu-
tion), 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 imple-
mentation 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 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 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 com-
munications system, where the information is transmitted by radio waves.
Figure 2.1 shows how the information propagates from sender to receiver.
Source Channel Inter- Burst Modulation
encoding encoding leaving formatting

Channel

Source Channel De-inter- Equalizing Demodu-


decoding decoding leaving lation

Comb. Channel Sync.


est.

Figure 2.1: The main blocks of a wireless digital communication system.

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 a ect several consecutive symbols. Channel coding is most e ec-
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.

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.

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.

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 be-
cause 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 num-
ber 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
between the bit energy and the spectral density of the noise. SNR = NEb0 .
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 58 26 58 3

Tail Left Data Training Sequence Right Data Tail

Guard Time Guard Time


0:577 ms

Figure 2.3: 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.

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 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 wave-
length 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  14 m/s
  0:33 m
  0:012 s
2v
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

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

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 15s [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 gen-
erated by the front end of the receiver, where signal ampli cation is per-
formed. 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 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 di erent 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 di erent
carrier frequencies. The carrier frequencies must be suciently sepa-
rated from each other in order to get di erent 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 di er-
ent 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 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 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.

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

and w(n) the impairment in the two branches


" #
w(n) = ww12 ((nn))

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)

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 impair-
ment, 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
y = Efy(n)g = EfHx(n) + w(n)g = Hx(n) + |Efw{z(n)g} =
0
= Hx(n) (4.5)
Cy = Ef(y(n) ; Efy(n)g)(y(k) ; Efy(k)g) g = !
H

= Efw(n)w(k)H g = Q(n)(n ; k) = qq1 qq2 (n ; k) (4.6)


3 4

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)  CN (y ; Cy ), and the


probability density function (pdf) is:

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

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

x^ = arg max P(x j Y ) = dBayes Rulee = arg max p(Yjx) P(x)


x x p(Y) (5.1)

The probability density function p(Y) does not depend on x, and can there-
fore 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

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.

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 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].

 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 se-
quence 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 sam-
ples 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) y(n)
hi (n) +

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

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 coecients of the i:th
channel. The vector ri containing the received sequence yi (n) is then given
by

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

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

h^i = arg min


h
kr ; Phk2 = (PH P);1 PH ri (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 po-
sitions 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 cor-
relation 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 qual-
ity 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
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 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 (5.7)
 = 0:98
= 0:5
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 Q^ 0 = 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.

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)

To be able to make an unbiased estimated of Q^ 0 , 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 impair-
ment 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 sam-
ples. The impairment is calculated from the received symbol and the pre-
liminary decision. With ei = yi (l) ; g(l), where g(l) = h^ i (l)  x^(l).

! !
Qs(l) = eA  e e  = keA k2 eAeB (5.10)
eB A B eA eB keB k2

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 chan-
nels, 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 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.

6.1 New features to be implemented


Since IRC is closely related to MRC, the implementation of the IRC algo-
rithm 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 deci-
sions in the Viterbi algorithm.
4. The two branches should use the same index pointing out the start po-
sitions 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 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.

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  e e  = keA k2 eAeB (6.2)
eB A B eA eB keB k2
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.

keA k2 = e2Ai + e2Aq


eAeB = (eAi + jeAq )(eBi + jeBq ) =
= eAi eBi + eAq eBq + j (eAq eBi ; eAi eBq )
keB k = e2Bi + e2Bq
2

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 simpli ed in order to reduce the number of opera-
tions/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


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)

where q4 q1 ;(q122i +q22q ) comes from the division by the determinant.


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 = (e2Ai + e2Aq )q4 + (e2Bi + e2Bq )q1 ;


; 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 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 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 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.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 there-
fore 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.?
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 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.

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 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 assem-
bly. The linear assembly is similar to assembly code but linear assembly
does not include information about which registers to use, or parallel in-
structions. 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 optimiza-
tion 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 sucient 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 implementa-
tion 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 com-
parison 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 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 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 Static AWGN channel
tu Typical Urban
ht Hilly Terrain
ra Rural Area
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 perfor-
mance for di erent SNR values are measured. In the interference measure-
48
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. Fre-
quency 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
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 di erent 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

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 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 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 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

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

Figure 8.7: 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.

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 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

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.

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

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 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.

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
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.

8.3 Comparison with oating point implementa-


tion
In [Lin97] simulations are presented showing that the IRC algorithm is ap-
proximately 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 ap-
proximately 6 dB. In [Hed99] a method of converting a oating point imple-
mentation into xed point was studied. By using this method, the oating
point implementation in [Lin97] was converted into a xed point implemen-
tation. 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 perfor-
mance between the oating point implementation and the converted version.
Figure 8.11 also shows that the performance of the DSP xed point imple-
mentation is slightly better than the other ones for higher C/I.

56
IRC
MRC
Fl. point
Conv. Fx. p
BER

C/I dB

Figure 8.11: 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.

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
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 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;1 e(n)

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)

As described in section 4.3, the covariance matrix is Hermitian, which means


that q3 = q2 .
! !
Q;1 = 1 q4 ;q3 1
= q q ;q q q4 ;q3 jQj 6= 0
jQj ;q2 q1 41 32 ;q2 q1
 
With eT = eA eB the delta metric can be written as

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 )

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 ; q2q2 = q4q1 ; kq2k2


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

You might also like