Sie sind auf Seite 1von 99

Institutionen fr systemteknik

Department of Electrical Engineering


Examensarbete

Abis over IP Modelling and Characteristics

Examensarbete utfrt i Kommunikationssystem vid Tekniska hgskolan i Linkping av Gabriella Ferm och Jonas Jarledal LITH-ISY-EX--09/4238--SE
Linkping 2009

Department of Electrical Engineering Linkpings universitet SE-581 83 Linkping, Sweden

Linkpings tekniska hgskola Linkpings universitet 581 83 Linkping

Abis over IP Modelling and Characteristics

Examensarbete utfrt i Kommunikationssystem vid Tekniska hgskolan i Linkping av


Gabriella Ferm och Jonas Jarledal LITH-ISY-EX--09/4238--SE

Handledare:

Danyo Danev
isy, Linkpings universitet

Andreas Bergstrm
Ericsson AB

Daniel Puaca
Ericsson AB

Rune Brnnstrm
Ericsson AB

Examinator:

Danyo Danev
isy, Linkpings universitet

Linkping, 13 February, 2009

Avdelning, Institution Division, Department Division of Communication systems Department of Electrical Engineering Linkpings universitet SE-581 83 Linkping, Sweden Sprk Language Svenska/Swedish Engelska/English Rapporttyp Report category Licentiatavhandling Examensarbete C-uppsats D-uppsats vrig rapport ISBN ISRN

Datum Date

2009-02-13

LITH-ISY-EX--09/4238--SE Serietitel och serienummer ISSN Title of series, numbering

URL fr elektronisk version


http://www.control.isy.liu.se http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-ZZZZ

Titel Title

Abis ver IP Modellering och Karaktristik Abis over IP Modelling and Characteristics

Frfattare Gabriella Ferm och Jonas Jarledal Author

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 buer 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 benecial 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 buer 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 simplied 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 buer a bit longer than necessary. When comparing the two developed algorithms with previous solutions it is visible that they improve the buer handling a great deal.

Nyckelord Keywords jitter buer, regulation algorithm

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 buer 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 benecial 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 buer 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 simplied 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 buer a bit longer than necessary. When comparing the two developed algorithms with previous solutions it is visible that they improve the buer handling a great deal.

Sammanfattning
I dagens GSM ntverk anvnds mer och mer IP baserad kommunikation istllet fr de klassiska synkroniserade ntverken. Detta resulterar i nya problem som mste lsas, till exempel hantering av det jitter som IP transporten introducerar. Jittret kan tas om hand av en jitterbuer som ser till att paketen skickas vidare med jmna intervall. I GSM begrs data en viss tid i frvg innan leverans sker till en mobiltelefon. Denna "tid i frvg" mste justeras beroende p kanalens frdrjning. Fr ett IP ntverk varierar frdrjningen (jitter), vilket betyder att det vore frdelaktigt att ha en algoritm som kontinuerligt justerar hur lngt i frvg paketbegrningen sker. Justeringen grs enligt kanalfrdrjning och jitterstorlek. I detta examensarbete utvecklas en model fr ett generellt IP ntverk och denna anvnds sedan fr att ta fram tv algoritmer fr jitterbuerhantering. Nr algoritmerna har arbetats fram s utvrderas dem och jmfrs med varandra samt med tidigare lsningar p problemet. En av algoritmerna r ny och den andra en vidareutveckling av en bentlig algoritm. Slutsatsen r frenklat att bda algoritmerna beteer sig vldigt lika. De har i de esta fall liten paketfrlust men ibland bestlls paketen fr tidigt s att de fr ligga i buerten lngre n ndvndigt. De tv algoritmerna ger dock stor frbttning jmfrt med tidigare lsningar p jitterhanteringsproblemet.

vii

Acknowledgments
First of all we would like to thank our supervisors Andreas Bergstrm, Daniel Puaca and Rune Brnnstrm 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 wed like to thank each other for putting a smile on one anothers face!

ix

Contents
1 Introduction 1.1 Background . . . . . . . . . . 1.2 Thesis Scope . . . . . . . . . 1.3 Thesis Goals and Limitations 1.4 Method . . . . . . . . . . . . 1.5 Thesis Outline . . . . . . . . 1.6 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 2 3 4 5 5 6 7 7 8 8 8 9 10 11 11 12 13 15 16 16 18 22 28 28 29 29 30

2 Theoretical Background 2.1 Mobile Communication . . . . . 2.2 Nodes in GSM . . . . . . . . . . 2.3 TDMA . . . . . . . . . . . . . . . 2.4 From Classic Abis to Packet Abis 2.4.1 Super Channel . . . . . . 2.4.2 E1 and T1 . . . . . . . . 2.5 Abis Bundling Protocol . . . . . 2.6 Jitter Buers . . . . . . . . . . . 2.7 P-GSL Timing Advance (PTA) . 3 The 3.1 3.2 3.3

Abis Model IP Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . Result of Pings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abis Bundling Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 The Algorithms 4.1 Mean Value Algorithm . . . . 4.1.1 Overview . . . . . . . 4.1.2 RTT Estimate . . . . 4.1.3 PTA Margin . . . . . 4.1.4 State . . . . . . . . . . 4.1.5 PTA Filtering . . . . . 4.2 Kalman Algorithm . . . . . . 4.2.1 RTT Estimate . . . . 4.2.2 PTA Margin Estimate

xi

xii 5 The Simulator 5.1 Abis Channel . . . . . . . . . . . . . . . . . . 5.1.1 States for Development of Algorithms 5.1.2 States for Validation of Algorithms . . 5.2 Abis Protocol . . . . . . . . . . . . . . . . . . 5.3 Jitter Buer . . . . . . . . . . . . . . . . . . . 6 Algorithm Behavior 6.1 Simulation Data . . . 6.2 Validation Data . . . . 6.2.1 Random Load . 6.2.2 Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Contents 37 37 37 40 40 41 43 43 46 48 49 51 52 52 53 57 57 58 59 60 61 61 62 63 64 65 67 67 67 67 68 71 71 71 72 75 77 82

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Simulations and Results 7.1 Simulations with Fixed PTA . . . . . . . . . . . . 7.1.1 Simulations . . . . . . . . . . . . . . . . . . 7.1.2 Simulation Results . . . . . . . . . . . . . . 7.2 Simulations with Fixed PTA Margin . . . . . . . . 7.2.1 Simulations with Mean Value Algorithm . . 7.2.2 Simulation Results, Mean Value Algorithm 7.2.3 Simulations with Kalman Algorithm . . . . 7.2.4 Simulation Results, Kalman Algorithm . . . 7.3 Simulations with Automatic PTA Margin . . . . . 7.3.1 Simulations with Mean Value Algorithm . . 7.3.2 Simulation Results, Mean Value Algorithm 7.3.3 Simulations with Kalman Algorithm . . . . 7.3.4 Simulation Results, Kalman Algorithm . . . 7.4 Summary of Simulations and Results . . . . . . . . 8 Algorithm Validation 8.1 Simulation Settings . . . . . . . . . . . . . . . . 8.1.1 Simulation with Mean Value Algorithm 8.1.2 Simulation with Kalman Algorithm . . 8.2 Validation Results . . . . . . . . . . . . . . . . . . . . . . . .

