• No results found

Algorithms for analysis of GSM phones’ modulation quality

N/A
N/A
Protected

Academic year: 2021

Share "Algorithms for analysis of GSM phones’ modulation quality"

Copied!
49
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete

Algorithms for analysis of

GSM phones’ modulation quality

Examensarbete utfört i Reglerteknik vid Tekniska högskolan i Linköping

av

Tobias Carlstedt

LiTH-ISY-EX--09/4252--SE

Linköping 2009

Department of Electrical Engineering Linköpings tekniska högskola

(2)
(3)

Algorithms for analysis of

GSM phones’ modulation quality

Examensarbete utfört i Reglerteknik

vid Tekniska högskolan i Linköping

av

Tobias Carlstedt

LiTH-ISY-EX--09/4252--SE

Handledare: Johan Iseskog Flextronics Niklas Beskow

Flextronics Daniel Ankelhed

isy, Linköpings universitet

Examinator: Fredrik Gunnarsson

(4)
(5)

Avdelning, Institution

Division, Department

Division of Automatic Control Department of Electrical Engineering Linköpings universitet

SE-581 83 Linköping, Sweden

Datum Date 2009-03-11 Språk Language ¤ Svenska/Swedish ¤ Engelska/English ¤ £ Rapporttyp Report category ¤ Licentiatavhandling ¤ Examensarbete ¤ C-uppsats ¤ D-uppsats ¤ Övrig rapport ¤ £

URL för elektronisk version

http://www.control.isy.liu.se http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-17248 ISBNISRN LiTH-ISY-EX--09/4252--SE

Serietitel och serienummer

Title of series, numbering

ISSN

Titel

Title

Algoritmer för analys av GSM-telefoners modulationskvalitet Algorithms for analysis of GSM phones’ modulation quality

Författare

Author

Tobias Carlstedt

Sammanfattning

Abstract

Instruments for analyzing radio signals are very expensive and their full capacity is seldom used outside the research and development and the type approval depart-ments. Instrument manufacturers have historically integrated the hardware and the software into a single unit. But some instrument manufacturers are beginning to change this. The software is moved to a PC and the hardware samples the time continuous signal and sends it to the computer for analysis or for saving it on a file. Since the data from the hardware is in a raw format this opens up for other than the instrument manufacturer to supply the software.

This thesis presents algorithms for calculating power, phase error and frequency error. It is shown that the results from these algorithms are comparable to the results from commercial analysis software. It is concluded that it is possible to create own analysis software at a reasonable cost with the possible downside of it being slower than commercial software.

(6)
(7)

Abstract

Instruments for analyzing radio signals are very expensive and their full capacity is seldom used outside the research and development and the type approval depart-ments. Instrument manufacturers have historically integrated the hardware and the software into a single unit. But some instrument manufacturers are beginning to change this. The software is moved to a PC and the hardware samples the time continuous signal and sends it to the computer for analysis or for saving it on a file. Since the data from the hardware is in a raw format this opens up for other than the instrument manufacturer to supply the software.

This thesis presents algorithms for calculating power, phase error and frequency error. It is shown that the results from these algorithms are comparable to the results from commercial analysis software. It is concluded that it is possible to create own analysis software at a reasonable cost with the possible downside of it being slower than commercial software.

Sammanfattning

Mätinstrument för analys av radiosignaler är idag mycket dyra och alla funktioner används sällan utanför forskning och utvecklingsavdelningarna. Historiskt sett har instrumenttillverkare integrerat hårdvara och analysmjukvara i en enhet, men vissa tillverkare håller på att ändra detta. Analysmjukvara flyttas till en vanlig PC som, med ett interface till den samplande hårdvaran, kan analysera datan eller spara den till disk. Om datan dessutom är i ett öppet format öppnar detta upp för att andra än hårdvarutillverkaren tillverkar analysmjukvaran.

Uppsatsen presenterar algoritmer för att beräkna effekt, fasfel och frekvensfel. Det visas att resultaten från de här algoritmerna ger resultat som är jämförbara med resultaten från kommersiell analysmjukvara. Slutsatsen är att det är fullt möjligt att göra egen analysmjukvara till en rimlig kostnad med eventuell nackdel att den är något långsammare.

(8)
(9)

Acknowledgments

I would like to thank my supervisor Johan Iseskog at Flextronics for the guiding and for the commitment he has shown throughout the making of this thesis. I would also like to thank Niklas Beskow at Flextronics and Daniel Ankelhed at isy for their input and help. Further I thank Flextronics for this opportunity and Fredrik Gunnarsson at isy.

(10)
(11)

Contents

Nomenclature xi 1 Thesis background 1 1.1 Background . . . 1 1.2 Purpose . . . 1 1.3 Objectives . . . 1 2 Introduction to modulation 3 2.1 Overview . . . 3

2.2 I/Q representation of baseband signals . . . 5

2.3 GSM – GMSK . . . 7

2.3.1 GMSK modulation . . . 8

2.3.2 The signal in practice . . . 10

3 Analysis of a GSM burst 13 3.1 Power of a signal . . . 13

3.2 Detection . . . 14

3.3 Synchronization . . . 14

3.3.1 Cross-correlation method . . . 15

3.3.2 Minimum Mean Squared Error method . . . 16

3.3.3 Phase delay method . . . 18

3.4 Decoding . . . 20

3.5 Frequency and phase error estimation . . . 21

4 Implementation 23 5 Results 25 5.1 Test setup . . . 25

5.2 Measurement results . . . 25

5.2.1 RMS phase error . . . 26

5.2.2 Peak phase error . . . 26

5.2.3 Frequency error . . . 28

5.2.4 Power . . . 28

5.3 Discussion . . . 28

(12)

x Contents

5.3.2 Computation times . . . 30

6 Conclusion 31

(13)

Nomenclature

Symbols

s(t) The sent signal unaffected by channel noise. It can also represent a perfectly modulated signal.

r(t) The received signal. The signal differs from the perfect signal in some way.

r∗(t) The complex conjugate of a signal. r(t) = (rI(t) + irQ(t)) = rI(t) − irQ(t).

(x ∗ y)(t) The convolution between x and y. Defined to be Z

−∞

x(τ )y(t − τ )dτ

(x ? y)(t) The cross-correlation between x and y. Defined to be Z

−∞

x∗(τ )y(t + τ )dτ

Acronyms

AM – Amplitude Modulation

FDMA – Frequency Division Multiple Access

FM – Frequency Modulation

GMSK – Gaussian Minimum Shift Keying

GSM – Global System for Mobile communications

MSE – Mean Square Error

MSK – Minimum Shift Keying

PM – Phase Modulation

PSK – Phase Shift Keying

RMS – Root Mean Square

TDMA – Time Division Multiple Access

(14)
(15)

Chapter 1

Thesis background

1.1

Background

