• No results found

Abis over IP Modelling and Characteristics

N/A
N/A
Protected

Academic year: 2021

Share "Abis over IP Modelling and Characteristics"

Copied!
99
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete

Abis over IP Modelling and Characteristics

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

av

Gabriella Ferm och Jonas Jarledal

LITH-ISY-EX--09/4238--SE

Linköping 2009

Department of Electrical Engineering Linköpings tekniska högskola

Linköpings universitet Linköpings universitet

(2)
(3)

Abis over IP Modelling and Characteristics

Examensarbete utfört i Kommunikationssystem

vid Tekniska högskolan i Linköping

av

Gabriella Ferm och Jonas Jarledal

LITH-ISY-EX--09/4238--SE

Handledare: Danyo Danev

isy, Linköpings universitet

Andreas Bergström Ericsson AB Daniel Puaca Ericsson AB Rune Brännström Ericsson AB

Examinator: Danyo Danev

isy, Linköpings universitet

(4)
(5)

Avdelning, Institution Division, Department

Division of Communication systems Department of Electrical Engineering Linköpings universitet

SE-581 83 Linköping, Sweden

Datum Date 2009-02-13 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-ZZZZ ISBNISRN LITH-ISY-EX--09/4238--SE Serietitel och serienummer Title of series, numbering

ISSN

Titel Title

Abis över IP Modellering och Karaktäristik Abis over IP Modelling and Characteristics

Författare Author

Gabriella Ferm och Jonas Jarledal

Sammanfattning Abstract

In todays GSM network more and more interfaces are run over IP instead of classic synchronized networks. This rises new issues to be solved, for example handling of jitter that use of IP networks introduces. The jitter can be handled by a jitter buffer which ensures that the packets are forwarded in evenly spaced intervals.

In GSM, data is requested a certain time in advance before delivery to a cell phone. This "time in advance" needs to be adjusted according to the delay of the channel. For an IP network this delay varies (jitter), which means that it would be beneficial to have an algorithm which continuously adjusts how long in advance the packets should be requested. The adjustment is made according to current channel delay and jitter size.

In this thesis work a model of a general IP network has been developed and is then used for development of two algorithms for jitter buffer handling. Once the algorithms have been developed they are evaluated and compared to each other and previous solutions to the problem. One of the algorithms is new and the other is an already existing algorithm that has been extended.

The simplified conclusion is that the behaviors of both algorithms are very similar. They mainly have small packet loss but sometimes the packets are requested earlier than needed and therefore are kept in the buffer a bit longer than necessary. When comparing the two developed algorithms with previous solutions it is visible that they improve the buffer handling a great deal.

Nyckelord

(6)
(7)

Abstract

In todays GSM network more and more interfaces are run over IP instead of classic synchronized networks. This rises new issues to be solved, for example handling of jitter that use of IP networks introduces. The jitter can be handled by a jitter buffer which ensures that the packets are forwarded in evenly spaced intervals. In GSM, data is requested a certain time in advance before delivery to a cell phone. This "time in advance" needs to be adjusted according to the delay of the channel. For an IP network this delay varies (jitter), which means that it would be beneficial to have an algorithm which continuously adjusts how long in advance the packets should be requested. The adjustment is made according to current channel delay and jitter size.

In this thesis work a model of a general IP network has been developed and is then used for development of two algorithms for jitter buffer handling. Once the algorithms have been developed they are evaluated and compared to each other and previous solutions to the problem. One of the algorithms is new and the other is an already existing algorithm that has been extended.

The simplified conclusion is that the behaviors of both algorithms are very similar. They mainly have small packet loss but sometimes the packets are requested ear-lier than needed and therefore are kept in the buffer a bit longer than necessary. When comparing the two developed algorithms with previous solutions it is visible that they improve the buffer handling a great deal.

(8)
(9)

Sammanfattning

I dagens GSM nätverk används mer och mer IP baserad kommunikation istäl-let för de klassiska synkroniserade nätverken. Detta resulterar i nya problem som måste lösas, till exempel hantering av det jitter som IP transporten introducerar. Jittret kan tas om hand av en jitterbuffer som ser till att paketen skickas vidare med jämna intervall.

I GSM begärs data en viss tid i förväg innan leverans sker till en mobiltelefon. Denna "tid i förväg" måste justeras beroende på kanalens fördröjning. För ett IP nätverk varierar fördröjningen (jitter), vilket betyder att det vore fördelaktigt att ha en algoritm som kontinuerligt justerar hur långt i förväg paketbegärningen sker. Justeringen görs enligt kanalfördröjning och jitterstorlek.

I detta examensarbete utvecklas en model för ett generellt IP nätverk och denna används sedan för att ta fram två algoritmer för jitterbufferhantering. När algo-ritmerna har arbetats fram så utvärderas dem och jämförs med varandra samt med tidigare lösningar på problemet. En av algoritmerna är ny och den andra en vidareutveckling av en befintlig algoritm.

Slutsatsen är förenklat att båda algoritmerna beteer sig väldigt lika. De har i de flesta fall liten paketförlust men ibland beställs paketen för tidigt så att de får ligga i bufferten längre än nödvändigt. De två algoritmerna ger dock stor förbättning jämfört med tidigare lösningar på jitterhanteringsproblemet.

(10)
(11)

Acknowledgments

First of all we would like to thank our supervisors Andreas Bergström, Daniel Puaca and Rune Brännström at Ericsson for comments and guidance during this thesis work. We would like to thank Danyo Danev for taking the time to be our examinator.

Also, thanks to all the people at Ericsson who have taken an interest in our work and contributed with valuable input.

Special thanks to Thommy Jakobsson for helping us with all our Java issues. You are a rock!

Last but not least we’d like to thank each other for putting a smile on one anothers face! ¨

(12)
(13)

Contents

1 Introduction 1

1.1 Background . . . 1

1.2 Thesis Scope . . . 1

1.3 Thesis Goals and Limitations . . . 2

1.4 Method . . . 2 1.5 Thesis Outline . . . 3 1.6 Abbreviations . . . 4 2 Theoretical Background 5 2.1 Mobile Communication . . . 5 2.2 Nodes in GSM . . . 6 2.3 TDMA . . . 7

2.4 From Classic Abis to Packet Abis . . . 7

2.4.1 Super Channel . . . 8

2.4.2 E1 and T1 . . . 8

2.5 Abis Bundling Protocol . . . 8

2.6 Jitter Buffers . . . 9

2.7 P-GSL Timing Advance (PTA) . . . 10

3 The Abis Model 11 3.1 IP Characteristics . . . 11

3.2 Result of Pings . . . 12

3.3 Abis Bundling Protocol . . . 13

4 The Algorithms 15 4.1 Mean Value Algorithm . . . 16

4.1.1 Overview . . . 16 4.1.2 RTT Estimate . . . 18 4.1.3 PTA Margin . . . 22 4.1.4 State . . . 28 4.1.5 PTA Filtering . . . 28 4.2 Kalman Algorithm . . . 29 4.2.1 RTT Estimate . . . 29

4.2.2 PTA Margin Estimate . . . 30 xi

(14)

xii Contents

5 The Simulator 37

5.1 Abis Channel . . . 37

5.1.1 States for Development of Algorithms . . . 37

5.1.2 States for Validation of Algorithms . . . 40

5.2 Abis Protocol . . . 40 5.3 Jitter Buffer . . . 41 6 Algorithm Behavior 43 6.1 Simulation Data . . . 43 6.2 Validation Data . . . 46 6.2.1 Random Load . . . 48 6.2.2 Steps . . . 49

7 Simulations and Results 51 7.1 Simulations with Fixed PTA . . . 52

7.1.1 Simulations . . . 52

7.1.2 Simulation Results . . . 53