9 Conclusions and Discussion 9.1 Analysis of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Comparison of Algorithms . . . . . . . . . . . . . . . . . . . 9.2 Future Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliography A Ping - Histograms of Round Trip Times B Ping - Round Trip Times

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 benecial. 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 dene algorithms for a dynamic jitter buer 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 buers Development and implementation of a model for Abis over IP Dening of principles/algorithms to evaluate Development and implementation of algorithms for jitter buering 1

2 Decide which scenarios to simulate: E.g. which trac models to use Parameter settings Simulation and evaluation with aspect to: Buer usage Packet loss

Introduction

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 buer 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 dierently 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 rst 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 nd the behavior of the Abis channel a statistical study of a general IP network, using ping, will be made. The dynamic jitter buer algorithms will be dened based on readings and discussions with specialists at Ericsson. The Abis model and the buer algorithms will be implemented in an Ericsson internal protocol simulator where the simulations will be made.

1.5 Thesis Outline

1.5

Thesis Outline

Chapter 1 is an introduction of the background, scope, goals and limitations of this thesis work. The method used and an abbreviation list is also included. Chapter 2 gives a brief introduction to relevant basics about GSM. Chapter 3 describes the Abis model and how it has been developed. Chapter 4 describes the dynamic jitter buer algorithms. Chapter 5 describes the used simulator and implementations. Chapter 6 shows the behavior of the algorithms. Chapter 7 states simulations and results for the algorithms. Chapter 8 states the simulations and results for algorithm validation. Chapter 9 concludes the thesis work done.

Introduction

1.6
1G 2G BSC BTS CDF

Abbreviations
1st Generation digital cellular network 2nd Generation digital cellular network Base Station Controller Base Transceiver Station Cumulative Distribution Function Enhanced Data rates for GSM Evolution GSM/EDGE Algorithm Research Gateway GPRS Support Node Gateway Mobile services Switching Center Global System for Mobile Communications General Packet Radio Service Jitter Buer P-GSL Timing Advance downlink Link Access Protocol - D Channel Long Term Evolution Mobile Station Mobile services Switching Center Public Land Mobile Network P-GSL Timing Advance Packet GPRS Signaling Link Public Switched Telephone Network Radio Access Network Radio Base Station Round Trip Time Serving GPRS Support Node Site Transport Node for RBS Time Division Multiplexing Wideband Code Division Multiple Access

EDGE GEAR GGSN GMSC GSM GPRS JBPTA LAPD LTE MS MSC PLMN PTA P-GSL PSTN RAN RBS RTT SGSN STN TDM WCDMA

Chapter 2

Theoretical Background
2.1 Mobile Communication

Mobile systems have been very important in our society for a long time now. The rst 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]

Theoretical Background

2.2

Nodes in GSM

The GSM network consists of dierent nodes interacting with each other through dierent interfaces, see gure 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 assigning 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]

Figure 2.1: Part of the GSM Network

2.3 TDMA

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 gure 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 exible 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 conguration. 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 trac 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 dedicated 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].

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 rst 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 rst 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 gure 2.3. [4]

Figure 2.3: Abis Bundling Protocol Overview

2.6 Jitter Buers

2.6

Jitter Buers

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 buers are used. A jitter buer is a buer that receives packets and give them to the receiver at a specic time. If a packet has not arrived to the buer by the time it is supposed to be delivered to the receiver, it will be discarded. [7] In gure 2.4 some terms related to jitter buers are shown: Minimum delay: The minimum packet delay that the jitter buer can handle Maximum delay: The maximum packet delay that the jitter buer can handle Delay variation: The variation in packet delays Jitter buer size: The variation in packet delays that the jitter buer can handle

Figure 2.4: Jitter Buer Terminology The size of the buer aects the transmission and capability of the network. A large buer can handle larger packet delay variations but it also adds extra delay to packets which arrive faster than the maximum delay handled. A large buer reduces packet drop caused by packets arriving too late. A small buer 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.

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 P No. Delay P No. Delay T of [ms] T of [ms] A frames A frames 0 1 4.6 16 18 83.1 1 2 9.2 17 20 92.3 2 3 13.8 18 22 101.5 3 4 18.5 19 24 110.8 4 5 23.1 20 26 120.0 5 6 27.7 21 28 129.2 6 7 32.3 22 30 138.5 7 8 36.9 23 32 147.7 8 9 41.5 24 34 156.9 9 10 46.2 25 36 166.2 10 11 50.8 26 38 175.4 11 12 55.4 27 40 184.6 12 13 60.0 28 42 193.8 13 14 64.6 29 44 203.1 14 15 69.2 30 46 212.3 15 16 73.8 31 48 221.5

Step Length 4 P No. Delay T of [ms] A frames 32 52 240.0 33 56 258.5 34 60 276.9 35 64 295.4 36 68 313.8 37 72 332.3 38 76 350.8 39 80 369.2 40 84 387.7 41 88 406.2 42 92 424.6 43 96 443.1 44 100 461.5 45 104 480.0 46 108 498.5 47 112 516.9

Step Length 8 P No. Delay T of [ms] A frames 48 120 553.8 49 128 590.8 50 136 627.7 51 144 664.6 52 152 701.5 53 160 738.5 54 168 775.4 55 176 812.3 56 184 849.2 57 192 886.2 58 200 923.1 59 208 960.0 60 216 996.9 61 224 1033.8 62 232 1070.8 63 240 1107.7

The BTS sends a PGSL-DLDATA-REQ asking for a packet that shall be transmitted 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 buered 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 Ericssons 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 Buer P-GSL Timing Advance downlink (JBPTA). JBPTA is a value of the desired buer usage. [4]

Chapter 3

The Abis Model


There are two dierent 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 nd 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 dierent 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 les for upand download are large enough to last the entire session. Two dierent intervals 11

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

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

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 t the ping results and are therefore discarded. Instead Gamma and Log-normal are compared and they both t 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 dierence is between how the connection is loaded. The plots showing no load (see gure A.1(a) on page 78) and uplink load (see gure 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 gure A.3(a) on page 80) and the uplink & downlink load (see gure A.4(a) on page 81) are also similar to each other. They both have a more spread probability and the only dierence is that the uplink & downlink have a bit more of a spike at the lower values.

3.3 Abis Bundling Protocol

13

The results from the dierent 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 dierent 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 distribution. 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 constitutes the Abis Model that is used in the simulations of the thesis work.

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 modied 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 buered longer than they need too and possibly be dropped if the buer delay exceeds the buer length. The RTT estimate combined with the PTA margin is the PTA, see gure 4.1.
0.08 abis delay RTT value PTA value 0.07

0.06

0.05 PTA margin 0.04 PTA value [s] 0.03

RTT estimate 0.02

0.01 0

10

15

20

25 Time [s]

30

35

40

45

50

Figure 4.1. PTA and PTA Margin Overview

15

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 buered. The statistical study gives a feeling of how the jitter behaves but it is not certain it always acts the same. At rst a few conditions are stated, basically increasing and decreasing the PTA margin depending on the variation in buer 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
4.1.1

Mean Value Algorithm


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 buer 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 buer 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 ltered, see section 4.1.5 For an overview of the algorithm see gure 4.2.

