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
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.
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.
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[.
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!"
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
.................................................... 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
.. 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
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
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
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
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
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
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.
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.
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
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.
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
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
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
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
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.
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
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).
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
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
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.
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
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
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
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
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.
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
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
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.
-
- 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
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
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
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.
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
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
[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.
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.
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
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
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.
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.
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
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 /
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
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
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
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
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
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,
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.
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
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
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.
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.
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
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.
*
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
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.
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
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
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
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
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
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.
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
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
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.
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
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)
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
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:
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.
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
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
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
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
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
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.
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.
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.
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
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.
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
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 .
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
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.
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
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
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.
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
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
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
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.
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
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.
- - - - -
@(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
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
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.
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
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.
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
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
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
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.
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
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
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
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
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
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
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.
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
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
(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.
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.
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
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
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.
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.
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-
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.
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.
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
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
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
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.