You are on page 1of 129

A DAPTIVE C ALL A DMISSION C ONTROL

M ECHANISMS F OR Q O S P ROVISIONING
I N W I MAX N ETWORKS

   
 

  

Master of Engineering
in
Electronics and Telecommunication Engineering
by
ROMESH LAISHRAM

U ndertheguidanceof
PROF . I TI

S AHA M ISRA

DEPARTM ENT OF ELECTRONICS &


TELECOMM UNICATIO N EN GINEERING

JADAVPUR UNIVERSITY
KOLKATA-32
MAY 2010
1

i1

 

  
  
 
 

Certificate
This is to certify that the thesis entitled Adaptive Call Admission Control
Mechanisms for QoS Provisioning in WiMAX Networks submitted by
MR.ROMESH LAISHRAM in partial fulfillment of the requirements for the
award of degree in Master of Electronics and Telecommunications Engineering
of Jadavpur University is an authentic work carried by him under my supervision
and guidance.
To the best of my knowledge, the matter embodied in the thesis has not been
submitted to any other University / Institute for the award of any Degree or
Diploma.

(Prof. ITI SAHA MISRA)

Supervisor

nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnDepartment of Electronics and


nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTelecommunicationngereer nnnnnnnnn

nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnJadavpur University

Kolkata -700032

COUNTERSIGNED
nnnnnnnnnnnnnnn
n
n

(Prof. Bhasker Gupta)


Head
Department of Electronics and
Telecommunication Engineering,
Jadavpur University
Kolkata -700032

(Prof.Niladri chakraborty)

Dean
Faculty of Engineering and
Technology
Jadavpur University
Kolkata -700032
ii1

JADAVPUR UNIVERSITY
FACULTY OF ENGINEERING AND TECHNOLOGY
DEPARTMENT OF
ELECTRONICS & TELE-COMMUNICATION ENGINEERING

Certificate of Approval *
The foregoing thesis is hereby approved as a creditable study of an engineering
subject, carried out and presented in a manner satisfactory to warrant its acceptance
as a prerequisite to the degree for which it has been submitted. It is understood that
by this approval the undersigned do not necessarily endorse or approve any
statement made, opinion expressed or conclusion drawn therein but approve the
thesis only for the purpose for which it has been submitted.

Final examination evaluation of


Thesis of

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

Signature of the Examiner

Signature of the Supervisor

*Only in case the thesis is approved.

iii1

Acknowledgement
I would like to express great appreciation to my supervisor, Prof. Iti Saha
Misra, for her complete patience, valuable guidance and generous assistance
throughout the year. She has been a constant source of advice and encouragement
since the very beginning of my M.E project. Her support and precious time spent
in discussions have guided me through the duration of this work. Without her close
supervision, the completion of this piece of work would not have been possible.
Also I wish to express my sincere gratitude to her for reviewing my thesis and for
her valuable comments and suggestions regarding the manuscript. I would also like
to thank her for giving me the opportunity to work on this interesting topic.
I would like to thank the entire E.T.C.E Department and all the people, who
directly or indirectly helped me, complete my thesis within the stipulated time.

Place: Kolkata
Date: /
/

(Romesh Laishram)
Department of Electronics and
Telecommunications Engineering
Jadavpur University
Kolkata -700032

iv1

Abstract
Emergence of different wireless technologies in recent past has projected wireless
as an alternate medium for internet connectivity. Wireless technologies are able to
provide mobility and portability that makes it more attractive as compared to wired
technologies. Further, increasing requirement to support ubiquitous connectivity
with higher data rate for mobile computers and communication devices are fuelling
a growing interest in broadband wireless access (BWA) networks. To solve issues
related to BWA and frame specifications for it, study group 802.16 was formed
under IEEE project 802 to recommend an international standard for Wireless
Metropolitan Area Networks (Wireless MAN). Quality of Service (QoS) is one of
the added values for IEEE 802.16 standard over other existing wireless standards.
WiMAX is defined as Worldwide Interoperability for Microwave Access by the
WiMAX Forum, an industrial body formed in June 2001 to promote conformance
and interoperability of the IEEE 802.16 standard. The Forum describes WiMAX as
a standards-based technology enabling the delivery of wireless broadband as an
alternative to cable and DSL. It is being seen as a tool to bridge the Digital Divide
by providing applications over the air to sparsely populated regions across the
world.
Although IEEE 802.16 standard defined the QoS parameters, they do not specify
how these QoS parameters are satisfied and it is an open issue for research.
This thesis analyses the design of Call Admission Control (CAC) scheme for QoS
provisioning in IEEE 802.16 based WiMAX networks. First a bandwidth efficient
CAC scheme is propose with bandwidth and delay guarantee that generally
operates at the (Medium Access Control) MAC layer. The concept of adaptive
bandwidth degradation is introduced to improve the bandwidth utilization of the
system. A Markov Chain based analytical model is developed to evaluate the
performance of the CAC scheme. The proposed CAC scheme is compared with an
existing CAC scheme that uses the concept of fixed step size degradation. Second
an adaptive guard channel based CAC scheme is propose considering the Adaptive
Modulation and Coding (AMC) that basically operates at the (Physical) PHY layer.

v1

With AMC, the modulation type of a users connection can be changed


dynamically due to worsening of the channel and the ongoing connection might
fail due to the change of modulation. Adaptive modulation is a powerful technique
to improve the spectral efficiency in wireless transmission over fading channels.
Similarly, it is possible to apply the adaptive modulation technique to CAC scheme
in order to enhance network performance satisfying QoS requirements.

vi 1

CONTENTS

1. Introduction
1.1 Introduction 2
1.2 Objective of Work..7
1.3 Outline of thesis..................................................................................... 8
2. Markov Chains
2.1 Introduction.. 10
2.2 Chapman-Kolmogorov Equations 11
2.3 Classification of States. 13
2.4 Representation of the Analytical Model of a BS as a Markov Chain
Model . 15
2.5 Performance Evaluation of the CAC Mechanisms using Analytical
Model 17
3. Adaptive CAC for QoS Provisioning in WiMAX Networks
3.1 Introduction...21
3.2 Related Work 21
3.3 Adaptive bandwidth degradation - CAC (ABD-CAC) 23
3.3.1 Notations used ..23
3.3.2

ABD-CAC algorithm ...... 24

3.4 Analytical Model...28


3.5 Performance Evaluation and Numerical Results...32
3.6 Summary.. 38
4. Trade off analysis
4.1 Introduction.. 40
4.2 Related Work 40
4.3 ABD-CAC algorithm with fairness...................................................... 41
4.4 Tradeoff analysis ................. 42
4.5 Performance Evaluation and Numerical results43
4.6 Discussion. 48

vii 1

5. Adaptive Guard Channel based CAC scheme using AMC

5.1 Introduction.. 50
5.2 Related works... 51
5.3 Adaptive Guard Channel CAC (AGC-CAC) Scheme . 53
5.3.1 Notation used ... 53
5.3.2 AGC-CAC algorithm ...54
5.4 System model .. 56
5.5 Simulation results 58
5.6 Summary .. 64
6. Conclusion and Future Scope of Work
6.1 Conclusion.66
6.2 Future Scope of Work...67
References..69

viii 1

Chapter-1

Introduction

1 2

Introduction
1.1

Introduction
Since the final decades of the twentieth century, data networks have shown

steadily growing success. Until the year 2000, users of the Internet accessed its
contents primarily through wired, fixed infrastructure sites (e.g., universities, home
dial-up connections, and corporate and government facilities). However,
technology has evolved such that a significant number of users today access
Internet services wirelessly. The cumulative result has created an informationcentric society where users rely on network services in most aspects of their dayto-day life. The emerging wireless Internet architecture aims to continue the access
revolution by supporting an increasing number of users at increased data rates,
such that the user experience is similar to the experience from a wired, high-speed
connection. A variety of wireless technologies have been proposed, both in
standards organizations and by industry consortiums, to enable wireless network
access.
Today the buzzword in the communication domain is Broadband Wireless Access
(BWA). Broadband wireless is about bringing the broadband experience to a
wireless context, to support access at broadband rates. According to popular ITU
definition broadband rates means providing service at a rate of at least 1.544 Mbps
[1]. There are two fundamentally different types of broadband wireless services.
The first type attempts to provide a set of services similar to that of the traditional
fixed-line broadband but using wireless as the medium of transmission. This type,
called fixed wireless broadband, can be thought of as a competitive alternative to
DSL or cable modem. The second type of broadband wireless, called mobile
broadband, offers the additional functionality of portability, nomadicity and
mobility. Mobile broadband attempts to bring broadband applications to new user
experience scenarios and hence can offer the end user a very different value
proposition.

1 3

Broadband availability brings high performance connectivity to over a billion


users worldwide, thus developing new wireless broadband standards and
technologies that will rapidly span wireless coverage. Wireless digital
communications are an emerging field that has experienced a spectacular
expansion during the last several years. Moreover, the huge uptake rate of mobile
phone technology, WLAN (Wireless Local Area Network) and the exponential
growth of Internet have resulted in an increased demand for new methods of
obtaining high capacity wireless networks [2].
In the quest for a solution to provide BWA the IEEE 802.16 working group on
Broadband Wireless Access has been developing IEEE Std. 802.16

TM

since

1999.The basic goal of the standard is to provide specific technologies and


protocols to specify the air interface of BWA systems. The IEEE 802.16 std. is an
evolving standard. The standard was designed originally for the support of
stationary, enterprise class deployments. However, the long term goal was always
to evolve the standard along with the developing technology to the point to which
it is economically feasible to move deeper in to the access network and closer to
the user. As of 2004, the standard was first enhanced as IEEE 802.16d [3] with
technology suitable for residential-class applications. Around the same time, work
began to evolve the technology further towards system that could support mobile
as well as stationary terminals. The IEEE 802.16e [4] amendment, approved in
December 2005, brings support for mobile as well as fixed terminals.
The (Worldwide Interoperability for Microwave Access) WiMAX forum [5]
was formed as a nonprofit corporation to promote and certify the compatibility and
interoperability of Broadband Wireless Access (BWA) products using the IEEE
802.16 specifications. The IEEE 802.16d std. is generally referred to as Fixed
WiMAX and IEEE 802.16e std. is referred to as Mobile WiMAX. The IEEE
802.16 std. is called wireless MAN (Metropolitan Area Networks).Metropolitan
in this sense indicates not the target geography but instead the target scale. It is by
no means limited to urban applications but also in rural areas where wire line
access is not feasible.

1 4

WiMAX will substitute other broadband technologies competing in the same


segment and will become an excellent solution for the deployment of the wellknown last mile infrastructures in places where it is very difficult to get with other
technologies, such as cable or DSL, and where the costs of deployment and
maintenance of such technologies would not be profitable. In this way, WiMAX
will connect rural areas in developing countries as well as underserved
metropolitan areas. It can even be used to deliver backhaul for carrier structures,
enterprise campus, and Wi-Fi hot-spots. WiMAX offers a good solution for these
challenges because it provides a cost-effective, rapidly deployable solution
[2].Additionally, WiMAX will represent a serious competitor to 3G (Third
Generation) cellular systems as high speed mobile data applications will be
achieved with the 802.16e specification. A typical IEEE 802.16 deployment
scenario is shown in figure 1.1.

Figure 1.1: Typical IEEE 802.16 deployment scenarios

1 5

As the IEEE STD 802.16 has grown must of the evolution has occurred in the
physical layer (PHY), which is the primary arbiter of the physical environment in
which the technology can operate. All of this development, however, is based on
the essence of the standard: its medium access control layer (MAC) specification.
This MAC, which supports all of the standards PHY options, was originally
designed for the first application: carrier quality, enterprise based
telecommunications services .Because of this history, the IEEE 802.16 standard
can support the most demanding service requirements, even as it evolves towards
more consumer-friendly applications. This is a key factor in applicability of the
standard. One of the Primary MAC-related features of the standard is its support
for differentiated quality of service (QoS) among its users. An IEEE 80.16 base
station (BS) can simultaneously support a variety of customer service
requirements, for example, very demanding services such as real-time video
conferencing along with T1/E1 service, voice over internet protocol (VOIP) and
best effort internet.
Initially the IEEE 802.16 was aimed at providing high speed internet access in the
Point-to-Multipoint (PMP) manner only. The deployment of PMP mode of
operation is as depicted in figure 1.2, where all traffic between subscriber stations
(SS) or mobile stations (MS) are controlled by a base station (BS). In PMP mode
traffic directions is used to distinguish two types of data channels: uplink (UL)
channel where data is sent from the SSs to the BS, and downlink (DL) channel
where data bursts are sent from BS to all SSs. Another type of operational mode
was later included which id called the mesh mode of operation. In mesh mode,
traffic can be routed directly between SSs or between the SS and the BS.11There are
two modes for granting requested bandwidth to SS by the BS: Grant per
connection (GPC) and Grant per subscriber station (GPSS). In our study we have
assumed PMP and GPC mode.

1 6

Fig. 1.2 WiMAX PMP network


The support of Quality of Service (QoS) [6] was embedded, since the first release
which clearly stated the role of IEEE 802.16 as a leading technology for the
support to advanced multimedia applications. However, Line-of-Sight (LOS) was
required, because the air interface of the 2001 release was based on Single Carrier
(SC) at very high frequencies, i.e. above 11 GHz. This constraint could severely
affect the dissemination of the technology, since it significantly increased the cost
of setup of both the Base Station (BS) and Subscriber Stations (SSs), e.g. due to
the mounting of roof-top antennae. Thus, during the subsequent years the standard
has been amended and published in 2004 as IEEE 802.16d [1], so as to include
support to non-LOS deployment.
This new release included three new air interfaces, tailored to different types of
scenarios. First, the SC air interface is a modification of the original SC physical
layer, with support to lower frequencies, i.e. below 10 GHz, and non-LOS.
However, both research and industry soon abandoned this air interface, mostly
because of its inefficiency in an urban environment. Second, the Orthogonal
Frequency Division Multiplexing (OFDM) [7] was specifically designed for fixed
Broadband Wireless Access (BWA), in both urban and rural scenarios. With this

1 7

air interface, support to a mesh mode of the MAC was also added, so as to allow SSs
to relay packets directed to the BS or other SSs. Finally, the Orthogonal Frequency
Division Multiple Access (OFDMA) [7] was tailored to mobile BWA applications,
even though support to mobile terminals was only added in the 2005 release of the
IEEE 802.16 standard, i.e. IEEE 802.16e [2]. To support a wide variety of
applications, the IEEE 802.16 std. defines five scheduling services that should be
supported by the BS MAC scheduler for data transport over a connection. Table
1.1 shows the different types of service flows supported in WiMAX and typical
example of each service flow.
Table 1.1: Service Flows supported in WiMAX
Service Flow Designation

Defining QoS
Parameters
Maximum Sustained Rate

Unsolicited Grant

Maximum Latency

Service (UGS)

Tolerance
Jitter Tolerance
Minimum Reserved Rate
Maximum Sustained Rate

Real-time Polling Service


(rtPS)

Maximum Latency
Tolerance
Traffic Priority

Non Real-time Polling


Service (nrtPS)

Best Effort Service (BE)

Minimum Reserved Rate


Maximum Sustained Rate
Traffic Priority

Application Examples

Voice over IP (VoIP)


without silence
suppression

Streaming audio and


video, MPEG (Motion
Picture Expert Group)
encoded

File Transfer Protocol


(FTP)

Maximum Sustained Rate

Web browsing, data

Traffic Priority

transfer

Minimum Reserved Rate


Maximum Sustained Rate
Extended Real-time

Maximum Latency

VoIP with silence

Polling Service (ertPS)

Tolerance

suppression

Jitter Tolerance
Traffic Priority

1 8

PHY feature of IEEE 802.16e includes uses Scalable OFDMA to carry data,
supporting channel bandwidths of between 1.25 MHz and 20 MHz, with up to
2048 sub-carriers. It supports adaptive modulation and coding (AMC), so that in
conditions of good signal, a highly efficient 64 QAM coding scheme is used,
whereas where the signal is poorer, a more robust BPSK coding mechanism is
used. In intermediate conditions, 16 QAM and QPSK can also be employed. AMC
provides the flexibility to match the modulation-coding scheme to the average
channel conditions for each user. With AMC, the power of the transmitted signal is
held constant over a frame interval, and the modulation and coding format is
changed to match the current received signal quality or channel conditions. In a
system with AMC, users close to the Base station are typically assigned higher
order modulation with higher code rates (e.g. 64 QAM with R=3/4 Turbo codes),
but the modulation-order and/or code rate will decrease as the distance from Base
station increases.

1.2 Objective of Work