4.1 Mean Value Algorithm

17

Figure 4.2: Overview of the Mean Value Algorithm

18

The Algorithms

4.1.2

RTT Estimate

To calculate the rst part of the PTA value, the Mean Value Algorithm uses two oating 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 oating 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 ltering as shown in the following section. Filter Theory When creating the oating mean values the impulse responses are a sum of diracpulses divided by the number of samples. The oating 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 ([n] + [n 1] + [n 2] + ... + [n 148] + [n 149]) 150 1 ([n] + [n 1] + [n 2] + ... + [n 8] + [n 9]) 10 (4.1)

h2[n] =

(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 lter has equally many poles and zeros. These poles and zeros are plotted in the pole-zero diagrams, see gure 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.

4.1 Mean Value Algorithm

19

H1[z] =

1 (1 + z 1 + z 2 + ... + z 148 + z 149 ) 150 1 1 = (z 149 + z 148 + ... + z 2 + z 1 + 1) 150 z 1501 1 z 150 1 1 = 150 z 1501 z 1

(4.3)

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

20

The Algorithms

H2[z] =

1 (1 + z 1 + z 2 + ... + z 8 + z 9 ) 10 1 1 = (z 9 + z 8 + ... + z 2 + z 1 + 1) 10 z 101 1 1 z 10 1 = 10 z 101 z 1

(4.4)

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

4.1 Mean Value Algorithm

21

The lter characteristics of the two low pass lters mentioned earlier are shown in gures 4.5 and 4.6.

Figure 4.5: Filter Characteristics of H1[z]

Figure 4.6: Filter Characteristics of H2[z]

22

The Algorithms

4.1.3

PTA Margin

The Mean Value Algorithm changes the PTA margin according to size of the jitter and the buer usage. The goal is to keep the packets in the buer as short time as possible without packet loss. The last 150 jitter buer delays are used to calculate a window of buer 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 buer usage the 120 ms long buer 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 gure 4.7. To be able to register that packets are close to either end of the buer (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 buer 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 buer 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 threshold 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 Buer The markings in the gure above correspond to dierent 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 Slot E: The threshold value is medium or high

4.1 Mean Value Algorithm Slot G: The threshold value is smaller than a certain value Slot I: The threshold value is zero

23

Since the threshold value never reaches zero the denition 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 gure 4.8.

Figure 4.8: Flowchart of the PTA Margin for the Mean Value Algorithm

24

The Algorithms

Case 1: If there are packets in the lowest part of the buer (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 buer or there are packets in I (lost packets), the PTA margin is increased by 5 ms. See gure 4.9.

Figure 4.9: Case 1 Case 2: If there are packets in the lowest part of the buer (A or B) and packets in D but the upper part of the buer 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 buer). See gure 4.10.

Figure 4.10: Case 2 Case 3: If there are packets in the lowest part of the buer (A or B) and packets in E but the upper part of the buer 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 buer). See gure 4.11.

Figure 4.11: Case 3

4.1 Mean Value Algorithm

25

Case 4: If there are packets in the lowest part of the buer (A or B) and packets in F but the upper part of the buer 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 buer). See gure 4.12.

Figure 4.12: Case 4 Case 5: If there are packets in the lower part of the buer (A, B, C or D) and packets in F but the upper part of the buer 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 buer). See gure 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 gure 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 buer is empty up to 60 ms, the PTA margin is decreased by 0.8 ms. See gure 4.15.

Figure 4.15: Case 8

26

The Algorithms

Case 9: If the buer is empty up to 30 ms, the PTA margin is decreased by 0.3 ms. See gure 4.16.

Figure 4.16: Case 9 Case 10: If the buer 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 gure 4.17.

Figure 4.17: Case 10 Case 11: If the buer 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 gure 4.18.

Figure 4.18: Case 11 Case 12: If the buer 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 gure 4.19.

Figure 4.19: Case 12

4.1 Mean Value Algorithm

27

Case 13: If the buer 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 gure 4.20.

Figure 4.20: Case 13 Case 14: If there are no late packets and the buer 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 gure 4.21.

Figure 4.21: Case 14 Case 15: If there are packets in the lowest part of the buer (A, B or C) and the window size is larger than 3.5 ms the PTA margin is increased by 0.1 ms. See gure 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 gure 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, 1 ms PTA margin 87 ms.

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 oating 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 dierent 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 buer 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 ltered to get a more stable PTA (but slower). How much the PTA is ltered is chosen by the parameter , see equation (4.7). P T A = P T Aold + (1 ) P T Aunf iltered (4.7)

4.2 Kalman Algorithm

29

4.2
4.2.1

Kalman Algorithm
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 gure 4.24.

Figure 4.24: Overview of the Regulator The dierent boxes in gure 4.24 have the following purposes: Measure: Calculates the dierence 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 xed value set by the operator.

30

The Algorithms Estimate: This box implements an enhanced Kalman observer which works in two dierent 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 buer usage, the gures are only repeated for easier reading. An overview of the PTA margin update can be seen in gure 4.25.

4.2 Kalman Algorithm

31

Figure 4.25: Flowchart of the PTA Margin for the Kalman Algorithm

32

The Algorithms

Case 1: If there are packets in the lowest part of the buer (A, B or C) and packets in G it is high jitter. Unless there are too many packets in the top 10 ms of buer or there are packets in I (lost packets), the PTA margin is increased by 5 ms. See gure 4.26.

Figure 4.26: Case 1 Case 2: If there are packets in the lowest part of the buer (A or B) and packets in D but the upper part of the buer 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 buer). See gure 4.27.

Figure 4.27: Case 2 Case 3: If there are packets in the lowest part of the buer (A or B) and packets in E but the upper part of the buer 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 buer). See gure 4.28.

Figure 4.28: Case 3

4.2 Kalman Algorithm

33

Case 4: If there are packets in the lowest part of the buer (A or B) and packets in F but the upper part of the buer 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 buer). See gure 4.29.

Figure 4.29: Case 4 Case 5: If there are packets in the lower part of the buer (A, B, C or D) and packets in F but the upper part of the buer is unused (60 ms and up), the PTA margin is increased (since it is risky to use the lower part of the buer). See gure 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 gure 4.31.

Figure 4.31: Case 6 Case 7: No decrease of the PTA margin should be done if the mean variance is larger than 7.5 since it is looked upon as high jitter.

34

The Algorithms

Case 8: If the buer is empty up to 60 ms, the PTA margin is decreased by 0.8 ms. See gure 4.32.

Figure 4.32: Case 8 Case 9: If the buer is empty up to 30 ms, the PTA margin is decreased by 0.1 ms. See gure 4.33.

Figure 4.33: Case 9 Case 10: If the buer 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 gure 4.34.

Figure 4.34: Case 10 Case 11: If the buer 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 gure 4.35.

Figure 4.35: Case 11

4.2 Kalman Algorithm

35

Case 12: If the buer 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 gure 4.36.

Figure 4.36: Case 12 Case 13: If the buer is empty up to 2 ms and above 15 ms, see gure 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 buer 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 gure 4.38.

Figure 4.38: Case 14 Case 15: If there are packets in the lowest part of the buer (A, B or C) and the mean variance is larger than 0.025 the PTA margin is increased by 0.1 ms. See gure 4.39.

