Professional Documents
Culture Documents
ausgefhrt am
Institut fr Nachrichten- und Hochfrequenztechnik
der Technischen Universitt Wien
von
Werner Perndl
4431 Haidershofen, Trstlberg 33
Betreuer:
Univ.Ass. Dipl.-Ing. Thomas Neubauer
O.Univ.Prof. Dipl.-Ing. Dr.techn. Ernst Bonek
Abstract
The deployment of third generation mobile communication systems enables many new applications. In particular, services with high data rates become possible. In rst and second
generation mobile systems, data is transferred in a circuit-switched way. This is inecient
for data services, since resources are occupied even if there is no transmission.
Mobile
systems of the third generation overcome this drawback by transferring data services in a
packet-switched way both in the core network and over the radio interface.
In order to
meet the quality requirements of the users, scheduling algorithms must be applied.
In my thesis, I deal with algorithms for assigning resources to mobile users.
I focus my
research on the upcoming European UMTS standard, with emphasis on web transfer over
the downlink shared channel (DSCH) in the frequency division duplex (FDD) mode. For
this purpose I developed a simulation tool to investigate the radio interface protocol behavior and the inuence of dierent scheduling algorithms. In my tool, users are equally
distributed within the cell and they originate web sessions according to a Poisson process.
Data is generated following the web trac model proposed by the European Telecommunications Standards Institute, ETSI.
One issue of my investigations is the inuence of parameters of the radio interface protocol.
With these results, I analyze standard scheduling algorithms like Round Robin, Short Queue
First and Long Queue First.
session throughput.
The performance of these algorithms is evaluated depending on the active session throughput and the number of satised users. Again I use the proposals from ETSI extended by a
further satisfaction criterion. I also measure the delay of packets and the duration of web
sessions. Furthermore, the power consumption and the number of users within the system
is evaluated. For these parameters I provide the mean values and the distribution functions
depending on the system load.
My investigations showed that the algorithm Round Robin is most suitable for scheduling
of non-real time trac. The schedulers Short Queue First and Long Queue First are not
acceptable since with these algorithms users with the opposite queue size are not served.
I further conclude that scheduling should be done in a time division manner, i.e., only a
few users transmit with high data rates at the same time. This is caused since coding and
interleaving is more ecient for high data rates (384kbit/s) than for low data rates (64
kbit/s).
Zusammenfassung
Der bergang zum Mobilfunksystem der dritten Generation ermglicht viele neue Anwendungen, insbesondere werden Dienste mit hohen Datenraten mglich. In Mobilfunksystemen der ersten und zweiten Generation werden Daten leitungsvermittelt bertragen.
Das bringt vor allem fr Datendienste den Nachteil, dass Ressourcen belegt bleiben, auch
wenn gerade keine bertragung stattndet. Diesen Nachteil vermeiden Systeme der dritten
Generation, indem Datendienste auch ber die Funkschnittstelle paketvermittelt bertragen
werden. Bedieneralgorithmen sorgen dafr, dass die Qualittsanforderungen der Teilnehmer
eingehalten werden.
In der vorliegenden Arbeit untersuche ich Bedieneralgorithmen fr den europischen UMTSStandard.
funkgerten ber den Downlink Shared Channel (DSCH) im Modus mit Frequenzduplex
(FDD). Dafr habe ich eine Simulationsumgebung entwickelt, mit der es mglich ist,
die Eigenschaften der Funkschnittstelle und deren Zusammenwirken mit verschiedenen
Bedieneralgorithmen zu ermitteln.
verteilt angenommen und fordern gem eines Poissonprozesses Internet-Dienste an. Als
Datenmodell verwende ich das vom Europischen-Telekommunikation-StandardisierungsInstituts, ETSI, vorgeschlagene Modell.
Einen Punkt meiner Untersuchungen stellt das Verhalten der bertragung in Abhngigkeit
von den Parametern der Protokolle der Funkschnittstelle dar. Aufbauend auf diese Ergebnisse untersuche ich die Bedieneralgorithmen Round Robin, Short Queue First und Long
Queue First. Diese Algorithmen habe ich weiter entwickelt, um den Datendurchsatz noch
zu steigern.
Um die Leistungsfhigkeit der Algorithmen zu bestimmen, habe ich den Datendurchsatz
sowie die Anzahl der zufriedenen Benutzer ausgewertet.
die Empfehlungen von ETSI, erweitere jedoch das Kriterium fr die Zufriedenheit von
Teilnehmern.
Weiters ermittle ich die Verzgerung der Pakete und die Dauer der Web-
Acknowledgement
I am grateful to Prof. Ernst Bonek for giving me the opportunity to be a member of the
mobile communications group and to do my diploma thesis under his supervision.
Thanks to Thomas Neubauer for technical discussions, for proof-reading my thesis and for
encouragement whenever I needed assistance. With his corrections I really could improve
the quality of my thesis.
I also thank Mobilkom Austria AG for nancial support of this work. The views expressed
in this paper are those of the author and do not necessarily reect the views of Mobilkom
Austria AG.
important advice.
Thanks to Martin Toeltsch for supporting me whenever I had problems with Linux and
Latex.
Finally, I would like to thank my parents. Without their assistance I would not have reached
my goal. This thesis is dedicated to them.
III
Contents
1 Introduction
1.1
. . . . . . . . . . . . .
1.2
1.3
2.1
Network Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
2.3.1
. . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.3.2
17
2.3.3
. . . . . . . . . . . . . . . . . . . .
19
2.3.4
26
2.3.5
27
2.3.6
27
3 Propagation Environment
3.1
Cell Conguration
3.2
Channel Model
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.2.1
COST-Walsch-Ikegami-Model
. . . . . . . . . . . . . . . . . . . . .
34
3.2.2
Shadow Fading
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.2.3
35
3.2.4
. . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.3
Interference Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.4
Coverage Evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
IV
CONTENTS
4 Scheduling Algorithms
40
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.2
42
4.2.1
First-In-First-Out Scheduling
. . . . . . . . . . . . . . . . . . . . . .
42
4.2.2
43
4.2.3
Priority Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.2.4
43
4.2.5
43
4.3
. . . . . . . . . . . . . . . . . .
43
. . . . . . . . . . . . . . . . . . . . . .
44
. . . . . . . . . . . . . . . . . . . . . . .
44
4.4
44
4.5
Scheduling in UMTS
44
4.3.1
Earliest-Due-Date Scheduling
4.3.2
Rate-Controlled Scheduling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1
. . . . . . . . . . . . . . . . . . . . . . .
45
4.5.2
Round Robin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.5.3
47
4.5.4
48
4.5.5
48
. . . . . . . . . . . . . . . . . . . . . . . .
5 Simulation Environment
52
5.1
Simulation Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
5.2
UMTS Simulator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
5.2.1
54
5.2.2
55
5.2.3
5.2.4
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
55
. . . . . . . . . . . . . . . . . . . . .
56
5.2.5
57
5.2.6
RRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
CONTENTS
VI
6 Results
60
6.1
6.2
. . . . . . . . . . . . . . . . . . . .
60
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
6.1.1
RLC Parameters
6.1.2
. . . . . . . . . . . . . . . . . . . . . . . . .
64
65
6.2.1
65
6.2.2
70
. . . . . . . . . . . . . . . . . . . . . . . .
Summary
7.2
Conclusions
73
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
76
77
81
B.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
B.2
Simulation Structure
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
B.3
Programming
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
B.4
. . . . . . . . . . . . . . . . . . . . . .
86
C Transport Formats
87
91
D.1
91
E Programming Issues
93
Glossary
95
Bibliography
98
List of Figures
1.1
2.1
. . . . . . . . . . . . . . . . . . . . .
2.2
2.3
. . . . . . . . . . . . . . .
2.4
10
2.5
10
2.6
11
2.7
. . . . . . . . . . . . .
12
2.8
13
2.9
14
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
14
2.11 Mapping of logical channels, transport channels and physical channels in the
downlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
16
17
. . . . . . . . . . . . . . . . . . . . . . . .
19
. . . . . . . . . . . . . . . . . . . . . . . . .
20
. . . . . . . . . . . . . . .
21
22
27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
29
. . . . . . . . . . . . . . . . . .
32
Cell conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
VII
LIST OF FIGURES
VIII
3.2
Spatially uncorrelated (left side) and correlated (right side) shadow fading
36
3.3
38
3.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.1
41
4.2
Scheduling in UMTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.3
48
4.4
49
4.5
. . . . . . . . . . . . . . . .
49
5.1
52
5.2
UMTS simulator
54
6.1
RLC performance depending on the Window_Size (in PDU's) and the Sta-
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
tus_Prohibit_Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2
62
63
6.3
66
6.4
Mean number of active sessions depending on the inter session arrival time
. . .
(a) and cdf of the number of active sessions for an inter session arrival time
of 1.7 s (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5
Mean SDU delay depending on the inter session arrival time (a) and cdf of
the SDU delay for an inter session arrival time of 1.7 s (b)
6.6
. . . . . . . . . .
68
Mean session duration depending on the inter session arrival time (a) and
cdf of the session duration for an inter session arrival time of 1.7 s (b) . . . .
6.7
67
68
Mean active session throughput depending on the inter session arrival time
(a) and cdf of the active session throughput for an inter session arrival time
of 1.7 s (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.8
69
Mean power consumption depending on the inter session arrival time (a) and
cdf of the power consumption for an inter session arrival time of 1.7 s (b) . .
6.9
A.1
A.2
Pareto distribution
g2 =0.0, g3 =0.3)
70
. . . .
72
. . . . . . . . . . . . . . . . . . . . . . . . . .
77
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
B.1
Example of a NED-structure . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
B.2
86
. . . . . . . . . . . . . . .
List of Tables
2.1
13
2.2
. . . . . . . . . . . . . . . .
28
2.3
. . . . . . . . . . . . . . . . . . . . .
28
3.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.2
Link level simulation results for UDD services, Pedestrian A channel in downlink direction [ARIB98, Annex3] . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.3
39
4.1
. . . . . . . . . . . . . . . . . . . . . .
45
6.1
61
6.2
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
6.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
6.4
. . . . . . . . . . . .
70
A.1
. . . . . . . . . . . .
79
C.1
. . . .
88
C.2
. . . .
89
C.3
90
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
IX
Chapter 1
Introduction
1.1 Evolution of Wireless Telephony and Internet Access
The combination of mobility and telephony has become very popular within the past ten
years. In parallel to the amazing growth of mobile communications, xed network communication is growing rapidly as well. Access to the Internet oers a large variety of dierent applications. Communication services like electronic mail, web-browsing, le transfer,
voice and music broadcasting and video transmission become a standard equipment to a
constantly increasing number of people. In the business world as well as privately, working
without Internet is not imaginable any more. In Figure 1.1 a comparison of the worldwide
Subscribers in Millions
2000
1500
Fixed Telephony
Fixed Internet
Mobile Subscribers
1000
500
0
1990
1995
2000
2005
2010
Figure 1.1: Worldwide subscribers to xed, mobile, and xed Internet networks [Forum00]
growth in subscribers to xed telephony networks, mobile networks, and to the wired Internet is shown. This comparison quoted from [Forum00] was done in July 2000. It points out
that there are more than a quarter of a million people around the world who are signing up
for mobile cellular services every day. Internet usage is growing by over half a million new
subscribers per day. The target of one billion mobile subscribers worldwide will be reached
by 2002. Another interesting fact is that there will be more mobile than xed subscribers by
2002 or 2003. Of course, there are several forecasts from other institutes leading to dierent
results. Nevertheless, latest forecasts almost always provided signicant underestimations.
CHAPTER 1. INTRODUCTION
In the future, users will demand to utilize the above mentioned xed network services in
a mobile environment. Therefore, mobile networks of third generation, like UMTS, focus
on both speech and data services. But enabling connectivity to the Internet anytime and
anywhere is just one of the opportunities of third generation mobile networks. There will
be further, enhanced mobile applications, e.g., location-based services where the actual
location of the user determines the behavior of the application. In the near future such
data services will be dominant in mobile networks.
To
occupy bandwidth during this time is out of question. Therefore it is necessary to allocate
resources only during that time transmission really happens.
This arises the problem of assigning resources dynamically to the users. The goal of this
bandwidth provisioning is to satisfy the requirements of as many users as possible. The
possible demands of a user depend on various things. First of all, every operator or provider
oers various charge models which imply appropriate priority levels. Another criterion is
the kind of trac, e.g., real time trac has very strict delay requirements whereas for non
real time trac, transmission is not as critical.
These requirements of
course vary between the users. Quality of Service (QoS) is responsible for meeting these
requirements.
Parameters assigned to services in order to dierentiate between them for example are:
Real-time services for example require strict delay requirements opposed to background
trac. Also the variance of the delay could arise problems in real-time applications whereas
in background trac the delay jitter doesn't matter.
CHAPTER 1. INTRODUCTION
a higher raw bit error ratio since retransmissions in error cases are possible.
Priority
Due to mobility, a user could reach locations with poor or even no radio
such users, because it would require too much resources and hence the QoS of all other
users would get worse.
So, a control entity has to decrease QoS for such a user or, if
resources dynamically to mobile users arises due to the transition to packet-switched transmission. This is necessary in order to utilize resources more eciently. Although there are
scheduling experiences in wireline communication, in the wireless environment additional
diculties due to the error-prone radio channel appear. I will develop these algorithms for
the upcoming third generation mobile radio standard, UMTS, however the main insights
into scheduling will be valid also for other mobile communication systems. I specialize my
work on the frequency division duplex (FDD) mode of UMTS which will be applied in
macro cell environments. The main application I concentrate on will be web browsing.
In Chapter 2 I will provide those parts of the UMTS standard which are necessary in
order to understand my thesis. First I will describe the network structure, I will explain
the function of the radio interface protocol in detail and I will point out the problems of
packet-switched transmission in UMTS. I also present the handling of the Downlink Shared
Channel (DSCH) which will be the objective channel type throughout my thesis.
In Chapter 3 the structure of the propagation environment in my simulation is explained. I
will point out the channel model I used and the way I included other cell interference. I also
will notify the assumptions I made in order to do simulations for a multi-cell architecture.
CHAPTER 1. INTRODUCTION
Chapter 4 deals with scheduling principles. First I introduce dierent approaches and then
I will present those algorithms I actually implemented in my simulation.
In Chapter 5 the simulation environment that I have chosen is explained. I will present
both the naked simulation tool and the environment I have created.
In Chapter 6 my simulation results are shown.
mizing the RLC protocol for dierent network load. This is necessary in order to adjust
the parameters correctly for simulations on scheduler performance. Then the behavior of
dierent scheduler algorithms is investigated.
In Chapter 7 I will present conclusions deduced from my simulation results.
Chapter 2
Universal Mobile Telecommunication
System UMTS
The Third Generation Partnership Project 3GPP has been founded in order to harmonize
dierent standardization approaches. It is a cooperation of several companies and institutes
in order to get a worldwide standard for third generation mobile systems.
Nevertheless
there are several dierent systems dened. The european approach is the Universal Mobile
Telecommunications System (UMTS) which is batched in releases.
The rst release of UMTS, Release 99, is an evolution of the circuit-switched Global System
for Mobile communication (GSM) and the packet-switched General Packet Radio System
(GPRS). In Release 99, a new radio interface was introduced, known as UMTS Terrestrial
Radio Access Network (UTRAN). This interface is based on wideband CDMA technology.
The basic structure of the core network is similar to that of GSM and GPRS.
In a second phase, Release 4 and Release 5 are introduced. Release 4 adds some functionality
to Release 99 but there are no substantial changes. In UMTS Release 5, known as Release
2000, the core network will be replaced by an IP network. Real time services like speech
and multimedia services will be transmitted in a packet-switched manner.
Since standardization of Release 4 and 5 is open by far, in my thesis I will refer to Release
99. Release 99 is issued four times a year, so I refer to the latest available issue, which is
from December 2000.
Detailed information of the above mentioned systems can be found in the following references:
A clear description of the GSM system is given in [Ebersp99].
as well as its protocols are well summarized at [Kalden00], [Cai97] and [Bettst99]. And a
very comprehensive description of the UMTS network and many background information
is presented in [Holma00].
www.3gpp.org.
UTRAN
Iub
EXT.
NETWORK
CN
RNC
MSC
IuCS
Node B
Iub
PSTN
circuit
switched
IuPS
IuCS
GMSC
Node B
IuPS
Iub
UE
RNC
Gp
SGSN
packet
switched
Gn
Node B
Gi
GGSN
activities from the core network. The radio access network consists of a set of Radio Network
Subsystems (RNS) which are connected to the core network through the Iu-interface. A
RNS consists of one Radio Network Controller (RNC) and one or more Node B's.
A Node B is responsible for processing all physical layer activities. This includes channel
coding, modulation, spreading, interleaving, forward error correction, puncturing and so
on. It also provides measurement reports to the RNC and it takes part in power control.
Depending on sectoring, one or more cells are served by a Node B. The Node B is connected
to the RNC via the Iub-interface and to the mobile through the Uu-interface.
The Uu-
Uu
DRNC
MSC
IuCS
Iub
UE
IuPS
Node B
Iur
IuCS
Iub
IuPS
SRNC
SGSN
Node B
Mobile Switching Center (MSC) and the Gateway Mobile Switching Center (GMSC). The
MSC acts as a switching node and additionally provides functionality for mobile subscribers
like authentication, location updates, handovers, and call routing to a roaming user. The
GMSC is a node to connect the mobile network to an external circuit-switched network.
The second domain is the packet-switched domain for connection to external data networks.
This is an evolution of the GPRS core network and it consists of the Serving GPRS Support
Node (SGSN) and the Gateway GPRS Support Node (GGSN). The GGSN acts as the
gateway between the GPRS network and Public Data Networks (PDN) or other GPRS
networks.
It converts packets coming from the SGSN's into appropriate packets for the
Within this
approach QoS issues will play an essential role in order to satisfy the user requirements.
External Networks
There are two dierent kinds of external networks to handle calls.
TCP
TCP
IP
IP
PDCP
PDCP
GTPU
GTPU GTPU
GTPU
RLC
RLC
UDP/IP
UDP/IP UDP/IP
UDP/IP
MAC
MAC
AAL5
AAL5
Layer 2
Layer 2
PHY
PHY
ATM
ATM
Layer 1
Layer 1
UE
SRNC
3GSGSN
3GGGSN
IP
IP
external
network
TE
as well as isochronous and asynchronous trac. In ATM dierent Adaption Layers (AAL)
are dened to enable transmission of dierent services.
variable bit rate in a connection-oriented mode are supported. This layer is intended for
real time services. AAL-5 is used to carry the packet- switched user trac in the Iu-PS
domain. ATM also ensures stringent Quality of Service requirements.
The User Datagram Protocol UDP is used for routing user data and control information in
the backbone network. This layer doesn't provide a reliable link.
The GPRS Tunneling Protocol-User plane (GTP-U) is the protocol for tunneling user data
between UTRAN and SGSN's, and between the GSN's in the backbone.
Nowadays the combination of the network layer protocol IP and the transport layer protocol TCP is the dominant protocol stack for data communication. The Internet Protocol
(IP) is responsible for routing packets through the network. It oers a connectionless and
unreliable link between sender and receiver, i.e., each packet is routed independently and
no error correction mechanisms are included. Upon IP, the Transmission Control Protocol (TCP) provides a reliable, connection-oriented end-to-end service.
TCP is designed
for communication links with the very low packet loss ratio of less than 1%. So applying
TCP over wireless links causes many problems. In [Taferner00] and [Loem00], TCP/IP
behavior in the wireless environment is investigated.
The radio interface protocols indicated by PHY, MAC, RLC and PDCP are presented in
more detail in the next section.
There is also the division into control and user plane. The control plane provides services for
transmitting signalling messages. The user plane is responsible for user data transmission.
I will mainly focus on the user plane.
The physical layer is based on WCDMA technology with a chip rate of 3.84 Mchip/s. It
oers data transport services to the MAC layer via transport channels. Transport channels
are characterized by how the information is transferred to the radio interface. They are
divided into common and dedicated transport channels.
Layer 2 is split into the following sublayers: Medium Access Control (MAC), Radio Link
Control (RLC), Packet Data Convergence Protocol (PDCP) and the Broadcast/Multicast
RRC
userplane
higher
layers
Radio Bearers
layer 3
10
PDCP
RLC
RLC
RLC
layer 2
logical
channels
MAC
transport
channels
layer 1
PHY
PDCP
PDCP
RLC
RLC
MACd
MACd
MACc/sh
PHY
UE
MACc/sh
PHY
Node B
CRNC
SRNC
Control (BMC) layer. The BMC layer is responsible for the management of broadcast and
multicast messages like the SMS Cell Broadcast Service.
The MAC layer oers logical channels to the RLC layer. A logical channel is dened by
what type of information is transferred. A general classication of logical channels is into
control channels and trac channels.
signalling messages. Trac channels are used for transfer of user information. There is a
Dedicated Trac Channel (DTCH) and a Common Trac Channel. The CTCH is used
for broadcasting messages. The DTCH is a point-to-point channel, dedicated to one user.
Layer 3 consists of one protocol in the control plane. This protocol is the radio resource
control. It handles all messages required to set up, modify and release layer 1 and layer 2
entities.
The radio interface oers its services to higher layers via so called Radio Bearers. The role
of the Radio Bearer Service is to cover all the aspects of the radio interface transport for
one user data ow.
11
So
power consumption is lower and less interference is produced in neighboring cells. But due
to the long setup times for dedicated channels, this channel type is not suitable for bursty
trac transmitted in packet-switched mode. Common channels do have the disadvantage
that neither fast power control nor soft handover is applicable. So their radio performance is
rather worse. Therefore, common channels are only suitable for transmitting small packets.
A typical application for example could be short message service or sending a request of a
web page.
For transmitting bursty packet data the designated channel is the shared channel. With
this channel type one physical channel is shared between many users in a time division
manner. So, only a single code or a single code subtree is used. In the FDD mode, shared
channels are always associated with a dedicated channel of low bit rate.
This dedicated
channel mainly provides fast power control as well as transport format indication.
Soft
transport
channels
baseband
signal
processing
physical
channel
mapping
baseband
signal
processing
TrCh
Mux
physical
channels
cos(wt)
physical
channels
S
P
split
Re
&
Im
pulse
shaping
to tx
antenna
pulse
shaping
Im
spreading
sin(wt)
scrambling
modulation
12
coding with rate 1/2 or 1/3. It's also possible that no coding is done. Further the data
stream is segmented into 10ms blocks which are multiplexed with blocks of other transport channels.
channels into one special channel, called Coded Composite Transport Channel (CCTrCH),
which is split up into one or several physical channels later on. These physical channels
are separately spreaded and scrambled. Spreading is done with an OVSF code which ensures orthogonality between the dierent physical channels of a user and which enables
dierent data rates for them. In addition to spreading, scrambling is provided in order to
separate terminals or base stations from each other.
the scrambling operation anymore. After scrambling all the data sequences are summed
up and modulated. In the downlink direction, QPSK modulation is applied. The transmit
pulse-shaping lter is a root-raised cosine with roll-o factor of 0,22.
2.3.1.1
Physical Channels
Physical channels are dened by a certain carrier frequency, scrambling code and spreading
code. In this section I explain the structure of two physical channels in the downlink, the
downlink dedicated physical channel (DPCH) and the physical downlink shared channel
(PDSCH). Physical channels are typically structured into radio frames. A radio frame is
a unit which consists of 15 slots. The length of a radio frame corresponds to 38400 chips,
which equals 10ms. Therefore one slot takes 2560 chips.
DPCCH
TPC
DPDCH
TFCI
Data 2
DPCCH
Pilot
Slot #0
Slot #1
Slot #i
Slot #14
13
Slot #0
Slot #1
Slot #i
Slot #14
Bits/Frame
Bits/Slot
256
15
30
300
20
128
30
60
600
40
64
60
120
1200
80
32
120
240
2400
160
16
240
480
4800
320
480
960
9600
640
960
1920
19200
1280
DPCH/PDSCH Timing
The relative timing between a DPCH frame and the associated PDSCH is shown in Figure
2.9. This time lag is necessary because the user equipment has to decode the TFCI eld
in the DPCCH rst in order to know if the PDSCH is addressed to it.
14
10ms
DPCH frame
10ms
associated PDSCH frame
SF=4
PDSCH root
code
PDSCH root
code
SF=8
SF=8
SF=16
SF=16
SF=32
SF=32
Spreading codes of the
DSCH subtree
2.3.1.2
Transport Channels
In this section I explain those transport channels which are important for transmission of
packet-switched trac in downlink direction.
15
As already mentioned, transport channels are characterized by how the data is transferred
and they are divided into common and dedicated transport channels. The dierence is that
dedicated channels are identied by their code and frequency and only one user has access
to the channel. Common transport channels are addressed additionally by an inband identication ag because they are shared by several users. The characteristics of a transport
channel are dened by its transport format or a format set specifying the physical layer
processing.
There is only one dedicated transport channel type called Dedicated Channel (DCH). It is
assigned exclusively to one user.
Common transport channels for packet data transmission in downlink direction are the
Forward Access Channel (FACH) and the Downlink Shared Channel (DSCH). The FACH
is a common downlink channel used for transmission of relatively small amount of data.
The DSCH is the designated channel to transfer bursty packet data in the downlink. This
channel is shared by several users.
Transport channel
Physical channel
DCH
DPCH
DSCH
PDSCH
FACH
SCCPCH
DTCH
Figure 2.11: Mapping of logical channels, transport channels and physical channels in the
downlink
In Figure 2.11 the mapping of channels from dierent layers in the downlink is shown.
It can be seen that there is a straight forward mapping of transport channels to the corresponding physical channels.
Dedicated Physical Channel and the Downlink Shared Channel (DSCH) is mapped onto
the Physical Downlink Shared Channel (PDSCH). The same is applied for the Forward
Access Channel (FACH) which is mapped onto the Secondary Common Control Physical
Channel (S-CCPCH). I mentioned this channel only for completeness reasons.
Thus, a
PDSCH associated with a DPCH involves a DSCH associated with a DCH. Above the
MAC layer I consider dedicated user data trac, i.e. the Dedicated Trac Channel DTCH
is signicant. This DTCH is either mapped onto DCH, FACH, or onto DSCH associated
with a DCH.
16
TB
TB
DCH1
TB
TB
TTI
TTI
TB
DCH2
TB
TB
TB
TTI
DCH3
TB
TB
TB
TB
TTI
TB
TTI
TTI
TTI
TB
TTI
combinations which don't exceed a maximum total bit rate. It's up to the MAC layer, to
choose one transport format combination given in the transport format combination set.
However the assignment of the TFCS is done by the radio resource control.
17
In Appendix C, I will show transport channel parameters for a DSCH associated with a
DCH.
MAC-b is responsible for handling the broadcast channel BCH. On this channel system information is broadcasted into the entire cell. There is both one MAC-b entity
in the UE and one in the Node B.
MAC-c/sh controls access to common and shared transport channels. There is one
such entity in each UE and one for each cell in the UTRAN located in the CRNC
opposed to the MAC-b entity which is located in the Node B, i.e., the CRNC contains
one MAC-c/sh entity for each connected Node B.
each UE and once in the SRNC for each user in the cell, i.e., one SRNC contains as
many MAC-d entities as there are users in its serving area.
logical
channels
BCCH
common
channels
DCCH
DTCH
CT Mux
Priority setting
Ciphering
Flow control
MACd
MACb
Flow control
UEID Mux
TCTF Mux
Scheduling/priority handling
TFC selection
TFC selection
DL code allocation
MACc/sh
transport
channels
BCH
FACH
DSCH
DCH
user 3
user 2
user 1
18
In Figure 2.13 the architecture of the MAC layer is shown. I want to point out the MAC
layer of the UTRAN side and I will focus on downlink transmission of a dedicated logical
channel over a Downlink Shared Channel (DSCH). Every time a logical channel of dedicated
type is mapped to common channels, MAC-d has to pass the data to MAC-c/sh via the
connection between the two entities.
precisely.
The blocks shown in Figure 2.13 do have the following functionality:
Transport Channel Type Selection: Based on the settings of RRC, set either during
radio bearer establishment or during reconguration, the mapping of logical channels
onto either dedicated or common transport channels is done. In our case a DTCH is
mapped onto DSCH.
The CT Multiplexing unit is used when several logical channels are multiplexed onto
one transport channel in order to assign the PDU's to the correct logical channel. If
there is only one logical channel mapped onto a transport channel neither multiplexing
nor a header entry is necessary. The number for logical channels mapped onto one
transport channel is limited to 15.
With priority setting each PDU is assigned a priority value which is evaluated at the
priority handling entity in MAC-c/sh.
Ciphering is performed in the MAC layer in the case of transparent RLC transmission.
This is done only if the logical channels are mapped onto dedicated transport channels.
It's only the MAC-SDU which is ciphered because the header has to remain readable.
The ow control unit performs data transfer between MAC-d and MAC-c/sh.
In
The TCTF Multiplexing unit adds an entry in the MAC header which indicates
the type of the logical channel which is transferred over the RACH or the FACH.
For transmission over DSCH this entry is not necessary because only DTCH's and
DCCH's are possible and their type is indicated by the C/T eld.
The scheduling entity manages resources between data ows according to their quality
of service requirements. How scheduling is done is up to the operator. Some important
scheduling mechanisms are presented in Chapter 4.
19
Priority handling on the one hand is done in order to dierentiate the UE's. On the
other hand it is done to assign dierent priorities to the data ows of one UE. Priority
handling can be seen as part of scheduling.
The TFC selection block selects between the dierent Transport Format Combinations
given in the Transport Format Combination Set. With this means the bit rate can
be changed very fast without any needs for RRC signalling.
Downlink code allocation is used for transmission of DSCH and it performs the management of codes used by the channel.
TCTF
UEID
TYPE
UE
ID
C/T
MAC SDU
MAC PDU = TB
receiving entities. The AM entity is realized as one combined transmitting and receiving
entity due to retransmission management.
The transparent transfer mode provides a simply streaming transmission of higher layer
data.
No protocol overhead is added to the data therefore the RLC PDU size must be
how this is done has to be stated during the radio bearer establishment. If there occur errors
during transmission no retransmission is possible. So the transparent mode transmits higher
layer PDU's without any guarantee. This mode is used for delay sensitive services because
these services don't require retransmissions and so the TR mode is most ecient.
The unacknowledged transfer mode doesn't provide a reliable link either. This mode provides means for segmentation and concatenation, see Figure 2.17, i.e., received higher layer
PDU's are lled as good as possible into the RLC SDU's.
to every RLC PDU in order to enable error identication. If RLC PDU's are lost due to
Concatenation
Segmentation
20
Reassembly
Transmission
Buffer
Status
message
Receiver
Buffer
PDUs
Piggybacked
information
Mux
Deciphering
Set Header bits
Demux
Ciphering
Transmitting Side
Receiving Side
DCCH
DTCH
DCCH
DTCH
services where retransmission is part of the higher layer or for services like broadcasting.
The acknowledged transfer mode provides a reliable link. In Figure 2.15 a block diagram
of the RLC AM entity is shown.
interactive and background trac. I will focus on the acknowledged mode because this is
the signicant one for web trac which I want to investigate.
The transmitting side of the AM-entity receives higher layer PDU's. These PDU's are cut
into RLC payload units (PU) of xed size and stored in the transmission buer. If possible,
the rst PU of a higher layer data unit is concatenated to the last PDU stored in the buer.
If some remaining space can't be used, this block is marked as padding. In order to be able to
reassemble the higher layer PDU's a header with appropriate indicators is appended to the
PU. If the MAC layer requests PDU's for transmission, a multiplexer decides which PDU's
are transferred.
When data PDU's are transmitted the rst time, they are additionally
If
there is some status information to transmit and one or several PDU's contain padding
blocks, padding can be replaced by the status messages in order to increase the transmission
21
eciency, otherwise extra status PDU's are transmitted to the peer entity. This is called
piggybacked status transmission. Immediately before transmission, the payload of the PDU
is ciphered in case of data PDU's, status information shall not be ciphered.
RLC SDU = PDCP PDU
PID IP TCP
SN PID IP TCP
RLC PDU = MAC SDU
Data
SN LI
PID IP TCP
Data
PID IP TCP
SN LI
Pad
2.3.3.1
The AM data PDU, shown in Figure 2.17(a), transfers user data and piggybacked status
information. A status report can be requested by setting the Poll bit P. The status PDU,
depicted in Figure 2.17(b), provides means for control information transfer between receiver
and transmitter of peer entities. There can be both receiver and transmitter status information included in the same Status PDU. Additionally there are PDU's for reseting the
two RLC peer entities, which are operating in acknowledged mode.
The bits and bit combinations in the PDU's do have the following meaning [UMTS-25.322]:
Sequence Number
Sequence Number
22
Oct 1
HE
Oct 2
Length Indicator
Length Indicator
Oct 3
D/C
PDU type
SUFI 1
SUFI 1
Data
Oct 1
Oct 2
SUFI K
PAD or piggybacked STATUS PDU
Oct N
PAD
Oct N
Figure 2.17: AM data PDU (a) and Status PDU (b) [UMTS-25.322]
The length indicator (LI) eld indicates the ending of an SDU within the payload. It
also refers to a padding block or a piggybacked status PDU. There are as many LI
elds as there are blocks to refer to. If one SDU occupies several RLC PDU's only
the end of a SDU is indicated in the last PDU. So implicitly the starting position of
a further SDU is marked. There are many specialties to take care of. Since the size
of the LI is in most cases 15 bits it is tricky to treat SDU's where the end of the last
segment exactly lls a PDU or only one octet is remaining. In these cases the LI eld
doesn't t into the PDU anymore so the end of the PDU is indicated in the following
one with a special LI.
The data block represents RLC SDU's or segments of them. In acknowledged mode
the size of this block is restricted to a multiple of 8 bits.
Padding lls up the PDU's which are not fully utilized in order to get PDU's with
equal lengths.
A piggybacked status PDU enhances the eciency of the protocol because these
status messages are transferred without using additional resources because padding
is replaced. The structure of a piggybacked status PDU is almost the same as those
of a status PDU.
With the super elds (SUFI's), status information is transferred to the peer entity.
Up to now there are eight dierent SUFI's dened:
No more data SUFI (NO_MORE): This eld is the boundary between the SUFI's
and the padding part in the status PDU. It is used as the last SUFI except the
acknowledgment SUFI also may denote the boundary.
23
Window size SUFI (WINDOW): With this eld the transmitter window size of
the peer entity is set. The new value must be within a certain range dened by
the RRC.
List SUFI (LIST): This eld is intended for sending negative acknowledgments.
It consists of a list that contains always paired values which indicate the sequence
number of a not correctly received PDU and the number of consecutive missing
ones.
The
dierence is that missing PDU's are indicated by a bit within a bitmap eld.
Relative list SUFI (RLIST): This eld is a third method for negative acknowledging. Here the missing PDU's are indicated by a relative addressing method.
Move receiving window SUFI (MRW): This eld forces the receiving side to move
its receiver window. This is applied in the case that PDU's can't be transmitted
for several times. It also indicates the number of discarded SDU's.
2.3.3.2
Additionally, the RLC sublayer and the protocol functionality depend on a lot of state
variables. Many of these variables are aected by the modulo operation with the modulus
of 4096 in acknowledged mode. So the sequence number cycles through the entire range from
0 to 4095 in ascending order. There is a set of variables assigned to both the transmitting
side and the receiving side.
When performing comparisons there is an ambiguity due to the cyclic structure. In order
to avoid such ambiguity a base must be dened. For comparisons of transmitter variables
VT(A) is assumed to be the base, for comparisons of receiver variables VT(R) should be
the base.
The following variables are responsible for the transmitting side functionality:
VT(S) - The send state variable contains the sequence number of the PDU, which is
waiting for transmission next, retransmissions are excluded. This variable is updated
after the PDU is transmitted.
VT(A) - The acknowledge state variable contains the sequence number of the rst
PDU which is not acknowledged yet.
transmit window.
24
VT(MS) - The maximum send state variable denotes the sequence number of the rst
PU which is not allowed for transmission, VT(MS) = VT(A) + VT(WS). This value
forms the upper edge of the transmit window.
VT(PU) - This variable counts the number of transmitted PU's, both new and retransmitted ones.
The following variables are responsible for the receiving side functionality:
VR(R) - The receive state variable contains the sequence number of the next insequence PU expected to be received, i.e, this is the sequence number of the farthest
apart PU. This value represents the lower edge of the receive window.
VR(MR) - The maximum acceptable receive state variable contains the rst PU not
allowed to be received, VR(MR) = VR(R) + Congured_Rx_Window_Size. PDU's
with sequence numbers greater than VR(MR) shall be discarded. This value forms
the upper edge of the receiver window.
Further there are parameters which control the behavior of the RLC entity. These parameters are set by the RRC.
Poll_PU - This parameter determines how often the transmitter should poll the
receiver. If VT(PU) reaches this value the poll bit is set and VT(PU) is reset, so this
value represents the upper limit of VT(PU).
Poll_SDU - This parameter also triggers the polling function. Every time VT(SDU)
reaches this value a poll is transmitted to the peer entity.
J=
J P oll_W indow,
(4096 + V T (S )
25
In addition to the yet mentioned variables and parameters, a set of timers inuence the
functionality and performance of the RLC protocol.
Timer_Poll_Prohibit - This timer is used in order to prohibit transmission of consecutive polls within a certain period. The timer is started every time a PDU with a
set poll bit is transmitted. The next poll is postponed until the expiry of this timer.
Only one poll shall be transmitted when the prohibit timer expires even if several
polls were triggered during the prohibit time.
Timer_Status_Prohibit - This timer prohibits the receiving side from sending consecutive status reports within a certain period containing any of the SUFI's LIST,
BITMAP, RLIST or ACK. The timer is started every time a status message is transmitted. No further status message containing the mentioned SUFI's may be transmitted until the timer is expired.
In this Section many system parameters are listed which control the functionality of the
RLC layer. Not all of these mechanisms are in use concurrently. The RRC controls which
system variables should be evaluated.
2.3.3.3
Polling Function
The transmitter of AM PDU's can poll the receiver for a status report by setting the poll
bit within the PDU header. There are several triggers for setting the poll bit. RRC controls
which triggers should be used. The following triggers are possible:
26
Last PU in buer - The sender triggers a poll when the last PU in the transmission
buer is transmitted.
Last PU in retransmission buer - The sender triggers a poll when the last PU in the
retransmission buer is transmitted.
Every Poll_PU - The sender triggers a poll ever Poll_PU PU. Both new and retransmitted PU's are counted.
RRC also controls if the poll prohibit function with timer Timer_Poll_Prohibit shall be
used.
2.3.3.4
Status Transmission
The receiver transmits status reports to the sender in order to inform about received and not
received PU's. There are several triggers for sending a status report. RRC again controls
which triggers should be in use. The following triggers are possible:
Receiving a poll request - Every time the poll bit of a PDU header is set, a status
report shall be transmitted.
Detection of missing PU's - If the receiver detects one or several missing PU's it shall
trigger the transmission of a status report to the sender.
Timer based status transfer - This trigger produces status reports periodically.
There is again the capability to delay the transmission of a status report. If the function
Timer_Status_Prohibit is in use, the receiver is prohibited from sending a status report
till the expiry of the timer.
work layer data units. UMTS supports several network layer protocols providing protocol
transparency for the users of the service. At the moment, IPv4 and IPv6 are supported.
27
Introduction of new network layer protocols to be transferred over UTRAN shall be possible without any changes to UTRAN protocols. Therefore all functions related to transfer
packets from higher layers shall be carried out in a transparent way by the UTRAN network
entities. One task of the PDCP layer is this transparent transmission.
TCP
Data
PID CH
Data
PDCP PDU = RLC SDU
network layer protocol type. The header compression algorithms and their parameters are
negotiated by RRC for each PDCP entity during connection establishment. How higher
layer protocol data units are treated by the PDCP layer is shown in Figure 2.18. The PID
value within the PDCP header indicates the compression algorithm. The CH eld denotes
the compressed header.
value
28
unit
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15,
of retransmissions)
Poll_PU
PDU
1, 4, 16, 64
SDU
Poll_SDU
Poll_Window
Congured_Tx_Window_Size
Congured_Rx_Window_Size
Timer_Poll_Prohibit
PDU
ms
Timer_Poll_Periodic
PDU
ms
Timer_Status_Prohibit
10 - 550 by step of 10
ms
Timer_Status_Periodic
ms
Timer_Discard
ms
value
unit
TTI
ms
5000
bit
which may reside in blocks provided from dierent vendors has to be standardized in much
more detail.
A simplied ow
2.3.6.1
The physical layer is terminated at the Node B and the MAC layer protocol is terminated
at the RNC. So interaction between these two layer take place over the connection between
RNC and Node B. This connection is denoted as Iub-interface [UMTS-25.435].
In this
section I briey describe the user plane protocol for DSCH over the Iub-interface.
The
structure of the data frame for DSCH is shown in Figure 2.19(a). The elements within the
data frame do have the following meaning:
29
The frame type (FT) bit indicates whether the frame is a data or a control frame.
The connection frame number (CFN) is the frame counter used for transport channel
synchronization between UE and UTRAN. A CFN value is associated to each TBS.
The TFI describes length and number of transport blocks transmitted within one
TTI.
Additionally to the data frame explained above, there is a control frame for DSCH TFCI
signalling. This frame is used in order to inform the Node B of the currently used TFCI.
The DSCH TFCI signalling frame is sent once every frame interval (10ms) as long as there
is DSCH data for transmission.
Header CRC
FT
CFN
Spare
Spare bits 74
Header
(cont)
Header
Spare
(cont)
First TB
Spare bits 74
(cont)
(cont)
Spare bits 20
Num of SDU
Code number
MC Info
CmCHPI
TFI
Power Offset
SF
FT
Header CRC
MACc/sh SDU 1
(cont)
Pad
(cont)
Last TB
Payload
(cont)
(cont)
Pad
Spare Extension
Payload CRC
Spare bits 74
MACc/sh SDU n
Payload
(cont)
(cont)
Payload CRC
(cont)
(cont)
(a) Iub-Frame
(b) Iur-Frame
Figure 2.19: DSCH Data Frames on Iub-interface (a) [UMTS-25.425], and Iur-interface (b)
[UMTS-25.435]
2.3.6.2
In handover situations the functionality of the RNC is split into a SRNC and a DRNC.
In those situations, MAC-d resides in the SRNC and MAC-c/sh is placed in the DRNC
30
because MAC-c/sh is responsible for scheduling and this has to be done in the CRNC which
is also the DRNC.
As already mentioned above, the link between two RNC's is denoted as Iur-interface, which
is standardized in [UMTS-25.425]. In this section I describe how a common channel, particularly the DSCH, is transmitted over this link. This protocol has to be standardized in
detail because the concerned entities can reside in two dierent RNC's. These RNC's may
have been developed from dierent vendors. In Figure 2.19(b) the structure of the DSCH
data frame on the Iur-interface is shown. The new entries within this frame do have the
following meaning:
A MAC-c/sh SDU in this case additionally denotes the C/T eld of the MAC header.
It's length is also transmitted to the MAC-c/sh.
Further there are several control frames which are responsible for ow control, capacity
request and capacity allocation. A capacity request message is sent by the SRNC to the
DRNC in order to indicate the actual user buer size. This knowledge is necessary since
scheduling is done in the DRNC and therefore the amount of data for transmission must
be known. A capacity allocation message is sent by the DRNC to the SRNC in order to
assign resources to the users within the cell.
2.3.6.3
The MAC-DATA-Req primitive is used by RLC to forward RLC PDU's for transmission to the MAC layer.
indicated. This parameter indicates the amount of data that is currently queued for
transmission in the transmission buer.
The MAC-STATUS-Ind primitive is used by MAC to permit the RLC layer to send
a certain number of PDU's to MAC.
The MAC-STATUS-Resp primitive is used by RLC to acknowledge a MAC-STATUSInd primitive in the case that there is nothing to send. This primitive is also used to
indicate the current buer occupancy to MAC.
31
The following primitives between the RLC and the PDCP layer are used for user data
transfer in acknowledged mode:
2.3.6.5
The PDCP-DATA-Req primitive is used by the higher user-plane protocol layer in order to
request transmission of a higher layer PDU. PDCP-DATA-Ind is used by the PDCP layer
in order to deliver a PDCP SDU which has been correctly received from the peer entity.
2.3.6.6
Summary
Iur-Cap-Req : The DSCH capacity request provides means for the SRNC to request
DSCH capacity.
Iur-Data-Req : DSCH data request indicates the transmission of a data frame from
the SRNC to the DRNC in the UTRAN.
Iub-Data-Req : DSCH data request indicates the transmission of a data frame from
the DRNC to the Node B in the UTRAN.
I further introduce the primitive PHY-Data-Ind for transmission of a received data frame
from the physical to the MAC layer within the UE. Status messages are sent back on the
DCH indicated by the primitive Data ACK.
It's important that every TTI the scheduling entity in the MAC-c/sh layer assigns credits
to the RLC, i.e., the PDU's remain in the transmission buer within RLC till the RLC
block gets credits for transmission.
RLCDATAConf
IurDataReq
MACDATAReq
IurDataReq
Radio
Transmission
IubDataReq
PHY
Node B
IubDataReq
Scheduling
IurCapAlloc
MACSTATInd
MACDATAReq
MAC
c/sh
DRNC
Scheduling
IurCapReq
MACd
SRNC
MACSTATResp
RLC
SRNC
RLCDATAReq
PDCP
higher
layer
PDCP_DATA_Req
SRNC
SRNC
PHYDataInd
PHYDataInd
PHY
UE
UE
MACDATAInd
UE
higher
layer
UE
PDCPDATAInd
PDCP
RLCDATAInd
RLC
MACDATAInd
MAC
UE
32
Chapter 3
Propagation Environment
Simulations including higher layer protocols are computationally very costly even for trac
limited to one cell. For each user the whole UTRAN protocol stack has to be established.
Since radio conditions in a CDMA system depend on the interference caused by neighboring
cells, it is necessary to observe at least one tier around the concerned cell.
But it is
computationally not possible to simulate the whole protocol stack for each user within this
area. Therefore I consider inuences of neighboring cells with several parameters. I provide
a model which determines the interference from other cells depending on the location of the
user. I further calculate the power consumption of certain services depending on distance
between mobile and base station.
11
12
13
15
16
14
10
19
17
18
33
34
3.2.1 COST-Walsch-Ikegami-Model
This model is suitable for macro cell propagation in urban and suburban areas where the
buildings are more or less equally high. In NLOS-situation the transmission loss is composed
L = L0 + Lmsd + Lrts :
(3.1)
Free space loss is determined for a distance of 20m. The multiple screen diraction takes
the width of the streets and their orientation into account. The heights of the buildings and
their spatial separations along the radio path are considered by
Lrts .
assumptions,
the base station antenna height is 15 meters above the average rooftop
the dierence between the average rooftop height and the mobile antenna height is
10.5 meters
(3.2)
where L denotes the path loss in dB, and R denotes the distance between base station and
user equipment in kilometers. Additionally, the path loss is lower bounded by the free space
loss.
35
db.
is proposed. So additionally to the path loss calculated from the COST-Walsch-IkegamiModel, log-normally distributed shadow fading (
P athloss = L + LogF :
(3.3)
This model is suitable for static simulations. In my simulation, the moving mobile observes
variations of the shadow fading.
LogF (t) is
denotes the time step due to time discrete processing units. Then the shadowing variable
(3.4)
where a and b are constants and X is a random variable and has a log-normal distribution
with 0 dB mean and
dB standard deviation.
LogF
and
in
Equation 3.4 are independent random variables. Using Equation 3.4 the second moments
can be derived:
(3.5)
(3.6)
Inserting Equation 3.6 into Equation 3.4 and solving the dierential equation leads to
a2 X
0:5 dd )
(3.7)
(3.8)
dc
son of uncorrelated shadow fading and spatially correlated shadow fading with a correlation
distance
as 10 ms.
dt is assumed
36
Log F
30
30
20
20
10
10
Log F
10
10
20
20
30
0
10
20
30
40
50
30
0
10
20
t in s
30
40
50
t in s
Figure 3.2: Spatially uncorrelated (left side) and correlated (right side) shadow fading
received
signal
power
path loss
on
the
transmitted
signal
power
G_T x,
Rx_P ower
is calculated in dB as
[UMTS-25.942]:
(3.9)
Since the base station antenna is placed much higher than the antenna of the mobile, the
path loss cannot fall below a certain value, which is denoted as minimum coupling loss
MCL).
It is dened as the minimum path loss including antenna gains and cable losses.
For my simulation I take the proposed values from [UMTS-25.942], shown in Table 3.1.
Tx_Power
43 dBm
Tx_Power
43 dBm
11 dB
G_Rx
0 dB
MCL
70 dB
37
neighboring cells. Due to the high delay spread in macro cells, orthogonality is lost and
the mobile will observe signals of other users within the cell as interference. This fact is
described by the orthogonality factor
Iown is simply calculated by the path loss to the own base station
L1 (x; y ), the base station power P1 , the signal power of the dedicated application PApp and
the orthogonality factor
:
P1
P PApp
=
K
(3.10)
Iown(x; y ) =
1
L1 (x; y )
L1 (x; y )
The intracell interference
with
K=
P1
PApp
P1
(3.11)
Iother (x; y ) =
Pi
:
i=2 Li (x; y )
19
X
I
I (x; y ) = other
Iown
(3.12)
P19
Pi
Li (x;y)
P1
L1 (x;y) K
= i
=2
(3.13)
P1 = P2 = : : : = P19 .
2. Cells are highly loaded without dominant users. Then the signal power of the con-
P1
I (x; y ) =
19
1 :
L1 (x; y ) X
i=2 Li (x; y )
(3.14)
I (x; y ) is evaluated with the path loss from Equation 3.2 in Figure 3.3.
(3.15)
If we further take
the mean value over constant distances from the base station according to Equation 3.15
the average ratio of other cell to own cell interference
between user and base station is obtained. This is shown in Figure 3.4. With this result it
is possible to evaluate the power consumption of certain services depending on the location
of the user.
38
40
30
I(x,y)
20
10
0
1000
1000
500
500
0
y
500
500
1000
1000
10
8
I(r)
6
0
0
200
400
600
800
Distance from BS
1000
1200
Figure 3.4: Average interference ratio depending on the distance between base station and
the mobile
SINR =
where
Eb
Eb
I0 + N0
= (P
N0
SF PApp=L1
PApp)=L1 (1 + I (r)) + N0
(3.16)
I0 is the total interference power, PApp is the power of the considered application, P1 is the
total transmit power of the base station, L1 is the path loss,
is the orthogonality factor,
SF is the spreading factor and I (r) is the other cell to own cell interference ratio.
39
Link level simulations are performed at chip level, including all aspects such as coding,
power control, diversity, the receiver architecture, . . . . They provide the required
SINR
for dierent types of services. The evaluations in most cases are done for several channel
models.
The results from the ARIB IMT-2000 Study Committee [ARIB98] for the Pedestrian A
channel model for the downlink are shown in Table 3.2.
UDD 144, but compared with the simulation results from the Vehicular A channel it seems
reasonable to assume the same value as for UDD 64. Detailed conditions and assumptions
for these simulations can be found in [ARIB98, Annex3]. The term UDD is the abbreviation
for unconstrained delay data service and denotes packet switched background data.
Service
required
UDD 64
1.2 dB
UDD 144
1.2 dB
UDD 384
0.1 dB
Table 3.2: Link level simulation results for UDD services, Pedestrian A channel in downlink
direction [ARIB98, Annex3]
Now the required power for a certain service depending on the actual transmit power can
be calculated. Equation 3.16 leads to
PApp(r) =
(3.17)
Evaluating Equation 3.17 with the parameters in Table 3.3 and Table 3.2 and the calculated
path loss including shadow fading provides the required power for the designated service.
max. transmit power
orthogonality factor
noise power
N0
P1
20 W
0.4
-105 dBm
Chapter 4
Scheduling Algorithms
In future mobile networks many dierent types of applications will be available.
Some
applications require certain characteristics from the assigned resources in order to work,
others are more insensitive. Further, there will be dierent kinds of users, which do have
distinct quality demands. This arises the need for assigning resources in a smart way. On
the one hand in order to meet the requirements of the users, and on the other hand in order
to utilize resources most eciently.
4.1 Introduction
Applications can be classied into two groups [Keshav97]:
Best-eort
whatever the network assigns to them. For example, a le or a web page download of
course would prefer high bandwidth and low end-to-end delay, but it also works with
little resources.
Guaranteed-service
Now it's the schedulers task to provide guaranteed-service applications with their demanded
resources and to share the remaining resources equally among all best-eort applications.
A scheduling discipline must satisfy four, sometimes contradictory, requirements [Keshav97]:
performance bounds, fairness and protection, admission control and ease of implementation.
1. Performance bounds:
An operator can guarantee performance only by reserving some network resources.
40
41
Performance bounds can be expressed deterministically or statistically. A deterministic bound holds for every packet. Whereas a statistical bound is either expressed as
a mean value or a 95-percentile. This percentile expresses that the bound is met by
95% of all packets. Deterministic bounds of course require more network resources to
be reserved than statistical bounds.
General performance parameters are bandwidth, delay, delay jitter, and packet loss
due to transmission errors or full queues.
2. Fairness and protection:
Fairness is a desirable property of scheduling algorithms serving equal services.
If
there are several classes of services, fairness should be provided within every class.
Fairness means that resources are shared equally among all services which are ready
to send.
Protection means that a misbehaving user must not aect the performance of other
connections.
3. Admission Control:
Quality can be provided to the services only if the number of users within the network is bounded. Therefore, the admission control entity decides for a new service,
depending on the current load, whether it is accepted or not. By means of a schedulable regions, as shown in Figure 4.1, admission control can easily be performed. The
schedulable region includes all combinations of services which can be served. If the
resulting combination lies outside the schedulable region, the new service has to be
denied. The combination shown in Figure 4.1 depicts the case that no further service
can be accepted. The dimension of the schedulable region equals the number of trac
classes.
This technique also reveals the eciency of the scheduler and therefore by means of
schedulable regions, dierent schedulers can be compared.
# Class 2 users
C2
# Class 1 users
C1
Figure 4.1: Schedulable region [Keshav97]
4. Ease of implementation:
The scheduling algorithm has to do its decisions in real time, so the complexity of the
42
priority levels in the system depends on the number of delay classes which are supported.
In general there are at least three priority levels: high priority for status messages, medium
priority for guaranteed services trac and low priority for best-eort trac. Another degree
of freedom is the service order within one priority level. The scheduler either serves packets
from the same level in the order of their arrival or it oers means of reordering which lead
to a higher complexity.
Schedulers are capable of improving transmission for certain services.
provement is at the expense of worse performance for other services. This fact is revealed
by the conservation law [Kleinr75]:
rate
N
X
i=1
i qi = const
for schedulers which are only idle if all queues are empty. Since this equation is independent
of the scheduling discipline, reduction of the delay for a certain connection results in a higher
delay of other connections.
individual requirements.
So this
scheme is only applicable for equal users and in the case the common shared resource is
immensely oversized.
43
resource sharing mechanisms, status messages do have higher priority than user data. In
a priority scheduling scheme packets of a certain priority are only served if there are no
packets for transmission with higher priority. This method is called priority with exhaustive
service.
scheduling shall be applied for packets within the same priority level.
44
like packet delay in the case of earliest-due-date scheduling or transmission rate in the case
of rate-controlled scheduling.
If the system is overloaded, some packets will miss their deadline. Hence
admission control has to prevent such situations. This scheme could be implemented by
means of a linked list. However, inserting a packet into the list is computationally expensive.
Another approach is to realize this scheme with several late queues which do have distinct
priorities. Packets are moved to queues according to their remaining time till expiration.
The nearer the expiration deadline of a packet, the higher the priority becomes.
sponsible for shaping the trac of each service in order to guarantee conformance with the
desired trac pattern. Hence, the scheduler receives packets with a predened rate. The
scheduler then controls the transmission order of packets belonging to dierent services.
With this approach it is possible to assign to one service simultaneously a lower bandwidth
with higher delay requirements.
summary
First In
First Out
(FIFO)
rival.
Round
Resources
Robin
tributed
(RR)
45
advantages
disadvantages
No protection between
Easy to implement.
users.
No priorities possible.
are
in
discyclic
Scheduling
priority
are
rst.
served
Within
one
priority class, RR or
Flexible
priority
as-
signment
possible.
Protection
between
dierent
priority
High
implementation
complexity.
classes.
Easy to implement.
length.
ac-
packet
Earliest-
signed
Due-Date
deadline.
Scheduling
served
an
is
as-
expiration
Packets are
according
to
this deadline.
Rate-
ac-
tion.
throughput.
Computationally
expensive
and
high
of a maximum packet
implementation
com-
delay.
plexity.
Combination of a reg-
Enables
Controlled
ulator
of
Scheduling
uler.
and
sched-
combination
dierent
quirements.
QoS
re-
measurements of each user. In the following subsections I will present the scheduling algorithms I investigated in the further elaboration of my thesis. I also explain the transport
formats my simulator is allowed to use.
46
User 1
User N
IP
RLC
RLClayer
credit assignments
DTCH
DTCH
Scheduling algorithm
MAClayer
buffer occupancy
channel measurements
past allocated resources
interleaving schemes performed for dierent transport formats in the physical layer.
If a user has less PDU's waiting for transmission than it is permitted to send, then padding
PDU's are transmitted.
47
nominal bit rate of every user. Further, the scheduler needs to know every TTI those users
who want to transmit.
In the case of equal users, i.e.
RR_384:
Every TTI one user is allowed to send 12 PDU's. The users are served one by
one in a cyclic manner.
RR_64:
With this scheme, there are four users concurrently permitted to send four
PDU's each. Of course the users are again served cyclically. If there are less
than four users with PDU's waiting for transmission, the following scheme will
be applied:
3 users:
One user is allowed to send 9 PDU's, and 2 users are allowed to send
4 PDU's each. At consecutive TTI's alternate users are preferred.
2 users:
1 user:
In this case the single user is allowed to send 12 PDU's every TTI.
SQF_384:
Every TTI the user with the shortest queue is allowed to transmit 12 PDU's.
With this scheme there will be a high number of padding PDU's.
SQF_64:
With this scheduler, every TTI the four shortest queues are allowed to transmit
four PDU's. If there are less than four users with PDU's waiting for transmission, a similar procedure as seen above is applied:
3 users:
The user with the shortest queue is allowed to send 9 PDU's, and
the two others are allowed to send 4 PDU's each.
2 users:
1 user:
In this case the only user with PDU's is allowed to send 12 PDU's
every TTI.
48
Again I
LQF_384:
Every TTI the user with the longest queue is allowed to transmit 12 PDU's.
In this case the number of padding PDU's will not turn out as a problem.
LQF_64:
This scheme is equal to the scheme provided for SQF_64 except that shortest
has to be replaced by longest.
0.8
0.6
w
BO
0.4
0.2
0
0
200
400
600
800
1000
BO
wBO =
The actual power situation, i.e.
1+
BO
2 :
(4.1)
100
shown in Equation 4.2. Figure 4.4 also points out this relation:
wpower =
8
>
<
>
:
1
0:5
0
LogF=40 dB
: LogF < 20 dB
: 20 dB < LogF < 20 dB
: LogF > 20 dB
(4.2)
49
1.2
1
0.8
0.6
wPower
0.4
0.2
0
0.2
40
30
20
10
10
20
LogF
30
40
in dB
A further criteria is the mean number of recently allocated credits to the users. Therefore,
every time a user has PDU's waiting for transmission, both the actual number of assigned
PDU's and the TTI are stored into a buer. In this buer the last 200 such pairs are stored.
With this, the mean number of recently allocated PDU's per 10 ms can be calculated as:
1
0.8
0.6
w
credits
0.4
0.2
0
0
4
6
credits/credits
10
12
UDD
credits =
P200
i=1
(Num:
of P DU 0 s)i
:
P
200
=1
T T Ii
(4.3)
The target number of assigned PDU's of course depends on the nominal bit rate of the
users. Hence, the variable
creditsUDD
8
>
<
>
:
2
creditsUDD = 4:5
12
for UDD_64
for UDD_144
for UDD_384
In Equation 4.5 the calculation of the weight for recently assigned PDU's
(4.4)
wcredits is shown.
Figure 4.5 also represents this relation. It is chosen that way, that a user that obtains the
50
wcredits =
credits
1 + 4 credits
UDD
(4.5)
g1 + g2 + g3
(4.6)
By increasing parameter
g1
By increasing parameter
g2
By increasing parameter
g3
eect.
implemented
this
concept
in
various
realizations
(WS_SQF_64,
WS_SQF_384,
WS_SQF_384:
Every TTI the user with the highest weight is allowed to transmit 12
PDU's.
WS_SQF_64:
Four users with the highest weights are allowed to transmit four PDU's
each. If there are less than four users I use a similar approach as for SQF_64
and LQF_64:
3 users:
The user with the highest weight is allowed to send 9 PDU's, and
the two others are allowed to send 4 PDU's each.
2 users:
1 user:
In this case the only user with PDU's is allowed to send 12 PDU's
every TTI.
If the parameters
g1 < 0.
g2
> 0 and as
LQF if
scheduling performance.
The Weighted Scheduler based on RR doesn't consider BO, hence
is implemented as follows:
g 3 = 0.
This scheduler
51
ts ,
RR_384 is
performed. Otherwise the user with the highest weight is allowed to transmit
12 PDU's. After serving users due to high weights, Round Robin continues with
that user following to the last one served by the previous Round Robin cycle.
WS_RR_64:
ts ,
RR_64 is per-
ts :
pancy is less or equal 9, only 9 credits are assigned and the remaining
PDU's are distributed by the Round Robin algorithm. If
BO 4,
then only 4 credits are assigned and again the remaining PDU's are
used for RR_64.
2 weights >
by RR_64.
3 weights >
ts :
Two users are allowed to transmit 4 PDU's each, the user with
BO 4, the remaining
ts :
ts :
Chapter 5
Simulation Environment
For investigations of the protocol behavior and the performance of the scheduling algorithms I use the discrete event simulator OMNET++ . OMNET++ consists of a rich
C++ library which enables convenient generation of simulation programs. The simulation
tool OMNET++ is described in Appendix B.
In Section 5.1, I describe the basic structure of my simulation environment. In Section 5.2,
the implementation details are shown.
start
session
start
session
start
session
GEN
Sender
RLC
MAC
Radio Resource
Control
Evaluation
start next
packet call
send
statistics
send
statistics
send
statistics
Data ACK
MAC
Receiver
RLC
SINK
user 3
user 2
user 1
A simulation run consists of three phases: Initialization, Simulation and Evaluation. These
phases are described in the following:
1. Initialization
During the initialization phase the Radio Resource Control (RRC), which controls
and monitors the whole simulation, is established. Simulation parameters are loaded
and initial values for random generators are set.
52
53
2. Simulation
The simulation phase is controlled by the RRC. Users are generated according to a
Poisson process. Every time a new user enters the system, the whole protocol stack for
this user is established. This includes RLC, MAC-d and MAC-c/sh on both UTRAN
and UE side, as well as the trac generator at the UTRAN side and the sink at the
UE side. MAC-c/sh at the UTRAN side is established only once, since this entity is
common to all users in the system.
When the protocol stack is established, the trac generator is set up in order to start
the session by generating IP packets from the rst packet call.
segmented into RLC PDU's and stored at the RLC layer. Transmission to the peer
RLC entity is performed according to Figure 2.20. The RLC PDU's are reassembled
into IP packets at the RLC entity of the receiver and transmitted to the sink. After
the last IP packet of a packet call is received by the sink, the reading time is started.
After this time, the sink sends a request to the trac generator in order to start the
next packet call.
If the last packet call from the session is completely received at the sink, the receiver
sends statistics to the RRC and the user is deleted from the system.
The simulation phase is terminated after a certain, predened simulation time limit.
If this time limit is reached, all users are deleted from the system.
3. Evaluation
In the evaluation phase, mean values and distribution functions are calculated and
written into log-les.
54
bit rate
= session time
(5.1)
The standby time is constituted of the reading time, the SDU delay from the trac gen-
55
erator to the receiver and the delay of the request message from the receiving side to the
trac generator.
The statistics of the PDU delay, i.e., the time between the generation of a PDU in the
RLC at the transmitting side till the correct reception in the RLC at the receiving
side is measured.
The number of the padding blocks due to assignments of more PDU's than available
for transmission is measured.
The statistics of the number of transmission till a correct reception are recorded.
The link between RLC and MAC layer is assumed to be ideal because both layers will be
realized on the same host.
56
MAC-d and MAC-c/sh at the UE side are combined to one entity because there are both
entities for each UE. This block performs the mapping of the DSCH to the DTCH for data
in the downlink and the mapping of DTCH to DCH in the uplink.
The link from the MAC entity at the UE side and MAC-c/sh entity at the UTRAN side
contains the air interface of the DCH. The DCH is assumed with a TTI of 10 ms, thus
the interleaving is 10 ms, too. The delay due to wave propagation is negligible against this
duration so this link is congured with a delay of 10 ms. The block error ratio on the DCH
is assumed as a truncated normal distribution with a mean of 1% and a standard deviation
of 0.1%. The distribution is truncated to negative values.
The link between MAC-d and MAC-c/sh at the UTRAN side can either be internal within
one host or in case of handover situations it can be realized over the Iur-interface. For the
DSCH, soft handover is not supported, i.e., by means of a SRNC relocation it is possible
to prevent the network of handling the DSCH over the Iur-interface. In the current version
of my simulator it is assumed that instead of handovers, SRNC relocation is performed.
The 3GPP standard, [UMTS-25.321] and [UMTS-25.425], denes that the amount of data
waiting for transmission is indicated dierently between RLC and MAC-d and between
MAC-d and MAC-c/sh. In my simulation I take the parameter BO for both interactions,
instead of using CmCH-PI between MAC-d and MAC-c/sh.
Depending on the actual transport format used for the DSCH the corresponding power
consumption for this channel is calculated according to Equation 3.17.
Every TTI, the actual path loss and the power consumption of the DSCH are calculated according to Section 3.2.3 and Section 3.4. It is assumed that the scheduler
knows the current path loss situation due to perfect prediction.
Transmission over the air interface of the DSCH is realized as a channel with propagation
delay equal to the actual TTI plus the delay due to indication on DCH (see Section 2.3.1.1).
This results in a delay of either 22 ms or 32 ms with the used transport formats from
57
The active session throughput is evaluated according to the proposal from ETSI
[ETSI98].
(5.2)
This means that additionally to the reading time the time within packet calls, where
there are no packets in the RLC transmit buer, is not counted in the denominator,
opposed to Equation 5.1. With this denition it is possible that a user with a nominal
bit rate of e.g. 64 kbit/s is served with an active session throughput higher than 64
kbit/s.
ETSI denes that a user is satised if the following conditions are fullled [ETSI98]:
The user doesn't get blocked when arriving to the system. If blocking is applied,
the proponent must specify used blocking criteria. In my simulator, a user gets
blocked if the maximum number of users in the system is reached.
The user doesn't get dropped during transmission. If dropping is applied, the
proponent must specify used dropping criteria. In my simulator, a user doesn't
get dropped by the system.
The active session throughput is equal or greater than a certain threshold. This
threshold is assumed to be 10% of the nominal bit rate shown in Table A.1, i.e.,
0.8, 3.2, 6.4, 14.4, 38.4 and 204.8 kbit/s for nominal bit rates of 8, 32, 64, 144,
384 and 2048 kbit/s. This criterion is evaluated after a session nished.
The network should be dimensioned for a maximum of 2% unsatised users.
58
generation of an SDU at the trac generator till the entire reception at the receiving
side.
The entire duration of the session is measured. A session starts when the request at
the receiving side is sent out and it ends when the last IP packet is received correctly.
5.2.6 RRC
The Radio Resource Control (RRC) in my simulation contains just a small part of the really
huge document [UMTS-25.331].
activities:
Establishment of users is done according to a Poisson process with a certain intersession-arrival time. The mean number of users in the system is calculated as follows:
session duration
= meanmean
inter session arrival time
(5.3)
Since the duration of sessions depends on network parameters, the number of users
varies for dierent schedulers.
Further, each user is assigned a position equally distributed within the cell and a
velocity equally distributed in the range of 3 to 10 km/h. In the current release of
my simulator handovers are not considered. Therefore, users are not allowed to move
beyond the cell boundaries.
Users are released from the network either if the session nishes or if a user becomes
unsatised during the simulation run.
Since users are generated statistically, situations with lots of users in the system are
possible. In order to avoid congestion, a simple admission control mechanism which
limits the number of users in the system is performed.
The parameters measured in various entities of the network are sent to RRC which
calculates mean values or distribution functions. After nishing a simulation run, the
collected information is written into log-les. The following parameters are observed:
59
the mean number of users in the system, i.e. all users that entered the system
once are taken into account for this measurement
active session throughput, SDU delay, session duration, mean ratio of padding
PDU's versus correctly received PDU's and the mean number of transmissions
per correctly received PDU are collected only for satised users
Chapter 6
Results
In this chapter I provide the results evaluated with my UMTS simulator. First of all, I
adjust the parameters of the RLC-layer in order to maximize the protocol performance.
With these parameters I investigate the behavior of the scheduling algorithms in dierent
trac situations. Similar investigations for the UMTS TDD Mode are done in [Raji00].
The architecture of the simulator and conditions for performing the simulation are presented
in Section 5.2.
Congured_Tx_Window_Size
Poll_PU,
and
Congured_Rx_Window_Size,
receiver window will be set equally and will be denoted as Window_Size. The main objective is to optimize the protocol with respect to the active session throughput. Adjusting
the protocol for interactive services, i.e, a further criterion would be a short round trip
time (RTT), it would lead to distinct parameters.
At rst, I investigate the protocol performance depending on the Status_Prohibit_Time
and the Window_Size parameter. The simulation is performed with the parameters shown
in Table 6.1.
dimensional plots of the graphs of Figure 6.1 are shown with a Window_Size equals 1024.
In Figure 6.2 the inuence of the parameter Status_Prohibit_Time can be determined:
The mean number of transmissions per correctly received PDU, shown in Figure
6.2(d), mainly depend on the block error ratio (BLER), the RTT and the status
prohibit time.
follows:
60
CHAPTER 6. RESULTS
61
parameter
value
unit
50
30
3.0
user type
UDD_64
scheduling algorithm
RR_64
16, 32, 64, 128, 256, 512,
Window_Size
PDU
Status_Prohibit_Time
ms
Status_Period_Time
500
ms
Poll_PU
32
PDU
Poll_Window
70
PDU
probability
0:9
0:1 0:9
0:1 0:1 0:9
1. transmission:
2. transmission:
3. transmission:
...
...
1
X
x=1
x 0:1x
= 1:1111 : : :
If Status_Prohibit_Time is smaller than RTT, additional unnecessary retransmissions are initiated. The RTT depends on the actual trac situation. Hence, with
a high Status_Prohibit_Time there are less situations with RTT smaller than Status_Prohibit_Time.
In Figure 6.2(b) it can be seen that there is a at minimum of the SDU delay for
Status_Prohibit_Time values around 0.25 seconds. This is caused once due to unnecessary retransmissions for low Status_Prohibit_Time values and secondly due to
an excessive delay of acknowledgments for high Status_Prohibit_Time values which
also yields to a higher SDU delay. In higher loaded cells this minimum moves towards
higher Status_Prohibit_Time values.
The ratio of padding PDU's to correctly received PDU's doesn't depend on the Status_Prohibit_Time, as shown in Figure 6.2(c). This variation is due to the randomness in the system.
CHAPTER 6. RESULTS
62
in s
4
x 10
7
14
12
10
4
2
0
0
0
200
500
1000
in ms
400
1500
2000
600
0
0
200
500
1000
in ms
400
1500
2000
600
Window Size
Window Size
250
1.6
200
1.5
150
1.4
100
1.3
1.2
50
0
0
0
200
500
1000
400
1500
2000
600
in ms
1.1
0
200
500
1000
400
1500
Window Size
2000
600
in ms
Status Prohibit Time
Window Size
Figure 6.1: RLC performance depending on the Window_Size (in PDU's) and the Status_Prohibit_Time
Errors on consecutive transport blocks of one user on the DSCH as well as errors
on the DCCH as well as a high RTT are responsible that the position within the
transmitter window pursues towards the upper edge. In the case of a small window
size the upper edge of the window size is reached more often. The MAC layer doesn't
know that the RLC protocol is at the upper edge and assigns credits to the user.
Since the user can't send data PDU's, padding PDU's are transmitted instead. This
can be seen in Figure 6.1(c). From this it follows that the active session throughput,
Figure 6.1(a), is very low and the mean SDU delay, 6.1(b), is high for small window
sizes. Simulations with a higher BLER need a Window_Size up to 2047 in order to
CHAPTER 6. RESULTS
in bit/s
4
x 10
63
in s
2.8
6.5
6
2.6
5.5
5
2.4
4.5
2.2
4
3.5
2
3
2.5
0
100
200
300
400
Status Prohibit Time in ms
500
600
1.8
0
100
1.5
6.8
1.4
6.6
1.3
6.4
1.2
200
300
400
Status Prohibit Time in ms
500
600
Figure 6.2:
600
100
500
7.2
6.2
0
200
300
400
Status Prohibit Time in ms
1.1
0
100
200
300
400
Status Prohibit Time in ms
500
600
dow_Size=1024 PDU's
work well. For a BLER of 10% a window size of 1024 is sucient. Higher values don't
change the protocol behavior for the parameter set from Table 6.1.
I further investigated the dependency of the parameters Poll_PU, Poll_Window and Status_Period_Time:
Poll_PU and Poll_Window specify the number of polls sent towards the peer entity.
Only one status message is sent when the status prohibit timer expires, even
if several polls occurred. Since high throughput is obtained with high values of Status_Prohibit_Time and Window_Size, the number of polls till expiration doesn't
CHAPTER 6. RESULTS
64
have any inuence. Only with a small status prohibit time, a small Poll_PU value
would cause additional unused retransmissions which decreases the performance.
In case of a high window size the upper edge of the transmit window is almost never
reached and therefore also Poll_Window has no signicant eect.
These simulations were executed with the parameters from Table 6.1.
I also performed
the simulations with UDD_384 users. The trac class determines the inter arrival time
between packets and the threshold for the user satisfaction criterion. It turned out that the
shape of the gures is very similar for dierent trac classes, i.e. the RLC parameters for
optimum protocol performance don't depend on the trac class. Further I investigated the
protocol behavior for increasing the number of active users in the system by changing the
inter session arrival time and the maximum number of users. The results of these variations
suggest to take even higher values for Status_Prohibit_Time as well as for Window_Size.
Thus, for simulations in Section 6.2 the parameters listed in Table 6.2 are chosen.
parameter
value
unit
Window_Size
1536
PDU
Status_Prohibit_Time
550
ms
Status_Period_Time
500
ms
Poll_PU
32
PDU
Poll_Window
70
PDU
ambiguity of sequence numbers is possible. Let's assume that the window size is e.g. 2560
and consider the following case:
- only a PDU with a sequence number 2500 lower than the actual one is missing
- the receiver sends a negative acknowledgement to the peer transmitter
- the transmitter receives this negative acknowledgement and retransmits the corresponding PDU
CHAPTER 6. RESULTS
65
- due to congestion, the PDU remains some time longer in the network
- the timer Timer-Status-Periodic at the receiver expires and sends a further negative
acknowledgement
- the receiver gets the retransmitted PDU, moves its receiving window 2500 PDU's
higher and sends a positive ack.
- then the transmitter receives the second negative ack. and retransmits the PDU again
- the positive ack. is received by the transmitter and it moves its transmitter window
- now the receiver gets the second retransmission, and this one is now within the new
receiver window although this is not the right PDU
3GPP_TSG_RAN_WG2. I got some dierent replies but I mostly trust the answer which
suggests to use only window sizes lower than 2048. This was also my proposal.
The above mentioned problem could also arise for window sizes lower than 2048. That is, if
between the rst and the second retransmission of the missed PDU, in the example above,
some regular PDU's are correctly transferred. But this case never happened up to now in
my simulations.
value
50
30
user type
UDD_64
unit
CHAPTER 6. RESULTS
in %
100
66
90
80
70
in %
60
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
50
40
60
50
30
40
20
30
20
10
10
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
0
1
1.5
50
4.5
in %
45
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
60
2.5
3
3.5
inter session arrival time in s
in %
70
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
40
35
30
40
25
30
20
15
20
10
10
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
Figure 6.3: Number of unsatised users depending on the inter session arrival time
RR_384 scheduler fullls the requirements for 98% of the users. The comparison of different scheduling algorithms for a certain inter session arrival time has to be done very
carefully since the number of users in the system varies. This is shown in Figure 6.4.
In Figure 6.3 the number of unsatised users for each condition within the user satisfaction
criterion is shown.
It exposes that
Short Queue First as well as Long Queue First doesn't consider all those users with the
CHAPTER 6. RESULTS
67
50
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
45
40
0.9
0.8
0.7
35
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
0.6
30
0.5
25
0.4
20
0.3
15
0.2
10
5
1
0.1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
0
0
10
15
20
25
30
number of users
35
40
45
50
Figure 6.4: Mean number of active sessions depending on the inter session arrival time (a)
and cdf of the number of active sessions for an inter session arrival time of 1.7 s (b)
opposite queue size. This can be seen in Figure 6.3(d), because even for a low system load,
i.e. a high inter session arrival time, users are unsatised because they are not served for a
period longer than 30 seconds.
In Figure 6.3(c) it can be seen that SQF provides the remaining users with high data rates
since there are only a few users with a too low active session throughput. This can be seen
also in Figure 6.7. These high rates are at the expense that users with long queues are not
served.
In Figure 6.3(b) the number of users which are blocked by the admission control entity is
shown. It depends on the mean number of active users, the mean session duration, and on
the mean SDU delay. These parameters are described later in this section.
In Figure 6.3(a) the number of unsatised users due to any criteria is shown. This is the sum
of the number of users shown in sub-gure (b), (c) and (d). With the RR_384 scheduler,
the 2% level is reached for an inter session arrival time of 1.66 seconds. RR_64 has worse
performance since coding and interleaving is not as ecient.
The mean number of active users, Figure 6.4, the mean SDU delay, Figure 6.5, and the mean
session duration, Figure 6.6, are strongly interrelated. If the mean SDU delay increases, of
course it takes longer to nish a session. Longer sessions again increase the mean number of
users in the system, see Equation 5.3. Since for SQF and LQF schedulers users resign the
system even for low load, the oered trac for RR schedulers is higher than for SQF and
LQF. This results in a higher SDU delay and a higher session duration. LQF also results
in a high SDU delay and a high session duration since sessions are only nished if there
are no users with long queues in the system. With the distribution of the number of users
CHAPTER 6. RESULTS
in s
18
68
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
16
14
0.9
0.8
0.7
12
0.6
10
0.5
8
0.4
6
0.3
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
0.2
0.1
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
0
0
10
15
20
25
SDU delay in s
30
35
40
Figure 6.5: Mean SDU delay depending on the inter session arrival time (a) and cdf of the
SDU delay for an inter session arrival time of 1.7 s (b)
in s
120
1
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
110
100
90
0.9
0.8
0.7
80
0.6
70
0.5
60
0.4
50
0.3
40
0.2
30
0.1
20
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
0
0
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
20
40
60
80
100
120
140
session duration in s
160
180
200
Figure 6.6: Mean session duration depending on the inter session arrival time (a) and cdf
of the session duration for an inter session arrival time of 1.7 s (b)
in the system, Figure 6.4(b), the number of blocked users becomes obvious. In the cdf 's
of the session duration, Figure 6.6(b), there is an edge discernible for SQF and LQF, since
users resign if they are not served for a period longer than 30 seconds.
CHAPTER 6. RESULTS
in bit/s
4
x 10
69
18
16
14
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
0.9
0.8
0.7
12
0.6
10
0.5
0.4
0.3
0.2
0.1
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
0
0
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
1
3
4
5
6
7
active session throughput in bit/s
10
4
x 10
Figure 6.7: Mean active session throughput depending on the inter session arrival time (a)
and cdf of the active session throughput for an inter session arrival time of 1.7 s (b)
In Figure 6.7 the active session throughput is shown. The comparison of dierent scheduling
algorithms has to be done together with the number of active sessions in the system because
the oered trac varies for dierent schedulers. The cdf shows that only RR doesn't provide
users with rates lower than a certain threshold. Since the cdf is almost vertical, RR assigns
resources in a fair manner to the users. The cdf for RR_384 is not as vertical as for RR_64.
The reason is, that the number of users in the system in case of RR_64 is more the less
constant since the mean number of users is near the limit set by the admission control
entity, see Figure 6.4(b). In case of RR_384, the number of users varies due to the Poisson
process, so in case of less system load users are served with higher rates. Therefore the cdf
is not completely vertical.
In Figure 6.8, it can be seen that the power consumption behaves similar for RR_64,
SQF_64 and LQF_64 and similar for RR_384, SQF_384 and LQF_384. The dependency
of the scheduler can be seen at the cdf for low power values.
unequal to zero, there are situations with BO=0 for all users. This of course depends on
the number of active sessions in the system. The power consumption and its distribution
further depends on the propagation environment, see Chapter 3. In my simulations users
are equally distributed, the cell radius is 2 kilometers and I use the COST-Walsch-Ikegami
propagation model. With this, my investigations show that the average power consumption
of one PDSCH with SF=8 (RR_384, SQF_384, LQF_384) is about 2.5 Watt for high load,
whereas four PDSCH with SF=32 (RR_64, SQF_64, LQF_64) require about 3.5 Watt.
CHAPTER 6. RESULTS
70
in W
4
3.5
0.8
3
0.7
0.6
2.5
0.5
2
1.5
0.5
1
0.4
0.3
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
1.5
RR_64
RR_384
SQF_64
SQF_384
LQF_64
LQF_384
0.2
0.1
2
2.5
3
3.5
inter session arrival time in s
4.5
0
0
3
4
5
power consumption in W
Figure 6.8: Mean power consumption depending on the inter session arrival time (a) and
cdf of the power consumption for an inter session arrival time of 1.7 s (b)
WS_SQF_384
The parameter
g2
g1
g2
g3
value
1.0
0.0
0.3
CHAPTER 6. RESULTS
throughput.
71
The number of
unsatised users is almost equal to RR_384. The crossing point at an inter session arrival
time of 2.2 seconds probably would vanish in simulations with a longer simulation time
limit.
A higher mean active session throughput in combination with a higher mean SDU delay
results from the fact that WS_SQF_384 treats small sessions with higher priority than
long sessions. Sessions with only few and small SDU's will get a high throughput and a
small SDU delay opposed to sessions with long SDU's. Essential is that the statistics of
small sessions is built with one high value for the active session throughput and only a few
small SDU delays. For long sessions the statistic is built with one lower value for the active
session throughput and many high values for the SDU delay. That's the reason for high
values for both the mean active session throughput and the mean SDU delay.
CHAPTER 6. RESULTS
in bit/s
5
x 10
72
in s
12
1.8
RR_384
WS_SQF_384
10
1.6
1.4
1.2
1
0.8
4
0.6
0.4
0.2
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
35
30
25
20
15
10
5
0
1
1.5
2.5
3
3.5
inter session arrival time in s
4.5
g2 =0.0, g3 =0.3)
Chapter 7
Summary and Conclusions
The aim of this thesis was the investigation of dierent scheduling algorithms for web
trac on the DSCH in UMTS FDD downlink. Therefore I developed a simulation tool that
consists of the whole radio interface protocol stack of UMTS and a trac generator. This
trac generator delivers IP packets according to the ETSI web trac model.
In Chapter 2, the UMTS network architecture and the protocols used for transmission
within the radio access network are explained.
the physical layer (PHY), the medium access layer (MAC) and the radio link control layer
(RLC).
In Chapter 3, I introduce a method for considering other cell interference and calculating the
power consumption of the PDSCH in a multicell environment. Therefore two assumptions
are necessary. The rst one is that all Node B's near the target cell transmit at the same
power level. Secondly I assume that the signal power of the considered application is small
against the base station transmit power. With this, the other cell to own cell interference
ratio can be evaluated depending on the user position.
In Chapter 4, I explain standard scheduling algorithms like Round Robin, Short Queue
First and Long Queue First. I show how these algorithms can be applied within UMTS. I
also provide some extensions to them in order to enhance their performance.
After a detailed description of my simulation environment in Chapter 5, I provide the results
generated with my simulator in Chapter 6.
In the following sections I present some major insights and conclusions based on the results
in Chapter 6.
7.1 Summary
Inuence of RLC parameters
In Section 6.1, I investigated the performance of the RLC layer depending on several parameters. It turned out that for transmission of non-real time services the main parameters are
73
74
the Window_Size and the Status_Prohibit_Time. In order to increase the active session
throughput, the window size and the status prohibit time must be set to high values. This
is independent of the actual trac situation.
Higher bit rates require less energy per bit, since coding and interleaving is more
ecient for high data rates, see Table 3.2.
The transport format of the PDSCH with SF=8 provides transmission of 12 PDU's
every 10 milliseconds, whereas four PDSCH with SF=32 only can transmit 4 4 PDU's
(=16 PDU's) every 20 milliseconds.
The user doesn't get blocked when arriving to the system. If blocking is applied, the
proponent must specify used blocking criteria.
The user doesn't get dropped during transmission. If dropping is applied, the proponent must specify used dropping criteria.
The active session throughput is greater than the 10% of the nominal data rate.
75
I implemented blocking when the maximum number of users is reached. Dropping is not
applied in my simulator. With these criteria the scheduling algorithm Short Queue First
has best performance. But actually users with long queues are not served and remain in
the system till the end of the simulation. So only users with small sessions can nish and
only they are taken into the statistics.
This is not as it happens in reality. Therefore I introduced the following satisfaction criterion
which combats these deciencies:
A user must be served with at least one RLC PDU within a certain period, denoted
as maximum idle period. Otherwise the user resigns the system and feels unsatised.
With these criteria, Short Queue First has lots of unsatised users since they are not served
for a certain period, which is quite intuitive.
Weighted Scheduling
In Section 4.5.5, I explain the concept of a scheduler which serves the user with the highest
weight. The weight depends on the buer occupancy, the channel condition and recently
assigned credits to the users.
I tried to adjust the parameters of this scheduler in order to maximize the active session
throughput.
In Section 6.2.2, it can be seen that the active session throughput of this
76
7.2 Conclusions
The performed simulations lead to the following conclusions:
Scheduling of non-real time trac should be performed by the algorithm Round Robin
for users with equal quality requirements.
The algorithms Short Queue First and Long Queue First are not acceptable, since
user with the opposite queue size are not served.
The Weighted Scheduling algorithm WS_SQF_384 is not recommended for implementation. It only has better performance than RR_384 in terms of the active session
throughput since it is adapted to the way statistics are built in this simulation.
Scheduling should be done in a time division manner, which means that high data
rates should be allocated to the users in a small time raster.
For simulations of mobile networks I strongly recommend to apply not only the user
satisfaction criteria proposed from ETSI. Also a criterion which considers the actual
situation of the user has to be implemented.
IP
packets are segmented and stored in the RLC layer. Scheduling is done within the
MAC layer. In order to meet strict delay constraints, arrival times of IP packets must
be known by the scheduler. Up to now, the standard doesn't provide the exchange of
such information between MAC and RLC layer. Therefore extensions to the UMTS
Standard are necessary.
Appendix A
The ETSI Web Trac Model
Nowadays web trac is the most important application used by the Internet community.
The European Telecommunications Standards Institute (ETSI) provides a trac model for
web users in a wireless environment, see [ETSI98]. This model is recommended to be used
for performance evaluations in GPRS and UMTS.
The model is based on three levels, the session level, a packet call level and a packet level.
The session level describes the behavior of the user along the day, i.e., it determines the
statistics of starting a web session.
the user visits during one session and its distribution as well as the idle time between
consecutive web pages is modelled.
TCP/IP packets. The size and the interarrival time of the packets are determined.
session level
1 web session
1 packet call
interarrival time
between packets
When the whole document is received at the terminal, the user takes some time for reading
the downloaded information. This time is called reading time.
The model should be able to generate trac with real characteristics. The main property
of web trac is its burstiness, i.e, the bit rate can change rapidly from zero to hundreds
77
78
of kilobits per second. In order to describe the typical behavior of web trac, the above
mentioned parameters are modelled in the following way [ETSI98]:
The session arrival process is modelled as a Poisson process resulting in an exponentially distributed interarrival time of consecutive sessions.
arrival processes because it models equally distributed time instants for the beginning
of sessions.
The process itself only generates the time instants when service calls
begin, there is no statement about the termination of the session. Together with the
mean session duration the average number of users in the system can be determined.
The distribution of the number of packets within a packet call can be adapted to
the trac case actually investigated.
distribution.
The interarrival time between consecutive packets inside a packet call is geometrically
distributed as well.
The distribution of the packet size shall be again adopted to the trac case under
study. Pareto distribution with cut-o is proposed in [ETSI98].
In Table A.1 the mean values for the distributions of the parameters are provided for several
services.
bit rate
is dened as
number of bits
= session timetransmitted
:
reading time within the session
So it can be shown easily how the parameters contribute to the designated bit rate. If we
assume that the mean packet length is 480 byte, which we will show in the next section,
we can proof for example UDD 64:
this point it is assumed that there is no delay of packets between source and receiver. The denominator actually contains the time when the source is active, so in case of packet delay also the mean packet
delay should be subtracted in the denominator.
79
average
average
average
average inter-
parameters
number of
reading
number of
arrival time
for Pareto
distribution
packet calls
time
packets
between packets
UDD 8
4 s
25
0.5 s
UDD 32
4 s
25
0.125 s
UDD 64
4 s
25
0.0625 s
UDD 144
4 s
25
0.0277 s
UDD 384
4 s
25
0.0104 s
UDD 2048
4 s
25
0.00195 s
=1.1
k=81.5, =1.1
k=81.5, =1.1
k=81.5, =1.1
k=81.5, =1.1
k=81.5, =1.1
k=81.5,
fx (x) =
Fx (x) =
=
k
x+1
0
1
; x<k
; xk
k
; x<k
; xk
k
;1<<2
1
2 ! 1 ; 1 < < 2
Due to the limitation of the IP packet size to 65536 bytes the used distribution for packet
generation has to be truncated. The packet size is dened with the following formula
packet size
= min(P; m);
= 1:1 and
= 81:5 bytes and m is the maximum allowed packet size (m=66666 bytes, dened in
[ETSI98]). This means that the packet size is lower bounded by the parameter k and upper
bounded by the parameter m. With this the probability density function of the packet size
is a truncated Pareto distribution:
2 In
the ETSI document [ETSI98] there is a misprint: the average reading time must be 4 seconds
instead of 412 seconds, [CFM00].
0
fn (x) = (x)
0
where
k
x+1
80
; x<k
; kxm
; x=m
; x>m
Z1
m
fx (x) dx =
k
m
; > 1:
n =
Z1
x fn (x) dx =
k
k
x +1 dx + m
m
1 x
Zm
= ::: =
k
m
k
m
= 1:1 and k = 81:5 bytes, the mean packet size is 480 bytes.
25 480 bytes = 12 kbytes.
0.012
0.01
0.008
fn(x)
0.006
0.004
0.002
0
0
100
200
300
400
500
600
700
800
900
1000
Appendix B
Discrete Event Simulation System
OMNET++
OMNET++ is primarily designed to simulate communication protocols, computer networks and other distributed systems. This simulator was developed at the technical university of Budapest by Andrs Varga.
charge.
Since
OMNET++
is based on Tcl/Tk
most platforms like Linux and most Unix systems as well as Windows 95, 98 and NT
as well as Macintosh. The whole software package can be downloaded from the web page
http://www.hit.bme/phd/vargaa/omnetpp.htm. For my thesis I use OMNET++ version
2.0 [Varga01].
It is as-
sumed that nothing happens between two consecutive events. The activities elapse without
consuming simulation time. Such a system contains a queue which stores events which have
to be processed in the future.
are stored in ascending order of their time stamps and they are processed according to the
following pseudo-code [Varga01]:
81
82
}
finish simulation (write statistical results, ...)
During the initialization phase the network structure is built and initial events are placed
into the FES in order to start the simulation. Afterwards, events are taken from the FES
successively in the correct order. Processing an event involves calls to user-supplied code.
Events normally cause further events in the FES, but they may also remove some events.
The simulation stops when there are no events left in the FES or if the simulation time or
the CPU time reaches a certain limit. At least at this time, statistical parameters measured
during the simulation can be displayed or written into les.
... channels
simp
s1
s2
... gates
... simple modules
comp
Simple Modules
Compound Modules
pound modules. With this means the system can be organized in a hierarchical structure. The task of this module type is to transfer messages to their submodules. The
The interface of modules is dened by input and output gates. These gates are connected
83
Propagation delay:
The propagation delay is the amount of time the message is delayed when it travels
through the channel. Propagation delay is specied in seconds.
BLER = 1
(1
Data rate:
The data rate of the channel is specied in bits per second and together with the
message length the transmission delay can be calculated. Thus, the delay between
sending a message and the reception of the last bit from this message is constituted
of the propagation delay and the transmission delay.
A message can
B.3 Programming
The topology of the simulation system is dened by a specic Network Denition Language
(NED). The NED language supports a modular description of the network. Each module is
derived from a certain NED-declaration, which species its parameters, its submodules, its
gates and connections. Network descriptions are not used directly, they are rst translated
into C++ code by the NEDC compiler which is part of OMNET++ . Then all C++ sources
are compiled and linked with the simulation kernel and a user interface into the executable
program. There is a graphical user interface, called Tkenv, which is convenient for development, debugging but also for demonstration purposes (see Section B.4). For evaluation
purposes, the simulation will be performed in a simple and fast command line user interface,
called Cmdenv, which is designed primarily for batch execution.
In the following I provide a simple fragment of a NED program which establishes the
structure shown in Figure B.1:
simple End
gates:
in : in;
out: out;
endsimple
simple Middle
gates:
84
tains an additional C++ le and the appropriate header le. Simple modules are instances of
which should be treated only once can be placed, like reading parameters from les. The
finish()-function
the simulation can be recorded. Messages in simple modules can be handled in two distinct
manners:
The
The
85
There is a fundamental dierence how OMNET++ treats these two approaches internally.
The advantages of
activity()
cause they are preserved across events since the function maintains in the memory. Further activity() often is more convenient
handleMessage() is that less stack memory
than
handleMessage().
The advantage of
is used.
There are further functions which are necessary in order to enable operation of the simulation network:
send()
wait()
With
scheduleAt()
With
cancelEvent()
messages are often used to implement timeouts. If a certain event happens before the
timer expires, the expiration message has to be deleted from the FES.
end()
OMNET++ also provides a rich C++ class library which supports many useful tasks, like:
cVarHistogram,
cStdDev
and
cWeightedStdDev
classes.
cLongHistogram, cDoubleHistogram,
....
and
cBag
cOutVector
and function
classes.
... .
cTopology
class.
recordScalar().
When the program is started, a conguration le is loaded. This le contains settings that
control how the simulation is executed and it loads initial values of model parameters. The
conguration le can also specify several runs of the simulation with dierent parameter
sets.
With the means of script-les, the simulation process can be automated in a very
comfortable way.
86
Tkenv is a portable graphical user interface which is based on Tcl/Tk . Tkenv supports
interactive execution of the simulation, tracing and debugging. In Figure B.2 the command
window of the simulation tool is shown. In Figure 5.2, we have seen the inspection window
which enables analyzing the network.
The following features are supported from Tkenv:
four modes for executing the simulation: STEP, RUN, FAST, EXPRESS
which implies dierent levels of tracing and animation
Tkenv is recommended to be used in the development stage of the simulation or for presentation purposes. For running the nal program it is better to use the faster command
user interface Cmdenv.
3 Tcl/Tk
Appendix C
Transport Formats
In [UMTS-34.108], typical parameter sets are presented for several transport channels and
combinations of them. Unfortunately the list is not completely and further there are some
uncertainties. For example, there are only complete parameter sets for DCH. For DSCH
they refer to the DCH parameters, but there have to be systematic dierences which are
nowhere mentioned . Because there is no MAC header for DCH, but it is for DSCH. So
I changed this value to the correct one: 16 bit for UE-ID eld plus 2 bit for UE-ID-Type
eld plus 4 bit for the C/T eld leads to 22 bit. Therefore also the Transport Block Size
changes into 320 + 16 + 22 = 358 bits.
In Table C.1 transport channel parameters for a DSCH with 384 kbit/s are shown.
In
Table C.2 I provide the parameter sets for a DSCH with 144 kbit/s and in Table C.3 the
parameters for a 64 kbit/s DSCH.
87
layer
parameter
RLC
MAC
PHY
TrCH type
TB sizes, bit
TFS
88
value
DTCH
AM
320
384000
16
22
DSCH
358
TF0,bit
0x358
TF1,bit
1x358
TF2,bit
2x358
TF3,bit
4x358
TF4,bit
8x358
TF5,bit
12x358
TTI, ms
Spreading factor
Coding Type
CRC, bit
Max number of bit/TTI after channel coding
10
8
TC
16
12684
Table C.1: Transport channel parameters for a 384 kbit/s DSCH [UMTS-34.108]
layer
parameter
RLC
MAC
PHY
TrCH type
TB sizes, bit
TFS
89
value
DTCH
AM
320
144000
16
22
DSCH
358
TF0,bit
0x358
TF1,bit
1x358
TF2,bit
2x358
TF3,bit
4x358
TF4,bit
8x358
TF5,bit
9x358
TTI, ms
20
Spreading factor
16
Coding Type
CRC, bit
Max number of bit/TTI after channel coding
TC
16
9516
Table C.2: Transport channel parameters for a 144 kbit/s DSCH [UMTS-34.108]
layer
parameter
RLC
MAC
PHY
TrCH type
TB sizes, bit
TFS
90
value
DTCH
AM
320
64000
16
22
DSCH
358
TF0,bit
0x358
TF1,bit
1x358
TF2,bit
2x358
TF3,bit
3x358
TF4,bit
4x358
TTI, ms
20
Spreading factor
32
Coding Type
CRC, bit
Max number of bit/TTI after channel coding
TC
16
4236
Appendix D
Generation of random numbers from an
arbitrary distribution
In case of random variables for which the invers distribution function can be given explicitly
in analytical form, the inversion method gives an algorithm for generating random variables
with arbitrary distributions [Deak90]:
If the random variable
function
fZ (z )
= F Z (Z )
is uniformly distributed in the interval [0,1]. With this fact, the random variable
generated by using
Z = FZ 1 (Y ), where Y
can be
The algorithm for generating random numbers from an arbitrary distribution can be implemented in the following way:
1. Generate
2. Compute
Z = FZ 1 (Y ), Z
3. Return
fZ (z )
FZ 1 (Y ):
91
FZ (z ) and inverse
distri-
8
>
>
<
>
>
:
0
= FZ (Z ) = 1
1
Z = FZ 1 (Y ) =
For calculation of
[0,1].
FZ 1 (Y )
k
Z
8
< 1k=
Y
: m
it is used that
92
; x<k
; kxm
; x>m
; mk Y 1
; Y < mk
Y
= Y , since Y
is uniformly distributed in
Appendix E
Programming Issues
Implementation of such a rich simulation tool brings up many unforseen diculties. Due
to the randomness nearly every imaginable case appears anytime after hours of simulation.
It is hard to nd problems which occur after some hours of continuous simulation because
starting the simulation in debug mode takes even much longer. In the following, I want to
list some severe problems I had to cope with during implementation:
1. In the C++ programming language it is necessary to allocate memory for each generated PDU. In order to avoid a memory overow these blocks have to be released
after they have been processed successfully. During the early development phase of
my simulator it could happen that memory of packets was already released although
these packets were in use in another part of the simulation or that some memory
never had been released. Later on, I decided to use the following memory management strategy:
Memory is allocate every time
- a PDU is inserted into the transmission buer either due to segmentation or due
to retransmission upon negative acknowledgement,
- a PDU is inserted into the retransmission buer due to sending a PDU for the
rst time,
- a padding-PDU is generated for transmission.
Memory is de-allocated every time
- a positve acknowledgement is received by the transmitting side, i.e., upon a positive acknowledgement the corresponding PDU's are deleted from the retransmission buer and possibly also from the transmission buer and their memory
is released,
- all PDU's constituting an SDU are correctly received by the receiver, then the
PDU's are deleted from the receiver buer and their memory is released.
93
94
With this approach no allocated memory remains unreleased and no memory blocks
are released prematurely.
2. A similar problem occurred when sessions end. If a session nishes the corresponding
user is deleted from the network. It was possible that there were still packets from
users in the network which already have been deleted. In order to avoid that problem,
every time a user gets released I search the FES for events belonging to the dedicated
user and delete them as well.
3. If the transmitter reaches the upper edge of the transmitter window and the receiver
doesn't miss any PDU, the transmitter is somehow in a dead-lock situation.
This
situation occurs if all PDU's within the transmitter window get lost during transmission. In this case the receiving side just sends positive acknowledgments and the
transmitting side is neither allowed to send new PDU's nor to retransmit old ones.
I solved this problem by copying all PDU's from the retransmission buer into the
transmission buer at the transmitting side in such situations.
4. When I performed my rst simulations, I wondered that the mean delay of PDU's is
greater than the mean delay of SDU's although the PDU-size is smaller than the mean
SDU-size. This is caused due to segmentation of the IP packets (=SDU). Consider
the case that a source sends only small IP packets except the last one is very large.
This packet is segmented into lots of PDU's. The transfer delay of this SDU is equal
to the delay of the last PDU. So the mean delay of SDU's is hardly aected by one
bigger value. Whereas the mean delay of PDU's is much more aected because many
PDU's observed a large delay.
5. Calculation of the active session throughput according Equation 5.2 causes problems
if the session consists of just one packet call with only one small IP packet.
It's
theoretically possible that the denominator vanishes if the IP packet is smaller than
the PDU size and this PDU is immediately served.
throughput. I solved this problem by excluding unrealistic high rates for calculating
the mean.
6. A further problem appeared when I generated users by a Poisson process with a
certain inter-session-arrival time. The actual number of users depend on the mean
session duration according to Equation 5.3.
Due to the randomness of the inter-session-arrival time, the actual number of users
is subject to strong variations. Situations with too many users in the network occur
which leads to unstable conditions.
arrival time stays constant and the mean session duration grows continuously due to
congestion in a high loaded network. Therefore, I implemented an admission control
entity in order to avoid such situations.
Glossary
3GPP
AAL
AM
Acknowledged mode
AMD
ARIB
ATM
BCH
BER
BLER
BMC
BO
Buer occupancy
CDMA
CFN
CDF
CN
Core network
CRC
CRNC
Controlling RNC
CTCH
DCCH
DCH
DPCCH
DPCH
DPDCH
DRNC
Drift RNC
DSCH
DTCH
ETSI
FACH
FDD
FES
FIFO
GGSN
GMSC
Gateway MSC
95
GSM
GTP-U
IP
Internet protocol
ISDN
L1
Layer 1
L2
Layer 2
L3
Layer 3
LQF
MAC
MSC
MT
Mobile termination
NED
Network Denition
NLOS
OVSF
PAD
Padding
PDCP
PDSCH
PDN
PDU
PHY
Physical layer
PS
Packet switched
PU
Payload unit
QoS
Quality of Service
QPSK
RACH
RLC
RNC
RNS
RR
Round Robin
RRC
RTT
SDU
SF
Spreading factor
SGSN
SINR
SMS
SN
Sequence number
SQF
SRNC
Serving RNC
SUFI
Super eld
TB
Transport block
TBS
TCP
96
TDD
TE
Terminal equipment
TF
Transport format
TFC
TFCI
TFCS
TFI
TFS
TPC
TR
Transparent mode
TTI
UDD
UDP
UE
User equipment
UM
Unacknowledged mode
UMTS
USIM
UTRA
UTRAN
WCDMA
Wideband CDMA
WS
Weighted scheduler
WWW
97
Bibliography
[ARIB98]
ARIB IMT-2000 Study Committee. Japan's Revised Proposal for Candidate Radio Transmission Technology on IMT-2000 : W-CDMA, Version
1.1, September 1998
[Bettst99]
[Cai97]
Jian Cai and David J. Goodman. General Packet Radio Service in GSM.
IEEE Communications Magazine, pages 122-131, October 1997
[CFM00]
[COST231]
COST Action 231 Final Report: Digital mobile radio towards future generation systems. The oce for ocial publications of the european communities, 1999
[COST259]
Luis M Correia. COST Action 259 Final Report: Wireless Flexible Personalized Communications. Wiley, March 2001
[Deak90]
Istvn Dek. Random Number Generators and Simulation. Akadmiai Kiad, Budapest, 1990
[ETSI98]
[Ebersp99]
Jrg Eberspcher, and Hans-Jrg Vgel. GSM Global System for Mobile
Communication. Teubner, 1999
[Forum00]
[Holma00]
H. Holma and Antti Toskala. WCDMA for UMTS. Wiley & Sons, 2000
98
BIBLIOGRAPHY
[Kazmi01]
99
M. A. Kazmi. Radio Resource Control in Radio Access Networks with Distributed Coverage. PhD Thesis, cole Nationale Suprieure des Telecommunications, Paris, January 2001
[Keshav97]
S. Keshav. An Engineering Approach to Computer Networking: ATM Networks, the Internet, and the Telephone Network, Addison Wesley Longman,
1997
[Kalden00]
Roger Kalden, Ingo Meirick, and Michael Meyer. Wireless Internet Access
Based on GPRS. IEEE Personal communications, pages 8-18, April 2000.
[Kleinr75]
[Loem00]
Georg Lelmann. TCP/IP over UMTS. Diploma Thesis, Technische Universitt Wien, Vienna, Sept 2000.
[Raji00]
[Taferner00]
Manfred Taferner. Wireless Internet Access over GSM and UMTS. PhD
Thesis, Technische Universitt Wien, Vienna, April 2001
[UMTS-23.060] 3rd
Generation
Partnership
Project.
General
Packet
Radio
Service
BIBLIOGRAPHY
100
Andrs
tem,
Varga.
User
OMNET++,
Manual
Version
2.0.
Discrete
Technical
Event
Simulation
University
of
Sys-
Budapest,