A very important and challenging problem in IEEE 802.16 Broadband Wireless
Access is providing QoS guarantees for heterogeneous class of services with
different QoS requirements. QoS is one of the added values for IEEE 802.16
standard over other existing wireless standards. Different layers have different QoS
requirements. The QoS requirements are given in terms of bandwidth, latency,
jitter, reliability etc. However, the IEEE 802.16 standard only defines the behavior
of MAC layer and PHY layer, a problem arises on how to guarantee the very
diverse QoS requirements for all of these applications. According to IEEE 802.16
std., the MAC layer is carefully designed to manage different kinds of traffic and
the connection-oriented trait of the MAC layer affords the use of scheduling and
CAC algorithms. In order to fulfill the service differentiation and QoS provisioning
defined in IEEE 802.16 std., one of the key issues is to design an efficient Call
Admission Control (CAC) scheme satisfying the guaranteed QoS at the connection
level.
Both CAC and scheduling algorithm have a key role since they are addressed to
manage and guarantee the QoS requirements. A single scheduling algorithm cannot
guarantee at all the QoS without the support of a suitable CAC and vice versa.

1 9

Sometimes CAC and scheduling algorithm working on different criteria can


interfere; the proposed CAC algorithm has been developed to work in an
independent manner from the scheduling algorithm. Such a feature allows the
implementation of the preferred scheduling algorithm and the research for a new
one that, working according to the proposed CAC, might enhance the QoS
management process.
The objective of this thesis is to design an efficient CAC scheme that manages the
scarce radio resources and maintain the QoS of the different services at acceptable
level. In this study the performance of the CAC scheme is evaluated in terms of
QoS parameters like Blocking probability, Dropping probability and Bandwidth
utilization. The revenue generated by the system is also considered for comparison
of the proposed scheme with existing CAC scheme. The thesis also focuses on the
CAC scheme considering the AMC at PHY layer.

1.3 Outline of Thesis


The thesis is organized as follows
 Chapter 2 discusses the concept of Markov chain. It also describes
how an analytical model can be developed using Markov chain
model for performance evaluation.
 Chapter 3 gives the detail description of the proposed CAC scheme.
The result for the comparative analysis is also given
 Chapter 4 discusses the trade off analysis on the proposed scheme.
 Chapter 5 give the CAC scheme developed considering AMC
induced call dropping.
 Chapter 6 gives the conclusion and future scope of work..

1 0

Chapter-2

M arkov Chains

1 2.1

Markov Chains
2.1 Introduction
A stochastic process X={X (t), t T} [36] is a collection of random
variables. That is for each t in the index set T, X (t) is a random variable. We often
interpret t as time and call X (t) as the state of the process at time t. If the index set
T is countable set, say T = {0, 1, 2}, we say that X is a discrete time stochastic
processes, whereas if T consists of a continuum of possible values, we say that X is
a continuous time stochastic processes.
A discrete time stochastic processes Xn, n = 0, 1, 2 takes on finite or
countable number of possible values. This set of possible values will be denoted by
the set of nonnegative integers 0, 1, 2 If Xn, = i, then the processes is said to be
in state i at time n. Suppose that whenever the process is in state i, there is a fixed
probability

that it will next be in state j. That is


P {Xn+1 = j | Xn = i, Xn-1 = in-1 , . . . . . X0 = i0 } = Pi, j

(2.1)

For all states i0, i1 , , in-1, i, j and all n 0. Such a stochastic process is
known as a Markov chain [35]. Equation (2.1) may be interpreted as stating that,
for a Markov chain, the conditional distribution of any future state Xn+1, given the
past states X0, X1, . .Xn-1 and the present state Xn, is independent of past states and
depends only on the present state. That is, given the present state, the past and
future states of Markov chain are independent. If this is the case, the time period
for which the process has stayed in the current state should play no role in
determining the next state. The duration for which a process has stayed in a
particular state doesnt influence next state transition.
The value Pi, j represents the probability that the processes will, when in
state i, next make a transition into state j. As probabilities are nonnegative and the
processes must make a transition into some state, we have

(2.2)
(2.3)

1 221

Let P denote the matrix of one step transition probability

, then P can be

represented as shown below

P0,0 P0,1

P1,0 P1,1
P = ... ...

Pi ,0 Pi,1
... ...

... P0, j ...

... P1, j ...


... ... ...

... Pi, j ...


... ... ...

Example 3.1: According to Kemeny, Snell, and Thompson, the Land of Oz is


blessed by many things, but not by good weather. They never have two nice days
in a row. If they have a nice day, they are just as likely to have snow as rain the
next day. If they have snow or rain, they have an even chance of having the same
the next day. If there is change from snow or rain, only half of the time is this a
change to a nice day. With this information we form a Markov chain as follows.
We take as states the kinds of weather R, N, and S. From the above information we
determine the transition probabilities. The state transition probability matrix is
shown below:

2. 2 Chapman - Kolmogorov Equations


The entries in the first row of the matrix P in Example 3.1 represent the
probabilities for the various kinds of weather following a rainy day. Similarly, the
entries in the second and third rows represent the probabilities for the various kinds
of weather following nice and snowy days, respectively.
We consider the question of determining the probability that, given the
chain is in state i today; it will be in state j two days from now. We denote this
probability by

. In Example 3.1, we see that if it is rainy today then the event

that it is snowy two days from now is the disjoint union of the following three

1 231

events: 1) it is rainy tomorrow and snowy two days from now, 2) it is nice
tomorrow and snowy two days from now, and 3) it is snowy tomorrow and snowy
two days from now. The probability of the first of these events is the product of the
conditional probability that it is rainy tomorrow, given that it is rainy today, and
the conditional probability that it is snowy two days from now, given that it is
rainy tomorrow. Using the transition matrix P, we can write this product as

The other two events also have probabilities that can be written as products of
entries of P. Thus, we have

This equation is similar to a dot product of two vectors; we are dotting the
first row of P with the third column of P. In general, if a Markov chain has r states,
then

Therefore in general, the n-step transition probability

of the Markov

chain is defined as the conditional probability, given that the chain is currently in
state i, that it will be in state j after n additional transitions. That is,

(2.4)
And it can be represented in the form of equations as

(2.5)

and are derived by noting that

is the probability that the chain, currently

in state i, will go to state j after n+m transitions through a path that takes it into
state k at the nth transition. Hence, summing these probabilities over all immediate
states k yields the probability that process will be in state j after n+m transitions.
Formally, we have

1 241

=
=
=
These equations are known as The Chapman-Kolmogorov equations and
they provide a method of computing the n-step probabilities.
If we let

denote the matrix of n-step transition probabilities

, then the

Chapman-Kolmogorov equations assert that

(2.6)
where the dot represents matrix multiplication. Hence,

and, by induction,
(2.7)
In our example

is as shown below

That is, the n-step transition probability matrix may be obtained by


multiplying by matrix P by itself n times.

2.3 Classification of States


Definition 1: Let

denote the conditional probability that when starting in state

i, we will reach j for the first time after exactly n steps. Moreover define

which is the conditional probability of eventually reaching j when starting in i.


A state is called recurrent if

. A state that is not recurrent is called

transient.
Proposition 1: i is recurrent

1 251

Remark: From the proof of latter result, we see that


i is recurrent P(i infinitely often | X0 = i) = 1