Figure 4.39: Case 15

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 gure 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, 1 ms PTA margin 87 ms.

Chapter 5

The Simulator
The simulator used in this thesis work is a radio system simulation platform developed 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 trac makes it fairly easy to build your own simulator by assembling desired blocks. The simulator used for the simulations is shown in gure 5.1.

Figure 5.1: Structure of the Simulator

5.1
5.1.1

Abis Channel
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 gure A.1(a) on page 78. This load state has a jitter of about 3 ms. 37

38

The Simulator High load: log = -3.309 and log = 0.403, see gure 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 gures 5.2, 5.3 and 5.4.
Channel Behavior Low Load 0.015

0.0145

Channel Delay [s]

0.014

0.0135

0.013

0.0125

0.012 0

10

20

30

40

50 Time [s]

60

70

80

90

100

Figure 5.2: Channel Behavior, Low Load

Channel Behavior Medium Load 0.08 0.07 0.06 Channel Delay [s] 0.05 0.04 0.03 0.02 0.01 0

10

20

30

40

50 Time [s]

60

70

80

90

100

Figure 5.3: Channel Behavior, Medium Load

5.1 Abis Channel


Channel Behavior High Load 0.16 0.14 0.12 Channel Delay [s] 0.1 0.08 0.06 0.04 0.02 0 0

39

10

20

30

40

50 Time [s]

60

70

80

90

100

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 gure of the pyramid load can be seen in 5.5.
Channel Behavior Pyramid Load 0.12

0.1

Channel Delay [s]

0.08

0.06

0.04

0.02

0 0

10

20

30

40

50 Time [s]

60

70

80

90

100

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 gure 5.2 on page 38, the major dierence 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.

40

The Simulator

5.1.2

States for Validation of Algorithms

Once the algorithms have been developed using the states mentioned in the previous 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 buer can handle). Random load: Changes between low, medium and high load after a certain time t chosen by a parameter, see gures 6.19 and 6.20 on page 48 A step function is implemented mainly to test the RTT parts of the algorithms, 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.

5.3 Jitter Buer

41

5.3

Jitter Buer

The two algorithms, Mean Value and Kalman, are implemented according to chapter 4. The dierent choices that are implemented in the simulator are, see gure 5.6: Algorithm: Fixed PTA, Mean Value Algorithm or Kalman Algorithm PTA: PTA value [s] used for xed 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 xed PTA margin and as initial value when using automatic PTA margin Alpha: Forgetting factor for ltering of PTA in Mean Value Algorithm, [0,1]

Figure 5.6: Simulator GUI

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. Dierent channel delays have been used, both simulation and validation data, see section 5.1. Unless otherwise noted all simulations 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 gures 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.
Low Load, Mean Value Algorithm 0.04 abis delay PTA value 0.035 0.035 0.03 [s] [s] 0.03 Low Load, Kalman Algorithm 0.045 abis delay PTA value 0.04

0.025 0.025 0.02

0.02

0.015 0

20

40 Time [s]

60

80

100

0.015 0

20

40 Time [s]

60

80

100

Figure 6.1. Mean Value Algorithm, Low Load

Figure 6.2. Kalman Algorithm, Low Load

43

44

Algorithm Behavior

When the algorithms are run using medium load as channel delay the behaviors are as shown in gures 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.
Medium Load, Mean Value Algorithm 0.08 0.07 0.06 0.07 0.05 [s] [s] 0.04 0.03 0.03 0.02 0.01 0 0.02 20 40 Time [s] 60 80 100 0.01 0 20 40 Time [s] 60 80 100 0.06 0.05 0.04 abis delay PTA value 0.1 0.09 0.08 abis delay PTA value Medium Load, Kalman Algorithm

Figure 6.3. Medium Load

Mean Value Algorithm,

Figure 6.4. Kalman Algorithm, Medium Load

When the algorithms are run using high load as channel delay the behaviors are as shown in gures 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.
High Load, Mean Value Algorithm 0.18 0.16 0.14 0.12 0.1 [s] [s] 0.08 0.06 0.06 0.04 0.04 0.02 0 0 0.02 20 40 Time [s] 60 80 100 0 0 20 40 Time [s] 60 80 100 abis delay PTA value 0.16 0.14 0.12 0.1 0.08 abis delay PTA value High Load, Kalman Algorithm

Figure 6.5. Mean Value Algorithm, High Load

Figure 6.6. Kalman Algorithm, High Load

6.1 Simulation Data

45

When the algorithms are run using pyramid load as channel delay the behaviors are as shown in gures 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.
Pyramid Load, Mean Value Algorithm 0.14 0.12 0.1 0.08 [s] [s] 0.06 0.04 0.02 0 0 abis delay PTA value 0.11 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 20 40 Time [s] 60 80 100 0.01 0 20 40 Time [s] 60 80 100 abis delay PTA value Pyramid Load, Kalman Algorithm

Figure 6.7. Mean Value Algorithm, Pyramid Load

Figure 6.8. Kalman Algorithm, Pyramid Load

46

Algorithm Behavior

6.2

Validation Data

Some problems arise when simulations are run with the validation data. As can be seen in gures 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.
Low Load 2, Mean Value Algorithm 0.04 abis delay PTA value 0.035 0.045 0.04 0.035 0.03 0.03 [s] 0.025 [s] 0.025 0.02 0.02 0.015 0.015 0.01 0 abis delay PTA value Low Load 2, Kalman Algorithm

0.01 0

20

40 Time [s]

60

80

100

20

40 Time [s]

60

80

100

Figure 6.9. Mean Value Algorithm, Low Load 2

Figure 6.10. Kalman Algorithm, Low Load 2

LowMedium Load, Mean Value Algorithm 0.05 0.045 0.04 0.035 0.03 [s] [s] 0.03 0.025 0.02 0.015 0.01 0.01 0.005 0 20 40 Time [s] 60 80 100 0 0 0.02 0.04 abis delay PTA value 0.05 0.06

LowMedium Load, Kalman Algorithm abis delay PTA value

20

40 Time [s]

60

80

100

Figure 6.11. Mean Value Algorithm, LowMedium Load

Figure 6.12. Medium Load

Kalman Algorithm, Low-

6.2 Validation Data

47

Another problem arises when medium load 2 is used, see gures 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 buer delay but lower packet loss.
Medium Load 2, Mean Value Algorithm 0.08 0.07 0.06 0.05 [s] 0.04 0.03 0.02 0.01 0 0 [s] abis delay PTA value 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 20 40 Time [s] 60 80 100 0 0 20 40 Time [s] 60 80 100 abis delay PTA value Medium Load 2, Kalman Algorithm

Figure 6.13. Medium Load 2

Mean Value Algorithm,

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 gures 6.15 and 6.16.
MediumHigh Load, Mean Value Algorithm 0.16 0.14 0.12 0.1 [s] 0.08 0.06 0.04 0.02 0 0 0.02 [s] 0.08 abis delay PTA value 0.1 0.12 abis delay PTA value MediumHigh Load, Kalman Algorithm

0.06

0.04

20

40 Time [s]

60

80

100

0 0

20

40 Time [s]

60

80

100

Figure 6.15. Mean Value Algorithm, Medium-High Load