Instruments for analyzing radio signals are expensive and their full capacity is seldom used outside the research and development and the type approval depart-ments. Instrument manufacturers have historically integrated the hardware and the software into a single unit.

Some instrument manufacturers however, are beginning to change this. The analyzing software is moved to a PC. The hardware samples the time continuous signal and sends it to the computer for analysis or saves it in a file. If the data from the hardware is in a raw open format (such as I/Q data) this opens up for other than the instrument manufacturer to supply the software.

1.2

Purpose

The purpose of this thesis is to examine the possibility to develop test software for analyzing sampled GSM/GMSK signals. Further, by comparing external analysis software with the software developed within this thesis, reach conclusions which could be used as basis for future decisions on software strategies. I.e we want to answer the question: Is it possible, with small resources, to develop own analysis software which can process sampled radio data from GSM cell phones?

1.3

Objectives

To be able to make radio measurements on a TDMA-based system like GSM, a burst needs to be detected and demodulated correctly. After that a reference signal is created, these two signals need to be synchronized with each other in order to analyze the measurement. Steps interesting from a signal processing point of view are:

(16)

2 Thesis background

• Finding the training sequence

• Synchronize measured and reference signal • Decode signal

• Frequency offset error estimation.

This thesis include an implementation of power, frequency offset and phase error measurement. These measurements are compared to the results from pur-chased software and to the 3GPP specification in regard to measurement accuracy. It also includes covered theory and conclusions.

(17)

Chapter 2

Introduction to modulation

2.1

Overview

When transmitting information via radio waves the signal consists of two parts, the carrier and the modulation. The carrier is a pure sine wave transmitted at frequency fc. Each carrier frequency represents a channel in which information can be sent. The information can be either an analog time continuous signal or it can be a discrete signal of symbols. There are mainly two different ways of modulating the information signal, amplitude modulation (AM) and phase modulation (PM). There is also frequency modulation (FM) but that can be considered a special case of PM. The two can also be combined into more complex modulations.

If the carrier is removed from the analog signal s(t) then only the information is left. The remaining signal is called the baseband signal and is usually written on complex form. This will be discussed in the Section 2.2. First we will do a quick overview of analog and digital modulation.

Analog modulation

When using AM to modulate an analog signal the amplitude of the transmitted signal is changed proportional to the information signal m(t). If for example we let the information signal be m(t) = sin(2πfmt) and is scaled appropriately by a factor C then the transmitted signal becomes like in Figure 2.1a and can be described as:

sam(t) = Cm(t) cos(2πfct) (2.1)

In PM you let the phase vary proportional to the information signal (see Fig-ure 2.1b). The modulating phase becomes

ϕ(t) = Cm(t) (2.2)

and the modulated signal

(18)

4 Introduction to modulation 0 0.2 0.4 0.6 0.8 1 −C C 0 time (a) 0 0.2 0.4 0.6 0.8 1 −E 0 E time (b)

Figure 2.1 (a) The figure illustrates an AM signal where the information signal m(t) is seen as the envelope of the signal. (b) The figure shows a PM signal where the phase changes proportional to the information signal resulting in a varying frequency.

Digital modulation

In digital communication the signal consists of a discrete set of symbols, in its most basic form two symbols, 0 and 1. If we have a set of N different symbols we can distribute the N symbols evenly on the available amplitude or phase interval. The modulation signal can then shift between these values, this type of modulation is called amplitude shift keying (ASK) and phase shift keying (PSK) respectively. This can be visualized in a constellation diagram shown in Figure 2.2. For an N-PSK modulation with 1/T symbols per second the signal could look like

s(t) = E M X m=0 cos(2πfct + ϕm)p(t − mT ) (2.4) where ϕm∈0,2π N, . . . , 2π −2πN .

If the pulse p(t) is a rectangular function of length T the signal becomes as in Figure 2.3. The signal contains discontinuities which leads to unnecessary broad bandwidth. Because of the extensive use of radio applications, the frequency spectrum becomes reserved rapidly. The different applications therefore need to use their assigned frequency range as efficient as possible. One way of reducing the bandwidth is to use a pulse other than the rectangular one, e.g. a Gaussian pulse can be used as will be described in Section 2.3. To further reduce the bandwidth we can limit how much the phase can change between each symbol.

If we for a 4-PSK make the phase continuous and change it exactly π/2 between each symbol the modulation is called minimum shift keying (MSK). In this case the symbols are not represented as a specific phase but rather if the phase change is positive or negative which represents 1 and 0 respectively. This also means that the MSK has memory and to decode a symbol all prior symbols are needed as well.

(19)

2.2 I/Q representation of baseband signals 5 −1 0 1 −1 0 1 5π 4 7π 4 0 π 3π 4 π 2 π 4 3π 2

Figure 2.2 Constellation diagram showing the symbol positions for an 8-PSK modula-tion.

2.2

I/Q representation of baseband signals

A general modulated signal can be described as

s(t) = a(t) cos(2πfct + ϕ(t)) (2.5)

where a(t) is the amplitude modulation (AM), ϕ(t) is the phase or frequency modulation (PM or FM) and fc is the carrier frequency.

When we want to study the modulation of a signal, which contains interesting information, a separation between carrier and modulation would make the analysis more convenient. The result will be a signal with two components called In-phase and Quadrature components referred to as the I/Q representation of the signal. However, to do this separation some requirements on the modulation must be met. We will return to this shortly.

To make analysis easier s(t) is written on complex form as s(t) = Rea(t)eiϕ(t)ei2πfct .

If we separate the carrier from the modulation to create the baseband signal

u(t) = a(t)eiϕ(t) (2.6)

the modulated signal can then be described as

s(t) = Reu(t)ei2πfct (2.7) = 1 2u(t)e i2πfct+1 2u (t)e−i2πfct (2.8)

where (·)∗denotes complex conjugate1. As we see the carrier is added just by

(20)

6 Introduction to modulation 0 50 100 150 200 −2 0 2 phi[n] rad 0 50 100 150 200 −1 0 1 s[n] sample

Figure 2.3 In the upper figure we see that the phase changes between four values rep-resenting different symbols. In the lower figure we see how this phase affects the carrier signal. We get discontinuities in the signal which leads to a broad spectrum.

If F denotes the Fourier transform we can study s(t) in the frequency domain by using the relationship Fu∗(t) = U(−f ). We get that

S(f ) = Fs(t) = 1 2 Z −∞ 

u(t)ei2πfct+ u(t)e−i2πfct

 e−i2πf tdt = 1 2 Z −∞ u(t)e−i2π(f −fc)tdt +1 2 Z −∞ u∗(t)e−i2π(f +fc)tdt = 1 2U (f − fc) + 1 2U (−f − f c) (2.9)