7.2 Simulations with Fixed PTA Margin . . . 57

7.2.1 Simulations with Mean Value Algorithm . . . 57

7.2.2 Simulation Results, Mean Value Algorithm . . . 58

7.2.3 Simulations with Kalman Algorithm . . . 59

7.2.4 Simulation Results, Kalman Algorithm . . . 60

7.3 Simulations with Automatic PTA Margin . . . 61

7.3.1 Simulations with Mean Value Algorithm . . . 61

7.3.2 Simulation Results, Mean Value Algorithm . . . 62

7.3.3 Simulations with Kalman Algorithm . . . 63

7.3.4 Simulation Results, Kalman Algorithm . . . 64

7.4 Summary of Simulations and Results . . . 65

8 Algorithm Validation 67 8.1 Simulation Settings . . . 67

8.1.1 Simulation with Mean Value Algorithm . . . 67

8.1.2 Simulation with Kalman Algorithm . . . 67

8.2 Validation Results . . . 68

9 Conclusions and Discussion 71 9.1 Analysis of Results . . . 71

9.1.1 Comparison of Algorithms . . . 71

9.2 Future Studies . . . 72

Bibliography 75

A Ping - Histograms of Round Trip Times 77

(15)

Chapter 1

Introduction

1.1

Background

The interface between the Base Transceiver Station (BTS) and the Base Station Controller (BSC) in a GSM system is called Abis. In classic Abis the transmission is carried over a Time Division Multiplexing (TDM) network where everything is synchronized. With Abis over IP the transmission is instead carried over an IP network which is not at all as predictable when it comes to delays and choice of routes. Abis over IP supports Ethernet but classic cables can still be used. On the positive side this technique improves transmission capacity per bandwidth resource but problems also arise regarding the introduction of jitter, i.e. changes in delay, which must be handled.

Today the operator has to choose a value for P-GSL Timing Advance (PTA, a number chosen from a table according to the estimated maximum delay). This is rather inconvenient and static so an algorithm which automatically updates these values would be beneficial.

This thesis work is a part of the GSM/EDGE Algorithm Research project (GEAR) within the GSM Radio Access Network (RAN) organization at Ericsson.

1.2

Thesis Scope

This study shall define algorithms for a dynamic jitter buffer which adapts to the changes of the Abis link. The work will cover the following items:

• A literature study to gain basic knowledge of the GSM network, especially Abis and jitter buffers

• Development and implementation of a model for Abis over IP • Defining of principles/algorithms to evaluate

• Development and implementation of algorithms for jitter buffering 1

(16)

2 Introduction

• Decide which scenarios to simulate:

E.g. which traffic models to use

Parameter settings

• Simulation and evaluation with aspect to:

Buffer usage

Packet loss

• Draw conclusions from simulations and evaluate the algorithms

1.3

Thesis Goals and Limitations

The goal of this thesis work is to get a better understanding of how the delays in a general IP network behaves and thereby get a model of the delays and jitter on the Abis link when run over IP. It shall also result in an algorithm for a dynamic jitter buffer which is completely automatic, the operator should not have to set any parameters.

The satellite case will not be taken into account since it behaves differently including larger delays and it is also handled in a good way already.

This thesis work was limited to 20 weeks including the writing of this report so it will not go into too many theoretic details.

1.4

Method

The first thing to do is to study technical documentation to learn more of the GSM network in general and the Abis interface in particular.

The Abis model will then be derived. To find the behavior of the Abis channel a statistical study of a general IP network, using ping, will be made. The dynamic jitter buffer algorithms will be defined based on readings and discussions with specialists at Ericsson.

The Abis model and the buffer algorithms will be implemented in an Ericsson internal protocol simulator where the simulations will be made.

(17)

1.5 Thesis Outline 3

1.5

Thesis Outline

Chapter 1is an introduction of the background, scope, goals and limitations

of this thesis work. The method used and an abbreviation list is also included.

Chapter 2gives a brief introduction to relevant basics about GSM.

Chapter 3describes the Abis model and how it has been developed.

Chapter 4describes the dynamic jitter buffer algorithms.

Chapter 5describes the used simulator and implementations.

Chapter 6shows the behavior of the algorithms.

Chapter 7states simulations and results for the algorithms.

Chapter 8states the simulations and results for algorithm validation.

(18)

4 Introduction

1.6

Abbreviations

1G 1st

Generation digital cellular network

2G 2nd

Generation digital cellular network BSC Base Station Controller

BTS Base Transceiver Station

CDF Cumulative Distribution Function EDGE Enhanced Data rates for GSM Evolution GEAR GSM/EDGE Algorithm Research GGSN Gateway GPRS Support Node

GMSC Gateway Mobile services Switching Center GSM Global System for Mobile Communications GPRS General Packet Radio Service

JBPTA Jitter Buffer P-GSL Timing Advance downlink LAPD Link Access Protocol - D Channel

LTE Long Term Evolution MS Mobile Station

MSC Mobile services Switching Center PLMN Public Land Mobile Network PTA P-GSL Timing Advance P-GSL Packet GPRS Signaling Link PSTN Public Switched Telephone Network RAN Radio Access Network

RBS Radio Base Station RTT Round Trip Time

SGSN Serving GPRS Support Node STN Site Transport Node for RBS TDM Time Division Multiplexing

(19)

Chapter 2

Theoretical Background

2.1

Mobile Communication

Mobile systems have been very important in our society for a long time now. The first generation (1G) systems were analog systems that did not support roaming (moving) between networks. The GSM network which is used world wide is a second generation system (2G). It is digital and has improved in terms of service with higher capacity and better quality. To cope with demands for wireless access to internet, GPRS was developed. GPRS is the next step in the evolution of cellular data networking and it is often referred to as 2.5G technology. It is a packet switched service which allows higher data rates than GSM. [5]

(20)

6 Theoretical Background

2.2

Nodes in GSM

The GSM network consists of different nodes interacting with each other through different interfaces, see figure 2.1. The Mobile Station (MS), usually a cell phone, communicates with the Base Transceiver Station (BTS) via the Um interface (air interface). Several BTSs can be supported by one Base Station Controller (BSC). The BSC is a node which performs MS handovers, frequency allocation and as-signing of radio channels. It basically controls and keeps track of the MSs. The interface between the BTS and the BSC is called Abis. [5]

The Site Transport Node for RBS (STN) exists to handle IP packets. It is situated between the BTS and the BSC and can be either separate or integrated in the BTS. Packets are transmitted from the BSC to the STN over Abis upper and then via Super Channels, see section 2.4.1, to the BTS on Abis lower. In the rest of this report use of Abis refers to Abis upper. [4]

The "next" node in the network is the Mobile services Switching Center (MSC) which controls several BSCs. The MSC is responsible for switching and supervision functions. It can also serve as a gateway, Gateway Mobile services Switching Center (GMSC), to connect to other public data networks, the Public Switched Telephone Network (PSTN) and other Public Land Mobile Networks (PLMN). [5]

The Serving GPRS Support Node (SGSN) and the Gateway GPRS Support Node (GGSN) exist to handle packet data, GPRS. The SGSN takes care of packet routing, ciphering, billing etc and the GGSN acts as the interface toward external IP networks. [1]

(21)

2.3 TDMA 7

2.3

TDMA

In GSM the access method used is Time Division Multiple Access (TDMA) which allows severals users to share the same frequency by dividing it into time slots (i.e. each user gets a period of time to send their data). In GSM each TDMA frame consist of eight time slots which means that each frequency can carry eight phone calls simultaneously, see figure 2.2. [5]

Figure 2.2: TDMA Frames

2.4

From Classic Abis to Packet Abis