Figure 6.16. Kalman Algorithm, MediumHigh Load

48

Algorithm Behavior

When there is more jitter than the buer can handle (high load 2) the algorithms still compensates in a good way as shown in gures 6.17 and 6.18. The PTA value is quite steady for both algorithms.
High Load 2, Mean Value Algorithm 0.4 0.35 0.3 0.25 0.4 [s] 0.2 0.15 0.1 0.05 0 0 0.2 0.1 0 0 [s] 0.3 abis delay PTA value 0.7 0.6 0.5 abis delay PTA value High Load 2, Kalman Algorithm

20

40 Time [s]

60

80

100

20

40 Time [s]

60

80

100

Figure 6.17. Mean Value Algorithm, High Load 2

Figure 6.18. Load 2

Kalman Algorithm, High

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 gures 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.
Random Load, Mean Value Algorithm 0.14 0.12 0.1 0.08 [s] 0.06 0.04 0.02 0 0 [s] Channel delay PTA value 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 0 Channel delay PTA value Random Load, Kalman Algorithm

10

20

30

40 Time [s]

50

60

70

80

10

20

30

40 Time [s]

50

60

70

80

Figure 6.19. Mean Value Algorithm, Random Load

Figure 6.20. Kalman Algorithm, Random Load

6.2 Validation Data

49

6.2.2

Steps
shown in equation (6.1), a step up and if t < 5 if 5 t < 10 if 10 t 15

The channel behavior tested is u(t) as down. 0.01 0.11 u(t) = 0.01 Unit Step, No PTA Margin

(6.1)

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

Figure 6.21. Mean Value Algorithm, Step Load

Figure 6.22. Load

Kalman Algorithm, Step

50 Unit Step, Automatic PTA Margin

Algorithm Behavior

When automatic PTA margin is used the algorithms respond as in gures 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 dierentiate 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".
Step Load, Mean Value Algorithm 0.16 0.14 0.12 0.14 0.1 [s] 0.08 0.06 0.04 0.04 0.02 0 0 0.02 5 10 15 Time [s] 20 25 30 0 0 5 10 15 Time [s] 20 25 30 [s] 0.12 0.1 0.08 0.06 abis delay PTA value PTAmargin 0.2 0.18 0.16 abis delay PTA value PTAmargin Step Load, Kalman Algorithm

Figure 6.23. Mean Value Algorithm, Step Load

Figure 6.24. Load

Kalman Algorithm, Step

Chapter 7

Simulations and Results


The trac model used in these simulations is a xed 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 aects the simulation There is no random packet loss on the channel so all packet loss is due to early or late arrival in the buer The data rate of the channel is set to innity (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 dierent seeds which gives a total of 4000 s. The data presented here is after the algorithms have adjusted, i.e. the rst data is truncated. In the following sections the detailed simulations and results are stated. For a summary, see section 7.4.

51

52

Simulations and Results

7.1

Simulations with Fixed PTA

Three dierent xed PTA values have been chosen to show how xed 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

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 Buer Usage [ms] Low load 0 1.93 Medium load 999.55 0.73 High load 982.47 1.94 Pyramid load 839.31 1.23
CDF Buffer Usage Fixed PTA, Low Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 Buffer Delay [s] 2.5 3 x 10 3.5
3

See See See See

CDF gure gure gure gure

7.1 7.2 7.3 7.4

CDF Buffer Usage Fixed PTA, Medium Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.06 0.05 0.04 0.03 0.02 0.01 Buffer Delay [s] 0 0.01

Figure 7.1. PTA = 0.0185, Low Load

Figure 7.2. PTA = 0.0185, Medium Load

CDF Buffer Usage Fixed PTA, High Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.25 0.2 0.15 0.1 0.05 Buffer Delay [s] 0 0.05 0.1 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.2

CDF Buffer Usage Fixed PTA, Pyramid Load

0.15

0.1 0.05 Buffer Delay [s]

0.05

Figure 7.3. PTA = 0.0185, High 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).

54 PTA = 0.06

Simulations and Results

Table 7.2: Simulation Results, Fixed PTA = 0.06 Packet Loss [% ] Average Buer Usage [ms] Low load 0 43.43 Medium load 0.76 26.23 High load 135.47 22.27 Pyramid load 17.80 33.13

See See See See

CDF gure gure gure gure

7.5 7.6 7.7 7.8

CDF Buffer Usage Fixed PTA, Low Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.0415 0.042 0.0425 0.043 0.0435 0.044 0.0445 0.045 0.0455 Buffer Delay [s] Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.02

CDF Buffer Usage Fixed PTA, Medium Load

0.01

0.01 0.02 Buffer Delay [s]

0.03

0.04

0.05

Figure 7.5. PTA = 0.06, Low Load

Figure 7.6. PTA = 0.06, Medium Load

CDF Buffer Usage Fixed PTA, High Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.2 0.15 0.1 0.05 0 Buffer Delay [s] 0.05 0.1 0.15 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.15

CDF Buffer Usage Fixed PTA, Pyramid Load

0.1

0.05 Buffer Delay [s]

0.05

Figure 7.7. PTA = 0.06, High Load

Figure 7.8. PTA = 0.06, Pyramid Load

In this simulation (PTA = 60 ms) the packet loss is low for low and medium load, see table 7.2. The average buer usage is too high for low load since no packets stay in the buer less than 42 ms, see gure 7.5. For medium load the buer usage is good. When the jitter is higher almost all packets are lost since the PTA value is too low.

7.1 Simulations with Fixed PTA PTA = 0.1108

55

Table 7.3: Simulation Results, Fixed PTA = 0.1108 Packet Loss [% ] Average Buer Usage [ms] Low load 0 94.23 Medium load 0 77.00 High load 3.59 68.51 Pyramid load 0.21 83.20

CDF See gure 7.9 See gure 7.10 See gure 7.11 See gure 7.12

CDF Buffer Usage Fixed PTA, Low Load 1 CDF Buffer Usage Fixed PTA, Medium Load 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.092 0.093 0.094 0.095 Buffer Delay [s] 0.096 0.097 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.02 0.03 0.04 0.05 0.06 0.07 Buffer Delay [s] 0.08 0.09 0.1

Figure 7.9. PTA = 0.1108, Low Load Figure 7.10. PTA = 0.1108, Medium Load

CDF Buffer Usage Fixed PTA, High Load 1 CDF Buffer Usage Fixed PTA, Pyramid Load 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.2 0.15 0.1 0.05 0 Buffer Delay [s] 0.05 0.1 0.15 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.05 0 0.05 Buffer Delay [s] 0.1 0.15

Figure 7.11. PTA = 0.1108, High Load Figure 7.12. PTA = 0.1108, Pyramid Load

In this simulation (PTA = 110.8 ms) the packet loss is low for low, medium and pyramid load. Considering the high jitter of high load, the packet loss of only 3.59 % is not too bad, see table 7.3. The PTA value can not be much higher since this would result in packets being lost because they would arrive too early instead.

56

Simulations and Results

The high PTA value in this simulation results in packets being delayed in the buer an unnecessary long time for low and medium load, see gures 7.9 and 7.10.

7.2 Simulations with Fixed PTA Margin

57

7.2

Simulations with Fixed PTA Margin