From this result we see that for us to be able to discriminate U (f − fc) from U∗(−f − fc), and thus u(t) from u(t), the two frequency responses must not overlap, see Figure 2.4. In practice, as a rule of thumb these narrowband signals should have Bu/fc < 0.1 as suggested in [1]. Where Bu is the 3 dB bandwidth of the signal u. Now when we have concluded that it is possible to separate the modulation from the carrier, we can look at the properties of u(t).

When the carrier has been removed from the signal we get the complex base-band signal u(t). A complex signal can not be realized physically, but for this analysis we can interpret it as complex. From (2.6) we get

(21)

2.3 GSM – GMSK 7 |S(f)| f fc −fc 1 2|U(f − fc)| 1 2|U∗(−f − fc)| |U (f)|

Figure 2.4 The spectrum of s(t) and u(t) is shown in the upper and lower figure respec-tively. Since u(t) is complex we see that the frequency response is no longer symmetric around zero.

By using trigonometric identities on (2.5) we get s(t) = a(t) cos(2πfct + ϕ(t))

= a(t) [cos (ϕ(t)) cos (2πfct) − sin (ϕ(t)) sin (2πfct)] . (2.11) As the signal s(t) is considered to be a cosine the cos(ϕ(t)) is said to be in phase and the sin(ϕ(t)) 90°out phase – in quadrature – to the carrier. Hence we refer to these components as the I/Q representation. We define:

sI(t) ≡ a(t) cos (ϕ(t)) (2.12)

sQ(t) ≡ a(t) sin (ϕ(t)) (2.13)

Hence the modulation becomes

u(t) = sI(t) + isQ(t). (2.14)

Which leads to the following expressions for envelope a(t) and phase ϕ(t): a(t) = q sI(t)2+ sQ(t)2 (2.15) ϕ(t) = arctan  sQ(t) sI(t)  (2.16)

2.3

GSM – GMSK

The GSM (Global System for Mobile communications) standard2is a combination

of Frequency Division Multiple Access (FDMA) and Time Division Multiple Access (TDMA). The 124 channels have a bandwidth of 200 kHz each, and a time frame

(22)

8 Introduction to modulation

is 120/26 ms. Each time frame is in turn divided into 8 time slots. It is in these time slots that the telephones transmit their information. See [7] for details.

GSM uses a form of phase modulation called GMSK (Gaussian filtered Mini-mum Shift Keying). The difference from ordinary MSK is that the phase change pulses are filtered through a Gaussian filter. This results in a narrower bandwidth of the modulated signal. The modulation also has a good relationship between out-of-band radiation suppression and bit-error-rate (BER). For further information see [6].

2.3.1

GMSK modulation

The GMSK modulation for GSM is described in the 3GPP specification TS 05.04 [4]. There the symbol rate is specified to 1/T = 1 625/6 ksymbs/s which is approxi-mately 270.833 ksymbs/s. Since every symbol is just one bit this is also the bitrate. The symbol period is denoted T .

The burst

The data burst is transmitted within a time slot. In this time slot the transmitter should ramp up output power, send its information and ramp power down again. The time slot is 156.25 symbol times wide and contains 148 modulated symbols. The remaining 8.25 symbol times, called guard period, are used for the up and down power ramp.

When the modulation starts the modulator should have an internal state as if a sequence of consecutive ones (di = 1) had been the input before the bitstream starts, these are called dummy bits. The active part of the burst starts and ends with three zeros (di= 0), called tail bits.

Encoding

The encoding is differential, which means that 1 is sent when the current bit is the same as the previous one and -1 if it is different. If di∈ {0, 1} represents a bit in the bit stream we produce the differential as

˜

di = di⊕ di−1 (2.17)

where ⊕ denotes modulo 2 addition. The values αi∈ {−1, +1}, which is the input to the modulator, is calculated as

αi = 1 − 2 ˜di. (2.18)

From this we make a sequence of Dirac pulses δ(t),

a(t) = X

i

(23)

2.3 GSM – GMSK 9

−3 −2 −1 0 1 2 3

Symbol period

Figure 2.5 The figure shows the g(t) filter impulse response. Since the impulse response stretches over several symbol periods we get intersymbol interference which also can be seen in Figure 2.6.

Gaussian filtering

We let this sequence excite a filter with impulse response g(t) = h(t) ∗ rect  t T  (2.20) where ∗ means convolution and

rect  t T  =  1 T for |t| < T2 0 otherwise . (2.21)

To narrow the bandwidth, the signal is passed through the Gaussian low pass filter defined by h(t) = exp  −t2 2T2  2πβT (2.22) where β = p ln(2) 2πBT with BT = 0.3

B is the 3dB bandwidth of the filter h(t) and BT , in GSM, is defined to be 0.3. The impulse response of g(t) is shown in Figure 2.5, from this we see that the impulse response is wider than one symbol period. Hence, if a pulse train of random signs would pass through the filter, the output would depend on not only the most recent pulse but also on the previous and future pulses, this is called intersymbol interference. One way of calculating the impulse response of g(t) is shown in Algorithm 1.

Output

(24)

10 Introduction to modulation Algorithm 1 Calculate impulse response g(n)

Let Tsymbe the symbol period, R the number of samples per symbol and Ts= Tsym/R the sampling period.

1. To get a good approximation of the analytical filter we want to be sure that the discrete filter is zero in its endpoints. We choose to include five symbol times in each direction from the center of the impulse response. For n = 0, . . . , Ng− 1 where Ng= (10Tsym− Ts)/R the discrete filter becomes h(n) = h(nTs− 5Tsym), where h(t) is the Gaussian filter impulse resonse defined in (2.22).

2. Normalize the coefficients in the filter such thatPNg−1

n=0 h(n) = 1. 3. Let wrect be a rectangular window of width R and height 1/R. 4. Then g(n) = h ∗ wrect(n). Where ∗ denotes convolution.

ϕ(t) = πh t Z −∞ a ∗ g (u) du = πh t Z −∞ X i αiδ(u − iT ) ! ∗ g(u) du = πh t Z −∞ X i αig(u − iT ) du (2.23a) =X i αiπh t−iTZ −∞ g(u) du (2.23b)

where h = 1/2 is the modulating index which means that π/2 is the maximum phase change per symbol period. The pulse train inside the sum in (2.23a) and the phase is shown in Figure 2.6. The modulated signal can therefore be expressed as

s(t) = r

2Ec

T cos(2πfct + ϕ(t) + ϕ0), (2.24)

where Ec is the energy per modulating bit, fc is the carrier frequency and ϕ(t) is the phase that contains the information.

From a known bitpattern we want to send, the modulating phase ϕ(t) can be calculated in discrete form as in Algorithm 2.

2.3.2

The signal in practice

In practice the signal is distorted by a few elements. The carrier frequency could be offset because of a drift in the mobile phone’s oscillator relative the base station.

(25)

2.3 GSM – GMSK 11

T 2T 3T 4T 5T 6T 7T 8T 9T 10T 11T 12T