In classic Abis data is sent on 16- or 64 kbps Abis paths. When flexible Abis was introduced the Abis paths were pooled, i.e. an Abis path connects to a channel when it is activated, not at the time of configuration. When a channel is deactivated the Abis path is once again free to use with another channel. Classic Abis is TDM based and data is sent on time slots every 20 ms. [2]

In Packet Abis which began with Abis Optimization all traffic and signaling are sent as LAPD (Layer2 signaling protocol) frames on Super Channels, see section 2.4.1, instead of using dedicated time slots [3]. This means that there is no dedi-cated resource for a packet data channel on the Abis interface. Abis over IP uses the same packetized Abis framework as Abis Optimization but the transmission can now be run over an IP network [4].

(22)

8 Theoretical Background

2.4.1

Super Channel

One Super Channel is one E1/T1, see 2.4.2, link where 64 kbps consecutive Abis time slots are used as a wideband connection for sending LAPD frames. This means that users share the resources. [4]

2.4.2

E1 and T1

An E1 link has a data rate of 2.048 Mbps and consists of 32 time slots each capable of 64 kbps. T1 signal format carries data at a rate of 1.544 Mbps and can carry 24 time slots of 64 kbps. The first byte of each of the 32 respectively 24 time slots are multiplexed together and the bits are sent one after the other over the channel. The E1 standard is mostly used in Europe and the T1 standard is mostly used in America and Asia. [4]

2.5

Abis Bundling Protocol

Packets are bundled before they are transmitted over Abis. The purpose of the Bundling Protocol (BP) is to decrease the IP overhead by putting several packets together in a bundle and send them as one IP packet. Abis adds 2 extra bytes overhead to each packet before the bundling process. An IP packet (over Ethernet) can contain up to about 1500 bytes.

The bundling algorithm is controlled by the operator who has to choose bundling time and bundling size. The bundling size gives a maximum size of the bundle. The bundling time gives an upper limit for the time to wait before sending the bundle (it is measured from the arrival of the first packet into the bundle). When the bundling time is reached the bundle is sent even if it is not full. The bundle will otherwise be sent when it reaches the bundling size. A large bundling size gives less overhead but increases the probability that the packet is discarded due to transmission related bit errors. For easier understanding, see figure 2.3. [4]

(23)

2.6 Jitter Buffers 9

2.6

Jitter Buffers

Jitter is a typical problem for packet switched networks. Due to the fact that packets can be divided and sent separate ways through the network the time for each packet may vary. Jitter is the variability of the latency over time across a network. [7]

To solve this problem jitter buffers are used. A jitter buffer is a buffer that receives packets and give them to the receiver at a specific time. If a packet has not arrived to the buffer by the time it is supposed to be delivered to the receiver, it will be discarded. [7]

In figure 2.4 some terms related to jitter buffers are shown:

• Minimum delay: The minimum packet delay that the jitter buffer can handle • Maximum delay: The maximum packet delay that the jitter buffer can handle • Delay variation: The variation in packet delays

• Jitter buffer size: The variation in packet delays that the jitter buffer can handle

Figure 2.4: Jitter Buffer Terminology

The size of the buffer affects the transmission and capability of the network. A large buffer can handle larger packet delay variations but it also adds extra delay to packets which arrive faster than the maximum delay handled. A large buffer reduces packet drop caused by packets arriving too late. A small buffer on the other hand does not delay packets for very long but it does not take care of packets with "too long" delays, they will be dropped.

(24)

10 Theoretical Background

2.7

P-GSL Timing Advance (PTA)

As mentioned in the introduction each operator has to set a value for P-GSL Timing Advance. This value decides when to send data from the BSC to the BTS. Each PTA value corresponds to a certain delay as shown in table 2.1.

Table 2.1: PTA Parameter Values

Step Length 1 Step Length 2 Step Length 4 Step Length 8 P T A No. of frames Delay [ms] P T A No. of frames Delay [ms] P T A No. of frames Delay [ms] P T A No. of frames Delay [ms] 0 1 4.6 16 18 83.1 32 52 240.0 48 120 553.8 1 2 9.2 17 20 92.3 33 56 258.5 49 128 590.8 2 3 13.8 18 22 101.5 34 60 276.9 50 136 627.7 3 4 18.5 19 24 110.8 35 64 295.4 51 144 664.6 4 5 23.1 20 26 120.0 36 68 313.8 52 152 701.5 5 6 27.7 21 28 129.2 37 72 332.3 53 160 738.5 6 7 32.3 22 30 138.5 38 76 350.8 54 168 775.4 7 8 36.9 23 32 147.7 39 80 369.2 55 176 812.3 8 9 41.5 24 34 156.9 40 84 387.7 56 184 849.2 9 10 46.2 25 36 166.2 41 88 406.2 57 192 886.2 10 11 50.8 26 38 175.4 42 92 424.6 58 200 923.1 11 12 55.4 27 40 184.6 43 96 443.1 59 208 960.0 12 13 60.0 28 42 193.8 44 100 461.5 60 216 996.9 13 14 64.6 29 44 203.1 45 104 480.0 61 224 1033.8 14 15 69.2 30 46 212.3 46 108 498.5 62 232 1070.8 15 16 73.8 31 48 221.5 47 112 516.9 63 240 1107.7 The BTS sends a PGSL-DLDATA-REQ asking for a packet that shall be trans-mitted over the air interface. If the PTA value is set to 5, see table 2.1, the BTS will request the data 27,7 ms before it should be transmitted over the air.

If the PTA value is too small the packets will not arrive in time for their scheduled air time slot and will therefore be discarded. But if the PTA value is way too big, e.g. PTA = 32 → 240 ms and the packet arrives in 100 ms, it will also be discarded since it can only be buffered 120 ms and would need 140 ms in this case. This is why it would be nice to have an automatic PTA value which is updated according to channel conditions.

In Ericsson’s release, 08B, this problem is taken care of by the feature Adaptive Timers for Packet Abis. This feature has an algorithm for automatic update of the PTA value but it requires that the operator sets another parameter called Jitter Buffer P-GSL Timing Advance downlink (JBPTA). JBPTA is a value of the desired buffer usage. [4]

(25)

Chapter 3

The Abis Model

There are two different aspects to look at to achieve a model for Abis, the protocol layer and the characteristics of the transport. The development of the model is described in the following sections.

3.1

IP Characteristics

A statistical study of delays (Round Trip Times, RTT) is performed to find the characteristics of a general IP network. This gives a good model of the behavior of delays during transmission on Abis.

The statistical study is made through pinging between two computers, i.e. data packets are sent from one computer to the other and then back again. For all data packets the transaction time, RTT, is measured. It is not possible to control the load of the IP network (internet) between the computers but what can be controlled is the load of the respective connections. A ftp client and server is set up and the pinging is done by the client. The broadband connection of the client is 100 Mbit downlink and 10 Mbit uplink while the server only has 10 Mbit both ways. The load-variations that is to be tested are:

• No load

• Uplink load (from server to client) • Downlink load (from client to server)

• Both uplink and downlink load (both directions)

Since load control of the IP network is impossible the pinging takes place at three different times to see if there are any variations in load/delays over the day. The times to be used are: 04.30, 14.00 and 20.30.

During each ping session 1000 pings with the size 32 bytes are sent to get statistics that are good enough. It needs to be made sure that the files for up-and download are large enough to last the entire session. Two different intervals

(26)

12 The Abis Model

between the pings are used to avoid possible repeated irregularities in the network, 73 and 100 ms.

The data (RTT estimate) from the pinging is processed using Excel to produce histograms which are used to observe the characteristics of the delay distribution. By looking at the shape of the histograms, the mean value and the variance, a known distribution which matches good enough is chosen, see figure 3.1.

Figure 3.1: Histogram of Delays with a Fitted Gamma and Log-normal Distribu-tion

3.2

Result of Pings