E (# of visits to i | X0 = i) =
i is transient P(i infinitely often | X0 = i) = 0

and

E (# of visits to i | X0 = i) <
Definition 2: Let i and j be two states. We call j reachable from i and write i j if
there exists an n 0 such that

> 0. Furthermore, we say that i and j

communicate and write i j if i j and j i.


Proposition 2: Communication is an equivalence relation, i.e.
The communication relation satisfies the following three relations.
1. i i
2. if i j then j i
3. if i j and j k then i k
Two states that communicate are said to be in same class.

Definition 3: A Markov chain is called irreducible if there is only one equivalence


class with respect to the above equivalence relation.
Proposition 3: If i j and i is recurrent then, j is recurrent as well (recurrence is a
class property).
Lemma 1: If i j and j

i then i is transient.

Definition 4: A set C of states is called closed if for all i C and j C, we have


i

j. C is called irreducible if for all i, j C, we have i j.

Preposition 4: If C is an equivalence class of recurrent states, then C is closed and


irreducible.

Preposition 5: All states in a finite, closed, and irreducible set S are recurrent.

Definition 5: Let i be a recurrent state, i is called positive recurrent if

1 261

A state that is not positive recurrent is called null recurrent.


Preposition 6: Positive recurrence and null recurrence are both class properties.
Definition 6: Let i be a state, then we define the period of i as
d (i) = gcd{ n 1 |

> 0 }.

If d(i) = 1, then i is called aperiodic. Moreover a Markov chain is called aperiodic


if every state is aperiodic
Preposition 7: If i j then d (i) = d (j). (Periodicity is a class property).
Definition 7: Positive recurrent aperiodic states are called ergodic.
Theorem 1: For an irreducible, ergodic Markov chain

exists and is

independent of i. Furthermore, letting


(2.8)
then

, j 0 is the unique nonnegative solution of


(2.9)
(2.10)
A Markov chain Xn for which Xn has the same distribution for every n is

said to be a stationary Markov chain. Because the Markov chain is thus stationary
when its initial state is chosen according to the probability

, these probabilities

are called stationary probabilities and their defining equations (2.1) and (2.2) are
called the stationary equations.

2.4 Representation of the Analytical Model of a BS as a Markov Chain Model


In our thesis the performance evaluation of the CAC mechanisms is
obtained by using the Markov Chain Model. In this each BS is represented in the
form of an analytical model. This analytical model resembles an ergodic Markov
Chain. This is explained by using an example:
In this example we consider a single Fixed WiMAX BS in isolation. This
BS will receive the bandwidth requests from the SSs within the coverage area of a
BS. Three types of services UGS, rtPS, nrtPS need QoS guarantees and request for

1 271

connection admission. Consider the simple CAC mechanism in which the BS will
admit the connection whenever there is sufficient amount of bandwidth left at the
BS, to accommodate the connection. Otherwise the BS will reject the connection.
In this scenario the BS can be uniquely represented in the form of a State s = (nu,
nr, nn) based on the number of admitted connections of each type. State s = (nu, nr,
nn) represents that the BS has currently admitted nu, nr, and nn number of UGS,
rtPS and nrtPS connections respectively into the network. The BS will be in a
particular State s = (nu, nr, nn) until a new connection of either type (UGS, rtPS,
nrtPS) is admitted into the network or an ongoing connection of either type (UGS,
rtPS, nrtPS) is terminated. The arrival process of new requests for UGS, rtPS and
nrtPS connections is assumed to be Poisson with rate U, r, n respectively. The
service time for UGS, rtPS and nrtPS connections is assumed to be exponentially
distributed with mean 1/u, 1/r, and 1/n respectively.
Based on this, the BS changes state from one to another upon the admission
or rejection of a connection. Further it is assumed that the BS either admits or
rejects only one connection at a particular instant of time. The next state of the BS,
depends only on the present state the BS currently is in and does not depends on
the previous states the BS is in. From the previous sections we can conclude that
the states of the BS form a Markov Chain, and hence the BS can be analytically
modeled using the Markov Model.
Furthermore we can say that the Markov Chain obtained has the ergodic
property. That is we obtain an irreducible and aperiodic Markov Chain. This can be
proved by taking an example. Consider the BS has a total bandwidth of 128 Kbps
and UGS, rtPS, and nrtPS connections require 32 Kbps, 64 Kbps, and 64 Kbps of
bandwidth respectively Initially the BS the BS is assumed to be in State s = (0, 0,
0). The state transition diagram of this BS is as shown in Figure 2.1.
From the Figure 3.1 we can see that every state s = (nu, nr, nn) in state space
S is reachable from every other state. That is each state communicates with other
states in the state space S. Therefore the state space S forms a closed set and all the
states are recurrent. Therefore the Markov chain is irreducible. Also all the states in
the state space S is aperiodic. Therefore we can conclude that the state space S
forms an ergodic Markov Chain.
Therefore using the properties of the ergodic Markov Chain (3.8, 3.9, 3.10)
we can calculate the performance of the system. According to equation 3.8 the

1 281

steady state probability of all the states s in the state space S exists and is
independent of the initial state. The steady state probabilities of all the states s can
be obtained by solving the (3.9) and (3.10). After obtaining the steady state
probabilities we can obtain the Performance of the CAC mechanism.

Figure 2.1 State Transition Diagram of the BS representing an ergodic Markov


Chain
The steady state probabilities for each state s in the above example can be
obtained as follows.
Assume that the steady state probability of state s = (0, 0, 0) in the above
example be

. Observing the figure we can write the steady state balance

equation of the state s = (0, 0, 0) as


(U + r+ n) = u

+ r

+ n

(2.11)

Similarly we can get the steady state balance equations of all the states s in
the state space S. If there are n numbers of states, we get n dependent steady state
balance equations. Also we know that the sum of all the steady state probabilities
of all the states should be equal to one (2.10). By substituting (2.10) in place of any
one of the n dependent equations obtained, we can calculate the steady state
probabilities of all the states by solving the state balance equations [36].

2.5 Performance Evaluation of the CAC mechanism


The performance evaluation of the CAC mechanism can be obtained after
calculating the steady state probabilities of the states. The performance parameters

1 291

that we consider in our thesis are Blocking Probabilities of UGS, rtPS, nrtPS
service flows and the Bandwidth Utilization of the system. For calculation of
steady state probabilities the following steps are followed:
1. Define the proposed CAC mechanism.
2. Based on the proposed CAC mechanism, obtain the state space S of the
Markov Chain. The state space will be different for different CAC
mechanisms.
3. Obtain the state balance equation for each state s in the state space S of the
Markov Chain.
4. Obtain the Steady State Probabilities of the all the states in the state space S
of the Markov Chain by solving the state balance equations.
The steady state probability of the state s represents the probability of the
BS being in that particular state S at any given instant of time.
a. Calculation of new connection blocking probability
Using the steady state probabilities the blocking probabilities of the
connections can be calculated. The new connection blocking probability is
the probability of rejecting a new request for connection. For example the
blocking probability of a new arriving UGS request is the sum of all the
steady state probabilities of the states s = (nu, nr, nn) in the state space S for
which there is no transition to the state s = (nu+1, nr, nn). In the above
example the blocking probability of new UGS requests is equal to the sum
of the steady state probabilities of the states (4, 0, 0), (2, 1, 0), (0, 2, 0), (0,
1, 1), (2, 0, 1), (0, 0, 2). In similar manner the blocking probabilities of rtPS
and nrtPS connections can be calculated.

b. Calculation of Bandwidth Utilization


The bandwidth utilization is the average ratio of the used bandwidth
to the total bandwidth. Formally it can be calculated as

Where Bu, Br, Bn are the bandwidth requirement of the UGS, rtPS, nrtPS
connections respectively.

is the steady state probability of the state s,

where B is the total bandwidth available at the BS.

1 201

1
1
1
1
1
1
1

Chapter-31
1

Adaptive Call Admission Control Scheme for


QoS Provisioning in WiMAX Networks1

Adaptive Call Admission Control Scheme for


QoS Provisioning in WiMAX Networks
3.1

Introduction
1 3.1

In this chapter a band width efficient CAC mechanism is proposed for QoS
provisioning in WiMAX networks. As IEEE 802.16e MAC is connection-oriented,
the Mobile Stations (MSs) must establish an end-to-end connection before actually
transmitting the data. As there is a provision for mobility of the users in IEEE
802.16e the request for connection establishment at the Base Station (BS) may be a
Handoff connection request from the neighboring BS or a newly originated
connection request from the MS within the BS. Once the BS receives the
connection request, it takes a decision on whether to accept the connection or not,
based on the current network load and the bandwidth required by the connection
during its lifetime. The proposed CAC scheme is mainly focused on achieving high
bandwidth utilization of a stressed WiMAX network with QoS guarantees and thus
ensuring no wastage of network bandwidth resources. To show the effectiveness of
the proposed CAC scheme comparative analysis with another CAC scheme is
presented at the end of the chapter.
3.2

Related works

Although there are substantial literatures on Call Admission Control (CAC), to the
best of our knowledge there are no proposed CAC scheme in literatures that has
100 % bandwidth utilization with both bandwidth and delay guarantees for a
stressed network.
In [8], the authors proposed a dynamic CAC scheme based on the scheduling
service characteristics for IEEE 802.16d Fixed WiMAX. The proposed CAC
scheme uses bandwidth reservation and degradation policies. Bandwidth
reservation policy is used to prioritize the UGS connections, as UGS is the most
common way used by the people to communicate in every day life. Degradation is
the method of decreasing the bandwidth allocated to the admitted connections in
order to accommodate more number of connections. Degradation is possible in
rtPS and nrtPS connections since these connections generate variable bit rate
traffic. The bandwidth of these connections may vary between Maximum sustained
traffic rate (MSTR) and Minimum reserved traffic rate (MRTR). In this CAC
scheme only nrtPS connections are degraded. The authors showed that degradation
model improves the bandwidth utilization of the system as well as decreases the

1 321

blocking probabilities of the service flows than that of the constant rate CAC
scheme. The constraint of this scheme is that it does not provide any delay
guarantees to the delay sensitive rtPS connections. Also the CAC scheme is
proposed for Fixed WiMAX which does not support mobility. The CAC scheme
proposed in [9] also followed the similar approach as that in [8]. The authors in
[10] proposed a CAC scheme that also uses Bandwidth reservation and provides
QoS provisioning by keeping new connection blocking probability (NCBP) and
Handoff connection dropping probability (HCDP) below a threshold which is
dynamically adjusted. The CAC scheme proposed in [11] controls the number of
connections admitted to the network by limiting it below a threshold and the
bandwidth allocation is considered at the scheduling stage. A fractional guard
channel policy was developed in [12] [13] [14], but the resource partitioning
among different classes led to the waste of bandwidth in the under-loaded classes.
In [15], Liping Wang et al. proposed a CAC scheme based on the IEEE
802.16e Mobile WiMAX standard. Handoff connections are given higher priority
than newly originated connections, because it is more annoying to drop an ongoing
connection rather than blocking a newly originated connection. The authors also
use degradation for increasing Bandwidth Utilization (BU), NCBP and HCDP. But
like [8] delay guarantees are not considered. In [16], Yin Ge et al. proposed a CAC
scheme for IEEE 802.16e Mobile WiMAX. In that the authors gave priority to
handoff connections by allowing them to use the degraded bandwidth of the
admitted connections, contrary to [15] where bandwidth reservation is used. The
drawback of this scheme is that it does not provide any delay guarantees to
admitted connections. In [17]-[18] the authors proposed a scheduling algorithm
and CAC policy for QoS in IEEE 802.16 Fixed WiMAX. In that the CAC scheme
provides both bandwidth guarantees to all service flows and delay guarantees to
rtPS service flows. Both the CAC schemes were token bucket based CAC
schemes, but the CAC schemes proposed were simple which do not use any
degradation mechanism to improve BU, NCBP and HCDP.
In [19], the authors proposed a non-reservation CAC policy with degradation
which provides bandwidth and delay guarantees and improves BU, NCBP and
HCDP compared to the previous schemes. The proposed CAC scheme is obtained
from modifying the CAC scheme proposed in [8]-[19]. However in the previously

1 331

proposed degradation based CAC schemes; the degradation is performed in steps


with a step size initially assigned arbitrarily. Because of this the bandwidth of rtPS
and nrtPS connections may be degraded more than necessary which will result in
wastage of bandwidth and reduces the bandwidth utilization of the system. Also
the bandwidth allocation for rtPS and nrtPS connections may be less. For
performance evaluation in [19], the arrival rates and the mean service times of all
the connections are assumed to be equal that is unrealistic.
In this chapter, a token bucket based CAC scheme is propose in which the
degradation is done only to obtain the minimum required bandwidth for the
handoff and new connection i.e. the degradation is adaptive to the required
bandwidth for the connection. The adaptability is evaluated in terms of bandwidth
utilization and observed the performance in comparison with fixed step size
degradation as suggested in [19].we called the proposed scheme as Adaptive
Bandwidth Degradation CAC (ABDCAC).

3.3

Adaptive Bandwidth Degradation CAC (ABDCAC)

In the proposed CAC policy all the hand off connections are given equal priorities
unlike [19]. Degradations are performed on both rtPS and nrtPS connections but to
maintain the priorities of the connections the bandwidth obtain from the
degradation of rtPS and nrtPS connections are given to handoff connections only.
For newly originated UGS connections only nrtPS connections are degraded. No
degradation is performed for new rtPS and nrtPS connections. The BE connections
are not considered in the proposed CAC scheme, because they are designed to
support best effort flows which does not need any QoS guarantees and are always
admitted into the network and are handled on bandwidth availability. Also ertPS
connections requests are considered to be same as rtPS connections, because both
connections have same QoS parameters and differ only by the way of
Request/Transmission policy.1
3.3.1

Notations used

The QoS parameters of each UGS, rtPS and nrtPS connection and the
terminologies used in this paper is given below.

1 341

: duration of a timeframe (ms) which includes downlink and uplink


subframe

di

: Maximum delay requirement of a connection (ms)

mi

: di /f (an integer)

: Total Bandwidth allocated for uplink transmission

BU

: MSTR allocated for UGS connections

max
Br

: MSTR allocated for rtPS connections

min
Br

: MRTR allocated for rtPS connections

max
Bn

: MSTR allocated for nrtPS connections

min
Bn

: MRTR allocated for nrtPS connections

nu

: number of UGS connections admitted into the network

nr

: number of rtPS connections admitted into the network

nn

: number of nrtPS connections admitted into the network

Br

: Current available bandwidth of rtPS connections

Bn

: Current available bandwidth of nrtPS connections

Balloc

: Allocated bandwidth

ri

: Token rate (The average data rate) of connection i

bi

: Bucket size of connection i in (Kbits)

Breq

: required Bandwidth for hand off calls

To satisfy the delay guarantees of the rtPS connections [17] provides us an


equation as given below.

b [(m 1) * (1 + C NRT /C nrtPS )] * r * f


i
i
i

(3.1)

Where CrtPS = Total amount of bandwidth allocated to rtPS connections


CNRT = Total amount of bandwidth allocated to non real-time connections

1 351

3.3.2 Proposed CAC algorithm


The algorithm of the proposed CAC policy is given below.
(i) CAC for Hand off connections
If (a hand off connection arrives at BS)
If (Breq <= (B-Balloc)) // Check for bandwidth availability.
If equation (3.1) is satisfied //Check for Delay Guarantees if both bandwidth
// and delay guarantees are satisfied
Admit the Connection;

Else
Reject the connection;

End
Else
// Perform Degradation of nrtPS connections

If (Bn > Bmin


n )
Degrade all the admitted nrtPS connections equally to obtain the required
bandwidth;

If equation (3.1) is satisfied.


Admit the Connection;

Else
Reject the connection;

End
Else
// Perform Degradation of rtPS connections

If (Br > B min


r )
Degrade all the admitted rtPS connections equally to obtain the required

1 361

bandwidth;

If equation (3.1) is satisfied.


Admit the Connection;

Else
Reject the connection;

End
End
End

(ii) CAC for new UGS connections

If (new UGS connection arrives at BS)


If (Bu <= (B-Balloc)) // Check for bandwidth availability.
If equation (3.1) is satisfied // Check for Delay Guarantees if both bandwidth
// and delay guarantees are satisfied
Admit the Connection;

Else
Reject the connection;

End
Else
// Perform Degradation of nrtPS connections

If (Bn > B min


n )
Degrade all the admitted nrtPS connections equally to obtain the required
bandwidth;

If equation (3.1) is satisfied.


Admit the Connection;

Else

1 371

Reject the connection;

End
End
End
(iii) CAC for new rtPS connection

If (new rtPS connection arrives at BS)


If (Br <= (B-Balloc)) // Check for bandwidth availability.
If equation (3.1) is satisfied //Check for Delay Guarantees if both bandwidth
// and delay guarantees are satisfied
Admit the Connection;

Else
Reject the connection;

End
End
(iv) CAC for new nrtPS connection
If (new nrtPS connection arrives at BS)
If (Bn <= (B-Balloc)) // Check for bandwidth availability.
If equation (3.1) is satisfied //Check for Delay Guarantees if both bandwidth
// and delay guarantees are satisfied
Admit the Connection;

Else
Reject the connection;

End
End

3.4

Analytical model
1 381

For performance evaluation of the proposed CAC scheme each BS is


modeled using a Markov chain [8], [20]. The arrival process of the handoff and
newly originated UGS, rtPS, and nrtPS connections is Poisson with rates

hr

hn

hu

, ou , or , , and on respectively, where the subscript h represents


hr

hand off connections and the subscript o represents newly originated connections
in a cell. Therefore the total arrival rate of the connection requests at the base
station is equal sum of all the individual arrival rates of all the connections i.e.

hu

hr

hn

+ ou +

hor

+ on

. The service times of UGS, rtPS

and nrtPS connections are exponentially distributed with mean 1/ u , 1/ r and

1/ n respectively. Each BS can be modeled as a five dimensional Markov


chain (n u , n r , B r , n n , B n ) . The steady state probability of a state s =

(n u , n r , B r , n n , B n ) is

(n u ,n r ,Br ,n n ,Bn )

. The state space S for all possible

Markov states is defined based on the proposed CAC mechanism as follows:


S = {s = (n u , n r , B r , n n , B n ) | n u * B u + n r * B r + n n * Bn B
min
min
(B r B r ) (B n B n )

For a given state s= (n u , n r , B r , n n , B n ) , the state transition occurs when a new


request is accepted or an ongoing connection terminates. The general state
transition diagram for a given state s is shown in Table-I. Br and Bn are the
bandwidth available for rtPS and nrtPS connection after state transition and may
have a different value from that of B and B respectively.
r
n

Table 3.1: State Transition Rate of the Markov Chain


Current State

(n u , n r , B r , n n , B n )

(n u + 1, n r , Br , n n , Bn )

Transition
rate
tu

(n u 1, n r , Br , n n , Bn )

n u u

(n u , n r + 1, Br , n n , Bn )

tr

Next State

1 391

(n u , n r 1, Br , n n , Bn )

n rr

(n u , n r , Br , n n + 1, Bn )

tn

(n u , n r , Br , n n - 1, Bn )

n nn

+ , if(n + 1)B + n * Bmax + n * Bmin < B

ou
u
u
r
r
n
n
tu = hu

,
otherwise
hu
+ , if n * B + ( n + 1) * Bmax + n * Bmax < B

or
u
u
r
r
n
n
tr = hr

,
otherwise
hr
+ , if n * B + n * Bmax + ( n + 1) * Bmax < B

on
u
u
r
r
n
n
tn = hn
, otherwise
hn

The steady state equation of the Markov model is obtained as


{ tu .

(v +1,w, x,y,z)

+ tr .

(v,w +1,x, y,z)

+ tn .

(v,w, x,y +1,z)

+ v. u . (v1,w,x,y,z) + w r . (v,w 1,x,y,z)


+ y. n .

+ r.

(v,w,x, y1,z)

(v,w,x,y,z)

= tu .

.
(v1,w,x , y,z ) (v,w,x , y,z )

.
+ n .
.
(v,w,x ,y1,z) (v,w,x , y1,z )
(v, w -1, x , y, z ) (v, w -1, x , y, z )

+ (v + 1). u .

(v+1,w,x ,y,z ) (v+1,w,x , y,z)


+ (w + 1). r .
.
(v,w +1,x ,y,z) (v,w +1,x ,y,z )
+ (y + 1). n .

.
(v,w,x ,y+1,z). (v,w,x ,y+1,z )

Where v, w, x, y and z represents nu, nr, nn, Br and Bn


respectively and

1, ( v, w, x, y, z) S
0, otherwise

(v,w,x,y,z) =

1 301

= 1 and using

s S (v, w, x, y, z)
recursive algorithm, the steady state probability of each state can be obtained [20].
Using the steady state probabilities of all the states the following performance
parameters can be obtained.

Considering the normalizing condition,

i. New Connection Blocking Probability (NCBP):


The new connection blocking probability is the probability of rejecting a new
connection request for admission into the network. The NCBP of UGS, rtPS, and
nrtPS connections can be calculated as follows.

CBP-UGS =


sS ( n u , n r , B r , n n , B n )

Where S' = {s = (n u , n r , Br , n n , Bn ) | (nu +1)* Bu + nr * Br + nn * Bmin


n > B}

sS ( n u , n r , B r , n n , B n )
Where S' = {s = (n u , n r , Br , n n , Bn ) | nu * Bu + (nr + 1) * Br + nn * Bn > B }
CBP-RTPS =


sS ( n u , n r , B r , n n , B n )
Where S' = {s = (n u , n r , Br , n n , Bn ) | nu * Bu + nr * Br + (nn + 1)* Bn > B }
CBP-NRTPS =

ii. Handoff Connection Dropping Probability (HCDP):


The Handoff connection dropping probability is the probability of dropping a
handoff connection request for admission into the network. The HCDP of UGS,
rtPS and nrtPS connections can be calculated as follows.


sS ( n u , n r , B r , n n , B n )
min
Where S' = {s = (n u , n r , Br , n n , Bn ) | (n u + 1)* Bu + n r * Bmin
r + n n * Bn > B}
HCDP-UGS =

HCDP-RTPS =


sS ( n u , n r , B r , n n , B n )

min
Where S' = {s = (n u , n r , Br , nn , Bn ) | nu * Bu + (nr +1)* Bmin
r + nn * Bn > B}
HCDP-NRTPS =


sS ( n u , n r , B r , n n , B n )

min
Where S' = {s = (n u , n r , Br , n n , Bn ) | nu * Bu + nr * Bmin
r + (nn +1)* Bn > B }
iii. Bandwidth Utilization:

1 4.1

The bandwidth utilization is defined as the average ratio of used bandwidth to the
total bandwidth. The Bandwidth Utilization can be calculated as follows
BU =

(s)
(n u . Bu + n r . Br + n n . B n )
(
,
,
,
,
)
n
n
B
n
B
u r r n n
s S

iv. Average Revenue


In general, service providers expect a CAC policy that can produce the maximal
revenue. The previous study on calculating the long term average revenue can be
expressed as follows [17].
R= (n u . reru . Bu + n r . rerr . Br + n n . rerr . Bn )
(s)
(n u , n r , B r , n n , B n )
s S

Where reru, rerr, rern are the revenue rates of UGS, rtPS and nrtPS respectively.

3.5 Simulation and Numerical results


In this section, the simulation results are presented to illustrate the
performance of the proposed ABDCAC scheme. The traffic load configuration is
taken as shown in Table II. The frame duration (f) is taken as 1ms and the total
uplink capacity available at the BS is 10240 Kbps. The numerical results generated
from the Markov chain model is given both for fixed step size degradation as
suggested in [19] and ABDCAC scheme.
Table 3.2 Traffic load configuration
Service

MSTR
(Kbps)

MRTR
(Kbps)

UGS
rtPS
nrtPS

256
1024
1024

256
256
256

Bucket
Size
(bi bits)
64
1024
1024

Delay
(ms)
21
-

(1/sec) 1/(sec)
0.4 x
0.3 x
0.2 x

10
5
2

In table 3.2, the parameter is defined as the service request parameter. The arrival
rate and the service times of all the handoff connections are assumed to be same as
the new connections. The simulation results are shown in the following figures.

1 421

Figure 3.1: Comparison of NCBP and HCDP of UGS connections

Figure 3.2: Comparison of NCBP and HCDP of rtPS connections

1 431

Figure 3.3: Comparison of NCBP and HCDP of nrtPS connections

Figure 3.4: Comparison of Bandwidth Utilization of the system

1 441

Figure 3.1, 3.2 and 3.3 compares the blocking probabilities and dropping
probabilities of UGS, rtPS and nrtPS respectively. In these figures CAC1 is the
scheme with fixed step size degradation while CAC2 is the newly proposed
adaptive scheme. Since the two schemes differ only in the method of degradation,
no significant improvement can be achieved in the dropping probability and
blocking probability of all services as indicated in figure 3.1, figure 3.2 and figure
3.3 respectively. Figure 3.4 gives the bandwidth utilization of the system. It is quite
evident from the figure that with adaptive degradation the bandwidth utilization of
the system is excellent when the network is stressed. This is a significant
improvement of the proposed scheme over fixed step size degradation scheme.
Also Table3.3 shows that the average bandwidth allocated to rtPS and nrtPS
connections are more with adaptive degradation.
Table 3.3: Average bandwidth allocated to different services
Service

Average Bandwidth allocated


Bavg(Kbps)
CAC1

CAC2

UGS

256

256

rtPS

828.138

869.65

nrtPS

680.3

703.35

For simulation study of the long term average revenue the revenue rates of the
service flows can be as follows:
reru = 6, rerr = 4, rern = 2.
Where reru, rerr and rern are the revenue rates of UGS, rtPS and nrtPS connections
respectively.
The results of the comparative study of the long term average revenue for different
service flows are shown in the following figures.

1 451

Figure 3.5: Comparison of Average Revenue of UGS connections

Figure 3.6: Comparison of Average Revenue of rtPS connections

1 461

Figure 3.7: Comparison of Average Revenue of nrtPS connections

Figure 3.8: Percentage increase in long term Average Revenue

1 471

Figure 3.5 indicates that the average revenue of UGS connections for fixed type
degradation CAC scheme and the proposed adaptive CAC scheme remains same
because UGS connections are allocated fixed bandwidth. However for rtPS and
nrtPS connections the average revenue are higher with adaptive CAC scheme
compared to fixed type degradation CAC scheme as shown in figure 3.6 and figure
3.7 respectively. This will increase the long term average revenue of the system.
Figure 3.8 shows the percentage increase in the long term average revenue of the
system. The increase in long term average revenue is direct consequence of
adaptive degradation and no penalty will be incurred on the system.
From the above results we can conclude that with adaptive degradation the
network under stressed condition has an efficient utilization of the available
network bandwidth resources.1

3.6 Summary
Efficient network resource utilization with QoS guarantees in the next high
speed bandwidth intensive multimedia wireless cellular networks poses great
challenges due to scarce radio bandwidth. Efficient Call Admission Control (CAC)
is important for the efficient utilization of the limited bandwidth. In this chapter, a
token bucket based CAC policy is proposed that provides efficient bandwidth
resource utilization with both bandwidth and delay guarantees under stressed
network conditions. The adaptive degradation has negligible effect on the dropping
and blocking probability of all services but it addresses one of the important issues
of wireless communication of efficient utilization of the limited scarce bandwidth
resources. The proposed policy may be considered as an optimal policy in terms of
the bandwidth utilization of the system.