One xed PTA margin has been tested to show how it behaves and to give a reference point for following simulations.

7.2.1

Simulations with Mean Value Algorithm

The following settings are used for the simulation: Algorithm: Mean Value Algorithm PTA: Automatic PTA margin: none PTA margin: 0.06 Alpha: 0.3

58

Simulations and Results

7.2.2

Simulation Results, Mean Value Algorithm

Table 7.4: Simulations Results, Mean Value Algorithm with Fixed PTA Margin Packet Loss [% ] Average Buer Usage [ms] CDF Low load 0 60.00 See gure 7.13 Medium load 0 59.99 See gure 7.14 High load 6.77 60.49 See gure 7.15 Pyramid load 0.50 60.04 See gure 7.16

CDF Buffer Usage Mean Value Algorithm, Low Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.058 0.0585 0.059 0.0595 0.06 0.0605 0.061 0.0615 0.062 Buffer Delay [s] Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

CDF Buffer Usage Mean Value Algorithm, Medium Load

0 0.01

0.02

0.03

0.04 0.05 Buffer Delay [s]

0.06

0.07

0.08

Figure 7.13. PTA Margin = 60 ms, Low Load

Figure 7.14. Medium Load

PTA Margin = 60 ms,

CDF Buffer Usage Mean Value Algorithm, High Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.15 0.1 0.05 0 Buffer Delay [s] 0.05 0.1 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

CDF Buffer Usage Mean Value Algorithm, Pyramid Load

0 0.1

0.05

0 Buffer Delay [s]

0.05

0.1

Figure 7.15. PTA Margin = 60 ms, High Load

Figure 7.16. PTA Margin = 60 ms, Pyramid Load

For the Mean Value Algorithm with xed PTA margin (PTA margin = 60 ms) the packet loss is low for all load states except high load, see table 7.4. For low and medium load the mean delay is too high which can be seen in gures 7.13 and 7.14. The PTA margin is too low to cope with the jitter for high load which results in packet loss.

7.2 Simulations with Fixed PTA Margin

59

7.2.3

Simulations with Kalman Algorithm

The following settings are used for the simulation: Algorithm: Kalman Algorithm PTA: Automatic PTA margin: none PTA margin: 0.06 Alpha: N/A

60

Simulations and Results

7.2.4

Simulation Results, Kalman Algorithm

Table 7.5: Simulation Results, Kalman Algorithm with Fixed PTA Margin Packet Loss [% ] Average Buer Usage [ms] CDF Low load 0 61.67 See gure Medium load 0 61.99 See gure High load 5.77 62.52 See gure Pyramid load 0.05 61.89 See gure

7.17 7.18 7.19 7.20

CDF Buffer Usage Kalman Algorithm, Low Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.0595 0.06 0.0605 0.061 0.0615 0.062 0.0625 0.063 0.0635 Buffer Delay [s] Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.01

CDF Buffer Usage Kalman Algorithm, Medium Load

0.02

0.03

0.04 0.05 0.06 Buffer Delay [s]

0.07

0.08

0.09

Figure 7.17. PTA Margin = 60 ms, Low Load

Figure 7.18. Medium Load

PTA Margin = 60 ms,

CDF Buffer Usage Kalman Algorithm, High Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.2 0.15 0.1 0.05 0 Buffer Delay [s] 0.05 0.1 0.15 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

CDF Buffer Usage Kalman Algorithm, Pyramid Load

0 0.06 0.04 0.02

0 0.02 0.04 Buffer Delay [s]

0.06

0.08

0.1

Figure 7.19. PTA Margin = 60 ms, High Load

Figure 7.20. PTA Margin = 60 ms, Pyramid Load

For the Kalman Algorithm with xed PTA margin (PTA margin = 60 ms) the packet loss is low for all load states except high load, see table 7.5. For low and medium load the mean delay is too high which can be seen in gures 7.17 and 7.18. The PTA margin is too low to cope with the jitter for high load which results in packet loss.

7.3 Simulations with Automatic PTA Margin

61

7.3
7.3.1

Simulations with Automatic PTA Margin


Simulations with Mean Value Algorithm

The following settings are used for the simulation: Algorithm: Mean Value Algorithm PTA: Automatic PTA margin: updated by window size PTA margin: 0.020 (initial) Alpha: 0.3

62

Simulations and Results

7.3.2

Simulation Results, Mean Value Algorithm


Mar-

Table 7.6: Simulation Results, Mean Value Algorithm with Automatic PTA gin Packet Loss [% ] Average Buer Usage [ms] CDF Low load 0.02 1.64 See gure Medium load 0.83 26.59 See gure High load 1.15 86.86 See gure Pyramid load 0.58 37.41 See gure
CDF Buffer Usage Mean Value Algorithm, Low Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 2 0 2 4 6 Buffer Delay [s] 8 x 10 10
3

7.21 7.22 7.23 7.24

CDF Buffer Usage Mean Value Algorithm, Medium Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.04 0.02 0 0.02 Buffer Delay [s] 0.04 0.06

Figure 7.21. Automatic PTA Margin, Low Load

Figure 7.22. Medium Load

Automatic PTA Margin,

CDF Buffer Usage Mean Value Algorithm, High Load 1 0.9 0.8 Number of Packages[%] Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.05 0 0.05 Buffer Delay [s] 0.1 0.15

CDF Buffer Usage Mean Value Algorithm, Pyramid Load 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.05 0 0.05 Buffer Delay [s] 0.1 0.15

Figure 7.23. Automatic PTA Margin, High Load

Figure 7.24. Pyramid Load

Automatic PTA Margin,

For the Mean Value Algorithm with automatic PTA margin the packet loss is low for all states, see table 7.8, maybe a bit high for high load. High load has really high jitter though ( 143 ms) so it is hard to get a lower packet loss since the buer is only 120 ms long. The buer usage is good for all states, see gures 7.21, 7.22, 7.23 and 7.24.

7.3 Simulations with Automatic PTA Margin

63

7.3.3

Simulations with Kalman Algorithm

The following settings are used for the simulation: Algorithm: Kalman Algorithm PTA: Automatic PTA margin: updated by mean variance PTA margin: 0.020 (initial) Alpha: N/A

64

Simulations and Results

7.3.4

Simulation Results, Kalman Algorithm


Automatic PTA CDF gure gure gure gure

Table 7.7: Simulation Results for the Kalman Algorithm with Margin Packet Loss [% ] Average Buer Usage [ms] Low load 0 1.89 Medium load 0.49 28.97 High load 1.51 85.44 Pyramid load 0.71 34.12
CDF Buffer Usage Kalman Algorithm, Low Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 Buffer Delay [s] 2.5 3 x 10 3.5
3

See See See See

7.26 7.26 7.27 7.28

CDF Buffer Usage Kalman Algorithm, Medium Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.02 0.01 0 0.01 0.02 0.03 Buffer Delay [s] 0.04 0.05 0.06

Figure 7.25. Automatic PTA Margin, Low Load

Figure 7.26. Medium Load

Automatic PTA Margin,

CDF Buffer Usage Kalman Algorithm, High Load 1 0.9 0.8 Number of Packages[%] Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.05 0 0.05 Buffer Delay [s] 0.1 0.15

CDF Buffer Usage Kalman Algorithm, Pyramid Load 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.05 0 0.05 Buffer Delay [s] 0.1 0.15

