Академический Документы
Профессиональный Документы
Культура Документы
June 2004
*The research reported here began when the authors were at WINLAB, Rutgers
University.
Abstract
We present a theoretical analysis of the radio link control layer and media access control
layer of the General Packet Radio Service, a packet data overlay of GSM. The analysis
Traffic Channel. We are especially interested in the relative throughput of the four GPRS
coding schemes. We find in addition to channel quality, throughput and the choice of
optimum coding scheme depend on packet size and channel fading characteristics. We
also present a retransmission protocol that can increase throughput at the expense of
1.0 Introduction
GPRS (General Packet Radio Service) is a packet data overlay to GSM (Global System
for Mobile communications), which has the largest number of subscribers in the world
among all wireless systems. In contrast to the original circuit switched transmission of
1
GSM, GPRS is designed to accommodate the bursty nature of data traffic. Due to its
GSM circuit switched traffic. It also differs significantly from the performance of packet
data transmission on wirelines, because GPRS packets travel over the “unreliable” media
of air.
To a first approximation, the throughput of a packet data system that employs error
where BLER is the Block Error Rate or Block Erasure Rate, and code_data_rate is the
raw data rate in b/s of the physical channel. This is also referred to as the throughput of
However, Equation (1) does not take into account the complex control and error
correction procedures that take place in the RLC/MAC (Radio Link Control/Media
Access Control) layer of the GPRS air- interface. As a result, it is not a good measure of
For the most part, prior work on GPRS performance relies on simulations [2][6][7]. This
paper presents a theoretical analysis of GPRS throughput and delay taking into account
the details of the RLC/MAC protocols, radio channel conditions and properties of the
is the presence of four coding schemes (CS) with different levels of resistance to
transmission impairments. The analysis presented in this paper can be used to derive rate
adaptation algorithms that maximize throughput by switching among the four coding
2
schemes as channel conditions change. As in other data transmission systems, the most
important variable that affects the choice of a coding scheme is the channel quality as
channel C/I, packet size and channel fading characteristics play important roles in coding
scheme selection.
While we focus on uplink packet transfer scenario in this article, the same analytical
methods can be applied to downlink performance. The following section of the paper is
modeling assumptions, followed by the packet transfer delay and throughput analysis. In
this analysis, we characterize the GPRS physical layer by Block Error Rates with respect
2 GPRS Protocols
GPRS is a packet data communication system that makes use of GSM physical channels.
The GPRS protocol stack consists of application layer, network layer (IP or X.25),
SNDCP (Subnet Dependent Convergence Protocol), Logical Link Control (LLC) layer,
RLC/MAC layer and physical layer. The LLC layer provides a logical link between the
network side and the MS. The RLC/MAC is responsible for multiplexing users onto the
3
physical channels, and Backward Error Control (BEC) of the data transmission over the
done at the physical layer. Four coding schemes (CS) are defined in adaptation to various
channel quality.
Packets from higher protocol layers are segmented and passed down to the LLC layer as
the payload of LLC frames. The maximum frame length is 1520 Bytes. The LLC frames
are then segmented and passed down to RLC layer as RLC block payload with variable
length depending on the coding scheme. Every coded RLC block has a fixed length of
456 bits. Each block is segmented into four bursts of length 114 bits and transmitted in 4
consecutive frames in the physical layer. With the RLC/MAC layers as the focus of this
paper, the only property of the higher layers that we consider is the length of LLC frames.
Our analysis shows that the frame length has a significant effect on RLC/MAC
performance.
4
Table 1 Coding Schemes
RLC data
Coding block Service data
Code rate
Scheme payload rate (kb/s)
(Bytes)
CS-1 1/2 22 8.8
CS-2 ~2/3 32 12.8
CS-3 ~3/4 38 15.2
CS-4 1 52 20.8
The payload of each RLC block is added with RLC/MAC header and a block check
sequence. For CS1, CS2 andCS3, the radio block is convolutional coded with code_
rate=½, then punctured to the desired code rate. CS4 does not contain forward error
correction. The service data rate is calculated from the 240 ms duration of a GPRS
superframe. The superframe consists of 52 GSM frames including 48 traffic frames and 4
control frames. The 48 traffic frames carry 12 RLC blocks. Therefore the data rate is
Among the 4 coding schemes, CS1 has the lowest coding rate, it is also the most robust
coding scheme. Therefore, CS1 is used for all control messages. CS2 and CS3 have lower
code rate and more information bits. CS4 is the most data efficie nt coding scheme and is
the most vulnerable to channel impairment. The Base Station Subsystem can choose any
5
The GPRS system uses logical cha nnels that are mapped onto physical channels to
manage media access. Each physical channel occupies one timeslot in a 200kHz carrier.
The PRACH (Packet Random Access Channel) is the GPRS counterpart of RACH
(Random Access Channel) in GSM. The PAGCH (Packet Access Grant Channel) is the
counterpart of AGCH (Access Grant Channel) in GSM. Both PRACH and PAGCH
belong to the channel group PCCCH (Packet Common Control Channel). The PDTCH
(Packet Data Traffic Channel) is the logical channel dedicated to a user for data
transmission. Several PDTCHs can be mapped onto a single physical PDCH (Packet Data
Channel) on a time-multiplexed basis. Using time multiplexing with traffic channels, the
channel resource assignment and acknowledgements to a given MS. The PACCH shares
the physical channel method with the associated PDTCH that is assigned to the same MS.
The Packet Channel Request message takes one burst to transmit. All other messages
While the GPRS MAC protocol resembles that of GSM, it is enhanced to enable faster
packet access and dynamic resource allocation. Since packet data traffic can usually
tolerate more delay than voice traffic, for the case if no resource is available when the
network receives a Random Access Request from a MS, the system can send a Packet
Queuing Notification to indicate the receipt of the request and allocate resources later.
Another feature GPRS feature is the use of Uplink State Flag (USF), which is used to
enable multiplexing of several users onto the same physical channel. When a user is
assigned to a PDTCH, it is also given an USF. The USF indicates which user can transmit
6
in the next RLC block in the corresponding uplink channel. USF=FREE means that the
Figure 1 is an example of a MAC message sequence in uplink packet transfer. The uplink
packet data transfer starts with the MS sending a Packet Channel Request on PRACH. If
the access burst is correctly received, but channel resource is not available, the BS
acknowledges with a Packet Queuing Notification. When the channel resource becomes
available, the BS sends Packet Uplink Assignment message and allocated the USF for the
MS. Then the MS tunes to the assigned channel and listens to the corresponding
downlink channel. The system inserts the corresponding USF in the downlink blocks to
indicate which uplink RLC blocks are allocated to the MS, and the MS transmits its data
blocks accordingly. After the BS decoded the received data blocks, it acknowledges the
MS in the PACCH. If the MS receives a NACK message, it will retransmit the erroneous
RLC blocks. When the BS detects end of transmission through a countdown value
7
encoded in the uplink data block, it acknowledges with a Packet Uplink Final ACK, and
the MS sends a Packet Control ACK. At this point, the transmission is complete, and the
USF and channel allocation are released. Acknowledgements follow the sliding window
GPRS uses Selective Repeat ARQ for retransmission of erroneous RLC blocks. The
general concept is that the receiving side detects blocks with errors and then requests the
Repeat ARQ can achieve a data throughput as high as Equation (1). However, our
analysis in Section 3 shows that ARQ overheads can cause significantly lower
throughput.
In common with other systems, GPRS uses a Sequence Number (SN) and a Request
Number (RN) to control the data flow. The GPRS transmitting window size is 64 RLC
blocks. When the RN lags behind the SN by a transmission window length, the window
stalls. This occurs when the duration of the transmission window is smaller than the
round-trip delay for the acknowledgement, is which case the transmitter has to wait for
The error control overhead in case of window stalling includes the retransmission of error
block and the delay introduced by window stalling. However, if the window is not
8
3. RLC/MAC performance Analysis
The performance measures studied here are delay and throughput, where the delay is
defined as the time it takes for a user packet to be transmitted successfully in the system,
excluding the Common Control Channel signaling. It equals the traffic channel
occupation time of the packet transmission. The throughput is defined as the amount of
data that can be correctly transferred per second in each traffic channel, which
Our study focuses on uplink traffic channel performance. The analysis model conforms to
the GPRS standard protocols. The physical layer model consists of a representation of the
block error rate as a function of channel C/I for each of the GPRS coding schemes. This
function summarizes all of the relevant properties of the modem, equalizer, channel
decoder, antennas, and other transceiver details as well as the radio propagation
properties of the channel. In the numerical examples presented in this paper, we have
used the functions in Figure 2 to represent a slowly fading channel TU3 (Typical Urban,
3 km/h), and similar functions to represent a fast fading channel TU50 (Typical Urban,
Technologies, respectively. The analysis methods described in this paper can be used
with any functions for block error rate vs. C/I. In our work, we have developed detailed
models of the RLC/MAC layer protocol as described in the remainder of this section. We
have used a simplified model of the higher layers (LLC and above). The essential
property of this model is an input traffic source that generates packets of constant length,
9
Figure 2 Block Error Rate for TU3 channel
Although GPRS allows terminals to use more that one PDTCH simultaneously, we have
analyzed a terminal that uses a single PDTCH. The analysis can be extended to terminals
that use more than one PDTCH at any time. We also assume that MSs are served one at a
time for their data traffic. There is no multiplexing of simultaneous data transmission
follows:
(CCCH).
2. The BS allocates a downlink PDTCH to the MS and uses the CCCH to send an Uplink
10
4. The MS sends in the uplink PDTCH all the RLC blocks belonging to the packet.
5. If any of the received RLC blocks resulted in decoding error, the BS asks for selective
6. If the MS receives a NACK, it resends the blocks that had errors, and goes back to 5.
7. After the BS receives all blocks in the packet correctly, it acknowledges the MS with
In this procedure, steps 2-9 are accounted for in the delay analysis. Step 1 does not
consume traffic channel resources and is not included in the delay analysis. Step 2 uses
the CCCH, but since the traffic channel is already reserved for the packet at this stage,
. • Uplink and downlink channels associated with one MS have the same C/I. As a result,
the acknowledgement packet from the BS to a MS experiences the same channel C/I as
• Processing time between the receipt of the last block and the response is 1 RLC block
11
• There is no blocking or dropping of packets.
• The input queue of the system is never empty. Consequently, the system throughput
• A constant packet length is used in each set of delay and throughput computations. The
Based on the above assumptions, we can calculate delay as a function of packet length
and BLER. Then, based on the mapping from channel C/I to BLER (for example Figure
5), we can find throughput for each coding scheme as a function of C/I and packet length,
The expected throughput of the system is defined as the amount of data transferred in a
N (t ) × packet _ length
E[throughput ] = lim (kb / s ) (1)
t →∞ t
where N(t) is the number of packets transmitted in the system, and packet_length is the
length of the packets, assuming they are all equal- length. Notice that the number of
packets N(t) divided by t is equal to the inverse of expected packet service time, when t
packet _ length
E[throughput ] = ( kb / s ) (2)
T
12
where T is the average transfer delay excluding the random access phase that takes place
Delay Modeling
To compute the packet transmission delay, we segment the total delay into several
components starting from the channel assignment till the final acknowledgement:
Where Tassig is the duration of the channel assignment procedure transmission and
processing time, Ttx is the data block’s first-time transmission period based on the packet
length and coding scheme. Terror_ correction is the handling time for backward error control
including retransmission. Tack is the final ACK (Acknowledgement) message and control
where
22 bytes, CS1
packet _ length 32 bytes, CS 2
n= , block _ length =
block _ length
38 bytes, CS 3
52 bytes, CS 4
13
Where Tretx is the retransmission time of the erroneous data blocks, and Tnack_signaling is the
bler (cs , ci ) × n
Tretx = (blocks) (6)
(1 − bler (cs , ci ))
M(n) is a random variable that represents the number of a NACK messages successfully
sent during the transmission of a packet consisting of n RLC blocks which is equivalent
to the number of retransmission cycles for the frame. Tone_nack is the transmission time for
To account for errors in the downlink ACK/NACK messages, we note that the process of
sending one NACK message consists of 2 parts: initial transmission and retransmissions
The initial after- frame NACK message is transmitted with CS1. It is correctly received
with probability (1-bler(cs1,ci)). If the NACK is not received by the MS, the MS will
resend the oldest block with errors or the oldest unacknowledged block, expecting the BS
to send the ACK/NACK message again. Our model assumes that if the data block is in
error again, the whole process is repeated. Only if both the resent data block and the
NACK are successful will the NACK transmission process be complete. The round trip
delay is 4 blocks. Assume no limit on the number of retransmissions allowed for one
NACK message.
4bler (cs1, ci )
Tone _ nack = Tinitial_ nack + (8)
(1 − bler (cs1, ci )) × (1 − bler (cs , ci ))
14
Similarly Tfinal_acks can be determined taking account of transmission errors.
4
T final_ acks = (9)
(1 − bler (cs1, ci )) 2
From [1], the expected number of retransmission cycles occurring for one packet is:
∞
E[ M (n )] = ∑ mPM ( n) ( m) (10)
m =1
PM ( n) (0 ) = (1 − bler ) n (11)
n
n
PM ( n) (1) = ∑ bler i (1 − bler ) n−i PM ( i) (0) (12)
i =1 i
n
n
PM ( n) (m) = ∑ bler i (1 − bler ) n−i PM ( i) (m − 1) ∀ m > 1
i =1 i
(13)
For channel model TU3, the average packet transfer delay is shown in Figure 3, where
packet_length=400 Bytes.
15
Figure 3 Average delay of packet with length 400 Bytes
As expected, packet transfer delay increases with block error rate. At low BLER, the
delay is close to the initial transmission delay Ttx . Whereas when BLER exceeds 10%, it
errors. In addition, under the same BLER, packets with a coding scheme of higher code
rate meet shorter delays, simply because when coded with a coding scheme of higher
information rate, the packet occupies a smaller number of RLC blocks. However, for a
given channel C/I, coding scheme with a higher coding rate does not necessarily
Throughputs are computed and depicted in Figure 4 through Figure 5. Each is plotted
against channel C/I for the four schemes. Packet lengths are 100 and 1600 Bytes
16
Figure 4 Throughput of 100 bytes packets
Comparing throughputs of various packet lengths, it is obvious that packet length has
dominant effect on system throughput. The throughputs for shorter packets are
substantially lower than that of the longer packets. Similar observations have been found
17
in simulation study [6], where the traffic types with longer expected packet length have
All throughputs are lower than the information rate of the applied coding schemes as
control efficiency as expected throughput under optimum channel C/I for certain packet
length, normalized by the information rate of its coding scheme. Table 2 shows that
control efficiency varies a lot with packet length, and longer packets correspond to higher
control efficiency. The reason is that the amount of RLC/MAC control overhead under
optimum C/I is constant (6 blocks) for any packet length, which is a relatively small
Figure 4 through Figure 5show that CS1 has the best throughput under low channel C/I
values, CS2 and CS3 have better throughputs at higher C/Is, and CS4 is the best choice at
high channel C/Is. The choice of coding scheme has a stronger influence on throughput
for long packets than for short packets. For packets of length 100 bytes, CS1 suffices for
transmission under all channel conditions, while for packets of length 1600 bytes, it is
critical to select a coding scheme best suited for the channel condition.
18
achieve the highest throughput [7]. The operation is based on the knowledge of which
necessary to identify the coding scheme that produces the best performance under any
condition.
We define a decision region as the C/I range within which a coding scheme has the
highest throughput among all coding schemes. For packet of length 1600 bytes, the
decision region is C/I>12dB for CS4, 5dB ~ 12dB for CS3, and C/I <5dB for CS1. Note
that CS2 doesn’t significantly outperform other coding schemes under any channel C/I,
which leads to the conclusion that CS2 doesn’t have much practical use under TU3
channel model.
Figure 6 contains the systematic results of decision regions for packet length from 50
bytes to 1600 bytes in 10 byte increments. It shows that, decision regions generally shift
to lower C/Is for longer packets. In other words, longer packets have stronger preference
for higher rate coding scheme under the same channel condition. Agreeing results can be
Schemes defined for EDGE [7]. The “noise” on the curves in Figure 6 comes from the
quantization effect of segmenting packets into RLC blocks, which is especially prominent
The above conclusions generally agree with the simulation results discussed in [2].
19
Figure 6 TU3 Coding Scheme decision regions
The reason that packet length affects decision regions of coding schemes can be traced to
E[M(n)], the expected number of NACK messages transmitted for a packet of length n
RLC blocks. Figure 7 shows that E[M(n)], normalized by packet length, decreases when
packet length increases. As a result, the longer the packet is, the less normalized error
control overhead it experiences. Therefore, the decision regions shift towards lower
channel C/Is.
20
Figure 7 Expected number of retransmission cycles of TU3 for CS3, 16dB
TU50 results
Channel model TU50 introduces a new dimension of variability. Because the mapping of
channel C/I to BLER of TU50 is different from that of TU3, the throughputs change and
Under TU50, the BLER of CS1, CS2 and CS3 are lower compared to TU3, while the
Consequently coding scheme decision regions vary from that of TU3. It can be shown
that, compared to TU3, CS1, CS2 and CS3 have larger decision regions on C/I scale,
In the GPRS standard, it is possible to send the RLC block acknowledgement before the
LLC frame ends. The GPRS system can schedule acknowledgements over intervals
21
shorter than the LLC frame length. When the transmitting side receives
acknowledgement on transmitted RLC blocks before the LLC frame ends, it can schedule
the retransmission blocks together with the on- going data stream. This corresponds to the
errors are corrected before the frame ends, there are less error blocks to correct after the
initial transmission of the frame. We call this mechanism the frequent acknowledgement
scheme.
couple of terms. The acknowledgement messages transmitted before the end of the initial
transmission of the frame are referred to as in- frame acknowledgements, others are
are categorized into in- frame retransmission and after- frame retransmission.
First we partition the packet of length L (in RLC blocks) into N segments plus some
leftover blocks. The length of each segment S (in RLC blocks) is equal to the interval
between acknowledgements. After the kth segment is transmitted, any error block within
the segment has r k chances to be retransmitted using in- frame acknowledgements and
Assuming in- frame acknowledgements are error-free, the probability of the packet having
up to m after- frame retransmission cycles is the probability that each segment of blocks
m+ N m + N −1 m +1 m
P{M ( L) ≤ m } = ∑ PM ( s) (i ) × ∑ PM ( s ) (i ) × L × ∑ PM ( s) (i ) × ∑ PM ( L − N × s) (i ) (14)
i= 0 i= 0 i= 0 i= 0
22
where m≥0, and M is the number of after- frame retransmission cycles. The last factor
denotes the probability of having up to m after- frame retransmission cycles for the last
few blocks that do not belong to any segment. Note that, the number of leftover blocks at
the end of the packet has to be greater than the acknowledgement roundtrip delay (RTD),
so that there is enough time left for in-frame retransmission for the last segment.
Otherwise the leftover blocks are grouped into the last segment. Therefore, the number of
segments is
L − Cack _ rtd
N = (15)
S
where C ack _ rtd is the acknowledgement RTD in number of RLC blocks. Here C ack _ rtd =3.
Since P{M ( L) ≤ m} is the CDF of M(L), the PDF of M(L) can be derived:
The expected number of after- frame retransmission cycles E[M(L)] can be obtained as in
(10).
The GSM standard specifies that loss of one ACK/NACK is not critical because later
acknowledgement messages can convey the same information to the MS. As long as the
transmission window is not stalled, loss of in- frame ACK/NACK does not affect the
delay. Accordingly, in- frame acknowledgement errors are introduced into the calculation.
Given that there are m (after-frame) retransmission cycles, each segment of blocks that
have i retransmission cycles use at least i- m in- frame retransmissions, which requires at
least i- m of in- frame ACK messages to be correct. Therefore (14) is replaced with:
23
N m+ n
( ) × ∑ P
m
P{M ( L) ≤ m} = ∏∑ PM ( s) (i ) × (1 − bler (cs1, ci ) )max{ 0, i− m} M ( L − N × s) (i ) (17)
n=1 i= 0 i= 0
Figure 8 displays E[M(L)] under the “new scheme” -- frequent acknowledgement scheme
chosen as 8 blocks. E[M(L)] rises and drops periodically, but always remains under 0.6
even when the packet length is large. Each increase and decrease cycle is over packet
length offset of 300 Bytes, which is equal to the acknowledgement interval - 8 RLC
24
performance, it may be beneficial to let the MS send acknowledgement frequently. If the
channel capacity is only limited in one direction between the uplink and the downlink, it
5. Conclusions
This article introduces a method of analytically computing packet delay and system
throughput across the air- interface of GPRS system, based on channel condition, coding
scheme and packet length. It models in detail the GPRS RLC/MAC protocols for uplink
data transmission. The results reflect the effect of RLC/MAC control overhead as well as
• Longer packets have much better throughput and delay performance than short packets.
• The performance difference among coding schemes is larger for longer packets.
Therefore, when transmitting long packets, it is crucial to choose the right coding
scheme, while for short packet, CS1 is adequate under all channel conditions.
• The coding scheme that maximizes throughput depends on channel C/I, channel model
as well as packet length. Longer packets tend to have coding scheme decision regions at
lower C/Is. CS2 is of little use under the slow fading channel model TU3.
25
• Compared to TU3, TU50 corresponds to wider decision regions for CS1-CS3, while
The analysis also shows that by acknowledging transmitted blocks at intervals shorter
than the transmission window or packet length, we can improve error correction
reduced. The cost of this scheme is greater error control signaling overhead on the
opposite link. One should use the knowledge of load balance between the uplink and
downlink traffic in designing the optimum acknowledgement scheme for each direction.
Reference
[1] D.Turina, R. Ludwig, “Link Layer Analysis of the General Packet Radio Service for GSM,”
[2] Xiaohua Chen, David Goodman, “Performance Analysis of Radio Link / Media Access Control of
[3] Roy Yates, David Goodman, “Probability and Stochastic Processes,” New York: John Wiley &
sons, 1999.
[4] ETSI, “GSM 03.64 Overall Description of the GPRS Radio Interface, stage 2,” v6.1.0, release 97.
[5] ETSI, “GSM 04.60 Radio Link Control/Media Access Control (RLC/MAC) protocol,” v6.3.0,
release 97.
[6] Jian Cai, David Goodman, “General Packet Radio Service in GSM”, IEEE Communications
26
[7] A.Furuskar, S.Mazur, F. Muller and H. Olofsson, “EDGE: Enhanced Data Rates for GSM and
[8] W. Luo, K. Balachandran, S. Nanda, K. Chang, “Packet Size Dependent Link Adaptation for
[9] Dimitri Bertsekas/Robert Gallager, “ Data Networks”, New Jersey: Prentice Hall, 1992, cited on
p. 82.
27