ATM Forum Document Number: ATM_ Forum/98-0830

Title:

Packing Density of Voice Trunking using AAL2


Abstract:

In this contribution, we study the effect of CPS Timer_ CU value on the packing density of voice trunking using AAL2. Assuming ITU G.723.1 is used for voice encoding, we set up a Markov chain model to analyze the AAL2 packing process. We find that the packing density, which is directly linked to link efficiency, depends on the Timer_ CU value and number of users in the system. The analysis of this contribution gives an algorithm to calculate a reference Timer_ CU value to achieve desired link efficiency.


Source:

Chunlei Liu, Sohail Munir, Raj Jain
Department of Computer and Information Science
The Ohio State University, Columbus, OH 43210-1277
email: { cliu,munir,jain } @cse.wustl.edu

Sudhir Dixit
Nokia Research Center
3 Burlington Woods Dr., Suite 250, Burlington, MA 01803
email: sudhir.dixit@research.nokia.com

This presentation of this contribution is sponsored by NASA Lewis Research Center.

This research was sponsored in part by US Army CECOM Contract DAAB08-98-C-B305.


Date:

November 29 - December 4, 1998


Distribution:

ATM Forum Technical Committee
VTOA, TM working groups


Notice:

This contribution has been prepared to assist the ATM Forum. It is offered to the Forum as a basis for discussion and is not a binding proposal on the part of any of the contributing organizations. The statements are subject to change in form and content after further study. Specifically, the contributors reserve the right to add to, amend or modify the statements contained herein.


1 Introduction

In ATM_ Forum contribution 98-0630[ 3], Kevin Zhang analyzed the effect of the CPS Timer_ CU value on packet delay variation (PDV), and found the CPS Timer_ CU value is not relevant in total PDV calculation. By considering the talkspurt and packet arrival pattern, we found that while the statement about PDV is correct, the Timer_ CU value has to be set appropriately since it significantly affects the link efficiency.

Timer_ CU value determines the time after which a cell should be dispatched, even if it is not fully packed. If the value is too small, more partial cells are likely to be sent and the link efficiency will be low. If it is too large, some packets will suffer prolonged delay and the voice quality will degrade.

In this contribution, we set up a Markov chain model to analyze the packing process of AAL2 using G.723.1 voice encoding. The Markov analysis reveals the correlation between successive cells and gives a formula for calculating the packing density based on the Timer_ CU value and the number of voice sources in the system.

To validate our analytic result, a NetSim simulation was launched to actually implement the AAL2 packing process. The results of simulation confirm our analysis. They are presented in the last section.

The result of this contribution allows us to choose an appropriate Timer_ CU value according to the number of voice sources to improve link efficiency.

2 Simulation Model


atm98-08300x
Figure 1 AAL2 model

Figure 1 shows our simulation model and the packing process. On the left, a number of variable bit rate voice sources are connected to the source AAL2. The corresponding VBR destinations are shown on the right. Voice sources send voice signal in the form of packets to the source AAL2, where packets are packed into cells. The source AAL2 keeps a working cell. Arriving packets are packed into the working cell. Once the working cell is packed, it is sent to the switch.

The parameter Timer_ CU is used to avoid prolonged delay in case no packets arrive for a long period. When the first packet is put in the cell, the Timer_ CU is started. If the cell is not fully packed within the Timer_ CU time, the cell (timer) " expires " and the partially packed cell is sent.

If the working cell is partially packed and an arriving packet can not fit in the remaining space, the first part of the packet is put into the remaining space and the remainder will be put in the next cell. The Timer_ CU for the next cell is started at the arrival of this packet.

The cells go through the links and switches and arrive at the destination AAL2. The destination AAL2 will unpack the cells and dispatch each packet to its destination according to the channel identifier(CID) contained in the mini-header of the packet.

3 Voice Model and Packet Arrival Pattern