1 481

Chapter-4

Tradeoffanalysis
1
1

1 491

Trade off analysis


4.1 Introduction
In chapter 3 it was shown that adaptive degradation in comparison with
fixed step size degradation CAC scheme results in excellent resource utilization of
the network and the lower priority services like rtPS and nrtPS enjoys more
available bandwidth without any significant change in the blocking probability and
dropping probability. Also overall revenue of the network is increased.
Degradation is done to allow more handoff connections and higher priority
connections. It can be observed from the results in chapter 3 that the dropping
probabilities of handoff connections are very low but the blocking probabilities are
very high as the traffic load increases. Sometimes it might not be acceptable to
keep the blocking probabilities very high. The network designer has to carefully
design the system such that every connection has their fair share and hence an
acceptable trade off between dropping probability and blocking probability
becomes necessary. This chapter presents how trade off can be achieved without
deteriorating the network performance.

4.2 Related works


To the best of my knowledge only few literatures are available for trade off
analysis in general wireless network but no work has been done progressively in
WiMAX network. In [] the author presents a trade off analysis between NCBP and
HCDP for a multimedia cellular network. In this scheme a parameter called
adaptability ratio [] is defined. The adaptability ratio is calculated during the
bandwidth adaptation process and the new calls are admitted if the adaptability
ratio of the system is greater than a predefined threshold. The scheme is not
applicable in a multiservice wireless networks i.e. the adaptability ratio cannot be
calculated. The authors in [17] proposed a CAC scheme for wireless networks,
with a degradation threshold parameter that is dynamically adjusted and optimized
according to the network traffic to obtain a fair trade-off between HCDP and
NCBP. The paper focused on only two types of service class wideband and

1 401

narrowband service. In our study we follow the approach of [23] and applied to
WiMAX networks. The results show that the CAC scheme proposed in chapter 3 is
improved by making a fair trade off between NCBP and HCDP.

4.3 ABDCAC algorithm with fairness


To achieve fairness between the new calls and the handoff calls a degradation
threshold variable is defined which is optimized to minimize a cost function (CF)
to be described later.
The ABDCAC algorithm with fairness is depicted below:

i.

When

new

UGS

connection

arrives,

if

the

inequality

min
(n u + 1)* Bu + n r * (Bmax
r Bth) + n n * Bn < B is satisfied and if equation (3.1) is
also satisfied then accept the new UGS call request otherwise reject it.

ii.

When

new

rtPS

connection

arrives,

if

the

inequality

max
nu * Bu + (nr + 1)* (Bmax
r Bth) + n n * (Bn Bth) < B is satisfied and if equation
(1) is also satisfied then accept the new UGS call request otherwise reject it.

iii.

When

new

nrtPS

connection

arrives,

if

the

inequality

max
nu * Bu + nr * Bmax
r + (nn +1)* (Bn Bth) < B is satisfied and if equation (3.1)
is also satisfied then accept the new UGS call request otherwise reject it.

iv.

When

handoff

UGS

connection

arrives,

if

the

inequality

min
(nu +1)* Bu + nr * Bmin
r + nn * Bn < B is satisfied and if equation (3.1) is also
satisfied then accept the new UGS call request otherwise reject it.

v.

When

handoff

rtPS

connection

arrives,

if

the

inequality

min
nu * Bu + (nr +1)* Bmin
r + nn * Bn < B is satisfied and if equation (3.1) is also
satisfied then accept the new UGS call request otherwise reject it.

1 5.1

vi.

When

handoff

nrtPS

connection

arrives,

if

the

min
inequality n u * Bu + n r * Bmin
r + (nn +1)* Bn < B is satisfied and if equation (3.1)
is also satisfied then accept the new UGS call request otherwise reject it.

The degradation variable Bth is optimized to minimize a cost function and it varies
for different traffic conditions. When Bth=0, the algorithm degenerates to simple
ABDCAC algorithm. In the next section we developed an analytical model for
implementing both the algorithms.

4.4 Trade off analysis


Using the concept proposed in [23] we defined two metrics: Grade of service
(GoS) and cost function (CF)
GoS is defined as
GoSk=NCBPk+ k.HCDPk, k {u, r, n}

(4.1)

Where u, r, n denotes UGS, rtPS and nrtPS connections respectively.


Where k indicates penalty weight for Handoff calls relative to new calls. In
general, k should be more greater than 1 because handoff call should be given
higher priority over new calls. Small GoS means better performance in session
layer for the related type traffic.
The cost function (CF) is computed by

CF = w1 GoSu + w 2 GoSr + w3 GoSn

(4.2)

Where w1+w2+w3=1 and different w1, w2 and w3 means different priority of the
services. Therefore the weights are selected such that w1>w2>w3.
Because of the dynamic characteristic of traffic flow, the arrival rates of new call
and handoff call of both NB and WB vary with time. And the value of CF changes
with traffics, so the threshold Bth is periodically adjusted such that CF is

1 521

minimized. Bth can be varied in the interval 0 < Bth < B min
n .For a particular arrival
rate every feasible value of Bth is used to evaluate CF.The value of Bth that
corresponds to the smallest CF is the optimal value of Bth for that arrival rate.

4.5 Numerical result and simulation


We present the comparative results of ABDCAC scheme and ABDCAC scheme
with fairness for different weights. For simulation study we assume the value of k
=10 giving more priority to the handoff calls.

Figure 4.1: The Optimal value of degradation variable Bth

Figure 4.1 shows the changes in the optimal value of Bth for different arrival rates.
As the arrival rates increases the network is stressed and since Handoff
connections are given higher priorities the degradation threshold is lower and
finally equals to zero. This lower in Bth is necessary to maintain minimum CF
when the arrival rate increases.

1 531

Figure 4.2: Comparison of NCBP of UGS connections

Figure 4.3: Comparison of NCBP of rtPS connections

1 541

Figure 4.4: Comparison of NCBP of nrtPS connections

Figure 4.2-4.3 shows the comparative results of NCBP of UGS, rtPS and nrtPS
respectively. The figures showed that with the introduction of the degradation
threshold Bth, the blocking probabilities of the different connections for ABDCAC
scheme with fairness are lower than the simple ABDCAC scheme at lower arrival
rates. And the blocking probabilities with ABDCAC scheme with fairness are
different for different weights w1, w2 and w3. However as the arrival rate
increases the blocking probabilities of the two schemes becomes equal and the
ABDCAC scheme with fairness degenerates to the simple ABDCAC scheme. This
is because the degradation threshold is zero at higher arrival rates as indicated in
fig 4.1.The effect of the degradation threshold on nrtPS connections is minimal
because it is the lowest priority connections.

1 551

Figure 4.5: Comparison of HCDP of UGS connections

Figure 4.6: Comparison of HCDP of rtPS connections

1 561

Figure 4.7: Comparison of HCDP of nrtPS connections

Figures 4.5-4.7 shows the HCDP for UGS, rtPS and nrtPS connections
respectively. Although the degradation threshold

lowers the NCBP of different

connections the dropping probabilities are increased. But it can be observed for the
above figures that the increase in HCDP is not as significant as the decrease in
NCBP. Hence the CAC scheme will not degrade the performance of the network.
From the above results we can conclude that with the introduction of degradation
threshold variable, fairness between NCBP and HCDP can be achieved at lower
arrival rates.

1 571

4.6 Summary

An effective CAC mechanism should consider the profit of the service


provider as well as the satisfaction of the customers. Many CAC schemes have
been designed keeping in view of the service providers choice. However, from the
subscribers perspective fairness among different types of calls is also a major
concern. The fairness is in someway achieved by considering the fairness between
new calls and handoff calls. Fairness can be achieved by trading off some
parameters. In this chapter an effective CAC scheme called ABDCAC scheme
with fairness was proposed that provides a fair tradeoff between NCBP and HCDP.
The proposed ABDCAC scheme with fairness satisfies both the requirement of
service providers and subscribers. From the extensive simulation results we can
conclude that ABDCAC scheme with fairness is the best choice of CAC scheme
for WiMAX networks.

1 581

Chapter-5

Adaptive Guard Channel based Call Admission


Control for IEEE 802.16 Networks using Adaptive
Modulation and Coding
1

1 591

Adaptive Guard Channel based Call Admission


Control for IEEE 802.16 Networks using Adaptive
Modulation and Coding
5.1 Introduction
In this chapter we design a CAC scheme considering the effect of Adaptive
Modulation and Coding (AMC).The PHY features of IEEE 802.16e [4] supports
AMC. With AMC, the modulation type of a users connection can be changed
dynamically due to worsening of the channel and the ongoing connection might
fail due to the change of modulation. Adaptive modulation is a powerful technique
to improve the spectral efficiency in wireless transmission over fading channels.
Similarly, it is possible to apply the adaptive modulation technique to CAC scheme
in order to enhance network performance satisfying QoS requirements. Existing
CAC schemes with AMC are of traditional fixed guard channel based for
providing priority to the handoff calls and modulation changed calls.
If every connection is assumed to maintain the same bandwidth
requirement, a connection using a high-order modulation, e.g., 64 QAM requires
less resource than those with lower-order modulations. Even if there is neither new
call request nor hando call request, change of modulation scheme may degrade
QoS or even lose the connection. Although AMC schemes are typically designed
exclusively for the physical layer, their in uences will reach higher layers [24].
Therefore in wireless networks like IEEE 802.16e that supports AMC, the
modulation changed calls cannot be ignored in design of efficient CAC model. The
rates of hando and modulation change are related to the users velocity and the
cell size he/she belongs to. To

nd the modulation change rate, we have to

determine the cell organization like Fig.5.1. A comparison of three modulation


schemes is presented at Table-5.1 and its parameters as speci ed in [25].
In this chapter, we propose a CAC scheme in which the guard channel is
made adaptive to the arrival rate of the connections. We define a Grade of Service
(GOS) for adapting the guard channel for different arrival rates. First, we build a
Markov chain based analytical model taking into consideration three different

1 501

types of call i.e. new calls, handoff calls and modulation changed calls. Second, we
verify that the proposed CAC model can perform better compared to fixed guard
channel under varying traffic load conditions.

Fig.5.1: Cell organization with adaptive modulation

Table-5.1: Comparison of different transmission modes [25]


Scheme

Spectral efficiency

Relative coverage

(b/s/Hz)

(%)

QPSK

1.5

100

16-QAM

49

-9

64-QAM

4.5

23

-17

Relative link
margin(dB)

5.2 Related works

1 6.1

There are substantial literatures for CAC schemes that generally consider
two types of call requests: new calls and handoff calls [26]-[29]. Due to the user
mobility, ongoing calls of current cell might be handed over to another cell.
However, the receiving cell might have insufficient resources due to the network
overload or hostile channel conditions. Therefore if the arrival rate of new or
handoff calls exceeds the capacity of a cell, it may start dropping calls or refuse
handoff attempts. Since call dropping is generally considered more annoying than
call blocking, many CAC mechanisms put a higher priority to handoff calls than
new calls. The guard channel CAC strategy is one of those schemes that provide
handoff-prioritized services for the mobile networks [29], [13].
The AMC induced call dropping has been ignored while designing the
CAC model. Only in few work the AMC has been considered at CAC level. In
[30], CAC with AMC was proposed for IEEE 802.16 networks using the concept
of fixed guard channel. The guard channels are available only to handoff calls and
modulation changed calls. Fixed guard channel is not an ideal option for providing
priority to handoff calls and modulation changed calls in a varying traffic load
network. Also only one type of call which supports two different types of
modulations (QPSK and 16-QAM) was considered in the scheme. But it does not
conform to IEEE 802.16 standard. The CAC model proposed in [31] follows a
similar approach as in [30]. In [32]-[33],the author have studied a performance
analysis of CAC with AMC for a general wireless network supporting one type of
calls and it shows that the CAC model considering AMC performs better than a
CAC model without AMC.
In this paper we have assumed two different types of calls i.e. (i) Real time
(RT) calls (ii) Non-real time (NRT) calls. Both the calls support two types of
modulation schemes. We named it as modulation type1 and modulation
type2.Therefore there will be total four different types of calls. In order to make
the system conform with IEEE 802.16 standard the Real time calls is made of UGS
and rtPS services while the non-real time calls consists of nrtPS and BE services.
The authors in [34] showed that neither QoS delay nor blocking parameters are
greatly affected by considering UGS traffic within the rtPS traffic class. Since the
BE service can be always admitted without regard to the system resources, we can
consider the CAC operation only for the guaranteed services.

1 621

5.3 Adaptive Guard Channel Scheme


In this section we present the proposed Adaptive Guard Channel (AGC) based
CAC scheme.

5.3.1 Notations used


C

: Total available channel blocks or mini slots as cell capacity

GC

: Amount of guard channel

Brt1, Brt2 : Number of channel blocks required to a real time connection with
modulation type 1 and type 2, respectively

Bnrt1, Bnrt2 : Number of channel blocks required to a non- real time connection
with modulation type 1 and type 2, respectively
n1 , n 2

: Number of RT calls admitted with modulation type 1 and type 2


respectively

n ,n
3 4

: Number of NRT calls admitted with modulation type 1 and type 2


respectively

nr1

nr2

: Arrival rate of new RT calls with modulation type 1 and type 2


respectively

hr1

hr2

: Arrival rate of handoff RT calls with modulation type 1 and type 2


respectively

nnr1

nnr2

: arrival rate of new NRT calls with modulation type 1 and type 2
respectively

1 631

hnr1

hnr2

: Arrival rate of handoff NRT calls with modulation type 1 and


type 2 respectively

1/ r1 ,1/ r2

: Average service times of RT calls with modulation type 1 and


type 2 respectively

1/ nr1 , 1/ nr2 : Average service times of NRT calls with modulation type 1 and
type 2 respectively
1/ mr1 , 1/ mr2 : Average service times of a RT call until changing modulation
from type 1 to type 2 or from type 2 to type1, respectively
1/ mnr1 , 1/ mnr2 : Average service times of a NRT call until changing
modulation from type1 to type 2 or from type 2 to type1,
respectively

5.3.2 Proposed CAC scheme


For making the guard channel adaptive to the arrival rates of the different calls we
define a Grade of Service (GOS) parameter which is defined as

GOS =BP_RT1+DP_RT1+BP_NRT1+DP_NRT1

(5.1)

Where
BP_RT = Blocking probability of new RT call
DP_RT = Dropping probability of handoff RT call
BP_NRT = Blocking probability of new NRT call
DP_NRT1 = Dropping probability of handoff NRT call

1 641

A new call can only be admitted when current bandwidth usage is less than (CGC). When the resource is not enough during the handoff or modulation change,
the call is dropped rather than degrading QoS.
The performance parameters i.e. the blocking and the dropping probabilities
depend on the arrival rate of the different calls and also on the amount of channels
reserved or Guard Channel (GC) for handoff calls and the modulation changed
calls. For a fixed arrival rate of the different calls the blocking probabilities,
dropping probabilities and GOS are calculated by varying GC. The objective is to
find the GC which gives minimum GOS and this value of GC is chosen for that
arrival rate. We allow the GC to vary up to 50 % of the total channel (C).The
distribution of the available channel is shown in figure 5.2.

Figure.5.2: Distribution of the available Channel


5.3.3 CAC algorithm

Let Cr be the required channel blocks of new request.


Let Calloc be the currently allocated channel blocks.
The CAC algorithm is briefly described as below:

If (a new call request arrives)


If (Cr <= (C-GC-Calloc))
Admit the connection;

else
Reject the connection;

End

1 651

End
If (a handoff call or modulation changed call request arrives)
If (Cr <= (C-GC))
Admit the connection;

else
Reject the connection;

End
End

5.4 System Model


