A COORDINATED MAC PROTOCOL FOR WIRELESS NETWORK
Transcript of A COORDINATED MAC PROTOCOL FOR WIRELESS NETWORK
A COORDINATED MAC PROTOCOL FOR WIRELESS NETWORK
_______________
A Thesis
Presented to the
Faculty of
San Diego State University
_______________
In Partial Fulfillment
of the Requirements for the Degree
Master of Science
in
Computer Science
_______________
by
Yuquan Zhang
Fall 2010
iii
Copyright © 2010
by
Yuquan Zhang
All Rights Reserved
iv
ABSTRACT OF THE THESIS
A Coordinated MAC Protocol for Wireless Network by
Yuquan Zhang Master of Science in Computer Science
San Diego State University, 2010
This thesis proposes a coordinated MAC protocol for wireless local area networks. Medium access layer plays an important role in better utilization of physical communication resources. This study proposes a coordinated MAC protocol which supports both asynchronous and isochronous communication over 802.11 like wireless channels. The proposed MAC protocol enables fully scheduled communication over the channel enabling quality of service over wireless channels. In addition the proposed network supports peer to peer mesh like communication where the data packets are communicated between nodes directly as opposed to the current 802.11 implementations where packets are bounced off the access points therefore appearing twice on the channel. The MAC layer developed is implemented in OPNET and comparative analysis to state of the art IEEE 802.11 MAC layer is studied both analytically and through OPNET simulations.
v
TABLE OF CONTENTS
PAGE
ABSTRACT ............................................................................................................................. iv
LIST OF TABLES ................................................................................................................. viii
LIST OF FIGURES ................................................................................................................. ix
ACKNOWLEDGEMENTS ................................................................................................... xiii
CHAPTER
1 INTRODUCTION .........................................................................................................1
1.1 Development of Wireless Network ....................................................................1
1.2 Development of 802.11x ....................................................................................2
1.3 Issues in MAC Protocol of 802.11x ...................................................................3
1.4 Scope of the Thesis ............................................................................................3
2 INTRODUCTION OF OFDM AND 802.11 MAC .......................................................5
2.1 Basic Theory of OFDM .....................................................................................5
2.2 Implementation of OFDM System...................................................................10
2.3 Brief Introduction of 802.11 MAC ..................................................................28
3 MAC LAYER MANAGEMENT PROTOCOL ..........................................................32
3.1 Introduction ......................................................................................................32
3.2 MAC Services ..................................................................................................32
3.3 MAC system structure .....................................................................................33
3.3.1 Basic Service Set (BSS) .........................................................................33
3.3.2 Extended Service Set (ESS) ....................................................................34
3.4 MAC frames.....................................................................................................36
3.5 MAC frame format ..........................................................................................37
3.5.1 MAP Frame .............................................................................................37
3.5.1.1 Header of MAP frame ....................................................................38
3.5.1.2 Body of MAC frame ......................................................................39
3.5.2 Reservation Frame ..................................................................................40
3.5.2.1 Header of the reservation frame .....................................................40
vi
3.5.2.2 Body of the Reservation Frame .....................................................41
3.5.3 Data Frame ..............................................................................................43
3.5.3.1 Header of the Data Frame ..............................................................43
3.5.3.2 Body of Data Frame .......................................................................44
3.6 MAC layer management protocol ....................................................................44
3.6.1 Related Physical Layer Parameters .........................................................44
3.6.2 Physical Layer Bit Format ......................................................................45
3.7 Map cycle .........................................................................................................46
3.8 Algorithm Description .....................................................................................47
3.8.1 Contention Free Reservation...................................................................48
3.8.1.1 Reservation ....................................................................................48
3.8.1.2 Asynchronous Data Reservation ....................................................49
3.8.1.3 Isochronous Data Reservation .......................................................49
3.8.2 Scheduling...............................................................................................50
3.8.3 Frame Exchange Procedure ....................................................................51
3.9 Comparison with Distributed Coordination Function (DCF) of IEEE 802.11 MAC ..........................................................................................................52
3.9.1 DCF of IEEE 802.11 OFDM WLAN MAC ...........................................53
3.9.1.1 Carrier Sense Mechanism of DCF .................................................53
3.9.1.2 Back off Procedure of DCF ...........................................................53
3.9.1.3 Interframe Spacing (IFS) ...............................................................54
3.9.1.4 CSMA/CA with RTS and CTS ......................................................56
3.9.2 Comparison .............................................................................................56
4 SIMULATION PROJECT ...........................................................................................63
4.1 Introduction ......................................................................................................63
4.2 Set up project ...................................................................................................63
4.3 Node model ......................................................................................................63
4.3.1 Node Model of the Base Station .............................................................64
4.3.2 Node Model of Mobile Stations ..............................................................65
4.4 Process Model ..................................................................................................66
4.4.1 MAC Process Model of Base Station .....................................................66
4.4.1.1 “Init state” of MAC Process Model of Base Station ......................67
vii
4.4.1.2 “wait” State of MAC Process Model of Base Station ....................68
4.4.1.3 “PacketComing” State of MAC Process Model of Base Station ........................................................................................................69
4.4.1.4 “MapTimeOut” State of MAC Process Model of Base Station ........................................................................................................69
4.4.2 MAC Process Model of Mobile Station..................................................73
4.4.2.1 “Init” State of MAC Process Model of Mobile Station .................73
4.4.2.2 “wait” State of MAC Process Model of Mobile Station ................74
4.4.2.3 “PacketComing” State of MAC Process Model of Mobile Station ........................................................................................................76
4.4.2.4 “ReserveSending” state of MAC Process Model of Mobile Station ........................................................................................................76
4.4.2.5 “DataSending” state of MAC Process Model of Mobile Station ........................................................................................................78
4.4.2.6 “IsoAccess” State of MAC Process Model of Mobile Station ........................................................................................................78
4.4.2.7 “IsoSending” State of MAC Process Model of Mobile Station ........................................................................................................80
5 SIMULATION RESULTS ..........................................................................................83
5.1 Introduction ......................................................................................................83
5.2 Situation 1 ........................................................................................................83
5.2.1 Data collection for base station ...............................................................84
5.2.2 Data collection for mobile station ...........................................................85
5.3 Situation 2 ........................................................................................................96
5.3.1 Data collection for base station ...............................................................96
5.3.2 Data collection for mobile station ...........................................................99
5.4 Situation 3 ......................................................................................................108
6 CONCLUSION ..........................................................................................................112
6.1 Hypothesis Conclusion ..................................................................................112
6.2 Isochronous Service .......................................................................................112
6.3 Recommendations for Future Work...............................................................113
REFERENCES ......................................................................................................................114
viii
LIST OF TABLES
PAGE
Table 2.1. Comparison between Single Carrier System and Multiple Carrier System ..............5
Table 2.2. Physical Layer Parameters ......................................................................................27
Table 2.3. Physical Layer Parameters ......................................................................................27
Table 3.1. Related Physical Layer Parameters for Map Frame ...............................................45
Table 3.2. Physical Layer Parameter data and Reservation Frames ........................................45
ix
LIST OF FIGURES
PAGE
Figure 2.1. Orthogonality of OFDM symbol .............................................................................6
Figure 2.2. Frequency spectrum of OFDM ................................................................................6
Figure 2.3. A basic OFDM system ............................................................................................8
Figure 2.4. ICI caused by blank GI, under multipath propagation ............................................8
Figure 2.5. An OFDM symbol ...................................................................................................9
Figure 2.6. OFDM symbols .......................................................................................................9
Figure 2.7. The effect on OFDM symbols caused by multipath delay ......................................9
Figure 2.8. Block diagram of OFDM transceiver ....................................................................11
Figure 2.9. Convolutional encoder (k=7) .................................................................................12
Figure 2.10. r = 3/4 Coding procedure .....................................................................................13
Figure 2.11. Convolutional interleaver ....................................................................................15
Figure 2.12. Constellation of 16QAM .....................................................................................16
Figure 2.13. OFDM power spectrum density ..........................................................................17
Figure 2.14. an OFDM symbol after adding windowing .........................................................17
Figure 2.15. Synchronization in OFDM system ......................................................................18
Figure 2.16.a. Frequency spectrum of OFDM signal ..............................................................19
Figure 2.16.b. Frequency spectrum of OFDM signal ..............................................................19
Figure 2.17. OFDM symbol timing .........................................................................................20
Figure 2.19. Diagram of an OFDM receiver with coherent detection .....................................23
Figure 2.20. Pilot frequency allocation ....................................................................................25
Figure 2.21. PPDU frame structure ..........................................................................................26
Figure 2.22. OFDM symbol structure ......................................................................................26
Figure 2.23. Use of virtual channel sensing using CSMA/CA ................................................28
Figure 2.24. A fragment burst ..................................................................................................29
Figure 2.25. Interframe spacing in 802.11 ...............................................................................30
Figure 3.1. Basic service set ....................................................................................................34
Figure 3.2. Extended service set ..............................................................................................35
x
Figure 3.3. The general MAC frame format ............................................................................37
Figure 3.4. Format of MAP frame ...........................................................................................38
Figure 3.5. One structure inside the body of MAC frame .......................................................39
Figure 3.6. The format of reservation frame ............................................................................40
Figure 3.7. One structure inside the body of reservation packets ............................................42
Figure 3.8. the format of data frame ........................................................................................43
Figure 3.9. Physical layer bit format ........................................................................................45
Figure 3.10. Example map cycle ..............................................................................................47
Figure 3.11. An example of frame exchange ...........................................................................52
Figure 3.12. A sample choice of back off window ..................................................................54
Figure 3.13. Flow char of CSMA/CA algorithm .....................................................................55
Figure 3.14. An example illustration of interframe spacing ....................................................55
Figure 3.15. CSMA/CA with RTS and CTS............................................................................56
Figure 3.16. Transmitting situation one of proposed MAC protocol ......................................57
Figure 3.17. Transmitting situation one of IEEE 802.11 MAC ...............................................58
Figure 3.18. Efficiency comparison with different map cycle .................................................61
Figure 4.1. An example set up project .....................................................................................64
Figure 4.2. Node model of the base station .............................................................................64
Figure 4.3. Node model of mobile stations ..............................................................................65
Figure 4.4. MAC process model of base station ......................................................................67
Figure 4.5. Flow chart of the code of “Init” state of MAC process model of base station ...........................................................................................................................68
Figure 4.6. Flow chart of function “PacketProcess()”of MAC process model of base station ...........................................................................................................................70
Figure 4.7. Flow chart one of “MapTimeOut()”of MAC process model of base station ........72
Figure 4.8. Flow chart two of “MapTimeOut()”of MAC process model of base station ........73
Figure 4.9. MAC process model of mobile station ..................................................................74
Figure 4.10. Flow chart of the code of “Init” state of MAC process model of mobile station ...........................................................................................................................75
Figure 4.11. Flow chart of function “PacketComing()” of MAC process of mobile station ...........................................................................................................................77
Figure 4.12. Flow chart of function “ReserveSending()” of MAC process model of mobile station ...............................................................................................................79
xi
Figure 4.13. Flow chart of function “DataSending()” of MAC process model of mobile station ...............................................................................................................80
Figure 4.14. Flow chart of function “IsoAccess()” of MAC process model of mobile station ...........................................................................................................................81
Figure 4.15. Flow chart of function “IsoSending()” of MAC process model of mobile station ...........................................................................................................................82
Figure 5.1. Map packet broadcasted from base station in situation 1 ......................................84
Figure 5.2. Reservation packet received by base station in situation 1 ...................................85
Figure 5.3. “as is” life time of reservation packets received by base station in situation 1....................................................................................................................................86
Figure 5.4. Average life time of reservation packets received by base station in situation 1 .....................................................................................................................86
Figure 5.5. The number of asynchronous data sent out by one mobile station in situation 1 .....................................................................................................................87
Figure 5.6. The number of isochronous data sent out by one mobile station in situation 1 .....................................................................................................................88
Figure 5.7. The number of reservation data sent out by one mobile station in situation 1....................................................................................................................................88
Figure 5.8. Queue size of asynchronous stream in situation 1 .................................................89
Figure 5.9. Average queue size of asynchronous stream in situation 1 ...................................89
Figure 5.10. Queue delay time of asynchronous stream in situation 1 ....................................90
Figure 5.11. Average queue delay time of asynchronous stream in situation 1 ......................91
Figure 5.12. Queue size of isochronous stream one in situation 1 ..........................................91
Figure 5.13. Average queue size of isochronous stream one in situation 1 .............................92
Figure 5.14. Queue delay time of isochronous stream in situation 1 .......................................92
Figure 5.15. Average queue delay time of isochronous stream one in situation 1 ..................93
Figure 5.16. Queue size of isochronous stream two in simulation 1 .......................................94
Figure 5.17. Average queue size of isochronous stream two in situation 1 .............................94
Figure 5.18. Queue delay time of isochronous stream two in situation 1 ................................95
Figure 5.19. Average queue delay time of isochronous stream two in situation 1 ..................95
Figure 5.20. Map packet broadcasted from base station in situation 2 ....................................96
Figure 5.21. Reservation packet received by base station in situation 2 .................................97
Figure 5.22. “as is” life time of reservation packets received by base station in situation 2 .....................................................................................................................98
xii
Figure 5.23. Average life time of reservation packets received by base station in situation 2 .....................................................................................................................98
Figure 5.24. The number of asynchronous data sent out by one mobile station in situation 2 .....................................................................................................................99
Figure 5.25. The number of isochronous data sent out by one mobile station in situation 2 ...................................................................................................................100
Figure 5.26. The number of reservation data sent out by one mobile station in situation 2 ...................................................................................................................100
Figure 5.27. Queue size of asynchronous stream in situation 2 .............................................101
Figure 5.28. Average queue size of asynchronous stream in situation 2 ...............................102
Figure 5.29. Queue delay time of asynchronous stream in situation 2 ..................................102
Figure 5.30. Average queue delay time of asynchronous stream in situation 2 ....................103
Figure 5.31. Queue size of isochronous stream one in situation 2 ........................................103
Figure 5.32. Average queue size of isochronous stream one in situation 2 ...........................104
Figure 5.33. Queue delay time of isochronous stream in situation 2 .....................................105
Figure 5.34. Average queue delay time of isochronous stream one in situation 2 ................105
Figure 5.35. Queue size of isochronous stream two in situation 2 ........................................106
Figure 5.36. Average queue size of isochronous stream two in situation 2 ...........................106
Figure 5.37. Queue delay time of isochronous stream two in situation 2 ..............................107
Figure 5.38 Average queue delay time of isochronous stream two in situation 2 .................107
Figure 5.39. Queue size of asynchronous stream in situation 3 .............................................109
Figure 5.40. Average queue size of asynchronous stream in situation 3 ...............................109
Figure 5.41. Queue delay time of asynchronous stream in situation 3 ..................................110
Figure 5.42. Average queue delay time of asynchronous stream in situation 3 ....................110
xiii
ACKNOWLEDGEMENTS
I wish to thank Dr. Carl Eckberg and Dr. Santosh Nagaraj for graciously serving on
my thesis committee.
I wish to thank Dr. Yusuf Ozturk, without his help this project could not have been
done; he provided me with the fundamental concept of this thesis as well as considerable
resources and key advice.
1
CHAPTER 1
INTRODUCTION
Each of the past three centuries has been dominated by a single technology. The 18th
century was the era of the great mechanical systems accompanying the Industrial Revolution.
The 19th century was the age of the stream engine. During the 20th century, the key
technology was information gathering, processing, and distribution. Among other
developments, we saw the installation of worldwide telephone networks, the invention of
radio and television, the birth and unprecedented growth of the computer, and the launching
and prosperous growth of communication networks [1].
As a result of rapid technological progress, these areas are rapidly converging and the
differences between collecting, transporting, storing, and processing information are quickly
disappearing. Organizations with hundreds of offices spread over a wide geographical area
routinely expect to be able to examine the current status of even their most remote outpost at
the push of a button. As our ability to gather, process, and distribute information grows, the
demand for ever more sophisticated information processing grows even faster.
1.1 DEVELOPMENT OF WIRELESS NETWORK
During the past 25 years, several different wireless technologies have found success
in bringing innovative and versatile services to the market. This revolution has been made
possible by the development of new networking technologies and paradigms, such as
wireless metropolitan area (WMANs), wireless local area networks (WLANs), and wireless
personal are networks (WPANs). Of the three types of networks, it is the WLAN that has
gained a lot of attention, primarily because of the unprecedented popularity and commercial
success [1]. WLAN is becoming increasingly important for people within work environments
like a warehouse, or for students and faculty members moving around the campus.
WLAN have gained immense popularity during the past several years. They are now
standard equipment on most laptops and several high-end PDAs. The low cost, ease of
installation, and almost no maintenance have resulted in several businesses looking at the
2
WLAN as a convenient corporate solution. The IEEE, ETSI, and HomeRF WG have been
involved in developing standards for the WLANS. These include the IEEE 802.11x,
HiperLANx, and HomeRF. Of these, the IEEE 802.11 family of protocols has clearly
become the dominant standard for WLAN in the world. HiperLAN has some market share,
especially in Europe, and HomeRF has no share at all. In fact the HomeRF WG officially
ceased to exist as of January 1, 2003. Its promoter companies (including Intel and Proxim)
switched to the more popular IEEE 802.11 standard [2].
1.2 DEVELOPMENT OF 802.11X
The IEEE group that proposed the standards for indoor LANs (e.g., Ethernet) in the
early 1980s published a standard for WLANs and named it the IEEE 802.11.
Wireless technology is improving at a fast pace. Future products could operate at
higher frequencies and provide higher bit rates. To meet such demands, the IEEE 802.11
group has added another layer in the 5.2 GHz band, utilizing OFDM to provide data rates up
to 54 Mbps [2]. This standard, known as the IEEE 802.11a, became the first to use OFDM in
packet based communication.
In June 2003, a third modulation standard was ratified: 802.11g. This works in the 2.4
GHz band, like 802.11b, but uses the same OFDM based transmission scheme as 802.11a. It
operates at a maximum physical layer bit rate of 54 Mbit/s exclusive of forward error
correction codes, or about 22 Mbit/s average through put. 802.11g protocol is fully
backwards compatible with 802.11b protocol and therefore is encumbered with legacy issues
that reduce throughput when compared to 802.11a by ~21% [3].
The proposed 802.11g standard was rapidly adopted by consumers starting in Jan
2003, well before ratification, due to the desire for higher data rates, and reductions in
manufacturing costs. By summer 2003, most dual band 802.11a/b products became dual
band/tri mode, supporting a, b and g in a single mobile adapter card or access point. Like
802.11b, 802.11g devices suffer interference from other products operating in 2.4 GHz band
[3]. 802.11n is a recent amendment which improves upon the previous 802.11 standards by
adding multiple-input multiple-output (MIMO) and many other newer features [4].
In the ad hoc network mode, as there is no central controller, the wireless access cards
use the CSMA/CA protocol to resolve shared access of the channel. In the infrastructure
3
mode configuration, many PCs and laptops, physically close to each other, 20 to 500 meters,
can be linked to a central hub, known as an access point (AP), that serves as a bridge between
them and the wired network. The wireless access cards provide the interface between the PCs
and the antenna, while the AP serves as the WLAN hub. All terminals communicate over AP.
1.3 ISSUES IN MAC PROTOCOL OF 802.11X
The first issue is that, with CSMA/CA, all the 802.11 stations share the same radio
channel and contend for access. If a mobile station happens to be transmitting, all other
mobile stations will wait until the cannel is free. A problem with CSMA/CA is that it causes
stations to wait for an indefinite period of time. As a result there is no guarantee of when a
particular mobile station can send a packet. The lack of regular access to the medium is not
desirable when supporting real time data such as voice and video information. Therefore,
with CSMA/CA, real time data cannot be provided.
The second issue is that, with CSMA/CA, the overhead for transmitting data is real
high, resulting in low efficiency. Efficiency is a very important factor to inspect whether a
network is good enough. Considering this problem from the aspect of customer, low
efficiency means people have to wait longer to get what they want, compared with high
efficiency network. Because stations have to contend for using the medium, use back off
algorithm to wait for the chance to transmit and send acknowledge for each packet, the
overhead for real data transmission is high, meaning low efficiency.
The third issue is related to scalability. Scalability is a major concern in WLANs. The
large scale deployment of WLANs presents technical as well as economic challenges. The
third issue is related to the second issue. Since the overhead is very high, with CSMA/CA,
when the number of mobile stations in a cell is bigger, the average waiting time for a mobile
station to transmit real packet becomes longer, wasting a lot time in the overhead. Therefore,
in order not to increase packet latency too much, we have to keep the number of mobile
stations small, compared with network with low overhead.
1.4 SCOPE OF THE THESIS
This thesis will provide a MAC layer protocol, which can achieve better performance
in latency and efficiency and obtain the ability to provide real time data transmission.
4
Because contending for accessing the medium is reason why CSMA/CA cannot provide real
time data transmission, in order to solve this issue, we provide a coordinated MAC and use
peer to peer communication mode. Different from PCF (Point Coordination Function) in
802.11x, in which each mobile station only can communicate with Access Point (AP), in the
proposed MAC, each mobile station can exchange data between peers. There is a base station
which will schedule all data transmission. We adopt periods consisting of many time
durations. In each period, base station will schedule time for mobile stations to transmit data,
according to the reservation they received in previous period. Since contending for accessing
medium is completely deleted and regular access to medium is guaranteed, base station can
arrange isochronous data in each period, leading to guaranteed quality of service of
isochronous data.
Since the proposed MAC is totally contention free, there is no collision at all.
Therefore, the chance of getting corrupted packets becomes very low and there won’t be any
exposed station problem and hidden station problem. In this proposed MAC, we don’t use
acknowledge packets to inform the sender of each transmission result and RTS-CTS to solve
the hidden station problem and exposed station problem. Therefore, overhead for each data
transmission is largely reduced. Since the overhead is reduced a lot, the maximum number of
mobile stations can increase without losing the quality of service.
In this thesis, we use OPNET to simulate this proposed MAC layer protocol with
different parameters and conclusion is given at the end. In the following chapters, we will go
into details discussing the proposed MAC layer protocol.
5
CHAPTER 2
INTRODUCTION OF OFDM AND 802.11 MAC
2.1 BASIC THEORY OF OFDM
The basic theory of OFDM is to transfer a sequence of high speed data into several
parallel data streams with relative lower symbol rate and all these streams are sent at the
same time and carried on different subcarriers, which are orthogonal in frequency domain.
In conventional system with one sequence of data stream, information symbols are
transmitted consecutively. Each symbol can occupy the whole frequency bandwidth. But in
OFDM system, several parallel data streams can be transmitted simultaneously. By lowering
the symbol rate for data stream, the duration of symbol is widened. Because the duration of
symbol increases, the degree of time dispersion resulted from multipath delay spread
decreased. Time dispersion can lead to intersymbol interference (ISI). Since the mode of
modulation on each subcarrier can be adaptive, the number of bit allocated to each subcarrier
will be different. At the receiver part, the reverse process is implemented in order to get the
original signal. Table 2.1 shows the comparison between single carrier system and multi-
carrier system.
Table 2.1. Comparison between Single Carrier System and Multiple Carrier System
Single Carrier System
Multiple Carrier System
Symbol Duration Ts/N Ts
Symbol Rate N/Ts 1/Ts
Total Bandwidth 2×N/Ts 2×N/Ts
Sensitivity to ISI Sensitive Relatively not sensitive
In this table, Ts is the duration of one OFDM symbol and N is number of subcarrier.
The most outstanding merit of OFDM comes from the feature of orthogonality between any
two subcarriers. Assume the duration of OFDM symbol is T, when the minimum distance
6
between any two subcarriers is 1/T, then we can set fk = fc + k/T. The following equation is
satisfied.
(2.1)
On different subcarriers, OFDM symbols can have different magnitude and phase
according to different modulation method. But in the duration of each OFDM symbol, every
subcarrier has integral number of periods. This feature can be explained very well by
equation (2.1). In frequency domain, every subcarrier has the shape of and their peak
points are located at the zero points of other subcarriers, as showed in Figure 2.1. By this
way, intercarrier interference (ICI) can be prevented.
Figure 2.1. Orthogonality of OFDM symbol.
When the number of subcarrier is big enough, the result in frequency domain by
adding all subcarriers together is a frequency spectrum figure which looks like a rectangle.
The frequency bandwidth almost reaches Nyquist bandwidth, as shown in Figure 2.2.
***********
Figure 2.2. Frequency spectrum of OFDM.
7
OFDM is very efficient in using bandwidth. In addition, because transmitted signal on
each subcarrier is unrelated, the result in time domain of summing all subcarriers is that the
final signal looks like white noise. The best pattern of signal to be transmitted on each
OFDM channel should have the statistical characteristic similar to white noise.
An OFDM symbol is the sum of all subcarriers and each OFDM subcarrier can have
its own way of modulation, such as phase shift keying (PSK) or quadrature amplitude
modulation (QAM). An OFDM symbol can be written as equation (2.2) [1]:
(2.2)
In this equation, N is the number of subcarriers, T is the symbol duration, is the
carrier frequency of ith subcarrier and are the data allocated on
subcarriers. Rect is the following equation (2.3).
rect(t) = 1, |t|≤T/2 (2.3)
Once the transmitted bits are allocated to every subcarrier, some kind of modulation
will transfer them into the corresponding magnitude and phase of subcarriers. The equivalent
complex baseband equation is 2.4 [1]:
(2.4)
Here, the in-phase part of an OFDM signal is represented by the real part in the
equation and the quadrature part of an OFDM signal is represented by the imaginary part in
the equation. In order to produce the final OFDM signal, the in-phase part of OFDM is
multiplied by a cosine at the target frequency and the quadrature of OFDM is multiplied by a
sine at the target frequency. The OFDM modulator is showed in the Figure 2.3.
OFDM symbol in equation (2.4) can be implemented by inverse Fast Fourier
Transform (IDFT). Let ts = 0, and ignore the rect(t) function, sample signal s(t) with rate of
T/N. This means t = kT/N (k = 0,1,...,N-1), then we can get equation (2.5).
(2.5)
8
0d
1d
1Nd
tfje 12
tfje 22
tfj Ne 12
tfje 12
tfje 22
tfj Ne 12
Figure 2.3. A basic OFDM system.
We can see that sk is equivalent to doing IDFT on di. At the receiver part, in order to get the
original signal di, we can do DFT on sk, shown in equation (2.6).
(2.6)
From above analysis, we can see that modulation and demodulation of OFDM system can be
replaced by IDFT and DFT separately.
One of the important advantages of OFDM is that intersymbol interference (ISI)
introduced by multipath delay can be eliminated. By conversion from serial to parallel, which
makes one sequence of data stream transferred into several parallel data stream, the duration
of OFDM is widened N times, if N is the number of subcarrier. At the same time, the
widened OFDM symbol can reduce the effect caused by multipath propagation N times.
Besides, ISI can be totally prevented by adding a guard Interval (GI) in front of every OFDM
symbol. The duration of GI, Tg, should be longer than the maximum multipath delay in
wireless channel so that any part of multipath delay won’t step into the area of next symbol,
as shown in Figure 2.4.
Figure 2.4. ICI caused by blank GI, under multipath propagation.
9
From Figure 2.4, we can see that, in the duration of one OFDM symbol, the second
subcarrier doesn’t have integral number of period of wave because of multipath delay. In
order to eliminate ICI, the guard interval is produced by cyclically adopted the end part of
current OFDM symbol, as showed in Figure 2.5, Figure 2.6 and Figure 2.7.
tGI Original OFDM signal
Figure 2.5. An OFDM symbol.
gTFFTT
sT
Figure 2.6. OFDM symbols.
Figure 2.7. The effect on OFDM symbols caused by multipath delay.
10
Here Ts is the total duration of an OFDM symbol, Tg is the duration of guard interval,
TFFT is the output of FFT, an OFDM symbol without guard interval. At the receiver part,
starting time of sampling, Tx should satisfy equation (2.7), in order to recover the original
signal.
(2.7)
2.2 IMPLEMENTATION OF OFDM SYSTEM
In IEEE 802.11a standard, OFDM is created by the following processes: at the
transmitter, binary input data is encoded by a convolution encoder with rate ½. The coding
rate can be increased to 2/3 and ¾. Then interleaving is implemented. After interleaving, the
binary values are transferred to QAM. Then four pilots are inserted into each 48 data, leading
to an OFDM symbol with 52 QAM values. This OFDM symbol is put onto 52 subcarriers by
using Inverse Fast Fourier Transform (IFFT). The output of IFFT will go through a parallel
to serial converter to form one sequence of data. Then a cyclic guard interval is added in
front of each symbol to eliminate the effect if intersymbol interference. In order to gain a
narrower output frequency spectrum, windowing technique is applied. By applying IQ
modulator, the signal is transferred to analog, which is carried onto the 5 GHz band,
amplified and transmitted over the antenna [5].
In order to recover the original information, the receiver end should implement the
reverse procedure of sender part and one more task, training. In the first place, the receiver
needs to evaluate the frequency offset and symbol timing by using training symbols in the
preamble. After removing guard interval, the signal will be sent to Fast Fourier Transform to
recover the 52 QAM values. Training symbols and pilot subcarriers can be used to evaluate
and correct the effect of channel response and phase shift of QAM values. Then all QAM
values are transferred back to original binary values. Finally, a Viterbi decoder is
implemented to recover the original source bits [5].
Figure 2.8 demonstrates the block diagram of the whole OFDM system. IFFT takes
fixed number of QAM values onto the same number of subcarriers. At the receiving end, all
subcarriers are demodulated by FFT, which is the reverse process of IFFT. But these two
processes are almost identical, because IFFT can be created by applying FFT with
conjugating input and the output of FFT and dividing the output by the FFT size [2]. By this
11
Figure 2.8. Block diagram of OFDM transceiver.
way, we can use the same hardware for both transmitter and receiver, but everything has its
advantages and disadvantages. The complexity is reduced, but at the same time, the modem
cannot have transmitting and receiving at the same time.
Figure 2.8 demonstrates the block diagram of the whole OFDM system. IFFT takes
fixed number of QAM values onto the same number of subcarriers. At the receiving end, all
subcarriers are demodulated by FFT, which is the reverse process of IFFT. But these two
processes are almost identical, because IFFT can be created by applying FFT with
conjugating input and the output of FFT and dividing the output by the FFT size [2]. By this
way, we can use the same hardware for both transmitter and receiver, but everything has its
advantages and disadvantages. The complexity is reduced, but at the same time, the modem
cannot have transmitting and receiving at the same time.
Forward Error Correction (FEC) Coding is a kind of error correction code. At the
transmitter, redundant data are added to original data, which enable receivers to detect and
correct some errors without having to ask sender for any information. There are mainly two
12
types of FEC: block coding and convolutional coding. In 802.11a, FEC adopts convolutional
coding. N bits generated at any time duration by convolutional coder are not only decided by
k bits of information in this period but also depend on information bits in N-1 previous time
durations. There are nN bits inside these N time durations, called constraint length of the
code. In OFDM, convolutional coder will only work on DATA part, which includes service,
PSDU, tail and inserted bits with rate of 1/2, 2/3, 3/4 separately [6]. Convolutional coders
have upper and lower two paths, both of them using the industry-standard generator
polynomials, g0 = 1338 and g1 = 1718 of rate R = ½ [6], as shown in Figure 2.9 [1].
bT bTbT bT bT bT bT
Figure 2.9. Convolutional encoder (k=7).
Bits coming out of “A” will be output before bits coming out of “B”. Puncturing is
utilized to gain desired higher bit rate. By omitting some of the encoded bits at the sender,
puncturing can reduce the number of bits to be transmitted and increase coding rate. A
dummy zero metric is inserted into the convolutional decoder in the place of the omitted bits.
Viterbi algorithm is recommended for decoding.
If rate r = 3/4, the whole coding and decoding procedure is in Figure .29 [1]. If rate r
= 2/3, the whole coding and decoding procedure is in Figure 2.10 [1].
13
Figure 2.10. r = 3/4 Coding procedure.
Although convolutional code is required in 802.11 standard, when better quality is
required in some application, such as packet voice or data communications in which packet
length will be several times of the length of code, block codes may be better, because in
those kind of applications, the memory of the convolutional codes must be brought to a
known state to terminate the trellis, which lowers the effective code rate [6].
It’s very common for typical radio channel to have frequency fading. Some
subcarriers may attenuate much more or less than other subcarriers because of deep fading in
spectrum, leading to burst bit error more often than randomly scattered, which will cause
some entire symbol unable to be recovered at the receiver part. Interleaving is utilized to
break the damage coming from burst error by randomizing the occurrence of bit errors prior
to decoding. At the transmitter, the coded bits are permuted in a certain way, which makes
sure that adjacent bits are separated by several bits after interleaving [7].
In the standard of 802.11a, output of convolutional coder is input into a block
interleaver. All data are interleaved according to the number of bit in a single OFDM symbol,
14
NCBPS. There are two steps to fulfill interleaving. The first step is that adjacent information
bits are mapped onto nonadjacent subcarriers. The second step is to guarantee that adjacent
coded bits are selectively mapped onto more or less significant bits of the constellation and
long runs of low reliability bits are avoided [2]. If use k to represent bits before interleaving, i
is the information after the first step of interleaving and before the second step. j represent
the information after the second step of interleaving and before modulation. The first step can
be stated in the following formula [1].
(2.8)
The function floor (.) is the largest integer which doesn’t exceed the parameter inside
parenthesis.
The second step is guided by the following equation [1].
(2.9)
The value of s is decided by the number of coded bits in each subcarrier, NCBPS, according to
the following formula:
(2.10)
The interleaving decoder conducts the reverse procedure of interleaving coder. It is also
performed by two steps of permutations. In interleaving decoder, j represents the index of the
original received bits before going into step one and i is the index after the going out of first
step and before stepping into the second step. Index k is used after the second step and before
data to be delivered into Viterbi decoder, which is used to decoded convolutional code. The
first step is carried out according to the following equation.
(2.11)
In equation (2.11), s is the same as defined in equation (2.10).
The second step is defined in the following equation.
(2.12)
15
Interleaving coder can be a block interleaver or a convolutional interleaver. Here we only
introduce convolutional interleaver. Figure 2.11 shows a convolutional interleaving coder.
The decoder cyclically write each input symbol or bit into one of the K shift registers that
introduce a delay of 0 to k-1 symbol durations [8].
Figure 2.11. Convolutional interleaver.
In order to gain high efficiency of information transmission, M-ary modulation is
utilized to transmit data. The advantage of M-ary modulation over binary modulation stands
on the point that under the same symbol rate, the ability of transmitting information of M-ary
modulation system is much efficient than binary modulation system. Under the same
information transmission rate, the symbol rate of M-ary modulation system is much lower
than that of binary modulation system. An M-ary symbol can carry bits of
information, while a binary symbol can only take one bit information. In digital
communication system, the most common M-ary modulation method includes constant
amplitude modulation and adaptive amplitude modulation. The corresponding modulation
methods are shift key (MPSK) and quadrature amplitude modulation (QAM).
Here, we only introduce QAM, which is in Figure 2.12. In QAM modulation, both
amplitude and phase can be changed and put separate information bits on each of the
quadrature carriers, and [9]. We can view this method of information
transmission as a form of quadrature-carrier multiplexing. QAM can be expressed as in
equation 2.13.
16
)2sin( tfc
)2( tfcons c
Figure 2.12. Constellation of 16QAM.
(2.13)
In above equation, represents energy of signal with minimum amplitude. and are
a pair of independent integer, depending on their position in the constellation of QAM.
Figure 2.12 shows the constellation of 16QAM.
According to equation (2.1), if ts = 0, we can the unified OFDM signal in the
following equation.
(2.14)
Here, is the unified factor, . The power spectrum density of OFDM symbol,
, is the sum of the power spectrum density of N subcarriers, as shown in equation
(2.15).
(2.15)
Figure 2.13 shows the power spectrum density of OFDM symbol with N = 32. The x-
coordinate is unified frequency and y-coordinate is unified power spectrum density, unit is
dB.
From Figure 2.13, we can see that the out-of-band spectrum decreases rather slowly.
For larger number of subcarriers, the spectrum goes down more rapidly in the beginning,
which is caused by the fact that sidelobes are closer together [10].
17
Figure 2.13. OFDM power spectrum density.
In order to make the spectrum decrease faster, windowing is utilized on OFDM
signal. The following shows one way of windowing.
(2.16)
Here, is the duration of symbol before adding windowing, and is the duration of
OFDM symbol after adding windowing. An OFDM symbol after adding windowing is
shown in Figure 2.14.
sT
prefiT postfixT
gs TTT
T
Figure 2.14. an OFDM symbol after adding windowing.
18
OFDM symbols are the sum of several orthogonal subcarriers. In order to guarantee
orthogonality between any two subcarriers, it should be very strict with synchronization. In
OFDM system, there are three kinds of synchronization. Frequency synchronization: the
frequency at the receiver should be the same as that of sender. Sampling synchronization: the
sampling rate at the receiver should be the same as that of sender. Symbol synchronization:
the start time of IFFT should be the same as that of FFT. Figure 2.15 shows which part of
OFDM system need synchronization.
Figure 2.15. Synchronization in OFDM system.
The difference between the frequency at receiver and the frequency at transmitter
results in received signal shift in the frequency domain. If the frequency difference is n (n is
an integer) times of interval between subcarriers, although subcarriers still can be kept
orthogonal, the frequency sampling value has already shifted n subcarriers. This will lead to
high bit error rate, around 0.5, in OFDM system [11].
If the frequency difference is not integral times of interval of subcarriers, this will
break orthogonality between subcarriers and bring in interval carrier interference, resulting in
worse bit error rate in OFDM system. Figure 2.16 a and Figure 2.16 b shows the frequency
spectrum of OFDM signal.
Figure 2.16 a shows the frequency spectrum of OFDM signal without frequency shift.
Figure 2.16 b shows the frequency spectrum of OFDM signal with frequency shift. From
these two figures, we can see that when there is no frequency shift, there is no intercarrier
interference. When there is frequency shift, there is intercarrier interference between
subcarriers.
19
nf 1nf1nf
f
Figure 2.16.a. Frequency spectrum of OFDM signal.
nf fffn
Figure 2.16.b. Frequency spectrum of OFDM signal.
Since cyclic guard interval is added at the beginning of OFDM symbols, the starting
time of OFDM symbol timing can vary inside guard interval without causing any
intersymbol interference and intercarrier interference. Only when the calculation window of
FFT goes beyond the boundary, intersymbol interference and intercarrier interference will be
brought in. Hence, OFDM system is not strict with symbol synchronization. In multipath
environment, in order to gain best system performance, we need to set best symbol timing.
Although, the starting time of symbol timing can vary inside guard interval, any change of
symbol timing will increase the sensitivity of delay extension in OFDM system. In order to
decrease this kind of negative effect, we need to minimize symbol timing shift.
20
From Figure 2.17, we can see that symbol timing shift has relationship with the phase
of subcarriers after demodulation. With timing changing, the phase of subcarriers after
demodulation will change correspondingly. The phase of subcarrier i is . The relationship
between and is given in equation (2.17).
(2.17)
Here, is the frequency of ith subcarrier. As for an OFDM system with N subcarrier and 1/T
as its interval between subcarriers, the phase difference between first subcarrier and the last
subcarrier with sampling interval T/N which has timing shift is shown in the following
equation.
(2.18)
Figure 2.17. OFDM symbol timing.
If sampling timing shifts, there are two aspects of effect. The first one is that
sampling shift in time domain will cause receiver to track the phase which changes as time
changes. The second aspect is that the change of sampling frequency will lead to the change
of FFT period. Therefore, after sampling, subcarriers will not be kept orthogonal, resulting in
intercarrier interference. The effect of sampling frequency shift is small. Sampling shift in
time domain is dominant in sampling shift. In the digital OFDM receiver, firstly, we need to
21
sample the received continuous signal to get digital signal. The time of sampling depends on
the clock of receiver. The next step is to send this digital signal to FFT.
Synchronization is very important to recover original signals. Besides this, in high
rate packet transmission system, such as 802.11a, the time used for synchronization should
be as small as possible, just a few OFDM symbols only. In order to reach this aim, some
special OFDM symbols can be used, in which the values are known to the receivers. In such
case, the whole received training signal need to be utilized to obtain synchronization.
The physical layer convergence procedure (PLCP) preamble field is utilized for
synchronization [2]. PLCP will be introduced later in this chapter. 802.11g’s PLCP is
composed of ten short symbols and two long symbols, which is shown in Figure 2.18.
S1688
s88.010 s0.82.328.02 s0.42.38.0 s0.42.38.0 s0.42.38.0
Figure 2.18. OFDM training structure.
Here, t1 to t10 represent short training symbols. T1 and T2 represent long training
symbols. PLCP preamble is followed by SIGNAL and DATA field. The total training length
is 16 . The dashed area represents repetitions because of the periodicity of IFFT.
A short OFDM training symbol is composed of 12 subcarriers, which are modulated by the
following sequence S [6].
(2.19)
The multiplication factor is used so that we can get a normalized average power of
OFDM symbol.
22
A long OFDM training symbol has 53 subcarriers with a zero at DC. This symbol is
modulated by the following sequence L [6].
1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 0,1,-1, -1,
1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1 (2.20)
This information also can be used to channel estimation.
Synchronization can be done in two steps: tracking and acquisition. In tracking mode,
only small frequency variation needs to be corrected. In acquisition mode, frequency offset is
much larger. In tracking mode, we assume that frequency offset is smaller than . Here,
denotes the subcarrier frequency interval. In 802.11a, = 0.3125MHz. If there is only
one subcarrier, the problem with synchronization is the same as that of single carrier system.
Therefore, frequency estimation algorithm which comes from maximum likelihood theory
can be utilized [2]. The basic rule for this algorithm is that frequency estimation can be
considered as phase estimation by using phase shift between two subcarrier samples. The
effect coming from modulation can be ignored by multiplying conjugate complex values of
the transmitted symbols.
The known symbols can obtain from the training sequence and pilot signals. Many
papers recommend sending synchronization sequences in different channels instead of over
one subcarrier. They should be put uniformly across the whole frequency domain. 802.11a
standard also implement like this.
It is necessary to correct the frequency offset before demodulation so that we can
avoid the performance degradation of decoder. Theoretically, it is possible to correct small
offset on subcarriers. In practice, this will count on the maximum magnitude of the frequency
offset which the tracking unit has to cope with [2].
The acquisition process should be done fast to reduce BER at the beginning. The rule
for acquisition is that the magnitude of the correlation function arrives at a maximum, if the
estimation is the same as the received frequency. The acquisition time is proportional to the
frequency range to be scanned, based on the expected Doppler shift in the wireless channel.
In OFDM system, source bits are modulated on subcarriers, such as QAM. In order to
get the correct bits at the receiver, we need to obtain the reference phase and amplitude of
23
signal, which can be showed on their constellation. The constellation always has some degree
of phase shift and amplitude variation, because of frequency shift, timing shift and frequency
selective fading. In order to get the variation of phase and amplitude, two different kinds of
detection can be used. The first one is coherent detection. Coherent detection utilizes the
estimation of amplitude and phase to decide the best possible decision boundaries for
constellation of signal. The main problem with coherent detection is how to find the
estimation values without involving too much training overhead. The second one is
differential detection, which can be used in both time domain and frequency domain.
Differential detection only considers the phase and amplitude difference between two QAM
values. In coherent detection, each OFDM symbol is compared with previous symbol. In
differential detection, each subcarrier is compared with the adjacent subcarrier inside the
same OFDM symbol. Differential detection needs differential encoding, but this is not
adopted in IEEE 802.11a.
Figure 2.19 represents the diagram of coherent detection in OFDM receiver. After
analog-to-digital conversion, FFT is used to demodulate these N subcarriers for each OFDM
symbol, whose output has N QAM values. All FFT output has variation of phase and
amplitude brought in by channel response, local oscillator drift and timing offset. Channel
estimation is responsible for find out the estimation of phase and amplitude for them, so that
QAM symbols can be recovered to binary by soft decision.
Figure 2.19. Diagram of an OFDM receiver with coherent detection.
Usually, wireless channels fade in both time and frequency domain. Therefore, we
need an estimator to evaluate the variation of amplitude and phase for all symbols. A two-
dimensional channel estimator can be used to estimate these variation based on some known
24
pilot values. OFDM signal has four subcarriers which contain known pilot values to be used
for channel estimation.
Nyquist sampling theorem states that sampling interval should be smaller than the
inverse of double-sided bandwidth of sampled signal [2]. In order to gain estimation both in
time and frequency domain from inserted pilots, the interval between pilots should satisfy
Nyquist sampling theorem. As for OFDM, in order to get correct estimation, pilot spacing
should be made smaller than both minimum subcarrier spacing and minimum symbol
spacing. However, the more pilots are utilized, the smaller SNR we get. Therefore, how
many pilots are used is a kind of trade off between channel estimation and SNR value.
In order to decide the minimum interval of pilots, we need to find out the channel variation in
both time and frequency domain. These variations are Doppler spread Bd in time domain and
maximum delay spread in the frequency domain. The interval of pilot needs to satisfy
the following formulas in time and frequency domain, st and sf separately.
(2.21)
(2.22)
These formulas are only considered to estimate theoretical limit for pilot interval.
Since pilots are transmitted continuously, the interval limit in time domain won’t affect pilot
interval. Formula (2.22) does impose a limit on the delay spread. Pilots are carried on
subcarrier -21, -7, 7 and 21. Hence, the interval between pilots is 4.375 MHz. Under this
condition, is 228 nsec.
There are several algorithms to do channel estimation. Here, we only introduce one of
them. In this algorithm, pilots must be BPSK modulated by a pseudo binary sequence to
prevent the generation of spectral lines [2]. The contribution of pilot subcarriers for the nth
OFDM symbol is created by Fourier Transform of sequence P, which is shown in the
following:
P-26, 26 ={0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0} (2.23)
The polarity of the pilot subcarriers is controlled by the sequence, Pn, which is a cyclic
extension of the 127 elements sequence and is shown in the following [2]:
25
P0…126 = {1,1,1,1, -1, -1, -1,1, -1, -1, -1, -1, 1,1, -1,1, -1, -1,1,1, -1,1,1, -1, 1,1,1,1,1,1, -
1,1,1,1, -1,1, 1, -1, -1,1, 1,1, -1,1, -1, -1, -1,1, -1,1,-1,-1, 1,-1,-1,1,1,1,1,1, -1,-1,1,1,-1,-1,1,-1,
1,-1,1,1, -1,-1,-1,1, 1,-1,-1,-1, -1,1,-1,-1, 1,-1,1,1,1,1,-1,1, -1,1,-1,1,-1,-1,-1,-1, -1,1,-1,1, 1,-
1,1,-1, 1,1,1,-1, -1,1,-1,-1, -1,1,1,1,-1,-1,-1,-1, -1,-1,-1} (2.24)
The subcarrier frequency allocation is shown in Figure 2.20.
0d 4d21P 5d
17d 7P 7P 21P18d 23d 24d 29d 30d 42d
43d 47d
Figure 2.20. Pilot frequency allocation.
Channel estimation is utilized to estimate the variation of channel both in time and
frequency domain. It is very suitable for continuous transmission systems, such as digital
audio broadcasting or digital video broadcasting, but it is not good at packet communications
because of two reasons. The first one is that in many packet transmission systems, the packet
length is short enough to assume a constant channel during the length of the packet [2].
Therefore, there is no more need to estimate the variations of channel in time and
frequency domain. The second one is that since pilots are scattered over several OFDM
symbols, this will bring in a delay of several symbols before we can get the estimation of the
channel. In addition, this delay is not expected in packet transmission, such as in 802.11a,
because an acknowledgment needs to send, after a packet is received. The delay of reception
of a packet will also result in the delay of sending acknowledgement. Both will result in
decrease of throughput of system. One more disadvantage is that we need extra hardware to
buffer several OFDM symbols. In many situations, such as mobile communication, pilot
signals can be used to improve BER. Since mobile channel impose multipath effect on
signals, both phase and amplitude are changed and the channel characteristics vary. In order
to conduct coherent detection, reliable channel estimation is needed.
IEEE 802.11a adopts OFDM as its modulation technique, operating on 5GHz band
with data rate of 54Mbit/s. In the standard of 802.11a, Physical Layer Convergence Protocol
26
(PLCP) adopts OFDM as its modulation technique. The frame structure of OFDM has
description in 802.11a standard, showed in Figure 2.21.
Figure 2.21. PPDU frame structure.
PLCP Protocol Data Unit (PPDU) includes OFDM PLCP header, PSDU, Tail bit and
Pad bit. The header includes Rate, Reserved, Length, Parity, Tail and Service. Rate,
Reserved, Length, Parity and Tail form an OFDM symbol and are represented by Signal,
which uses BPSK as its modulation pattern with code rate ½. Data section composes of
service, PSDU, Tail and Pad. Rate and Length inside Signal decide bit rate of data and also
set other parameters, such as its mode of modulation, code rate, and so on. OFDM symbol
structure is shown in Figure 2.22.
t1 t2 t7A t8 t9 t10 GI2 T1 T2 GI SIGNAL Data1 Data2GI GI
s8810 s0.82.328.02 s0.42.38.0 s0.42.38.0
s0.42.38.0
s1688
AGC
Coarse Frequency estimation &
Timing
Fine Frequency estimation&
Channel estimation
Rate&
Length
Service&
Data
Data
Figure 2.22. OFDM symbol structure.
27
According to IEEE 802.11a standard, parameters for the physical layer of OFDM are
in Table 2.2 and Table 2.3.
Table 2.2. Physical Layer Parameters
Data rate
(Mbits/s)
Modulation Coding rate Coded bits per
subcarrier
Coded bits per
OFDM symbol
Data bits per
OFDM symbol
6 BPSK ½ 1 48 24
9 BPSK 2/3 1 48 36
12 QPSK ½ 2 96 48
18 QPSK ¾ 2 96 72
24 16-QAM ½ 4 192 96
36 16-QAM ¾ 4 192 144
48 16-QAM 2/3 6 288 192
54 16-QAM ¾ 6 288 216
Table 2.3. Physical Layer Parameters
Parameter Value
NSD : Number of data subcarriers 48
NSP : Number of pilot subcarriers 4
NS : Number of subcarriers, total 52 (NSD + NSP)
F : Subcarrier frequency spacing 0.3125 MHz (=20 MHz/64)
TFFT : IFFT/FFT period 3.2 µs (1/F)
TPREAMBLE : PLCP preamble duration 16 µs (TSHORT + TLONG)
TSIGNAL : Duration of the SIGNAL BPSK-
OFDM symbol
4.0 µs (TGI + TFFT)
TGI : GI duration 0.8 µs (TFFT /4)
TGI2 : Training symbol GI duration 1.6 µs (TFFT /2)
TSYM : Symbol interval 4 µs (TGI + TFFT)
TSHORT : Short training sequence duration 8 µs (10 ×TFFT /4)
TLONG : Long training sequence duration 8 µs (TGI2 + 2×TFFT)
28
2.3 BRIEF INTRODUCTION OF 802.11 MAC
In wireless communication system, the hidden station problem and the exposed
station problem make wireless MAC layer different from wired communication system, such
as Ethernet. To deal with these two problems, 802.11 supports two modes of operation. One
is called DCF (Distributed Coordination Function), which does not use central control. The
other one is called PCF (Point Coordination Function), which use base station to control all
activity in its cell [12].
When DCF is adopted, 802.11 uses CSMA/CA (CSMA with Collision Avoidance) as
its MAC layer protocol. CSMA/CA can support two kinds of operation. In the first kind of
operation, when a station wants to transmit, it firstly senses the channel busy or not. If the
channel is idle, the station will start transmitting. If the channel is busy, the station will delay
transmission until the channel becomes idle again. If collision happens, stations involved in it
will wait a random time, using the binary exponential backoff algorithm, and then try again
later [12].
Operation mode of CSMA/CA depends on MACAW (Multiple Access with Collision
Avoidance for Wireless) and uses virtual channel sensing, as shown in Figure 2.23.
Figure 2.23. Use of virtual channel sensing using CSMA/CA.
In Figure 2.23, A wants to send data to B. C is a station within the range of A. D is a
station within the range of B but out of range of A. when A decides to send data to B, it
firstly sends an RTS frame to B to ask for permission to send frames. When B gets this
request, if it gives this permission, it will send a CTS frame back to A. After A gets CTS, A
will send its frame and start an ACK timer. After B got the data correctly, B will send an
29
ACK back to A. if A’s ACK timer expires before it gets the ACK from B, the whole
procedure will go through again.
C is in the range of A, so it can receive the A’s RTS frame. If it receives RTS, it will
realize that some nearby station will send data. In order not to collide with other stations, C
will stop transmitting anything until this cycle is completed. C can estimate how long this
cycle will take by the information contained in RTS. C will assert a virtual channel busy for
itself, shown as NAV (Network Allocation Vector). D won’t get RTS, but it will get CTS. D
will also assert a NAV signal to avoid collision. In fact, NAV is not a real signal. It is just a
kind of internal reminder to keep the station quiet for some time.
In contrast with wired networks, wireless communication system, are noisy and
unreliable. Therefore, the probability of a frame successfully going through the channel
decreases as the length of frame increases [13].
To solve this problem, 802.11 allows frames to be fragmented into smaller pieces,
each with its own checksum. All fragments are individually numbered and acknowledged
separately by using a stop and wait protocol. When the channel has been acquired using RTS
and CTS, multiple fragments can be sent in a row, as shown in Figure 2.24. Sequence of
fragments is called a fragment burst.
RTS
CTS
Frag1
ACK
Frag 2
ACK
Frag 3
ACK
NAV
A
B
C
D
NAV
Time
Figure 2.24. A fragment burst.
Fragmentation increases the throughput by retransmitting fragments instead of the
entire frame. The fragment size is not fixed by the standard. It is a parameter for each cell
and can be changed by the base station. The NAV keeps other stations quiet until the next
acknowledgement finished.
30
In DCF mode, there is no central control and all stations compete for the transmission
media. The other mode in 802.11 is PCF, in which the base station polls other stations to ask
them whether they have any frame to send. Since transmission order is completely controlled
by the base station in PCF mode, no collision will happen. The basic mechanism in PCF is
that the base station broadcasts a beacon frame periodically, which has system parameters,
such as clock synchronization [14].
PCF and DCF can coexist in one cell. At first glance, it may be impossible to have
central control and distributed control operating at the same time, but 802.11 provides a way
to achieve this goal by carefully defining the interframe time interval. After a frame is sent
out, some time is required before any station sends a frame. Four kinds of intervals are
defined, each for a kind of purpose, which is shown in Figure 2.25.
Figure 2.25. Interframe spacing in 802.11.
SIFS (Short InterFrame Spacing) is the shortest interval. It is used to allow parts in a
single dialog to go first. This includes letting receivers send a CTS back, letting receivers
send an ACK for a fragment or a full data frame, and letting senders of a fragment burst
transmit the next fragment without having to send an RTS again [15].
If some station doesn’t response after a SIFS interval, when a time PIFS elapses, the
base station can send a beacon fame or poll frame. This allows a station to send its data frame
or fragment sequence to finish its frame without interference from other stations, but it also
lets the base station to get the channel when the previous sender is done without competing
with other users.
31
If the base station doesn’t want to do something and a time DIFS elapses, any station
can compete to get the channel to send its frame. The general contention rules can be
adopted, and binary exponential backoff can be used if collision happens. The longest
interval is IEFS (Extended InterFrame Spacing), which is used only by a station which
receives a bad or unknown frame to report the bad frame [16].
32
CHAPTER 3
MAC LAYER MANAGEMENT PROTOCOL
3.1 INTRODUCTION
The efficiency of a WLAN is affected by many factors, such as, the channel quality,
SNR, diversity in the PHY layer. Another important aspect is medium access control (MAC)
protocol. The MAC in WLANs is very important due to the specific nature of a wireless
medium. Being different from wired media, the channel in a wireless OFDM system changes
dynamically, resulting in unpredictable fading and high bit error rate (BER). The high BER
may degrade the channel further because of the inability to detect an impending collision in a
wireless medium [4]. When there is collision or error in packet, retransmission will be
conducted. Therefore, we can draw this conclusion that the throughput in a wireless LAN is
limited largely by BER and packet retransmission. Under this condition, MAC layer play an
important role in increasing the total data throughput.
In this chapter, the proposed MAC protocol and its functional components are
described. The proposed MAC protocol will be compared with IEEE 802.11 MAC in aspects
of enhancing throughput of network.
3.2 MAC SERVICES
The MAC layer can be considered as a facility which cooperates with the PHY layer
to set up reliable and efficient data communication. Basically, the MAC layer fulfills some
functions to accomplish information exchange, synchronization and session management,
and so on. These MAC functions are implemented through the exchange of suitably defined
MAC frames. Each MAC frame consists of several bit fields, each of which encodes the
identity and different purpose of the MAC frame. There are three kinds of MAC frames in
the proposed MAC protocol. They are data frames, reservation frames and map frames.
Furthermore, data frames include asynchronous data frames and isochronous data frames.
The former have definite destinations or receivers, while the latter can be received all or
some receivers in the network, just like broadcast or multicast. Therefore, the MAC can be
33
viewed as providing data and management functions for the network by well constructed
frame exchanges between stations.
The term MAC services are typically used to refer to the functions that are
specifically provided by MAC layer to other layers in the protocol stack or to sustain the
normal operation of the network. The MAC layer is designed to provide several services, all
of which will be categorized under MAC data services and MAC management services. The
OFDM-based WLAN is designed to conduct asynchronous data and isochronous data
communication between stations. Asynchronous data communication basically involves the
MAC allocating the channel to specific senders and receivers according the reservation from
senders and predetermined protocol in every data exchange. On the other side, isochronous
data services, are fulfilled by both reservation from senders and allocate channel in advance.
The associated MAC functions are designated as MAC data services.
3.3 MAC SYSTEM STRUCTURE
From an architectural perspective, WLANs are consisted of basic service set and
extended service set. Several potentially overlapping WLANs, which are basic service sets
by themselves form an extended service set.
3.3.1 Basic Service Set (BSS)
In the proposed network, the smallest unit is called a cell, and comprises three
entities: Channel coordinator (base station), a number of mobile station and wireless medium.
The base station and mobile stations, each can be considered as a node in the topology in
WLAN. The base station is responsible for the management of communication between any
nodes insides each cell. The mobile stations handle transmitting data with other nodes inside
the cell. Figure 3.1 illustrates the structure of one unit.
The presence of base station (Channel coordinator) enables a contention free
operation. The advantage of contention free operation forms the basis of communication for
delay-sensitive or real-time data between stations. Real-time data requires guaranteed Quality
of Service (QoS) due to the very nature of the associated application. By placing a base
station in charge of medium access control and schedule all traffic through it, reasonable
34
Base Station
Mobile Station
Mobile Station
Mobile Station
Mobile Station
Mobile Station
Mobile Station
Mobile Station
Figure 3.1. Basic service set.
guarantees of QoS are feasible in a WLAN setup. A base station can also enable vitally
significant power-save modes that elongate battery life in mobile stations.
In one cell, there is one base station. The responsibility of the base station is to
coordinate communication between any nodes inside a cell. This is achieved using explicit
channel reservations using reservation request packets from networks nodes to channel
coordinator and, MAP packets allocating channel for communication. MAP packet is
periodically broadcasted by base station to inform all nodes inside the cell the schedule of
their communication. The content of schedule includes the time to send packets, which node
should send packets, what kind of packets should be sent and the time span for nodes to send
packets. When one node needs to send data to other nodes, reservation packets are sent from
nodes to base station to reserve time duration in the future period. In one MAP period, after
nodes get the schedule in MAP packets, they send their information data and also send their
reservation packets according to the schedule.
3.3.2 Extended Service Set (ESS)
The real potential of a portable device in finding ubiquitous connectivity can only be
fulfilled when several concomitant BSSs provide wide area coverage by communicating
between each other through a backbone network. Such a configuration of interconnected
35
BSSs is referred to as an Extended Service Set (ESS) and the associated backbone network is
called the Distribution System (DS). An ESS can have potentially overlapping BSSs
interconnected, as long as adjacent BSSs use different frequency band to avoid interference.
Figure 3.2 shows the structure of an ESS.
Figure 3.2. Extended service set.
In the ESS model, multiple BSSs are interconnected via base stations. The base
station acts as the entry point to the BSS, filtering and forwarding any frames coming from
outside the BSS. Assuming all base stations are on the same subnet, one can roam from one
BSS to another without loss of connection. Each mobile station associates with a base station,
chosen as the one with the strongest signal. Furthermore, each base station has an ESS
Identifier programmed into it, which is intended to represent the subnet the base station is
attached to. Adjacent base stations are set up so that their frequencies do not overlap with
those of their neighbors, and thus interference is minimized. When a mobile station wants to
communicate with a mobile station in another cell, it is the function of base station in an ESS
to forward data packets from one BSS to another and to facilitate mobility of mobile stations
36
between adjacent BSSs. That is why the MAC layer requires that each BSS in such an
overlapping set. The ESS could span any number of BSSs, and the DS could potentially be
wired or wireless.
3.4 MAC FRAMES
As mentioned at the beginning of this chapter, MAC frames contain information
which is used to implement the MAC protocol and to effect data communication. They have
three types: data frames, reservation frames and map frames. The function of the latter two is
used for scheduling to support the smooth and efficient exchange of data frames between
stations. Within data type of MAC frame, there are several subtypes. Each frame subtype
accomplishes a specific objective and identifies itself by encoding its subtype using a few
bits within itself.
The MAC fundamentally exists to facilitate exchange of data frames for different
applications between two WLAN stations, employing the support of the PHY layer. A typical
example of this is two stations exchanging a file using the FTP program. The FTP program is
the application, and the file to be exchanged is broken down into small data chunks called
MAC service data units (MSDUs). The MAC layer accepts MSDUs and adds headers to
create MAC protocol data units (MPDUs) and passes them over to the PHY layer for
transmission. In the world of MAC frames, it is convenient to think of these MPDUs as so-
called data frames.
The exchange of data frames with suitable headers enables the passage of raw
information in a meaningful way from one station to another. However, the MAC would fall
apart if it were not for two other frame types, reservation frames and map frames, that bring
so much order to the MAC. Reservation and map frames assist in scheduling the exchange of
all kinds of frames. Reservation frames are only sent from nodes to coordination nodes to
reserve time duration in one period. Map frames, on the other hand, are only sent from
coordination nodes to nodes to tell every node the allocation time duration for each frame.
Together, reservation frames and map frames cooperate in accomplish exchange of data
frames in an efficient and reliable manner.
37
Each MAC frames, whether it is data frame, reservation frame or map frame, is an
aggregation of specific bit fields, along with a header. Details of the MAC frames and
formats are discussed in the following sections.
3.5 MAC FRAME FORMAT
The general MAC frame format is shown in Figure 3.3.
Figure 3.3. The general MAC frame format.
In the design of frame formats, we attempt to balance two things: efficiency and
functionality. The MAC frame begins with a MAC header and following the MAC header is
the frame body. In order to get high efficiency, we try to reduce the header to whole frame
ratio. On the other hand, in order to get better functionality, we want to put more control
information into header, resulting in higher header to whole frame ratio. The frame begins
with a MAC header. The maximum size of the body of a MAC frame is 12000bits or
1500bytes for all kinds of MAC frame and minimum size of it is 368bits or 46bytes. If the
body of a MAC frame is too long, the possibility of getting corrupted in the communication
media, the air, is very big. This will result in retransmission for much more times than
smaller frames. As a consequence, the throughput of the network is reduced a lot. If the body
of a MAC frame is too small, the header to frame ratio is big, leading to decreasing of the
efficiency. As discussed above, the frame body is MAC service data units (MSDUs), while
the header and the body together are MAC protocol data units (MPDUs). For different kinds
of MAC frame, the header and body are a little different from each other, according to their
functionality. Each of these fields in the header and body for all kinds of MAC frame will be
discussed below with their functionality.
3.5.1 MAP Frame
Map frame is broadcasted only from coordinator to other nodes to tell every node in
the cell the schedule in this current period, starting from the sending time of MAP frame. The
38
following sections describe the component fields that make up the MAP frames. The frame
format of the MAP frame is shown in Figure 3.4.
Figure 3.4. Format of MAP frame.
The functionality and meaning of each part of the frame format will be discussed in
the following sections.
3.5.1.1 HEADER OF MAP FRAME
The total length of header is 76 bits, consisting of frame type, sequence number of
MAP frame, MAP start time and a number of body structures of MAP frame.
Frame type is 4 bits. This field is used to tell receiver what kind of frame it is. There
are totally four types of MAC frame. We use binary coding to represent the value of this
field. For MAP frame, the value of this part is 0.
Sequence number of MAP frame is represented by 32 bits. This field is used to
represent how many number of MAP frames is in front of current MAP frame.
MAP start time is represented by a 32 bits field. This field is used for nodes to
synchronize with the time of coordinator. The coordinator periodically broadcasts MAP
packets to all nodes in the cell. This field represents the sending time of the MAP packet in
this current period.
The number of body structure has 8 bits. The body of a MAC frame is made up of
many structures, each of which has 256 bits and stores the information of one transmit
opportunity inside the current period.
39
3.5.1.2 BODY OF MAC FRAME
The length of the body of the MAC frame is variable composed of map information
units each consisting of 256 bits. The body length of each MAC frame is from 368 bits to
12000 bits and 368/256 = 1.4375, 12000/256 = 46.875. As a consequence, the number of
map information units inside the MAP frame is from 2 to 46.
One structure inside the body of MAC frame is used to tell the receiver the
information of one transmission opportunity in the current period. The 256 bits inside the
structure is assigned to store: the ID of the sender of this time duration, the ID of the receiver
of this time duration, the starting time of this time duration, the duration of this time duration,
packet type should be sent in this time duration and the sequence number of this kind of
packet sent from this sender. In OPNET simulation, the structure is defined as in Figure 3.5.
Figure 3.5. One structure inside the body of MAC frame.
The name of the structure is defined as “MapToNode”. The data type defined for the
sender and the receiver, “Objid”, is the object ID of the specified object, whose value is
integer. This ID is got from the struct inside the body of Reservation packet. The field “start”
stores the starting time of this transmit opportunity. “PackeType” is to tell what kind of
packet the sender should send in this timeduration. “SorSeq” is record how many this kind of
packets have been send out by this sender, counting from 0. This is used to check whether we
lost a packet or not at the receiver.
40
3.5.2 Reservation Frame
Reservation frames are only sent from nodes to the coordinator to tell the coordinator
that they have data to send. After the coordinator receives the reservation frame, it will
schedule a transmit opportunity for this node to send the data packet. The following sections
describe the component fields that make up reservation frames. The frame format of the
reservation frame is shown in Figure 3.6.
Figure 3.6. The format of reservation frame.
The functionality and meaning of each part of the frame format will be discussed in
the following sections.
3.5.2.1 HEADER OF THE RESERVATION
FRAME
The total length of header is 100 bits, consisting of frame type, destination address of
reservation frame, source address of reservation frame, sequence number of reservation
frame and the several reservation body structures.
Frame type is 4 bits. This field is used to tell receiver what kind of frame it is. Just
like MAP frame, this field can only have integer as its value and we use binary coding to
represent the value of it. For reservation frame, the value of this field is 1, which uses 0001 to
represent it.
Destination address is 32 bits. This field is used to tell which nodes (including
coordinator) in this cell should receive this packet. Because reservation frame is only sent
from nodes to coordinator, the destination address should be the address of the coordinator.
The reason why MAP frame format doesn’t have this field is that MAP frame is broadcast in
41
cell. Since every node needs to receive MAP frame, there is no need to add destination
address in the frame format.
Source address is 32 bits. This field is used to tell receiver which node sends this
packet out. Therefore, each node will put its own address in this field, before the packet is
sent out. Since the function of reservation packet in the network is to reserve time duration
for nodes themselves, the source address is also used to tell coordinator which node is
applying for a time duration.
Sequence number of the reservation frame has 32 bits. This field is used to represent
how many number of reservation frames are sent out from this node before this frame. Just as
the sequence number of MAP frame, this field also must integer, counting from zero to 232-1
and using binary coding to represent the value of it. The maximum number representation of
sequence number is 232-1 = 4294967295. After all these numbers are used out, the number
will be counted from zero again.
3.5.2.2 BODY OF THE RESERVATION FRAME
The length of the body of the reservation frame is variable, but only consisted of
structures of 256 bits. Its length is also several times of the length of one structure. The
number of structure inside the reservation frame is from 2 to 46. For current reservation
frame, how many structures it should have depends on how many data packet the MAC layer
gets from applications by now. There are two kinds of data packets. The first one is
asynchronous data. Where transmission opportunities are requested and reserved per packet.
The second one is isochronous data. If isochronous data sent from application, the
coordinator will reserve some time duration for it in each period. When MAC layer gets one
isochronous data from application, it may not use one structure inside reservation frame to
reserve time duration. When MAC layer knows the data sending rate from the application is
changed, MAC layer will use one structure to tell the coordinator this change so that the
coordinator can change the time duration pre-scheduled for this stream of isochronous data
from this node.
One structure inside the body of reservation frame is used to tell the coordinator what
kind of time duration it wants to reserve in future period. The 256 bits inside the structure is
assigned to store: the ID of the sender for this reservation, the ID of the receiver for this
42
reservation, the duration time this data need to occupy, what kind of packet this data is and
the sequence number of this kind of packet sent from this sender. In OPNET simulation, the
structure is defined as in Figure 3.7.
Figure 3.7. One structure inside the body of reservation packets.
The name of the structure is defined as “MapFromNode”. Just like what we discussed
in MAC frame, the first two items are the ID of sender and receiver, whose data type is
“Objid”, which can be represented by integer. The “sender” is filled with the sending node’s
ID. What will be filled in “receiver” will depend on what type of this data. If this is
asynchronous data, “receiver” will be filled with the receiving node’s ID. On the other hand,
if this is isochronous data, because isochronous data can be received by all nodes or some
nodes inside the cell, by means of multicast, “receiver” part for isochronous data will be
filled with some virtual ID. The range of ID number of nodes inside one cell is from 0 to the
maximum number of nodes. The virtual ID uses some number, out of the range of ID
number, which is much bigger than the maximum node number. For example, if the
maximum number of nodes is 10. The virtual ID can be chosen to be 100. When the
coordinator finds out the “receiver” of a reservation structure is virtual ID, it knows this is
reserved for isochronous data. In addition, one node can have several streams of isochronous
data to occupy one channel in period. We use different virtual ID to differ them. Continuing
with the example we just discussed, if a node has two streams of isochronous data, which
will take up two channels in the period, one stream’s virtual ID can be 100 and another one
can be 101. “duration” is time length of the reserved time on the channel.
43
3.5.3 Data Frame
Data frame is used for nodes to send data information. As we discussed in the above,
there are two kinds of data frames. The first one is asynchronous data, which only have one
sender and one receiver. Another one is isochronous data, which have one sender and several
receivers. Although there is difference between these two types of data frame, they have the
same frame format. The following sections describe the component fields that make up data
frames. The frame format of the data frame is shown in Figure 3.8.
Figure 3.8. the format of data frame.
The functionality and meaning of each field of the frame format will be discussed in
the following sections.
3.5.3.1 HEADER OF THE DATA FRAME
The total length of header is 100 bits, consisting of frame type, destination address of
data frame, source address of data frame, sequence number of data frame and data got from
upper layers.
Frame type is 4 bits. The definition and functionality of this field are the same as it in
other types of frame. For asynchronous data, the value of this field is 2, which uses 0010 to
represent it. While for isochronous data, the value of this field is 3, which uses 0011 to
represent it.
Destination address is 32 bits. This field is used to tell which nodes (include
coordinator) in this cell should receive this packet. Since we are under the condition of
wireless communication, packets may be received by more than one node. Therefore, this
field can be used for nodes which get the data packet to figure out whether this data packet is
for itself or other nodes. If this data packet is for another node, this node will just destroy it.
44
Source address is 32 bits. This field is used record which station sends out this packet.
Sequence number of data frame is 32 bits. This field is used to represent how many of this
type of data frames are sent out from this node before this frame.
3.5.3.2 BODY OF DATA FRAME
The length of the body of the data frame is variable, ranging from 368 bits / 46 bytes
to 12000 bits / 1500 bytes. Data coming from upper layer will be completely placed into the
body of data frame without any change. If data length is too short, we will pad 0 at the end of
data to make sure it no less than 46 bytes.
3.6 MAC LAYER MANAGEMENT PROTOCOL
In this section, MAC layer management protocol, which is responsible for scheduling
data frame exchanges smoothly and efficiently between mobile stations, will be discussed in
detail. As we know, the fundamental access method used by the MAC for an IEEE 802.11
OFDM WLAN is a distributed control mechanism, in which each mobile station has a fair
chance of accessing the medium. This technique is called distributed coordination function
(DCF), based on a carrier sense multiple access (CSMA) with collision avoidance (CA),
together CSMA/CA protocol.
Totally different from IEEE 802.11 WLAN’s DCF, the MAC layer management
protocol we propose is a centrally controlled medium access algorithm. This technique
employs contention-free periods. During each period, the coordinator will control when a
mobile station will send out packets.
MAC layer manages the physical layer. The parameter in physical layer definitely has
effect on the signal quality transmitted in a cell and sometimes also affects the parameter in
MAC layer. For instance, if physical layer parameters are set to make physical signal
transmit faster, time duration can be set shorter, leading to shorter periods. Since physical
layer parameters and MAC layer parameters are related. We should give the physical layer
parameters first, before we talk more in detail about MAC layer.
3.6.1 Related Physical Layer Parameters
In this study, OFDM is adopted as physical layer protocol. Here, we will only discuss
those physical layer parameters which are related to MAC layer.
45
After we finally get MAC frames, we deliver frames to physical layer. In physical
layer, modulation bits, coding rate and the number of subcarrier of OFDM will affect the
length of an OFDM symbol in the physical layer. Since each OFDM symbol has a fixed time
of transmit, 4 microsecond, if the number of symbol is changed, the transmit time for the
whole data field will be changed. All these parameters will affect the length of data in the
way shown in formula 3.1.
RCS
LN frame
ofdm (3.1)
Where Nofdm is the number of OFDM symbol in a frame, Lframe is the frame size in bits, S is
the bits per symbol, C is the number of subcarriers and R is the code rate employed.
Parameters are shown in Table 3.1 and Table 3.2.
Table 3.1. Related Physical Layer Parameters for Map Frame
For MAP frame
Modulation mode, bit per value bpsk, 1 bit
Coding rate 1
The number of subcarriers 48
Table 3.2. Physical Layer Parameter data and Reservation Frames
For frames other than MAP frame
Modulation mode, bit per value 256QAM, 8
Coding rate ½
The number of subcarriers 48
3.6.2 Physical Layer Bit Format
Once physical parameters are specified, the time required for transmission of a frame
can be determined. The frame format of physical layer packets is shown in Figure 3.9. Here
we are only interested at the time it has to transmit the physical layer.
Figure 3.9. Physical layer bit format.
46
The number of OFDM symbols in a frame is variable and determined by the length of
a frame, physical layer parameters and formula 3.1. Therefore, the total transmission time of
a packet from sender to medium can be calculated in formula 3.2.
Time = 8µs + 8µs + 4µs + 4µs × Number of OFDM Symbols (3.2)
3.7 MAP CYCLE
As introduced in above, this MAC layer management protocol uses periods, called
map cycle. In each map cycle, there are map duration, process time, reservation time
duration, data time duration and short interframe spacing (SIFS).
Each map cycle starts with map duration. Map duration is the time duration used for
map frame to be broadcasted to mobile stations in a cell. The length of map duration is fixed
and long enough for the maximum map to be transmitted and received. Since the length of
maximum MAP frame is fixed, the duration of map duration can be calculated. The length of
maximum MAP frame is the addition of header and maximum structure number multiplied
by 256 bits, shown in the following paragraph.
Length of maximum MAP frame in bits = 4 bits + 32 bits + 32 bits + 8 bits + 46 ×
256 bits = 11852 bits. The number of OFDM symbols for MAP frame can be calculated as:
Number of symbols = 11852 bits / (1 × 1 × 48) = 247
Total time for maximum MAP frame to transmit from physical layer to medium:
Time = 8µs + 8µs + 4µs + 4µs × 247 = 1008 µs
In comparison with transmission delay, propagation delay can be ignored. Receiving
procedure will happen at the same time as sending procedure. Map duration is set as 1008
µs.
In our model a processing time is reserved for processing the map right after the map
transmission. It is used for all nodes to process the received MAP frame and get the time
schedule of this current map cycle, after receiving the MAP packet. It’s set as 20 µs.
If isochronous data need to be transmitted, it is arranged just behind process time. The
reason to schedule like this is that the time duration of isochronous data needs to be reversed
in advance. It is easier to find the beginning of isochronous data if they are put right after
process time.
47
After isochronous data, reservation time durations are scheduled which are used for
reservation frame to transmit. The reason why reservation frames are put before
asynchronous data is that nodes need enough time to handle reservation frames and use
information inside reservation frames to do scheduling before the start of next map cycle.
The length of reservation time duration is variable. We will talk about how to decide duration
of reservation time duration later soon.
After reservation time duration, asynchronous data will be scheduled. The length of
this time duration is variable and we get it from information inside reservation frame in
former map cycles.
The last but not least important time duration is short interframe spacing (SIFS). They
are used between any time duration. Their length is set as 10µs.
The position of each kind of time duration is not fixed except for map duration and
process time. All of them are arranged according to the MAC layer management protocol.
Although the content of the map cycle is not fixed, the length of any map cycle is fixed. The
length of a map cycle is 30000 µs. Figure 3.10 shows one example of a map cycle.
Figure 3.10. Example map cycle.
3.8 ALGORITHM DESCRIPTION
After introducing all related parameters in physical layer and MAC layer, how frame
exchange is managed in the network will be discussed next.
48
3.8.1 Contention Free Reservation
In order to schedule contention free medium access for all nodes in one cell, the
coordinator needs to know which nodes want to send data and the duration they need to
finish sending their data. The coordinator achieves this by reserving at least one reservation
time duration for each node inside each map cycle.
When the network starts to work, there is no reservation frames sending from nodes
to apply for time durations, because no node gets MAP frame from the coordinator to tell
them when to send data. As a consequence, before the first map cycle, the coordinator
doesn’t know whether nodes have data to send and cannot schedule any data time durations
for any node. Therefore, in the first map cycle, besides Map duration and process time, there
are only reservation time durations, which are evenly assigned to each node. After the first
map cycle, the coordinator will predict needed time of reservation according to previous
reservation frames. The coordinator will set length of the next reservation time duration
containing one structure longer than length of reservation frames coming from the same node
in last map cycle. This means the coordinator predicts that the coming reservation frames
will have at most one more structure than that of reservation frame in last map cycle for the
same node. It is reasonable because this won’t lead to waste too much time for small
reservation frame and it can be assumed that data coming rate won’t change suddenly
between two consecutive reservation time durations for the same node. If there is no
reservation frame coming from some node in last map cycle, the coordinator will set
reservation time duration based on the minimum length of reservation frame. The minimum
reservation frame is the reservation frame with only one structure. According to formula 3.1,
the number of symbol is 2. Using formula 3.2, the time for this reservation frame to be sent is
28 µs.
3.8.1.1 RESERVATION
When a node has data, it will create a reservation frame and wait for the coordinator
to schedule a reservation time duration for it. Once the node gets the reservation time
duration, it can send the reservation frame to the coordinator in the corresponding reservation
time duration.
49
3.8.1.2 ASYNCHRONOUS DATA
RESERVATION
Asynchronous data is not periodic. When a data packet coming from upper layer
arrives, MAC layer will create reservation request for them. Several data packets can share
one reservation packet, but the length of reservation frame is limited by its reservation time
duration. The value “sender” and “receiver” inside structure “MapFromNode”, shown in
Figure 3.7, are received from the information inside reservation packet. The value of
“duration” inside structure “MapFromNode” is calculated according to formula 3.1 and 3.2
with corresponding parameters. Because isochronous data and asynchronous data come from
different application sources, we can get the value of “PacketType” for “MapFromNode”
according to what the data source is. “SorSeq” is counted by MAC.
3.8.1.3 ISOCHRONOUS DATA RESERVATION
Isochronous data is periodic in nature such as audio and video traffic. Once the
coordinator get a reservation frame to initiate a stream of isochronous data in one map cycle,
it will give this stream of isochronous data the same duration in later map cycles, until the
coordinator get a new reservation for this stream to adjust the duration in later map cycles
from now on. Hence, for isochronous data, when there are data packets coming from upper
layer, MAC may not add their information into reservation frame. The only reason for mobile
station’s MAC to send reservation packets for isochronous data is that coming data rate is
changed. When a stream of isochronous data starts being provided, coming data rate is
changed from 0 to some value. We need to send reservation packets for this stream to let the
coordinator arrange time durations for it. If data rate of this stream doesn’t change, MAC
won’t send another reservation packet for it again, but the coordinator will leave the same
duration for it in later map cycles. If data rate of this stream changes later, it will send a new
reservation for it to ask for duration change in later map cycles. How can mobile station’s
MAC know whether the isochronous data stream change data rate? We can let mobile
station’s MAC detects this change by periodically checking how many isochronous data left
in the buffer. We set the checking period as 1ms. If the number of data left in buffer keeps
the same, this means data rate is the same as leaving data rate. Obviously, leaving data rate is
determined by the duration of time duration for this isochronous data stream, if related
50
parameters of physical layer aren’t changed. The larger the duration is, the faster the data
leave, vice versa. If the number of left data becomes bigger, this means data rate becomes
higher than data leaving rate. This also means we need longer duration for this stream data.
Mobile station’s MAC will send a reservation to tell the coordinator the new total duration it
needs. If the number of left data becomes smaller, this means arrival rate is lower than
departure rate. Mobile station’s MAC will also send a reservation to tell the coordinator. The
way to get value of “sender”, “PackeType” and “SorSeq” inside “MapFromNode” is the
same as the way of asynchronous data. Since isochronous data are multicast, “receiver” is set
as a virtual number. Here, we set the virtual number as 100 for the first stream of isochronous
data. Whenever a new stream of isochronous data comes, the virtual number will increase by
one. For each node, the maximum number of isochronous data stream is 5. Therefore, the
maximum number of virtual number is 104. The value of “duration” inside “MapFromNode”
is calculated for the whole size of data left in buffer using formula 3.1 and 3.2.
3.8.2 Scheduling
After the coordinator gets reservation frames from nodes, it can allocate and schedule
time durations for application nodes in later map cycles. MAP frame will be created and
broadcasted so that every node in the cell can know schedule of this map cycle. One structure
stores the information of one time duration.
As discussed before, right after process time, time durations for isochronous data are
allocated. The reason why to allocate isochronous data time durations right after process time
is because time durations of isochronous data need to be left in advance and it is easier to
find the beginning of duration of isochronous data. If there are several streams of
isochronous data need to be allocated, whose initial reservation comes first, whose time
duration is allocated first, using SIFS to separate time durations. Values of “sender”,
“receiver”, “duration”, “PackeType” and “SorSeq” inside struct “MapToNode”, shown in
Figure 3.5 will directly get from corresponding reservation packets. The value of “start” is
calculated by adding duration of map duration, duration of process time, duration of time
durations and SIFS before itself onto the value of MAP start time stored in the header of
MAP frame, shown in Figure 3.4. Universal Time (UTC) is used for map time to give the
value of sending time of the first MAP frame. For later MAP frame, MAP start time is
51
cumulated by map cycles onto the first UTC time. If we get some reservation to change one
of the duration of isochronous data streams, we have to add a structure in MAP frame sent in
next map cycle for each of these isochronous data streams, because their “start” may be
changed.
After allocating time durations for isochronous data, the coordinator will allocate
reservation time durations for each node as discussed before. Reservation time durations are
allocated earlier than asynchronous data, because we want nodes to have enough time to deal
with reservation frame and use the information inside reservation frame to finish scheduling
before the start of next map cycle. Of course, we also need to add SIFS after each reservation
time duration. The order of allocating reservation time durations for nodes is according to the
index of nodes. The values of “sender”, “receiver”, “PackeType” of “MapToNode” are ID of
the coordinator, ID of corresponding nodes and 1 respectively. As we discussed before,
“duration” is calculated one struct longer than length of reservation frame from
corresponding node in last map cycle. “SorSeq” is counted by MAC layer. “start” will be
calculated by the same way for isochronous data time duration.
The last to be allocated is asynchronous data time durations. SIFS also need to be
added after each asynchronous data time durations. The order for allocating asynchronous
data time durations is based on the coming order of their reservation frames. Like structures
for isochronous data, values of “sender”, “receiver”, “duration”, “PackeType” and “SorSeq”
inside structure “MapToNode” will directly get from corresponding reservation packets.
“start” will be calculated by the same way for isochronous data time durations.
When the coordinator allocates time durations to add one time duration and SIFS, it
will check whether this new added time duration and SIFS with all reservation time durations
and SIFSes go beyond the end of map cycle. If this big time duration is for isochronous data,
the coordinator will just ignore the reservation for it.
3.8.3 Frame Exchange Procedure
After each node gets MAP frames from the coordinator, they will know what the schedule
is in current map cycle and each node has a chance to send reservation frame in each map
cycle. MAP frame is the start of a map cycle. It is only broadcasted from the coordinator to
all nodes in a cell at the starting time of a map cycle. After the first time a node gets
52
permission from MAP frame to send isochronous data streams, it will keep sending the same
streams of isochronous data at corresponding time durations respectively without further
permission from MAP. New indication coming from MAP frame for the same existing
isochronous data stream is to let it change the duration of isochronous data time duration.
The duration can be changed to “0”, which means shuts down this stream of isochronous
data. Asynchronous data is directly sent to the destination node within asynchronous data
time duration. One example illustration of frame exchange is shown in Figure 3.11.
Base station
MS
MS
MS
MS
MS
MS
MS
Asynchronous data frame
Isochronous data frame
Reservation frame
MAP frame
MS Mobile station
Figure 3.11. An example of frame exchange.
3.9 COMPARISON WITH DISTRIBUTED COORDINATION
FUNCTION (DCF) OF IEEE 802.11 MAC
In the following sections, we will compare the proposed MAC layer management
protocol with IEEE 802.11 MAC in the aspects of throughput of network, efficiency and
53
latency with the same physical layer techniques and parameters. Before we conduct
comparison, we will briefly introduce the basic of 802.11 OFDM WLAN MAC protocol.
3.9.1 DCF of IEEE 802.11 OFDM WLAN MAC
The fundamental access method in IEEE 802.11 MAC is a distributed control
mechanism, in which each mobile station has a fair chance of accessing the medium. This
mechanism, called distributed coordination function (DCF), is based on a carrier sense
multiple access (CSMA) with collision avoidance (CA), together CSMA/CA protocol. DCF
constitutes the basic access mechanism in 802.11 WLAN.
3.9.1.1 CARRIER SENSE MECHANISM OF
DCF
The physical mechanism to detect transmission activity on the medium forms the first
step in DCF. In CSMA/CA-based DCF, a mobile station senses medium first. If the medium
is found idle, the mobile station will transmit data. If the medium is busy, the mobile station
won’t transmit so that collision is avoided. In order to avoid collision, stations which want to
transmit but detect busy medium choose random back off time and wait until the back off
clock reaches zero again.
In practice, a station also has a virtual carrier sense mechanism. This is by virtue of
the Network Allocation Vector (NAV), which always has the latest information on scheduled
transmissions on the medium. The NAV acts as a backup mechanism to avoid collisions, if a
carrier is not sensed by physical means, due to shadowing effects, the NAV can hopefully
provide correct information on medium activity. Thus, a station does not attempt to transmit
until both physical and virtual carrier sense mechanisms concur on the medium being idle.
3.9.1.2 BACK OFF PROCEDURE OF DCF
The DCF protocol demands that if a mobile station ever tries to transmit but just stops
transmission due to sensing a busy medium or successfully transmits a frame, it must execute
back off procedure. During back off, mobile stations release occupation of the medium for a
random amount of time. This guarantees low probability of collision and fair access
opportunities for other aspiring stations. The value picked for the back off clock is a
uniformly distributed random integer in the contention window [0, 2k], in which k is related
54
to retry time and the units are time slots, 20µs for 802.11g. If the retry time is bigger than or
equal 15, this procedure will choose to abort. If retry time is more than 10 times, whatever
the value of retry time is, k will be set as 10. If retry time is lower than 10, k is equal to retry
time. A sample choice of back off window is shown in Figure 3.12.
7
15
31
63
0
First attemp
Second attemp
Third attemp
Fourth attemp
Fifth attemp 127
MAX contention window
Figure 3.12. A sample choice of back off window.
The back off procedure adopts a binary exponential back off algorithm, in which each
successive attempt to transmit the same packet is preceded by back off within a window that
is double the size used previously. The back off clock is decremented during a given time
slot only if the medium is detected to be idle. The flow chart of CSMA/CA algorithm is
shown in Figure 3.13.
3.9.1.3 INTERFRAME SPACING (IFS)
According to IEEE 802.11 MAC, successive frames must be separated by a minimum
interframe spacing defined as the short interframe spacing (SIFS). A SIFS is the minimum
time gap between any two frames in spite of type. A DCF interframe spacing (DIFS) is the
relevant IFS when applied to DCF mobile stations. Therefore, a frame sequence of any DCF
station must begin at least a DIFS interval later than any other frame sequence. An extended
IFS (EIFS) is the spacing required between a station’s attempt to retransmit a failed packet
and any preceded frame sequence.
Clearly, it would be desirable to have SIFS < DIFS < EIFS to ensure a higher priority
55
Figure 3.13. Flow char of CSMA/CA algorithm.
of a fresh DCF transmission over a DCF retransmission. Indeed, the value of SIFS = 10µs
and DIFS = 50µs. Hence, as shown in Figure 3.14, by means of a suitable set of IFSes
employed in the system, different priorities are implicitly assigned to different requests for
medium access.
Busy medium Back off window
SIFS
DIFS Contention window
Next frame
Unit time slot
Defer accessSelect slot and decrement back off as long as medium is idle
Figure 3.14. An example illustration of interframe spacing.
56
3.9.1.4 CSMA/CA WITH RTS AND CTS
DCF provides a way of transmitting data frames by using a special hand-shaking
mechanism. Request To Send (RTS) and Clear To Send (CTS) frames are sent prior to the
transmission of actual data frames. The transmitter sends an RTS frame after the medium has
been idle for a time interval exceeding DIFS. On receiving an RTS frame, the receiver
responds with a CTS frame, which can be transmitted after the medium has been idle for a
time interval exceeding SIFS. After the successful exchange of RTS and CTS frames, the
data frame can be sent by the transmitter after waiting for a time interval SIFS. RTS is
retransmitted following the back off rule as specified in the CSMA/CA. The length of RTS is
160 bits and the length of CTS is 112 bits. The length of ACK is 80 bits. The medium access
method using RTS, CTS and CSMA/CA is shown in Figure 3.15.
RTS
CTS
Data
DIFS
DIFS
Defer access
SIFS
SIFS
Contention window
Back off
Time
Time
TimeSource MS
Destination MS
Other MSs
SIFS
ACK
Figure 3.15. CSMA/CA with RTS and CTS.
3.9.2 Comparison
The new MAC layer management protocol is proposed to provide a more efficient
frame exchange method to enhance the throughput of the network. Therefore, our
comparison should be based on efficiency. The efficiency is defined as the ratio between
time spent for data transmission over the entire packet exchange period. As far as the
proposed MAC protocol is concerned, the efficiency is the total time used for all data frames
in one map cycle over time of one map cycle. Although IEEE 802.11 MAC doesn’t have any
57
map cycle, the same efficiency definition will still be used, because by this way a clear
comparison between these two protocols can be achieved.
In order to compare IEEE 802.11 OFDM WLAN MAC with the proposed MAC layer
management protocol, some comparison situations need to be set, besides giving the same
physical and MAC layer parameters for them.
In the first place, some extreme situation is provided to simplify the analysis, and then
the situation become more complicated to go deeper in comparison. Now, only asynchronous
data are considered. Suppose, we got large packets, 1500 bytes, which is the biggest possible
packets, coming from upper layer to MAC layer. Time for each node is supposed to be
evenly distributed. This is generally true from the aspect of statistic. The duration for these
data packets is 276µs, calculated by formula 3.1 and 3.2. It’s supposed that each node has the
largest reservation packets and the maximum number of node, such as 10. Therefore, the
duration for each reservation packets is 268 µs. Given all those conditions, how much time
left for real data to transmit can be calculated. The supposed situation is shown in Figure
3.16.
Figure 3.16. Transmitting situation one of proposed MAC protocol.
The total map cycle is 30000µs. After subtracting map duration 1008µs, process time
20µs, ten reservation time durations plus SIFS duration, left time for real data to transmit in a
map cycle is 26192µs. If only maximum length of MAC frames exist, 26192µs ÷ (276µs +
10µs) ≈ 91.58, therefore, only 91 data frame can be hold, because we cannot squeeze 0.554
frame into one map cycle. Now, efficiency for this situation can be calculated. Efficiency-
rate-one = (91 × 276µs) ÷ 23616µs ≈ 83.72%. Because it is supposed that the number of
reservation packets is maximum, only smaller number of reservation packets can be gained in
58
reality. Therefore, this is the worst possible situation and efficiency-rate-one is bigger in
reality.
In order to get fair comparison, for IEEE 802.11 MAC, the same situation is
provided. One more assumption which needs to be added is that collision is zero. Since the
length of RTS, CTS and ACK in bit is given, by formula 4.1 and 4.2, their length can be
calculated respectively, 24µs, 24µs and 24µs. The situation for IEEE 802.11 is shown in the
Figure 3.17.
Figure 3.17. Transmitting situation one of IEEE 802.11 MAC.
In order to get better comparison, the best possible situation of IEEE 802.11 MAC is
assumed. Therefore, it is supposed that all data transmission for one node is consecutive.
That means only one set of RTS and CTS for one node. Obviously, this is the best possible
situation for 802.11 MAC, because the number of RTS and CTS is minimized with zero
collision. Under such ideal condition, efficiency rate for 802.11 MAC is calculated like this.
Since each node has one set of RTS and CTS, each of them also has one DIFS. For fairness,
the same period is used to do comparison. Hence, time left for sets SIFS-data-SIFS-ACK is
map duration - 10 × (RTS + CTS + SIFS + DIFS) = 30000µs – 10 × (24µs + 24µs + 10µs +
50µs) = 28920µs. One set of SIFS-data-SIFS-ACK is 10 µs + 276 µs + 10 µs + 24µs = 320
µs. Therefore, there are totally 228920 µs ÷ 320 µs = 90.375 sets of SIFS-data-SIFS-ACK.
Efficiency-one = 90.375 × 276 µs ÷ 30000 µs ≈ 83.145%. The reason that we use 90.375
instead of 90 is that there is no map cycle limit in IEEE 802.11 MAC.
Given the same physical parameters for data frames, the same node number, the same
frame length and data frame distribution among nodes, a worst situation is given, which has
the biggest reservation frames for each nodes, for the proposed MAC protocol. In reality, we
only can have better efficiency rate for it. The efficiency for the worst situation for proposed
MAC protocol is 83.72%. On the other hand, we add more hypotheses, zero collision and
minimum RTS + CTS + SIFS + DIFS set, to IEEE 802.11 MAC, which make its situation
59
best. Therefore, in reality any other possible situation will only make efficiency for 802.11
MAC worse. The efficiency for the best situation for IEEE 802.11 MAC is 83.145%. We
definitely can draw the conclusion that efficiency of proposed MAC protocol is better than
IEEE 802.11 MAC.
For extended situations, we can vary length of data frame. We still give the worst
possibility, in which each node has the maximum length of reservation frame for the
proposed MAC protocol. Hence, any other possibility for this extended situation will only
have better efficiency rate. Since the length of map duration and process time are fixed, the
change of efficiency of the proposed MAC protocol comes from having more SIFSes,
because when data frame is smaller, there will be more SIFSes following them. While for
IEEE 802.11 MAC, we still give the best possibility to minimize the number of set RTS +
CTS + SIFS + DIFS, leading to 10 sets of it. This still means any other possibility of 802.11
MAC in extended situation will have worse efficiency. The time for set of RTS + CTS +
SIFS + DIFS is still the same as before. Hence, the change of efficiency of IEEE 802.11
MAC comes from more SIFSes and ACKs, because the data frame is smaller and each data
frame needs an SIFS, an ACK and an SIFS follow it. For fairness, both protocols are given
the same sequence of data frame. For each data frame, the proposed MAC protocol only has
one SIFS follow it, while the IEEE 802.11 MAC has 2SIFSes and an ACK associate with it.
Obviously, the efficiency of IEEE 802.11 MAC will be lower than that of the proposed MAC
protocol.
To put situation in more real condition, we don’t have zero collision for IEEE 802.11
MAC and not all maximum length reservation frames for the proposed MAC protocol. In
reality, the contention mechanism in IEEE 802.11 MAC generally has collision and needs to
use back off to defer transmission. The real efficiency rate we can get for IEEE 802.11 MAC
will be lower than the one got from above calculation. Furthermore, in reality, maximum
length of reservation frames won’t be generated from all nodes in a map cycle. The real
efficiency rate will be higher for the proposed MAC protocol.
Now, let’s go back to the first hypothesis with different map cycle length. It is still
supposed to have the maximum length of reservation frame, maximum length of data frame
and there is no collision for IEEE 802.11 MAC with minimum number of RTS-CTS sets.
Obviously, the longer the map cycle, the more efficient the proposed MAC can get. The
60
shorter the map cycle, the less efficiency the proposed MAC can get. In the first place, let’s
find out the length of map cycle which can make the efficiency equal for both MAC
protocols. Suppose the length of this map cycle is X. For the proposed MAC protocol, the
fixed time occupation is map duration, 1008µs, process time, 20µs, 10 times maximum
reservation and SIFS, 10 × (268µs +10µs) = 2780µs. For IEEE 802.11 MAC, the fixed time
occupation is 10 times (RTS + CTS + SIFS + DIFS) sets, 10 × (24µs + 24µs + 10µs + 50µs)
= 1080µs. Obviously, we can have the following equation.
320
1080
10276
2780201008
XX
Here, means taking the biggest integer smaller than the value inside it.
X = 26688µs
Therefore, when the map cycle is 26688µs, the proposed MAC protocol has the same
efficiency as that of IEEE 802.11 MAC. As discussed above, when the map cycle becomes
longer, more efficiency can be achieved. Since the overhead for each data packet in IEEE
802.11 MAC is higher than that of the proposed MAC protocol, under above hypothesis,
when map cycle is longer than 26688µs, it will be more efficient in the proposed MAC
protocol than in IEEE 802.11 MAC. While if map cycle is shorter than 26688µs, under above
hypothesis, less efficiency can be gained in the proposed MAC protocol than in IEEE 802.11
MAC. In reality, above hypothesis is impossible. When the map cycle is longer than
26688µs, as discussed above, in reality, efficiency is higher in our proposed MAC protocol
and lower in IEEE 802.11 MAC. When the map cycle is shorter than 26688µs, as discussed
above, in reality, efficiency will be higher in the proposed MAC protocol and lower in IEEE
802.11 MAC. Therefore, when the map cycle is shorter than 26688µs, we may have better
efficiency in the proposed MAC protocol. The result will depend on the case. Figure 3.18
shows the efficiency comparison with different map cycles.
Let’s discuss more about the situation with the map cycle shorter than 26688µs. Let’s
set map cycle as 20000µs. Hypothesis about the proposed MAC protocol will still be used:
maximum length reservation frame, maximum length data frame and maximum number of
nodes. By the following way, the number of data frames in such map cycle can be gotten.
61
1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
55
60
65
70
75
80
85
90
95
100
Map cycle
Effic
ienc
y (%
)
Efficiency comparison
MAC layer management protocol
IEEE 802.11 MAC
Figure 3.18. Efficiency comparison with different map cycle.
5662.5610276
)10268(1020100820000
This means, in map cycle 20000µs, there
will be totally 56 maximum data frames. If IEEE 802.11 MAC has the same efficiency, there
are 56 sets of SIFS-data-SIFS-ACK.
Therefore, the left time not used for sets of SIFS-data-SIFS-ACK is 20000µs – 56 ×
320µs = 2080µs. If suppose there is no collision and this calculated time is only used for set
of RTS + CTS + SIFS + DIFS, then we can have 2080µs/108µs = 19.26. This means, by
average, each node has less than two sets of RTS + CTS + SIFS + DIFS in one map cycle.
Let’s set map cycle as 10000µs. With the same hypothesis, by the same way, we can get the
number of data frame in this map cycle.
2165.2110276
)10268(1020100810000
This means, in map cycle 10000µs, there will be totally 21 maximum data frames. If
EEE 802.11 MAC has the same efficiency, we will have 21 sets of SIFS-data-SIFS-ACK.
Therefore, the left time not used for sets of SIFS-data-SIFS-ACK is 20000µs – 21 × 320µs =
3280µs. If suppose there is no collision and this calculated time is used for set of RTS + CTS
+ SIFS + DIFS, then we can have 3280µs/108µs = 30.37. This means, by average, each node
have about three sets of RTS + CTS + SIFS + DIFS in one map cycle.
Since asynchronous data are only be considered by now, data rate is not constant. It’s
common to have two or three sets of set of RTS + CTS + SIFS + DIFS within 10000µs. As
62
discussed above, it is the worst situation in hypothesis and it is more efficient in real case of
the proposed MAC protocol. Therefore, even with map cycle 10000µs, in common case, we
still may have better efficiency from the proposed MAC protocol than IEEE 802.11 MAC.
Now, add isochronous data to MAC layer management protocol. DCF of IEEE
802.11 doesn’t have isochronous data service, because DCF of IEEE 802.11 needs
contention which may take long time for isochronous data to transmit. If the average data rate
of isochronous data cannot be guaranteed, this will definitely affect the quality of
isochronous data and cannot be accepted. For example, suppose isochronous data is used to
transmit video, if the contention for this isochronous data takes long time, the voice and
picture may get stuck while customers watching it. Therefore, MAC layer management
protocol provides not only higher efficiency but also the availability of isochronous data.
63
CHAPTER 4
SIMULATION PROJECT
4.1 INTRODUCTION
OPNET is a kind of simulation tool, whose solutions address application performance
management; network engineering, operations and planning and network R&D. It comes
with the following toolsets: node model that specifies the interface of a network component;
process model that abstracts the behavior of a network component; project setup which
construct a network for simulation and simulation window that captures and displays
simulation results. Based on the features of OPNET and what our project focuses, OPNET is
adopted to do simulation. From outside to inside, each toolset used in the simulation will be
introduced one by one.
4.2 SET UP PROJECT
Since this article only focuses on MAC layer management protocol within one cell,
our project is only set up the basic service set for one cell without considering extended
service. In this project, there is one base station located around the center to do control and
scheduling and there are some mobile stations randomly located in the cell. To create this
project, network scale, used in setting up the project is chosen to be the most common one,
office scale with 100 meters × 100 meters. An example set up project is shown in Figure 4.1.
In Figure 4.1, the blue background is the area of a cell. represents a node. Node
named “BaseStation” is the base station. All other nodes are mobile stations randomly
located in this cell.
4.3 NODE MODEL
Each node in the project level is built by a node model. By doubling click on the
node, you can go into the inside of the node to have a look of its construction. The node
model is used to specify the interface between the network and a node. According to different
node’s functions, different nodes have different construction.
64
Figure 4.1. An example set up project.
4.3.1 Node Model of the Base Station
The function of the base station is control and scheduling, to transmit map frame and
receive reservation frame. It doesn’t need to deliver any packet coming from upper layers. To
fulfill its missions, the node model of base station should be constructed as shown in Figure
4.2.
Figure 4.2. Node model of the base station.
65
In Figure 4.2, represents a processor named MAC will conduct the part of MAC
layer protocol of base station. represents the physical layer transmitter which sends
physical bits to the medium. represents the physical layer receiver which receives
physical bits from the medium. The blue arrow, , called stream line, represents the bit
transmission direction, from MAC to physical layer or from physical layer to MAC. The
attributes inside both physical layer transmitter and receiver are chosen to be the parameters
listed in chapter five. All other parameters won’t be discussed will use those default values.
The attributes of MAC will select the corresponding process model introduced later and
enable “begsim intrpt” which begins simulation interrupt.
4.3.2 Node Model of Mobile Stations
The function of the mobile station is to accept and transmit packets coming from
upper layer, to receiver map frames and data frames coming from other nodes and to send
reservation frames. Since the rate of packets coming from upper doesn’t keep equal with the
rate of transmitting them, queue buffers need to temporarily keep them. To fulfill all its tasks,
the node model of a mobile station should be constructed as shown in Figure 4.3.
Figure 4.3. Node model of mobile stations.
66
The “receiver”, “transmitter” and blue arrows have the same meaning and function as
those in the node model of the base station. “Application1”, “Application2” and
“Application3” are processors, which imitate upper layer to create packets and deliver them
to MAC. Their attributes: packet size, packet interarrival time, start time (when starts to send
packets) and stop time (when stops sending packets) are determined according to demand
and purpose of our different simulation. “queue1”, “queue2” and “queue3” are also
processors, which conduct like queues to buffer packets coming from “Application” to MAC.
The process model of “queue” is set as “pc_fifo” and its queue row as one. “pc_fifo” means
that the process model enqueues packets in the order in which it receives them by adding
them to the tail of the queue. It dequeues packets in a first-in-first-out order by removing
them from the head of the queue when requested. “sending queue” is another processor
functioning like “queue”, but instead buffering frames ready to be sent. We set the attributes
of “sending queue” the same as those of “queue”. “sink” is also a processor, whose function
is to destroy frames not to be used anymore to save memory, because each created packets
need memory.
4.4 PROCESS MODEL
Each process in a node is built by a process model. By doubling click on the process,
you can go into inside of a process to have a look of its state transformation diagram. Each
process model is used to perform some functions. The state transformation diagram is the
abstracts of behavior of its process. Each state will be invoked by some condition and will
fulfill some task. The transformation between states is controlled by corresponding
conditions. Since our project focuses on the MAC layer management protocol, except MAC
process models, process models provided by OPNET is used to conduct demanding functions
for nodes.
4.4.1 MAC Process Model of Base Station
The MAC process model of base station will conduct two tasks. One is to receive
reservation frames and another one is to do scheduling and send out map frames. The state
transformation diagram is shown in Figure 4.4.
67
Figure 4.4. MAC process model of base station.
In Figure 4.4, both green and red round plates represent a state. Green state is called
forced state, which will transfer to another state without waiting for anything, after it finishes
its task. Red state is called unforced state, which will wait another event to drive it to transfer
to another state, after the state finish its task. Each arrow line represents state transformation
direction. The solid arrow line represents transformation from one state to another state
without any condition. The dotted arrow line represents that only when the condition written
in its attribute is satisfied, the transfer will happen and the executive function in its attribute
will be performed. points to the start state of this process, which is generally used to do
all kinds of initialization.
4.4.1.1 “INIT STATE” OF MAC PROCESS
MODEL OF BASE STATION
In the “Init” state of MAC process of base station, the initialization needs to do:
getting the process ID and node ID of base station, getting the number of nodes in the
topology of this project, indexing each node, assigning the initial value to global variable
defined in this process model, initializing statistic collection functions, creating the first map
frame and broadcasting it, setting up map cycle time out interrupt timer. Since by now the
base station didn’t get any reservation packets, the first map just evenly distributes
68
reservation time durations in the first map cycle for each node. After initialization, the job of
“Init” is done. Since there is no reason to stay there, “Init” is set as forced state so that it can
go into state “wait” immediately. The flow chart of the code of “Init” state is shown in Figure
4.5.
Figure 4.5. Flow chart of the code of “Init” state of MAC process model of base station.
4.4.1.2 “WAIT” STATE OF MAC PROCESS
MODEL OF BASE STATION
There are two dotted arrow lines going out from “wait” to two other states. One goes
to state “PacketComing” with condition of “PACKETCOMING” and executive of
“PacketProcess()”. Another goes to state “MapTimeOut” with condition “MAPTIMEOUT”
and executive “MapTimeOut()”. Since state “wait” must wait some condition to be satisfied
69
so as to transfer to other states, state “wait” is set as red unforced state. The job of “wait”
state is only to wait condition to be satisfied to transfer other states. Therefore, there is no
function inside “wait” state.
4.4.1.3 “PACKETCOMING” STATE OF MAC
PROCESS MODEL OF BASE STATION
The condition “PACKETCOMING” is used to detect whether the physical layer
receiver in node model, shown in Figure 4.2, gets any packets from the medium. If the
physical layer receiver gets any coming packets, it will send the packet to MAC along the
stream line, pointing from physical receiver to MAC. Whenever there is packet delivered
from physical receiver to MAC along the stream line, a stream interrupt, which is an OPNET
inherent mechanism, will be generated. When the stream interrupt of this stream line is
generated, MAC is notified that there is packet coming from physical receiver. Whenever
MAC knows this stream line having packets, condition “PACKETCOMING” is satisfied and
the process model will transfer from state “wait” to state “PacketComing” and function
“PacketProcess()” will be fulfilled. The state “PacketComing” deals with coming packets.
Once its job is done, it needs to immediately go back to “wait” state to detect whether any
condition is satisfied again, therefore state “PacketComing” is set as forced state.
Function “PacketProcess()” conducts coding function to handle coming packets.
Since our project is a wireless communication project, each packet is sent out to the public
air. Therefore, the base station may receive some data packets from other nodes. Although
base station has no interest in data packets, they can be collected and counted in sequence for
debugging in simulation. In practical use, data packets got by base station can be destroyed
without any hesitation.
When a reservation frame comes, PacketProces() function will record each
reservation structure for future scheduling. Because base station will schedule time duration
for each reservation according to the rule of “first come first serve”, A linked list to record
reservation structure is set up to keep this arrival order. The next new structure will be added
to the end of the link list. The next reservation structure to be scheduled is taken from the
head of the link list. The flow chart of function “PacketProcess()” is show in Figure 4.6.
70
Get a frame
Is it reservation frame?
Record statistic
Yes
Is it data frame?
No
Record statistic
Destroy frame
Get number of reservation struct in this reservation
frame
Is there reservation struct?
Save the reservation struct
at the end of reservation link list
Destroy the frameYes
No
Figure 4.6. Flow chart of function “PacketProcess()”of MAC process model of base station.
4.4.1.4 “MAPTIMEOUT” STATE OF MAC
PROCESS MODEL OF BASE STATION
The condition “MAPTIMEOUT” is used to detect whether it is the time for a new
map cycle to start. The time duration of map cycle is given by simulation time. A time
interrupt is set up, provided by OPNET, to notify us that it’s time to send out the map frame
to start a new map cycle. When a map cycle is time out, an interrupt will be generated so that
condition “MAPTIMEOUT” is satisfied and function “MapTimeOut()” will be invoked.
Since time for “MapTimeOut()” to run is too small to differ it with simulation time, this
function can be run, when the timer for MAPTIMEOUT is timed out.
71
The job of “MapTimeOut()” is to schedule time duration using the reservation
structure link list. In the first place, “MapTimeOut()” need to check whether there is any
reserved isochronous data time duration in last map cycle. If yes, those time durations should
be left according to their duration and order right after process time. Then, how many
structures in this reservation frame need to be counted. The number of structure in this
reservation frame plus one is the number of structure in the reservation time duration in the
next map cycle. After calculating reservation time durations, scheduling begins. As discussed
before, in a map cycle, after process time, isochronous data time durations are put first, then
reservation time durations, then asynchronous data and the order inside these three parts
depends on its order in reservation link list.
Reservation structures are received from the head of the reservation link list, before
they are scheduled into the next map cycle, time durations for reservation frames are left in
advance. Then, duration for next structure is calculated to see whether left time is still long
enough for it to fit in. If yes, we put it in the time duration sequence. If no and if it is
isochronous data, this reservation structure is just discarded. If no and if it is asynchronous
data, this reservation structure is still kept at the head of reservation link list and another
reservation structure with smaller duration item will be put into the time duration sequence.
The job of finding a fit asynchronous reservation structure is done when we find some
duration of reservation structure perfectly fit into the next map cycle or we reach the end of
reservation link list.
After selecting reservation structure from reservation link list to schedule time
duration in the next map cycle, information of these three kinds of time durations are put into
the map structure of map frame. For reservation time durations and asynchronous time
durations, one map structure needs to describe information for each of them. For isochronous
time durations, if there is no reservation from them, there is no need to use map structure for
them. All nodes will know that in the next map cycle, the time durations for isochronous data
are the same as last one. If there is one reservation of isochronous data is used in scheduling,
each time duration for isochronous data must take one map structure to tell nodes about new
schedule of isochronous data. The flow chart of function “MapTimeOut()” is show in
Figure4.7 and Figure 4.8.
72
Leave time slot for synchronous data
according to last map cycle
Get reservation struct number for each mobile
station
CaLculate the Maximum number of reservation struct and duration for each mobile station and
save each of them to a map struct and put it into reservation group
Calculate left time after extract those reservation
frame duration from the map cycle
Is there any reservation struct left in reservation link
list?
Is the head reservation struct of reservation link list for
synchronous data?
Yes
Can its duration fit into the left time in the next map cycle?
Yes
Discard this reservation struct
No
Can its duration fit into the left time in the next map cycle?
No
Save its information to a map struct and put it into the asynchronous data
group
No
Save its information to a map struct and put it into
the synchronous data group
Yes
Is there any blocked reservation struct from the
same node?
Yes
No
Yes
No
Figure 4.7. Flow chart one of “MapTimeOut()”of MAC process model of base station.
73
Do we create any map struct for at least one synchronous data?
Yes
No
Create map stuct for all other synchronous data
stream
Create map frame using those map structs.
Synchronous data group first, then reservation
group, then asynchronous data group
Broadcast map frame
Figure 4.8. Flow chart two of “MapTimeOut()”of MAC process model of base station.
4.4.2 MAC Process Model of Mobile Station
The MAC process model of mobile station will conduct five tasks. They are receiving
map and data frames, sending reservation frames, sending asynchronous data frames, sending
isochronous data frames and checking the size of buffer used for isochronous data. The state
transformation diagram is shown in Figure 4.9. All signs and representation of MAC process
model of mobile station are the same as those of MAC process model of base station.
4.4.2.1 “INIT” STATE OF MAC PROCESS
MODEL OF MOBILE STATION
The “Init” state of MAC process model of mobile stations has the same job as that
MAC process of the base station, but the initialization work is a little different. The
initialization of MAC process model of mobile station is getting the process ID and node ID
of base station, getting the number of nodes in the topology of this project, indexing each
node, assigning the initial value to global variable defined in this process model, initializing
statistic collection functions, getting the number of isochronous data sources, indexing
74
Figure 4.9. MAC process model of mobile station.
isochronous data sources, first time checking the size of queue of isochronous data and
setting up the interrupt timer of checking the size of queue of isochronous data. The same as
“Init” state of MAC process model of base station, after initialization, the job of “Init” is
done. Since there is no reason to stay there, “Init” is set as forced state so that it can go into
state “wait” immediately. The flow chart of the code of “Init” state is shown in Figure 4.10.
4.4.2.2 “WAIT” STATE OF MAC PROCESS
MODEL OF MOBILE STATION
There are six dotted arrow line going out from “wait” to two other states. The
first one goes to state “PacketComing” with condition of “PACKETCOMING” and
executive of “PacketComing()”. The second one goes to state “ReserveSending” with
condition “RESERVESENDING” and executive “ReserveSending()”. The third one goes to
state “DataSending” with condition “DATASENDING” and executive of “DataSending()”.
The fourth one goes to state “IsoAccess” with condition “ISOACCESS” and executive of
“IsoAccess()”.The fifth one goes to state “IsoSending” with condition “ISOSENDING” and
executive of “IsoSending()”. Since state “wait” must wait some condition to be satisfied so as
to transfer to other states, state “wait” is set as unforced state. The job of “wait” state is only
75
Figure 4.10. Flow chart of the code of “Init” state of MAC process model of mobile station.
76
to wait condition to be satisfied to transfer other states. Hence, there is no function inside
“wait” state.
4.4.2.3 “PACKETCOMING” STATE OF MAC
PROCESS MODEL OF MOBILE STATION
The condition “PACKETCOMING” is used to detect whether the physical layer
receiver in node model, shown in Figure 4.3, gets any packets from the medium.
“PacketComing” state is used for mobile station to handle coming packets. The same as
MAC process model of base station, when the packet got by the physical receiver is delivered
to MAC process model of mobile station, a stream interrupt will be generated to notify MAC:
there is a new frame for it to handle and condition “PACKETCOMING” is satisfied. Then,
the state is transferred from “wait” state to “PacketComing” state and function
“PacketComing()” is invoked. Once its job is done, it needs to immediately go back to “wait”
state to detect whether any condition is satisfied again, therefore state “PacketComing” is set
as forced state.
Function “PacketComing()” conducts coding function to deal with coming frames.
“PacketComing()” deals with all coming frames. Since the project is a wireless
communication project, each frame is sent out to the public air. Therefore, the mobile station
may receive some data frames not destining for it. For these kinds of data frames, mobile
stations just destroy them without hesitation. For data frames destined for it, the mobile
station will deliver them to upper for further treatment. In simulation, they will be destroyed
to save memory. For received map frames, the mobile station will pick up those map
structure destined for them, according to the sender ID in the map structure. Then each of
those picked structures is saved and interrupt timer is set for each of them, according to the
starting time item in the map structure. When the timer is timed out, corresponding frames
will be sent out. The flow chart of function “PacketComing()” is show in Figure 4.11.
4.4.2.4 “RESERVESENDING” STATE OF MAC
PROCESS MODEL OF MOBILE STATION
When set up timers for reservation time durations are timed out, the condition
“RESERVESENDING” is satisfied, the state will transfer from “wait” to “ReserveSending”
and function “ReserveSending()” is invoked. The task of “ReserveSending()” is to get
77
Figure 4.11. Flow chart of function “PacketComing()” of MAC process of mobile station.
78
packets coming from upper layer, set reservation for them and deliver them to sending queue
to wait for their time durations.
In the first place, the maximum number of reservation structure should be known. It is
the number of reservation structure in last map cycle plus one for this node. Then it is started
to check whether the reservation frame needs to be sent. The queue size of all isochronous
data sources will be checked, shown in Figure 4.3. The queue size is the checked result
provided by “IsoAccess” state. If the size of some queue is 5 packets bigger or smaller than
last time “ReserveSending()” is invoked, reservation for this isochronous data source needs
to be sent. One reservation structure is used to record the information of one changed
isochronous data source. If not changed, reservation for that isochronous data source won’t
be sent. After knowing the queue size, this size is used to calculate the duration, using
formula 4.1 and 4.2. Other needed information in reservation structure can be got from
information of packets. For asynchronous data, their queue is accessed. If there are packets in
their queue, one of them will be grabbed. The duration it needs to transmit will be calculated
and all other information will be recorded into a reservation structure. Then it is delivered to
sending queue, shown in Figure 4.3 to wait for its time duration coming. The flow chart of
function “ReserveSending()” is show in Figure 4.12.
4.4.2.5 “DATASENDING” STATE OF MAC
PROCESS MODEL OF MOBILE STATION
When set up timers for asynchronous data time durations are timed out, the condition
“DATASENDING” is satisfied, the state will transfer from “wait” to “DataSending” and
function “DataSending()” is invoked. The task of “DataSending()” is to get a packet from
sending queue and add data frame header to the original data and then send it to physical
layer transmitter. “DataSending()” function also records the sequence of sent data. The flow
chart of function “DataSending()” is show in Figure 4.13.
4.4.2.6 “ISOACCESS” STATE OF MAC
PROCESS MODEL OF MOBILE STATION
When the interrupt timer of checking the size of the queue of isochronous data is
timed out, the condition “DATASENDING” is satisfied, the state will transfer from “wait” to
“IsoAccess” and function “IsoAccess()” is invoked. The task of “IsoAccess()” is to provide
79
Figure 4.12. Flow chart of function “ReserveSending()” of MAC process model of mobile station.
80
Figure 4.13. Flow chart of function “DataSending()” of MAC process model of mobile station.
the averaged size of the isochronous data queue. Five past checking results are kept so that
they are be averaged over five. At the beginning, if there are no five recorded results, the
result is the first checking result in “Init” state. The last step is to set up the next interrupt
timer of checking the size of the queue of isochronous data. The flow chart of function
“DataSending()” is show in Figure 4.14.
4.4.2.7 “ISOSENDING” STATE OF MAC
PROCESS MODEL OF MOBILE STATION
When set up timers for isochronous data time duration are timed out, the condition
“ISOSENDING” is satisfied, the state will transfer from “wait” to “IsoSending” and function
“IsoSending()” is invoked. The task of “IsoSending()” is to get packets from isochronous
data queue and add frame header to the original data and then send it to physical layer
transmitter. Before the end of this time duration, isochronous data can be kept sending.
“IsoSending()” function also records the sequence of sent data. The flow chart of function
“IsoSending()” is show in Figure 4.15.
81
Figure 4.14. Flow chart of function “IsoAccess()” of MAC process model of mobile station.
82
Figure 4.15. Flow chart of function “IsoSending()” of MAC process model of mobile station.
83
CHAPTER 5
SIMULATION RESULTS
5.1 INTRODUCTION
In Chapter 3, we discuss and compare some extreme situations, in the best condition
for 802.11 MAC protocol and the worst condition for the proposed MAC protocol. We have
reached the conclusion that under those hypotheses, when MAPCYCLE is longer than
26688µs, proposed MAC protocol has higher efficiency and when MAPCYCLE is shorter
than 26688µs, 802.11 MAC protocol has higher efficiency.
Now let’s see what will happen in some practical situations. A project on OPNET is
set as explained in Chapter 4. Different simulation parameters are given to see what the result
will be, under different practical situations.
Since it is known that in those hypotheses, the proposed MAC protocol has higher
efficiency than 802.11 MAC protocol, when MAPCYCLE is longer than 26688µs. Now let’s
see what the result will be in practical situation when MAPCYCLE is equal or shorter than
26688µs.
All simulation figures are generated by OPNET simulation. There are two kinds of
data figures. One is “as is”, which means that data shown on the figure is whole data
collected at corresponding time. Another one is “time average”, which means that data
shown on the figure is averaged by time. All simulation figures take time as x-axis with
second as units.
5.2 SITUATION 1
Besides the parameters we gave in chapter 3, other parameters are provided in the
following.
One asynchronous data stream with constant arrival rate
Two isochronous data streams with constant arrival rate
Average interarrival time for asynchronous stream: 0.01s
Average packet size for asynchronous stream: 10000 bits
Average interarrival time for isochronous stream one: 0.001s
84
Average packet size for isochronous stream one: 1000 bits
Average interarrival time for isochronous stream two: 0.01s
Average packet size for isochronous stream two: 1000 bits
MAPCYCLE: 10000µs
Nine mobile stations
5.2.1 Data collection for base station
Figure 5.1 is a “as is” figure, showing the number of map packets broadcasted out
from base station. The y-axis is the number of map packets with unit of packets. From Figure
5.1, it can be seen that total map packets broadcasted from the base station is around 30000
packets.
Figure 5.1. Map packet broadcasted from base station in situation 1.
Figure 5.2 is a “as is” figure, showing the number of reservation packets coming from
all mobile stations. The y-axis is the number of reservation packets with unit of packets.
Because the base station broadcasts one map packet and receives one reservation packet from
each mobile station in each MAPCYCLE and there are 9 mobile stations, the number of
reservation packets is 9 times of the number of map packet shown in Figure 5.1.
85
Figure 5.2. Reservation packet received by base station in situation 1.
Figure 5.3 is a “as is” figure, showing the life time of reservation packets got by base
station. The y-axis is the life time of isochronous packets got at that simulation time with unit
second. Since reservation packets are generated by 9 different mobile stations and always
wait for its time duration to transmit, the “as is” life time figure will also vary in a large
range.
Figure 5.4 is a “time average” figure, showing the average life time of reservation
packets received by base station. The y-axis is the life time of the packet averaged by time.
From this figure, it can be seen that the average life time of reservation packets. There are 9
identical mobile stations in this project. One mobile station is chosen to see the data
collection result in simulation.
5.2.2 Data collection for mobile station
Figure 5.5 is a “as is” figure, showing the number of asynchronous packets sent out
by this mobile station. The y-axis is the number of asynchronous packet sent out by this
mobile station with unit packets.
86
Figure 5.3. “as is” life time of reservation packets received by base station in situation 1.
Figure 5.4. Average life time of reservation packets received by base station in situation 1.
87
Figure 5.5. The number of asynchronous data sent out by one mobile station in situation 1.
Figure 5.6 is a “as is” figure, showing the number of isochronous packets sent out by
this mobile station. The y-axis is the number of isochronous packet sent out by this mobile
station with unit packets.
Figure 5.7 is a “as is” figure, showing the number of reservation packets sent out by
this mobile station. The y-axis is the number of reservation packet sent out by this mobile
station with unit packets. The number of reservation packets sent out by one mobile station is
equal to the number of map packets broadcasted by base station.
As discussed in Chapter 4, there is a queue in each mobile station for asynchronous
data to wait until its transmission time. Figure 5.8 is a “as is” figure, showing the queue size
of asynchronous data stream with unit packet. The y-axis is the size of queue of
asynchronous stream at that time when simulation.
Figure 5.9 is a “time average” figure, showing the average queue size of
asynchronous stream. The y-axis is the size of queue of asynchronous stream averaged by
time.
88
Figure 5.6. The number of isochronous data sent out by one mobile station in situation 1.
Figure 5.7. The number of reservation data sent out by one mobile station in situation 1.
89
Figure 5.8. Queue size of asynchronous stream in situation 1.
Figure 5.9. Average queue size of asynchronous stream in situation 1.
90
Figure 5.10 is a “as is” figure, showing the queue delay time of asynchronous stream
with unit packet. The y-axis is the queue delay time of asynchronous stream at that time of
simulation.
Figure 5.10. Queue delay time of asynchronous stream in situation 1.
Figure 5.11 is a “time average” figure, showing the average queue delay time of
asynchronous stream. The y-axis is the queue delay time of asynchronous stream averaged by
time.
As discussed in chapter 4, there is a queue in each mobile station for each
isochronous data to wait until its transmission time. Figure 5.12 is a “as is” figure, showing
the queue size of isochronous data stream one with unit packet. The y-axis is the size of
queue of isochronous stream one at that time when simulation.
Figure 5.13 is a “time average” figure, showing the average queue size of isochronous
stream one. The y-axis is the size of queue of isochronous stream one averaged by time.
Figure 5.14 is a “as is” figure, showing the queue delay time of isochronous data
stream one with unit packet. The y-axis is the queue delay time of isochronous stream one in
simulation.
91
Figure 5.11. Average queue delay time of asynchronous stream in situation 1.
Figure 5.12. Queue size of isochronous stream one in situation 1.
92
Figure 5.13. Average queue size of isochronous stream one in situation 1.
Figure 5.14. Queue delay time of isochronous stream in situation 1.
93
Figure 5.15 is a “time average” figure, showing the average queue delay time of
isochronous stream one. The y-axis is the queue delay time of isochronous stream one
averaged by time.
Figure 5.15. Average queue delay time of isochronous stream one in situation 1.
Figure 5.16 is a “as is” figure, showing the queue size of isochronous stream two with
unit packet. The y-axis is the size of queue of isochronous stream two in simulation.
Figure 5.17 is a “time average” figure, showing the average queue size of isochronous
stream two. The y-axis is the size of queue of isochronous stream two averaged by time.
Figure 5.18 is a “as is” figure, showing the queue delay time of isochronous stream
two with unit packet. The y-axis is the queue delay time of isochronous stream two in
simulation.
Figure 5.19 is a “time average” figure, showing the average queue delay of
isochronous stream two. The y-axis is the queue delay time of isochronous stream two
averaged by time. From Figure 5.8 to Figure 5.19, it can be seen that proposed protocol can
efficiently send packets with given coming packet rate and parameters settings.
94
Figure 5.16. Queue size of isochronous stream two in simulation 1
Figure 5.17. Average queue size of isochronous stream two in situation 1.
95
Figure 5.18. Queue delay time of isochronous stream two in situation 1.
Figure 5.19. Average queue delay time of isochronous stream two in situation 1.
96
5.3 SITUATION 2
Besides the parameters in chapter 3, other parameters are provided in the following.
One asynchronous data stream with constant coming rate
Two isochronous data streams with constant coming rate
Average interarrival time for asynchronous stream: 0.01s
Average packet size for asynchronous stream: 10000 bits
Average interarrival time for isochronous stream one: 0.001s
Average packet size for isochronous stream one: 1000 bits
Average interarrival time for isochronous stream two: 0.01s
Average packet size for isochronous stream two: 1000 bits
MAPCYCLE: 26688µs, with which we can have equal efficiency in the proposed MAC protocol and 802.11 MAC protocol in those hypotheses conditions
Nine mobile stations
5.3.1 Data collection for base station
Figure 5.20 is a “as is” figure, showing the number of map packets broadcasted out
from base station. The y-axis is the number of map packets with unit of packets.
Figure 5.20. Map packet broadcasted from base station in situation 2.
97
Figure 5.21is a “as is” figure, showing the number of reservation packets coming
from all mobile stations. The y-axis is the number of reservation packets with unit of packets.
Because the base station broadcasts one map packet and receives one reservation packet from
each mobile station in each MAPCYCLE and there are 9 mobile stations, the number of
reservation packets is 9 times of the number of map packet shown in Figure 5.20.
Figure 5.21. Reservation packet received by base station in situation 2.
Figure 5.22 is a “as is” figure, showing the life time of reservation packets received
by base station. The y-axis is the life time of isochronous packets got at that simulation time
with unit second. Since reservation packets are generated by 9 different mobile stations and
always wait for its time duration to transmit, the “as is” life time figure will also vary in a
large range.
Figure 5.23 is a “time average” figure, showing the average life time of reservation
packets received by base station. The y-axis is the life time of the packet averaged by time.
From this figure, the average life time of reservation packets can be seen.
There are 9 identical mobile stations in this project. One mobile station is chosen to
see the data collection result in simulation.
98
Figure 5.22. “as is” life time of reservation packets received by base station in situation 2.
Figure 5.23. Average life time of reservation packets received by base station in situation 2.
99
5.3.2 Data collection for mobile station
Figure 5.24 is a “as is” figure, showing the number of asynchronous packets sent out
by this mobile station. The y-axis is the number of asynchronous packet sent out by this
mobile station with unit packets.
Figure 5.24. The number of asynchronous data sent out by one mobile station in situation 2.
Figure 5.25 is a “as is” figure, showing the number of isochronous packets sent out by
this mobile station. The y-axis is the number of isochronous packet sent out by this mobile
station with unit packets.
Figure 5.26 is a “as is” figure, showing the number of reservation packets sent out by
this mobile station. The y-axis is the number of reservation packet sent out by this mobile
station with unit packets. The number of reservation packets sent out by one mobile station is
equal to the number of map packets broadcasted by base station.
As discussed in Chapter 4, there is a queue in each mobile station for asynchronous
data to wait until its transmission time. Figure 5.27 is a “as is” figure, showing the queue size
of asynchronous data stream with unit packet. The y-axis is the size of queue of
asynchronous stream at that time when simulation.
100
Figure 5.25. The number of isochronous data sent out by one mobile station in situation 2.
Figure 5.26. The number of reservation data sent out by one mobile station in situation 2.
101
Figure 5.27. Queue size of asynchronous stream in situation 2.
Figure 5.28 is a “time average” figure, showing the average queue size of
asynchronous stream. The y-axis is the size of queue of asynchronous stream averaged by
time.
Figure 5.29 is a “as is” figure, showing the queue delay time of asynchronous stream
with unit packet. The y-axis is the queue delay time of asynchronous stream at that time
when simulation.
Figure 5.30 is a “time average” figure, showing the average queue delay time of
asynchronous stream. The y-axis is the queue delay time of asynchronous stream averaged by
time.
As discussed in Chapter 4, there is a queue in each mobile station for each
isochronous data to wait until its transmission time. Figure 5.31 is a “as is” figure, showing
the queue size of isochronous data stream one with unit packet. The y-axis is the size of
queue of isochronous stream one in simulation.
Figure 5.32 is a “time average” figure, showing the average queue size of isochronous
stream one. The y-axis is the size of queue of isochronous stream one averaged by time.
102
Figure 5.28. Average queue size of asynchronous stream in situation 2.
Figure 5.29. Queue delay time of asynchronous stream in situation 2
103
Figure 5.30. Average queue delay time of asynchronous stream in situation 2.
Figure 5.31. Queue size of isochronous stream one in situation 2.
104
Figure 5.32. Average queue size of isochronous stream one in situation 2.
Figure 5.33 is a “as is” figure, showing the queue delay time of isochronous data
stream one with unit packet. The y-axis is the queue delay time of isochronous stream in
simulation.
Figure 5.34 is a “time average” figure, showing the average queue delay time of
isochronous stream one. The y-axis is the queue delay time of isochronous stream one
averaged by time.
Figure 5.35 is a “as is” figure, showing the queue size of isochronous stream two with
unit packet. The y-axis is the size of queue of isochronous stream in simulation.
Figure 5.36 is a “time average” figure, showing the average queue size of isochronous
stream two. The y-axis is the size of queue of isochronous stream two averaged by time.
Figure 5.37 is a “as is” figure, showing the queue delay time of isochronous stream
two with unit packet. The y-axis is the queue delay time of isochronous stream two in
simulation.
Figure 5.38 is a “time average” figure, showing the average queue delay of
isochronous stream two. The y-axis is the queue delay time of isochronous stream two
averaged by time. From Figure 5.27 to Figure 5.38, it can be seen that proposed protocol can
efficiently send packets with given coming packet rate and parameters settings.
105
Figure 5.33. Queue delay time of isochronous stream in situation 2.
Figure 5.34. Average queue delay time of isochronous stream one in situation 2.
106
Figure 5.35. Queue size of isochronous stream two in situation 2.
Figure 5.36. Average queue size of isochronous stream two in situation 2.
107
Figure 5.37. Queue delay time of isochronous stream two in situation 2.
Figure 5.38 Average queue delay time of isochronous stream two in situation 2.
108
5.4 SITUATION 3
In situation 1 with 10000µs MAPCYCLE and asynchronous coming rate
10000µs/packet, asynchronous data comes one packet per MAPCYCLE. In situation 2 with
26688µs MAPCYCLE and asynchronous coming rate 10000µs/packet, asynchronous data
comes more than 2 packets per MAPCYCLE. Now let’s see what the queue size and queue
delay time will be, if there is isochronous data coming less than one packet per MAPCYCLE.
Besides the parameters we gave in chapter 3, other parameters are provided of
situation 3 in the following.
One asynchronous data stream with constant coming rate
Two isochronous data streams with constant coming rate
Average interarrival time for asynchronous stream: 0.1s
Average packet size for asynchronous stream: 10000 bits
Average interarrival time for isochronous stream one: 0.001s
Average packet size for isochronous stream one: 1000 bits
Average interarrival time for isochronous stream two: 0.01s
Average packet size for isochronous stream two: 1000 bits
MAPCYCLE: 10000µs
Nine mobile stations
Here, those figures related to asynchronous data are only shown, because other data
collections are the same. There are 9 identical mobile stations in this project. One mobile
station is chosen to see the data collection result of simulation.
Figure 5.39 is a “as is” figure, showing the queue size of asynchronous data stream
with unit packet. The y-axis is the size of queue of asynchronous stream at that time when
simulation.
Figure 5.40 is a “time average” figure, showing the average queue size of
asynchronous stream. The y-axis is the size of queue of asynchronous stream averaged by
time.
Figure 5.41 is a “as is” figure, showing the queue delay time of asynchronous stream
with unit packet. The y-axis is the queue delay time of asynchronous stream in simulation.
Figure 5.42 is a “time average” figure, showing the average queue delay time of
109
Figure 5.39. Queue size of asynchronous stream in situation 3.
Figure 5.40. Average queue size of asynchronous stream in situation 3.
110
Figure 5.41. Queue delay time of asynchronous stream in situation 3.
Figure 5.42. Average queue delay time of asynchronous stream in situation 3.
111
asynchronous stream. The y-axis is the queue delay time of asynchronous stream averaged by
time. From Figure 5.39 to Figure 5.42, it can be seen that proposed protocol can efficiently
send packets with given coming packet rate and parameters settings. In all these 3 given
situations, proposed protocol can efficiently process coming packets without severe delay.
112
CHAPTER 6
CONCLUSION
6.1 HYPOTHESIS CONCLUSION
802.11 DCF mode MAC protocol only provides asynchronous service. Therefore,
asynchronous data are only used, when compare 802.11 MAC protocol with the proposed
MAC protocol. To simplify the analysis, some hypotheses are set up to analysis some
extreme situation. For 802.11 MAC protocol, the best hypotheses are given. Therefore, in
any other condition, there cannot be better result than in this hypothesis. For the propose
MAC protocol, the worst hypotheses are given. Hence, in any other condition, there cannot
be worse result than in this hypothesis.
For 802.11 MAC protocol, 1500 byte packets are assumed. This is the largest possible
packet size from upper layer to MAC layer. It is also supposed that we have the maximum
number of nodes and time for each node is evenly distributed. One more thing is that it is
supposed that collision is zero firstly.
For the proposed MAC protocol, it is supposed that there are large packets, 1500
bytes, coming from upper layer to MAC layer. It is also supposed that there are the largest
reservation packets for each node and the maximum number of node.
Under such hypotheses, as analyzed in chapter 3, when MAPCYCLE is 26688 µs,
both MAC protocol have the same efficiency. When MAPCYCLE is larger than 26688µs,
the proposed MAC protocol has higher efficiency. When MAPCYCLE is shorter than
26688µs, 802.11 MAC protocol has higher efficiency. It’s impossible to have zero collision
possibility, so 802.11 will have lower efficiency in reality than in this hypotheses analysis.
Therefore, there is high possibility to have higher efficiency for the proposed MAC protocol.
6.2 ISOCHRONOUS SERVICE
DCF mode 802.11 MAC protocol doesn’t have isochronous service. In the proposed
MAC protocol, there are asynchronous service and isochronous service at the same time.
With the proposed MAC protocol, each node can have up to 5 streams of isochronous data.
113
Once a stream of isochronous data is set up, it can be transmitted at the same time duration in
each MAPCYCLE without reservation. Isochronous data time durations can be adjusted to be
longer, shorter or shut down by reservation. By this way, service quality of real time data
streams can be guaranteed. From OPNET simulation, it can be seen that queue size and
queue delay time for both asynchronous data stream and isochronous data stream is small
with MAPCYCLE no more than 26688µs. Both protocols have the same efficiency in those
hypotheses at MAPCYCLE 26688µs.
6.3 RECOMMENDATIONS FOR FUTURE WORK
The proposed MAC layer management protocol is proved to be more efficient under
some situation and can provide isochronous service than 802.11 MAC protocol. However,
reservation mechanism still takes up lots of time durations in each MAPCYCLE. In future
research, it can be considered to reduce time occupied by reservation, such as using OFDMA
instead of OFDM when sending reservation packets. By OFDMA, mobile nodes can send
reservation packets at the same time instead of one at a time, because OFDMA can let each
mobile station use only a few frequency channels instead of all frequency channels like
OFDM.
114
REFERENCES
[1] ANDREW S. TANENBAUM, Computer Networks, Prentice Hall, Upper Saddle River, New Jersey, 2007
[2] WENBO WANG, CAN ZHENG, Broadband Wireless Communication OFDM Technique, Posts and Telecom Press, Beijing, China, 2003
[3] JUHA HEISKALA, JOHN TERRY, OFDM Wireless LANs- a Theoretical and Practical Guide, Pearson Education, Upper saddle river, New Jersey, 2001
[4] HUI LIU, GUOQING LI, OFDM-based Broadband Wireless Networks Design And Optimization, Posts and Telecom Press, Beijing, China, 2005
[5] DHARMA P. AGRAWAL, QINGAN ZENG, Introduction To Wireless And Mobile Systems, Bill Stenquist, Ontario, Canada, 2006
[6] F.J. MACWILLIAMS AND N.J.A. SLOANE, The Theory Of error correcting codes, North Holland Publishing Co., Amsterdam, New York, 1977
[7] HACCOUN D. AND BEGIN G., High rate punctured convolutional codes for Viterbi and sequential decoding, IEEE Trans. Comm., 37, (1989), pp 1113-1125.
[8] THEODORE S. RAPPAPORT, Wireless Communications Principles And Practice, Prentice Hall, Upper Saddle River, New Jersey, 2002
[9] JOHN G. PROAKIS, Digital Communications, McGraw-Hill, Burr Ridge, Illinois, 2001
[10] CHANG R. W., Synthesis of band limited orthogonal signals for multichannel data transmission, Bell Syst. Tech. J., 45, (1996), pp. 1775-1796.
[11] SALZBERG B. R., Performance of an efficient parallel data transmission system, IEEE Trans. Comm., COM-15 (1976), pp. 805-813.
[12] BEHROUZ A. FOROUZAN, SOPHIA C. FEGAN, TCP/IP Protocol Suite, McGraw-Hill, Burr Ridge, Illinois, 2003
[13] Y. XIAO, IEEE 802.11 performance enhancement via concatenation and piggyback mechanisms, IEEE Transactions on Wireless Comm., 4(5), (2005), pp. 2182- 2192.
[14] C. LIU AND A. P. STEPHENS, An analytic model for infrastructure WLAN capacity with bidirectional frame aggregation, Proc. IEEE WCNC'05, 2005, pp. 113-119.
[15] Y. XIAO, IEEE 802.11n: enhancements for higher throughput in wireless LANs, IEEE wireless Comm., 12(6), (2005), pp. 398-412.
[16] L. X. CAI, X. SHEN, J. W. MARK, L. CAI, AND Y. XIAO, Voice capacity analysis of WLAN with unbalanced traffic, IEEE Trans. Veh. Technol., 55(3), 2006, pp.752- 761.