Figure 2.6 The upper figure shows the pulse train a(t) in (2.19) and the sum of the Gaussian pulses as described in the sum inside the integral (2.23a). The individual pulses have been blended together causing intersymbol interference. The lower figure shows the ideal phase ϕ(t) in (2.23) which is the integral of the signal in the upper figure.

Also the modulation could be distorted due to e.g. nonlinear behavior of amplifiers and errors in filters. In addition, channel noise is added which in this case includes everything from delayed echoes to thermal noise. In this application the noise is very small and is often neglected. The received signal can be described as

r(t) = Ercos(2π(fc+ ∆f)t + ϕr(t) + ϕ0) + n(t) (2.25)

where Er is the received amplitude, ∆f the frequency error, ϕr(t) is the phase modulation, ϕ0 is a phase offset and n(t) is some random noise. Generally ϕr(t)

differs from ϕ(t) in (2.24) due to distortion.

When mixing down the signal r(t) to baseband u(t) and splitting it into quadra-ture components we get

ur(t) = rI(t) + irQ(t) (2.26) where rI(t) = Ercos(Φ(t)) (2.27a) rQ(t) = Ersin(Φ(t)) (2.27b) and Φ(t) = 2π∆ft + ϕr(t) + ϕ0. (2.28)

In the next chapter we will discuss methods for analyzing a GSM burst. Meth-ods for synchronization, measuring power, frequency error and phase error will be

(26)

12 Introduction to modulation

Algorithm 2 Calculating modulated I/Q data for bit sequence

Let bdata be the bit sequence we want to send. Rout is the number of samples per symbol in the output which should be divisible with R in Algorithm 1 which is the internal number of samples per symbol. Phase correction offset ε is in fractions of a symbol to modify start time. g(n) is the impulse response of length Ng from Algorithm 1.

1. Let bdatabe a bit sequence of length N where each element is 0 or 1. 2. Pad the sequence with six ones (dummybits) on each side to ensure the

right internal state of the modulator and call this sequence b.

3. Make a differential coding sequence a := 1 − 2(bi+1+ bi mod 2) which has length Na and where each element is −1 or 1.

4. We use Matlab notation and make a sequence ϕ0 of length N

ϕ= NaR + Ng such that for each k = 1, . . . , Na:

ϕ0(kR : kR + N

g− 1) := ϕ0(kR : kR + Ng− 1) + g(1 : Ng)

5. Calculate the numerical integral of ϕ0(e.g. trapezoid method) and multiply with the modulation index to get

ϕ(n) = π 2 n+R/2Z 0 ϕ0(m) dm where n = 0, 1, 2, . . . , N ϕ

6. Remove the dummybits, compensate for phase and extract the modulated data bits from ϕ.

nstart= Ng/2 + (5 + ε)R d = R/Rout

` = nstart, nstart+ d, nstart+ 2d, . . . , N R − d Φ = ϕ(`)

7. To get I/Q data calculate sine and cosine of the modulating phase: I = sin(Φ)

(27)

Chapter 3

Analysis of a GSM burst

Since GSM uses TDMA, information is sent periodically within a time slot. The radio transmitter therefore needs to ramp up the output power, send the informa-tion and then ramp down the power again. This sequence is called a burst. The power plot of a burst is shown in Figure 3.1.

3.1

Power of a signal

The mean power of a continuous signal u(t) is defined as

P = 1 T

α+TZ

α

|u(t)|2dt. (3.1)

For a discrete signal u(n) of length N the power is defined as energy per sample, hence P = 1 N N −1X n=0 |u(n)|2. (3.2)

Since u(n) = I(n) + iQ(n) we get that P = 1 N N −1X n=0 p I2(n) + Q2(n)2= 1 N N −1X n=0 I2(n) + Q2(n). (3.3)

To get the power in dB, which is common, the expression becomes P = 1

N N −1X

n=0

10 log I2(n) + Q2(n). (3.4)

To calculate the mean power of one burst however, we need to know where the burst starts and ends. This will be discussed in the coming sections.

(28)

14 Analysis of a GSM burst 0 1000 2000 3000 4000 5000 6000 7000 8000 −40 −20 0 20 Time (samples) dBm

Figure 3.1 The figure shows the power of burst versus time. We see the power ramp up at between 900 and 1000. After that follows 148 symbols at the specified output power and thereafter ramp down again.

3.2

Detection

To detect a burst in low noise measurement the most intuitive and easiest way is to look at the power vs. time plot, see Figure 3.1. What we see is that before and after the burst we have noise floor. The difference between output power and the noise floor should be as big as possible, a normal value is about 60 dB. So a good way of detecting the burst is to set a threshold at about one third of the difference and find the time when the power has risen 20 dB above the noise floor. Algorithm 3 describes a way of doing this.

If we have a measurement with high noise, another approach would be needed, e.g. the CUSUM algorithm. However this will not be covered in this thesis.

Algorithm 3 Locating burst

I and Q describes the received signal. ∆ is the capture threshold. The data should start at least 85 µs before the rising edge of the burst.

1. Calculate the power for the data set as Pi= 20 log10 p

I2 i + Q2i 2. Measure the noise level in the first 60 µs and take the mean ¯m. 3. Find the first index i where Pi> ¯m + ∆.

3.3

Synchronization

Synchronization is essential when decoding and analyzing a signal. To decode the signal we need to know what samples to read to have the best chance of getting the correct data. When we want to analyze the modulation to measure phase error and frequency error we need to align an ideal copy of the signal to compare with. For the measurements to be correct the synchronization has to be very precise.

(29)

3.3 Synchronization 15 0 500 1000 1500 2000 2500 3000 3500 4000 4500 −1 −0.5 0 0.5 1

Time shift (samples)

Figure 3.2 The figure shows the cross-correlation between a full burst and a training sequence.

find the correct timing to be able to decode the signal. There are eight different training sequences, which are defined in [3], and if it is not known beforehand we need to find which one of them is used. We here present two different approaches which can be used to both identify the training sequence and to synchronize the signal.

3.3.1

Cross-correlation method

The cross-correlation function shows how well two signals match each other at dif-ferent time shifts. The cross-correlation operator ?, as opposed to the convolution operation ∗, is defined as (x ? y)(t) ≡ Z −∞ x∗(τ )y(t + τ ) dτ (3.5) or in discrete time as (x ? y)(n) ≡ X m=−∞ x∗(m)y(n + m). (3.6)

If the signals are correlated, the cross-correlation function will produce a peak (or many if the signals are periodic) at the time when the two signals are most alike. If also the signals x and y varies around zero and have E{x} = E{y} = 0 the cross-correlation should also vary around zero except in the correlation peaks.

Our first guess could be to try to find the peak in the correlation between the I/Q data from measurements and training sequence. However, generally the signal has a frequency error which can lead to heavy distorted signals making the

(30)

16 Analysis of a GSM burst Algorithm 4 Identifying training sequence and rough synchronization through

the cross-correlation method