Figure 7.27. Automatic PTA Margin, High Load

Figure 7.28. Pyramid Load

Automatic PTA Margin,

For the Kalman Algorithm with automatic PTA margin the packet loss is low for all states, see table 7.7, maybe a bit high for high load. High load has really high jitter though ( 143 ms) so it is hard to get a lower packet loss since the buer is only 120 ms long. The buer usage is good for all states, see gures 7.25, 7.26, 7.27 and 7.28.

7.4 Summary of Simulations and Results

65

7.4

Summary of Simulations and Results

In this section a summary of the results from the previous sections in chapter 7 are shown. Only two load states are compared to give an overview of the general result. The gures show packets that are delayed in the buer between 0 and 120 ms since the rest of the packets are lost. What can be seen is that xed PTA works well for one jitter size, see gure 7.29, but as soon as the jitter size changes problems appear. In gure 7.29(a) it can be seen that the packets are delayed too long when the jitter size is small. The packet loss is low for both load states but if a higher jitter size would have been used the packet loss would increase, see section 7.1. Simulations with xed PTA margin give similar results for both algorithms. For the two load states presented here the PTA margin is too high (60 ms) so the buer delay is long for these relatively small jitter sizes, see gure 7.29. Increase of the jitter would give better buer usage but eventually results in packet loss. Simulations with automatic PTA margin shows good buer usage and low packet loss for both load states and algorithms, see gure 7.29 and table 7.8. The algorithms behave very similar but the Mean Value Algorithm has a bit shorter buer delays while the Kalman Algorithm has a bit lower packet loss. The overall result shows that xed PTA and xed PTA margin are static and does not work for all jitter sizes. The automatic PTA margin performs much better. Table 7.8: Summary of Simulation Results Packet Loss [% ] Low load Fixed PTA = 0.06 0 Fixed PTA Margin - Mean Value 0 Fixed PTA Margin - Kalman 0 Automatic PTA Margin - Mean Value 0.02 Automatic PTA Margin - Kalman 0

Packet Loss [% ] Medium load 0.76 0 0 0.83 0.49

66

Simulations and Results

CDF Buffer Usage, Low Load 1

0.8 Number of Packages[%]

0.6

0.4 fixed PTA = 0.06 Mean Value fix PTA margin Kalman fix PTA margin Mean Value automatic PTA margin Kalman automatic PTA margin 0.02 0.04 0.06 Buffer Delay [s] 0.08 0.1 0.12

0.2

0 0

(a) Low Load


CDF Buffer Usage, Medium Load 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.02 0.04 0.06 Buffer Delay [s] fixed PTA = 0.06 Mean Value fix PTA margin Kalman fix PTA margin Mean Value automatic PTA margin Kalman automatic PTA margin 0.08 0.1 0.12

(b) Medium Load

Figure 7.29. CDFs - Summary of Results

Chapter 8

Algorithm Validation
The purpose of this simulation is to see how well the algorithms perform when automatic PTA margin is used. This is done by using new channel behaviors (the validation load states, see section 5.1.2). The following load states are used: low load 2, low-medium load, medium load 2, medium-high load, high load 2 and random load. The general conditions used for the validation simulations are the same as the conditions for the simulations in chapter 7.

8.1
8.1.1

Simulation Settings
Simulation with Mean Value Algorithm

The following settings are used for the simulation: Algorithm: Mean Value Algorithm PTA: Automatic PTA margin: updated by window size PTA margin: 0.020 (initial) Alpha: 0.3

8.1.2

Simulation with Kalman Algorithm

The following settings are used for the simulation: Algorithm: Kalman Algorithm PTA: Automatic PTA margin: updated by mean variance PTA margin: 0.020 (initial) Alpha: N/A 67

68

Algorithm Validation

8.2

Validation Results

Table 8.1: Validation Results, MV = Mean Value Algorithm, K = Kalman Algorithm Packet Loss Average Buer Usage CDF [% ] [ms] MV K MV K Low load 2 0.01 0.19 9.10 9.66 See gure 8.1 Low-medium load 0.06 0.07 25.12 24.05 See gure 8.2 Medium load 2 2.41 2.10 36.14 36.13 See gure 8.3 Medium-high load 0.20 1.37 81.88 66.26 See gure 8.4 High load 2 155.18 154.24 73.58 73.94 See gure 8.5 Random load 5.78 14.05 50.21 53.31 See gure 8.6 For the Mean Value Algorithm the packet loss is low for low load 2, lowmedium load and medium-high load, see table 8.1. Low load 2 and low-medium load have a bit high mean delay which can be seen in gures 8.1 and 8.2 on page 69. Medium-high load has good average buer usage. For medium load 2 the packet loss is a bit high since the algorithm tries to adjust to the jitter too much, see section 6.2. The average buer usage is quite good otherwise. High load 2 has high packet loss since the jitter is higher than the buer can handle but the buer usage is good under the circumstances. The high packet loss for random load has to do with the large "steps up", the algorithm is not perfect but it handles this unlikely situation in a good way. For the Kalman Algorithm the packet loss is low for low load 2 and low-medium load, see table 8.1. They both have a bit high mean delay which can be seen in gures 8.1 and 8.2 on page 69. For medium load 2 and medium-high load the packet loss is a bit high since the algorithm tries to adjust to the jitter too much, see section 6.2. The average buer usage is quite good otherwise. High load 2 has high packet loss since the jitter is higher than the buer can handle but the buer usage is good under the circumstances. The high packet loss for random load has to do with the large "steps up", see gures 6.20 on page 48. The Kalman Algorithm has high packet loss for this load state since its slow on the way up. Over all the performance of the two algorithms are quite similar. The Mean Value Algorithm is a bit better than the Kalman Algorithm for medium-high load and random load, see chapter 6.

8.2 Validation Results


CDF Buffer Usage, Low Load 2 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.01 0 0.01 0.02 Buffer Delay [s] Mean Value Kalman 0.03 0.04 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.02 0.01 0 0.01 0.02 Buffer Delay [s] 0.03 CDF Buffer Usage, LowMedium Load

69

Mean Value Kalman 0.04 0.05

Figure 8.1. Automatic PTA Margin, Low Load 2

Figure 8.2. Automatic PTA Margin, Lowmedium Load

CDF Buffer Usage, Medium Load 2 1 0.9 0.8 Number of Packages[%]


Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 CDF Buffer Usage, MediumHigh Load

0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.06 0.04 0.02 0 0.02 0.04 Buffer Delay [s] Mean Value Kalman 0.06 0.08 0.1

0.1 0 0.1 0.05 0 0.05 Buffer Delay [s]

Mean Value Kalman 0.1 0.15

Figure 8.3. Automatic PTA Margin, Medium Load 2

Figure 8.4. Automatic PTA Margin, Medium-high Load

CDF Buffer Usage, High Load 2 1 0.9 0.8 Number of Packages[%] 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.5 0.4 0.3 0.2 0.1 0 Buffer Delay [s] 0.1 Mean Value Kalman 0.2 0.3 Number of Packages[%] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.2 0.15

CDF Buffer Usage, Random Load

Mean Value Kalman 0.1 0.05 0 Buffer Delay [s] 0.05 0.1 0.15