The distributions looked at are Poisson, Gamma and Log-normal. The Poisson distribution has equal mean value and variance which does not fit the ping results and are therefore discarded. Instead Gamma and Log-normal are compared and they both fit quite well so it is decided to use a Log-normal distribution. The values for logµ and logσ are chosen to get the desired characteristics, see histograms in Appendix A.

What can be seen in the histograms is that the results are almost the same regardless of the time when the pinging was performed. The main difference is between how the connection is loaded. The plots showing no load (see figure A.1(a) on page 78) and uplink load (see figure A.2(a) on page 79) are very similar. Almost all probability is focused to one value, they are just a few milliseconds apart. The downlink load (see figure A.3(a) on page 80) and the uplink & downlink load (see figure A.4(a) on page 81) are also similar to each other. They both have a more spread probability and the only difference is that the uplink & downlink have a bit more of a spike at the lower values.

(27)

3.3 Abis Bundling Protocol 13

The results from the different ping intervals, 73 and 100 ms, where very similar and therefore the ones with 100 ms are the only results presented.

3.3

Abis Bundling Protocol

The protocol layer performs bundling of packets, see 2.5 on page 8. The Abis model has an overhead of 2 bytes per bundled packet. Bundling size and bundling time are added and possible to change to test different behaviors.

The model is not taking care of segmentation of packets, i.e if the bundling size is too large the packet will not be split into smaller packets.

Packets may arrive in wrong order since the delays have a Log-normal distri-bution. In our model the delays are completely uncorrelated which is not true in a real GSM network. This means that in our simulator it is more likely that the packets arrive in the wrong order than it is in reality. Therefore sequence faults will be discarded.

The IP characteristics (channel behavior) and the Abis protocol layer consti-tutes the Abis Model that is used in the simulations of the thesis work.

(28)
(29)

Chapter 4

The Algorithms

Two algorithms will be considered in this report. One that is entirely developed during the course of this thesis work, Mean Value Algorithm, and one that is a modified version of an existing algorithm, Kalman Algorithm. Both algorithms are completely automatic which means that the operator will not have to set any parameters. The algorithms are regulated by Round Trip Times (RTT estimates) which are used to decide when the packets shall be sent from the BSC to the BTS. An additional time t (PTA margin) needs to be added to cope with jitter so the packets will not arrive too late. This time should not be unnecessary long though since that would result in packets being buffered longer than they need too and possibly be dropped if the buffer delay exceeds the buffer length. The RTT estimate combined with the PTA margin is the PTA, see figure 4.1.

0 5 10 15 20 25 30 35 40 45 50 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time [s] [s] abis delay RTT value PTA value RTT estimate PTA margin PTA value

Figure 4.1. PTA and PTA Margin Overview

(30)

16 The Algorithms

How the RTT part of the newly developed algorithm should work has been discussed with experts at Ericsson. When it comes to development of the second part of the algorithms, the PTA margin, the approach is as follows. Since the distribution of the jitter is unknown it is necessary to keep track of how long packets are being buffered. The statistical study gives a feeling of how the jitter behaves but it is not certain it always acts the same. At first a few conditions are stated, basically increasing and decreasing the PTA margin depending on the variation in buffer delay and the risk of packet loss. By testing the conditions it is realized which extra conditions are needed to accomplish a satisfying behavior.

4.1

Mean Value Algorithm

4.1.1

Overview

The algorithm is asymmetric in the aspect that it follows an increasing delay quickly and returns slowly when the delay decreases. The quick rise should help to avoid packet loss if the jitter suddenly increases. The slow return gives higher PTA value than needed but prevents packet loss if the jitter starts increasing again. When the algorithm is initialized it uses an initial value for the PTA and PTA margin. The state is set to slowState (see section 4.1.4) before going into the main loop. Every time a packet arrives in the buffer the following tasks are performed: • The channel delay for the new packet is taken into account and the mean

values for RTT estimates are updated, see section 4.1.2

• The buffer delay for the packet is calculated, stored and a new window size is calculated, see section 4.1.3

• If the packet arrives too late this is logged, see section 4.1.4 • A new PTA margin is calculated, see section 4.1.3

• The algorithm state is updated, see section 4.1.4

• A new PTA value is calculated by adding the PTA margin to the mean value of RTT estimates

• The new PTA value is filtered, see section 4.1.5 For an overview of the algorithm see figure 4.2.

(31)

4.1 Mean Value Algorithm 17

(32)

18 The Algorithms

4.1.2

RTT Estimate

To calculate the first part of the PTA value, the Mean Value Algorithm uses two floating mean values of RTT estimates. The two mean values are derived by simply calculating the mean of the last 150 and 10 samples respectively. The floating mean value with 150 samples has a long memory and therefore follows the delays smoothly without fast variations, while the mean value with 10 samples and short memory follows the RTT estimates fast (more unstable). The calculation of a mean value corresponds to low pass filtering as shown in the following section.

Filter Theory

When creating the floating mean values the impulse responses are a sum of dirac-pulses divided by the number of samples. The floating mean values with 150 and 10 samples corresponds to equation (4.1) and (4.2) respectively. The impulse responses only depend on past values, this makes the system causal.

h1[n] = 1

150(δ[n] + δ[n − 1] + δ[n − 2] + ... + δ[n − 148] + δ[n − 149]) (4.1)

h2[n] = 1

10(δ[n] + δ[n − 1] + δ[n − 2] + ... + δ[n − 8] + δ[n − 9]) (4.2) The Z-transform of h[n], H[z] (see equation (4.3) on page 19 and (4.4) on page 20), shows that the filter has equally many poles and zeros. These poles and zeros are plotted in the pole-zero diagrams, see figure 4.3 on page 19 and 4.4 on page 20. Since the system is causal and all poles are within the unit circle it is also stable.

(33)

4.1 Mean Value Algorithm 19 H1[z] = 1 150(1 + z−1+ z−2+ ... + z−148+ z−149) = 1 150 1 z150−1(z 149+ z148+ ... + z2+ z1+ 1) = 1 150 1 z150−1 z150−1 z −1 (4.3)

Figure 4.3: Pole-Zero Diagram of H1[z], the pole and zero in 1 are canceled by each other

(34)

20 The Algorithms H2[z] = 1 10(1 + z−1+ z−2+ ... + z−8+ z−9) = 1 10 1 z10−1(z 9+ z8+ ... + z2+ z1+ 1) = 1 10 1 z10−1 z10−1 z −1 (4.4)

Figure 4.4: Pole-Zero Diagram of H2[z], the pole and zero in 1 are canceled by each other

(35)

4.1 Mean Value Algorithm 21

The filter characteristics of the two low pass filters mentioned earlier are shown in figures 4.5 and 4.6.

Figure 4.5: Filter Characteristics of H1[z]

(36)

22 The Algorithms

4.1.3

PTA Margin

The Mean Value Algorithm changes the PTA margin according to size of the jitter and the buffer usage. The goal is to keep the packets in the buffer as short time as possible without packet loss.

The last 150 jitter buffer delays are used to calculate a window of buffer delay variation. The minimum delay is subtracted from the maximum delay to create the window which gives an indication of how much jitter there is. The window size is used when updating the PTA margin.

To observe the buffer usage the 120 ms long buffer is divided into seven slots and two additional slots to keep track of packets that arrive too late (slot A) or too early (slot I), see figure 4.7. To be able to register that packets are close to either end of the buffer (risk for packet loss) the slots at both ends, B and H, are quite small. Since the purpose of the algorithm is to "move packets" toward the lower part of the buffer the quantization is higher there (more slots). This makes it easier to tune the PTA margin so it gets as small as possible without loosing packets.