Let ϕ0(n) be the measured signal’s differentiated phase.

1. Let I(n) and Q(n) where n = 0, . . . , N − 1 be sampled at a rate of R samples per symbol.

2. Let δ be an integer such that R/δ ≈ 4 and let RT = R/δ. 3. For each of the eight TSCs calculate the differentiated phase ϕ0

T,i(n) sam-pled at a rate of RT samples per symbol. The index i represents the eight different TSCs.

4. Find the TSC and offset ˆm which maximizes the cross-correlation. Let ˆi ˆ m  = arg max i maxm 0? ϕ0 T,i)(m)

Instead, we look at the phase of the signal and differentiate it, and we get

Φ(n) = 2π∆fnT + ϕr(n) + ϕ0 (3.7)

Φ0(n) = d

dnΦ(n) = 2π∆fT + ϕ 0

r(n). (3.8)

Since ∆fT is small and ϕ0

r(n) is a sequence of Gaussian pulses, described in (2.20) and (2.23a), Φ0(n) varies around zero and has a mean near zero. In Figure 3.2 the cross-correlation between a measured signal and a training sequence is plotted.

Further we calculate the sequence of pulses for our Training Sequence Code (TSC) Θ(n) and calculate the cross-correlation between the two. We note however from the definition of cross-correlation that it is similar to that of convolution. The relationship between convolution and cross-correlation can be described as

(x ? y)(n) = x∗(−n) ∗ y(n). (3.9)

Hence for effective computation, circular convolution with FFT, as described in [5], can be used to calculate the cross-correlation. Since the phase is a real signal we get

(Θ ? Φ0)(n) = Θ(−n) ∗ Φ0(n). (3.10)

The effectiveness of this method depends on the sampling period Ts. If the two signals are offset by parts of a sample they will still not be completely synchronized. By choosing a smaller Ts the synchronization will get better at the expense of heavier calculations. The remaining time shift will be less than Ts/2.

3.3.2

Minimum Mean Squared Error method

Another way of synchronizing two signals with each other, is to analyze the dif-ference between the two signals at each time shift. By doing this we get the mean

(31)

3.3 Synchronization 17

squared error (MSE) function defined as MSE(n) =

M X m=0

|y(n + m) − x(m)|2. (3.11)

In the same way as in the cross-correlation method we look at the differentiated phase. However when we take the difference there is another approximation we can use to reduce computation complexity. Generally we have:

z1 = r1eiφ1 (3.12)

z2 = r2eiφ2 (3.13)

z1z∗2 = r1r2ei(φ1−φ2). (3.14)

For small differences in phase we can approximate it as arg(z1z2∗) = φ1− φ2 Im{z1z

2}

r1r2 = ˆφ

So by using this relation and assuming r1r2 constant we calculate the MSE

between a sequence of measured I/Q data u(n) = I(n) + iQ(n) and ideal TSC uT(n) = IT(n) + iQT(n) of length N . If we approximate the phase difference between u(n + m) and uT(n) where m is the offset as

ˆ

φ(n, m) = Im{u(n + m)u∗ T(n)}

= IT(n)Q(n + m) − I(n + m)QT(n) (3.15)

and take the approximate derivative as ˆ

φ0(n, m) = ˆφ(n + 1, m) − ˆφ(n, m). (3.16) Then the MSE for each time shift m is calculated as

MSE(m) = 1

N − n − 1 N −n−1X

n=0

| ˆφ0(n, m)|2 (3.17)

Then we want to find the m that minimizes the function, we get ˆ

m = arg min MSE(m) (3.18)

This method will in the same way as the cross-correlation method possibly leave the signals time shifted by maximum Ts/2 s, where Tsis the sampling period. Algorithm 5 shows how to identify the right TSC and find the synchronization to an accuracy of 1/8 symbol period. The algorithm finds the position of the 5th bit in the TSC, the position of any other symbol can then be derived from this. In Section 3.3.3 however, we introduce another method which precision does not

(32)

18 Analysis of a GSM burst Algorithm 5 Identifying training sequence and rough synchronization

Let I(n) and Q(n) be a part I/Q data containing at least the whole training sequence code (TSC).

1. Let I(n) and Q(n) where n = 0, . . . , N − 1 be sampled at a rate of R samples per symbol.

2. Let δ be an integer such that R/δ ≈ 4 and let RT = R/δ.

3. For each of the eight TSCs calculate the ideal signal IT,i(m), QT,i(m) sampled at rate RT, i = 0, 1, . . . , 7. To avoid intersymbol interference from unknown symbols we neglect the five symbols in the beginning and the end. We use m0= 5RT.

4. Let ri(j) = Q(jδ)IT,i(m0+ j) − I(jδ)QT,i(m0+ j) and find the TSC with the best match ˆiT and an approximate position ˆkT of the 5th symbol in the TSC. The TSC is 21 symbols long but we neglect five last as mentioned above so we end at symbol 16.

ˆiT ˆ kT  = arg min i mink k+16RXT j=k  d djri(j) 2

3.3.3

Phase delay method

A linear filter H can sometimes delay the filtered signal from input to output. As suggested in [5], this delay can be observed in the argument of the filters Fourier transform H(f ). We denote this argument, which often is called phase as

ϕ(f ) = arg H(f ). (3.19)

If we excite the linear filter H with a signal u(t) = cos(2πf t) the output will be y(t) = |H(f )| cos (2πf t + ϕ(f )) . (3.20) For this signal u(t) which contains only one frequency we can interpret this phase shift as a time delay, τf, and the output can be written

y(t) = |H(f )| cos (2πf t + ϕ(f )) = |H(f )|u(t − τf) (3.21) where we have defined

τf =−ϕ(f )

2πf (3.22)

The time τf is usually called phase delay. If τf is independent of f , i.e. ϕ(f ) is proportional to f , all frequencies are delayed equally much. Consequently, if we have two signals u(t) and v(t) = u(t − τ ) the phase difference of their Fourier

(33)

3.3 Synchronization 19 Algorithm 6 Phase delay calculation

Let r[n] and s[n] be the complex valued measured and ideal signal respectively. fs is the sampling frequency and both r(n) and s(n) is of length L. Bch is the channel bandwidth, in our case 200 kHz.

1. Take the L point FFT of the signals and let them be R[θ] and S[θ]. θ lies in the interval (−0.5, 0.5) and is the normalized frequency representing the frequency interval (−fs/2, fs/2).

2. Let θb= 3Bch/fs.

3. Let ¯PR and ¯PS be the average value of R[θ] and S[θ] respectively when −θb ≤ θ ≤ θb.

4. Create a set Θ =−θb≤ θ ≤ θb : R[θ] ≥ ¯PR and S[θ] ≥ ¯PS

.

5. Then fit a straight line to ϕSR[θ] = arg (S[θ]R∗[θ]) where θ ∈ Θ. Let this line be ˆϕSR[θ] = kθ + m.