For performance analysis we have assumed a network with single base station (BS)
and many subscriber stations (SS). Three types of call requests i.e. new calls,
handoff calls and modulation changed calls are modeled as independent Poisson
processes, service times of the calls are assumed as exponentially distributed and
the call request arrival rate follows a Poisson processes. The BS can be modeled
using four dimensional Markov Chain [30] with each state represented
by (n1 , n 2 , n 3 , n 4 ) , then the state space S for all possible Markov states are generated
according to the proposed CAC scheme as follows:
S = {s = (n1, n2, n3, n4 ) | n1 * Brt1+ n2 * Brt2+ n3 * Bnrt1+ n4 * Bnrt2 C

For a given state s the transition occurs when a new request is accepted or an
ongoing connection terminates. The new request may be due to new call, handoff
call and modulation changed calls. The general state transition diagram for a state s
is shown in Table-5.2.

1 661

Table 5.2: State Transition Rate of the Markov Chain


Current State

(n , n , n , n )
1 2 3 4

Next State
(n + 1, n , n , n )
1
2 3 4
(n - 1, n , n , n )
1
2 3 4
(n , n + 1, n , n )
1 2
3 4
(n , n - 1, n , n )
1 2
3 4
(n , n , n + 1, n )
1 2 3
4
(n , n , n - 1, n )
1 2 3
4
(n , n , n , n + 1)
1 2 3 4
(n , n , n , n - 1)
1 2 3 4
(n + 1, n - 1, n , n )
1
2
3 4
(n - 1, n + 1, n , n )
1
2
3 4
(n , n , n + 1, n - 1)
1 2 3
4
(n , n , n - 1, n + 1)
1 2 3
4

Transition rate

tr1

n1 r1

tr2
n 2 r2

tnr1
n 3 nr1

tnr2
n 4 nr2
n 2 mr2
n1 mr1
n 4 mnr2

n
3 mnr1

Where
hr1 + nr1, if (n1 + 1) * Brt1 + n 2 * Brt2 + n3 * Bnrt1 + n 4 * Bnrt2 < C - GC
tr1 =
, otherwise
hr1

hr2 + nr2 , if n1 * Brt1 + (n 2 + 1) * Brt2 + n 3 * Bnrt1 + n 4 * Bnrt2 < C - GC


tr2 =
, otherwise
hr2

hnr1 + nnr1, if n1 * Brt1 + n 2 * Brt2 + ( n 3 + 1) * Bnrt1 + n 4 * Bnrt2 < C - GC


tnr1 =
, otherwise
hnr1

hnr2 + nnr2, if n1 * Brt1 + n 2 * Brt2 + n 3 * Bnrt1 + ( n 4 + 1) * Bnrt2 < C - GC


tnr2 =
, otherwise
hnr2

1 671

Let

(n ,n ,n ,n )
1 2 3 4

steady state probability of a state s = (n , n , n , n ) .From


1 2 3 4

the transition rate table we can obtain the balance equation of a state and using the
normalization

= 1 ,the steady state probability of all the



sS (n 1 , n 2 , n 3 , n 4 )

states can be computed, which can be used for obtaining the performance
parameters like blocking probability of new calls and dropping probability of
handoff calls.

5.5 Numerical results


In this section we present the simulation result to illustrate the performance of the
proposed CAC scheme. The two modulation schemes that we consider for the
simulations are QPSK as type1 modulation scheme and 16-QAM as type2
modulation scheme. In the cell coverage area of a base station the area is divided
into different regions (Fig.1), as initially planned by the service provider. We
assume that the total available Slots for the network is divided into 32 blocks (i.e.
C=32) of time slots using OFDMA or Time Division Multiple Access (TDMA).
The number of channel blocks required for a connection is taken as brt1=2, brt2=1,
bnrt1=4 and bnrt2=2. The traffic configurations are assumed as shown in Table5.3.
Table-5.3: Traffic load configuration
(1/sec
Service

RT1
RT2
NRT1
NRT1
RT1_chmod
RT2_chmod
NRT1_chmod
NRT2_chmod

New
calls

Handoff
calls

0.6 x
0.5 x
0.4 x
0.3 x

0.1 x
0
0.1 x
0
-

1/ sec

2.5
2
5
10
10
5
10
5

1 681

Where is defined as the service request parameter. The first column of Table-III
gives the different types of calls handled by the system. RT1and RT2 is the real
time calls with modulation type1 and type2 respectively. NRT1 and NRT2 denote
the non-real time calls with modulation type1 and type2 respectively. RT1_chmod
and RT_chmod denotes the modulation changed calls request of real time calls for
changing modulation from type1 to type 2 and from type 2 to type1, respectively.
NRT1_chmod and NRT2_chmod represent the modulation changed calls request
of non- real time calls for changing modulation from type1 to type 2 and from type
2 to type1, respectively.
For comparative study, simulations were performed for Fixed Guard
Channel (FGC) scheme and the Adaptive Guard Channel (AGC) scheme. Three
different cases of FGC was studied with GC=4, GC=8 and GC=16 respectively.
The simulation results are provided in figures 5.2 to 5.9.

Fig.5.2: Blocking probabilities of real time calls

1 691

Fig.5.3: Blocking probabilities of non real time calls

Fig.5.4: Dropping probabilities of real time calls

1 601

Fig.5.5: Dropping probabilities of non- real time calls

Fig.5.6: Blocking probabilities of modulation changed real time calls

1 7.1

Fig.5.7: Blocking probabilities of modulation changed non-real time calls

Fig.5.8: Channel Utilization

1 721

Fig.5.9: Variation of guard channel


All the performance parameters were calculated considering the two modulation
schemes together for real time calls and non-real time calls respectively. Fig. 5.2
and Fig. 5.3 give the blocking probability of real time and non-real time calls
respectively. Fig.5.4 and Fig. 5.5 give the dropping probability of real time and
non-real time calls respectively. It can be observed from the above figures that in
the fixed guard channel scheme the dropping probabilities is small with larger
guard channel but the blocking probabilities is large. For the above set of data, the
smallest dropping probability is obtained with 50 % reservation of channel i.e.
GC=16 but new calls has to pay the price as the blocking probabilities are very
high. There is no proper trade off between the blocking probabilities and the
dropping probabilities. The arrival of different calls varies with time and therefore
choosing the optimal value of guard channel is very critical. The FGC based CAC
scheme fails to address this problem as the amount of guard channel is decided in
the initial planning of the network hence it is static. With AGC the guard channel
depends on the arrival rate of the different calls and hence the blocking
probabilities and the dropping probabilities are maintained well within an
acceptable level. It is not required to set prior value of GC as it becomes dynamic
with the change in traffic load conditions. At lower arrival rate the blocking

1 731

probabilities are lower than the scheme with FGC and the dropping probabilities of
hand off calls are high but the increase in the dropping probabilities is not
significant. As the arrival rate increases the blocking probabilities of new calls
increases but the rate of increase is not so high compared to FGC scheme. In any
guard channel scheme the channel utilization is high for lower value of guard
channel and low for large guard channel. In the AGC scheme it is well managed
according to the traffic as observed from Fig 5.8. Fig 5.9 shows the variation of the
guard channel with traffic arrival rate. As expected the guard channel is small at
lower arrival rate and as the arrival rate increase the guard channel becomes larger
but its value is chosen according to GOS. Figs 5.6-5.7 show the blocking
probabilities of modulation changed calls of real time and non-real time calls
respectively. Since the modulation changed calls has the same priority with the
handoff calls the blocking probability of modulation changed calls follows the
same pattern as that of handoff calls dropping probability.
We can conclude that adaptive guard channel based CAC scheme is a proper way
of deciding the guard channel which otherwise is difficult in fixed guard channel
based CAC and useful to optimize scarce radio resources. The proposed model and
analysis can be a guide to configure AMC based wireless networks.

5.6 Summary
In a limited resource wireless network an efficient CAC scheme is necessary to
satisfy all the QoS parameters. In this chapter, a dynamic CAC scheme is proposed
which also considers the AMC induced call blocking at the CAC process. The
proposed CAC scheme is an adaptive guard channel scheme which takes in
consideration three types of call requests: new calls, handoff calls and modulation
changed calls. Simulation results show that the proposed scheme has not only
made the guard channel adaptive to the traffic arrival rates but also a fair tradeoff
can be obtained between blocking probability and dropping probability of the
different calls. We can conclude that adaptive guard channel based CAC scheme is
a proper way of deciding the guard channel which otherwise is difficult in fixed
guard channel based CAC and useful to optimize scarce radio resources. The
proposed model and analysis can be a guide to configure AMC based wireless
networks.

1 741

Chapter-6

Conc
Conclusion and FutureScopeof
W ork

1 751

Conclusion and Future Scope of Work


6.1

Conclusion
Although IEEE 802.16 standard based WiMAX is one of the promising

solutions for bridging the digital divide and providing cost effective Broadband
wireless services. Any such architecture will be successful only if it is able to cater
services taking care of their various diverse QoS requirements. The standard
defines only the QoS requirements of different services but does not provide any
solution to guarantee these QoS parameters. In this thesis we have investigated and
proposed new schemes for providing QoS Guarantees at the connection level. The
problem is analyzed during the Call admission control stage. In the course of this
thesis we have proposed CAC mechanisms taking into consideration both the
service providers and the subscribers. We summarize the thesis as follows.

 A bandwidth efficient CAC scheme called ABD-CAC was proposed for


IEEE 802.16 based WiMAX networks. The proposed CAC scheme
provides bandwidth guarantee to all the service flows and delay guarantee
for the delay sensitive rtPS service flow. The priority of different types of
calls and the services are maintained during the bandwidth allocation stage.
The performance parameters were considered in terms of the Blocking
Probabilities of the Service flows and the Bandwidth Utilization of the
system. The performance is evaluated by introducing an analytical model,
which is based on the Markov chain model. Results showed that the ABDCAC scheme gives excellent Bandwidth Utilization under stressed network
conditions compared to previously proposed CAC schemes. The issue of
efficient utilization of the scarce radio resources has been achieved in the
proposed ABD-CAC scheme.

 The proposed ABD-CAC scheme has further extended to consider the


fairness among the different types of calls i.e. the new originating calls and
the handoff calls. In many CAC mechanisms hand off calls are always
given strict priority over new calls. But this may not be always an ideal
proposition when the network is lightly loaded. We have extended ABDCAC scheme and called it ABD-CAC with fairness. The fairness is

1 761

achieved by making a proper tradeoff between the handoff call blocking


probability and new call blocking probability.
 Finally we proposed a CAC scheme considering the Adaptive Modulation

and Control. We called it AGC-CAC scheme. The proposed scheme


considered three different types of calls i.e. new calls, handoff calls and
modulation changed calls. It provides an algorithm for dynamically
allocating the amount of guard channel for handoff calls and modulation
changed calls, according to the arrival rates of the different services.
Through simulation results it was shown that the proposed AGC-CAC
scheme is a better process of deciding the guard channel. Also it not only
made the guard channel adaptive to the traffic arrival rates but also a fair
tradeoff can be obtained between blocking probability and dropping
probability of the different calls.1

6.3

Future Scope of Work


The proposed CAC mechanisms in this thesis works in an independent

manner. This allows researchers to develop an independent scheduling mechanism.


However it may be an ideal approach to integrate CAC and scheduling mechanism
to work in unison for satisfying QoS requirements at the connection level as well
as at the packet level. We have proposed two CAC mechanisms that operate
separately at the MAC layer and PHY layer. It is worthwhile investigating the
cross layer approach by considering the proposed CAC algorithm.
1

1 771

1
1

References

1 781

References
[1]

http://www.itu.int/ITU-D/imt-2000/documents/Yaounde2006/Presentations

[2]

S.Sampei, Applications of Digital Wireless Technologies to Global


Wireless communications, Prentice hall, 1997.

[3]

IEEE 802.16-2004, IEEE Standard for Local and Metropolitan Area

Networks. Part

16: Air Interface for Fixed Broadband Wireless Access

Systems, Rev. of IEEE 802.16-2001, pp.1-857.


[4]

IEEE 802.16e-2005 and IEEE 802.16-2004/Cor 1-2005(Amendment and


Corrigendum to IEEE Std. 802.16-2004), IEEE Standard for Local and

Metropolitan Area Networks Part 16: Air Interface for Fixed and Mobile
Broadband Wireless Access Systems Amendment 2: Physical and Medium
Access Control Layers for Combined Fixed and Mobile Operation in
Licensed Bands and Corrigendum 1, 2006, pp. 0_1822.
[5]

WiMAX Forum, http://www.wimaxforum.org/.

[6]

C. Cicconetti, C. Eklund, L. Lenzini, and E. Mingozzi, Quality of service

support in IEEE 802.16 networks, IEEE Network, 20:50-55, March 2006.


[7]

Jeffery G.Andrews, Arunabha Ghosh, Rias Muhamed, Fundamentals of

WiMAX-Understanding Broadband Wireless Networking , PEARSON


Education, March 2007.
[8]

Haitang Wang, Wei Li and Dharma P. Agrawal, Dynamic admission


control and QoS for IEEE 802.16 Wireless MAN, Proc. of Wireless

Telecommunications Symposium (WTS 2005), pp. 60-66, on April 6-7 2005.


[9]

Fen Hou, Pin-Han Ho, and Xuemin (Sherman) Shen, Performance


Analysis of Reservation Based Connection Admission Scheme in IEEE
802.16 Networks, Global Telecommunications Conference,

GLOBECOM06, November 2006, pp. 1-5


[10]

Xiang Chen, Bin Li, and Yuguang Fang, A Dynamic Multiple-Threshold


Bandwidth Reservation (DMTBR) Scheme for QoS Provisioning in
Multimedia Wireless Networks, IEEE Trans. on Wireless
Communications, vol. 4, no. 2, pp. 583-592, March 2005 1

[11]

Dusit Niyato and Ekram Hossain, Service Differentiation in Broadband

1 791

Wireless Access Networks with Scheduling and Connection Admission


Control: A Unified Analysis, IEEE Transactions on wireless

Communications, Vol. 6, no. 1, January 2007, pp. 293-301.1


[12]

C. W. Leong, W. Zhuang, Y. Cheng, and L. Wang, Call admission control


for integrated on/off voice and best-effort data services in mobile cellular
communications, IEEE Transactions on Communications, May 2004, vol.
52, pp.778790.

[13]

R. Ramjee, R. Nagarajan, and D. Townley, On optimal call admission


control in cellular networks, in IEEE INFOCOM, Mar. 1996, pp. 4350.

[14]

J. Wang, Q. A. Zeng, and D. P. Agrawal, Performance analysis of a


preemptive and priority reservation handoff scheme for integrated servicebased wireless mobile networks, IEEE Transactions on Mobile

Computing, 2003,vol. 2, no. 1, pp. 6575.


[15]

Liping Wang; Fuqiang Liu; Yusheng Ji; Nararat Ruangchaijatupon,


Admission Control for Non-preprovisioned Service Flow in Wireless
Metropolitan Area Networks, Universal Multiservice Networks, 2007.

ECUMN-07. Fourth European Conference, Feb. 2007 Page(s):243 249.


[16]

Yin Ge, Geng-Sheng (G.S.) Kuo, An Efficient Admission Control Scheme


for Adaptive Multimedia Services in IEEE 802.16e Networks, Vehicular

Technology Conference, 2006. VTC-2006 fall. 2006 IEEE 64th Volume,


Issue, Sept. 2006 Page(s):1 5.
[17]

Kitti Wongthavarawat, and Aura Ganz, Packet scheduling for QoS


support in IEEE 802.16 broadband wireless access systems, International

Journal of Communication Systems, vol. 16, issue 1, February 2003, pp. 8196.
[18]

Chi-Hong Jiang, Tzu-Chieh Tsai, Token Bucket Based CAC and Packet
Scheduling for IEEE 802.16 Broadband Wireless Access Networks,

Consumer Communications and Networking Conference, 2006. CCNC


2006. 3rd IEEE Volume 1, Issue, 8-10 Jan. 2006 Page(s): 183 187.
[19]

Kalikivayi Suresh, Iti Saha Misra and Kalpana Saha Roy, Bandwidth and
Delay Guaranteed Connection Admission Control Scheme for QoS
Provisioning in IEEE 802.16e Mobile WiMAX, proc. IEEE GLOBECOM

2008.

1 701

[20]

Q. Zeng, D. P .Agarwal, Modeling and Efficient handling of handoffs in


Integrated wireless mobile networks, IEEE Trans on Parallel and

distributed systems, Dec 2002, vol. 3, No. 12, pp. 1290-1302.


[21]

Bo Rong, Yi Qian, Call admission control optimization in WiMAX


Networks, Proc. IEEE Transactions on technology, vol.57, pp: 25092522, July 2008.

[22]

Nidal Nissar, An acceptable trade off between new call blocking


probability and dropping probability

[23]

Shengdong Xie, Meng Wu, Optimized Call Admission Control in


Wireless Networks, proc. International Conference on Advanced

Infocomm Technology 2008.


[24]

Qingwen Liu, Shengli Zhou, Georgios B. Giannakis, Cross-Layer


Combining of Adaptive Modulation and Coding with Truncated ARQ over
Wireless Links, IEEE Transaction on Wireless Communications, vol.3,
Sep. 2004.

[25]

Bernard Fong, Nirwan Ansari, A. C. M. Fong, G. Y. Hong, Predrag B.


Rapajic, On the scalability of Fixed broadband Wireless Access Network
Deployment,IEEE Communication Magazine, vol.42, No.9, Sep. 2004.

[26]

Yuguang Fang and Yi Zhang, Call Admission Control Schemes and


Performance Analysis in Wireless Mobile Networks, IEEE Transaction

on Vehicular Technology, vol. 51, Mar. 2002.


[27]

Carlos Oliveria, Jaime Bae Kim, Tatsuya Suda, An Adaptive Bandwidth


Reservation Scheme for High-Speed Multimedia Wireless Networks,

IEEE Journal on Selected Areas in Communications, vol. 16, Aug. 1998.


[28]

Dervis Z. Deniz and Nagla O. Mohamed, Performance of CAC Strategies


for Multimedia Traffic in Wireless Networks, IEEE Journal on Selected

Areas in Communications, vol. 21, Dec. 2003.


[29]

Daehyoung Hong and Stephen S. Rappaport, Traffic Model and


Performance Analysis for Cellular Mobile Radio Telephone Systems with
Prioritized and Non-prioritized Handoff Procedures, IEEE Transaction on

Vehicular Technology, vol.35, Aug. 1986.


[30]

E. Kwon, J. Lee, K. Jung, Sh. Ryu, A Performance Model for Admission


Control in IEEE 802.16, Proc., WWIC 2005, LNCS 3510, Springer-

Verlag , vol. 3510, pp. 159-168, May 2005.

1 8.1

[31]

Lee J., Kwon E., Yeon H.-J., Jung K., Markov Model for Admission
Control in the Wireless

AMC Networks, IEICE Transactions on

Communications, 2006.
[32]

Noh, S.-K., Hwang, Y.-H., Ye, B.-H. and Kim, S.-H., New CAC
Algorithm using Adaptive Modulation Control, IFIP International

Federation for Information Processing, Volume 229, Network Control and


Engineering for QoS, Security, and Mobility, IV, ed. Gaiti, D., (Boston:
Springer), pp.173-186, 2007.
[33]

SungKee Noh; SeungWoo Hong; YoungHa Hwang and ByongHo Yae,


"New call admission control mechanisms considering adaptive modulation
control," Advanced Communication Technology, 2006. ICACT 2006. The

8th International Conference, vol.1, no., pp.6 pp.-418, 20-22 Feb. 2006
[34]

K. Gakhar, M. Achir and A.Gravey, "How Many Traffic Classes Do We


Need In WiMAX?" Wireless Communications and Networking Conference,
2007.WCNC 2007. IEEE, page(s):3703--3708, 11-15 March 2007.

[35]

Sheldon M. Ross. Probability Models for Computer Science, Elsevier,


June 2001.

[36]

L. Kleinrock, Queueing Systems, volume 1: Theory, New York, 1975.


1

1 821

Appendix

1 831

A-I
MATLAB code ABD_CAC scheme proposed in chapter-3
%----------------------- PROGRAM1 -------------------------------%------------------------ABD_CAC---------------------------------% The following function calculates the total number of allowable
states,
% the state transition matrix and the steady state probability of
the
% allowable states for the proposed ABD_CAC mechanism.
% From the obtained steady state probabilities we can calculate
the
% Blocking Probabilities of all connections and Bandwidth
% Utilization of the System.
% Input
% BU = Bandwidth exclusively reserved for UGS connections.
% Here BU=0, Since not reservation based CAC scheme
%
%
%
%

Output
noofstates = number of allowable states for CAC1
s = State Transition Matrix of the allowable states
ssprob = Steady State Probabilities of the allowable states.

function [noofstates,s,ssprob]=ABD_CAC(BU)
%Initialization of Variables.
B=10240; %Total Bandwidth available at BS
f=0.001; %Frame Duration in (sec)
delay=0.021; %Maximum Delay experienced by rtPS connections (sec)
m=delay/f;
BUGS=256; %Amount of Bandwidth allocated for UGS calls (Kbps)
bRTPS=10.240; %Bucket size of rtPS connections (Kilobits)
BRTPSMAX=1024; %Max. Amount of Bandwidth allocated for RTPS calls
(Kbps)
BRTPSMIN=512; %Min. Amount of Bandwidth allocated for RTPS calls
(Kbps)
BNRTPSMAX=1024; %Maximum Amount of BW allocated for NRTPS calls
(Kbps)
BNRTPSMIN=512; %Minimum Amount of BW allocated for NRTPS calls
(Kbps)
BU=0;
%Calculation of Maximum Number of connections that can be admitted
% at the BS at any particular instant. These values are used as
%limits while calculating the total number of allowable states
nugsmax=(B/BUGS); %Max. no UGS calls that can be admitted
nrtpsmax=((B-BU)/BRTPSMIN); %Maximum number RTPS calls that can be
admitted
nnrtpsmax=((B-BU)/BNRTPSMIN); %Max. no NRTPS calls that can be
admitted
%----------------------------------------------------------------%Calculation of possible MARKOV States
noofstates=0;
for nnrtps=0:nnrtpsmax

1 841

for nrtps=0:nrtpsmax
for nugs=0:nugsmax
Bn=BNRTPSMAX;
Br=BRTPSMAX;
k=0;
%u=0;
%v=0;
%w=0;
%------------------------------------------------%Verify whether the current state is allowable
%without any degradation to rtPS and nrtPS calls.
%The following if condition checks for BW
%availability
if (nugs*BUGS+nrtps*BRTPSMAX+nnrtps*BNRTPSMAX<=B
CRTPS=(nrtps*BRTPSMAX);%BW required by rtPS
calls
CNRT=B-nugs*BUGS-CRTPS; %BW available for NRT
calls.
if CRTPS==0
%if no rtPS connections, no need of delay
guarantees
noofstates=noofstates+1;
state(noofstates).a=nugs;
state(noofstates).b=nrtps;
state(noofstates).c=Br;%bandwidth
%availaible after degradation of rtps connections
state(noofstates).d=nnrtps;
state(noofstates).e=Bn;%bandwidth
%availaible after degradation of nrtps connections
else %Check for delay guarantees
if bRTPS <= ((m-1)*(1+CNRT/CRTPS)-1)*BRTPSMAX*f
noofstates=noofstates+1;
state(noofstates).a=nugs;
state(noofstates).b=nrtps;
state(noofstates).c=Br;
state(noofstates).d=nnrtps;
state(noofstates).e=Bn;
else
%norejected=norejected+1;
state1(norejected).x=nugs;
state1(norejected).y=nrtps;
state1(norejected).z=nnrtps;
end
end
%------------------------------------------------%------------------------------------------------%First Degrade the admitted nrtPS connections until the
%the BW and delay guarantees are satisfied or max
%degradation step is reached. If max degradation step
%is reached without satsfying BW and delay
%guarantees degrade the rtPS calls, until the BW and
%delay guarantees are satisfied or max degradation step
%is reached.If max degradation step is reached without
%satsfying BW and delay guarantees the current state is
%not the allowable Markov state
else
%The following If statements check if there are either
% nrtPS or rtPS calls then only degradation is possible
if (nnrtps>0)|(nrtps>0)
if nnrtps>0

1 851

%calculate the requried bandwidth(RB) to be degraded from nrtps


connections.
RB=nugs*BUGS+nrtps*BRTPSMAX+nnrtps*BNRTPSMAX-B;
delta1=RB/nnrtps;
delta1=ceil(delta1);
Bn=BNRTPSMAX-delta1;
if Bn>=BNRTPSMIN & Bn <= BNRTPSMAX
CRTPS=nrtps*BRTPSMAX;
CNRT=B-nugs*BUGS-CRTPS;
%if no rtPS connections, no need of
%delay guarantees
if CRTPS==0
noofstates=noofstates+1;
state(noofstates).a=nugs;
state(noofstates).b=nrtps;
state(noofstates).c=Br;
state(noofstates).d=nnrtps;
state(noofstates).e=Bn;
else% Check for delay guarantees
if bRTPS <=((m-1)*(1+CNRT/CRTPS)-1)*BRTPSMAX*f
noofstates=noofstates+1;
state(noofstates).a=nugs;
state(noofstates).b=nrtps;
state(noofstates).c=Br;
state(noofstates).d=nnrtps;
state(noofstates).e=Bn;
end
k=1;
end
end
%------End of degradation of nrtPS calls-%-------------------------------------------------%Degradation of rtPS call
%If there are rtPS calls and BW & Delay guarantees
%are not satisfied by degrading nrtPS calls
if (nrtps>0 & k==0)
Bn=BNRTPSMIN;
RB=nugs*BUGS+nrtps*BNRTPSMAX+nnrtps*BNRTPSMIN-B;
delta2=RB/nrtps;
delta2=ceil(delta2);
Br=BRTPSMAX-delta2;
%Check for BW availability
if(nnrtps*Bn <= B-BU-nrtps*Br)& Br>=BRTPSMIN
CRTPS=nrtps*Br;
CNRT=B-nugs*BUGS-CRTPS;
%check for delay guarantees
if bRTPS <= ((m-1)*(1+CNRT/CRTPS)-1)*Br*f

1 861

noofstates=noofstates+1;
state(noofstates).a=nugs;
state(noofstates).b=nrtps;
state(noofstates).c=Br;
state(noofstates).d=nnrtps;
state(noofstates).e=Bn;
end
end
end
%----------end of degradation of rtPS calls
end
end
%--------------------------------------------------------end
end
end
for p=1:noofstates
s(p,1)=state(p).a;
s(p,2)=state(p).b;
s(p,3)=state(p).c;
s(p,4)=state(p).d;
s(p,5)=state(p).e;
end
for p=1:norejected
s1(p,1)=state1(p).x;
s1(p,2)=state1(p).y;
s1(p,2)=state1(p).z;
end
%End of obtaining possible Markov States
%----------------------------------------------------------------%To calculate steady state balance equations from the given
possible states
%of a markov chain s
%x represents the coefficient matrix of the steady state balance
equations
b=1;
for eta=1:1:10 %eta is the service request parameter
%Calculate SS probabilities for different arrival rates
lambdaugs=0.4*eta; %arrival rate of UGS calls entering a BS
lambdartps=0.3*eta; %arrival rate of RTPS calls entering a BS
lambdanrtps=0.2*eta; %arrival rate of NRTPS calls entering a BS
muugs=0.1; %the mean service time of a UGS call
murtps=0.2; %the mean service time of a RTPS call
munrtps=0.5; %the mean service time of a NRTPS call
lambdatotal=lambdaugs+lambdartps+lambdanrtps;
%------------------------------------------------------------------------%Calculation of state balance equations
for i=1:noofstates
for j=1:noofstates
if i == j
if s(i,1)==0&s(i,2)==0&s(i,4)==0
x(i,j)=lambdatotal;
elseif s(i,1)==0&s(i,2)==0
x(i,j)=0;

1 871

c=0;
d=0;
e=0;
g=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if
(s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)& s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMIN<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)& (s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMAX<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)& (s(i,4)-1)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;
g=1;
end
if (c==1&d==1&e==1&g==1)
break;
end
end
elseif s(i,1)==0&s(i,4)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)& s(i,4)==s(k,4)&d==0)