The algorithm takes into account in which of the nine slots the packets arrive and in combination with the window size decides if the PTA margin needs to be changed (according to a number of cases described later in this section). In some sense this creates a live histogram of the buffer usage since each slot has a memory of arrived packets.

Every slot has a parameter which is multiplied by 0.9 and increased by 0.85 when a packet arrives in it. In all other slots the current parameter value is multiplied by 0.9 (a forgetting factor). An example of this parameter calculation can be seen in equation (4.5), slotA = 1 when packet arrives, 0 otherwise.

threshSlotA= 0.85 ∗ slotA + 0.9 ∗ threshSlotA (4.5) The values 0.85 and 0.9 are simply two chosen values. By observing the thresh-old value of each slot during simulation it is decided how to use this information to control the PTA margin.

Figure 4.7: Overview of the Buffer

The markings in the figure above correspond to different threshold values (like the one in equation (4.5) above):

• Slot A: The threshold value is non-zero • Slot C: The threshold value is low

(37)

4.1 Mean Value Algorithm 23

• Slot G: The threshold value is smaller than a certain value • Slot I: The threshold value is zero

Since the threshold value never reaches zero the definition of zero is a really small value (<0.001).

PTA Margin - Cases

If the PTA margin should be updated or not is decided by a number of conditions stated in this section. An overview of the PTA margin update can be seen in figure 4.8.

(38)

24 The Algorithms

Case 1: If there are packets in the lowest part of the buffer (A, B or C) and

packets in G the jitter is quite high. Unless there are too many packets in the top 10 ms of buffer or there are packets in I (lost packets), the PTA margin is increased by 5 ms. See figure 4.9.

Figure 4.9: Case 1

Case 2: If there are packets in the lowest part of the buffer (A or B) and

packets in D but the upper part of the buffer is unused (15 ms and up), the PTA margin is increased by 1 ms if the window size is larger than 6 ms (since it is risky to use the lowest part of the buffer). See figure 4.10.

Figure 4.10: Case 2

Case 3: If there are packets in the lowest part of the buffer (A or B) and

packets in E but the upper part of the buffer is unused (30 ms and up), the PTA margin is increased by 2 ms if the window size is larger than 15 ms (since it is risky to use the lowest part of the buffer). See figure 4.11.

(39)

4.1 Mean Value Algorithm 25

Case 4: If there are packets in the lowest part of the buffer (A or B) and

packets in F but the upper part of the buffer is unused (60 ms and up), the PTA margin is increased by 1 ms if the window size is larger than 30 ms (since it is risky to use the lowest part of the buffer). See figure 4.12.

Figure 4.12: Case 4

Case 5: If there are packets in the lower part of the buffer (A, B, C or D)

and packets in F but the upper part of the buffer is unused (60 ms and up), the PTA margin is increased by 1 ms if the window size is larger than 45 ms (since it is risky to use the lower part of the buffer). See figure 4.13.

Figure 4.13: Case 5

Case 6: If there are packets in I (lost packets) the PTA margin is decreased

by 0.1 ms unless there are packets in A and B or too many packets in C or D. See figure 4.14.

Figure 4.14: Case 6

Case 7: No decrease of the PTA margin should be done if the the window size

is larger than 50 ms since it is looked upon as high jitter.

Case 8: If the buffer is empty up to 60 ms, the PTA margin is decreased by

0.8 ms. See figure 4.15.

(40)

26 The Algorithms

Case 9: If the buffer is empty up to 30 ms, the PTA margin is decreased by

0.3 ms. See figure 4.16.

Figure 4.16: Case 9

Case 10: If the buffer is empty up to 15 ms and the parameter value for slot

E is smaller than for slot F, the PTA margin is decreased by 0.3 ms. See figure 4.17.

Figure 4.17: Case 10

Case 11: If the buffer is empty up to 5 ms and above 60 ms but there are

packets in F, the PTA margin is decreased by 0.1 ms if the window size is smaller than 32 ms. See figure 4.18.

Figure 4.18: Case 11

Case 12: If the buffer is empty up to 5 ms and above 30 ms and the window

size is smaller than 10 ms, the PTA margin is decreased by 0.1 ms. See figure 4.19.

(41)

4.1 Mean Value Algorithm 27

Case 13: If the buffer is empty up to 2 ms and above 15 ms and the window

size is smaller than 3 ms, the PTA margin is decreased by 0.01 ms. See figure 4.20.

Figure 4.20: Case 13

Case 14: If there are no late packets and the buffer is empty above 5 ms, the

PTA margin is decreased by 0.01 ms until slot B is larger or equal to slot C. See figure 4.21.

Figure 4.21: Case 14

Case 15: If there are packets in the lowest part of the buffer (A, B or C) and

the window size is larger than 3.5 ms the PTA margin is increased by 0.1 ms. See figure 4.22.

Figure 4.22: Case 15

Case 16: If there are packets in A (lost packets) the PTA margin is increased

by 0.1 ms regardless of window size. See figure 4.23.

Figure 4.23: Case 16

When a new PTA margin has been calculated it is made sure that it is within reasonable values and otherwise set to the lower respectively upper limit,

(42)

28 The Algorithms

4.1.4

State

The Mean Value Algorithm has two states: slow and fast. Normally the algorithm is in slow state which means that the floating mean value (RTT estimates) with long memory is used, see section 4.1.2. This keeps the mean value more stable with slow variations so that delay spikes and dips are ignored. However, if too many packets are dropped due to late arrival, the algorithm will switch to fast state to become more adaptive and follow the RTT estimates faster. Fast state is triggered when the threshold in equation (4.6) exceeds 1.05, lostpacket = 1 when packet is too late, 0 otherwise.

thresholdDroppedP acket= 0.75 ∗ lostP acket + 0.5 ∗ thresholdDroppedP acket (4.6) With this equation and threshold value, fast state is triggered after two late packets. The reason for the "complicated" formula is to have the possibility to try out different threshold values, for example trigging after: one late packet, then one packet on time and then another late packet.

When fast state is triggered, the memory of the long-memory-mean-value is erased and replaced with the short-memory-mean-value. Also the stored buffer delays are erased and a new window size calculated. The state is then set to slow again but now with no memory of what happened before the fast state trigging occurred. Since fast state is triggered when packets are too late (increase in delay and/or jitter) but not when they are too early (decrease in delay and/or jitter) the algorithm gets its asymmetric behavior.

4.1.5

PTA Filtering

If the Mean Value Algorithm is in slow state the PTA is calculated by adding the mean value with long memory (RTT estimate) and the PTA margin. If it is in fast state on the other hand, the mean value with short memory and the PTA margin are added.

Once the new PTA value is calculated it is filtered to get a more stable PTA (but slower). How much the PTA is filtered is chosen by the parameter α, see equation (4.7).

(43)

4.2 Kalman Algorithm 29

4.2

Kalman Algorithm

4.2.1

RTT Estimate

The second algorithm uses the same estimate of the RTT as the 08B algorithm mentioned in section 2.7. The original algorithm has the structure shown in figure 4.24.

Figure 4.24: Overview of the Regulator

The different boxes in figure 4.24 have the following purposes:

• Measure: Calculates the difference between the actual PTA value and the maximum return trip time estimated from the available data,

Measurement = PTA - RTT estimate - PTA margin. This is where the PTA margin is taken into account. The PTA margin is calculated according to section 4.2.2. In the original algorithm this PTA margin was called JBPTA, a fixed value set by the operator.

(44)

30 The Algorithms

• Estimate: This box implements an enhanced Kalman observer which works in two different states. The variance of the measurement and the variance of the prediction error are calculated. These two variances are then used to choose state. If either of the two variances are higher than a certain threshold value the algorithm is set to acquisition state. If they are both low enough it is set to steady state.