Human voice consists of alternating talkspurts and silence intervals. It has been found that talkspurt length and silence interval are exponentially distributed[ 1]. In a commonly accepted model, the talkspurts have a mean length of 352 ms and silence intervals have a mean length of 650 ms [ 2].

There a number of standards for coding voice before transmission over the networks. ITU G.723.1 is currently the most widely used encoding standard. During talkspurts, G.723.1 sends out a 20-byte packet every 30 ms. During silence periods, no packets are sent. In this contribution, we assume all voice sources use G.723.1 as the encoding method.

Compared with the talkspurt length and silence period, the 30 ms packet length is quite short. This means, during a talkspurt, the arrival of the packets from one voice source is highly predictable.

Suppose that the number of voice sources in the system is N and that a packet has just been received from a voice source. We want to calculate the probability of no packet arrival from all sources in the next t  ms, where t is the Timer_ CU value.

Consider one voice source first. During an average 352 ms talkspurt and 650 ms silence cycle, an average of 12 packets need to be sent as shown in Figure 2.


atm98-08301x
Figure 2 packet arrival pattern from one source

Let s denote the number of packets generated during a talkspurt interval. In order to have no packet arrival in t  ms, the starting point of this t  ms cannot fall in the t  ms interval before any of these s arrivals. The probability of no packet arrival from this source is

1002--st-1002
Here we assume t< 30. On the average, the probability of no packet arrival from one source is
p = 1002 - E [ s ] t 1002 = 1002 - 12 t 1002 (1)

Voice sources are assumed to be independent. After the receipt of the first packet in the cell, the probability of no packet arrival from all other sources within t  ms is

R 0 = p N - 1 (2)

The probability of one packet arrival from all other sources is

R 1 = ( N - 1) p N - 2 (1 - p ) (3)

4 Calculation of Packing Density

After we have the probability R 0 , R 1 , we can now calculate the average packing density.

The average number of bytes in an AAL2 cell depends on whether there is a remainder from the last cell and how many packets are received since the first packet is put in the cell. Let r n be a random variable to denote the remainder length left from the ( n - 1)th cell. Since each packet has a 3-byte header and a 20-byte payload, the remainder bytes are always less than 23 bytes, i.e., 0 < r n < 22. This value is exactly the STF field in the n th AAL2 cell.

Event r n = 0 happens only when cell n - 1 expires or when r n - 1 = 1 and cell n - 1 does not expire.

Event r n = 1 happens only when r n - 1 = 2 and cell n - 1 does not expire.

Event r n = 2 happens only when r n - 1 = 3 and cell n - 1 does not expire.

. . . . . .

Event r n = 22 happens only when r n - 1 = 0 and cell n - 1 does not expire.

Therefore, { r n } is a Markov chain. Consider the stationary state where all { r n } have the same probability distribution. Let r be any of these r n , denote

p i = P { r = i } , i = 0 , . . . , 22 . (4)

and

Q i = P { timer _ CU expires | r = i } , i = 0 , . . . , 22 , (5)

Since an AAL2 cell has 47 bytes payload, and for G.723.1 a CPS packet has 23 bytes, it happens that for all i = 0 , . . . , 22,

Q i = P { less than 2 packets are received in t  ms } = R 0 + R 1 . (6)

Denote

Q = R 0 + R 1 . (7)

then the transition matrix is

r=0
r=1
r=2
r=3
. . .
r=21
r=22
r=0
Q
0
0
0
. . .
0
1 - Q
r=1
Q + (1 - Q )
0
0
0
. . .
0
0
r=2
Q
1 - Q
0
0
. . .
0
0
r=3
Q
0
1 - Q
0
. . .
0
0
atm98-08303x
atm98-08304x
. ..
. ..
. ..
. ..
. ..
r=21
Q
0
0
0
. . .
0
0
r=22
Q
0
0
0
. . .
1 - Q
0
(8)

In stationary distribution,