1 881

if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMIN<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)& (s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMAX<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)& s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,2)*murtps;
g=1;
end
if (c==1&d==1&e==1&g==1)
break;
end
end
elseif s(i,2)==0&s(i,4)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)& s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMIN<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)& (s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMAX<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&g==0)

1 891

x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (c==1&d==1&e==1&g==1)
break;
end
end
elseif s(i,1)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)& s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMIN<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMAX<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)&s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,2)*murtps;
g=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)& (s(i,4)-1)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;
h=1;
end
if (c==1&d==1&e==1&g==1&h==1)
break;
end
end
elseif s(i,2)==0
x(i,j)=0;
g=0;
h=0;
c=0;

1 801

d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)& s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMIN<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMAX<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)& (s(i,4)-1)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;
h=1;
end
if (c==1&d==1&e==1&g==1&h==1)
break;
end
end
elseif s(i,4)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)& s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)& s(i,4)==s(k,4)&d==0)

1 9.1

if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMIN<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)& (s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+ s(k,4)*BNRTPSMAX<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)& s(i,4)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,2)*murtps;
h=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (c==1&d==1&e==1&g==1&h==1)
break;
end
end
else
x(i,j)=0;
g=0;
h=0;
o=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)& s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMIN<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*BNRTPSMAX<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;

1 921

else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)& s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)& s(i,4)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,2)*murtps;
h=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)-1)==s(k,4)&o==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;
o=1;
end
if (c==1&d==1&e==1&g==1&h==1&o==1)
break;
end
end
end
else
if s(i,1)==(s(j,1)+1)&(s(i,2)==s(j,2))&(s(i,4)==s(j,4))
if (s(i,1)*BUGS+s(i,2)*BRTPSMAX+s(i,4)*BNRTPSMIN<=B)
x(i,j)=-lambdaugs;
else
x(i,j)=-lambdaugs/2;
end
elseif s(i,1)==s(j,1)&s(i,2)==(s(j,2)+1)&s(i,4)==s(j,4)
if (s(i,1)*BUGS+s(i,2)*BRTPSMAX+s(i,4)*BNRTPSMIN<=B-BU)
x(i,j)=-lambdartps;
else
x(i,j)=-lambdartps/2;
end
elseif s(i,1)==s(j,1)&s(i,2)==s(j,2)&(s(i,4)==s(j,4)+1)
if (s(i,1)*BUGS+s(i,2)*BRTPSMAX+s(i,4)*BNRTPSMAX<=B-BU)
x(i,j)=-lambdanrtps;
else
x(i,j)=-lambdanrtps/2;
end
elseif s(i,1)==(s(j,1)-1)&s(i,2)==s(j,2)&s(i,4)==s(j,4)
x(i,j)=-s(j,1)*muugs;
elseif s(i,1)==s(j,1)&(s(i,2)==s(j,2)-1)&s(i,4)==s(j,4)
x(i,j)=-s(j,2)*murtps;
elseif s(i,1)==s(j,1)&s(i,2)==s(j,2)&(s(i,4)==s(j,4)-1)
x(i,j)=-s(j,4)*munrtps;
else
x(i,j)=0;
continue;
end
end
end
end
%End of calculation of State balance Equations
%----------------------------------------------------------------%Calculation of steady state probabilities from steady state
equation
for i=1:noofstates

1 931

%As the ss equations are dependent, any one of the ss equation is


replaced
%by the normalized equation i.e sum of all ss probabilities is
equal to one
x(1,i)=1;
end
y=zeros(1,noofstates);
%y represents the rhs column vector of the ss equations
y(1)=1;
y=y';
%calculation of steady state probabilities
ssprob(:,b)=x\y;
b=b+1;
end
%End of Calculation of SS probabilities of the allowable Markov
States for
%ABD_CAC for different arrival rates.
%----------------------------END OF PROGRAM1---------------------%------------------------ PROGRAM2 ------------------------------%PROGRAM TO EVALUATE THE PERFORMANCE OF THE PROPOSED ABD_CAC
MECHANISM
%----------------------------------------------------------------%IN THIS THE FUMCTION ABD_CAC IS USED TO OBTAIN THE POSSIBLE
STATES
%of THE MARKOV CHAIN AND THEIR STEADY STATE PROBABILITIES FOR THE
PROPOSED
%CAC MECHANISM.
clc;
clear all;
tic
%Initialization of Variables.
B=10240; %Total Bandwidth available at BS
f=0.001; %Frame Duration in (sec)
delay=0.021; %Maximum Delay experienced by rtPS connections (sec)
m=delay/f;
BUGS=256; %Amount of Bandwidth allocated for UGS calls (Kbps)
bRTPS=10.240; %Bucket size of rtPS connections (Kilobits)
BRTPSMAX=1024;%Max. Amount of Bandwidth allocated for RTPS calls
(Kbps)
BRTPSMIN=512;%Min. Amount of Bandwidth allocated for RTPS calls
(Kbps)
BNRTPSMAX=1024; %Maximum Amount of BW allocated for NRTPS calls
(Kbps)
BNRTPSMIN=512; %Minimum Amount of BW allocated for NRTPS calls
(Kbps)
BU=0; %BW exclusively reserved for UGS connections.
rer_ugs=6;
rer_rtps=4;
rer_nrtps=2;
%Call function to obtain the steady state probabilities of the
possible
%states of the Markov Chain.
%noofstates=total number of allowable Markov states
%s=Steady State Transition Probability Matrix ( noofstates x
noofstates).
%ssprob = Steady State probabilities of the Markov states (1 x
noofstates).

1 941