• Regulate: The regulate unit implements a linear controller which calculates the change in PTA value. The feedback gain is set according to the algorithm state. When the algorithm is in acquisition state the feedback gain is higher than when it is in steady state. This makes the algorithm faster when the variances are high.

For more detailed description of Kalman theory, see [6].

This algorithm is initialized with a PTA value of 4 TDMA frames (≈ 18,46 ms) and it starts in acquisition state to adjust faster.

4.2.2

PTA Margin Estimate

The part of the algorithm that has been developed during this thesis work is the automatic update of PTA margin estimation. It works the same way as for the Mean Value Algorithm except that it is controlled by the mean variance of the measurement instead of the window size, see section 4.1.3.

PTA Margin - Cases

If the PTA margin should be updated or not is decided by a number of conditions stated in this section. Case 1-16 for both algorithms are equivalent with aspect to buffer usage, the figures are only repeated for easier reading. An overview of the PTA margin update can be seen in figure 4.25.

(45)

4.2 Kalman Algorithm 31

(46)

32 The Algorithms

Case 1: If there are packets in the lowest part of the buffer (A, B or C) and

packets in G it is high jitter. Unless there are too many packets in the top 10 ms of buffer or there are packets in I (lost packets), the PTA margin is increased by 5 ms. See figure 4.26.

Figure 4.26: Case 1

Case 2: If there are packets in the lowest part of the buffer (A or B) and

packets in D but the upper part of the buffer is unused (15 ms and up), the PTA margin is increased by 0.1 ms if the mean variance is larger than 0.025 (since it is risky to use the lowest part of the buffer). See figure 4.27.

Figure 4.27: Case 2

Case 3: If there are packets in the lowest part of the buffer (A or B) and

packets in E but the upper part of the buffer is unused (30 ms and up), the PTA margin is increased by 2 ms (since it is risky to use the lowest part of the buffer). See figure 4.28.

(47)

4.2 Kalman Algorithm 33

Case 4: If there are packets in the lowest part of the buffer (A or B) and

packets in F but the upper part of the buffer is unused (60 ms and up), the PTA margin is increased by 1 ms (since it is risky to use the lowest part of the buffer). See figure 4.29.

Figure 4.29: Case 4

Case 5: If there are packets in the lower part of the buffer (A, B, C or D) and

packets in F but the upper part of the buffer is unused (60 ms and up), the PTA margin is increased (since it is risky to use the lower part of the buffer). See figure 4.30.

• If the mean variance is larger than 4, the PTA margin is increased by 1 ms. • If the mean variance is larger than 2, the PTA margin is increased by 0.3

ms.

• If the mean variance is larger than 1.5, the PTA margin is increased by 0.03 ms.

Figure 4.30: Case 5

Case 6: If there are packets in I (lost packets) the PTA margin is decreased

by 0.1 ms unless there are packets in A and B or too many packets in C or D. See figure 4.31.

Figure 4.31: Case 6

Case 7: No decrease of the PTA margin should be done if the mean variance

(48)

34 The Algorithms

Case 8: If the buffer is empty up to 60 ms, the PTA margin is decreased by

0.8 ms. See figure 4.32.

Figure 4.32: Case 8

Case 9: If the buffer is empty up to 30 ms, the PTA margin is decreased by

0.1 ms. See figure 4.33.

Figure 4.33: Case 9

Case 10: If the buffer is empty up to 15 ms, the parameter value for slot E is

smaller than for slot F and the mean variance is smaller than 4, the PTA margin is decreased by 0.1 ms. See figure 4.34.

Figure 4.34: Case 10

Case 11: If the buffer is empty up to 5 ms and above 60 ms but there are

packets in F, the PTA margin is decreased by 0.1 ms if the mean variance is smaller than 1.5. See figure 4.35.

(49)

4.2 Kalman Algorithm 35

Case 12: If the buffer is empty up to 5 ms and above 30 ms and the mean

variance is smaller than 0.4, the PTA margin is decreased by 0.05 ms. See figure 4.36.

Figure 4.36: Case 12

Case 13: If the buffer is empty up to 2 ms and above 15 ms, see figure 4.37,

the PTA margin is changed depending on the mean variance:

• If the mean variance is smaller than 0.022, the PTA margin is decreased by 0.01 ms.

• If the mean variance is larger than 0.025, the PTA margin is increased by 0.02 ms.

Figure 4.37: Case 13

Case 14: If there are no late packets and the buffer is empty above 5 ms, the

PTA margin is decreased by 0.01 ms until slot B is larger or equal to slot C. See figure 4.38.

Figure 4.38: Case 14

Case 15: If there are packets in the lowest part of the buffer (A, B or C) and

the mean variance is larger than 0.025 the PTA margin is increased by 0.1 ms. See figure 4.39.

(50)

36 The Algorithms

Case 16: If there are packets in A (lost packets) the PTA margin is increased

by 0.1 ms regardless of window size. See figure 4.40.

Figure 4.40: Case 16

When a new PTA margin has been calculated it is made sure that it is within reasonable values and otherwise set to lower resp. upper limit,

(51)

Chapter 5

The Simulator

The simulator used in this thesis work is a radio system simulation platform de-veloped at Ericsson Research. It contains simulators for GSM, Wideband Code Division Multiple Access (WCDMA) and Long Term Evolution (LTE). Detailed models for the physical layers, protocols and the traffic makes it fairly easy to build your own simulator by assembling desired blocks.

The simulator used for the simulations is shown in figure 5.1.

Figure 5.1: Structure of the Simulator

5.1

Abis Channel

5.1.1

States for Development of Algorithms

To get a channel model that behaves according to the results of the statistical study the following values for logµ and logσ are used:

Low load: logµ = -4.300 and logσ = 0.028, see figure A.1(a) on page 78. This load state has a jitter of about 3 ms.

(52)

38 The Simulator

High load: logµ = -3.309 and logσ = 0.403, see figure A.3(a) on page 80. This load state has a jitter of about 143 ms.

To get a behavior between the low and the high load another set of values are chosen:

Medium load: logµ = -3.500 and logσ = 0.200. This load state has a jitter of about 60 ms.

The channel behavior for these three states can be seen in figures 5.2, 5.3 and 5.4. 0 10 20 30 40 50 60 70 80 90 100 0.012 0.0125 0.013 0.0135 0.014 0.0145 0.015 Time [s] Channel Delay [s]

Channel Behavior − Low Load

Figure 5.2: Channel Behavior, Low Load

0 10 20 30 40 50 60 70 80 90 100 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time [s] Channel Delay [s]

Channel Behavior − Medium Load

(53)

5.1 Abis Channel 39 0 10 20 30 40 50 60 70 80 90 100 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 Time [s] Channel Delay [s]

Channel Behavior − High Load

Figure 5.4: Channel Behavior, High Load

Logµ and logσ are created as parameters in the simulator. These parameters are set when a load state is chosen: lowLoad, mediumLoad or highLoad. Since slow variations are most probable in a real network a pyramid state is implemented. This state ramps up from a state of low load to a state of high load in a number of steps which can be chosen. The length (time) from bottom to top of the pyramid (half a pyramid) can also be chosen. A figure of the pyramid load can be seen in 5.5. 0 10 20 30 40 50 60 70 80 90 100 0 0.02 0.04 0.06 0.08 0.1 0.12 Time [s] Channel Delay [s]

Channel Behavior − Pyramid Load

Figure 5.5: Channel Behavior, Pyramid Load

In Appendix B the plots of the delays from the statistical study are shown. Figure B.1(a) on page 83 (RTT for no load) corresponds to figure 5.2 on page 38, the major difference that can be seen is that the plot of the real delays have spikes which do not occur in the plot of the simulated delays. We can not explain the root of these spikes but most likely they have to do with the PC used for the pinging rather than the characteristics of the IP network. That is why we have chosen to tweak the Log-normal curve to discard these spikes and catch the general behavior.