6. Then time shift in seconds between r[n] and s[n] is

τ = k

2πfs/2.

transforms would be linear. Their Fourier transforms become

F{u(t)} = U (f ) = |U (f )|ei2πϕU(f ) (3.23)

F{v(t)} = V (f ) = U (f )e−i2πf τ

= |U (f )|ei2πϕU(f )e−i2πf τ (3.24)

If we denote the phase difference between V (f ) and U (f ) as ϕV U it can be written as

ϕV U = arg V (f ) − arg U (f ) = 2π(ϕU(f ) − f τ ) − 2πϕU(f )

= −2πf τ (3.25)

Here ϕV U is a continuous function and is not bound by ±π. We can then get the time difference between the two signals as

τf = −ϕV U(f )

2πf = τ (3.26)

ϕV U is periodic with period Tτ = 1/f which means that we can only detect a correct time shift if Tτ lies in the open interval [−1

2f,2f1]. Since the GSM channel

is 200 kHz wide the time shift interval becomes [−2.5, 2.5] µs which is about ±2/3 of a symbol. Therefore this method can be used in combination with one of the

(34)

20 Analysis of a GSM burst

In practice the measured signal u(t) contains noise which will distort the fre-quency function R(f ) and the phase function ϕ(f ). Therefore we only observe the phase function at the frequencies within the channel bounds and where the power is relatively high. One method of doing this is to calculate the mean power ¯P over a symmetric frequency interval around the center frequency. Then choose f such that V (f ) ≥ ¯P and U (f ) ≥ ¯P and calculate ϕV U(f ). This method is described in Algorithm 6. A frequency interval that seems to work in this application is 3Bch where Bch is the channel bandwidth.

3.4

Decoding

When decoding our received signal we want to restore the original data sequence by looking at the modulated signal. An intuitive way would be to reverse the modulation algorithm and this proves to work.

If we calculate the phase trajectory of the received signal we get the phase that we calculated in (2.23b). By differentiation and by looking at the sign we can reconstruct a(t) from (2.18). This requires that the signal has been synchronized so that we know exactly where the pulses can be found. We showed how to do this in the previous section. a(t) can then be decoded to our data sequence d since we know that the first bit in the burst is a 0. The method is described in Algorithm 7.

Algorithm 7 Decoding a burst

1. Let Φ(n) be the phase trajectory of a burst which starts at the first tail bit and is sampled once in each symbol. n ∈ {0, 1, . . . , 147}.

2. Differentiate the phase and look at the sign at each symbol, let a(n) = sgn  d dnΦ(n)  where sgn(x) =  1 x ≥ 0 −1 x < 0 and d dnx(n) ≈ x(n) − x(n − 1).

3. The first tail bit is known to be 0, let b0 = 0. Now for each i ∈ {1, 2, . . . , 147}:

bi= 

bi−1 if a(i) = 1 bi−1+ 1 (mod 2) if a(i) = −1

(35)

3.5 Frequency and phase error estimation 21 0 100 200 300 400 500 −2 0 2 4 6 8 0 100 200 300 400 500 −0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0

Figure 3.3 In the left figure we see the phase from the received signal (solid) and the ideal phase (dashed). In the right figure we see the residual (solid) and the straight line that estimates the frequency error (dashed).

3.5

Frequency and phase error estimation

When a signal is sent with wrong carrier frequency, due to drift in the local oscil-lator, the baseband signal gets distorted by the frequency offset. The phase of the signal becomes

Φ(n) = 2π∆fnT + ϕr(n) + ϕ0 (3.27)

n = 0, 1, 2, . . . , N − 1.

If the ideal phase is ϕ(n) and we assume that they are synchronized, the difference between the ideal and the actual received phase is

∆Φ(n) = 2π∆fnT + ϕr(n) − ϕ(n) + ϕ0. (3.28)

ϕr(n)−ϕ(n) is the phase error and can be considered to have mean of zero. Left is a linear term and an offset which can be estimated by linear regression, see Figure 3.3. This function can be estimated by

ˆ θ = arg min θ N −1X n=0 1n + θ2− ∆ϕ(n))2 (3.29)

where ˆθ is the best estimate of θ in a least square sense. The frequency error then becomes

ˆ

∆f= θˆ1

2πT. (3.30)

Using this result we can remove the frequency error from the signal phase or I/Q data. The frequency error compensated signals become

(36)

22 Analysis of a GSM burst

If we let 2π ˆ∆f = ˆ∆ω and we know that I(n) = a(t) cos(Φ(n)) and Q(n) = a(t) sin(Φ(n)) then the frequency error can be removed from the I/Q components of the signal by calculating the compensated components Ic and Qc as

Ic(n) = a(t) cos Φ(n) − ˆ∆ωnT

= a(t) cos Φ(n)cos ˆ∆ωnT+ a(t) sin Φ(n)sin ˆ∆ωnT (3.32) = I(n) cos ˆ∆ωnT+ Q(n) sin ˆ∆ωnT

and

Qc(n) = a(t) sin Φ(n) − ˆ∆ωnT

= a(t) sin Φ(n)cos ˆ∆ωnT− a(t) cos Φ(n)sin ˆ∆ωnT (3.33) = Q(n) cos ˆ∆ωnT− I(n) sin ˆ∆ωnT.

When the frequency error has been compensated for in the signal the phase error is still remaining in (3.28). Two variants of the phase error is interesting to calculate, the Root Mean Square (RMS) value and the peak value of the error. These quantities are calculated as follows:

εϕ,max= max ϕr(n) − ϕ(n) (3.34) εϕ,RMS= v u u t 1 N N −1X n=0 |ϕr(n) − ϕ(n)|2 (3.35)

We can now properly measure key values of a transmitted GMSK signal to be able to compare them to the requirements set up by ETSI1. In the next chapter

we will put these algorithms together to a complete program.

(37)

Chapter 4

Implementation

In this chapter we will briefly describe how one burst is analyzed. From the input of I/Q data to the output of mean power, frequency error and phase error using the algorithms presented in Chapter 3. The program is divided into eight steps which here will be presented chronologically.

1. When the I/Q data is loaded the first thing to do is to locate the burst. It is done using Algorithm 3.

2. The second step is to find out what training sequence is used and to do a coarse synchronization of the signal. It is done by using the cross-correlation method described in Section 3.3.1. The reason to use the cross-correlation opposed to using the minimum mean square error method is that the cross-correlation can be fast and efficiently calculated by using FFT. They also provide about the same accuracy, so the cross-correlation got the upper hand. We try to find the best timing of the ideal training sequence to the measured signal. Since we know that the training sequence is in the middle of the burst, we can reduce the complexity of the calculation by just looking for the maximum correlation in this part of the burst. From this synchronization we have a good enough timing to be able to decode the signal.

3. In the third step we decode the signal using Algorithm 7.