Figure 8.5. Automatic PTA Margin, High Load 2

Figure 8.6. Automatic PTA Margin, Random Load

Chapter 9

Conclusions and Discussion


By performing a statistical study through pinging, the characteristics of a general IP network were observed. The results from this study made it possible to achieve a good enough Abis model to be able to develop algorithms for dynamic jitter buering.

9.1

Analysis of Results

The results from the simulations with Fixed PTA shows that this method is static and it is impossible to choose a PTA value that works satisfactory for dierent channel behaviors. If the PTA value ts one channel behavior it results in packet loss or high mean delay for others. When the algorithms are used together with xed PTA margin the result is better since the estimates of the round trip times follows the channel behavior. It is still static though in some sense since it is a xed margin added to the RTT estimates. Hence this method has the same problem as Fixed PTA by only working well for one channel behavior. This shows the need for a dynamic jitter buer, i.e. that the PTA value does not have any static part. The results from the simulations with automatic PTA margin shows that the relation between packet loss and average buer usage is satisfactory for all simulation load states. Packets are not delayed more than needed and still without too much packet loss. When using validation states, i.e. new jitter sizes that has not been used for development of the algorithms, the results are not quite as good. In most cases the PTA value is a bit too high so the mean buer delay gets longer but the packet loss is low. In one case it is the other way around so the packet loss is slightly high.

9.1.1

Comparison of Algorithms

The main dierence between the algorithms is that the asymmetric Mean Value Algorithm is faster on the way up than the symmetric Kalman Algorithm. This 71

72

Conclusions and Discussion

is the reason why the packet loss is higher for the Kalman Algorithm when using random load which has sudden changes in jitter level. It takes about the same time for the two algorithms to adjust on the way down from high to low jitter. When it comes to adjustment of the PTA value, when initializing the algorithms, the results show that the Kalman Algorithm sometimes over compensates when the Mean Value Algorithm does not. But when the later does over compensate, it takes about twice as long time to adjust. The adjustment time is not really a problem when the channel delay changes slowly (on the way down). But if the channel delay changes very fast, like the unit step tested, packets might be lost because the PTA value decreases too slowly. That kind of behavior is probably unlikely in a real network though. Another dierence is that since the Kalman Algorithm works in whole TDMA frames it can not be as ne-tuned as the Mean Value Algorithm. This can result in an approximately 4 ms larger PTA value which only matters when the jitter is very low.

9.2

Future Studies

To get a more complete picture of how the algorithms would perform in a real network, more extensive simulations with all relevant protocol layers should be made. For example using several users or at least a source with varying data rate so the bundling can be tested with the algorithms. Since we have not looked at the air interface and the radio conditions this would be of interest to observe the end to end performance. Something that could be done to develop the PTA estimation a bit further is to consider that the time slots in a TDMA frame are sent with dierent delays from the BTS. In reality the TDMA structure is built in a way so that the time slots are transmitted after each other which results in that time slot 0 are sent about 1 ms before time slot 7. This would make the simulations resemble reality even better. In our implementation of the bundling in the Abis protocol an error message is received if a packet is 1500 bytes or larger since that is the approximate maximum size of an IP packet (over Ethernet). Instead the packet should be split into smaller packets. Something that ought to be done is to make the Kalman Algorithm faster (by changing the design parameters) and then evaluate if the behavior improves. The packet loss will most likely be lower for random and step load but it might aect other load states in a negative way. What is probably needed to improve the PTA margin handling is to divide the buer into more slots which would give less quantization error. The conditions for the PTA margin also needs to be tuned a bit better so that no conditions conict. With higher buer quantization it might also be possible to avoid using the mean variance the way we have. This would reduce problems with high and/or oscillating PTA margin. It would also take away the issue that the algorithm incorrectly interprets a fast change of delay as jitter.

9.2 Future Studies

73

In our statistical study we noticed some spikes in the RTT plots of the real delays. These are still unexplained and needs to be investigated further. We think it is a phenomenon created by the computers involved in the pinging. Over all, a larger statistical study would be benecial, mainly to see how a real network behaves over a long period of time. Are there any drastic jumps in jitter size? What is the maximum jitter? Maybe other IP networks besides internet should be tested?

Bibliography
[1] Ericsson AB. Gprs system survey. LZT 123 5347 R4A, 2005. [2] Ericsson AB. User description, exible abis. 235/1553-HSC 103 12/11 Uen A, 2007. [3] Ericsson AB. User description, abis optimization. 264/1553-HSC 103 12/13 Uen A, 2008. [4] Ericsson AB. User description, abis over ip. 263/1553-HSC 103 12/13 Uen B, 2008. [5] Ericsson Radio Systems AB. Gsm system survey. EN/LZT 123 3321 R4A, 1998. [6] Fredrik Gustafsson, Lennart Ljung, and Mille Millnert. Signalbehandling. ISBN 978-91-44-01709-9. [7] VoIPForo. Quality of service: Jitter. URL: http://www.en.voipforo.com/QoS/QoSJitter.php [2008-09-11], 2008.

75

Appendix A

Ping - Histograms of Round Trip Times

77

78

Ping - Histograms of Round Trip Times

(a) 04.30

(b) 14.00

(c) 20.30

Figure A.1. Histogram of Round Trip Times - No Load

79

(a) 04.30

(b) 14.00

(c) 20.30

Figure A.2. Histogram of Round Trip Times - Uplink Load

80

Ping - Histograms of Round Trip Times

(a) 04.30

(b) 14.00

(c) 20.30

Figure A.3. Histogram of Round Trip Times - Downlink Load

81

(a) 04.30

(b) 14.00

(c) 20.30

Figure A.4. Histogram of Round Trip Times - Uplink and Downlink Load

Appendix B

Ping - Round Trip Times

82

83

(a) No Load

(b) Uplink Load

(c) Downlink Load

(d) Uplink and Downlink Load

Figure B.1. Round Trip Times, 14.00

Upphovsrtt
Detta dokument hlls tillgngligt p Internet eller dess framtida ersttare under 25 r frn publiceringsdatum under frutsttning att inga extraordinra omstndigheter uppstr. Tillgng till dokumentet innebr tillstnd fr var och en att lsa, ladda ner, skriva ut enstaka kopior fr enskilt bruk och att anvnda det ofrndrat fr ickekommersiell forskning och fr undervisning. verfring av upphovsrtten vid en senare tidpunkt kan inte upphva detta tillstnd. All annan anvndning av dokumentet krver upphovsmannens medgivande. Fr att garantera ktheten, skerheten och tillgngligheten nns det lsningar av teknisk och administrativ art. Upphovsmannens ideella rtt innefattar rtt att bli nmnd som upphovsman i den omfattning som god sed krver vid anvndning av dokumentet p ovan beskrivna stt samt skydd mot att dokumentet ndras eller presenteras i sdan form eller i sdant sammanhang som r krnkande fr upphovsmannens litterra eller konstnrliga anseende eller egenart. Fr ytterligare information om Linkping University Electronic Press se frlagets hemsida http://www.ep.liu.se/

Copyright
The publishers will keep this document online on the Internet or its possible 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 Linkping 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/ c Gabriella Ferm och Jonas Jarledal

Das könnte Ihnen auch gefallen