132
Throughput Analysis of a Mobile Wireless Digital Data Communication System Incorporating Simple Software Agents - a Simulation Approach. Richard P. A. Heaps Department of Electrical and Computer Engineering McGill University Montréal, Canada Aupust 1998 A thcsis submittcd to the Faculty of Graduate Studies and Research in partial fulfillrnent of the requirements for the degree of Mastcrs o f Engineering. @ 1998 Richard P. A. Heaps

Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

  • Upload
    lamanh

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Throughput Analysis of a Mobile Wireless Digital Data

Communication System Incorporating Simple Software Agents

- a Simulation Approach.

Richard P. A. Heaps

Department of Electrical and Computer Engineering

McGill University

Montréal, Canada

Aupust 1998

A thcsis submittcd to the Faculty of Graduate Studies and Research in partial fulfillrnent of the requirements

for the degree o f Mastcrs o f Engineering.

@ 1998 Richard P. A. Heaps

Page 2: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

National Library Bibliothèque nationale du Canada

Acquisitions and Acquisitions et Bibliographie Services services bibliographiques

395 Wellington Street 395. na We(lingtori OnawaON K 1 A W OtîawaON KlAON4 Canada canada

The author has granted a non- L'auteur a accordé une licence non exclusive Licence allowing the exclusive permettant à la National Librzuy of Canada to Bibliothèque nationale du Canada de reproduce, loan, distribute or seii reproduire, prêter, distribuer ou copies of this thesis in microform, vendre des copies de cette thèse sous paper or electronic formats. la forme de microfiche/nlm, de

reproduction sur papier ou sur format électronique.

The author retains ownership of the L'auteur conserve la propriété du copyright in this thesis. Neither the droit d'auteur qui protège cette thèse. thesis nor substantial extracts fkom it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent étre imprimés reproduced without the author's ou autrement reproduits sans son permission. autorisation.

Page 3: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Abstract The next few years will be witness to a tremendous increase in the demand for mobile

wireless digital data communication systems and services. Such systems will allow a user

to be connected to an abundance of data sources, ranging from intemet services to

Company intranets and databases. Wireless digital data system designers have formidable

future design challenges in order to provide the mobile user with a quality of service

comparable to that of a wireline system in such metrics as responsiveness, quality, and

throughput. The goal of this thesis is to address the throughput component of a mobile

wireless digital data communication system with a novel design approach.

This thesis explores the incorporation of simple software agents into a mobile wireless

digital data communication system. The receiving software agent monitors the quality of

the wireless channei and the retransmission statistics of the communication system.

Based on these observable States from the channei and the recommendations of the

software agent's knowledge bases, the agent takes the appropriate actions in the

expectation of realizing the greatest possible throughput for the wireless digital data

communication system.

This thesis utilizes the GSM standard mobile wireless digital data communication

platform rnodel. Within the context of this model, the construction and integration of

necessary components, such as error-control algorithms and software agent entities, are

described in detail.

Throughput simulations at mobile velocities of O and 50 kmh are performed for two

mobiIe wireless digital data communication systems: (1)the standard GSM system and

(2)the GSM system employing software agents. The software agents perform an excetlent

job in dramatically increasing the throughput of a standard GSM system over lower SNR

values, at both mobile veloçity metrics. At larger SNR values. the software agent system

demonstrates that it is abte to maintain the throughput of the standard GSM system. Thus,

excellent throughput gains. over a broad SNR range for various mobile velocities, may be

real ized by mobile wireless digital data communication systems that are enhanced with

software agents.

Page 4: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Sommaire Les années à venir témoigneront d'une hausse de demande pour les services et systèmes

de communication num6rique-mobile-sans fil. Ces systèmes permettront aux usagers de se

connecter à ptusieurs banques de données, allant de 1'Internet jusqu'à I'Intranet des

compagnies. Les ingénieurs des systèmes digitaux de données sans fil se sont créés des

challenges pour assurer une qualité de service comparable à celle offerte par les systèmes

avec fil quant à la rapidité, la qualité et le débit du service. Le but de cette thèse est

d'étudier le débit d'un système de communication numérique-mobile-sans fil sous une

nouvel le méthode.

Cette thèse explore l'incorporation de logiciels d'agents simples dans un système de

communication numérique-mobile-sans fil. Le logiciel d'agents receveurs surveille la

qualité des canaux sans f i l et les retransmissions statistiques du système de

communication. D'après les observations sur les canaux et les recommandations des

logiciels d'agents, l'agent agit avec l'intention de réaliser un plus grand débit pour le

système de communication numérique-mobile-sans fil.

Cette thèse est basée sur le standard de communication numérique-mobi le-sans fil, GSM,

tout en présentant les détails de l'intégration des parties nécessaires, comme les

algorithmes de contrôle- sans-erreur et les composantes des logiciels d'agents.

Les simulations du débit des mobiles à une vitesse de O et 50 K m h sont executées pour 2

systèmes de communication numérique-mobile-sans fil: ( 1 ) le système standard GSM, et

(2) le système GSM avec des logiciels d'agents. Dans le cas d'un SNR faible, les logiciels

d'agents offrent un débit supérieur à celui offert par le système standard GSM. Dans le cas

d'un SNR fort, les logiciels d'agents démontrent un débit similaire à celui offert par le

système standard GSM. Donc, un débit supérieur, sur toutes les valeurs de SNR à

différentes vitesses, peut être réalisé par un logiciel d'agents intégré dans un système de

communication numérique-mobile-sans fi[.

Page 5: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Acknowledgments

1 would like to thank my supervisor Professor Salvatore Morgera for his invaluable

guidance, continuous support and expenenced advice that made the completion of this

thesis possible.

Special thanks to my family, parents Anne and John, brothers James and Patrick Heaps.

and loved ones for their love, support, encouragement and understanding dunng my

undergraduate and graduate studies at McGill University.

In addition to those mentioned, 1 would like to thank my university colleagaes for their

help, encouragement and usefuI suggestions.

1 would like to thank the Canadian Government for offering the generous NSERC research

awards which allow so many students pursue their research interests.

In conclusion 1 would like to quote a High school teacher, who shall remain anonymous,

"Hard work pays off!"

Page 6: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Table of Contents Chapler 1: Introduction ......................................................................................... 1

1.1 Objectives of this Thesis Research ................... .... ......................... 2

........................................................................................ 1.2 Contributions 3

.................................................................... 1.3 Organization of the Thesis 4

................................................................................. Cliapter 2: Literature Review 5

............................................................. 2.1 Introduction ....................... ... 5

................................................................... 2.2 Data Error-Control Coding 6

................................................................................................. 2.3 Mowgli 10

.......................................................... 2.3.1 Mowgli Performance Study 10

.......................................................... 2.3.2 Mowgli Agent Architecture 13

2.4 Conclusion ............................................................................................ 16

Cliapter 3: The GSM System ................................................................................ 1 8

3.1 Introduction ...................... ....... .................................................... 18

.................................................................................... 3.2 Origins of GSM 18

............................................................... 3.3 GSM Network Architecture 2 0

3.3.1 Mobile Station ..................... .. ................................................... 1

.................................................................. 3.3.2 Network Infrastructure 23

3.3.3 Network Database ........................................................................ 24

................................................... 3.4 Signalling and Radio Link Principles 24

3.4.1 Channel Types .............................................................................. 28

.................................................. 3.4.2 Channel Coding and Modulation 29

............................................ 3.4.3 Demodulation and Data Recovery 1

.................................................... 3.4.4 GSM in the SPW Environment 32

3.5 Conclusion ............................................................................................ 33

CItnpter 4: Error-Control Coding .......................................................................... 34

......................................................................................... 4.1 Introduction 34

1.2 Cyclic Redundancy Check (CRC) Coding ........................................... 35 4.2.1 CRC Introduction .................................................. 35

.......................................................................... 4.2.2 CRC Description -36

4.2.3 CRC in the SPW Environment ..................................................... 37

Page 7: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

.................................................... 4.2.3.1 CRC Transmitter Details 37

4.2.3.1 CRC Receiver Details ......................................................... 38

4.3 ARQ ...................................................................................................... 39

4.3.1 ARQ Introduction ........................................................................ 39

....................................................................... 4.3 -2 ARQ Description 40

..................................... ....................... 4.3.3 Types of ARQ Schemes .. 40

4.3.4 ARQ in the SPW Environment ..................................................... 44

4.3.4.1 SR-ARQ Model Assumptions ............................................ 45 ...................................... 4.3.4.2 Transmitter and Receiver Buffers 45

4.3.4.3 ARQ Transmitter Details ................................................... 48

............................. ................ 4.3.4.4 ARQ Receiver Details ....... 50

4.4 Code Combining ................................................................................... 53

4.4.1 Code Combining Introduction ...................................................... 53 4.4.2 Code Combining Description ....................................................... 54

................................ 4.4.3 Code Combining in the SPW Environment 3 7

4.5 Conciusion ........................................................................................... 59

................................................................................... Clzupter 5: Software Agent 1

.......................................................................................... 5.1 Introduction 61

................................... 5.2 Knowledge Bases and Implementation in SPW 64

............................. 5.2.1 Training Sequence Bit Error Knowledge Base 64

................................................. 5.2.2 Retransmission Knowledge Base 67

................................... 5.3 Agent Integration and Implementation in SPW 70

5.3.1 Agent Integration .......................................................................... 70

............................ 5.3.2 SPW Implementation of the Software Agent ... 74

............................................................................................ 5.4 Conclusion 79

.......................................................................................... Chzpter 6: Simulations 1

.......................................................................................... 6.1 Introduction 81

........................................................ 6.2 Bit Error Rate (BER) Simulations 85

6.3 CRC and ARQ Simulations .................................................................. 88

6.4 Code Combining ................................................................................... 90

................................................................................ 6.5 Agent Simulations 94

Page 8: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

.. 6.6 Throughput Analysis ................................................................... 98

6.6.1 Mobile Velocity of O km/h ........................................................... 1 0 0

6.6.2 Mobile Velocity of 50 krnh ................................................. 106

6.7 Conclusion ............................................................................................ 112

Chapter 7: Conclusion .....................................................~..................................... 115

7.1 Introduction ....................... ... ........................................................... 1 15

7.2 Future Research ..................... .. ....................................................... 1 18

Bibliography ............................................................................................................ 119

Page 9: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

List of Figures

Figure 2.1 : Weldon's ARQ strategy ......................................................................... 8

Figure 2.2. General Mowgli architecture .................................................................. 14

Figure 3.1 : Layout of a general GSM network ............ .. .......................................... 21

Figure 3.2: GSM multi-frame, TDMA frame and normal burst structure ............................................................................ 26

Figure 3.3. Normal burst structure ............................................................................ 27

Figure 3.4: Training sequence constmct used in a normal burst structure . .................................................. ...................... 28

Figure 3.5: GSM data coding scheme for the .................................................................................. TCWF9.6 channel 30

Figure 4.1 : Codeword construction process .............................................................. 38

Figure 4.2: Codeword validation process. data packet and 1 6 bit CRC .............................. ..,... ................................................... 39

Figure 4.3: Scenarios of data packets possessing valid sequence number .................................................................................... 47

Figure 4.4: Transmitter procedure for the SR-ARQ ..................................................................... scheme developed in SPW 49

Figure 4.5: Non-blocked receiver procedure for the SR-ARQ scheme developed in SPW ................................................................... 51

Figure 4.6: B locked receiver procedure for the SR-ARQ ................................ .......................... scheme developed in SPW .... 53

Figure 4.7. An example of the code combining process ........................................... 56

Figure 5.1 : Throughput plots for individual code combined rates. for TCWF9.6. 5OKmhr ................................................................ 66

Figure 5.2. The retransmission base scale region ..................................................... 69

Figure 5.3. Agent integrated into a communication system .................................... 71

Figure 5.4. Flow diagram of the first state of the agent ............................................ 77

Figure 5.5. Flow diagram of the second state of the agent ....................................... 79

Figure 6.1 : Sample communication system. incorporating error-control protocols and agent entities .................................................................... 82

Figure 6.2: Standard GSM system BER plots. for O krnh and 50kmlh mobile velocities . GSM system 1/2 convolutional code. constraint length K = 5 ................................................................. 86

.

vii

Page 10: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Figure 6.3: BER for each individual code combined rate models. and for the standard GSM system, for 50 km/h. GSM system 112 convolutional code, constraint length K = 5. ................................... 87

Figure 6.4: CRC and ARQ analysis plots. ................................................................ 89

Figure 6.5: Comparison of modified GSM 1 /6 rate system with 1/6 rate code cornbined system, log(BER) venus SNR. .. . .... ....... ... ... ... .. .... ..-.... ... ... ... ... .... .. ... ... ... ..... -.92

Figure 6.6: (A) Number of transmitted data packet copies; (B),(C) agent knowledge base information. .............................. 95

Figure 6.7: (A) Number of transmitted data packet copies; (B),(C) agent knowledge base information. ........................................... 97

Figure 6.8: Throughput plots for the GSM ARQ systern. for the O km/h and 50 km/h scenarios .................................................... 99

Figure 6.9: Code combined. individual rates, for TCWF9.6, Okm/h. . ...................-........-..*...-. ............................ . . . . . . . . . . 1 0 1

Figure 6.10: Throughput plot of GSM ARQ system versus set rate code combining systems (no, n 1, n2, n3, n4), (A) ( 1,1,2.3,3); (BI ( 1,2,3,4,4); (C) (1,3,3,4,4); (D) (2,3,3,4,4) for O km/h. ...... .... ... . .. .... . ... ... ... .. .-... ... ... ... ... .. . .-. ... . .. .. ..... .IO2

Figure 6.1 1 : Code combined, agent and individual rates, for TCHIF9.6,OKmk ................... . ................................................... 105

Figure 6.12: Throughput of agent versus al1 of the main multiple packet copy code combining. ............................................................ 106

Figure 6.13: Code combined, individual rates, for TCWF9.6, 50km/h. ............................................................................................. 107

Figure 6.14: Throughput plot of GSM ARQ system versus set rate code combining systerns (no, n 1, n2, n3, n4), (A) ( 1,1,2,3,3); (BI ( 1,2,3,4,4); (C) ( 1,3,3,4,4); (D) (2.3,3,4,4) for O krn/h. .... ... ... ............................................. . ........... 1 O8

Figure 6.15: Code combined, agent and individual rates, for TCH/F9.6,50km/h .............. ................................................. ......... 1 1 1

Figure 6.16: Throughput of agent versus al1 of the main multiple packet copy code combining ....... .......................... ..... ............. . . . . 1 12

Figure 6.17: Agent throughput versus the standard GSM ARQ system's throughput for O kmlh ........................................................... 1 13

Figure 6.18: Agent throughput versus the standard GSM ARQ systern's throughput for 50 kmh. ..................... .... .............. ...... . . . . . 1 14

Page 11: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Chapter 1

Introduction

Mobile wireless communication has proven to be very popular for voice telephony use

over the last few years. This populaity will increase with the introduction of data services

in future generations of wireless networks. Wireless data service communication allows a

user to be "connected to a v a t , almost unlimited, data resource base (i-e. internet

services, Company intranets, E-mail resources, FTP sites, etc.) independent of their

location within a wireless network eiivironment. Interesting design challenges arise when

attempting to provide wireless data services with a semblance of wireline responsiveness.

and quality. Often, wireless links are subject to high error rates, unreliable connectivity

and low variable throughput [1-41.

One key parameter in providing high quality wireless data services is throughput. From a

mobile wireless data network user's point of view, the term throughput rnay be

meaningless. A user may experience low data transmission rates, or long delays in data

transfer between their mobile wireless data device and a fixed data network. How does a

Page 12: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

user deal with such a poor throughput performance? Clr, should a user be expected to

explicitly take measures to correct such a situation?

Wireless network operatorsfdesigners should have consideration for their potential users;

users who possess varying degrees of technical knowledge. Not al1 mobile wireless data

network users will be network operators or communication systern experts. Therefore,

they should not be expected to know how to derive the rnost from their wireless network

connection. The mobile wireless data networks should be designed with mechanisms

which attend to providing the user with a certain Quality of Service (QOS), whether that

be defined in tems of throughput characteristics, etc. These mechanisms should not

necessarily be explicitly invoked by the user, but rather on behalf of the user. This type of

implicit action may be achieved through the use of software agents [SI.

Software agents are objects. residing in the network, with their own local knowledge and

information base - both of which can be initially defined by its user. The software agents

then adapt or take measures in order to satisfy the user's criteria or system parameters, this

adaptation process might be based on behavior observations of the user or on a set of

predefined rules 151.

1.1 Objectives of this Thesis Research

One key parameter for mobile wireless digital communication systems today is the

attainable throughput which may be provided. Voice oriented systems provide a constant

throughput due to the standard forward error correction (FEC) algorithrns applied.

However, data service oriented systems adhere to different requirements to that of voice

services [6], and suffer from very low throughput performances [l-41. Throughput is the

performance metric this thesis study addresses.

This thesis research will be based on simulating and studying the benefits of employing a

robust error-control coding protocol combined with simple software agents in a mobile

wireless digital communicati~n system. lnterest will be placed on the achievable

Page 13: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

throughput this novel proposed communication systern reaiizes compared to that of an

unmodified communication system. The communication system platform exploited will

be the Global System for Mobile (GSM) standard.

A simulated software agent will observe both the channel state (or quality) and the

retransmission statistics (the number of requests for packet retransmission over a pet-iod of

time [7]). Based on these two observable items a software agent wiIl coordinate itself with

another software agent, placed at the other end of the communication channel, to make the

necessary decisions in an attempt to increase or maintain the current channel data

throughput. Efficient niles for interpreting and basing decisions on the observable items,

affecting the channel's data throughput, will also be addressed in this thesis research.

The software agents, described above, will be simple in design and have a very small and

limited knowledge base on which to act upon. Therefore, the simple software agents

employed in this research should be thought of as being only a small portion of a larger.

more complex agent that may be used by a mobile user.

1.2 Contributions

To follow is a List of contributions this thesis research provides:

A brief overview of the GSM system components relevant to this thesis study.

A full discussion on the construction and implementation of a robust error-control

coding protocol in a communication modeling software tool.

A discussion on the development and integration process of software agents and their

knowledge bases into the aforementioned robust error-control coding rnodel.

The thesis research provides a throughput cornparison between a standard GSM digi-

tal data communication system with that of the GSM digital data communication

model consisting of a robust error-control coding protocol combined with simple soft-

ware agents. This study demonstrates that the GSM digital data communication

model developed in this thesis realizes substantial throughput performance gains at

low SNR values, while maintaining equivalent throughput performances at the high

Page 14: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

SNR range compared to a standard GSM digital data communication system, for

mobile velocities of O and 50 kmh.

1.3 Organization of the Thesis

Chapter 2 presents the preliminary literature review introducing the two independent

topics which provide the motivation and direction for this thesis. A11 of the necessary

GSM system details this thesis study requires is presented in Chapter 3. In Chapter 4 we

provide the basic background theory on error-control coding techniques, and discuss the

software implementation of these protocols into a GSM system. Chapter 5 expands on the

software agent entity topic, introduced in Chapter 2, and provides a more in-depth look

into the general domain of software agents. Chapter 5 then concludes with a description

of the agent implementation and integration into the rnodel construct described in Chapter

4. Simulation results for the models implemented in this thesis are presented in Chapter 6.

These simdation results track the evolution of the final model constructed - a GSM

communication system employing an SR-ARQ, code combining protocol along with a

software agent. Chapter 6 concludes with a presentation of the throughput results for the

aforementioned final model constmct versus that of the GSM system. Chapter 7

summarizes Our work and offers suggestions on additional work for future investigation.

Page 15: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Chapter 2

Literature Review

2.1 Introduction

This thesis efficiently brings together two very interesting, and quite diverse domains:

( 1 )data error-control coding and (2)software agents. These two domains are diverse and

indspendent from each other due to the fact that one originates primarily from the

Electrical Engineering (data error-control) discipline and the other originates primarily

from a Computer Science discipline (software agents). As such, many thesis studies could

easily be devoted to each domain separately. This thesis study efficiently combines

fundamental basics and knowledge of each discipline to achieve the communication

system objectives outfined in Chapter 1.

This literature review is simply to introduce the basic high-level concepts from the data

error-control coding and the software agent domains which inspired the mode1 constmcted

for this study. Each domain shall receive more attention in the following chapters, at which

time, implementation details will be discussed.

Page 16: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

This chapter commences with a discussion of the data error-control coding, in particular,

an introduction of the improved selective repeat automatic-repeat-request (ARQ) scheme

proposed by E.J. Weldon. Then a presentation on the research k i n g conducted

conceming the integration of software agents into a mobile, wireless communication

system will be presented. To conclude this chapter we will present a discussion on the

reasoning for attempting to integrate two fairly diverse and independent domains.

2.2 Data Error-Control Coding

The basis for the error-control coding technique utilized in this thesis study stems from an

approach proposed by E.J. Weldon [8]. Weldon presents an improved selective-repeat

ARQ strategy (herein known as Weldon's ARQ strategy) which allows the transmission of

multiple copies of a data packet depending on the data packet's retransmission history.

Weldon's ARQ strategy and the modifications it experiences in this study follows.

Weldon's ARQ strategy uses a receiver buffer size defined to be 'qS', where 'S' is the

number data packets stored in the round trip data link, and 'q' is an integer value (q =

1.2.3 ....). As described in [8], the technique proposed is an approach that makes use of an

algorithm which sends multiple copies of a data packet depending on the current state of

the data packet's acknowledgment history; whether it is transmitted for the first time, or if

it is being retransmitted. Each data packet is separately decoded at the receiver. Initially,

the transmitter will send no copies of a data packet, this is considered level O. If one of the

no data packets is determined to be received error-free the receiver will send a positive

acknowledgment ('ACK') to the transmitter, the transmission of this packet is then

complete. However, if al1 of the no data packet copies are decoded and al1 are considered

to be in error then the receiver transmits back a negative acknowledgment ('NACK') to

the transmitter, and the transmission of this data packet proceeds to level 1. At level 1 nl

copies of the data packet are transmitted. If al1 n , copies of the data packet are received in

error then the algorithm will proceed to level 2 for that data packet, the number of

Page 17: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

transmitted data packet copies is now n2. This algorithm will continue to proceed to the

next level and transmit that level's defined "n" value of data packet copies until at least one

of the data packets is positively acknowledged or until the receive buffer approaches

overflow. The receive buffer overîlows when level 'q' is reached, signifying that the

previous nq., copies of a data packet al1 have k e n received in error, nq data packet copies

wili now be sent. If the attempt at sending nq data packets fails then the transmitter will go

to the q+l lewl and will stay at this level. all the while sending nq copies. until the data

packet is positively acknowledged. Figure 2.1 illustrates al1 the possible sequence of

events a data packet may experience when Weldon's ARQ strategy is used, as outlined

above.

Page 18: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Receiver Duties Lcvel 0

If any of the 4 data packet copies rire received correcrly Data packet is send ACK to the uansrnittcr. and mnsrnission of this transmitted - particular data pncket is complet<:

no times. If none of the no dam pncket copies arc rcceivcd comctIy send NACK to the rnnsmittcr. and umsrnission of this pyticular d a a packet moves to Level 1.

f L e v d 1 If any of the nl data packet copies arc received correctly

send ACK to the transmittcr. and mnsrnission of this Data packet is - pmicular data packei is complete tnnsmitted

n l tirnes. If nonc of the ni data packet copies arc rcceived correctly send NACK io the msmit ier . and mnsmission of this panicular data packet moves ro Levc12.

f Lcvcl 2

transmitted nl tirnes.

tçvet q If any of the n,, data packet copies arc receivcd correctly

Data packct is .-* send ACK to the uansmittcr. and mnsrnission of this

transrnitted pxücular data packet is cornplete

nq rimes. If nonc of the n data packci copies arc rcceived corrcctly send NACK to &e uansrnitter. and transmission of this pmicular data packet movcs to Lcvcl q+I .

L e v d a+ 1 If any of thc n,, data packet copies are rcccived correcdy scnd ACK to d e mnsrnittcr. and trmsrnission of this

Data is - punicular data packet is cornplcte transmi tted nq rimes. If none of the n, data packct copies arc rccrived corrcctly

scnd NACK to k c mnsrnitter. and umsrnission of this

f panicular data packet rcrnains at Lcvcl q+ 1.

Figure 2.1 : Weldon's ARQ strategy

There are a few points worth mentioning about Weldon's approach. Firstly, after 'q'

attempts to deliver a particular data packet have k e n made the receive buffer is considered

Page 19: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

full. This might not be an entirely true assumption, since other data packets in the buffer

rnay not al1 be error-free; therefore, some transmissions present in the communication

system might be retransmitted packets for other data packets [9]. Secondly, due to the

aforementioned assumption, the nexr S-1 received data packets will be discarded. This

will cause each unique data packet within that S-1 sequence to be repeated. This in turn

will cause a level change for the data packets in question, regardless of whether or not the

data packet was received correctly [8,9]. Thirdly, there is some concem for Weldon's

choice for the value of no. Weldon chooses no to be "l", whereas, Chang and Leung [9]

demonstrate that "1" may not be the optimum value for no. The optimum value for no

depends on the probability of the bit error rate present on the channel. A greater through-

put may be realized when a larger no is used for scenarios with a larger probability of bit

error. Final 1 y, WeIdon's approach shows an increase of through-put for channels

characterized by long delays [8,9].

The one drawback in Weldon's approach is that useful decoding information may be

discarded due to the independent decoding of each individual data packet copy. Instead of

discarding the received copies of a data packet, which are received in error, they may be

combined in order to decode the actual data packet sent [IO- 121. This combining process

is referred to as code combining, and receives great attention in [13] and [ 141.

Code combining is a technique used to realize codes of a lower rate from the initial use of

a larger code rate. The iarger code rate will be adequate for periods of low bit error rates

on a channel. The lower code rate provides more error-correcting capabilities on a data

packets d u h g poor channel conditions [13-151. Thus, code combining provides a means

for a communication system to adapt to the prevailing channel conditions, and has proven

to increase the reliability, throughput of the communication system substantially [ 10- 151.

The integration of code combining with Weldon's ARQ Strategy model has been explored

in a couple of papers, [IO, 1 11. This thesis study follows a similar approach as [10- 121, in

that we integrate into a communication model an ARQ protocol, that has the capabilities

Page 20: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

of transmitting a number of data packet copies, and a decoder that rnakes use of a code

combining technique. A more in-depth look into this error-control technique, as well as a

discussion conceming the integration of these techniques into a communication model will

be presented in Chapter 4.

2.3 Mowgli

The second main topic of the thesis is the study and integration of software agents into a

communication model. The literature study concerning this topic cornrnenced with

studying the papers pertaining to the Mobile Office Workstation using GSM Links

(Mowgii) project. Mowgli is a project being conducted at the University of Helsinki's

Cornputer Science Department, whereby, architectural solutions i ncorporating agent

entities are explored in order to overcome typical difficulties encountered when

transmitting data on a mobile wireless medium.

Research publications by the Mowgli team centers on two main topics; ( 1 ) studying

performance issues concerning the wireless mediums and (2) proposing an architecture to

attend to the problems inherent on a wireless medium. Papers [16,17] deal with measuring

or determining the dependability and performance of data communication over cellular

networks, such as the GSM digital network and the Nordic Mobile Telephone (NMT)

analogue network. Whereas, in 11-41 the Mowgli team presents, implements, and provides

the results of the performance of an architecture which exploits the existing TCP/IP

communication architecture and takes into consideration the specific features of a wireless

link (i.e. cellular link such as GSM). This section of this chapter reviews this evolution of

the Mowgii's team studies from the wireless medium performance to the realization and

integration of a novel software agent architecture into a mobile wireless data

communication network.

2.3.1 Mowgli Performance Study

In [16] and [17] the Mowgli team studies the performance of data transmission over

cellular networks. The analogue Nordic Mobile Telephone (NMT)-network performance

Page 21: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

receives attention in [16], whereas, the GSM-network (a digital cellular network) is

highlighted in both [16] and [17]. The following highlights only the results obtained for

the GSM system.

The set-up for the performance analysis consisted of connecting a portable laptop to a

fixed data TCP/IP network over a wireless medium, via a cellular GSM phone and data

adaptor card. The data transmitted consisted of a large ASCII text file. on the order of 3.4

Mbytes. This large data file was transmitted ten times on the uplink (mobile node to base

station) and ten times on the downlink (base station to mobile node). For each

transmission scenario the GSM phone possessed a signal that was measured to be of a

value of 60% to 80% of a maximum signal strength.

The GSM system employed also had a number of details that are worth mentioning. The

GSLM system was operating in a non-transparent mode, this type of mode implements a

Radio Link Protocol (RLP). RLP is a protocol which possesses the necessary error-

control techniques in order to reduce the average bit error rate (BER) from the raw channel

value of 1 0 - ~ to a value more acceptable for data transmission, on the order of 1 0 - ~ or

smaller. Thus, for reliable data communication over a wireless medium the GSM system

must operate in a non-transparent mode. However, unlike the transparent mode, the non-

transparent mode GSM system suffers from a variable throughput and delay.

The Mowgli team outlined three metrics which the performance of a wireless data network

would be measured. The three metrics were: ( 1 ) the estabhshment of a dialled up

connection, (2) the request-reply message exchange and (3) the throughput experienced

for bulk data transfers. The results presented in [16] show that the establishment of a call

required a time of approximately 28-31 seconds; this time value accounts for the time

required to issue a call command from the Personal Computer (PC) to the GSM phone, the

cal1 connection time for the GSM phone and the time needed for modem protocol

handshaking. The request-repIy message exchange metric focuses on measuring the round

trip time experienced on the wireless link, from the time a request from the rnobiie node is

issued until a reply from the fixed network is received. The results in [16] show that the

Page 22: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

average round-trip time is 1 second for a one byte reply, and that this time increases by 1.1

seconds for each additional kilobyte transmitted in the reply message.

The throughput bulk data transfer metnc is of great importance to this thesis study. This

metric. as described in [16], is interested in two items: ( 1 ) the maximum sustainable

transfer rate. and (2) the effective transfer rate in various environment conditions. The

maximum sustainable transfer rate is estirnated to be approximately 880 and 890 bytes per

second. In the GSM system it was observed that this maximum sustainable transfer rate is

not dependent on the direction of the data transmission. The effective transfer rate, which

is dependent on the quality of the wireless link, was measured to be about 80-100% of the

maximum sustainable transfer rate when the GSM cellular phone possessed a signal

between 60-80% of the maximum signal strength. Continuing on the issue of throughput,

references [I-41 al1 mention that wireless access mediums al1 posses low and variable

throughput chmcteristics. In addition, [3] documents that it takes approximately I second

to transmit a 1 kilobyte inline image across a GSM link. which agrees with the observed

results of [ 161.

Recall that the fixed data network used in the performance studies of [16,17] was

employing a TCPlIP protocol. There are a number of issues which one must recognize if

they choose to use the TCPAP protocol in a wireless environment, such as in the GSM

system, as explained in [Il. The observations outlined above, conceming the performance

of data transmission over GSM, present the throughput characteristics of a wireless

environment which the TCP/IP protocol was not designed to accommodate. Situations

may be encountered whereby data packets are continuously being retransmitted due to

TCP time-outs. These TCP time-outs may exist due to the inherently long delays

experienced in delivering data across the low throughput wireless medium to the mobile

node. This undesirable time-out situation, caused by the low throughput of a wireless

medium, is compounded by the fact that needless data pertaining to the TCP/IP protocol

header is transmitted to the mobile node. Therefore, results of the performance studies

explored in [16.17] identify a number of problems of using TCPm in a GSM

environment.

Page 23: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

2.3.2 Mowgli Agent Architecture

With the measured performance analysis of [16,17] and the TCP/IP limitations over GSM

discussed in [ i l , the Mowgli tearn set out to design an architecture that would make it

possible to efficiently and effectively connect a wireless mobile node to a TCPm based

data network. This novel architecture design would be require to satisfy three main goals

[1,2]. The first design goal was to maintain the current TCPAP protocol on the fixed data

network. That is, the TCPm protocol on the fixed network would not be subjected to any

changes. The second goal was to develop an interface between the mobile data user and

the fixed network to which they are connected to. This interface would divided the

communication path into two distinct portions; the first portion of the path would be over

the fixed data network, and the second portion of the path would consist of the wireless

link. The final goal of the new MowgIi architecture was to efficiently use the wireless

communication link.

The first two goals of the Mowgli architecture criteria are achieved through the use of a

store and forward type of interface, called the Mobile-Connection Host (MCH). The

MCH interfaces, or abstracts, the fixed data network from the wireless link and vice versa.

The fixed network continues to make use of an unmodified TCPAP protocol. The MCH

acts as the mobile user's pseudo node on the fixed network. Therefore, with this

architecture more specially suited protocols for the wireless link may be employed. The

MCH also contains the Mowgli proxy which provides direction of wireline and wireless

interactions.

The third main goal of the Mowgli architecture was addressed by primarily reducing the

volume of the data to be transmitted. By removing data that does not require to be

transmitted, or by simply reducing the amount of data to be transmitted, one begins to

make efficient use of the low throughput wireless medium. This reduction in the amount

of data to be transmitted may be realized in many forms, such as data compression and the

removal of large unnecessary (for the wireless Iink) TCPm headers. Another way to

reduce the amount of data to transmit may be through the use of algorithms tailored for the

Page 24: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

specific application employing the wireless link. In [3,4], web browsing over a GSM

system, employing the Mowgli agent architecture, is used as an example where agent

entities evaluate and transmit HTML pages to a mobile user. The agent entities transmit

al1 the HTML page content minus any objects (Le., inline images) that are greater than a

predefined size. Thus. in this setting the agent entity, which is part of the Mowgli

architecture as will be seen, is tailored for a web browsing duties. Now that the main

goals of the Mowgli team have k e n established, it would be appropriate at this time to

present a quick overview of the implemented Mowgli agent architecture. T h e Mowgli

agent architecture is illustrated in Figure 2.2 [4] and is included for completeness in the

architectural description which follows.

Mobile Node - ( Application )

Agent 'i Wireless In terface

Mobile-Connection Hos t

(IP address)

Local Network

Base Transcciver Station (BTS)

Figure 2.2: General Mowgli architecture.

As previously mentioned, the Mowgli architecture divides the communication path

between the fixed network and the mobile node into two parts; one wireline based, the

other wireless based. This division is achieved through the use of an inteceptor called

Mobile-Connection Host (MCH).

Page 25: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

The MCH has a number of important responsibilities, that are performed in a number of

layers composing the MCH [1,2,4]. One responsibility of the MCH is to assign the mobile

node's IP address to a virtual interface. This virtual interface, as seen in Figure 2.2, is a

sub-layer of the MCH and is connected to the local network. According to the fixed local

network, the virtual interface is the mobile node. Since the MCH interfaces with the

wireless medium it must employ efficient, reliable communication service to the mobile

node. This is provided by the Mowgli Data Channel Service (MDCS), a sub-layer of the

MCH. Finally, the MCH possesses a Mowgli proxy which mediates and controls data from

the fixed network side to the MDCS for the wireless side. On a layered structure, the

Mowgli proxy is virtually communicating to the Mowgli agent on the mobile node, as seen

in Figure 2.2.

On the mobile node side there exists a Mowgli agent. The purpose of the Mowgli agent is

to interface with the application operating on the mobile node and the MDCS. The duties

of the Mowgli agent are similar to those of the Mowgli proxy. The Mowgli agent and

proxy may provide enhanced functionality to the communication architecture, whether it

is explicitly or implicitly defined by a user. Such enhanced functionality may be realized

in the form of data compression, the removal of unnecessary data header information, and

even additional control operations supporting the MDCS sub-layers on either side of the

wireless channel.

A MDCS sub-layer also resides on the mobile node and it is through coordination with the

MCH's MDCS that efficient wireiess communication services are realized. The MDCS

sub-layers are responsible for providing data channels for the mobile node or the MCH, to

facilitate the transmission of data over the wireless medium. The MDCS sub-layers are

also responsible for controlling the behavior of and monitoring the state of the data

channel employed.

It is through the Mowgli agent architecture, illustrated in Figure 2.2 and explained above,

that the main goals of the Mowgli team were addressed. The Mowgli agent architecture

Page 26: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

makes it possible to efficiently and effectively connect a wireless mobile node to a TCP/IP

based data network.

The first section of this chapter presented the improved SR-ARQ strategy proposed by

Weldon. Weldon's strategy permits the transmission of multiple copies of a data packet

depending on the data packet's retransmission history. The strategy proposed individually

decodes the received data packets, and a successfully transmitted data packet requires that

at least one of the decoded multipie data packets is considered error-free, as previously

described. Yet, instead of discarding the received copies of a data packet, which are

received in error, they may be code combined in order to successfully decode the actual

data packet sent [ 10- 121. It was presented that if Weldon's ARQ strategy employed code

cornbining. as in [IO- 1 21, then there exists a means for the communication system to adapt

to the prevailing channel conditions. This ability to adapt to the channel conditions,

through the use of code combining, has proven to increase the reliability and throughput of

the communication system substantially [ 10- 141.

One reoccurring observation expressed in the Mowgli papers [1-41 was that wireless

riccess mediurns al1 possess low and variable throughput. Many TCP/IP protocol issues

exist with this throughput chuacteristic, these issues need to be addressed if reliable data

communication is to be realized. Situations may be encountered whereby data packets are

continuously being retransmitted due to TCP time-outs. due to slow data transmission.

This situation may arise due to the extraneous header information which the TCP/IP

protocol sends, and which is not needed over a wireless link. The Mowgli team took

measures to accommodate the wireless medium with the fixed network. The Mowgli team

addressed the TCPAP issues that exist on wireless channels by developing a Mowgli agent

architecture, previously described, which interfaces the wireless medium with the fixed

network.

From the two main topics briefly investigated in this chapter, we see that one set of papers

Page 27: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

boasts about throughput gain realized through a relatively straight forward error-control

protocol implementation, while the second set of papers al1 mention that many limitations

on a wireless network are centered on its throughput characteristics. Therefore, this thesis

study decides to explore the opportunity which exists; the efficient integration of Weldon's

ARQ strategy, employing code combining. with software agents. The coupling of the two

concepts seems quite obvious. in that Weldon's ARQ strategy with code combining

requires that multiple copies of a data packet are transmitted. If an agent entity were to

monitor channel characteristics then it could determine the optimal number of data packets

to transmit. In this case we would try to have an agent intelligently decide on the number

of data packets copies to transmit as opposed to blindly employing a level scheme

dependent on a data packets transmission history. Here we would be adding extra

responsibilities to the Mowgli agents previously discussed, ail in the anticipation of

maximizing the channel's throughput. Therefore. the thesis study employs a modified

error-control technique proposed by Weldon in order to realize an increase in throughput,

whereby the agent entities, similar to the Mowgli agents, decide on the optimal number of

data packet copies to transmit given the observed channel quality.

Although each of the topics presented in this chapter were briefly discussed, they will

receive more attention, from more references, in chapters to follow. The actual details

describing the hybnd-ARQ protocol and code combining used in this thesis study will be

explored further in Chapter 4. Whereas, Chapter 5 provides more detail on the software

agents and their knowledge base implementation which will be required.

Page 28: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Chapter 3

The GSM System

3.1 Introduction

An introductory knowledge of the Global System for Mobile communications (GSM)

standard is necessary to fully understand the approach taken to solve the problem outlined

for this thesis study. This chapter serves to provide this required knowledge. The

following sections will serve three purposes: ( 1 ) provide a brief discussion of the origins

of GSM; (2) highlight the GSM network architecture; and (3) provide details regarding the

signalling and radio link principles of the GSM standard, such as channel access, coding

and modulation/dernodulation specific to data services. We will also introduce the

software tool used to simulate the signalling and radio link aspects.

3.2 Origins of GSM

Today's pan-European digital cellular standard is GSM, an acronym widely used today to

represent Global System for Mobile communications. However, GSM initially stood for

Groupe Speciale Mobile, the narne of a committee created by the European Conference of

Page 29: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Posts and Telecommunications Administrations (CEPT) in 1982. The purpose of this

committee was to define a set of standards for the future pan-European cellular networks

[ 18,191. The development of such a common European cellular standard was a rather large

undertaking, an undertaking that proved to take several years to realize. This section

discusses the rnotivating factors that led to the development of the GSM standard, the

milestones obtained by the GSM cornmittee and the current presence of GSM in both the

European and Global cellular markets.

Around 1982, analogue cellular networks experienced a tremendous growth in Europe.

Growth which created a very undesirable situation. The undesirable situation penained to

the number of incompatible analogue cellular network standards which were developed -

standards which were very country specific. At that time, there was increasing talk of and

movement towards a united European Community; a community which would be united

on many different aspects, such as, politics, economics and, definitely, on a

telecommunications level [Ml . If the latter aspect was to be realized, then a well thought

out, cornmon cellular standard would have to be developed and adopted.

This common cellular standard would also have to address spectrum issues. By 1982, the

aforementioned analogue cellular network growth had reached spectrum capacity. In

order to handle additional growth, analogue networks 'borrowed' frequencies that were

originally allocated for other endeavors [18,20]. With the amount of available spectrum

decreasing, it was deerned necessary to allocate and efficiently use a portion of spectrum

for common digital cellular telephony; GSM was allocated two 25 MHz blocks of

frequencies, in the 900 MHz band.

The other significant factors which led to the development of the GSM specifications

concerned the desire to develop competitive and economically feasible markets for al1

products in Europe, including wireless communication. A competitive market would be

realized by the deregulation of mobile services. This deregulation would allow at least

two cellular companies per country [18]. The economic feasibility would initially be

realized by GSM product vendors and then passed ont0 cellular network users. With

Page 30: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Europe employing a single cellular standard, a vendor would be able to provide more cost

efficient products to a larger market base of users than compared to the smaller markets of

the country specific analogue cellular networks experienced in the early 1980's [18,2 11.

It is quite interesting to note that from the formation of the GSM committee to the

realization of a commercial GSM network, approximately ten years had elapsed [18,22].

The GSM committee was established in 1982, and within three years, this group had

produced over 100 recommendations conceming the radio interface, transmission and

signalling protocols and network architecture for the GSM standard. In 1987, a

Memorandum of Understanding (MOU) was signed. This initial MOU concentrated on the

GSM standard, the introduction of the service and the coordination of routing and billing

services between different telecommunication organizations, representing 12 countries

[ 181. In 1989, the GSM committee became a technical cornmittee within the newly

established European Telecommunications Standards Institute (ETSI). It is under this

body, ETSI, that GSM was recognized to stand for Global System for Mobile

Communications. By 199 1, the GSM specifications/recommendz.tions document totalled

more the 5000 pages [18,2 11. The first commercial European GSM service was available

in 1992. and within 18 months there were over one million GSM users.

Although GSM started out as a European cellular standard, the GSM system has gained

world wide interest. By the end of 1993, the GSM- MOU had 62 signatories which

represented 39 countries with an additional 32 potential applicants from 19 other countries

[ 183. In 1996, GSM made its debut in Canada, with the GSM operator Microcell. The

GSM standard does allow for some flexibility in its implementation. This flexibility is

seen in the GSM system present in Canada, a systern which models the United Kingdom's

DCS 1900 (PCN) network, in that, the GSM specifications apply to a 1900 MHz band, and

n D t the conventional 900 MHz band,

3.3 GSM Network Architecture

This section provides a brief overview of the GSM network architecture. The GSM

Page 31: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

specifications, produced by the GSM cornmittee, outline al1 of the main entities and the

functional role that these entities serve in a GSM network. With these specifications, a

GSM network may essentiaily be grouped into three broad categories: the mobile station,

the network infrastructure, and the network database [19]. Figure 3.1 presents a general

layout of a GSM network, incorporating these three broad categories. A discussion of

each category follows.

0 Mobile Swtion ( U S )

A Base Trrinsccivrr Strition (BTS)

O BTS covenge arcri

Figure 3.1 : Layout of a general GSM network.

3.3.1 Mobile Station

The function of a mobile station should be quite obvious. A mobiie station is the device, a

low power hand held portable or a high power fixed telephony set (Le., ce11 phone

mounted on a vehicle), that connects an end-user to a cellular network via an air interface.

In the GSM system, the mobile station is composed of two pieces: the actual physical

Page 32: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

terminal (cell phone component) and a valid Subscriber Identity Module (SIM) card. The

mobile station allows subscriber access to the GSM network only if the SiM card is

present in the physical terrninal. Without a SIM card, the physical terminal is limited to

placing emergency calls [18].

The SIM card plays an important role for both the GSM network and the subscriber.

Physically described, the SIM card is a plastic credit card sized unit containing a

microprocessor and a memory chip. Although small in size, the card contains an

incredible amount of information which provides the terminal with subscriber defined

parameters (Le., stored phone numbers which are frequently called), and information that

is used to register a terminal with a GSM network (i.e., authentication keys) [ I 8.201. Even

though the aforementioned information is available and used by the mobile station, the use

and retrieval of this data by the person possessing the mobile station is protected by the

SIM's four digit persona1 identification number.

Once the SM card is inserted into the GSM terminal reader, the terrninal accesses this

stored information. The mobile station first registers with the GSM network, thus,

providing it with an identity in the GSM network. The main information relayed in the

registration process is the user's International Mobile Subscri ber ldentity (IMSI), and the

user's single MS phone number [18-201. The purpose of the MSI is to identify a user

within a GSM system: supplying information such as the user's subscribing home country,

identi fy ing their bil ling operator, etc. The subscriber's phone number is simply the

number one would dial, from another mobile station or PSTN, in order to reach that

particuIar subscriber's mobile station. This one number may be used to reach a subscriber,

whether they are in their home GSM network or travelling abroad in a foreign network.

Following the registration process, the mobile station accesses the personal information,

such as numbers of frequently called phone numbers or short data messages, saved by the

subscriber. Thus, a user is perrnitted total mobility, independent of the terrninal used and

GSM network they are present in through the use of their S M card.

Page 33: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

3.3.2 Network Infrastructure

This section of the GSM network primuily deals with the Base System Subsystem (BSS)

and the Mobile Switching Center (MSC) 1191, al1 shown in Figure 3.1. This is a very

signifiant portion of the GSM network, as it is through these interfaces that a mobile user

is provided connectivity with a PSTN or with other mobile users.

The functional entity known as the Base System Subsystem is composed of the base

transceiver station (BTS) and the base station controller (BSC) [ 181. The function of the

BTS is to provide the wireless interface between the mobile station and the GSM network.

Therefore, the BTS consists of the necessary equipment, such as transceivers, required to

manage the radio link separating the mobile station and the base station. The coverage

(cell size) of a particular BTS is defined by the transmitting power of the BTS's

transceivers.

The base station controller (BSC) is the entity which supervises and administers the radio

resources required for a number of BTS cells. The number of managed BTS's by one

BSC, varies and depends to a great extent on the manufacturer [18]. A BSC will

administer radio resources such as mobile station handovers and frequency usage among

only the BTS cells belonging to that particular BSC. A BSC is also connected to one

mobile switching center (MSC); this physical connection allows mobile users to connect

with land lined telephony users or other mobile stations.

The mobile switching center (MSC) is a very key component of the GSM cellular

network; i t is through the MSC that a number of entities are connected, as shown in Figure

3.1. Firstly, the MSC connects the GSM network with the local PSTN - allowing the

previously mentioned connectivity between mobile users and land line users. Secondly,

the MSC controls a number of BSS groups, thereby linking neighbouring BSS cells

together. Finally, MSC entities are connected to adjacent MSC entities. An MSC plays an

important role by king connected to dl of the network bodies mentioned earlier. The

MSC behaves like a node off the local PSTN; therefore, the MSC has the ability to

Page 34: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

perfom al1 required cal1 processing and routing duties for information destined for the

PSTN, a BSS, or for another MSC [18,19,21]. In addition, an MSC is also involved in

storing mobile station specific information, as well as coordinating handovers between

adjacent BSC cells or with other MSC domains [18,19J.

3.3.3 Network Database

This section deals with exploring the final broad category comprising a GSM system - the

network database. The network database provides GSM network management with

resources pertaining to issues such as mobility, authentication, and cal1 routing. The four

main elements composing a network database are: ( 1 ) home location register (HLR), (2)

visitor location register (VLR), (3) the equipment identity register (ER), and (4) the

authentication center (AC) [19]. The role of the HLR is to store the current location and

mobile station profile of al1 the subscribers registered in that GSM network. Generally, a

GSM network possesses one HLR database. The information maintained by a VLR for a

specific mobile station overlaps with the information maintained at the GSM network's

HLR. There is ont VLR per MSC, and the VLR is responsible for maintaining al1 of the

relevant information about every mobile station located within this MSC region [18,19].

This "local copy" of mobile station information, found in the VLR, helps to alleviate

network querying and polling to the subscriber's HLR. in order to obtain their user profile

information. The VLR also contains temporary security identities for each mobile user

within the MSC, information that is not found in the HLR. The EIR serves to identify

mobile stations that are not permitted to access the GSM network [19]. The reason for

denial of cellular service may be due to defective manufactured equipment (i.e., poor or

destructive RF transmission quality) or due to the identification of a stolen mobile station.

The final network database is the AC database. This protected database contains the same

encryption algorithm keys found on a mobile user's SIM card, which are used by the HLR

or VLR to authenticate a mobile user before it is given access to the network.

3.4 Signalling and Radio Link Principles

In order to efficiently use the assigned spectmm and radio resources, GSM makes use of a

Page 35: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Time and Frequency Division Multiple Access (TDMA/FDMA) protocol combination

[18-201. The frequency component of the cornhination consists of defining the user's

allocated bandwidth, derived from frequency dividing the spectrurn of GSM's uplink and

downlink bands. The allocated spectnim bands are from 890 to 9 15 MHz and from 935 to

960 MHz for the uplink and the downlink bands, respectively. These 25 MHz bands of

spectmm are divided into 124 carrier frequencies, with a bandwidth of 200 KHz about

each carrier frequency. A GSM base station is assigned one or more of these carrier

frequencies.

These carrier frequencies are then divided in the time domain, through the use of a TDMA

technique. Each carrier frequency is divided into eight slots (numbered O through 7), a

do t is commonly referred to as a bursr. A burst has a time duration of 0.577 msec (- 15/

26 msec), and the eight bursts (O to 7) grouped together constitute a TDMA frame, as

shown in Figure 3.2. The TDMA frame has a duration of 4.6 15 msec (- 8 x 0.557 msec).

This TDMA frame construct is present in both the downlink (base station to mobile

station) and uplink (mobile station to base station) channels. A mobile station, in the

GSM network, is assigned a specific burst period and may only transmit or receive data

during this assigned burst sequence. To avoid the possibility of a mobile user receiving

and sending data simultaneously, the GSM network maintains a numbering offset of 3

units between the uplink and downlink TDMA frames. That is, the slot number observed

for the uplink and downlink bursts, at any given moment on the air interface, differ by a

value of three units.

Page 36: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

-

- 26 Multi-Frame ( 120 msec) -

@ : Associated Control Channel ( 12, 25)

Frarnes 0- 1 1 and 13-24: Traffic Channels (inclusive)

T = Tai1 Bits

F = Flag Bits

Train = Equalizer Training Bits

Guard = Guard Time Interval Bits

Figure 3.2: GSM multi-frame, TDMA frame and normal burst structure.

In the GSM system, there are a number of different burst structures. The most common

burst structure is known as the normal burst, which is shown in Figure 3.3 EI8.201. The

Page 37: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

normal burst structure is 156.25 bits in length, over a time period of 0.577 msec; thus, a

burst. or a channel slot, has a gross bit rate of 270 Kbit/sec. From the aforementioned

figure, we notice that there are a number of components composing the normal burst, and

that the user's data (data bits in the figure) accounts for a portion of this burst structure. At

the beginning and at the end of the burst. there exist three tail bits. These tail bits are al1

set to zero, and coincide during the increase and decrease of the mobile station's signal

power, a period when the user data would be very uncenain. At the end of the burst is an

8.25 bit guard period. This guard period has a similar purpose as the tail bits. However, it

is during this period that two mobile station's bursts may overlap. The mobile station

releasing the channel slot will be ramping down its transmitted power, whereas. the

mobile station acquiring the channel slot will be ramping up its transmitted power [18].

During this time of ramping transmitted powers, no user data is transmitted.

4 TDMA Slot 156.25 Bits (577ped -

T = Tai1 Bits

F = F h g Bits

Train = Equal izer Training Bits

8.25

Guuci

Guard = Guard Time Interval Bits

3 T

1 Bir

(3.69 pscc)

1 F 57 Data Bits

Figure 3.3: Normal burst structure.

3 T

The user's data is packaged in two blocks of 57 coded data bits each in the normal burst

structure, as seen in Figure 3.3. These two groups of data bits contain user data and

channel coding. The algorithm employed to encodeldecode the user data will be

discussed later in this section. There are two flag bits in the burst structure, to notify the

receiver as to the type of information k i n g received. The information is either of a

control or user data type. The final section, composing the normal burst structure, relates

to the training sequence. The training sequence is a known sequence to both the

transmitting and receiving parties. This training sequence is used to maintain

1 F 57 Data Bits 26Train

Page 38: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

synchronization between the two parties, as well as to obtain channel estimates of the

multipath fading channel. The construct of the training sequence is quite unique; it

consists of three sequences A, B, and C [23L Sequences A and C are five bits in length

and are used twice in the training sequence, whereas, sequence B is six bits in length and

occurs at the center of the training sequence. The construct of the training sequence is

shown in Figure 3.4. All of the components of the normal burst structure, such as the

coded data bits and the training bit sequence will receive more attention in the sequel.

5 Bits 5 Bits 6 Bits 5 Bits 5 Bits -****

V 26 Bits

Figure 3.4: Training sequence construct used in a normal burst structure.

3.4.1 Channel Types

In order to transmit the user's normal burst, a stnictured channel is required. There exists

two different types of channels in a GSM network, a traffic channel and a controi channel.

A traffic channel is used to carry user information (speech or data), whereas, a control

channel relays only network required information.

The channel of concern for this thesis study is the data traffic channel. A traffic channel

(TCH) is composed of 26 TDMA frames; this channel structure is referred to as a multi-

frame [18-201. Figure 3.2 illustrates the relationship between the multi-frame structure

and a user's normal burst. As depicted in Figure 3.2, only 24 TDMA frames (carrying

user data) compose the Multi-frame structure, with frame 12 used to relay link control

information to the mobile station, and frame 25 is an idle frame. Traffic channels are

available in two different forrns in a GSM network: the first handles speech channels and

the second type of traffic channel handles user data. Both of these main traffic channels

Page 39: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

divide further to accommodate various speecwdata rates. For user data, a traffic channel

may accommodate transmission rates of 9.6, 4.8, or 2.4 Kbitslsec, and a traffic channel

with a full rate of 9.6 Kbitdsec is denoted as TCWF9.6.

3.4.2 Channel Coding and Modulation

In a wireless environment, some fom of channel coding is required in order to protect the

data being transmitted. The channel coding and radio link protocol required for data

services is more complex than that used for speech data, due to the fact that data services

must meet very strict BER levels (BER on the order of to 1 O"), compared to speech

services (BER on the order of 10-~ ) . The channel coding employed in the GSM data

network consists of an interleaving scheme and convolutional coding.

The interleaving scheme and the convolutionai code rate used on the data depends on the

data rate used in the GSM system. The 9.6 Kbitdsec channel data rate (TCWF9.6) is of

concern for this thesis study and, therefore, the channel coding employed wiII be

highlighted. Figure 3.5 [18] shows the coding process that a user's data packet is

subjected to. The user's data bit stream consists of 240 bits, derived from four blocks of

60 bits each. Four zero tail bits, required to reset the decoder, are appended to the user's

240 bit stream. The 244 bits are then subjected to a convolutional coding scheme with

parameters, rate = 1/2 and constraint length (K) = 5. The convolutional coding scheme

will produce a 488 bit coded stream from the initial 244 bits accepted. This 488 coded bit

stream then goes through a puncturing process, where one bit out of every 15 bits is

eliminated. After the puncturing process, the remaining 456 coded bits wiII be

transmitted. This block size of 456 bits is desirable, since it is divisible by 57, the data bit

length of one data bit field in the normal burst.

Page 40: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

9.6 kbps a / \

Coding in \ \

/ \

/ / terminal equipment \,

/Adding of four O bits 240 bits (= 1 2 kbps) 4 /

/ \

/ / Convolutional Code r=l/2, K=5 ', / \

/ \

/ punctured 1 bit out of 15 \ /

\

456 coded Bits

Figure 3.5: GSM data coding scheme for the TCWF9.6 channel.

An interleaving scheme is employed to combat the burst errors introduced frorn the fading

experienced on the radio channel. The interleaving used on a data channel is quite

complex and fairly deep, as shall be seen. The block of 456 bits is spread over 22 normal

bursts [ 181. The user's coded data block of 456 bits is broken into sixteen segments of 24

bits, two segments of 18 bits, two segments of 12 bits, and two segments of 6 bits. For a

particular coded block of 456 bits, the transmitted segments occur in the following order:

the first and twenty-second bursts transmit the 6 bit segments, the second and twenty-first

bursts transmit the 12 bit segments, the third and twentieth bursts transmit the 18 bit

segments, while the 24 bit segments are transmitted in the fourth through nineteenth bursts

(2*6 + 2* 12 + 2*18 + 16*24 = 465) 1181. With this complex interleaving protocoi, a

normal burst may be transmitting 5 or 6 consecutive coded data blocks.

After the above convolutional coding and interleaving, the data is ready to be modulated

and then transmitted. The modulation used in the GSM standard is Gaussian-filtered

Minimum Shift Keying (GMSK), possessing a bandwidth-time, or BT, value of 0.3 [18].

GMSK modulation has a number of favorable characteristics which make it attractive for

Page 41: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

digital radio communications. The GMSK modulation is a continuous phase modulation

technique that has a constant envelope. This type of modulation technique allows

detection by various means, however, for optimum detection, a Viterbi detector is

generally used. In [24,25] it is shown that GMSK modulation also possesses desirable

power spectral density properties, and has a power spectral density that is better than other

modulation techniques such as Minimum Shift Keying (MSK). Finally, the GMSK

modulation technique provides low out of band interference, thus, limiting its affect on

adjacent channels. As seen, the GMSK modulation technique does possess a number of

good qualities, making it a good choice for the modulation scheme to be employed in the

GSM network.

3.4.3 Demodulation and Data Recovery

The stages up to and including the modulation scheme have already been reasonably well

explained; now, a description of the various data processing stages from the receiver up to

the delivery of data to the user will be presented. Basically, the transmitted data is

subjected to convolutional coding, interleaving, channel modulation and channel

distortion. The first processing performed in the receiver is to compensate for the channel

and then to estimate the normal burst's 156.25 bits, which contain the burst's two 57 bit

data sequences.

The demodulator consists of a number of essential parts. The main parts of interest are the

channel estimator and Maximum Likelihood Sequence Estimation (MLSE) using the

Viterbi method. The channel estimator uses the received burst's training sequence, as

previously described, to help estimate the distortion of the signal due to channel effects

such as intersymbol interference and multipath effects. The channrl estimate is calculated

by correlating the received training bit sequence with the reference training bit sequence,

and represents the channel impulse response that the burst's bits are exposed. The main

purpose of the equalizer is to create the inverse of this impulse response, in order to

address the experienced channel distortion. An optimum demodulation method, requiring

equalization, is the Viterbi method - a maximum likelihood sequence estimator technique

Page 42: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

[20] . The Viterbi method takes into account the information obtained from the channel

estimator (via the known training sequence), and any noise statistics it may have in order

to deterrnine the most probable bit sequence of the signai under andysis. The Viterbi

method applies only to a single burst, since the channel estimates relate to a specific

burst's training sequence.

The two 57 data bit sequences are then extracted from the normal burst, after the sequence

estimator process. Data bits from various bursts go through a deinterleaving process, to

undo the interleaving performed in the transmitter's channel coding algorithm. The final

processing required before the data information rnay be delivered to the user is the

decoding of the convolutional code applied to the data bit sequence. The Viterbi method

is the optimum decoding algorithm for convolut ion codes. Therefore, the Viterbi method

is employed to provide the maximum likelihood decoded bit sequence of the data bit

sequence that was origindly subjected to the (2,1,5) convolutional code. It should be

noted that the maximum likelihood decoding scheme also takes into account the code

puncturing that occurred in the transrnitter. The data bit sequence, of 240 bits, is now

ready to be delivered to the receiving user.

3.4.4 GSM in the SPW Environment

The Signal Processing WorkSystem (spwTM) GSM System-Level Verification product

[36] is the GSM system mode1 used as the basis for this thesis work. The SPW GSM

System-Level Verification product has a number of reference simulation systems, already

constructed, that are compliant with the GSM standard. The reference system used is the

Data Traffic Channel system employing the full rate 9.6 Kbitslsec data channel. Various

blocks of this GSM data traffic channel were modified, while at the same time many

subsystems had to be introduced, since they did not onginally exist, in order to provide a

solution for the problem studied in this thesis. These modified and newly constructed

subsystems are discussed in Chapters 4 and 5.

Page 43: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

3.5 Conclusion

This chapter has presented an introductory view of the GSM standard, albeit a very brief

overview of a standard that is over 5000 pages in length. The GSM standard origins were

highlighted, and the major components of the GSM architecture were described and

explored. Emphasis for the chapter was placed on the signalling and radio link aspects

employed by the GSM system. The reasoning for these focus, on the signalling and radio

Iink aspects, is due to the fact that many of these topics will play a significant role in the

integmtion of the additional error-control coding algorithms and agent blocks required to

improve the throughput on the GSM data traffic channel explored in this thesis.

Page 44: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Chapter 4

Error-Control Coding

4.1 Introduction

Error-control coding is a key element in al1 wireless digital data communication systems.

This fact is supported ty the cornparison between the acceptable or projected data service

BER versus the raw digital channel BER experienced on a wireless channel. Data services

require a BER on the order of 1 û 6 to IO", whereas, typical raw BER for wireless digital

channels is on the order of IO-^ [27-291. In addition to this '*natural" or "raw" BER of a

typical wireless medium, the wireless channei also experiences errors which occur in

bursts; bursts which are often related to deep signal fades and which can result in a BER of

50% during the burst cycle [27]. In order to improve the wireless channel's quality, one or

more forms of error-control must be empioyed, and, thus, error-control coding piays a key

roie in wireless digital data communication system design.

The topic of error-control coding is quite extensive, since there are many techniques or

forms of coding. Generally, error-control coding cm be grouped into three broad

Page 45: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

categories: error detection, forward error correction (FEC), and retransmission schemes

[27,30]. Although the three aforementioned categories are quite different in their

constmcts and implementation, there is one common characteristic which they al1 share

and which forms the basis of error-control coding. Al1 error-control coding schemes

require the addition of redundancy to the data bit sequence before it is modulated and

transmitted. The transmitter and the receiver both know the construct and implementation

of this added redundancy. The receiving side of the transmission medium demodulates the

signal and then uses the redundancy to validate or to improve the quality of the delivered

data. The improved quality of delivered coded data is clearly seen when compared to an

unencoded transmitted version of the sarne data bit sequence.

In some cases, we may opt to design a wireless digital data communication system which

employs a scheme that creatively and efficiently combines techniques from each of the

three broad error-control coding categories. This may be done in order to improve the

delivered data throughput. This thesis study will investigate a design of this type.

Recall that from Chapter 3 that an FEC coding scheme is already found within the GSM

system, which subjects the data bits to a 1/2 convolutional coder. This thesis study goes

beyond the standard FEC employed in a GSM system. This chapter will begin with an

introduction and description of the CRC error detection employed in this study. The main

automatic-repeat-request (ARQ) stntegies will be highlighted and compared, followed by

a description of the ARQ scheme irnplemented. The chapter will conclude with a

discussion of code combining and the implementation employed.

4.2 Cyclic Redundancy Check (CRC) Coding

4.2.1 CRC Introduction

Error detection codes ensure the validity of a data packet delivered, determining whether

the data packet is error-free or compt. We may realize a simple, but efficient, error

detection code by appending a set of parity check code bits to the data packet before it is

transmitted. The most common form of such parity check codes, used at the data link

Page 46: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

layer, consists of the cyciic redundancy check codes (CRC) [30]. There are many cyclic

redundancy check codes that are simple to realize and possess good error detection

capabilities, as shall be demonstrated.

4.2.2 CRC Description

We recall from Chapter 3, that the data packet in the GSM system consists of 240 bits.

The CRC bit sequence desired to protect such a moderate size data packet had to have two

compulsory qualities; namely a compact (small) bit length, as well as a good error

detection capability. The error detection code used in this thesis shidy is the CRC- 16

code, one of the two 16-bit CRC standards (CRC- 16 and CRC-CCITT) widely used today.

With the CRC-16, approximately 7% of the data packet is required for error detection;

therefore. the first quality outlined above is satisfied by this error detection method.

The CRC- 16 generator polynomial is as follows: [30,3 1 ]

where the primitive polynomial of degree 15 is:

X I ~ + X + 1,

The natural length of this code is 215-' = 32767.

Al1 mors of weight three or less, as well as al1 odd weight errors, will be detected by this

code. It has been mentioned in [3 11 that this code will also detect d l bursts of length 16 or

less, 99.997% of bursts of length 17, and 99.9985% of bursts of length 18 or more.

Finally, the probability of failing to detect errors in random strings of data, with such an

error detection code is 2-l6 (approxirnately equal to 1.5 x 10 - 5 ) [30]. Therefore, the CRC-

16 error detection code also satisfies the second quality, pertaining to a code processing

good error detection capabilities.

Page 47: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

4.2.3 CRC in the SPW Environment

The implementation of the 16-bit CRC code within the SPW GSM data environment is

described in this section. for both the packet construction (data with the appended 16-bit

CRC sequence) in the transrnitter and for the actual CRC bit verification process in the

receiver.

4.2.3.1 CRC Transmitter Details

In the GSM standard, a user's data bit Stream consists of 240 bits derived from four blocks

60 bits in length [18]. Every 10 msec, 240 bits of data are gathered to be transmitted using

the TCWF9.6 data transfer channel. Due to the 16-bit error detection required in this

study, however, only blocks of 56 bits are accepted, for a total of 214 information data bits.

These 224 data bits are then applied to the generator polynornial, Equation 4.1, in order to

calculate the necessary 16-bit CRC sequence. The information data bits plus the 16 CRC

bits form a data packet that is 240 bits in length and is collected in 20 msec.

In SPW, a special CRC block allows the calculation of a CRC sequence of defined bit

length. by applying the input data sequence to a defined primitive generating poiynomial.

as shown in Figure 4.1. The output of the Clic block is a 16 bit sequence, which is then

üppended te the end of the information data sequence to form the codeword. The 224

information data bits combined with the caiculated 16 bit CRC sequence form the standard

GSM 240 bit codeword, the required codeword bit length to be transmitted on the TCW

F9.6 data channel. The codeword construction process found in the SPW data encoding

module is shown in Figure 4.1.

Page 48: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

I Vector

Figure 4.1 : Codeword construction process.

4.2.3.2 CRC Receiver Details

Vector CRC Block Append Block

Checking the validity of a received codeword, which employs an error detection scheme as

the one outlined above, is a straightforward task [27]. Figure 4.2 shows a mode1 which

üccomplishes this task. The received information bits are used to re-compute the 16-bit

CRC check bits. These re-computed check bits are then compared to the received 16 CRC

bits. If the two sets of check bits are identical, then the received codeword is considered

vaIid (correct). Otherwise, the received codeword is considered invalid (incorrect) and this

data packet must be retransmitted as per the ARQ scheme employed.

In SPW, the re-computed and received 16-bit CRC sequences are bit-wise XOR'd, and tne

number of 1's from this logical process are counted. A non-zero count signifies that the

two check bit sequences are different and the codeword is considered invalid. A count of

zero 1 's from the XOR'ing process sigaifies a valid codeword. This codeword validation

16 Bits User's 15 2 g ( x ) = ~ ' 6 + ~ +x +I

Data Packet + 240 224 Bits Bits

Page 49: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

process is shown in Figure 4.2

Vector Decomposition

/ Received 16 CRC Bits

B loc k

224 Received 16 Recalulated Information Bits CRC Bits

Vector CRC BIock

Figure 4.2: Codeword validation process, data packet and 16 bit CRC

240 Received g(x) = ,cl6+, 15+x2+ 1

4.3 ARQ

4.3.1 ARQ Introduction

One very effective and widely used method of error-control consists of combining error

detection dong with the method of retransmission-upon-request to form the basis of a

technique known as automatic-repeat-request (ARQ) [27]. Although the complexity

between the different types of ARQ schernes varies, as will be made clear in the next

section, ARQ techniques are relatively simple to implement and provide a reliable means

for delivering reduced error data packets to an end-user [32]. Coupled with the two

aforementioned ARQ characteristics, the ARQ protocol is well suited for channels

affected by burst error and thus, this protocol tends to be very popular in wireless data

packet networks. Current use of ARQ protocols or hybrid-ARQ schemes (combination of

FEC and ARQ techniques) are in wide use today. An example of such hybrid systems is

found in the Digital Cellular Data Services discussion of [27]. Such systems presented

include the 1-95 data services and the Trans-European Trunked Radio (TETRA) data

servicing standards, these standards employ ARQ and FEC protocols to attend to the error

characteristics of a mobile wireless digital data communication systern.

The sections to follow introduce the basic operating procedure of an Automatic-Repeat-

Request protocol; highlight the various types of ARQ protocols available; and, finally,

# 1 's? w ,

\

Bits XOR /

Page 50: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

discuss the ARQ protocol implemented for this thesis snidy.

4.3.2 ARQ Description

There are a set of basic and fundamental procedures which govern an ARQ protocol,

regardless of the specific ARQ protocol one actually utilizes in a communication system

[33]. The transmitting side constructs a codeword, which entails appending an error

detecting parity check bit sequence (Le., CRC bits) onto a message or data packet. This

code word is then transmitted to the receiver over a noisy channel. At the receiving side,

the received code word goes through a process called syndrome computation. Syndrome

computation checks the integrity/validity of the received codeword; if the syndrome

computed is zero, then the received codeword (data packet) is considered error-free,

otherwise, the received codeword (data packet) is considered to be in error or compt. An

error-free received data packet brings about two actions from the receiver; first the

received data packet is delivered to the user, and secondly, the receiver positively

acknowledges (ACK's) the data packet was received error-free to the transmitter via a

return channel. Whereas, a data packet considered in error causes the receiver to reject

the data packet (the data packet is not delivered to the user) and the receiver sends a

negative acknowledgment (NACK) signal to the transmitter, again via the return channel,

signifying that this data packet needs to be retransmitted. The actuai data packei control

handling algorithms conceming the ordering of data packets in the transmission queue is

based on the observation of the ACK's and NACK's from the receiver. These algorithms

are specific to the different ARQ protocols which exist and will be addressed in the next

section.

4.3.3 Types of ARQ Schemes

There exist three types of ARQ schemes: the Stop-and-Wait (SW) ARQ, Go-Back-N

(GBN) ARQ, and the Selective-Repeat (SR) ARQ 1321. The difference between the

schemes centers on the resource requirements (i.e., transmitterheceiver buffer size) and

the complexity of the data packet transmission protocol which depends on the state of the

ARQ return link (ACK or NACK signal). We provide a brief description of each of the

Page 51: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

three different types of ARQ schemes. The most simplest ARQ scheme is the Stop-and-

Wait ARQ technique. For this ARQ technique, the transmitter sends only one coded data

packet (data packet + CRC bits) to the receiver, buffers that particular coded data packet,

and waits for an acknowledgment signal from the receiver pertaining to the coded data

packet just sent. The acknowledgment signal will be either positive or negative. A

negative acknowledgment (NACK) will signify that the received coded data packet was

compted (in error) and causes the transmitter to re-send the last coded data packet sent.

Whereas, a positive acknowledgment (ACK) will signify that the received coded data

packet was received error-free and will allow the transmitter to send and locally buffer the

next coded data packet. This Stop-and-Wait ARQ technique employs a relatively easy

data packet transmission protocol and requires a buffer large enoough to store one complete

data packet located on the transmitter side of the communication model.

The ARQ technique which alleviates this undesirable and inefficient idle state, but

requires a slightly more complex data packet handling protocol and nominally more buffer

resources, is the Go-Back-N ARQ scheme. The Go-Back-N ARQ scheme is also

commonly called continuous ARQ [3 11, the terrn 'continuous' is used to describe the

transmitter's data packet transmission process. The tnnsmitter 'continuously' tnnsmits

coded data packets until it receives a NACK from the receiver or experiences a time out

state. A NACK signal indicates that the receiver has observed a compted data packet,

whereas, a time out condition signifies that an acknowledgment (whether it be positive or

negative) was not received for a packet within a defined time frame. In either case the

transmitter will 'Go-Back' and re-send the data packet NACK'd or timed out. The

transmitter will then re-send the N-l data packets which followed the data packet

requiring retransmission, where N- 1 represents the number of data packets sent in the time

interval between when a data packet is originally sent to when it is acknowledged or when

the defined timer expired. It should be noted that these N-1 following data packets are

autornatically retransmitted, again in sequence, regardless of the acknowledgment signal

(ACWNACK) sent pertaining to their received States. It is quite apparent that this ARQ

technique will needlessly retransmit data packets which have been received and accepted

as error-free at the receiver. However, the Go-Back-N ARQ technique is more efficient

Page 52: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

than the Stop-and-Wait ARQ scheme in that it will continuously send coded data packets

as opposed to waiting for them. This difference in data packet handling protocol generally

realizes greater data throughput, in channels with low to moderate error rates [27,32.33].

The last ARQ technique is the Selective-Repeat ARQ scheme. This ARQ scheme is a

form of continuous ARQ, but moreover, it is a continuous ARQ with selective repeat.

This ARQ technique requires the transmitter to retransmit only the data packets which

have been negatively acknowledged or have caused a timer to expire. Therefore, the

undesirable actions seen in the Go-Back-N ARQ scheme, Le., retransmitting N-1 data

packets because of one specific data packet. does no< occur here. The SR-ARQ scheme

requires a very complex data packet handling protocol, and sizable receiver and

transmitter buffer resources. This ARQ scheme allows data packets to be received out of

order, due to the selective repeat process. and therefore, requires a buffer in the receiver to

hold error-free data packets which arrive after a compted data packet. The data packet

handling protocol at the transmitter must keep track of which data packets to send,

whether they be new data packets or stored packets awaiting an acknowledgment. At the

receiver, the protocol must buffer al1 data packets which are error-free following a

corrupted data packet. until the originally compted data packet is acknowledged to be

error-free. A data packet is released to the end user after al1 compted data packets before

i t are received error-free. Therefore, this ARQ technique theoretically requires an infinite

buffer resource 127,331.

Of the three types of ARQ techniques listed, the SR-ARQ is the most complex and

demands the most buffer resources, however, it provides greater throughput and better

performance than the other two ARQ schemes for most applications [27.33]. In addition,

one of the greatest advantages of the SR-ARQ technique is that the realized throughput is

nlmost insensitive to the channel quality. The SR-ARQ scheme is the ARQ scheme of

choice for this thesis study due to its superior throughput and performance qualities

cornpared to the S top-and-Wait and Go-Back-N ARQ techniques.

With al1 ARQ protocols, there are a number of issues which one should keep in mind when

Page 53: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

determining if an ARQ scheme is suitable for a particular communication system. First of

al], for an ARQ scheme, the probability that a cornipted data packet is considered 'error-

free' is quite small, provided that a proper error-detection code is utilized [34]. With this

reassuring fact comes a heavy consequence, and the major drawback of an ARQ system.

When the channel error rate increases, generally, so does the average BER experienced in

the channel. With this increased BER, one experiences an increase in data packet errors.

Thus, with a proper error-detection code, the ARQ scheme will detect almost al1 cornipted

data pnckets and request them to be retransmitted. In this particular scenario, the

throughput of an ARQ scheme would rapidly decrease under increasing channel

deterioration [34]. Therefore, an issue of some importance for al1 ARQ protocols is that of

throughput versus channel quality, particularly for poor quality channels.

This trade-off between high probability of error detection venus variable data packet

throughput based on channel quality is in sharp contrat to what one would find in a FEC

communication model. An FEC communication system utilizes an error-correcting code

to combat data packet errors. The receiver, in such a system, tries to correct any errors it

detects and then passes the 'corrected' data packet to the user. An erroneous data packet

will be delivered if the receiver faiis to determine the correct error sequence. Under such a

scheme, the throughput experienced is constant regardless of the channel quality [27.33].

In order to have high reliability in such a system, long, powerful error codes are required,

codes which increase the overall system complexity [34]. Therefore, in a FEC

communication system design there is a trade-off between a constant throughput versus

data packet reliability.

There exist good and undesirable features with both pure ARQ and FEC schemes. By

properly combining the two, it is possible to realize a scheme which exploits the

advantages and minimizes the disadvantages of the pure FEC and the ARQ constructs.

This new combining scheme is known as a hybrid-ARQ scheme [27,3 1,33,34]. A hybrid-

ARQ scheme can be viewed as a FEC coding scheme contained within an ARQ protocol.

The sole purpose of the FEC is to try to correct any errors it may encounter. If the FEC is

successful in determining the error sequence, then the ARQ syndrome computation is

Page 54: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

successful and the data packet is delivered to the end user and a positive acknowledgment

is sent to the transmitter. However, if the FEC incorrectly determines the error locations,

then an erroneous data packet is passed onwards. With the robust syndrome algorithm of

an ARQ scheme, more than likely, the compted data packet will be detected and the

packet will then be discarded, and an negative acknowledgment is sent to the transmitter.

This hybrid-ARQ scheme allows a throughput that is greater rhan that of a straightfonvard

ARQ scheme and increases the reliability compared to that of a FEC system during

periods of high error rates. The concession which must be made is that a nominal decrease

in throughput is experienced, during penods of low error rate, cornpared to a pure ARQ

scheme. This lower throughput can be attributed to the extra parity bits associated with

the FEC scheme utilized [3 11.

From the above discussion, we see that a hybrid-ARQ scheme exploits the benefits of both

FEC coding and ARQ techniques in order to achieve a more robust error control algorithm

for a communication system, cornpared to that realized with employing the individual

error control algorithms. Finally, it should be noted that the proper combination of FEC

and ARQ techniques is often used to improve the BER of a system [35]. Therefore, with

an ARQ scheme combined with convolutional coding, such as the coding used in the GSM

system, a hybrid-ARQ scheme is realized. This study makes use of a hybrid-ARQ scheme

in the manner described, however, the rernainder of the ARQ discussion shall focus on the

SR-ARQ protocol that is developed and integrated into the GSM platform used in this

thesis.

4.3.4 ARQ in the SPW Environment

The implementation of an SR-ARQ scheme in the SPW environment was a large

undertaking. This process consisted of implementing a buffer device which stored the

user's data packets sent to the receiver. This memory would be required in the event that a

user data packet was received in error and would have to be resent. The CRC method,

outlined in the previous section, was employed in order to detemine the validity of a

received data packet. Finally, two Finite State Machines were created, one to handle the

Page 55: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

transmitter packet procedures and the other to handle the receiver packet procedural

details operating within the framework of an SR-ARQ scheme.

The remaining of the section, concerning the implementation of the ARQ scheme in SPW,

will address two items. First, the model assumptions which were taken into account will

be presented. Secondly, the procedures/states of the two Finite State Machines governing

the transmitter and the receiver will be addressed.

4.3.4.1 SR-ARQ Mode1 Assumptions

There are a number of assumptions with this SR-ARQ model. First, it is assumed that an

acknowledgment for a data packet is available when the transmitter is ready to transmit

another data packet. This precise timing will allow the transmitter to decide whether o r

not a packet needs to be resent o r if a new data packet may be sent from the input queue.

A consequence of the first assumption is that the SR-ARQ model does not lose or time out

any acknowledgments. Also, with this assumption. the receiver and transmitter are

synchronized such that each entity knows the sequence number, used to reference buffer

resources, for each packet. This is an extension of perfect timing and the no time out

condition. In real systems, the data packet would have to be appended with this sequence

number.

The final assumption is that the return channel is noise-less. This is not an unrealistic

assumption; as mentioned in [8], the link protocoi may be powerful enough to almost

eliminate al1 possibiIity of errors on the return channel.

4.3.4.2 Transrnitter and Receiver Buffers

An important part of the SR-ARQ scheme implementation concerns the buffers con tained

in both the transmitter and receiver. The buffer sizes possessed by both foilow the

implementation outlined in the discussion of Weldon's ARQ strategy [8] from Chapter 2,

where the buffer sizes are able to store 'q' times the amount of data packets stored on the

return channeI, where 'q' is an integer. The return channel is able to store 30 data packets,

Page 56: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

and the 'q' value is 4. Therefore, both the transmitter and receiver buffers are able to hold

120 data packets, thus, requiring 3.36 Kbytes of memory (224 bits per packet * 120

packets / 8 bits per byte) - a very small amount of memory resources.

The transmitter buffer, also known as the retransmission buffer, is used to store al1 of the

new data packets sent to the receiver until they are positively acknowledged by the

receiver. The buffer indices range from O to 1 19. A packet sent is defined as one of these

buffer indices and the index value starts from O and increments to 119. After 119, the

buffer's index value resets to O and the whole process begins again.

The receiver buffer will only store error-free data packets which follow a data packet that

was received in error and has yet to be retransmitted error-free. Once the erroneous data

packet(s) is received error-free. the buffer will release al1 the following buffered error-free

packets up until another data packet awaiting an error-free transmission is encountzred in

the buffer.

Since the receiver buffer is of a finite size, there is a possibility that it may over flow if one

packet is continuously negatively acknowledged, or if many packets are received in error.

A special algorithm was developed to recognize such situations. so that data packets still

awaiting to be delivered are not written over by new data packets (possessing invalid

sequence numbers) requiring to be stored. The algorithm starts by keeping track of the

number of packets referencing a specific buffer index and the earliest NACK'd buffer

index. A packet's buffer index is verified to see if it corresponds to a valid sequence

number or not. This verification process is determined by the following two tests:

Test # I - Traverse from the earliest NACK'd index to the index referenced by the received data packet. as shown in Scenario # l in Figure 4.3. If the number of packets seen by the earliest NACK'd sequence is greater than the buffer index in question, then the newly received packet is deemed to be of a valid sequence number (referred to as a packet within the allowable range). However, if test results show that the two buffer indices have observed the same number of data packets, as in Scenario #2 in Figure 4.3, then another test must be performed.

Page 57: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Test #2 - Traverse from the head of the buffer (index = O) to the buffer index referenced by the received data packet, as shown in Scenario #2 in Figure 4.3. During this tra- versing stage. the butier index possessing the smallest number of observed packets is noted. If the number of observed packets for the buffer indexed by the received data is Iess than or equal to the smallest number of referenced packets from the previous buffer indices, then the newly received data packet is deemed to be of a valid sequence number. Otherwise, the received data packet is an invalid sequence number.

Index

O

1

2

3

.*.

N-2

N- 1

N

Scenario # I

Earliest - NACK Index

ACK Test # 1 2 passes

ACK 1 - Index referenced 1 by received data

packet

ACK 1 2 1

Test # 2 passes

ACK - Index referenced n by received data packet

I Test # 1 Fai 1s

ILI Index

I B lock information:

Acknowledgrnent striie of the kuest &ta packrt

data packeu.

Figure 4.3: Scenarios of data packets possessing valid sequence number

The first test is valuable in the case where the newly received data packet is referencing a

larger buffer index when compared to the earliest NACK'd packet buffer index. Whereas,

the second case is required when the end of the buffer has k e n reached and the buffer

indexing 'wraps' around; therefore, a newly received data packet could be referencing a

Page 58: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

buffer index closer to the start of the buffer (index = O) than the earliest NACK'd buffer

index, such as scenario #2 in Figure 4.3. In such a scenario, it would be valid to allow the

packets indexing buffer resources before the earliest NACK'd packet to accept another

data packet, since they produced error-free data packets before the earliest NACK'd packet

was observed. Once the buffer index, defining the earliest NACK'd packet, receives its

packet error-free, the aigorithm will sequentially seek out the next earliest NACK'd state

in the buffer and declare that as the earliest NACK'd index. If no other NACK'd packet

resides in the buffer resources, then the buffer index is assigned an invalid reference

number, and test nurnber one will not be performed. Test number two will always be

performed in order to handle the situation where the system delivers out-of-sequence

packets, i.e., where a data packet is of a valid sequence number, but it is delivered before

the packets which precede it. Scenario #2, Figure 4.3, illustrates such an example, index

#3 is receiving its third data packet while buffer indices #1 and #2 have only observed two

data packets. Out-of-order sequences arise after the system has gone through a penod of

receiving data packets in error - this will be highlighted in the ARQ Receiver Details

section pertaining to a blocked state.

4.3.4.3 ARQ Transmitter Details

The transmitter used in the thesis simulations continuously sends data packets to the

receiver. The receiver will accept the data packets and check their validity, via the CRC

checking sequence. The receiver will then send back an acknowledgment (ACK/NACK)

corresponding to the validity of the data packet. The procedure determining whether the

next packet in the input queue or a packet from the retransmission buffer should be sent

next, by the transmitter, is governed by the value received on the acknowledgment

channel. Figure 4.4 outlines this transmitter procedure. There is no acknowledgment

value to govern the transmitter when it first starts sending data packets to the receiver. The

first packet acknowledgment will take exactly one round-trip channel delay in order to be

received by the transmitter. During this round-trip channel delay, the transmitter is free to

transmit the first data packet in the input queue (new data packet), after which, it places a

copy of this packet in the retransmission buffer. When the transmitter starts to receive

Page 59: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

acknowledgments, the values of the acknowledgments are checked. An 'ACK'

acknowledgment will allow the transmitter to continue the process of transmitting the first

data packet in the input queue, followed by placing a copy of this data packet in the

retransmission buffer. However, an 'NACK' acknowledgment, as seen in Figure 4.4,

receives immediate attention by the transmitter, causing the transmitter to retrieve the

failed data packet from the retransmission buffer and to re-send it again to the receiver.

One note about the transmitter buffer size is wonh mentioning. With the outlined

assumptions and the immediate transmitter attention to negatively acknowledged data

packets, it is easily seen that the minimum required retransmission buffer size is equal to

the number of data packets which may be present on a round-trip channel.

Transmit the first data packet in the input queue and place the packet in

the retransmission buffer. (new data packet)

Retransmit data packet corresponding to the

Figure 4.4: Transmitter procedure for the SR-ARQ scheme developed in SPW.

Page 60: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

4.3.4.4 ARQ Receiver Details

The receiver will accept data packets presented and will proceed to validate each data

packet, via the CRC checking sequence. The receiver will then send back an

acknowledgment signal (ACWNACK) corresponding to the validity of the data packet.

The possible receiver procedures are outlined in Figures 4.5 and 4.6, and they correspond

to a receiver in the non-blocked state and blocked state, respectively. A receiver may only

be in the non-blocked state if it is not awaiting data packets to be resent by the transmitter.

A receiver proceeds into, or is in, the blocked state if it negativeIy acknowledges, or is

awaiting, data packets to be resent by the transmitter [32]. Further discussion of the

procedures governing each of the possible receiver States follows.

The procedure of the non-blocked (or normal state) receiver is very straightforward, and is

highlighted in Figure 4.5. Packet Pi is received and then checked to see if it is a data

packet which is out-of-sequence. An out-of-sequence packet is a packet which is within

the valid sequence range, but is received out of order cornpared to the other sent data

packets. Out-of-sequence packets are buffered: the transmission is acknowledged (ACK

or NACK), depending on the validity of the packet; and the receiver then moves into the

blocked state. If packet Pi is determined not to be out-of-sequence then packet Pi is

checked for any errors. A positive acknowledgment (ACK) is sent to the transmitter if

packet Pi is considered error-free, and the receiver remains in the normal state. However,

if packet Pi contains errors, then the packet is negatively acknowledged (NACK). the

packet is buffered, and the receiver moves into the blocked state.

Page 61: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

1 Receive Packet 1

1 Acknowledge pac ket Pi (ACK or NACK) Yes

out-of-seauence - 1 store in the buffer. 1

and reserve space in the Enors detected

buffer for Packct Pi

Enter Blocking State P-7 1 Send ACK to Tnnsmitier 1

and deliver data Packet

Figure 4.5: Non-blocked receiver procedure for the SR-ARQ scheme developed in SPW

Once a packet is received, while the receiver is in a blocked state, it is immediately

checked to see if it is a data packet currently NACK'd in the buffer, as seen in Figure 4.6.

If the packet is a NACK'd packet in the receiver's buffer, then it is useless to verify if the

packet is within the allowable range. If the received data packet has been previously

NACK7d7 or is within the allowable range, then the data packet is checked to see if i t

contains errors. The transmitter is notified of data packets not within the allowable range,

or containing errors, by way of a NACK'd signal, and data packets containing errors are

aIso placed in the buffer with subsequent data packets being buffered. If the data packet

does not contain errors, then the transmitter is sent an ACK signal and the packet is

checked to see if it is the earliest NACK'd data packet. If the data packet is the earliest

Page 62: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

NACK'd packet, then it, dong with al1 subsequent consecutive error-free data packets, are

released to the end-user. An empty bufier, or similarly a buffer not containing any

NACK'd packets, after the release of data packets allows the receiver to move into the

normal state, otherwise the receiver remains in the blocked state. However, if the data

packet does not correspond to the earliest buffered NACK'd packet then packet Pi is

buffered and the receiver rernains in the blocked state. This packet will be released to the

end user after al1 outstanding NACK'd packets, ahead in the sequence order, have been

received error-free.

Page 63: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

*

v

Recoive h c k e i

Pi an? currenf Nack'd Packei in

Packrt Pi wirhin allowable range.?

c Send Nack IO

rhe Tr~ismitter

Send Nack to the c Transrnittrr and ntserve

space in rhc bufier for Packei Pi

Output Packet and dl the subsqurnt consrcutive

enor-fnv data blxks

ou~siimding Nack'd blocks in Buffer Parkct Pi

Figure 4.6: Blocked receiver procedure for the SR-ARQ scheme developed in SPW

4.4 Code Combining

4.4.1 Code Combining Introduction

Page 64: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

For very high channel bit error rates, or for low S N R channels, the standard GSM 1/2

convolutional coding (FEC portion) dong with a Selective-Repeat ARQ scherne may not

be adequate to achieve sufficiently high throughput. In order to realize a potentially

greater and useful channel throughput. one option is to employ a code combining

technique. Code combining is essentially a technique that attempts to match the code rate

of the communication system with that of the channel conditions encountered [13,14].

Exactly how the code combining technique gives rise to a greater and useful throughput

over conventional hybrid-ARQ schemes during adverse channel conditions is explored in

this section.

4.4.2 Code Combining Description

The code combining technique close1 y parallels Weldon's approach [8] as outlined in

Chapter 2, however, there is one major difference. Instead of discarding received copies of

a data packet which are received in error, the code combining technique attempts to

combine these data packets in an optimum manner in order to decode the data packet sent

[ 10- 123. This code combining of data packets has k e n shown to substantially increase the

reliability and throughput of a communication system [IO-151.

Code combining is a technique used to realize codes of a lower rate from the initial use of

codes of a larger code rate. The main advantage of this technique is quite obvious. The

larger code rate will be adequate for periods of low bit error rate on a channel and provide

a reasonable throughput for the user. However, for poor channel conditions (high bit error

rates) this large code rate will result in a poor throughput. Through the use of code

combining, one is able to obtain a lower code rate from the initial code rate. A lower code

rate provides more error-correcting power on a data packet than a larger code rate does;

therefore, it will be more robust in data protection during poor channel conditions [13- 151.

Thus, what can be seen from the above is that code combining provides a means for a

communication system to adapt to the prevailing channel conditions. This ability to adapt

to the channel's state is required in order to realize a useful throughput for penods ranging

from low to high bit error rates.

Page 65: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

The various elements that comprise the code combining technique will be more fully

described in this section. The relevance of the previously discussed topics pertaining to

error-detection and retransmission protocols, in the form of CRC and SR-ARQ,

respectively, will be evident. The combining process and the final decoding scheme wiil

conclude the discussion.

In Chase [13] and Chase et ai. [14], the data packet studied consists of information bits

plus parity check bits. This parity check sequence serves as an error-detection code, and is

used to determine when data packets are no longer required to be combined. Cyclic

redundancy check bits may form the robust parity check sequence required for error-

detection. This data packet is then subjected to an error-correction code. such as a

convolutional code of rate R. The encoded data packet is then transmitted over the

channel L times. The receiver obtains L channel corrupted copies of the transmitted

ericoded data packet. These L channel corrupted data packets will be combined until the

receiver encounters one of two possibilities. The first possibiiity relates to the situation

that the decoding algorithm identifies a correct data packet, signifying that the data packet

should be positively acknowledged. The second possibility pertains to the situation that

the receiver exhausts al1 of the received data packets, such that there are no more data

packets to combine. The latter case signifies that the receiver was unable to decode the

sent data packet, even after combining al1 of the sent copies of this particular data packet.

The receiver will negatively acknowiedge the packet, thus, requiring it to be retransmitted

following the ARQ algorithm.

The specific details of the packet combining process and how its relates to a lower, more

powerfuI error-correcting code wil l be presented here. The transmitter sends L copies of a

data packet, encoded with a convolutional code of rate R, across the channel to the

receiver. The first received packet is decoded with a R rate soft or hard decoder. The

second received packet is combined with the first, resulting in a data packet twice the

length of the two received packets, and is decoded with a RI2 rate decoder. An example of

the aforernentioned combining process is shown in Figure 4.7. In this example, the

Page 66: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

combining method, or packet merging process, alternates between Packet 1 and Packet 2

taking one bit from each to create a packet twice the length of the original packets. The

decoder required to decode the packet resulting from the merging process would be an R/2

decoder. If a third packet were to be combined, then the combining method would

alternate by taking two bits of the previously obtained merged packet and combine these

with one bit from the third packet. The resulting packet would be three times the size as

the received packets. thus. realizing a coding scheme of rate equal to W3. This combining

process would continue until the L ' ~ packet had been received and cornbined with the L-l

previous packets, creating a need for a R/L decoder. The final item worth mentioning

pertains to the minimum distance of a code which is repeated. [ 131 and [14] highlights

that the minimum distance of a code, whether it be block or convolutional in nature,

increases as the code is repeated and combined. The increase in minimum distance is

directiy proportional to the number of times a code is repeated. Therefore, as the

minimum distance increases, so does the power of the code.

Prickct 1 Merging Process

I

Figure 4.7: An example of the code combining process.

As previously discussed in Chapter 3, the maximum-likelihood decoder for convolutional

codes is a decoder employing the Viterbi algorithm. For the code combining technique it

is apparent that the decoder must be able to change its rate. Such that when L noisy copies

of a packet are received, the decoder must be able to handle the decoding of an Rn rate

code. The other item to keep in mind is that the decoder must have knowledge on the

Page 67: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

exact way the copies were combined. An understanding of the method used to combine

the received copies and the number of copies combined allows the decoder to account for

the generating polynomials required for the Viterbi algorithm. The generating

polynornials used for decoding a packet, combined from two or more received packet

copies are not the s m e as the generating polynomials used to create the individuai coded

data packets. The generating polynomials employed must reflect the lower rate obtained

through the packet combining algorithm.

4.4.3 Code Combining in the SPW Environment

In the GSM standard, a 1/2 rate convolutional coder is used; therefore, by code combining

2, 3, and 4 copies of a received data packet, coding rates of 1/4, 1/6, and 1/8 may be

achieved, respectively. For this thesis study, the maximum number of copies, of any

particular packet, will be limited to four. The employed code combining technique will be

that used to describe the cornbining process in Figure 4.7. The combining technique

basically combines packets such that bits of the same bit position in a each individual data

packet will be grouped together. Refemng to Figure 4.7, it is observed, after the second

combining process, that the first three bits of the resulting packet correspond to the first bit

from each of the individual data packets.

As previously mentioned in Chapter 3, the decoding of the convolutional coding is

performed by a maximum-likelihood decoder, namely the Viterbi decoder. The standard

112 rate Viterbi decoder requires knowledge of the generating polynomials for the 1/2

convolutional coder, in order to decode the received packet. For this coding rate there will

be a generating polynomial for each of the two output bits for every new input bit.

However, when the aforementioned code combining is used, the generating polynomials

the Viterbi decoder must use are different. There are more than two bits outputted for

every input bit. Therefore, with the outlined combining sequence, the generating

polynornial for the first bit in a 1/2 rate system will be considered the generating

polynomial for the first 'X' bits, where 'X' represents the number of combined copies of a

particular packet. The second grouping of 'X' bits will be considered to be derived from

Page 68: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

the generating polynornial of the second bit in the 11'2 rate systern. The third grouping of

'X' bits will be considered to be derived from the first generating polynomial sequence,

whereas, the next grouping of 'X' bits are derived from the second generating polynomial

and so forth. For example, if X=3, we would be combining three packets. The first three

bits of this combined packet would be considered to be derived from the generating

polynomial generating the first output bit of a coded packet in a 1/2 rate system. The next

three bits of this combined packet, or the second grouping of three bits, would be

considered to be derived from the generating polynomial generating the second output bit

of a packet in a 1/2 rate system. The third grouping of three bits, of the combined packet,

woufd be considered to be derived from the generating polynomial generating the first

output bit of a packet in a 1/2 rate system. Such a generating polynomial definition

continues for the remaining three bit groupings for the combined packet. Here it is

obvious that a variable rate Viterbi decoder [13,14], or a bank of Viterbi decoders each

dedicated to a particular rate will be required. The design option employed was that of the

latter case. a bank of Viterbi decoders dedicated to a particular rete, as this option was the

easiest to construct and to debug.

Most of the SR-ARQ protocol SPW implementation, outlined in the ARQ section, will

remain the same. However, the SR-ARQ protocol will be modified to handle the multiple

copies of a packet which may exist in the communication system. The transmitter side

requires the ability to send and buffer a data packet, and then to continue sending copies of

the packet until it emits the correct number of copies. The decision proccss of whether or

not to send a new data packet from the input queue. or to re-send a data packet will be

made when the transmitter has satisfied the number of requested copies for a particular

data packet. The transmitter will also require a buffer to store the requests for packet

retransmjssions in the event that the transmitter is busy transmitting a packet when a

negative acknowledgment is received. Retransmission requests will then queue up in this

buffer. The receiver will require the ability to recognize that multiple copies of a packet

will be received. The decision making behind the error detection and acknowledgment

schemes will also need to be modified, such that the scheme will be able to recognize an

error-less packet and relay this information to the transmitter, even when additional copies

Page 69: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

of that particular packet are still k ing received. However, the receiver will still only

buffer one copy of al1 the correctly received data packets, and not multiple copies of the

packet.

The CRC error detection method previously described does not require any modifications.

4.5 Conciusion

This chapter has covered many areas of the error-control coding, a necessary element in a

wireless digital data communication system. The typical unencoded bit error rate

experienced on a wireless medium is on the order of 1oe2, whereas, data services usually

demand a bit error rate of 1 0 . ~ to 10 -~ . The topic of error-control coding was introduced

and explored in order to describe the possible coding techniques that exist and that may

achieve this required bit error rate. From these discussions, error-controi coding schemes

suitable for this thesis study were presented.

An error-detecting scheme was introduced, explored and i ts implementation was

described. The error-detecting scheme employed was the CRC- 16 standard. This error-

detection scheme uses 16 bits in order to provide the required parity check bits; for the

purposes of this study, these 16 bits use approximately 7% of the data packet. The CRC-

16 standard is a compact error-detection scheme known to possess very good error

detection capabilities.

Automatic-Repeat-Request protocols were introduced and the implementation employed

for this thesis study was described. The data packet handling algorithms were described

for each of the three main ARQ techniques. With these packet handling descriptions, the

throughput and performance for the three ARQ schemes were then compared. The SR-

ARQ scheme h a the best throughput performance, compared to the Stop-and-Wait and

Go-Back-N ARQ techniques, and was chosen as the ARQ scheme for this study. It was

concluded that this superior throughput performance out weighed the additional

implementation complexity the SR-ARQ scheme requires, compared to the other two

Page 70: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

retransmission techniques. The actual description of the SPW implementation of the SR-

ARQ SC heme was presented and the required system-w ide buffer resources were

highlighted. The Finite State machines governing the transmitter and receiver's

procedural flow were discussed, and a flow diagram was provided for the transmitter and

the non-blocked/blocked receiver States.

The final coding topic pertained to code combining. Code combining is essentially a

technique which has the ability to realize a lower code rate through the combining of data

packets initially coded at a higher rate. Therefore, this type of error-control has the ability

to adapt to the prevailing channel conditions experienced by a communication system. It

was also noted that this combining technique requires a Viterbi decoder that must

accommodate the various coding rates encountered. The SPW implementation of code

combining used the 112 convolutional coding present in the GSM as the initial code rate.

The possible number of combined data packets consisted of 0, 2, 3 and 4 - pertaining to

coding rates of 1/2, 1/4. 1/6, and 118, respectively. Due to easier implernentation and for

debugging purposes, four Viterbi decoders, one accommodating each of the four

aforementioned coding rates, were placed in parallel in order to decode the received

combined data packets. The details concerning the integration of the code combining

technique wi thin the SR-ARQ scheme were then presented and discussed.

The methods were then modelled in SPW, thereby creating error-control coding schemes

that wcre previously non-existent in the SPW environment. The theory, coupled with the

SPW implementation of each of the error-control components (CRC, SR-ARQ, and code

combining) wiIl be expioited by the agent, as will be seen in Chapters Five and Six. The

agent will use the error-control coding components to guide its decision-making so as to

achieve the highest possible throughput for the wireless digital communication model.

Page 71: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Chapter 5

Software Agent

5.1 Introduction

In this chapter we define an agent; discuss an agent's constmct; and, finally, describe its

integration and use within a mobile communication system model for the purpose of this

thesis study. Over the last few years, there h a been an increase in use of the word "agent"

in both the engineering and cornputer science communities [36,37]. The word "agent"

definitely needs to be defined in order to understand the context in which it is used here.

The word "agent," or equivalently: "software agent," is an autonomous entity which

possesscs some form of intelligence or knowledge base, in order to model the decision-

making skills of an expert pertaining to a change in the state of a specific task or function

[37-391.

The role or purpose of an agent is to perfonn a certain task or function generally on behalf

of a human being. This servant role, by the agent, is to distance or buffer a human king

from an arduous, mundane, or even complex tirne-sensitive task. With this said, two

Page 72: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

important questions arise, as presented in [5]. First, how does an agent acquire the

necessary intelligence or knowledge to perfonn the role outlined? Second, c m a human

user trust this agent entity to perform a task on their behalf? The first question will be

addressed in this study, however, the second question is one whose answer varies from

individual to individual and is outside the scope of this thesis. The agent simulation

results, provided in Chapter 6, should be considered when addressing the second question

pertaining to the agent implemented here.

One design option to address the first question is to construct an agent following a

knowledge-bctsed approach [5,40]. In this approach, the agent has access to a set of rules

exhaustively defining the decision-making processes to be followed or emulated for a

specific task or application [5,38]. The agent rnonitors the environment it resides in, and

will make decisions, based on the outlined knowledge bases, in order to react to any

environmental changes affecting its specific tasks or applications. A useful concept

employed with knowledge bases is the concept of a rule scheduling algoriihm. This

concept basically describes the process associated with the selection of which nile of a

knowledge base will be followed and when it will be executed [38]. As can be seen, this

concept of rule-scheduling may be divided into two elernents: what mie to follow and

when to follow this rule. This scheduling concept has a very important purpose in this

thesis study, since the agent developed will need to employ sorne form of logic to

efficiently use the knowledge base information.

With al1 of this information on the agent's rule scheduling algorithrns and knowledge

bases, we look at one example which puts this al1 together. An example of an agent,

working at a high level in terrns of a network, might be a software agent which forwards

al1 new E-mail messages from a particular person (i.e., the user's boss) immediately to the

data user, while only forwarding al1 other new E-mail messages once a certain number of

them have accumulated at the data user's home network. The action of this particular agent

might be based on the observation that the data user oniy reads E-mail from the boss right

away, and reads al1 other E-mail every couple of hours. This is a fairly simplistic example,

however, it addresses al1 of the concepts introduced thus far. The knowledge bases here

Page 73: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

niay be derived from observation of the user, or even be directly defined by the user. A

mle scheduling algorithm is evident in the fact that the agent will either allow E-mail to go

directly to the user or it will schedule a time when al1 outstanding E-mail will be delivered.

In this thesis, a simulated software agent will observe both the channel state (or quality)

and the retransmission statistics (the number of requests for packet retransmission over a

period of time [7]). Based on these two observable items one software agent will

coordinate itself with another software agent. placed at the other end of the

communication channel. to take a particular action in an attempt to increase or maintain

the current channel data throughput.

The software agent studied will be very simple in design. residing permanentiy on either a

mobile station or base station, and have a small and limited knowledge base on which to

act. In terms of the Mowgli architecture presented in Chapter 2, such a software agent

may raide in the Mowgli agent to provide greater control over the MDCS sub-layer. The

MDCS sub-layer, as previously mentioned, is responsible for reliable communications

over the wireless medium. This simple software agent should be thought of as being a

small portion of a larger, more complex software agent being used. Larger, more complex

software agents might also handle E-mail services, World Wide Web searches, and HTTP

and TCP/IP protocol particulars for data transfer and socket control such as described in

the Mowgli system [l-3,16,17], in addition to obtaining throughput performance benefits.

A description of this study's two knowledge bases will commence this chapter. This

description will also include the SPW implementation of the knowledge bases. After this

description. there will be a discussion of the agent entity. This discussion will deal with

the interactions of the agent with the knowledge bases and the rule scheduling algorithm

employed to control this interaction. The chapter will conclude with the SPW

implementation details of the agent entity.

Page 74: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

5.2 Knowledge Bases and Implementation in SPW

This section describes the two knowledge bases employed by the software agent used in

this thesis: the training sequence bit error and the retransmission knowledge bases. We

provide a discussion of the content of the two knowledge bases, the information they

present to the agent, and their constmct in the SPW environment.

5.2.1 Training Sequence Bit Error Knowledge Base

The first knowledge base to be described pertains to the GSM normal burst's training

sequence bit error rate statistic, recall that the normal burst's training sequence was

described in Chapter 3 section 3.4. The training bit sequence is not encoded like the data

del ivered in the normal burst and therefore, provides information on the channel quality,

invariant wi th respect to the data coding rate employed. The channel quality metric is the

observed average bit error rate in the training bit sequence. The training sequence bit error

knowledge base uses this channel quality information to identify the data coding rate the

agent shouid employ in the communication system.

The training sequence bit error knowledge base possesses simi!arities with the Gilbert-

Elliot model 1411. The Gilbert-Elliot model is a two state Markov chain, with one state

representing a "Good" channel and the other state representing a "Bad" channel. Each

state has an associated probability of transmitting a digit or symbol correctly across a

channel. The knowledge base, discussed here, may be thought of as a rnulti-state Markov

chain. with each state representing the suggested data coding rate for ri given training

sequence bit error rate. Therefore, similar to the Gilbert-Elliot model, which possesses

"Good" or "Bad States with associated bit error rates, the training sequence bit error

knowledge base defines a coding rate based on the observed average bit error rate range of

3 normal burst's training sequence, supplied by the agent.

To begin with, the training sequence bit error knowledge base needs to bc defined. This

information is derived by creating a chart of the average bit error rate observed in a normal

Page 75: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

burst's training sequence over a signal-to-noise ratio (SNR) range. The average bit error

rate is calculated by dividing the total number of observed training sequence bit errors,

over 'N' normal bursts, by the total number of bits in the 'N' training bit sequences (Nx26

bits). The second stage of the training sequence bit error knowledge base definition is to

plot the throughput versus SNR for each of the data coding rates employed in the

communication system. With the two aforementioned measurements, i t is possible to

identify the region where a specific data coding rate maximizes the system throughput, as

well as the average bit error range of the training bit sequence corresponding to this

particular region. With this information, the training sequence bit error knowledge base is

complete.

The exact measurements of the above average bit error rate and data coding rate

throughput analysis, performed at a mobile velocity of 50 km/h, are presented in Table 5.1

and Figure 5.1, respectively. The SPW GSM model, employing CRC, ARQ, and code

combining techniques described in Chapter 4, is used to obtain the data presented in Table

5.1 and Figure 5.1. By applying a constant number of data packet copies, either 1,2,3, or

4, for the entire simulation employing the code combining constmct, the throughput plots

for 1/2, 114, 1/6 and 1/8 data code rate systems, respectively, are determined. These

throughput plots are highlighted in Figure 5.1.

Table 5.1: Knowledge Base Parameters

Training Sequence Average Bit Optimal Coding Rate Error (Ave. BER) (from graph below)

Page 76: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Table 5.1: Knowledge Base Parameters

SNR (dB) Training Sequence Average Bit Optimal Coding Rate

Error (Ave. BER) (frorn graph below)

Throughpur vs SNR. lndiwdwl Coda Cornbined rates. for 9.6-s !XKm'hr

SNR (dB)

Figure 5.1 : Throughput plots for individual code combined rates, for TCHF9.6, SOKm/hr.

Table 5.1, or Figure 5.1, shows the relationship between specific ranges of training

sequence average bit error rates and the coding rate which the communication systern

Page 77: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

should employ in order to maximize the throughput, relative to the SNR. The agent uses

the above table as the knowledge base to which it compares communication system inputs.

The details of how and when the agent actually uses this knowledge base is described in

the next section,

One item conceming the training sequence bit error knowledge base needs to be

addressed. The alternative to relating the training sequence average bit error rate to the

coding rate maximizing the throughput, would be to create an S N R measuring device and

compare the SNR to the code rate throughput plot illustrated in Figure 5.1. This thesis

study does not explore this solution for two reasons. First, the construction of an SNR

measuring device would increase the complexity of the receivers compared to the

approach explored. Secondly, the SNR measuring device approach would ignore the

valuable information which is present in the normal burst's training bit sequence, Le., an

unencoded bit sequence.

5.2.2 Retransmission Knowledge Base

The second knowledge base employed by the agent pertains to the communication

system's retransmission statistics. The retransmission statistic is a very straightforward

knowledge base and essentially is used to "fine tune" the agent's decisions, as will be seen.

The use of this knowledge base also provides information about the channel quality [42]

and. thus, i~formation on the effectiveness of the coding rate currently employed by the

agent.

The exact detaiis of how the agent uses this retransmission base will be highlighted in

greater detail in the next section. However, the agent uses a retransmission coefficient (R) ,

which it calculates, to compare against the retransmission base. The retransmission

coefficient, sometimes referred to as the transmission coefficient, is defined as:

Page 78: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

In the above equation, TotalposAcK de fines the total number of positive1 y acknowledged

data packets over an observation period. Totalpack,, represents the total number of data

packets transmi tted over the same observation period; this value represents the aggregate

number of the negatively and positively acknowledged data packets.

The retransmission base is a defined scale region, ranging from O to 1, which the

retransmission coefficient (R) is compared against. This defined scale consists of three

regions. as seen ir? Figure 5.2. The area between O and RLow represents the region which

signifies that the current coding rate is not powerful enough, Le., there is a low number of

positive acknowledgments per the total number of data packets transmitted. A

retransmission coefficient value within this region signifies that the agent should increase

the coding power imparted ont0 the data packet; therefore, the code rate needs to be

decreased. The region between RLow and RHigh represents a state where the

communication is operating at an acceptable coding rate and no code rate change needs to

be performed. Finally, the area between RHish and 1 represents the region where the

communication is operating at a code rate which is too powerful for the current channel

quality, i-e., there is a large number of positive acknowledgments per the total number of

data packets sent. For this third region, the agent is encouraged to increase the coding rate

in order to possibly realize a potentially higher throughput, given that less data packet

copies will be sent and devoted to the error-coding scheme. The values for RLow and RHish

are user defined values, therefore, the user must deterrnine what is a weak, acceptable or

powerful code rate as seen in Figure 5.2. Regions O-to-RLOw and RHieh-'0-1 are not

necessarily of the same size.

Page 79: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Figure 5.2: The retransmission base scale region.

This retransmission knowledge base is, to a degree, coupled to the first knowledge base

presented. If a non-optimal coding rate is utilized in the system, the first knowledge base

rules will suggest. to the agent, that the number of packets to transmit should be different

from that which the system is currently using. Whereas, for the second knowledge base

rules. the agent will observe a retransmission metric value which will be either in the

regions of O-to-RLo, or RHigh-to-l, indicating that a change in the coding rate should be

made. From the above discussion we see that the second knowledge base provides

information to the agent that the coding rate currently used is inefficient; however, this

knowledge base does not offer a suggestion as to what this coding rate should be. It will

be seen in the next section that this retransmission base stabilizes and "fine tunes" the

agent's decision making process in conjunction with the suggestions from the training

sequence bit error knowledge base.

The SPW implementation of the two knowledge bases is quite straightforward. Both the

training sequence average bit error knowledge base and the retransmission knowledge

base are implemented as finite state machine (FSM) entities. The agent provides pre-

processed input to these knowledge-based state machines, and the FSM's output values

correspond to the d e s outlined above for each knowledge base. The FSM pertaining to

the training sequence average bit error knowledge base provides a number corresponding

Page 80: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

to the number of data packet copies that should be transmitted according to the agent's

input. Whereas, for the agent's input stimutus, the retransmission know ledge base's FSM

will output one of three values, -1, +1, or O, denoting that the coding rate requires to be

decreased, increased, or does not need to be changed, respectively.

5.3 Agent Integration and Implementation in SPW

5.3.1 Agent Integration

The goal of the agent is to maximize the communication system's throughput, given a

measured channel quality, while trying to minimize the number of data packet copies to

transmit. The two knowledge bases, described earlier, are employed to aid the agent in

achieving this formidable goal. With these knowledge bases and a time varying channel,

the agent's constmct really centers on performing two tasks, which comprise the rule

scheduling algorithm controlling the agent. First, the agent must know when to use the

information provided by the knowledge bases, and, secondly, the agent must know which

knowledge base to draw its actions from. This section is devoted to addressing the

integration of the agent within the communication system, the description of the rule

scheduling algorithm, and the implementation of the agent within the SPW environment.

Before presenting the rule scheduling details as to when and which knowledge base to

employ, the placement of the agent within the communication system needs to be

addressed. Figure 5.3 illustrates the general interactions between the agent entities and the

rest of a typical communication model. This particular figure highlights the situation

where the base station is sending data to the mobile station. In this case, the agent at the

receiving end estimates the channel quality and the agent at the transmitting side

coordinates the number of copies of each data packet to send. It is observed that the

internal statistics which the agent maintains are derived from the GSM decoding process.

The agent requires the retransmission information, training sequence bit error information,

and access to the two knowledge bases employed in this thesis. The agent provides these

knowledge bases with the appropriate internal statistic metrics, and the knowledge bases

respond with the defined output previously described. Through the interactions of the

Page 81: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

agent and knowledge bases, the number of data packet copies to be transmitted is relayed

to the base station's agent via the return channel.

Base Station I Channel I Mobile Node

- - = Return Link

I

I I I 1 Agent

I I - - - - - a

I In ternal I S tatistics

Figure 5.3: Agent integrated into a communication system.

Base Station's Agent

In order for the agent to efficiently use the two knowledge bases available, the agent must

determine the transmission state of data packets. Data packet transmission can be in either

of two States: 1 ) the start of data packet transmission or 2) in the state whereby data

transmission h a been in effect for a relatively long duration, generally, a time duration

equal to a couple of round trip channel penods. Depending on the transmission state, the

agent will wait different time lengths before considering input from a knowledge base.

The time duration waited after the start of data packet transmission is veïy short. During

this short time duration the agent is trying to match the coding rate with the current

channel quality. It is during this period that the communication system is only

transmitting one copy of a data packet, a number that is defined by the system and not by

the agent. If the data packet transmission has been occumng for a time duration of a

couple of round trip channe! periods, the number of data packet copies transmitted has

I I I Ki3 2

I I

I I

Data1 , I I I , WireIess I

Data GSM Coding System, Medium I ) GSM Decoding Systeni

I To I I User I I a a KB = Knowiedge Base

Page 82: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

already been determined by the agent. It is during this period that the agent will wait at

least one and a hdf channel round trip delay periods before considering changing the

number of transmitted data packet copies. This waiting period is substantially longer than

that employed when data packet transmission first commences and is used to allow the

communication system time to apply the new coding rate. This time period allows the

agent to develop statistics on the channel quality and on how the new coding rate is

performing in delivering data to the receiver. After this time period has past, the agent is

free to change the number of data packet copies sent by consulting the knowledge bases.

This discussion has dealt with the issue of when the agent will consult the knowledge

bases. We now present a high level discussion concerning how the agent determines

which knowledge base to accept input from, with a more detailed explanation of the

interactions between the two knowledge bases and the agent found in the next section.

When an agent realizes that it should accept information from a knowledge base it must

decide which knowledge base to consult and follow, a process defining the rule scheduling

algorithm to be followed. The two knowledge bases employed in this thesis do have a

specific hierarchical order. The agent will check of the number of data packet copies

suggested through the training sequence average bit error knowledge base before it

consults the retransmission statistic knowledge base. The agent maintains a training

sequence bit error statistic, averaged over a number of normal bursts as previously

described, which will be used as an input to the training sequence knowledge base.

Through this input stimulus, the training sequence knowledge base provides the agent with

an output value, P,, denoting the number a data packet copies the transmitter should be

sending, in order to achieve the greatest throughput given the channel quality observed. It

is through the training sequence knowledge base that the agent is allowed to make

dramatic changes in the number of data packet copies to be sent. For exampie, the channel

may be in the state whereby the transrnitter has just commenced data packet transmission,

where one copy of each data packet is being sent, and the agent recognizes that the

channel is of a very poor quality. The training bit sequence knowledge base might suggest

that four copies of a data packet should be transmitted, in which case, the communication

system's transmitted number of data packet copies will change from the system's default

Page 83: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

of one to four!

Although the training sequence knowledge base may suggest to the agent that dramatic

changes in the communication systern's coding rate are required, the retransmission

statistic knowledge base plays ;ui important role in either agreeing with the

aforementioned change suggestion or mnking change suggestions itself. In the former

functional role, the retransmission statistic knowledge base is checked to confirm that the

communication system should undergo a change in the number of data packet copies sent.

The retransmission statistic is employed, in this case, to prevent the system from

oscillating between two adjacent coding rates. The agent does not accept a number of data

packet copies change if the retransmission statistic, RAve, defined in the previous section,

falls in the middle region of the retransmission statistic knowledge base, indicating that the

communication system is operating with an acceptable coding rate. However, if the

training sequence does not suggest a change in the number of data packet copies compared

to the number the communication system is currently using. then the retransmission

statistic knowledge base will be referenced such that the number of copies sent may be

'fine tuned.' This particular function of the knowledge base is very similar to the adaptive

coding scheme employed in [42]. If the agent's parameter RA"=, falls within the outer

regions of the retransmission scale, Figure 5.2, for a certain period of time, then the

retransmission statistic base will suggest that the transrnitted nurnber of data packet copies

should be either increased or decreased in order to realize a lower or greater coding rate,

respectively. If the agent follows the suggestion this base provides. the agent will only

change the number of data packet copies sent by one according to the suggestion. This

effectively changes the communication systern's coding rate between adjacent code rates

( e . 112 to/from 1/4, etc.). This particular 'fine tuning' functionality is useful when the

channel quality is in such a state that it falls very close to the border of a coding rate

transition, as illustrated in Figure 5.1, and the training bit sequence knowledge base

suggests the less optimal coding rate of the two possible code rates. The agent rnay

experience this type of situation due to the fact that the coding rate transitions are created

from an averaging process, and this calculation may possess some error. The

retransmission statistic knowledge base will recognize this from the agent's calculated

Page 84: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

retransmission variable, RAve, and will present this information to the agent.

5.3.2 SPW Implementation of the Software Agent

The agent implementation within the SPW environment will be discussed. The

knowledge bases previously described will be employed by the agent entity in order to

help determine the number of copies of a particular data packet that should be transmitted.

There are two main design constructs comprising the agent entity. The agent must possess

the necessary resources to maintain the training sequence average bit error and the

retransmission statistics, the interna1 statistic variables which are used as input stimulus to

the knowledge bases. The agent construct must also attend to the implementation of the

nile scheduling algorithm, which coordinates the agent's interactions with the available

knowledge bases. The aforementioned design issues will be addressed, and any design

constraints of the SPW iniplementation of the agent will be presented.

The agent entity is constructed using SPW's finite state machine package. This seems

appropriate, since the agent's rule scheduling algorithm is easily implemented as a state

machine and the interna1 statistic variables may be stored in an array format from state to

state. However, there is a constraint associated with one of the agent's intemal statistic

variables w hich arises from this design approach. Each intemal statistic variable is stored

in array format with ten elements each. This array size represents ten data packets for the

retransmission statistic, as this statistic records the acknowledgment of each decoded data

packet. However, the training sequence average bit error statistic records the number of

bits observed in error over four normal bursts training sequences for each element of the

array. This statistic is then realized by averaging over every element in the array, actually

over forty normal burst training sequences. This occurs due to the fact that this statistic is

recorded and calculated according to the sampling adhering to the data packet

(information bits plus CRC bits) decoding process and not to the frequency of the normal

burst transmission.

Page 85: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

The communication system employed is the GSM model, as described in the Chapter 3,

combined with the SPW implementations described in Chapter 4. The communication

mode1 used to integrate the agent into the GSM standard will always commence the

simulation process by sending one copy of a data packet until the agent advises otherwise.

Therefore, al1 simulations will commence adhering to the GSM standard, by employing a

1/2 code rate convoIutional coding scheme. The acknowfedgment procedure,

retransmission process, and the necessary code combining functionality used in the

communication model will operate as described in the previous chapter.

The agent's FSM flow diagrams, integrating both the rule scheduling algorithm and the

interna1 statistic variables, are shown in Figures 5.4 and Figure 5.5. These figures

represent the employed FSM flow diagrams for the situations when the data packet

transmission commences and for when the system is in the state whereby data

transmission has been in effect for a relatively long duration, respectively. A description

of each FSM fiow diagram follows.

Initial data filling of the agent's training bit error and retransmission array statistics occurs

as soon as the normal bursts and data packets are received and decoded, as shown in

Figure 5.4. The retransmission array records al1 of the acknowledgments, whether they

are negative or positive, and the training bit array records al1 of the bit errors observed in a

normal burst's training bit sequence. The average for both of these arnys, over al1 of the

indices. is computed. The retransmission array average is denoted as RAvc and the training

bit array average is used to define Pt, a value used to define the number of copies which

should be sent according to the errors observed in the training sequence. The algorithm

requires that both arrays, each ten data elements in size, must be initialized before the

agent can determine the number of copies of a data packet required for the channel. After

the initial knowledge bases have been data filled, the agent is allowed to detennine the

number of copies that should be sent. This value pertaining to the number of sent copies is

subjected to two criteria. First, the Pt value is compared to the current number of data

packets being sent on the channel, the initial value of data packet copies transmitted is one.

Page 86: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

If these two values differ then the agent infoms the transmitter to change the number of

sent copies to be equal to P,. However, if the Pt value equals unity, then the agent reviews

the retransmission statistics. If the retransmission statistics show that a large number of

data packets are k ing retransmitted, such that RAvc is less than RLow then the agent will

increase the number of transmitted copies by one; thus, after initialization, this translates

to two copies of a data packet k ing transmitted. Immediately after initialization, it is

useless to check to see if RAve is greater than RHish. If this check proves to be correct, then

it would be appropriate for the agent to use a higher rate system; this could be achieved by

decreasing the number of transmitted copies by one. Recall, the system initially

commences by transmitting one data packet over the channel, thus, the system is already at

the maximum code rate and the number of transmitted copies cannot be further reduced.

The agent then moves to the second state.

Page 87: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

S m receiving n o d bursts and chta packets. Commence &ta Ming

knowledgr bases bascd on the acknowledgment sute of the &ta packet.

FiIl in the Training bit m y with the nurnbcr of bits observed in e m r fmrn the rcceived normal bursts. I

1

For boih ihe r r m m i s s i o n and Training bit m y . avcngc over al1 of ihc indices. R e m m i s s i o n

Dctermine the potential number of pxket copies. P,. from the average BER obscrvrd for the Training srquenccs.

Change number of packct copies Yes according to the Rh, rulcs.

Go io the second sute.

Change number of packet copies Y ~ s Does P, diffrr frorn the according to the P, value. number of packet copies -

Yes

Figure 5.4: Flow diagram of the first state of the agent.

As soon as the agent decides on the number of copies the transmitter is to send. after the

first 10 data packets have been received. the agent enters into the second state. for which

Page 88: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

the flow diagram is shown in Figure 5.5. The second state outlines the mles the agent shall

follow and obey, when using its fully data filled knowledge bases, in order to attempt to

rnaximize the channel throughput. As previously outlined, the retransmission and training

bit arrays are averaged over al1 indices. The resulting retransmission average is denoted as

RAve, and the agent uses the training bit average to determine the number of copies of a

packet which should be sent across the channel. At this point, the agent must check to see

if the last request for a change in the number of data packet copies was greater than one

and a half round trips beforehand. This forced waiting allows time for the system to work

at the new number of requested data packet copies and to data fil1 the knowledge bases

with this new packet parameter. If the duration does not exceed this one and a half round

trip deIay, the agent continues in its collection and averaging of the knowledge bases.

However, after this waiting duration the agent will then determine if the number of copies

suggested by P, differs from the number of copies of a packet already k ing sent by the

transmitter. If this knowledge base suggests that the number of transmitted copies of a

packet does need to be changed, then the agent consults the retransmission statistics. If the

retransmission statistic, RAve, is either below the preset threshold, RLow or is above the

preset threshold, RHigh, then the agent will allow the number of copies of a packet to be

changed according to the Pt value. The agent conveys this number to the transmitter via

the return channel. However, if the suggested value stated from the training bit averaging

sequence does not differ from the current nurnber of copies being sent of a data packer,

then the agent will consult the retransmission statistic. The RAve value is compared

against the RLow and RHish thresholds. This retransmission observation is perfonned to

fine tune the system, as previously explained in this section. If the RAvc value is below

RLow or above RHigh, then the agent will request that the transmitter increase or decrease,

respectivcly, the number of copies of a data packet to be sent. A request in the change in

the number of transmitted copies, realized either by the retransmission statistic or the

training bit sequence, will reset the counter responsible for ensuring that the new nurnber

of data packet copies is applied for a one and a half round trip duration. However, if the

retransmission criteria is not met, then the agent does not request that the transmitter

modify the number of copies sent of a particular data packet.

Page 89: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Fil1 in the retmsmission array From previous sate. basrd on the acknowledgmcnt

smte of the dam packet.

FiIl in the Training bit -y with the nurnbcr of bits observed in e m r from ihe rcccivcd normal burst-

For both the rrrransmission and Training bit m y . avcnge ovcr al1 of thc indices. Remnsmission rivenge is drnowd as RA,

numkr of pûcket copia. P,. from the average BER observrd for the Tmining xquenccs.

4 No

sincc 1s.t code fate

O Change number of pricket cop ia

according to Ihs P, vdue.

4 Yes

Y ~ s Does P, diffrr frorn the numbcr of packct copies

currcnily k i n g sent?

Change numbcr of packct copies 4 ' according to the RAvc niles.

Figure 5.5: Flow diagram of the second state of the agent.

5.4 Conclusion This chapter commenced with providing the definition of an agent. An agent is an

Page 90: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

autonomous entity which possesses some form of intelligence or knowledge base, in order

to mode1 the decision-making skills of an expert pertaining to a change in the state of a

specific task or function. The role of an agent may be to distance or buffer a human k ing

from an arduous, mundane, or even complex tirne-sensitive task. From the definition of an

agent and the reasoning for employing an agent, the necessary components employed by

an agent were then outlined.

The necessary components required by agents are knowledge bases. Knowledge bases, as

described, rire composed of a set of rules which are used to dearly define the decision-

making processes to be followed or emulated for a specific task or application. When a

change in the agent's observable environment is detected, the agent uses its knowledge

bases in order to provide guidance pertaining to determining the appropriate reaction

measures to take. The agent in this thesis employs two knowledge bases, the training

sequence bit error base and the retransmission base. Both knowledge bases were

described in detail as to the information they contain, as well as the details of their actual

SPW implementations.

The agent must possess some form of logic in order to efficiently use the knowledge bases

at the its disposal. This Iogic, as described, may be achieved through the use of a rule

scheduling process. As explained, the rule scheduling algorithm is a process which

defines which mles of a knowledge base will be followed and when they will be executed.

This mie scheduling process was detailed through the definition and explanation of the

hierarchical order of the two knowledge bases employed by the agent. The SPW

implementation of the agent used in this thesis was also detailed.

The goal of the agent described in this chapter is to basically maximize the channel

throughput will trying to minirnize the number of transmitted data packet copies.

Simulation resuits for the agent employing the defined knowledge bases wiil be presented

in Chapter 6 .

Page 91: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Chapter 6: Simulations

6.1 Introduction

This chapter presents the simulation results obtained for the communication models

constructed in this thesis. The basic mode1 used is the GSM mode1 provided with the

SPW software package - SPW GSM System-Level Verification product [26]. The data

packet buffer memory, error-control coding protocols, and code combining techniques

were implemented and integrated into this GSM cornpliant software model. The final

implementation consisted of the agent entity, which resides on the modified GSM model.

The simulation section highlights scenarios verifying each of the aforementioned sub-

systems and entities implemented and concludes with a throughput anaiysis.

Figure 6.1 illustrates the simulated mode1 incorporating the GSM system, the integrated

subsystems and the agent entity. The GSM system used in the SPW environment is shown

in the gray hatched region and consists of three parts: 1 ) the encoding/transmitting system,

2) the wireless medium definition, and 3) the receiving/decoding system. User data is

transmitted in one direction, from the base station to the mobile node, as seen in Figure

6.1. This is not an unreasonable assumption, recall [16] States that the transfer rate is not

dependent on the direction of the data transmission, as previously discussed in Chapter 2.

Buffer memory and error-control encoding protocol logic is integrated into the "GSM

Coding System," whereas, buffer rnemory, error-control decoding and code combining

Page 92: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

logic is integrated into the "GSM Decoding System" btock. The agent entities reside, as

depicted in Figure 6.1, outside of the GSM model. The exact modifications required for

the GSM Coding and Decoding Systems are described in Chapter 4, and the agent entity

construct is described in Chapter 5.

,,, Station a Channel a Mobile Node

I Agent

1 I I

; , - - - -, I Interna1

I Statistics

Station's I A I

I I

I I I

I , Wireless I Data *" GSM Coding Systerr Medium - GSM Decoding System

I lata I To - m r T--- B v se1

I I Ki3 = Knowledge Base

- - = Return Link Data Flow

= GSM System

Figure 6.1: Sample communication system, incorporating error-control protocols and

agent entities.

An important element of the simulation process involves defining the system parameters.

These parameters, ail configurable within the SPW environment, define various attributes

of the GSM models studied, such as the mobile velocity, channel model, the link carrier

frequency used, etc. A radio frequency (RF) of 900 MHz is used for the carrier frequency.

The system does not employ any interference from CO-channel (user's centered on 900

MHz) or adjacent channel (user's offset by 200 kHz) sources.

Page 93: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

The channel propagation model defined in the GSM model's wireless medium blofk,

Figure 6.1, models interference due to multipath fading and noise. The GSMFL fading

profile is used, which is the GSM Verification System's profile for a flat Rayleigh fading.

This fading profile is implemented according to the so-cailed Jakes model [26,43]. This

frequency-flat Rayleigh fading model, also known as the frequency non-selective Rayleigh

fading model, is widely accepted as an accurate model for simulating mobile radio

channels [27,43,44], such as the one explored in this thesis study.

After the fading process. complex Gaussian white noise is added to the faded signal. The

amount of complex Gaussian white noise added is specified by the SNR value (Efl,) in

dB. EIJN, is the ratio of signal energy per bit to the noise power spectral density. The

simulations performed cover an SNR range from -5 dB to 12 dB, a range required to

demonstrate the robustness of the communication models constructed to address the

probIem at hand.

The simulation process is perforrned for two mobile velocities. O k m h and 50 krnh. The

O km/h mobile velocity represents a static channel. This mobile velocity is used to

compare against the mobile velocity of 50 kmh. this value being one of the standard

velocity metrics used in mobile communication simulation testing [ 18,451. The 50 km/h

mobile velocity, dong with the W carrier frequency, provides for a Doppler frequency

experienced in the channel fading profile previously described.

The simulation process transmits 1200 data packets over a 24 second observation period.

The 1200 data packets translate into the equivalent of 268800 bits (224*1200) or 33.6

Kbytes of information and 19200 bits ( 16* 1200) or 2.4 Kbytes of CRC coding. The data

packets go through a 1/2 rate convolutional coder to yield 576000 bits. These bits are then

subjected to punctured coding resulting in 547200 bits k ing transmitted in the GSM

normal bursts. This is in agreement with the calculations based on the basic data rate of a

GSM multiframe (22800 bits/sec) and the time duration of data transmission (24 seconds),

22800 bits/sec * 24 seconds = 547200 bits. The transmission of 72 Kbytes worth of data

(information + CRC bits) packets within 24 seconds is used in al1 of the throughput

Page 94: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

simulations.

For the simulation process, there are a number of important assumptions made with the

models. The assumptions have k e n presented in Chapter 4 and are presented here once

again for completeness. One assumption is that the transmitter and receiver are

synchronized with each other in time. Therefore, data packet numbering is correctly

tracked by both the transmitter and receiver. The second assumption is that packet

acknowledgment will always be received, thus, time out periods will not be needed.

Finally, the feed-back channel will be considered noise-less or error-free, a very common

assumption in such mode1 simulations [8,10- 121.

The primary metric for this performance study is throughput. Throughput is calculated by the following equation:

Throirghput

where:

TotalDclivercd = the total aggregate number of data bits composing ail of the itniquely correct data packets received, and

Totals,,, = the total aggregate number of data bits transmittecl in order to achieve the T ~ t a l ~ ~ ~ ~ , , ~ value. This parameter incorporates the convolutional coding rate value for GSM ( V2) .

The throughput calculation, of Equation 6.1, is for the entire observation period. The

throughput caIculation may be calculated on the packet level, since if a data packet is

received incorrectly the entire data packet is disregarded and, thus, so are the data bits

composing that packet.

Note, that the value for GSM convolutiona1 coding really should not be equal to 1/2, due

to the fact that a data packet contains an error detection sequence (CRC bits), and the

GSM system employs a puncture coding scheme after the convolutional encoding. In this

study, however, we assume that the throughput difference caused by each of these will

Page 95: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

cancel each other out [12]. When considered separately, the 16 CRC bits would actually

decrease the throughput by 6.66%, and, the punctured coding would increase the

throughput by 5.26%.

A very important note concerning the calculation for throughput is required. The

throughput calculation is affected by the number of data packets sent, regardless if they are

needed for the decoding process or not. For example, if four copies of a data packet are

sent, and the data packet has been correctly decoded after the third packet then the fourth

packet is essentially not requircd. However, the fourth data packet was sent and musc be

included in the throughput analysis calculations.

This chapter begins by introducing the Bit-Error-Rate (BER) simulations perfomed on a

number of GSM system variants for the various availabk channels. The next section

presents simulation results verifying the implemented CRC and SR-ARQ protocols. A

code combining simulation section foIlows, and provides results verifying the employed

code combining technique and introduces the various types of code combining used in this

study. The agent's decision process and its interactions with the two knowledge bases are

simulated and explained. The chupter concludes wi th the presentation and discussion of

the throughput simulation results.

6.2 Bit Error Rate (BER) Simulations

This section presents the Bit-Error-Rate (BER) statistics encountered in the

communication models simulated. The BER is caiculated by dividing the number of

encountered bit errors by the total number of data bits transmitted. This BER analysis is

performed on the standard GSM system for mobile velocities of O and 50 k m . The GSM

system employing the individual code combined rates are also subjected to the BER

analysis; however, only for a mobile velocity of 50 kx-n/h.

A GSM system employing an individual code combined rate is described in Section 6.4.

Page 96: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Figure 6.2 shows the GSM system BER results for mobile velocities of O km/h and 50 km/

h. These plots were obtained from a standard GSM system employing a convoiutional

coding rate of 1/2. From this plot it is seen, as expected, that the GSM system with a

velocity of O km/h possesses a better BER compared to the system with a velocity of 50

km/h. This obvious performance difference between the two velocities is attributed to the

Doppler effect and, consequently, the flat fading experienced by the GSM system

subjected to the 50 km/h velocity. From Figure 6.2, both plots are basically equivalent up

to the -3 dB SNR value and as the SNR value increases, the slopes change at different rates

for the two plots.

GSM Systcm lop(BER1 vs. SNR plot; 9.6kbps. for O lunni and 50 km/h rnoJc1.s

O 8 i I r I I 1 ï

-4.51 1 1 1 I 1 I 1 1

-6 4 -2 O 2 4 6 a 10 12 SNR (dB)

Figure 6.2: Standard GSM system BER plots, for O km/h and 50km/h mobile velocities. GSM system 1/2 convolutional code, constraint length K = 5.

Three individual rate code combined models (1/4, 116 and 118) are realizable with the code

combining model constructed in the SPW environment. Figure 6.3 presents the BER

characteristics for al1 of these availabie individual code combined rates, for a mobile

velocity of 50 kmh. The 1/2 rate BER plot is also included on the aforementioned figure

Page 97: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

so that it may be compared against the other individual code rates; however, the 1/2 code

rate is not derived from the code combining technique due to the fact that it is the primitive

convolutional code rate of the GSM system. From Figure 6.3, it can be seen that a better

BER performance is realized with a lower code rate. The code combined 118 rate offers

the best BER performance curve over the other code combined rates, and rightfully so,

since the bit redundancy is greatest for the 1/8 code combined rate. This increased bit

redundancy (lower code rate) translates into better bit protection and, thus, a better BER

performance over al1 of the plotted SNR range.

log(BER) vs SNR. Code Carnbined rnodels. for 9.6kbps at H)Kmmr O L 1 I I 1 I 1 1

SNR (dB)

Figure 6.3: BER for each individual code combined rate models, and for the standard GSM system, for 50 krnh. GSM systern 1/2 convolutional code, constraint length K = 5.

The BER plots for al1 of the code combined rates at a mobile velocity of O krnh were not

performed due to the simulation resources constraints, especially for the 1/8 code

combined rate. To obtain accurate BER results at the low SNR range for the 1/8 code

combined rate, at O km/h, would require an unacceptable amount of simulation time. Such

a simulation could be performed with an acceptable simulation time if a mode1 proposed

Page 98: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

in [46] were to be implemented. However, the BER of the 1/23 code combined model is not

the main focus of this study and will not be pursued.

6.3 CRC and ARQ Simulations

The purpose of this section is to validate the CRC model and SR-ARQ protocol

implemented in the SPW environment. This verification process will be performed on a

model employing a code combining method, enabling one to follow the SR-ARQ protocol

more easily. The code combining model will initially transmit two copies of each data

packet and will transmit three copies of each data packet requiring retransmission. The

code combining model will be verified and analyzed in the next section.

Recall from Chapter 4, that a 16-bit CRC sequence is recalculated for each received data

packet and is then compared (bit-wise XOR'd) with the sent 16-bit CRC sequence. The

number of 1 's from this XOR'd process are counted and represent the CRC value of a data

packet. A CRC value greater than zero indicates that the received data packet contains

errors, whereas, a CRC value of zero indicatts that the data packet is considered error-free.

The ARQ protocol uses these CRC values to request the retransmission of al1 data packets

received in error and to determine if data packets received error-free need to be buffered,

as outlined in the ARQ protocol section in Chapter 4.

Figure 6.4 A), B), and C) illustrate a few plots highlighting the number of data packet

copies transrnitted, the CRC values, and the data packet numbering sequence, respectively,

for the aforementioned model. As seen in Figure 6.4 A), the system initialIy sends two

copies of each data packet. The numbering of the received data packets resembles a

staircase form, Figure 6.4 B), demonstrating that two copies of the first packet amve,

followed by two copies of the second packet, and so forth. Figure 6.4 C) presents the CRC

values for each data packet and combined data packet sequences. Figure 6.4 C) highlights

a case where a CRC value of zero has occurred upon the reception of the second copy of

Page 99: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

the second data packet received, indicating that this packet was received error-free.

Number o f data packet copies t m m i t t e d . observed rit receiver.

Y - a i s = Number of dam packct copies X-ruis = rime

#Pts=1200 Point # 18 Value = 2

Data packet numbering sequence .

# Pts = f 200 Point # 18

B) Y-mis = Data packct numbering sequence. X-mis = timc

CRC output for received data packets.

# P i s = 1200 Point # 18

Y-axis = CRC values X-axis = rime

Figure 6.4: CRC and ARQ analysis plots.

Page 100: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

The circle on Figure 6.4 B) highlights a number of items. First, one clearly observes a

drastic change in the received data packet numbering sequence. The numbering sequence

steadily increases to a value of sixteen and then drops to a value of one. This change in the

numbering sequence is due to the transmitter attending to a negative acknowledgment of

the first data packet initially sent. The delay between the time the first data packet is

received for the first time and the time the first data packet is received for the second time

is equivalent to the round trip delay of the channel, 30 data packet delay. The

aforementioned circle also highlights the fact that three copies of the first data packet are

being received. This is also shown in Figure 6.4 A), where the number of received data

packet copies increases from two to three. This demonstrates that the SR-ARQ protocol

has recognized that it will be transmitting a negatively acknowledged data packet, and

with the model employed, will transmit three copies of that particular data packet. Finally,

the numbering in the circled region of Figure 6.4 B) 'jumps' from one to three. Recail that

the second data packet was received error-free on its initial transmission and, therefore,

does not need to be transmitted again; however, data packet one and three were received

in error and both need to be retransmitted. The data packet numbering changes, combined

with the number of received data packet copies presented in the circle in Figure 6.4 B)

confirm that the SR-ARQ protocol is operating as per the specifications defined in Chapter

4.

The throughput of a standard GSM system employing this CRC and SR-ARQ strategy

will be explored in Section 6.6.

6.4 Code Combining

According to theory [12], the code combining technique will not realize any coding gain

over the natural code rate k ing attempted. Therefore, the code combined technique

employed in this thesis should be compared to a system which naturally uses the same

specific code rate for both the encoding and decoding processes. The GSM TCW

FS2.4Kbps model utilizes a 1/6 convolutional coder; therefore, this system model would

Page 101: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

be a good candidate to compare against the 116 code combined model. A problem does,

however, exist in using this modet. The generating polynomial of the convolutional coder

used in the GSM model (TCWFS2.4Kbps) is such that it is the optimal generating

polynomial for the 116 rate system and does not match the polynomial employed in the

receiver of the 116 code combined model. The GSM TCHA32.4Kbps model's generating

polynomials are modified such that they match the polynomial employed in the receiver of

the 1/6 code combined model, thereby providing a more accurate comparison analysis.

The modified GSM TCH/FS2.4Kbps model is denoted the GSMModitied TCH/FS2.4Kbps

mode 1 .

The BER characteristics of the two systems are presented below, in Figure 6.5. It can be

seen that the code combining technique does closely match that of the GSMModified TCW

FS2.4Kbps model for both the O km/h and 50 km/h mobile velocities. The natural 1/6

code rate, employed in the GSMModified TCWFS24Kbps model, does have a slightly

better performance. The main point observed is that a coding gain is not realized by the II

6 code combining implementation, as expected from the theory, over the model employing

a natural 1/6 rate.

Page 102: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

- - - - -

@(BER) vs SNR plot for m o d i i GSM 116 rate system and Code Combining 116 rate system

SNR (dB)

Figure 6.5: Cornparison of modified GSM 1/6 rate systern with 116 rate code combined

system, log(BER) versus SNR-

Three variants of code combining models will be used in the throughput simulation

section. The first variant is known as the irzdividual code cornbined rate rnodel. The

individual code combined rate model consistently sends the same number of data packet

copies whether a packet is being sent for the first time or whether it is being retransmitted.

Thus, a code combined model simulates a model operating under a single coding rate. For

exarnple, a 1/8 individual code combined GSM model is realized by transmitting four

copies of each data packet for an entire simulation period. The receiver will use ail of the

four copies and decode with a Viterbi decoder of a rate of RGSM14 = (1/2)/4 = 118, where

RGsM = GSM1s convolutional coding rate.

The set rate code cornbined model is the second variant of the code combining model.

This model is explored due to the interest of previous studies performed with similar

Page 103: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

models [S, 10'1 11. The set rate code combined model basically defines the number of data

packet copies to send on the first transmission attempt, first retransmission attempt, second

retransmission attempt, etc., for the entire simulation duration. The term 'set' is used to

describe the definition of the number of data packets to send relative to the transmission

state of the data packet. To follow will be a Iittle background on this type of code

combining model.

In [8], Weldon introduced an interesting ARQ strategy, highlighted in Chapter 2, which

was extended into the code combining domain, particularly in [IO, 1 1 j. The ARQ strategy

is 'Scheme 2' outlined in [IO] and [! I l . 'Scheme 2' is a modified version of Weldon's

ARQ strategy, whereby ail the copies of a specific data packet sent at a particular

transmission attempt are combined at the receiver and are then decoded.

Set rate code combining, in this study, closely parallels 'Scheme 2' previously described.

However. the integer value used in this study wiIl be q = 4, unlike [10,1 I ] where q = 1 ; the

value 'q' was first presented in Chapter 2. Therefore, there are essentially five

transmission attempt levels, each level requiring a definition of the number of copies to

transmit for each data packet, yielding values for no, n,, n2, n3 and n4. This study also

applies the same five 'n' values for the whole simulation duration across the entire SNR

range. In contrat, in [10,11] the study analyzed a system for q = 1, and simulated a

system which ernpIoyed optimal 'n' values dependent on the SNR value simulated. The

optimal 'n' values are the pair of numbers (no, n l ) corresponding to the number of data

packet, copies transmitted on the first and second transmission atternpts, respectively,

obtaining the greatest throughput for a specific SNR value.

The set rate code combining model is defined with the following notation: (no, "1, "2, "3,

n4). This notation means, as related to the Weldon model presented in Chapter 2, that no

copies of a data packet are sent on the first transmission attempt for this packet. If the data

packet is negatively acknowledged, then it is retransmitted again, although, this time, n l

copies of this data packet are transmitted. Thus, n2, n3 and nq represent the number of

Page 104: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

copies transmitted for a data packet if this particular data packet is negatively

acknowledged two, three, or four times, respectively. If a data packet is negatively

acknowledged more than four times, then n4 copies of this data packet wilI be transmitted

for al1 subsequent retransmissions.

The third type of code combining model implemented is the variable rate code combined

rnodel, and is a very important model in this thesis. This model, unlike the previous two,

rnay dynarnically change the number of data packet copies to transmit, regardless of the

transmission state of a data packet. In this study, this type of code combining mode1

requires an agent entity to decide on the number of data packet copies to transmit. The

agent decides on this number based upon suggestions from knowledge bases, as described

in Chapter 5 .

6.5 Agent Simulations

This section presents the agent model simulations, verifying that the agent is constructed

and operating as per the implementation details outlined in Chapter 5. The agent is an

entity that dynamically determines the number of data packet copies which should be

transmitted, based on information from two knowledge bases. The agent is integrated

ont0 a GSM system employing a code combining scheme. Therefore, the agent model is

a variable rate code combined GSM system, as described in the previous section.

Figure 6.6 and 6.7, highlight the agent decisions, as well as, the information presented to

the agent from the two knowledge bases, for a model sirnulating a mobile velocity of 50

krn/h at an SNR value of 2 dB. From Table 5.1 and Figure 5.1, there exists a boundary

between two optimal rate regions at an SNR of 2 dB with a mobile velocity of 50 km/h.

This boundary presents ideal conditions to observe the agent's decision process, and how

it is influenced by the two knowledge bases' dynamic States.

Page 105: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Transmitteà number of packet copies.

#Pts= 1 2 0 Point # 24 Value = 1

A) Y-axis = Number of iransrnitied data packeis X-axis = Timc

Training Bit soggestad packet copiw. Pt.

B ) Y-axis = Training sequence bit error knowledge base suggestion. X-axis = Time

# P t s = 1200 Point # 24 Value = 3

Figure 6.6: (A) Number of transmitted data packet copies; (B),(C) agent knowledge base

Retransmission Average,

il i4+v I

-1

# P t s = 1 2 0 0 Point # 24 Value = O

C ) Y-axis = Rctnnsmission avcnge value. X-axis = Tirne

Page 106: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

information.

The agent wiil always commence a simulation process by transmitting one data packet

copy. The number of data packet copies to transmit is evaluated after the knowledge bases

have been subjected to the arriva1 of ten data packet copies. In Figure 6.6, this evaluation

period occurs at time point number 24. At this point in time, the training sequence bit

error knowledge base, Figure 6.6 (B), suggests that three data packets copies should be

transmi tted. The retransmission knowledge base, Figure 6.6 (C), presents the agent with

the fact that zero data packets have been received correctly. With this information, the

agent accepts the knowledge bases' suggestions. Figure 6.6 (A). shows that 15 units after

the marked point, point number 24, the transmitter sends three data packet copies. The 15

unit delays represent the delay experienced on the return channel.

The objective of the agent is to successfully deliver the most number of unique data

packets to the receiver using the least number of copies for each data packet. This

objective is aided by the retransmission knowledge base. In Figure 6.7. the role of the

retransmission base in decreasing the number of transmitted data packet copies is

observed. At point number 163, it is seen that the number of data packet copies suggested

by the training sequence bit error knowledge base is identical to the number currently

being transmitted. At this point, the retransmission value is greater than the upper value

(RHigh), 0.8: defined for the system. This information, combined with the fact that

sufficient time has elapsed since the system last changed the number of transmitted data

packet copies, results in the agent accepting the information presented and decreasing the

nurnber of data packet copies transmi tted by one. Therefore, the retransmission

knowledge base provides the fine tuning capability of the agent model, a capability which

is valuable near boundaries between maximizing code rate regions.

Page 107: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Tronsmitted niarriiPr of packet copies.

#Pts=1200 Point # 163 Value = 3

A) Y-axis = Nurnber of transrnitted data packets X-axis = Tirnc

Training B i t sugg~ted packat copias. Pt.

#Pts=1200 Point # 163 Value = 3

B) Y - a i s = Training sequence bit error knowIedge base suggestion. X-rixis = ï ime

Retransmission Average,

C) Y-axis = Rctransrnission average value. X-mis = Tirne

#Pts=IZOO Point # 163 Value = 0.9

Figure 6.7: (A) Number of transmitted data packet copies; (B),(C) agent knowledge base

Page 108: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

in formation.

6.6 Throughput Analysis

This section presents the throughput analyses for the various GSM SPW models explored

in this study. The throughput analyses will be performed on the GSM ARQ system; the

individual code ccmbined rate models; set rate code combined models; and, finally, the

agent model. The GSM ARQ system is simply a standard GSM system, with a

convolution coding rate of 112, employing the SR-ARQ protocol, thus forming a hybrid-

ARQ protocol. The throughput characteristics for the GSM ARQ system simulated at

mobile velocities of O km/h and 50 kmlh will be presented first and are used as a

benchmark for the other throughput analyses. The subsequent analyses will be divided

into two sections. The first part will consist of the final three models simulated with a

mobile velocity of O kmh, and the second part will consist of the same three models

simulated with a mobile velocity of 50 km/h.

The throughput characteristics for the GSM ARQ system simulated with mobile velocities

of O k r n h and 50 krnh (as labeled on the figure) are presented in Figure 6.8. As with the

BER plots, the throughput simulations for a mobile velocity of O k m h outperform the

simulations with a mobile velocity of 50 k m . The O kmh simulations realize a

throughput gain in the regions of -3 dB to 12 dB, over the simulations of 50 kmlh. This

gain may be explained by the BER plots presented in Section 6.2, Figure 6.2. The BER

plots for both velocities are equal up until an SNR value of -3 dB and as the SNR

increases, the two BER curves decrease at different rates. Therefore, the channel quality

encountered in the simulation with a mobile velocity of 50 kmh is quite inferior to that

experienced in the O km/h simulations, from an SNR value greiiter than -3 dB. This

inferior channel quality will have a negative effect on the integrity of the transmitted data

packets, thus, resulting in a lower realized throughput. In order to compensate for this, the

50 km/h simulation must increase the SNR so as to achieve the same throughput values

observed for the O km/h simulations. As an example, from Figure 6.8, the 50 k m h

simulations require a SNR value of 12 dB in order to realize the maximum throughput

Page 109: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

value (0.5) of the GSM ARQ system, whereas, the O km/h simulations only require a SNR

vaiue of about 5 dB. As shown in Figure 6.2, the BER is also identical for the O km/h and

50 km/h simulations when the employed SNR value is 5 dB and 12 dB, respectively.

Generally, the SNR values for each velocity simulation trial which possesses the same

BER, will have a similar throughput value.

Throughput vs SNR plot for GSM system. for OKm/hr (AWGN) and 50 KmRir

SNR (dB)

Figure 6.8: Throughput plots for the GSM ARQ system, for the O km/h and 50 krnh

scenarios

Recafl from Chapter 3 that standard GSM systems make use of a FEC algorithm in the

form of a rate 1/2 convolutional coding. When a GSM system uses an SR-ARQ protocol a

mode1 which makes use of a hybrid-ARQ protocol is realized. With the use of such a

coding scheme the maximum throughput achievable is that of the FEC system, 1/2, of the

hybrid model (given the aforementioned assumptions) as demonstrated in Figure 6.8.

Finally, the 50 km/h simulation model in this study possessed many of the same attributes

as a simulation model employed in [42]. The throughput plot, shown in Figure 6.8, for the

50 km/h simulation cornpared very favorably to a sirnilar plot obtained from the mode1

Page 110: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

simulated in [42].

6.6.1 Mobile Velocity of O kmh

For this part of the throughput section, the achievable throughput obtained for the

individual code combined rate models, the set rate code cornbined models, and the agent

mode1 for a mobile velociry of O km/h will be presented.

Figure 6.9 presents the throughput curves for the three individual code combined rates (as

labeled on the figure), as well as rate 112 for a mobile velocity of O k m . It is observed

from Figure 6.9, that each individual code combined throughput curve reaches a

maximum value equal to the individual rate simulated. This is expected, since the

maximum throughput achievable for the individual code combined mode1 employed

occurs when al1 the received data packets are considered error-free on their first

transmission attempt. Using the definition of throughput related to data packets, the

calculated maximum throughput (T,,) for such a situation is equd to:

T m = RGSM * I # data packct copies transrnittedldata packct

- - 1 2 * # data packet copies transmitted/data packet

where RGsM isthe primitive code rate of 1/2.

Page 111: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

I SNR (dB)

Figure 6.9: Code combined, individual rates, for TCWF9.6, Okmh

From Figure 6.9, one c m observe that the 1/2 code combined rate has the greatest

throughput capability, over al1 the codes, when the SNR is above approxirnately 1.8 dB.

However, below 1.8 dB the throughput for the 1/2 rate system drops off quite quickly.

Between approximately O dB and 1.8 dB the 1/4 rate system experiences the greatest

throughput. Finally, below O dB the 1/6 rate systern realizes the greatest throughput when

compared to the 1/2 and 1/4 rate systems. However, the 1/6 rate system's throughput is

inferior to the throughput achievabie by the 1/8 rate system below approxirnately - 1.5 dB.

Figure 6.9 demonstrates that there is an SNR region for each of the individual simulated

code rates whereby they achieve a greater throughput when compared to the other

individual code rates.

The throughput curves for four sample set rate code combined models, (no, n,, n2, n3, nq)

defined in section 6.4, are presented in Figure 6.1 O, for a mobile velocity of O km/h. Each

Page 112: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

curve is compared to the GSM ARQ system's throughput performance for the same

mobile velocity. All set rate code combined throughput curves are displayed with a dotted

line, whereas, the GSM ARQ system's throughput curve is displayed with a solid line. A

description of each of these plots follows Figure 6.10.

'"1 ,./ GSM O -5 O 5 1 0 15

Y(R WJl

Figure 6.10: Throughput plot of GSM ARQ system versus set rate code combining

for O krn/h.

Figure 6.10 (A), (B), (C), (D) plots the cornparison between the ( 1,I ,2,3.3), ( 1,2,3,4,4),

(1,3,3,4,4), (2,3,3,4,4) set rate code combined systems versus the GSM ARQ systen~,

respectively. From these plots it is evident that al1 code combined models transmitting one

Page 113: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

copy of a data packet on the first attempt perform, throughput-wise, just as well as the

standard GSM ARQ system in the region equal-to or greater-than 4 dB. Figure 6.10 (A)

demonstrates that a code cornbining mode1 transmitting one copy of a data packet on the

first two transmission attempts perforrns equally well as the GSM system over a greater

SNR region, SNR values equal-to or greater-than 1 dB. As expected, a code combining

mode1 should perform as well as the GSM ARQ system over a larger SNR region when

more of the consecutive transmission attempts send only one copy of a data packet. The

standard GSM ARQ system may be represented as a code combined modei, possessing

the set rate set of ( 1 , l , l , 1 , 1).

The throughput performance of the GSM ARQ system proves to be better than the code

combined model's ihstrated in Figures 6.10 (B) and (C) in the region of 1 to 4 dB. This

performance degradation on the part of the code combined models can be explained by the

fact that the throughput is greatly affected by the number of data packet copies transmitted

after the first transmission attempt fails. These code combined models require more than

one copy of a data packet to be sent following the failure of the first transmission attempt.

Although it has been shown, when comparing the different throughput performances from

Figure 6.9, that the maximum throughput is obtained when one data packet is transmitted

or retransmitted in this SNR region.

The (1.1.2,3,3), (1,2,3,4,4) and (1,3,3,4,4) code combined models, Figure 6.10 (A), (B)

and (C), out-perform the standard GSM ARQ system below 1 dB. This is due to the

increase in the number of copies transmitted for a particular data packet when this packet

is continuously received in error. The code combined models eventually send enough data

packets to facilitate correct decoding. It is worth noting that in Figure 6.10 (C), the

(1,3,3,4.4) code combined mode1 "plateaus" in the SNR region between O and 1 dB. This

occurs since the number of sent data packet copies decreases from one to three between

the first and second/third data packet transmission attempts. For this SNR region, the

sending of three data packet copies (1/6 rate system) almost guarantees successful packet

decoding immediately, as confirmed in Figure 6.9. However, the throughput experienced

in the "plateau" region in Figure 6.10 (C) is less than that observed for the 1/6 rate systern

Page 114: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

in Figure 6.9. This may be explained by the fact that one data packet is sent on the first

transmission attempt, thus, decreasing the full throughput which would be realized for a 11

6 rate code combined system.

Figure 6.10 (D) needs to be separately explained from the other three plots, (A), (B) and

(C). This (2,3,3,4,4) code combining model begins by sending two copies of a data packet

on the first transmission attempt, therefore, the maximum possible throughput this model

will ever realize is 114; at an SNR value equal- to or greater-than 2 dB. It is over this same

SNR region that the throughput of the standard GSM ARQ model outperforms that of the

(2,3,3,4,4) code combined model. However, for SNR values less-than 2 dB, the greater

number of data packets sent for al1 transmission attempts of this code combined model

proves to realize a better throughput than the standard GSM ARQ system.

As seen in Figure 6.10, many different set rate code combined models were explored.

Many of the code cornbined models present throughput advantages over the standard

GSM ARQ system, especially at lower SNR values. However, for larger SNR values their

throughput performance is inferior to the GSM ARQ system. OnIy the ( 1,1,2,3,3) code

combined model performed better, or at the very least, as well as the standard GSM ARQ

system's, although, the actual throughput gain realized by the ( l,l,2,3,3) model is very

small.

Figure 6.1 1 presents the throughput simulation result of the agent model for a mobile

velocity of O kmh. The agent's throughput curve is plotted against the throughput

characteristics of each of the four allowable individual code rates. The agent's achievable

throughput is contained within the curve created by plotting the maximum throughput for

any SNR value, given the throughput performance of al1 individual code rates. Recall that

the agent's training bit sequence error knowledge base is defined with data obtained from

an analysis with a mobile velocity of 50 kmh. Therefore, the knowledge bases' data fiI l

values are not optimal for the O km/h mobile velocity simulation. This is evident in the

areas where boundaries exist between optimal coding rates, such as the case of O dB. At

this SNR value, it is observed that the optimal rate to be using is 1/4. However, the agent's

Page 115: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

throughput plot confirms that the 1/4 code rate is not consistently k ing employed, since

the c u v e plots fa11 below the 1/4 curve and the 1/6 curve! Even though non-optimal

knowledge base data may be used, the agent's performance is almost always better than, or

at the very least, as good as the standard GSM ARQ system's throughput.

Throughput vs SNR. Agent and IndiYidual Code Cambined rates. for 9.6kbps OKmlhr 0.5

line) -.- -

O 5 SNR (dB)

Figure 6.1 1 : Code combined, agent and individual rates, for TCH/F9.6.0Km/h

Figure 6.12 plots the agent's throughput performance against the set rate code combined

throughputs previously discussed. The solid line represents the agent's throughput curve.

The agent's throughput curve is slightly below the throughput curve of the ( 1,1,2,3,3) code

cornbined mode1 at an SNR value of 2 dB, but only marginally. Besides the 2 dB SNR

value, the agent out-performs al1 of the set code combined models simulated, even though

data used in the agent's knowledge base is derived from a 50 kmBi analysis. The agent has

the advantage of recognizing a channel state change, allowing it to take the appropriate

measures suggested by its knowledge bases, so as to act in such a manner as to enhance

channel throughput experienced by the end user. Whereas, each of the set code combined

niodels presented are non-dynamic and have certain S N R regions where they are most

Page 116: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

effective.

ThrouQiou< vs SNR. Agent madd for 9.6ûbps OKmRir.

SNR (dB1

Figure 6.12: Throughput of agent versus al1 of the main multiple packet copy code

combining.

6.6.2 Mobile Velocity of 50 km/h

Figure 6.13 presents the throughput curves for the three individual code combined rates

(as labeled on the figure), as well as the 112 rate for a mobile velocity of 50 kmh. From

Figure 6.13, one can observe that the 1/2 code combined rate has the greatest throughput

capabiiities, over al1 the codes, when the SNR is above 6 dB. However, below 6 dB the

throughput for the 112 rate system drops off quite quickly. Between approximately 2 dB

and 6 dB, the 1/4 rate system experiences the greatest throughput. Finally, below 2 dB the

1/6 rate system realizes the greatest throughput when compared to the 112 and 114 rate

systems. However, the 1/6 rate system's throughput is marginally inferior to the

throughput achievable by the 118 rate system below approximately 0.5 dB. Figure 6.13

demonstrates that there is an SNR region for each of the individuat simulated code rates

Page 117: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

for which they achieve a greater throughput compared to the other individual code rates.

The knowledge obtained from Figure 6.13 facilitates the making of a logical choice in

determining the best code rate to empIoy in order to obtain the greatest throughput, given

channel conditions. Such information is used by the training sequence bit error

knowledge base in order to heIp define the optimal code rate to be employed by the

Agent, as hightighted Chapter 5.

Throughput vs SNR. Individual Code Cornbined rates. for 9.6kbps SOKmmr

SNR (dB)

Figure 6.13: Code combined, individual rates, for TCWF9.6, 50kmIh.

The throughput curves for four sample set rate code combined models, (no, nt, n2, "3, n4)

defined in section 6.4, are presented in Figure 6.14, for a mobile veIocity of 50 krn/h.

Each curve is compared to the standard GSM ARQ system's throughput performance for

the same mobile velocity. A11 set rate code combined throughput curves are displayed

with a dotted line, whereas, the standard GSM system's throughput curve will be

displayed with a solid line. A description of each of these plots follows Figure 6.14.

Page 118: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Figure 6.14 (A), (B), (C), (D) plots the cornparison between the ( 1,1,2,3,3). ( 1,2,3.4,4).

(1,3,3,4,4), (2,3.3,4,4) set rate code combined systems versus the standard GSM ARQ

system, respectively. From these plots, it is evident that al! code combined models

transmitting one copy of a data packet on the first attempt perfom. throughput-wise, just

as well as the standard GSM ARQ system in the region equal-to or greater-than 4 dB.

Figure 6.14 (A) dernonstrates that a code combining mode1 transmitting one copy of a data

packet on the first two transmission attempts performs equally well as the GSM ARQ

Page 119: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

system over a greater SNR region, SNR values equal-to or greater-than 1 dB. As

expected, a code combining model should perform as well as the GSM ARQ system over

a larger SNR region when more of the consecutive transmission attempts send only one

copy of a data packet.

The throughput performance of the GSM ARQ system proves to be better than that of the

code combined model as illustrated in Figures 6.14 (B) and (C) for the region of 5 to 13

dB. This performance degradation on the part of the code combined models can be

explained by the fact that the throughput is greatly affected by the number of data packet

copies transmitted after the first transmission attempt fails. These code combined models

require more than one copy of a data packet to be sent following the first transmission

atternpt fails. It has been shown that the maximum throughput is obtained when one data

packet is transmittedretransmitted in this SNR region, when comparing the different

individual rate throughput performances from Figure 6.13.

The (1,1,2,3,3), (1,2,3,4,4) and (1,3,3,4,4) code combined models, Figure 6.14 (A), (B)

and (C), outperform the standard GSM ARQ system below 5 dB. This is due to the

increase in the number of copies transmitted for a particular data packet when this packet

is continuously received in error. The code cornbined models eventually send enough data

packets to facilitate correct decoding. It is interesting to note that the (1.3,3,4,4) code

combined model "plateaus" in the SNR region between 3 and 4 dB. This occurs since the

number of sent data packet copies decreases from one to three between the first and

second/third data packet transmission attempts. For this SNR region, the sending of three

data packet copies (1/6 rate system) almost guarantees successful packet decoding

immediately, as confirmed in Figure 6.13. However, the throughput experienced in the

"plateau" region in Figure 6.14 (C) is less than that observed for the 1/6 rate system in

Figure 6.13. This may be explained by the fact that one data packet is sent on the first

transmission attempt, thereby, decreasing the full throughput which would be realized for

a 1/6 rate code combined system.

Figure 6.14 (D) needs to be separately explained from the other three plots, (A), (B) and

Page 120: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

(C). This (2,3,3,4,4) code combining model begins by sending two copies of a data packet

on the first transmission attempt; therefore, the maximum possible throughput this rnodel

will ever realize is 1/4, at an SNR value equal- to or greater-than 6 dB. It is over this same

SNR region that the throughput of the standard GSM ARQ model outperforms that of the

(2,3,3,4,4) code combined model. For SNR values less-than 5 dB, however, the greater

nurnber of data packets sent for al1 transmission attempts of this code combined model

leads to a better throughput than the standard GSiM ARQ system.

As seen in Figure 6.11, many different set rate code combined models were explored.

Many of the code cornbined models present throughput advantages over the standard

GSM ARQ system, especially at lower SNR values. For larger SNR values, however, this

throughput performance is inferior to the GSM ARQ system. Only the ( 1,1.2.3,3) code

combined model performed better or, at the very least. as well as, the standard GSM ARQ

system's, although, the actual throughput gain realized by the (1,1,2.3,3) model is very

small.

Figure 6.15 presents the throughput simulation result of the agent model, for a mobile

velocity of 50 km,. The agent's throughput curve is plotted against the throughput

characteristics of each of the four allowable individual code combined rates. It is seen that

the agent's achievable throughput is contained within the curve created by plotting the

maximum throughput for any SNR value, given the throughput performance of al1

individual code rates. Recall that the agent's training bit sequence error knowiedge base is

defined with data obtained from an analysis with a mobile velocity of 50 kmh. Therefore,

the knowledge bases data fil1 values are optimal for the simulation results presented in

Figure 6.15. The agent's performance is almost always better than or, at the least, as good

as, the standard GSM ARQ system's throughput.

Page 121: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Figure 6.15: Code combined, agent and individual rates, for TCWF9.6,50km/h

Figure 6.16 is a plot of the agent's throughput performance against the set rate code

combined throughputs previously discussed. The solid line represents the agent's

throughput curve. It is obsewed that the agent's throughput curve is slightly below the

throughput curve of the (1,1,2.3,3) code combined mode1 at an SNR value of 6 dB, but

only marginally. Besides the 6 dB SNR value, the agent out-performs al1 of the set code

combined models simulated.

Page 122: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Through-pcR vs SNR. Agent mode1 for 9.6kbps 5ûKmhr I

SNR (dB)

Figure 6.16: Throughput of agent versus al1 of the main multiple packet copy code

combining

6.7 Conclusion

The focus for this thesis study is the throughput gain realized when a simple software

agent is employed in a mobile wireless digital data communication system. The GSM

ARQ system is used in this study, and this system's throughput is used as the benchmark

against which the agent's throughput performance is measured. Section 6.6 has presented

this comparison, along with additional plots. It is appropriate to conclude this chapter

with two plots which really present the full efforts of this thesis study.

Figures 6.17 and 6.18 present the throughput results of the standard GSM ARQ system

model and agent model for mobile velocities of O km/h and 50 krn/h, respectively. The

first observation from these plots is that the agent is successful in increasing the

Page 123: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

throughput of a standard GSM system. In some cases, such as around an SNR value of -2

dB, for a mobile velocity O kmh, and within the SNR range of O dB to 2 dB, for a mobile

velocity of 50 kmh, the throughput gains realized by the agent mode1 over the standard

GSM ARQ system are on the order of ten times! Modest gains of three times occur at an

SNR value of O dB and 3 dB for the simulations with a mobile velocity of O and 50 km/h,

respectively.

Thraughput vs SNR. Agent and I R Convoluoonai Code. for 9.6kbps OKmhr

SNR (dB)

Figure 6.17: Agent throughput versus the standard GSM ARQ system's throughput for O

k m/h

Page 124: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Throughput vs ÇNR. Agent and IR Comduüonal Code. for 9.6kbps SOKmhr 0.5 I 1

Agent

/' f

/ -

4

- -

- - -

01 -' GSM, 1

-5 O 5 10 15 SNR (d8)

Figure 6.18: Agent throughput versus the standard GSM ARQ system's throughput for 50

krn/h.

The agent model as proposed in this thesis study does a very good job in dramatically

increasing the throughput of a GSM system for the lower SNR regions, as seen in Figures

6.17 and 6.18, for either mobile velocities of O or 50 kmh. It would be expected that the

same throughput results would hold for any mobile velocity within these two values and

for velocities greater than 50 krnh The agent has also demonstrated that it is capable of

achieving the equivalent GSM ARQ system throughput for the higher end of the SNR

range. In conclusion, the agent protocol developed in this thesis yields excellent

throughput resuits over a broad SNR range for the channei modei employed.

Page 125: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Chapter 7

Conclusion

7.1 Introduction

This thesis exposed the reader to the motivating issues behind this research study,

presented a wireless communication standard, communication theory and the concept and

uses of software agents in a rather complete, compact format. Along with this theory and

concept presentation we progressively developed the communication model that would

attend to the thesis research objectives. We presented a mobile wireless digital data

communication model consisting of a robust error-control coding protocol combined with

simple software agents. Compared to the standard mobile wireless digital data

communication model, a GSM system, the model employing software agents, and their

knowledge bases, combined with an adaptive error-control coding protocol proved to

provide a substantial throughput performance gain for low SNR values, and an equivalent

throughput performance in the high SNR range. Therefore, the thesis research objectives

outlined in Chapter 1 were attained with the novel communication model developed.

Page 126: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

In Chapter 2, we presented the improved SR-ARQ strategy proposed by Weldon,

accornpanied by a discussion of code combining, and concluded the chapter with a

description of the Mowgli agent architecture. An increase in throughput of a

communication system would be realized through the use of Weldon's ARQ strategy,

employing the code combining technique. However, the Mowgli studies continually

presented the fact that wireless access mediums possess low and variable throughput and

proposed an architectural solution to alleviate these low throughput performances. this

proposed solution stems from a Computer Science background. The thesis proposa1 was

initiated by the two topics discussed in Chapter 2, whereby the possibility of integrating

the software agents into a mobile wireless digital data communication model, employing

Weldon's ARQ strategy with code combining, would increase the realized throughput of

the system. Emphasis was placed on the agent's abilities to monitor and react to channel

changes and to make full use of the ARQ protocol with code combining.

Chapter 3 presented an introductory view of the GSM standard. as this was the mobile

wireless digital data communication model platform for which this thesis would exploit.

The GSM standard origins were highlighted, and the major components of the GSM

architecture were described. Emphasis for the chapter was placed on the signalling and

radio link aspects employed by the GSM system, since rhese topics played a significant

role in the integration of the additional error-control coding algorithms and software

agents deve!oped in this thesis.

The fundamental principles of error-control coding theory that are necessary for a wireless

digital data communication system were presented in Chapter 4. Typical unencoded bit

error rate experienced on a wireless medium is on the order of IO-*, whereas, data services

usually dernand a bit error rate of 1 0 - ~ to 1 ~ ~ . The topic of error-control coding was

introduced and explored in order to describe the possible coding implementations that

exist and that may achieve this required bit error rate criteria. A excellent error-detecting

scheme. the CRC- 16 standard, was introduced, explored and its SPW implementation was

described. Various Automatic-Repeat-Request protocols were introduced and the SR-

Page 127: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

ARQ was chosen as the scheme for this study, and its impIementation details were

discussed. Code combining theory was also presented in Chapter 4. The SPW

impIementation of code combining used the 112 convolutional coding rate present in the

GSM as the primitive code rate, from which the system could realize code rates of I/4, 1/

6, and 1/8. Therefore, Chapter 4 covered al1 of the error-control coding theory, as well as

the SPW implementation details required for this thesis study.

The next chapter was Chapter 5, and it commenced with providing the definition and

outline of the role of an agent. The separate duties of the necessary components of an

agent, the knowledge bases, were described and discussed. The ultimate goal of the agent,

and its corresponding interactions with its knowledge bases, were presented and described

in detail-

The simulation results for the various stages of the final mobile wireless digital data

communication model, employing the software agent constructs, were presented and

analyzed in Chapter 6. It was in this chapter that the metric of great concern for this thesis

study, throughput, was defined. The developed communication model's throughput

performance was compared to the standard GSM system's, utilizing ARQ, throughput

performance benchmark for mobile velocities of O and 50 kmh. It was demonstrated that

the agent model, as implemented in this thesis study, does an excellent job in dramatically

increasing the throughput of a GSM system for the Iower SNR regions, at both mobile

velocity rnetrics. The agent model also demonstrated that it was capable of achieving the

equivalent throughput for the standard GSM ARQ system at the higher end of the S N R

range.

This deveiopment of a mobile wireless digital data communication model employing

software agents, commencing from the discussion of the motivating factors for such a

model proposal right up to the implementation of the very model itself, proved to be a very

rewarding experience. We demonstrated that with a nominal amount of resources and

limited knowledge base a software agent may dramatically increase the realized data

throughput of a wireless digital data communication system, in this case the GSM system.

Page 128: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

7.2 Future Research

A number of interesting avenues exist for future research conceming the integration of

software agents in a mobile wireless digital data communication systems. There are three

interesting topics that may be pursued quite easily from this research. The first extension

to this research would be to perform the same throughput analysis for a mobile velocity of

100 km/h on the mobile wireless digital data communication model developed in this

thesis. Such an analysis would provided valuable information on the aforementioned

communication model's performance in a rural environment.

The second topic is really a direct extension of the work performed in this study. The

agent, during times of very good channel quality, may opt to employ some form of

punctured coding. If successfully coordinated with the agent at the far end of the

communication channel, the realizable system throughput would exceed that of the

primitive coding rate used in the convolutional coder. For example, a GSM system such as

the one explored in this thesis may very well experience throughput performances

exceeding the 112 value.

The third topic concerns the possibility of allowing the mobile user to make use of a

number contiguous normal bursts do t s composing a TDMA frame. The use of a multiple

number o t normal bursts slots allows a mobile user to realize a l q e r data rate, through

either transmitting or receiving data. The acquisition of multiple normal bursts may be

handled by a software agent entity. on the base station side of the communication model,

whereby the agent coordinates such an acquisition with the wireless network. Parameters

of concern in this proposed model may be related to a knowledge of the amount of data

which needs to be transmitted in relation to the observed traffic load of that particular time

on the wireless network.

Page 129: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Bi bliograp hy

[ 1 ] M. Kojo, K. Raatikainen, T. Alanko. "Connecting Mobile Workstations to the Intemet over a Digital Cellular Telephone Network," University of Helsinki, Departnzent of Cornpufer Science, Series of Publications C, No. C- 1994-39. September 1994.

[2 ] M. Kojo, T. Alanko, M. Liljeberg, K. Raatikainen. "Enhanced Communication Services for Mobile TCP/TP Networking." University of Helsinki, Department of Cornpiter Science, Series of Publicarions Cl No. C- 1995- 1 5. Apri l 1995.

[3] M. LiUeberg, T. Alanko, M. Kojo. H. Laamanen, K. Raatikainen. "Optimizing World- Wide Web for Weakly Connected Mobile Workstations: An Indirect Approach," In Proc. 2nd International Workshop on Services in Distri buted and Networked Environments (SDNE195) June 5th - dth, 1995, Whistler, Canada.

[4] M. Liljeberg, H. Helin, M. Kojo and K. Raatikainen, "Enhanced Services for World- Wide Web in Mobile WAN Environment," University of Helsinki, Department of Cornprrter Science. Series of Publications C, No. C- 1996-28. April 1996.

[5] P. Maes, "Agents that Reduce Work and Information Overload," Communications of the ACM, pp. 3 1-40, July 1994.

a [6] S. Yajnik, J. Sienicki, and P. Agrawal, "Adaptive Coding for Packetized Data in Wireless Networks," IEEE International Conference on Personal Wireless Cornnzrirzications, pp.338-342, 1995.

[7] S.B. Wicker, "Hybrid-ARQ Reed-Solomon Coding in an Adaptive Rate System," IEEE hternational Conference on Commrinicarions, pp. 1383- 1387, 1989.

[8] E.J. Weldon, "An Improved Selective-Repeat ARQ Strategy," IEEE Trans. on Cornmrin., Vol. Corn-33, No. 5, pp. 480-486, March 1982.

[9] Y. Chang and C. Leung, "On Weldon's ARQ Strategy," IEEE Trans. on Commun., Vol, Comm-32, No. 3, pp. 297-300, March 1984.

[IO] S. Kallel, and C. Leung, "An Efficient ARQ System for Mobile Communications,'' IEEE Veh. Tech. Conference, San Francisco, pp. 667-68 1, May 1989.

11 11 S. Kallel, and C. Leung, "Type II ARQ Schemes with Multiple Copy Decoding for Mobile Comrnunications," IEEE Veh. Tech. Conference, pp. 349-353, 1990.

[12] S. Kallel and D. Haccoun, "Sequential Decoding with an Efficient Partial Retransmission ARQ Strategy," IEEE Trans. on Comm., Vol. 39, Feb. 199 1, pp. 208- 213.

[13] D. Chase, "Code Combining - A Maximum-Likelihood Decoding Approach for

Page 130: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Combining an Arbitrary Number of Noisy Packets," IEEE Trans. on Commun., Vol. Com-33, No. 5, pp. 385-393, May 1985.

[14] D. Chase, P.D. Muellers, and J.K. Wolf, "Application of Code Combining To A Selective-Repeat ARQ Link," Proceedings Milicom '85, Vol. 1, pp. 247-252, 1985.

[15] C. Despins and D. Haccoun, "A New Selective-Repeat A R Q Protocol and its Applications to High-Rate Indoor Wireless Cellular Data Links," Proc. 4*h Intem. S y p . On Persorial, Indoor a n d Mobile Radio Comm., Yokohama, lapan, Sept. 1993, pp. 3 17-32 1.

[16] T. Alanko, M. Kojo, H. Laamanen, M. Liljeberg, M. Moilanen, K. Raatikainen, "Measured Performance of Data Transmission Over Cellular Telephone Networks," Computer Communications Review, 24(1994). Published also as Technical Report.- University of Helsinki, Deparment of Computer Science, Se r ies of Publications C, NO. C- 1994-53.

[ 171 H. Laamanen, "An Experiment of Dependability and Performance of GSM Access to Fixed Data Network," University of Helsinki, Depariment of Computer Science, Series of Publications C, No. C- 1995-4 1. September 1995.

[ la] S.H. Redl, M.K. Weber, M.W. Oliphant, An Introdwrion to GSM. Artech House, Bos- ton, 1995.

[19] M. Rahnema, "Overview Of The GSM System and Protocol Architecture," IEEEE Cornnt. Magazine, April 1993.

[?O] M. Mouly, and M. Pautet, The GSM System For Mobile Communications. Published by authors, 1992.

[21] J. Scouris, "Overview of the Globai System for Mobile Communications," Home Page. http:/ /kbs.cs.tu-berlin.de//-jutt;t( /gs~.html.

[22] G. KadeI, "Determination of the GSM-system Performance from Wideband Propaga- t ion Measurements," IEEE Veh. Tech. Conference, pp. 540-545, 1 992.

[23] R.M. Joyce, L.J. Ibbetson, and L.B. Lopes, "Prediction of GSM Performance Using Measured Propagation Data," IEEE Veh. Tech. Conference, pp. 326-330, 1996.

[24] K. Murota, and K. Hirade, "GMSK Modulation for Digital Mobile Radio Telephony," IEEE Trans. on Commun., Vol-Comm- 29, No. 7, pp. lOU- 1050, July 198 1.

[25] S.U. Lee, Y.M. Chung, and J.M. Kim, "On the Bit Error Probabilities of GMSK in the Rayleigh Fading Channel," IEEE Veh. Tech. Conference, pp. 249-254, 1988.

[26] Signal Processing WorkSystem, Alta Group of Cadence Design Systems. Inc, GSM

Page 131: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

S-ystern - Level Verijication Environment User S Guide. June 1 996.

1271 P. Kaveh, and L. Allen H., Wireless Information Nefworks. John Wiley and Sons Inc, 1995.

[28] D. Weissman, Allen H. Levesque, and Richard A. Dean, "Interoperable Wireless Data," IEEE Commun. Magazine, pp. 68-77, Feb. 1993.

[29] N. Guo and S.D. Morgera, "Frequency-Hopped ARQ for Wireless Network Data Services," IEEE Journal on Selected Areas in Comrnun., pp 1324- 1337, October 1994.

[30] D. Bertsekas, R. Gallager, Data Networks. 2nd edition, Prentice-Hall Inc, New Jersey, 1992-

[3 11 P. Sweeney, Error Coritrol Coding: An Introduction. Prentice-Hall International (UK) Ltd, 199 1.

[32] P.S. Yu, and S. Lin, "An efficient Selective-Repeat ARQ Scheme for Satellite Channels and its Throughput Analysis," JEEE Trans. on Commun., pp. 353-363, March 198 1.

[33] S. Lin and D.J. Costello, Error Conrrol Coding. Prentice-Hall, Inc., New Jersey, 1983.

1341 S. Lin and P.S. Yu, "A Hybrid ARQ Scheme with Parity Retransmission for Error Control of Satellite Channels," IEEE Trans. on Commun., pp. 170 1 - 17 19, July 1982.

[35] N. Guo. S.D. Morgera and P. Mermelstein, "Common Packet Data Channel (CPDC) for Integrated Wireless DS-CDMA Networks," IEEE Journal on Selected Areas in Cornnzrrn., Vol. 14, pp.735-749, May 1996.

[36] P. Wayner, and A. Joch, "Agents Of Change." BYTE, pp. 94-95, March 1995.

[37] T. Zhang, S. Covaci, and R. Popesu-Zeletin, "Intelligent Agents in Network and Service Management," IEEE Global Telecom. Conference, Vol. 3, pp. 1855- 186 1, 1996.

[38] G. Nadol i and J.E. B iegel, "Intelligent Manufacturing- Simulation Agents Tool (IMSAT)," ACM Trans. on Modelirtg and Comp. Simulation, Vol. 3 , No. 1, pp. 42-65, January 1993.

[39] Y. Lesperance, "Knowledge-Based Agents and Cognitive Softbotics," Mobile Agents: Basics. Technology and Applications Seminar, Ottawa, Marc h 26, 1 997.

[40] K. Sycara, "Distributed Intelligent Agents for Information Gathering and Decision

Page 132: Communication System Incorporating Simple Software Agents ...€¦Communication System Incorporating Simple Software Agents

Support," Mobile Agents: Basics, Techno[ogy and Applicariorls Senrinar, Ottawa, March 26, 1997,

(411 E.N. Gilbert, "Capacity of a Burst-Noise Channel," The Bell Sysrem Tec!inical Journal, pp. 1253- 1265, September 1960.

[42] S. Bakhtiyari, S. Kallel, and V. Leung, "A Robust Type II Hybrid ARQ Scheme With Code Cornbining for Mobile Communications," IEEE Pac~'$c Rim Conference, pp. 214-217, 1993.

[43] W.C. Jakes, Microwave Mobile Communicaiions. Wiley, New York, 1974.

[44] C. Loo. "Computer models for fading channels with applications to digital transmis- sion", IEEE Trans. on Veh. Tech., pp. 700-707, Nov 1 99 1 .

[45] R. Steele, Mobile Radio Communications, IEEE Press, New York 1992.

1461 M C . Jeruchim, "Techniques for Estimating the Bit Error Rate in the Simulation of Digital Communication Systerns," IEEE Jounial on Selecied Areas in Commun., pp. 153-170, Jan 1984.

SPW is a registered trademark of the Alta Group of Cadence Design Systems, Inc.