4. After that we can recreate the whole signal as an ideal copy. We create the ideal phase using Algorithm 2.

5. By comparing the ideal and the measured phase we can now calculate the frequency error as the slope of the line estimating the difference between the phases. This frequency error is then compensated for in the signal. The method is described in Section 3.5.

6. When the frequency error is removed we can "fine tune" synchronization by using the phase delay method described in Section 3.3.3 and Algorithm 6. From this we get the time shift between the ideal and measured phase and

(38)

24 Implementation

the ideal signal is then recalculated but with the samples time shifted an equal amount.

7. With the signals synchronized we can now calculate the RMS and peak phase error as described in Section 3.5.

8. Finally we also calculate the mean power of the signal. The power can however be calculated after step 2 if not all measurements is of interest. In the next chapter we will present the results obtained from this implementa-tion and compare it to the results from a commercial vendor of analysis software.

(39)

Chapter 5

Results

5.1

Test setup

The verification of the algorithms was done by measuring radio signals from two mobile phones. One measurement consists of 100 bursts from which we can see how the results are distributed. Each phone was measured at its lowest and high-est power level and on each power level the signal was measured three times on different sample rates. For each measurement the data is analyzed by the software of this thesis, from now on referred to as FlexGSM, and a commercial analysis software called AfGSM.

The measured quantities were output power, RMS phase error, peak phase error and frequency error. The different sample frequencies used were 1, 8 and 64 MHz which corresponds to 4, 30 and 236 samples per symbol respectively. One should note that the phones used are not calibrated in respect to power and frequency. This leads to that the power for the same power level differs between the two phones. The results from the comparison between the two pieces of software is presented in the next section and in Section 5.3 the results will be discussed.

5.2

Measurement results

When analyzing a measurement with each software we get two data sets. For each data set a mean value, ˆµ, as well as the variance, ˆσ, is estimated from the one hundred values in the data set. By approximating the results as being normal distributed, for details see [2], the true mean value, µ, can therefore be said to lie in the interval Iµ= (ˆµ − 1.96ˆσ/√100, ˆµ + 1.96ˆσ/√100) with 95% certainty.

The figures below show the 95% confidence intervals of the mean value. If two confidence intervals overlap they cannot be said to have significant different means. The descriptions to the left in the figures says what sample frequency and power level has been used. Note also that the scales are different between the phones.

(40)

26 Results RMS phase error 0.65 0.7 0.75 0.8 0.85 1 MHz high power 8 MHz high power 64 MHz high power 1 MHz low power 8 MHz low power 64 MHz low power Phone 1 FlexGSM AfGSM 0.75 0.8 0.85 0.9 0.95 1 MHz high power 8 MHz high power 64 MHz high power 1 MHz low power 8 MHz low power 64 MHz low power Phone 2 FlexGSM AfGSM

Figure 5.1 The figure shows the confidence interval of RMS phase error for different setups. The scale is in degrees. We see that FlexGSM consequently returns an RMS error 0.1 degrees below AfGSM.

5.2.1

RMS phase error

In Figure 5.1 we see the confidence interval of the RMS phase error measurements for the two phones. We see that FlexGSM consequently has a smaller mean of about 0.1 degrees compared to AfGSM and also a slightly larger variance. We also see that the data at 8 MHz sample rate gives the same result as the data at 64 MHz sample rate whereas the 1 MHz sampled data gives a higher frequency error.

One result that can not be seen in the figure is that FlexGSM returns a few outliers which lie at most at 0.45 degrees from the mean at the lowest sampling rate while AfGSM returns values at most 0.1 degrees from the mean. At higher sample rates no outliers are returned.

5.2.2

Peak phase error

In Figure 5.2 the confidence interval of the peak phase error is shown. From the results we see that values are lower for FlexGSM for the data sampled at 1 and 8 MHz but not for the 64 MHz sampled data where FlexGSM gives the same or higher results than AfGSM.

(41)

5.2 Measurement results 27

Peak phase error

1.7 1.8 1.9 2 1 MHz high power 8 MHz high power 64 MHz high power 1 MHz low power 8 MHz low power 64 MHz low power Phone 1 FlexGSM AfGSM 1.9 2 2.1 2.2 2.3 2.4 1 MHz high power 8 MHz high power 64 MHz high power 1 MHz low power 8 MHz low power 64 MHz low power Phone 2 FlexGSM AfGSM

Figure 5.2 The figure shows the confidence interval of peak phase error for different setups. The scale is in degrees. We see that FlexGSM returns a lower peak phase error than AfGSM except at 64 MHz sample rate.

Frequency error −1300 −1250 −1200 −1150 −1100 1 MHz high power 8 MHz high power 64 MHz high power 1 MHz low power 8 MHz low power 64 MHz low power Phone 1 FlexGSM AfGSM −1300 −1200 −1100 −1000 −900 1 MHz high power 8 MHz high power 64 MHz high power 1 MHz low power 8 MHz low power 64 MHz low power Phone 2 FlexGSM AfGSM

(42)

28 Results Power 22.81 22.82 22.83 22.84 22.85 22.86 22.87 22.88 1 MHz 8 MHz 64 MHz

Phone 1, High power

FlexGSM AfGSM −4.775 −4.77 −4.765 −4.76 −4.755 −4.75 −4.745 −4.74 −4.735 1 MHz 8 MHz 64 MHz

Phone 1, Low power

FlexGSM AfGSM

Figure 5.4 The figure shows the confidence interval of power for different setups. The scale is in dBm, note that the scales are different. We see that there is a very good resemblance and that we have at most a very small shift in mean.

5.2.3

Frequency error

When we look at the confidence intervals of the frequency error measurements in Figure 5.3 we see that we have perfect match. Variance and mean of the results are identical between the two softwares. We also note that the variance of the measurements increases with sample rate.

5.2.4

Power

The mean power confidence intervals showed in Figure 5.4 have a very high re-semblance in mean and variance. There is a small difference in mean at the lowest sampling frequency but it is negligibly small if we look at the scales. Otherwise there are no differences between the two pieces of software.

5.3

Discussion

In this section we will discuss why the results turned out as they did and also how the computation times compares between FlexGSM and AfGSM. The effi-ciency of the different algorithms will also be discussed. Which are the most time consuming? How can the computation times be improved?

(43)

5.3 Discussion 29

5.3.1

Measurement results

In Section 5.2 we saw that the phase error measurements differed between the two pieces of software. We saw that the RMS phase error where consequently about 0.1 degrees lower when using FlexGSM compared to AfGSM. The reasons for this can be many. However since AfGSM is a closed software we can’t find out exactly how it works. The reasoning here will therefore be speculative. Also the nature of the phase error is that it is very difficult to introduce an error of known size to a cell phone. The software has therefore not been able to be tested against a reference signal.