[noofstates,s,ssprob]=ABD_CAC(BU);
%Calculation of Blocking Probabilities of the Service Flows and
the
%Bandwidth Utilization of the system.
%Initiaslization
for j=1:10%j:Total arrival rate of the Service Flows.
BP_UGS(j)=0;%Blocking Probability of UGS calls
DP_UGS(j)=0;%Dropping Probability of UGS calls
BP_RTPS(j)=0;%Blocking Probability of rtPS calls
DP_RTPS(j)=0;%Dropping Probability of rtPS calls
BP_NRTPS(j)=0;%Blocking Probability of nrtPS calls
DP_NRTPS(j)=0;%Dropping Probability of nrtPS calls
BW_UTLN(j)=0;%Bandwidth Utilization of the system
avg_rev_ugs(j)=0;
avg_rev_rtps(j)=0;
avg_rev_nrtps(j)=0;
end
avg_brtps=0;
avg_bnrtps=0;
for j=1:10
for i=1:noofstates
if (s(i,1)+1)*BUGS+s(i,2)*BRTPSMAX+s(i,4)*BNRTPSMIN > B
BP_UGS(j)=BP_UGS(j)+ssprob(i,j);
end
if (s(i,1)+1)*BUGS+s(i,2)*BRTPSMIN+s(i,4)*BNRTPSMIN > B
DP_UGS(j)=DP_UGS(j)+ssprob(i,j);
end
if s(i,1)*BUGS+(s(i,2)+1)*s(i,3)+s(i,4)*s(i,5) > B-BU
BP_RTPS(j)=BP_RTPS(j)+ssprob(i,j);
end
if s(i,1)*BUGS+(s(i,2)+1)*BRTPSMIN+s(i,4)*BNRTPSMIN > B-BU
DP_RTPS(j)=DP_RTPS(j)+ssprob(i,j);
end
if s(i,1)*BUGS+s(i,2)*s(i,3)+(s(i,4)+1)*s(i,5) > B-BU
BP_NRTPS(j)=BP_NRTPS(j)+ssprob(i,j);
end
if s(i,1)*BUGS+s(i,2)*BRTPSMIN+(s(i,4)+1)*BNRTPSMIN > B-BU
DP_NRTPS(j)=DP_NRTPS(j)+ssprob(i,j);
end
avg_rev_ugs(j)=avg_rev_ugs(j)+rer_ugs*s(i,1)*BUGS*ssprob(i,j);
avg_rev_rtps(j)=avg_rev_rtps(j)+rer_rtps*s(i,2)*s(i,3)*ssprob(i,j;
avg_rev_nrtps(j)=avg_rev_nrtps(j)+rer_nrtps*s(i,4)*s(i,5)*
ssprob(i,j);
BW_UTLN(j)=BW_UTLN(j)+(s(i,1)*BUGS+s(i,2)*s(i,3)+
s(i,4)*s(i,5))*ssprob(i,j);
end
BW_UTLN(j)=BW_UTLN(j)/B;
end
for i=1:noofstates
avg_brtps=avg_brtps+s(i,3);
avg_bnrtps=avg_bnrtps+s(i,5);
end
avg_brtps=avg_brtps/noofstates;
avg_bnrtps=avg_bnrtps/noofstates;

1 951

%Printing the obtained Blocking Probabilities to the file.


fid = fopen('result_ABD_CAC','w');
fprintf(fid, 'THE PA FOR CAC in IEEE 802.16e using the proposed
CAC(adaptive degradation)\n');
fprintf(fid, '\n The Blocking Probability of UGS connections are
\n');
for j=1:10
fprintf(fid, ' %f \t',BP_UGS(j));
end
fprintf(fid, '\n The Dropping Probability of UGS connections are
\n');
for j=1:10
fprintf(fid, ' %f \t',DP_UGS(j));
end
fprintf(fid, '\n The Blocking Probability of RTPS connections are
\n');
for j=1:10
fprintf(fid, ' %f \t',BP_RTPS(j));
end
fprintf(fid, '\n The Dropping Probability of RTPS connections are
\n');
for j=1:10
fprintf(fid, ' %f \t',DP_RTPS(j));
end
fprintf(fid,'\n The Blocking Probability of NRTPS connections are
\n');
for j=1:10
fprintf(fid, ' %f \t',BP_NRTPS(j));
end
fprintf(fid,'\n The Dropping Probability of NRTPS connections are
\n');
for j=1:10
fprintf(fid, ' %f \t',DP_NRTPS(j));
end
fprintf(fid,'\n The Bandwidth Utilization \n');
for j=1:10
fprintf(fid, ' %f \t',BW_UTLN(j));
end
fprintf(fid,'\n The average revenue of UGS:- \n');
for j=1:10
fprintf(fid, ' %f \t',avg_rev_ugs(j));
end
fprintf(fid,'\n The average revenue of rtps:- \n');
for j=1:10
fprintf(fid, ' %f \t',avg_rev_rtps(j));
end
fprintf(fid,'\n The average revenue of nrtps:- \n');
for j=1:10
fprintf(fid, ' %f \t',avg_rev_nrtps(j));
end
fprintf(fid,'\n the average bandwith of rtps= ');
fprintf(fid,'%f \t',avg_brtps);
fprintf(fid,'\n the average bandwith of nrtps= ');
fprintf(fid,'%f \t',avg_bnrtps);
fclose(fid);
avg_brtps
avg_bnrtps
toc
% End of PROGRAM2%

1 961

A-II
MATLAB code ABD_CAC scheme with acceptable trade off between new call
blocking probability and handoff call dropping probability proposed in chapter-4.

%---------------- PROGRAM 3 -----------------------------------%


% This program performs trade off analysis betweeb NCBP and HCDP
clc
tic
B=10240; %Total Bandwidth available at BS
f=0.001; %Frame Duration in (sec)
delay=0.021; %Maximum Delay experienced by rtPS connections (sec)
m=delay/f;
BUGS=256; %Amount of Bandwidth allocated for UGS calls (Kbps)
bRTPS=10.240; %Bucket size of rtPS connections (Kilobits)
BRTPSMAX=1024;%Max. Amount of Bandwidth allocated for RTPS calls
(Kbps)
BRTPSMIN=512;%Min. Amount of Bandwidth allocated for RTPS calls
(Kbps)
BNRTPSMAX=1024; %Maximum Amount of BW allocated for NRTPS calls
(Kbps)
BNRTPSMIN=512; %Minimum Amount of BW allocated for NRTPS calls
(Kbps)
b=1;% column index for steady state probability ssprob(:,b)
eta=4;%eta changes from 1 to 10
%Calculate SS probabilities for different arrival rates
lambdaugs=0.4*eta; %arrival rate of UGS calls entering a BS
lambdartps=0.3*eta; %arrival rate of RTPS calls entering a BS
lambdanrtps=0.2*eta; %arrival rate of NRTPS calls entering a BS
muugs=0.1; %the mean service time of a UGS call
murtps=0.2; %the mean service time of a RTPS call
munrtps=0.5; %the mean service time of a NRTPS call
lambdatotal=(lambdaugs+lambdartps+lambdanrtps);
cth=0:32:512;% bandwidth degradation threshold variable
for z=1:17%index for various cth
%------------------------------------------------------------------------%Calculation of state balance equations
for i=1:noofstates
for j=1:noofstates
if i == j
if s(i,1)==0&s(i,2)==0&s(i,4)==0
x(i,j)=lambdatotal;
elseif s(i,1)==0&s(i,2)==0
x(i,j)=0;
c=0;
d=0;
e=0;
g=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;

1 971

else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+
s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,4)-1)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;
g=1;
end
if (c==1&d==1&e==1&g==1)
break;
end
end
elseif s(i,1)==0&s(i,4)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+ s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+ s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)

1 981

x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,4)+1)==s(k,4)&e==0)
if
(s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)&
s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,2)*murtps;
g=1;
end
if (c==1&d==1&e==1&g==1)
break;
end
end
elseif s(i,2)==0&s(i,4)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+ s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+ s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,4)+1)==s(k,4)&e==0)
if
(s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)

1 991

x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (c==1&d==1&e==1&g==1)
break;
end
end
elseif s(i,1)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+ s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+ s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if
(s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)+1)==s(k,4)&e==0)
if
(s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&(s(i,2)1)==s(k,2)&s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,2)*murtps;

1 901

g=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,4)-1)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;
h=1;
end
if (c==1&d==1&e==1&g==1&h==1)
break;
end
end
elseif s(i,2)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if
(s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)+1)==s(k,4)&e==0)
if
(s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,4)-1)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;

1 0.1

h=1;
end
if (c==1&d==1&e==1&g==1&h==1)
break;
end
end
elseif s(i,4)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+ s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,4)+1)==s(k,4)&e==0)
if (s(k,1)*BUGS+s(k,2)*BRTPSMAX+
s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)&
s(i,4)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,2)*murtps;
h=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (c==1&d==1&e==1&g==1&h==1)
break;

1 021

end
end
else
x(i,j)=0;
g=0;
h=0;
o=0;
c=0;
d=0;
e=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&c==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+s(k,4)*BNRTPSMIN<=B)
x(i,j)=x(i,j)+lambdaugs;
else
x(i,j)=x(i,j)+lambdaugs/2;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,4)==s(k,4)&d==0)
if (s(k,1)*BUGS+s(k,2)*(BRTPSMAXcth(z))+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdartps;
else
x(i,j)=x(i,j)+lambdartps/2;
end
d=1;
end
if
(s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)+1)==s(k,4)&e==0)
if
(s(k,1)*BUGS+s(k,2)*BRTPSMAX+s(k,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=x(i,j)+lambdanrtps;
else
x(i,j)=x(i,j)+lambdanrtps/2;
end
e=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)&
s(i,4)==s(k,4)&g==0)
x(i,j)=x(i,j)+s(i,1)*muugs;
g=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)&
s(i,4)==s(k,4)&h==0)
x(i,j)=x(i,j)+s(i,2)*murtps;
h=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,4)1)==s(k,4)&o==0)
x(i,j)=x(i,j)+s(i,4)*munrtps;
o=1;
end
if (c==1&d==1&e==1&g==1&h==1&o==1)
break;
end

1 031

end
end
else
if
s(i,1)==(s(j,1)+1)&(s(i,2)==s(j,2))&(s(i,4)==s(j,4))
if (s(i,1)*BUGS+s(i,2)*(BRTPSMAXcth(z))+s(i,4)*BNRTPSMIN<=B)
x(i,j)=-lambdaugs;
else
x(i,j)=-lambdaugs/2;
end
elseif
s(i,1)==s(j,1)&s(i,2)==(s(j,2)+1)&s(i,4)==s(j,4)
if (s(i,1)*BUGS+s(i,2)*(BRTPSMAXcth(z))+s(i,4)*(BNRTPSMAX-cth(z))<=B-BU)
x(i,j)=-lambdartps;
else
x(i,j)=-lambdartps/2;
end
elseif
s(i,1)==s(j,1)&s(i,2)==s(j,2)&(s(i,4)==s(j,4)+1)
if (s(i,1)*BUGS+s(i,2)*BRTPSMAX+s(i,4)*(BNRTPSMAXcth(z))<=B-BU)
x(i,j)=-lambdanrtps;
else
x(i,j)=-lambdanrtps/2;
end
elseif s(i,1)==(s(j,1)1)&s(i,2)==s(j,2)&s(i,4)==s(j,4)
x(i,j)=-s(j,1)*muugs;
elseif s(i,1)==s(j,1)&(s(i,2)==s(j,2)1)&s(i,4)==s(j,4)
x(i,j)=-s(j,2)*murtps;
elseif s(i,1)==s(j,1)&s(i,2)==s(j,2)&(s(i,4)==s(j,4)1)
x(i,j)=-s(j,4)*munrtps;
else
x(i,j)=0;
continue;
end
end
end
end
%End of calculation of State balance Equations
%------------------------------------------------------------------------%Calculation of steady state probabilities from steady state
equation
for i=1:noofstates
%As the ss equations are dependent, any one of the ss equation is
replaced
%by the normalized equation i.e sum of all ss probabilities is
equal to one
x(1,i)=1;
end
y=zeros(1,noofstates);
%y represents the rhs column vector of the ss equations
y(1)=1;
y=y';

1 041

ssprob=zeros(noofstates,1);
%calculation of steady state probabilities
ssprob(:,b)=x\y;
%b=b+1;
%end
%End of Calculation of SS probabilities of the allowable Markov
States for different arrival rates.
%----------------------------END OF PROGRAM----------------------j=1;% arrival rates
%for =1:6
BP_UGS(z)=0;%Blocking Probability of UGS calls
DP_UGS(z)=0;%Dropping Probability of UGS calls
BP_RTPS(z)=0;%Blocking Probability of rtPS calls
DP_RTPS(z)=0;%Dropping Probability of rtPS calls
BP_NRTPS(z)=0;%Blocking Probability of nrtPS calls
DP_NRTPS(z)=0;%Dropping Probability of nrtPS calls
BW_UTLN(z)=0;%Bandwidth Utilization of the system
%end
%end
%for j=1:10

for i=1:noofstates
if (s(i,1)+1)*BUGS+s(i,2)*(BRTPSMAX-cth(z))+s(i,4)*BNRTPSMIN > B
BP_UGS(z)=BP_UGS(z)+ssprob(i,j);
end
if (s(i,1)+1)*BUGS+s(i,2)*BRTPSMIN+s(i,4)*BNRTPSMIN > B
DP_UGS(z)=DP_UGS(z)+ssprob(i,j);
end
if s(i,1)*BUGS+(s(i,2)+1)*(BRTPSMAX-cth(z))+s(i,4)*(BNRTPSMAXcth(z)) > B-BU
BP_RTPS(z)=BP_RTPS(z)+ssprob(i,j);
end
if s(i,1)*BUGS+(s(i,2)+1)*BRTPSMIN+s(i,4)*BNRTPSMIN > B-BU
DP_RTPS(z)=DP_RTPS(z)+ssprob(i,j);
end
if s(i,1)*BUGS+s(i,2)*BRTPSMAX+(s(i,4)+1)*(BNRTPSMAXcth(z)) > B-BU
BP_NRTPS(z)=BP_NRTPS(z)+ssprob(i,j);
end
if s(i,1)*BUGS+s(i,2)*BRTPSMIN+(s(i,4)+1)*BNRTPSMIN > B-BU
DP_NRTPS(z)=DP_NRTPS(z)+ssprob(i,j);
end
BW_UTLN(z)=BW_UTLN(z)+(s(i,1)*BUGS+s(i,2)*s(i,3)+
s(i,4)*s(i,5))*ssprob(i,j);
end
BW_UTLN(z)=BW_UTLN(z)/B;
%end
% calculation of grade of service (GOS) for different services
beta=10;
w1=0.7;w2=0.2;w3=0.1;
gosu(z)=BP_UGS(z)+beta*DP_UGS(z);
gosr(z)=BP_RTPS(z)+beta*DP_RTPS(z);
gosn(z)=BP_NRTPS(z)+beta*BP_NRTPS(z);
%end of calculation of grade of service(GOS)
%Calculation of Cost function(CF)

1 051

cf(z)=w1*gosu(z)+w2*gosr(z)+w3*gosn(z);
% end of calculation of CF
end
minimum=min(cf)
location=find(cf==minimum)
BP_UGS1=BP_UGS(location)
DP_UGS1=DP_UGS(location)
BP_RTPS1=BP_RTPS(location)
DP_RTPS1=DP_RTPS(location)
BP_NRTPS1=BP_NRTPS(location)
DP_NRTPS1=DP_NRTPS(location)
BW_UTLN1=BW_UTLN(location)
cth1=cth(location)
toc
% End of PROGRAM 3%

1 061

A-III
MATLAB code for AGC_CAC scheme proposed in chapter-5

%----------------------PROGRAM 4 --------------------%
clear all;
clc
tic
% matlab code for CAC model of IEEE 802.16e using AMC system
% The model is setup using markov chain
% The state of the markov chain has two elements
% n1=no. of users using modulation type 1
% n2=no. of users using modulation type 2
B=32;% Channel capacity consisting of 64 blocks of time slots
brt1=2;% no. of blocks required for real time calls with
modulation type 1 QPSK
brt2=1;% no. of blocks required for real time calls with
modulation type 2 16-QAM
bnrt1=4;% no. of blocks required for non-real time calls with
modulation type 1 QPSK
bnrt2=2;% no. of blocks required for non real time calls with
modulation type 2 16-QAM
max_rt1=B/brt1;% maximum no. of calls that can be admitted for
real time calls with modulation type 1
max_rt2=B/brt2; % maximum no. of class that can be admitted for
real time calls with modulation type 2
max_nrt1=B/bnrt1;% maximum no. of calls that can be admitted for
non real time calls with modulation type 1
max_nrt2=B/bnrt2;% maximum no. of calls that can be admitted for
non real time calls with modulation type 2
%...........................................
% calculation of no of possible states
%............................................
noofstates=0;
for nnrt2=0:max_nrt2
for nnrt1=0:max_nrt1
for nrt2=0:max_rt2
for nrt1=0:max_rt1
if(brt1*nrt1+brt2*nrt2+bnrt1*nnrt1+
bnrt2*nnrt2 <= B)
noofstates=noofstates+1;
state(noofstates).a=nrt1;
state(noofstates).b=nrt2;
state(noofstates).c=nnrt1;
state(noofstates).d=nnrt2;
end
end
end

1 071