(54)

40 The Simulator

5.1.2

States for Validation of Algorithms

Once the algorithms have been developed using the states mentioned in the previ-ous section, new states are implemented to be able to test the performance of the algorithms.

The new states are:

• Low load 2: Little more jitter than low load, approximately 12 ms.

• Low-medium load: Jitter between low and medium load, approximately 42 ms.

• Medium load 2: A little more jitter than medium load, approximately 73 ms.

• Medium-high load: Jitter between medium and high load, approximately 124 ms.

• High load 2: Higher jitter than high load, approximately 394 ms (more than the buffer can handle).

• Random load: Changes between low, medium and high load after a certain time t chosen by a parameter, see figures 6.19 and 6.20 on page 48

• A step function is implemented mainly to test the RTT parts of the algo-rithms, see section 6.2.2

5.2

Abis Protocol

In the Abis Entity which takes care of the Bundling Protocol aspects, see section 2.5, bundling time and bundling size are added as parameters and the functionality is implemented. The abis overhead is also implemented.

(55)

5.3 Jitter Buffer 41

5.3

Jitter Buffer

The two algorithms, Mean Value and Kalman, are implemented according to chap-ter 4. The different choices that are implemented in the simulator are, see figure 5.6:

• Algorithm: Fixed PTA, Mean Value Algorithm or Kalman Algorithm • PTA: PTA value [s] used for fixed PTA, ignored when using Mean Value

Algorithm and Kalman Algorithm

• Automatic PTA margin: No automatic update, updated by window size (used only in combination with Mean Value Algorithm) and updated by mean variance (used only in combination with Kalman Algorithm)

• PTA margin: PTA margin value [s] is used for fixed PTA margin and as initial value when using automatic PTA margin

• Alpha: Forgetting factor for filtering of PTA in Mean Value Algorithm, [0,1]

(56)
(57)

Chapter 6

Algorithm Behavior

To see some behaviors of the algorithms a few plots of channel delays and PTA values are shown in this chapter. Different channel delays have been used, both simulation and validation data, see section 5.1. Unless otherwise noted all simu-lations are run using automatic PTA margin.

6.1

Simulation Data

When the algorithms are run using low load as channel delay the behaviors are as shown in figures 6.1 and 6.2. It takes about 18 s for the Mean Value Algorithm to adjust and only 10 s for the Kalman Algorithm. They both start at an initial value and decrease their PTA value slowly to be on the safe side regarding packet loss. 0 20 40 60 80 100 0.015 0.02 0.025 0.03 0.035 0.04 Time [s] [s]

Low Load, Mean Value Algorithm abis delay PTA value

Figure 6.1. Mean Value Algorithm, Low Load 0 20 40 60 80 100 0.015 0.02 0.025 0.03 0.035 0.04 0.045 Time [s] [s]

Low Load, Kalman Algorithm abis delay PTA value

Figure 6.2. Kalman Algorithm, Low Load

(58)

44 Algorithm Behavior

When the algorithms are run using medium load as channel delay the behaviors are as shown in figures 6.3 and 6.4. The Mean Value Algorithm adjusts fast to the jitter size with a slight over compensation in the beginning. It keeps quite stable but reacts to some changes in channel delay. The Kalman Algorithm has a larger over compensation in the beginning but acts almost the same as the Mean Value Algorithm otherwise. 0 20 40 60 80 100 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time [s] [s]

Medium Load, Mean Value Algorithm abis delay PTA value

Figure 6.3. Mean Value Algorithm, Medium Load 0 20 40 60 80 100 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 Time [s] [s]

Medium Load, Kalman Algorithm abis delay PTA value

Figure 6.4. Kalman Algorithm, Medium Load

When the algorithms are run using high load as channel delay the behaviors are as shown in figures 6.5 and 6.6. Both algorithms adjust fast without over compensation since they reach the maximal PTA margin right away which is not decreased until the window size or the mean variance decreases, see Case 7 for both algorithms in sections 4.1.3 and 4.2.2.

0 20 40 60 80 100 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 Time [s] [s]

High Load, Mean Value Algorithm abis delay PTA value

Figure 6.5. Mean Value Algorithm, High Load 0 20 40 60 80 100 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 Time [s] [s]

High Load, Kalman Algorithm abis delay PTA value

(59)

6.1 Simulation Data 45

When the algorithms are run using pyramid load as channel delay the behaviors are as shown in figures 6.7 and 6.8. The algorithms behave similarly to one another and they decrease the PTA value in the beginning since the initial value is high compared to the channel delay. Once the algorithms have adjusted they follow the delay changes smoothly.

0 20 40 60 80 100 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 Time [s] [s]

Pyramid Load, Mean Value Algorithm abis delay PTA value

Figure 6.7. Mean Value Algorithm, Pyra-mid Load 0 20 40 60 80 100 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 Time [s] [s]

Pyramid Load, Kalman Algorithm abis delay PTA value

Figure 6.8. Kalman Algorithm, Pyramid Load

(60)

46 Algorithm Behavior

6.2

Validation Data

Some problems arise when simulations are run with the validation data. As can be seen in figures 6.9, 6.10, 6.11 and 6.12, the PTA value is not optimal. It is too high and sometimes increases when not necessary. The PTA value oscillates due to contradicting conditions for the PTA margin.

0 20 40 60 80 100 0.01 0.015 0.02 0.025 0.03 0.035 0.04 Time [s] [s]

Low Load 2, Mean Value Algorithm abis delay PTA value

Figure 6.9. Mean Value Algorithm, Low Load 2 0 20 40 60 80 100 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 Time [s] [s]

Low Load 2, Kalman Algorithm abis delay PTA value

Figure 6.10.Kalman Algorithm, Low Load 2 0 20 40 60 80 100 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 Time [s] [s]

Low−Medium Load, Mean Value Algorithm abis delay PTA value

Figure 6.11. Mean Value Algorithm, Low-Medium Load 0 20 40 60 80 100 0 0.01 0.02 0.03 0.04 0.05 0.06 Time [s] [s]

Low−Medium Load, Kalman Algorithm abis delay PTA value

Figure 6.12. Kalman Algorithm, Low-Medium Load

(61)

6.2 Validation Data 47

Another problem arises when medium load 2 is used, see figures 6.13 and 6.14. The algorithms try to follow the jitter even though it is quite high, instead of having a higher and stable PTA. This would result in a higher mean buffer delay but lower packet loss.

0 20 40 60 80 100 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time [s] [s]

Medium Load 2, Mean Value Algorithm abis delay PTA value

Figure 6.13. Mean Value Algorithm, Medium Load 2 0 20 40 60 80 100 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 Time [s] [s]

Medium Load 2, Kalman Algorithm abis delay PTA value

Figure 6.14. Kalman Algorithm, Medium Load 2

For the Mean Value Algorithm medium-high load is handled in a good way but the Kalman Algorithm has the same problem as for the medium load 2, see figures 6.15 and 6.16. 0 20 40 60 80 100 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 Time [s] [s]

Medium−High Load, Mean Value Algorithm abis delay PTA value

Figure 6.15. Mean Value Algorithm, Medium-High Load 0 20 40 60 80 100 0 0.02 0.04 0.06 0.08 0.1 0.12 Time [s] [s]

Medium−High Load, Kalman Algorithm abis delay PTA value

Figure 6.16. Kalman Algorithm, Medium-High Load

(62)

48 Algorithm Behavior

When there is more jitter than the buffer can handle (high load 2) the algo-rithms still compensates in a good way as shown in figures 6.17 and 6.18. The PTA value is quite steady for both algorithms.

0 20 40 60 80 100 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Time [s] [s]

High Load 2, Mean Value Algorithm abis delay PTA value