Before we discuss why the results differ we should know that AfGSM in its specifi-cation has set its accuracy to 0.5 degrees for the RMS error and 1.0 degrees for the peak error. The shift in mean for the RMS and peak error is well within the inter-val. The outliers, that we observed in the RMS error for the lowest sample rate, are however near the limit of what we can tolerate. FlexGSM should therefore not be used at such a low sample rate as 1 MHz. It can although be interesting to reason about why the mean differs.

One reason that the result differs might be that a slightly different synchro-nization is done. When synchronizing and calculating the phase error we have an ideal phase and a measured phase that we want to align to each other in the "best way". FlexGSM’s "best way" is basically to try to minimize mean phase error of the training sequence. This is the synchronization that we have assumed throughout this thesis. This would imply that a better synchronization would lead to lower RMS phase error. Hence we could argue that FlexGSM produces a more accurate measurement of the RMS phase error and peak phase error. This is however not a statement we can prove.

If the ideal signal, created to be compared to the measured one, is not exact this would of course affect the phase error. That any of the software would use an incorrect reference phase seems however unlikely since it is thoroughly described in the specifications [4]. Since the impulse response is infinitely long there will always be some truncation error. For FlexGSM it has been chosen to have a length of six symbol periods and a longer impulse response does not result in any changes of the phase error. A shorter impulse response leads to a larger phase error which suggests that FlexGSM uses an acceptable approximation of the Gaussian filter. Concerning the frequency error FlexGSM and AfGSM produces data with iden-tical mean and variance. We therefore do not have reasons to why this would be incorrect. From the power measurement results we see that the means have no significant difference except for the low sample rate measurements. The difference in that case is in the order of 10−3dBm which is a negligible difference where the AfGSM has an accuracy of about 0.1 dBm.

(44)

30 Results

5.3.2

Computation times

A good comparison of computation times has been difficult to perform. However, the AfGSM software is considerable faster than FlexGSM. The computation time for FlexGSM is approximatly linear to the sampling frequency whereas AfGSM is almost unaffected by higher sampling rates. This time difference cannot all be blamed on the algorithms presented in Chapter 2 and 3, which are fast and efficient, but rather on the implementation of them and the structure around them. AfGSM is basically unaffected by sampling rate which suggests that it resamples the measured signal to a standard sample rate, probably 4 samples per symbol which is about 1 MHz. Since speed was not the main focus of the thesis, the method of resampling the signal was not prioritized. To be able to get as low com-putation times as AfGSM on higher sampling frequencies the method of resampling is probably the only way.

If we analyze FlexGSM, to see what parts in the program take the most time, we see that the creation of the ideal signal is the single most time consuming process. This signal creation takes about 50% of all computation time and of this almost everything is caused by the read and write operations done when doing the summation of pulses in step 4 in Algorithm 2. If this calculation can be done more effectively or if the IT++ operators can be optimized a lot of time can be saved, maybe as much as 25-50% of the total time.

Another way to save time could be to implement the algorithms in C to be able to do more hardware near programming and therefore be more optimal. To conclude we can say that in respect to calculation time AfGSM beats FlexGSM. At low sample rates, however, the difference is not tremendous. At 1 MHz FlexGSM is about three times slower than AfGSM, 30 ms and 10 ms respec-tively. If the method of resampling is used instead, the time for analyzing higher sample rate signals would drop drastically probably. This would not affect the al-gorithms substantially either so it is a possible way to continue with this project.

(45)

Chapter 6

Conclusion

To reach a conclusion we first recall the question stated in the beginning: Is it possible, with small resources, to develop own analysis software which can process sampled radio data from GSM cell phones? The answer to this must be, yes, in some applications. If the critical aspect is time then the software in this thesis might not be sufficient to the needs. However if computation times between 30 and 100 ms is acceptable, then own software definitely can be a good option.

The hinge of getting a fast software is to have a fast implementation of the FFT (Fast Fourier Transform) as well as memory efficient vector representations and operations. Although this exist as freeware this can be tricky to implement as the author has experienced.

We showed in this thesis that we can calculate phase error (RMS and peak value), frequency error and burst power of a GSM burst. We have shown that the results is comparable to the results from a commercial vendor of analysis software. The commercial software still has the upper hand concerning computation time with a calculation time of approximately one third of that of the own developed software. If this is an acceptable loss is up to management in each case to decide.

(46)
(47)

Bibliography

[1] Tommy Öberg. Modulation, detektion och kodning. Studentlitteratur, http://www.studentlitteratur.se, 2nd edition, 2001.

[2] Gunnar Blom, Jan Enger, Gunnar Englund, Jan Grandell, and Lars Holst. Sannolikhetsteori och statistikteori med tillämpningar. Studentlitteratur, 5th edition, 2005.

[3] ETSI. 3GPP TS 05.02 version 8.6.0, 1999. Multiplexing and multiple access on the radio path.

[4] ETSI. 3GPP TS 05.04 version 8.4.0, 1999. Modulation.

[5] F Gustafsson, L Ljung, and M Millnert. Signalbehandling. Studentlitteratur, 2nd edition, 2001.

[6] K. Murota and K. Hirade. GMSK modulation for digital mobile radio telephony. Communications, IEEE Transactions on [legacy, pre - 1988], 29(7):1044–1050, Jul 1981.

(48)
(49)

Upphovsrätt

Detta dokument hålls tillgängligt på Internet — eller dess framtida ersättare — under 25 år från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för icke-kommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av doku-mentet kräver upphovsmannens medgivande. För att garantera äktheten, säker-heten och tillgängligsäker-heten finns det lösningar av teknisk och administrativ art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan be-skrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se för-lagets hemsida http://www.ep.liu.se/

Copyright

The publishers will keep this document online on the Internet — or its possi-ble replacement — for a period of 25 years from the date of publication barring exceptional circumstances.

The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for his/her own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility.

According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement.

For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: http://www.ep.liu.se/

References

Related documents

För att uppskatta den totala effekten av reformerna måste dock hänsyn tas till såväl samt- liga priseffekter som sammansättningseffekter, till följd av ökad försäljningsandel

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Syftet eller förväntan med denna rapport är inte heller att kunna ”mäta” effekter kvantita- tivt, utan att med huvudsakligt fokus på output och resultat i eller från

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

I regleringsbrevet för 2014 uppdrog Regeringen åt Tillväxtanalys att ”föreslå mätmetoder och indikatorer som kan användas vid utvärdering av de samhällsekonomiska effekterna av

Närmare 90 procent av de statliga medlen (intäkter och utgifter) för näringslivets klimatomställning går till generella styrmedel, det vill säga styrmedel som påverkar

• Utbildningsnivåerna i Sveriges FA-regioner varierar kraftigt. I Stockholm har 46 procent av de sysselsatta eftergymnasial utbildning, medan samma andel i Dorotea endast

Den förbättrade tillgängligheten berör framför allt boende i områden med en mycket hög eller hög tillgänglighet till tätorter, men även antalet personer med längre än