end
end
for p=1:noofstates
s(p,1)=state(p).a;
s(p,2)=state(p).b;
s(p,3)=state(p).c;
s(p,4)=state(p).d;
end
%.................................................................
........
%end of calculation of possible states
%.................................................................
........
% Parameters used for calculating the steady state probabilities
%...............................................................
b=1;
for GC=1:16
rho=10;%rho varies from 1 to 10
lamda_rt1=0.6*rho;
lamda_rth1=0.1*rho;
lamdatotal_rt1=lamda_rt1+lamda_rth1;
lamda_rt2=0.5*rho;
lamda_rth2=0;
lamdatotal_rt2=lamda_rt2+lamda_rth2;
mu_rt1=0.4;
mu_rt2=0.5;
mu_chmod_rt1=0.1;
mu_chmod_rt2=0.2;
lamdatotal_rt=lamdatotal_rt1+lamdatotal_rt2;
%.........................................................
lamda_nrt1=0.4*rho;
lamda_nrth1=0.1*rho;
lamdatotal_nrt1=lamda_nrt1+lamda_nrth1;
lamda_nrt2=0.3*rho;
lamda_nrth2=0;
lamdatotal_nrt2=lamda_nrt2+lamda_nrth2;
mu_nrt1=0.2;
mu_nrt2=0.1;
mu_chmod_nrt1=0.1;
mu_chmod_nrt2=0.2;
lamdatotal_nrt=lamdatotal_nrt1+lamdatotal_nrt2;
%.................................................................
........
lamdatotal=lamdatotal_rt+lamdatotal_nrt;
% Calculation of steady state probability
%.................................................................
.......
%------------------------------------------------------------------------%Calculation of state balance equations
for i=1:noofstates
for j=1:noofstates
if i == j
if s(i,1)==0 & s(i,2)==0 & s(i,3)==0 & s(i,4)
x(i,j)=lamdatotal;
elseif s(i,1)==0 & s(i,2)==0 & s(i,3)==0
x(i,j)=0;
c=0;

1 081

d=0;
e=0;
g=0;
c1=0;
d1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3) & s(i,3)==s(k,4) & c==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1) & (s(i,2)+1)==s(k,2) &
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
c1=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4) & d1==0)

1 091

x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
d1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1)
break;
end
end

%......................................................
elseif s(i,1)==0 & s(i,2)==0 & s(i,4)==0
x(i,j)=0;
c=0;
d=0;
e=0;
g=0;
c1=0;
d1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3) & s(i,3)==s(k,4) & c==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1) & (s(i,2)+1)==s(k,2) &
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else

1 001

x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
c1=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4) & d1==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
d1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1)
break;
end
end
%.....................................................
elseif s(i,1)==0 & s(i,3)==0 & s(i,4)==0
x(i,j)=0;
c=0;
d=0;
e=0;
g=0;
c1=0;
d1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3) & s(i,3)==s(k,4) & c==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1) & (s(i,2)+1)==s(k,2) &
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)

12..

x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if (s(i,1)==s(k,1) & (s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
c1=1;
end
if ((s(i,1)+1)==s(k,1) & (s(i,2)1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4) & d1==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
d1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1)
break;
end
end
%.......................................................
elseif s(i,2)==0 & s(i,3)==0 & s(i,4)==0
x(i,j)=0;
c=0;
d=0;
e=0;
g=0;
c1=0;
d1=0;
e1=0;
g1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3) & s(i,3)==s(k,4) & c==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end

12.2

if (s(i,1)==s(k,1) & (s(i,2)+1)==s(k,2) &


s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1) & s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if ((s(i,1)-1)==s(k,1) & s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if ((s(i,1)-1)==s(k,1) &
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4) & d1==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;
d1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1)
break;
end
end
%......................................................
elseif s(i,1)==0 & s(i,2)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;

12.3

c1=0;
d1=0;
e1=0;
g1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)& (s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& s(i,4)==s(k,4)& c1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
c1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
d1=1;
end

12.4

if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
e1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4)& g1==0)
x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
g1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & g1==1)
break;
end
end
%......................................................
elseif s(i,1)==0 & s(i,3)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
g1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)& (s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;

12.5

end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if (s(i,1)==s(k,1)& (s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& c1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
c1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
d1=1;
end
if ((s(i,1)+1)==s(k,1)& (s(i,2)1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
e1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4)& g1==0)
x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
g1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & g1==1)
break;
end
end
%......................................................
elseif s(i,1)==0 & s(i,4)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
g1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end

12.6

c=1;
end
if (s(i,1)==s(k,1)& (s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if (s(i,1)==s(k,1)& (s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& c1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
c1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& s(i,4)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
d1=1;
end
if ((s(i,1)+1)==s(k,1)& (s(i,2)1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
e1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4)& g1==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
g1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & g1==1)
break;
end

12.7

end
%......................................................
elseif s(i,2)==0 & s(i,3)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
g1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)& (s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrt2;
end
g=1;
end

12.8

if ((s(i,1)-1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
d1=1;
end
if ((s(i,1)-1)==s(k,1)&
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;
e1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4)& g1==0)
x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
g1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & g1==1)
break;
end
end
%......................................................
elseif s(i,2)==0 & s(i,4)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
g1=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)& (s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end

12.9

if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &


(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if ((s(i,1)-1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& s(i,4)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
d1=1;
end
if ((s(i,1)-1)==s(k,1)&
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;
e1=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4)& g1==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
g1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & g1==1)
break;
end
end
%......................................................
elseif s(i,3)==0 & s(i,4)==0
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
g1=0;

12.0

for k=1:noofstates
if ((s(i,1)+1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)& (s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3) & s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2) &
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if ((s(i,1)-1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if (s(i,1)==s(k,1)& (s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
d1=1;
end
if ((s(i,1)-1)==s(k,1)&
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;
e1=1;

122.

end
if ((s(i,1)+1)==s(k,1)& (s(i,2)1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& g1==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
g1=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & g1==1)
break;
end
end
%......................................................
elseif s(i,1)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
o=0;
p=0;
q=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if
(s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4)&
e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;

1222

end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4)& g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
c1=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& s(i,4)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
d1=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
e1=1;
end
if ((s(i,1)+1)==s(k,1)&(s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & o==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
o=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4)& p==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
p=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4)& q==0)
x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
q=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & o==1 & p==1 & q==1 )
break;
end
end
%......................................................
elseif s(i,2)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
o=0;

1223

p=0;
q=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if
(s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4)&
e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4)& g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if ((s(i,1)-1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& s(i,4)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
d1=1;
end

1224

if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
e1=1;
end
if ((s(i,1)-1)==s(k,1)&
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4) & o==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;
o=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4)& p==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
p=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4)& q==0)
x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
q=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & 0==1 & p==1 & q==1)
break;
end
end
%......................................................
elseif s(i,3)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
o=0;
p=0;
q=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end

1225

d=1;
end
if
(s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4)&
e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4)& g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if ((s(i,1)-1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if (s(i,1)==s(k,1)& (s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
d1=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
e1=1;
end
if ((s(i,1)-1)==s(k,1)&
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4) & o==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;
o=1;
end
if ((s(i,1)+1)==s(k,1)& (s(i,2)1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& p==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
p=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4)& q==0)
x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
q=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & o==1 & p==1 & q==1)
break;
end

1226

end
%......................................................
elseif s(i,4)==0
x(i,j)=0;
g=0;
h=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
o=0;
p=0;
q=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else
x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & d==0)
if (s(k,1)*brt1+s(k,2)*brt2+
s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if
(s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4)&
e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4)& g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end

1227

g=1;
end
if ((s(i,1)-1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if (s(i,1)==s(k,1)& (s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4)& d1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
d1=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& s(i,4)==s(k,4)& e1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
e1=1;
end
if ((s(i,1)-1)==s(k,1)&
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4) & o==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;
o=1;
end
if ((s(i,1)+1)==s(k,1)& (s(i,2)1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4)& p==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
p=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4)& q==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
q=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & o==1 & p==1 & q==1)
break;
end
end
%......................................................
else
x(i,j)=0;
g=0;
c=0;
d=0;
e=0;
c1=0;
d1=0;
e1=0;
g1=0;
o=0;
p=0;
q=0;
r=0;
for k=1:noofstates
if ((s(i,1)+1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt1;
else

1228

x(i,j)=x(i,j)+lamda_rth1;
end
c=1;
end
if (s(i,1)==s(k,1)&(s(i,2)+1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & d==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1 +s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_rt2;
else
x(i,j)=x(i,j)+lamda_rth2;
end
d=1;
end
if (s(i,1)==s(k,1)&
s(i,2)==s(k,2)&(s(i,3)+1)==s(k,3)& s(i,4)==s(k,4) & e==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt1;
else
x(i,j)=x(i,j)+lamda_nrth1;
end
e=1;
end
if (s(i,1)==s(k,1)& s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)+1)==s(k,4) & g==0)
if
(s(k,1)*brt1+s(k,2)*brt2+s(k,3)*bnrt1+s(k,4)*bnrt2 <=B-GC)
x(i,j)=x(i,j)+lamda_nrt2;
else
x(i,j)=x(i,j)+lamda_nrth2;
end
g=1;
end
if ((s(i,1)-1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & c1==0)
x(i,j)=x(i,j)+s(i,1)*mu_rt1;
c1=1;
end
if (s(i,1)==s(k,1)&(s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & d1==0)
x(i,j)=x(i,j)+s(i,2)*mu_rt2;
d1=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&(s(i,3)1)==s(k,3)& s(i,4)==s(k,4) & e1==0)
x(i,j)=x(i,j)+s(i,3)*mu_nrt1;
e1=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
s(i,3)==s(k,3)& (s(i,4)-1)==s(k,4) & g1==0)
x(i,j)=x(i,j)+s(i,4)*mu_nrt2;
g1=1;
end
if ((s(i,1)-1)==s(k,1)&
(s(i,2)+1)==s(k,2)& s(i,3)==s(k,3)& s(i,4)==s(k,4) & o==0)
x(i,j)=x(i,j)+s(i,1)*mu_chmod_rt1;

1229

o=1;
end
if ((s(i,1)+1)==s(k,1)&(s(i,2)-1)==s(k,2)&
s(i,3)==s(k,3)& s(i,4)==s(k,4) & p==0)
x(i,j)=x(i,j)+s(i,2)*mu_chmod_rt2;
p=1;
end
if (s(i,1)==s(k,1)&
s(i,2)==s(k,2)&(s(i,3)-1)==s(k,3)& (s(i,4)+1)==s(k,4) & q==0)
x(i,j)=x(i,j)+s(i,3)*mu_chmod_nrt1;
q=1;
end
if (s(i,1)==s(k,1)&s(i,2)==s(k,2)&
(s(i,3)+1)==s(k,3)& (s(i,4)-1)==s(k,4) & r==0)
x(i,j)=x(i,j)+s(i,4)*mu_chmod_nrt2;
r=1;
end
if (c==1 & d==1 & e==1 & g==1 & c1==1 &
d1==1 & e1==1 & g1==1 & o==1 & p==1 & q==1 & r==1)
break;
end
end
end
else
if s(i,1)==(s(j,1)+1)& s(i,2)==s(j,2)& s(i,3)==s(j,3)&
s(i,4)==s(j,4)
if (s(i,1)*brt1+s(i,2)*brt2+s(i,3)*bnrt1
+s(i,4)*bnrt2 <=B-GC)
x(i,j)=-lamda_rt1;
else
x(i,j)=-lamda_rth1;
end
elseif s(i,1)==s(j,1)& s(i,2)==(s(j,2)+1)&
s(i,3)==s(j,3)& s(i,4)==s(j,4)
if
(s(i,1)*brt1+s(i,2)*brt2+s(i,3)*bnrt1+s(i,4)*bnrt2 <=B-GC)
x(i,j)=-lamda_rt2;
else
x(i,j)=-lamda_rth2;
end
elseif s(i,1)==s(j,1)& s(i,2)==s(j,2)&
s(i,3)==(s(j,3)+1)& s(i,4)==s(j,4)
if
(s(i,1)*brt1+s(i,2)*brt2+s(i,3)*bnrt1+s(i,4)*bnrt2 <=B-GC)
x(i,j)=-lamda_nrt1;
else
x(i,j)=-lamda_nrth1;
end
elseif s(i,1)==s(j,1)& s(i,2)==s(j,2)& s(i,3)==s(j,3)&
s(i,4)==(s(j,4)+1)
if
(s(i,1)*brt1+s(i,2)*brt2+s(i,3)*bnrt1+s(i,4)*bnrt2 <=B-GC)
x(i,j)=-lamda_nrt2;
else
x(i,j)=-lamda_nrth2;
end
elseif s(i,1)==(s(j,1)-1)& s(i,2)==s(j,2)&
s(i,3)==s(j,3)& s(i,4)==s(j,4)
x(i,j)=-s(j,1)*mu_rt1;
elseif s(i,1)==s(j,1)& s(i,2)==(s(j,2)-1)&
s(i,3)==s(j,3)& s(i,4)==s(j,4)

1220

x(i,j)=-s(j,2)*mu_rt2;
elseif s(i,1)==s(j,1)& s(i,2)==s(j,2)&
s(i,3)==(s(j,3)-1)& s(i,4)==s(j,4)
x(i,j)=-s(j,3)*mu_nrt1;
elseif s(i,1)==s(j,1)& s(i,2)==s(j,2)& s(i,3)==s(j,3)&
s(i,4)== (s(j,4)-1)
x(i,j)=-s(j,4)*mu_nrt2;
elseif s(i,1)==(s(j,1)-1)& s(i,2)==(s(j,2)+1)&
s(i,3)==s(j,3)& s(i,4)==s(j,4)
x(i,j)=-s(j,1)*mu_chmod_rt1;
elseif s(i,1)==(s(j,1)+1)& s(i,2)==(s(j,2)-1)&
s(i,3)==s(j,3)& s(i,4)==s(j,4)
x(i,j)=-s(j,2)*mu_chmod_rt2;
elseif s(i,1)==s(j,1)& s(i,2)==s(j,2)&
s(i,3)==(s(j,3)-1)& s(i,4)==(s(j,4)+1)
x(i,j)=-s(j,3)*mu_chmod_nrt1;
elseif s(i,1)==s(j,1)& s(i,2)==s(j,2)&
(s(i,3)+1)==s(j,3)& s(i,4)==(s(j,4)-1)
x(i,j)=-s(j,4)*mu_chmod_nrt2;
else
x(i,j)=0;
continue;
end
end
end
end
%End of calculation of State balance Equations
%------------------------------------------------------------------------%Calculation of steady state probabilities from steady state
equation
for i=1:noofstates
%As the ss equations are dependent, any one of the ss equation is
replaced
%by the normalized equation i.e sum of all ss probabilities is
equal to one
x(1,i)=1;
end
y=zeros(1,noofstates);
%y represents the rhs column vector of the ss equations
y(1)=1;
y=y';
%calculation of steady state probabilities
ssprob(:,b)=x\y;
%b=b+1;
%.................................................................
.
BP_rt(GC)=0;
BP_nrt(GC)=0;
BP_chmod_rt(GC)=0;
DP_rt(GC)=0;
DP_nrt(GC)=0;
BP_chmod_nrt(GC)=0;
CU(GC)=0;
for i=1:noofstates
if (s(i,1)+1)*brt1+s(i,2)*brt2+s(i,3)*bnrt1 +s(i,4)*bnrt2 > B-GC
||s(i,1)*brt1+(s(i,2)+1)*brt2+s(i,3)* bnrt1 +s(i,4)* bnrt2> B-GC

123.

BP_rt(GC)=BP_rt(GC)+ssprob(i,b);
end
if (s(i,1)+1)*brt1+s(i,2)*brt2+s(i,3)*bnrt1+s(i,4)*bnrt2 > B
DP_rt(GC)=DP_rt(GC)+ssprob(i,b);
end
if s(i,1)*brt1+s(i,2)*brt2+(s(i,3)+1)*bnrt1+s(i,4)*bnrt2 >
B-GC ||s(i,1)*brt1+s(i,2)*brt2+s(i,3)* bnrt1 +(s(i,4)+1)* bnrt2>
B-GC
BP_nrt(GC)=BP_nrt(GC)+ssprob(i,b);
end
if s(i,1)*brt1+s(i,2)*brt2+(s(i,3)+1)*bnrt1+s(i,4)*bnrt2 > B
DP_nrt(GC)=DP_nrt(GC)+ssprob(i,b);
end
if (s(i,1)+1)*brt1+(s(i,2)1)*brt2+s(i,3)*bnrt1+s(i,4)*bnrt2 > B ||(s(i,1)1)*brt1+(s(i,2)+1)*brt2+s(i,3)*bnrt1+s(i,4)*bnrt2 > B
BP_chmod_rt(GC)=BP_chmod_rt(GC)+ssprob(i,b);
end
if s(i,1)*brt1+s(i,2)*brt2+(s(i,3)+1)*bnrt1+(s(i,4)1)*bnrt2 > B ||s(i,1)*brt1+s(i,2)*brt2+(s(i,3)1)*bnrt1+(s(i,4)+1)*bnrt2 > B
BP_chmod_nrt(GC)=BP_chmod_nrt(GC)+ssprob(i,b);
end
CU(GC)=CU(GC)+(s(i,1)*brt1+s(i,2)*brt2+(s(i,3)+1)*bnrt1+s(i,4)*bnr
t2)*ssprob(i,b);
end
CU(GC)=CU(GC)/B;

gos(GC)=DP_rt(GC)+DP_nrt(GC)+BP_nrt(GC)+BP_rt(GC);
minimum=min(gos);
location=find(gos==minimum);
%end
BP_rt1=BP_rt(location);
BP_nrt1=BP_nrt(location);
BP_chmod_rt1=BP_chmod_rt(location);
DP_rt1=DP_rt(location);
DP_nrt1=DP_nrt(location);
BP_chmod_nrt1=BP_chmod_nrt(location);
toc
% End of Program 4 %

1232

You might also like