p 0 = Q + p 1 (1 - Q ) ,
p i = p i +1 (1 - Q ) , i = 1 , 2 , . . . , 21 , (9)
p 22 = p 0 (1 - Q ) .
So
22 23 p1 = p0(1 - Q) , p0 = p0(1 - Q) + Q,
and
Q p0 = 1--(1--Q)23-
p i = p i - 1 / (1 - Q ) , i = 1 , 2 , . . . , 22 . (10)

Using these probabilities, we can find the average number of bytes in the AAL2 cell is

C = p 0 (23 R 0 + 46 R 1 + 47(1 - Q )) + sum i = 1 22 p i ( iR 0 + ( i + 23) R 1 + 47(1 - Q )) . (11)

Because each 20-byte voice packet has a 3 bytes mini-header and each AAL2 cell has a 6-bytes overhead, the packing density is therefore,

C- 20 D = 53 × 23× 100%.(12)
Notice that
47 × 20× 100% = 77.11% 53 23
is the maximum possible density.

5 Results and Conclusion

To validate our analysis, we wrote a NetSim simulation program to actually implement the AAL2 packing process. The simulation model is described in Section 2. The results of 11 simulations are summarized in Table 1. The first column is the Timer_ CU value used in the simulation. The second column is the total number of cells being sent. Column 3, 4 and 5 are the number of cells that have 0, 1, 2 or more packet arrivals since the packing of the first packet. The average density calculated from the total number of bytes in all cells is listed in the last column.







t
total cells
receive 0
receive 1
receive 2+
density (%)






0.5
5621
4079
1246
296
46.93






1
5028
2339
1787
902
56.00






2
4286
949
1462
1875
64.78






3
4077
479
960
2638
69.00






4
3705
154
626
2925
72.43






5
3645
69
315
3261
74.35






6
3587
26
206
3355
75.42






8
3470
8
66
3396
76.54






10
3716
0
10
3706
77.05






12
3779
0
0
3779
77.11






14
3632
0
0
3632
77.11






Table 1: Simulation results: number of packets received within t ms

We calculate the corresponding R 0 , R 1 , R 2 + = 1 - R 0 - R 1 , and compare them with our analysis results. In Figure 3, the analytic probabilities are shown with solid lines and simulation data are shown with "+"s.
atm98-083014x

Figure 3: R 0 , R 1 and R 2 + for different Timer_ CU values. 60 sources.

solid line: calculation; "+": simulation.

The resulting packing density for different Timer_ CU values is shown in Figure 4. Again the analytic calculation is shown with solid line and the simulation data are shown with "+"s. This simulation data match the analytic calculation perfectly.
atm98-083015x

Figure 4: Packing density for different Timer_ CU values. 60 sources.

solid line: calculation; "+": simulation.

From the analytic formula for density, we can calculate the appropriate Timer_ CU value to reach the desired packing density. Figure 5 shows the needed Timer_ CU values in order to reach 90% and 95% of the maximum packing density.
atm98-083016x

Figure 5: Timer_ CU values to reach 90% and 95% of the maximum packing density.

In conclusion, we find that Timer_ CU value can have significant effect on the link efficiency. An appropriate choice of Timer_ CU value depends on the number of voice sources and delay requirements. A smaller number of sources requires a larger Timer_ CU value to reach a certain level of link efficiency, while a larger number of sources needs a smaller value. The analysis of this contribution gives an algorithm to calculate a reference Timer_ CU value to achieve desired link efficiency.

References

[1]    Paul T. Brady, A model for generating ON-OFF speech patterns in two-way conversations. Bell System Technical Journal , Vol 48, pp 2445-2472, Sept 1969.

[2]    Shuang Deng, Traffic characteristics of packet voice, IEEE International Conference on Communications , Vol 3, pp 1369-1374, 1995.

[3]    Kevin Zhang, Packet Delay Variation in Voice Trunking using AAL2, ATM Forum contribution 98-0630 , October 4-9, 1998, Australia.