Figure 6.17. Mean Value Algorithm, High Load 2 0 20 40 60 80 100 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Time [s] [s]

High Load 2, Kalman Algorithm abis delay PTA value

Figure 6.18. Kalman Algorithm, High Load 2

6.2.1

Random Load

To see how the algorithms behave when the jitter changes abruptly the channel has been set to random load. The algorithm behavior is shown in figures 6.19 and 6.20. It can be seen that the Mean Value Algorithm follows large changes in jitter fast and that the PTA value is then kept quite steady until the jitter decreases. The Kalman algorithm is a bit slower when the jitter increases but keeps steady once it has reached the top. Both algorithms decrease their PTA value slowly once the jitter decreases.

0 10 20 30 40 50 60 70 80 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 Time [s] [s]

Random Load, Mean Value Algorithm Channel delay

PTA value

Figure 6.19. Mean Value Algorithm, Ran-dom Load 0 10 20 30 40 50 60 70 80 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 Time [s] [s]

Random Load, Kalman Algorithm Channel delay

PTA value

Figure 6.20. Kalman Algorithm, Random Load

(63)

6.2 Validation Data 49

6.2.2

Steps

The channel behavior tested is u(t) as shown in equation (6.1), a step up and down. u(t) =    0.01 if t < 5 0.11 if 5 ≤ t < 10 0.01 if 10 ≤ t ≤ 15 (6.1)

Unit Step, No PTA Margin

No PTA margin is used for this plot, only the RTT estimate is shown here. How the RTT part of the Mean Value Algorithm responds to the step u(t) can be seen in figure 6.21. It takes 0.5 seconds for the algorithm to follow a 100 ms "step up" and about 3 seconds to go back again, in other words it is an asymmetric algorithm as mentioned before.

The Kalman Algorithm on the other hand is symmetric which can be seen in the second in figure 6.22. It takes the same amount of time for the algorithm to follow the step up as to follow it down again. The reason that the PTA value is a little higher than the delay, even though there is no jitter and no PTA margin, is because the Kalman algorithm works in whole TDMA frames (TDMA frame ≈ 4.6 ms), hence the offset.

Figure 6.21. Mean Value Algorithm, Step Load

Figure 6.22. Kalman Algorithm, Step Load

(64)

50 Algorithm Behavior

Unit Step, Automatic PTA Margin

When automatic PTA margin is used the algorithms respond as in figures 6.23 and 6.24. The PTA value increases too much since the conditions for the PTA margin regulation does not work well for this channel behavior. The fact that the algorithms can not differentiate between jitter and drastic changes in mean delay increases the problem. For the Kalman Algorithm the "step up" results in a large mean variance which the algorithm incorrectly translates into high jitter. The window size of the Mean Value Algorithm is reset since fast state is triggered and therefore avoids this problem. On the "step down" both algorithms have the this problem though. The result is increased PTA margin and the memory of the window size respectively mean variance adds to the problem since it stops the PTA margin from decreasing.

The over all result is packet loss both on the "step up" (packets arrive too late) and the "step down" (packets arrive too early). These problems are bigger for the Kalman Algorithm than the Mean Value Algorithm. Also a not so optimal condition makes the PTA margin increase again before the next "step up".

0 5 10 15 20 25 30 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 Time [s] [s]

Step Load, Mean Value Algorithm abis delay PTA value PTAmargin

Figure 6.23. Mean Value Algorithm, Step Load 0 5 10 15 20 25 30 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Time [s] [s]

Step Load, Kalman Algorithm abis delay PTA value PTAmargin

Figure 6.24. Kalman Algorithm, Step Load

(65)

Chapter 7

Simulations and Results

• The traffic model used in these simulations is a fixed rate source that send a packet of 32 bits with a data rate of 1600 bps, i.e. one packet every 20:th millisecond

• The bundling time is set to 3 ms which means that it only adds an extra delay of 3 ms for each packet (no additional jitter)

• The bundling size is set to 310 bits so this margin never affects the simulation • There is no random packet loss on the channel so all packet loss is due to

early or late arrival in the buffer

• The data rate of the channel is set to infinity (no limit)

The channel behaviors tested are low, medium, high and pyramid load. Length of a half pyramid: 100 s, number of steps: 100. All simulations are run for 400 s over 10 different seeds which gives a total of 4000 s. The data presented here is after the algorithms have adjusted, i.e. the first data is truncated.

In the following sections the detailed simulations and results are stated. For a summary, see section 7.4.

(66)

52 Simulations and Results

7.1

Simulations with Fixed PTA

Three different fixed PTA values have been chosen to show how fixed PTA behaves and to give a reference point for the following simulations.

7.1.1

Simulations

The following settings are used for the simulations: • Algorithm: Fixed PTA

• PTA:

0.0185 s (= PTA 3, see table 2.1 on page 10)

0.06 s (= PTA 12, see table 2.1 on page 10)

0.1108 s (= PTA 19, see table 2.1 on page 10) • Automatic PTA margin: none

• PTA margin: N/A • Alpha: N/A

(67)

7.1 Simulations with Fixed PTA 53

7.1.2

Simulation Results

PTA = 0.0185

Table 7.1: Simulation Results, Fixed PTA = 0.0185

Packet Loss [%] Average Buffer Usage [ms] CDF

Low load 0 1.93 See figure 7.1

Medium load 999.55 0.73 See figure 7.2

High load 982.47 1.94 See figure 7.3

Pyramid load 839.31 1.23 See figure 7.4

0 0.5 1 1.5 2 2.5 3 3.5 x 10−3 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Buffer Delay [s] Number of Packages[%]

CDF − Buffer Usage − Fixed PTA, Low Load

Figure 7.1. PTA = 0.0185, Low Load

−0.060 −0.05 −0.04 −0.03 −0.02 −0.01 0 0.01 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Buffer Delay [s] Number of Packages[%]

CDF − Buffer Usage − Fixed PTA, Medium Load

Figure 7.2. PTA = 0.0185, Medium Load

−0.250 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Buffer Delay [s] Number of Packages[%]

CDF − Buffer Usage − Fixed PTA, High Load

Figure 7.3. PTA = 0.0185, High Load

−0.20 −0.15 −0.1 −0.05 0 0.05 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Buffer Delay [s] Number of Packages[%]

CDF − Buffer Usage − Fixed PTA, Pyramid Load

Figure 7.4. PTA = 0.0185, Pyramid Load

In this simulation (PTA = 18.5 ms) low load is handled in a good way. There is no packet loss and the mean delay is short, see table 7.1. When the jitter is higher almost all packets are lost since the PTA value is way too low (they are ordered too late by the BTS, see section 2.7).

References

Related documents

Both Brazil and Sweden have made bilateral cooperation in areas of technology and innovation a top priority. It has been formalized in a series of agreements and made explicit

Att förhöjningen är störst för parvis Gibbs sampler beror på att man på detta sätt inte får lika bra variation mellan de i tiden närliggande vektorerna som när fler termer

Min uppfattning är att motståndshandlingar genom våld och våldsamhet, som jag uttolkat som motståndsmetoder i ”From Protest to Resistance” samt ”Setting Fire

In this experiment a pilot used a remote control to send a throttle signal and angular reference signals for attitude in the x-, y-, and z-axes of the reference frame (the

All recipes were tested by about 200 children in a project called the Children's best table where children aged 6-12 years worked with food as a theme to increase knowledge

Industrial Emissions Directive, supplemented by horizontal legislation (e.g., Framework Directives on Waste and Water, Emissions Trading System, etc) and guidance on operating

Accordingly, this study makes an important contribution to the existing literature as it has the following aims: (a) to test the main and interactive effects of

The main aim of each industry is to provide better products with higher quality, but what makes them successful, is the process of preparing a product. These processes must consume