Sie sind auf Seite 1von 261

ADAPTIVE PROTOCOL SUITE FOR

WIRELESS SENSOR AND AD HOC


NETWORKS
By
Bao Hua (Michael) Liu
SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
AT
THE UNIVERSITY OF NEW SOUTH WALES
SYDNEY, AUSTRALIA
SEPTEMBER 2005
c _ Copyright by Bao Hua (Michael) Liu, 2005
THE UNIVERSITY OF NEW SOUTH WALES
SCHOOL OF COMPUTER SCIENCE AND ENGINEERING
The undersigned hereby certify that they have read and recommend
to the Faculty of Engineering for acceptance a thesis entitled Adaptive
Protocol Suite for Wireless Sensor and Ad Hoc Networks
by Bao Hua (Michael) Liu in partial fulllment of the requirements
for the degree of Doctor of Philosophy.
Dated: September 2005
External Examiner:
Name of the examiner
Research Supervisors:
Sanjay Jha
Chun Tung Chou
Examining Committee:
Name of the examiner
Name of the examiner
ii
THE UNIVERSITY OF NEW SOUTH WALES
Date: September 2005
Author: Bao Hua (Michael) Liu
Title: Adaptive Protocol Suite for Wireless Sensor and
Ad Hoc Networks
Department: School of Computer Science and Engineering
Degree: Ph.D. Convocation: September Year: 2005
Permission is herewith granted to The University of New South Wales
to circulate and to have copied for non-commercial purposes, at its discretion,
the above title upon the request of individuals or institutions.
Signature of Author
THE AUTHOR RESERVES OTHER PUBLICATION RIGHTS, AND
NEITHER THE THESIS NOR EXTENSIVE EXTRACTS FROM IT MAY
BE PRINTED OR OTHERWISE REPRODUCED WITHOUT THE AUTHORS
WRITTEN PERMISSION.
THE AUTHOR ATTESTS THAT PERMISSION HAS BEEN OBTAINED
FOR THE USE OF ANY COPYRIGHTED MATERIAL APPEARING IN THIS
THESIS (OTHER THAN BRIEF EXCERPTS REQUIRING ONLY PROPER
ACKNOWLEDGEMENT IN SCHOLARLY WRITING) AND THAT ALL SUCH USE
IS CLEARLY ACKNOWLEDGED.
iii
To my wife Yue and son Hao Ming
iv
Table of Contents
Table of Contents v
List of Tables ix
List of Figures x
Abstract xiv
Acronyms xvi
Acknowledgements xix
I Introduction and Literature Review 1
1 Introduction 2
1.1 Wireless Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Wireless Ad Hoc Networks . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Wireless Sensor Networks . . . . . . . . . . . . . . . . . . . . 7
1.2 Contributions of this Dissertation . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Sensor Network Related Contributions . . . . . . . . . . . . . 14
1.2.2 Ad Hoc Network Related Contributions . . . . . . . . . . . . . 16
1.3 Dissertation Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Background and Related Work 18
2.1 Multiple Access Techniques for Wireless Communications . . . . . . . 19
2.1.1 Frequency Division Multiple Access (FDMA) . . . . . . . . . . 19
2.1.2 Time Division Multiple Access (TDMA) . . . . . . . . . . . . 19
2.1.3 Spread Spectrum Multiple Access (SSMA) . . . . . . . . . . . 20
2.1.4 Random Multiple Access . . . . . . . . . . . . . . . . . . . . . 26
v
2.2 MAC Protocols for Wireless Ad Hoc and Sensor Networks . . . . . . 26
2.2.1 IEEE 802.11 Standard and Bluetooth . . . . . . . . . . . . . . 27
2.2.2 MAC Protocols for Sensor Networks . . . . . . . . . . . . . . 29
2.2.3 Spread Spectrum in MAC Design for Wireless Ad Hoc and Sen-
sor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Multi-Channel Design in Ad Hoc Networks . . . . . . . . . . . . . . . 33
2.4 Routing Protocols for Ad Hoc and Sensor Networks . . . . . . . . . . 35
2.5 Topology Control and Energy Ecient Protocols for Ad Hoc and Sen-
sor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.6 Channel Allocation Protocols for Ad Hoc Networks . . . . . . . . . . 38
2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
II A Novel Multi-Channel MAC Protocol for DS-CDMA
Wireless Sensor Networks 40
3 CSMAC: A Novel Multi-Channel MAC Protocol for DS-CDMA
Wireless Sensor Networks 41
3.1 Introduction and Motivation . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 The Multiple Access Interference (MAI) of DS-CDMA System . . . . 46
3.3 The Proposed Architecture . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . 51
3.4 Hardware Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.5 Radio Spectrum Resources and the Possibility of Using Frequency Di-
vision in Wireless Sensor Networks . . . . . . . . . . . . . . . . . . . 61
3.6 Broadcasting Trac . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.7 Idle Energy Consumption . . . . . . . . . . . . . . . . . . . . . . . . 64
3.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4 Mathematical Modeling of Multiple Access Interference 67
4.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2 The Distribution of Interference Power . . . . . . . . . . . . . . . . . 68
4.3 Expected Value of MAI at a Given Node . . . . . . . . . . . . . . . . 74
4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5 Network Formation 80
5.1 Location Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Topology Formation . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3 Channel Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
vi
5.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6 Distributed Channel Allocation Protocol 86
6.1 Distributed Channel Allocation Algorithm . . . . . . . . . . . . . . . 87
6.2 Dierent Colouring Patterns . . . . . . . . . . . . . . . . . . . . . . . 91
6.3 Frequency Assignment and Code Assignment . . . . . . . . . . . . . . 94
6.4 Random Channel Assignment . . . . . . . . . . . . . . . . . . . . . . 96
6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7 Simulation and Analysis of CSMAC 99
7.1 General Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . 100
7.1.1 Radio Propagation and Energy Dissipation Model . . . . . . . 100
7.1.2 MAI Threshold and Capture Threshold . . . . . . . . . . . . . 103
7.1.3 Simulation Parameters . . . . . . . . . . . . . . . . . . . . . . 104
7.2 Evaluation of Channel Allocation Protocol . . . . . . . . . . . . . . . 107
7.3 Comparison of Broadcasting Schemes . . . . . . . . . . . . . . . . . . 111
7.3.1 Delivery Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3.2 Delivery Time . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3.3 Energy consumption . . . . . . . . . . . . . . . . . . . . . . . 119
7.4 One-Hop Performance Comparison . . . . . . . . . . . . . . . . . . . 122
7.4.1 Packet Delivery Ratio . . . . . . . . . . . . . . . . . . . . . . 124
7.4.2 Network Throughput . . . . . . . . . . . . . . . . . . . . . . . 127
7.4.3 System Eciency . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.4.4 One-Hop Latency . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.4.5 Network Energy Consumption . . . . . . . . . . . . . . . . . . 136
7.5 Multiple Hop Performance Comparison . . . . . . . . . . . . . . . . . 141
7.5.1 Packet Delivery Ratio . . . . . . . . . . . . . . . . . . . . . . 142
7.5.2 Multiple Hop Latency . . . . . . . . . . . . . . . . . . . . . . 144
7.5.3 Network Energy Consumption . . . . . . . . . . . . . . . . . . 146
7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
III An Energy Ecient Neighbour Selection Protocol for
Wireless Ad Hoc Networks 150
8 SON: An Energy Ecient Neighbour Selection Protocol for Wireless
Ad Hoc Networks 151
8.1 Introduction and Motivation . . . . . . . . . . . . . . . . . . . . . . . 151
8.2 The Proposed Algorithm and Protocol Design . . . . . . . . . . . . . 153
vii
8.2.1 Location Broadcast . . . . . . . . . . . . . . . . . . . . . . . . 155
8.2.2 Power Allocation Table Broadcast . . . . . . . . . . . . . . . . 156
8.2.3 Select Optimal Neighbour (SON) . . . . . . . . . . . . . . . . 157
8.2.4 Symmetrisation . . . . . . . . . . . . . . . . . . . . . . . . . . 164
8.2.5 The Need to Adjust Transmission Power . . . . . . . . . . . . 165
8.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
9 Simulation and Analysis of SON 169
9.1 Simulations Using Constant Electronic Power . . . . . . . . . . . . . 169
9.2 Simulations with Dierent Electronic Power . . . . . . . . . . . . . . 179
9.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
IV Concluding Remarks and Future Work 187
10 Conclusion and Future Work 188
10.1 CSMAC for Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . 188
10.2 SON for Ad Hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . 189
10.3 Future Research Directions . . . . . . . . . . . . . . . . . . . . . . . . 191
10.3.1 Improve CSMAC Protocol to be Compatible with a Heteroge-
nous System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.3.2 Hardware Implementation and Evaluation of CSMAC Protocol 192
10.3.3 CSMAC Performance Evaluation with Dierent Topology Con-
trol Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.3.4 Cross-Layer Design . . . . . . . . . . . . . . . . . . . . . . . . 193
10.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
V Appendix 195
A Channel Assignments for A Network Topology 196
Bibliography 227
viii
List of Tables
7.1 Parameters used in simulations. . . . . . . . . . . . . . . . . . . . . . 105
7.2 The average value and standard deviation for delivery ratio (%). . . . 117
7.3 The average value and standard deviation for delivery time (s). . . . . 117
7.4 The average value and standard deviation for energy consumption (mJ).121
9.1 Parameters used in simulations. . . . . . . . . . . . . . . . . . . . . . 170
ix
List of Figures
1.1 Wireless Networks: Taxonomy. . . . . . . . . . . . . . . . . . . . . . 4
1.2 The components of a sensor node. . . . . . . . . . . . . . . . . . . . . 8
1.3 Cane toad infestation in Kakadu National Park and northern Australia. 13
2.1 FDMA scheme where dierent channels are assigned dierent frequency
bands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 TDMA scheme where dierent channels are assigned dierent cyclically
repeating time slot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 SSMA scheme in which each channel is assigned a unique PN code
which is orthogonal or approximately orthogonal to PN codes employed
by others. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Time/frequency occupancy of frequency hopped system. . . . . . . . . 23
3.1 Example showing the CDMA MAI and near-far problem. . . . . . . . 49
3.2 Frequency allocation pattern vertex colouring. . . . . . . . . . . . . 52
3.3 Node based PN code allocation pattern. . . . . . . . . . . . . . . . . . 53
3.4 Link based PN code allocation pattern. . . . . . . . . . . . . . . . . . 54
3.5 (a) Block diagram of Chipcon CC2420 transceiver. (b) Block diagram
of our transceiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6 (a) Parallel processing. (b) Serial processing. . . . . . . . . . . . . . . 60
4.1 Interference model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 The relationship between the transmission power x
ij
and y. . . . . . . 72
x
4.3 Mean MAI versus number of frequency channels. . . . . . . . . . . . . 77
4.4 Mean MAI versus node transmission probability. . . . . . . . . . . . . 78
5.1 Network formation phases. . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 The probability for a successful delivery with dierent number of con-
tending nodes. Where in (a) h = 20, (b) h = 30, (c) h = 40, (d) h =
50. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.1 Frequency allocation pattern vertex colouring. . . . . . . . . . . . . 87
6.2 Dierent colouring patterns. . . . . . . . . . . . . . . . . . . . . . . . 92
7.1 Radio energy dissipation model . . . . . . . . . . . . . . . . . . . . . 102
7.2 Distribution of number of channels required with 10000 randomly uni-
formly distributed network topologies with node degree = 6. . . . . . 108
7.3 Distribution of number of channels required with 10000 randomly uni-
formly distributed network topologies with node degree = 9. . . . . . 109
7.4 Delivery ratio comparison with blind ooding. . . . . . . . . . . . . . 115
7.5 Delivery ratio comparison with optimised ooding. . . . . . . . . . . . 116
7.6 Delivery time comparison with blind ooding. . . . . . . . . . . . . . . 118
7.7 Delivery time comparison with optimised ooding. . . . . . . . . . . . 119
7.8 Energy consumption comparison with blind ooding. . . . . . . . . . . 120
7.9 Energy consumption comparison with optimised ooding. . . . . . . . 121
7.10 Delivery ratio comparison with lower packet generation rate. . . . . . 125
7.11 Delivery ratio comparison with higher packet generation rate. . . . . . 126
7.12 Average delivery ratio comparison with dierent packet generation rate. 127
7.13 Network throughput comparison with lower packet generation rate. . . 128
7.14 Network throughput comparison with higher packet generation rate. . . 129
7.15 Average network throughput comparison with dierent packet genera-
tion rate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.16 System eciency comparison over dierent packet delivery ratio. . . . 131
7.17 Average one hop latency comparison with lower packet generation rate. 133
xi
7.18 Average one hop latency comparison with higher packet generation rate. 134
7.19 Average one hop latency comparison with dierent packet generation
rate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.20 Network communication energy consumption comparison with lower
packet generation rate. . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.21 Network communication energy consumption comparison with higher
packet generation rate. . . . . . . . . . . . . . . . . . . . . . . . . . . 139
7.22 Average network communication energy consumption comparison with
dierent packet generation rate. . . . . . . . . . . . . . . . . . . . . . 140
7.23 Multiple hop delivery ratio comparison. . . . . . . . . . . . . . . . . . 142
7.24 Average multiple hop delivery ratio comparison over dierent number
of sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.25 Multiple hop latency comparison. . . . . . . . . . . . . . . . . . . . . 144
7.26 Average multiple hop latency comparison over dierent number of sources.145
7.27 Multiple hop network communication energy consumption comparison. 147
7.28 Average multiple hop network communication energy consumption com-
parison over dierent number of sources. . . . . . . . . . . . . . . . . 148
8.1 Proposed algorithm phases . . . . . . . . . . . . . . . . . . . . . . . . 154
8.2 A PAT after Location Broadcast. . . . . . . . . . . . . . . . . . . . . 156
8.3 A PAT after PAT Broadcast . . . . . . . . . . . . . . . . . . . . . . . 157
8.4 An SON example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.5 Negative eect without adjusting transmission power . . . . . . . . . . 167
9.1 Network topology before SON. . . . . . . . . . . . . . . . . . . . . . . 171
9.2 Network topology after SCON. . . . . . . . . . . . . . . . . . . . . . . 172
9.3 Network topology after SEEON. . . . . . . . . . . . . . . . . . . . . . 173
9.4 The number of neighbours of each node. . . . . . . . . . . . . . . . . . 174
9.5 Average radio power to communicate with neighbours. . . . . . . . . . 175
9.6 Broadcast radio power of each node. . . . . . . . . . . . . . . . . . . . 176
xii
9.7 DSDV energy consumption. . . . . . . . . . . . . . . . . . . . . . . . 178
9.8 Average energy consumption per node for data transmission. . . . . . 179
9.9 Average numbers of neighbours under dierent r values. . . . . . . . . 181
9.10 DSDV energy consumption under dierent r values. . . . . . . . . . . 182
9.11 Average energy consumption under dierent r values. . . . . . . . . . 183
9.12 Energy saving rate compared with 802.11 with dierent r values. . . . 185
9.13 Number of hops from source to sink with dierent r values. . . . . . . 186
xiii
Abstract
Continuing advances in wireless communications and MEMS (Micro-Electro Mechan-
ical Systems) technologies have fostered the construction of a wide variety of sensor
and ad hoc networks. These networks have broad applications spanning wide ar-
eas, such as environmental monitoring, infrastructure maintenance, trac manage-
ment, energy management, disaster mitigation, personal medical monitoring, smart
building, as well as military and defence. While these applications require high per-
formance from the network, they suer from resource constraints (such as limited
battery power, processing capability, buer space, etc.) that do not appear in tra-
ditional wired networks. The inherent infrastructure-less characteristic of the sensor
and ad hoc networks creates signicant challenges. This dissertation addresses these
challenges with two protocol designs.
The main contributions of this dissertation are the design and evaluation of CS-
MAC (stands for CDMA Sensor MAC), a novel multi-channel media access control
(MAC) protocol for direct sequence code division multiple access (DS-CDMA) wire-
less sensor networks. Our protocol design uses combination of DS-CDMA and fre-
quency division to reduce the channel interference and consequently improves system
capacity and network throughput. We provide theoretical characterisation of the
mean multiple access interference (MAI) at a given node in relation to the number of
xiv
xv
frequency channels. We show that by using only a small number of frequency chan-
nels, the mean MAI can be reduced signicantly. Through discrete event simulation
(using UC Berkerly NS-2 simulator), we provide comparison of our proposed system
to a pure DS-CDMA system as well as a contention based system. Simulation results
reveal that our proposed system can achieve signicant improvement in system e-
ciency (measured in packet/second/channel ) of a contention based system. When the
same number of packets are transmitted in the network, our system consumes much
less communication energy compared to the contention based system.
A distributed channel allocation protocol is also proposed for the network forma-
tion phase. We prove that our algorithm converges with correct channel assignments.
Simulation results reveal that a much smaller number of channels is required than
theoretical value when nodes are uniformly randomly deployed.
The second contribution of this dissertation involves the design and evaluation of
two location-aware select optimal neighbour (SON) algorithms for CSMA/CA based
MAC protocol for wireless ad hoc networks. Both algorithms concentrate on the
improvement of energy eciency of the whole network through the optimisation of
the number of neighbours of each node. Our algorithms not only consider radio
electronic energy consumption (e.g., coding, decoding) and radio transmission energy
consumption (e.g., power amplier), but also the electronic energy consumption at
those irrelevant receivers (those who are not addressed by the transmission) that
are located within the transmission range. Through simulations, we show that our
algorithms can achieve signicant energy savings compared to the standard IEEE
802.11.
Acronyms
ACK Acknowledge
ADC Analogue-to-digital converter
AGC Automatic gain control
AODV Ad hoc on-demand distance vector routing
CDMA Code division multiple access
CSMAC CDMA Sensor MAC
CSMA/CA Carrier sense multiple access/collision avoidance
CTS Clear-to-send
DAC Digital-to-analogue converter
DCF Distributed coordination function
DS-CDMA Direct sequence code division multiple access
DSDV Destination sequenced distance vector routing
DSMA Directed sequence multiple access
xvi
xvii
DSR Dynamic source routing
DSSS Direct sequence spread spectrum
FDMA Frequency division multiple access
FHMA Frequency hopped multiple access
GPS Global Positioning System
ISM Industrial, scientic, and medical
LAN Local area network
LNA Low noise amplier
LEACH Low-energy adaptive clustering hierarchy
MAC Media access control
MAI Multiple access interference
MANET Mobile ad hoc network
MEMS Micro-electro mechanical systems
MUCAST Multiple unicast
NS-2 Network simulator
PA Power amplier
PAT Power allocation table
PN Pseudo noise
xviii
QoS Quality of service
RAND Random channel allocation
RF Radio frequency
RTS Request-to-send
SDR Software dened radio
SCON Select closest optimum neighbour
SEEON Select energy ecient optimum neighbour
SINR Signal to interference noise ratio
SMAC Sensor MAC
SMACS Self-organising Media Access Control for Sensor Networks
SON Select optimum neighbour
SPIN Sensor protocols for information via negotiation
SSMA Spread spectrum multiple access
TDMA Time division multiple access
TORA Temporally ordered routing algorithm
WLAN Wireless LAN
WSAN Wireless sensor and actor network
WSN Wireless sensor network
Acknowledgements
It has been an incredible experience to pursue my Ph.D. in the Network Research
Laboratory (NRL), School of Computer Science and Engineering (CSE), University
of New South Wales (UNSW). I learned a lot both from a professional as well as a
personal angle, and I am still learning!
I would like to begin by thanking Associate Professor Sanjay Jha, who has been
my advisor and mentor for the past three and half years. I knew Sanjay much earlier
during my study towards a Masters degree in the same school. Sanjay has been a
wonderful advisor, providing me support, encouragement, and always valuable advices
during my Ph.D. experience. His enthusiasm for research and his vision for the future
have been an inspiration. I thank him for the time he spent with me, discussing
everything from research to career choices, and led me to this vibrant and challenging
research eld for wireless ad hoc and sensor networks. His assistance during my time
at UNSW has been invaluable. I would also like to thank Dr. Chun Tung Chou,
who advised me in my nal year as a joint-supervisor. I knew Dr. Chou from CRC
meeting since the year 2003 when he was still working at University of Wollongong
and I have had communications with him since then. Dr. Chou has very strong
modelling background and is full of ideas. I thank him for the time he spent with
me in reading and discussing my papers. His always critical attitude guaranteed the
xix
xx
quality of my publications. I would also like to express special thanks to Dr. Pradeep
Ray, School of Information Systems Technology and Management, University of New
South Wales. Pradeep provided me crucial support during the earlier stage of my
Ph.D. candidature as a joint-supervisor. We could not continue this collaboration
due to change in my research direction.
I would like to thank Dr. Nirupama Bulusu (now at the Portland State University,
USA) for providing many valuable comments during the earlier stage of the design of
CSMAC protocol when she was working with the National ICT Australia (NICTA).
I also thank Dr. Huan Pham, who is now working in the AT&T (Australia). Huan
has a strong electrical engineering background and we had very good time when he
was working in the NRL. I thank Dr. Justin Lipman, who is now working in Alcatel
Shanghai Bell, China. Justin spent a lot of time with me in discussing my ideas,
proposals, and papers. I thank Yang Gao, who was a Master by Research student
working with me in the year 2004 and now is also a Ph.D. candidate in NRL. Yang
was involved in the design of SON protocol and conducted most of the simulation
experiments in Chapter 9. I thank Siu-Chuang Lu from UNSW for his help on
hardware issues.
While at NRL, I had the privilege of interacting with wonderful, bright, and
talented people. Their advices, feedback, and friendship made my Ph.D. experience
both more educational and fun: Jim Wu, Wen Hu, Fariza Sabrina, William Lau,
Albert Chung, Filip Rosenbaum, Monir Hossain, Jahan Hassan, Alfandika Nyandoro,
Shaleeza Sohail, Adeel Baig, and all the members in NRL. I would like to thank you
all!
I gratefully acknowledge the partial scholarship support from the Smart Internet
xxi
Technology Cooperative Research Center (SITCRC).
Finally, this work would not have been possible without the support of my family.
I thank my wife Yue and son Hao Ming for their understanding and tolerance of my
long and crazy schedules.
Bao Hua (Michael) Liu
May, 2005
Part I
Introduction and Literature
Review
1
Chapter 1
Introduction
Mark Weiser envisioned his view of ubiquitous computing, now also called pervasive
computing, in his pioneer paper The Computer for the 21st Century [1] in the early
1990s. The essence of his vision was the creation of an environment saturated with
computing and communication capability, yet gracefully integrated with human users
[2]. In his paper, Mark Weiser wrote:
The most profound technologies are those that disappear. They weave
themselves into the fabric of everyday life until they are indistinguishable
from it.
Although ubiquitous computing still falls short of Mark Weisers walk in the woods,
advances in hardware, software, and networking over the past 12 years have brought
his vision close to technical and economic viability [3].
The interest in distributed wireless sensor networks in academia and industry from
the late 1990s is one of the most exciting and specic instance of ubiquitous comput-
ing eort. The advances in wireless communications and Micro-Electro Mechanical
Systems (MEMS) technologies have enabled the construction of a wide variety of
wireless sensor/actuator devices that are small in size. These devices consist of one
2
3
or more integrated sensing units, embedded microprocessors, low-power communica-
tion radios, on-board energy, with location awareness and organised in an ad hoc
multi-hop network. Besides sensor networks, the proliferation of inexpensive, widely
available wireless devices and the network communitys interest in mobile computing
have fostered the rapid expansion of wireless ad hoc networks.
Many future applications will increasingly depend on embedded wireless sensor
and ad hoc networks, such as environmental monitoring, infrastructure maintenance,
trac management, energy management, disaster mitigation, personal medical moni-
toring, smart building, as well as military and defence. These broad application areas
for wireless sensor and ad hoc networks will create a huge market in the foreseeable
future. According to Business Communications Company, Inc., a market research
rm, the U.S. market for industrial sensors will reach $7.6 billion by the year 2009
[15].
In this chapter, we rst provide a brief review of the wireless networks, wireless
ad hoc networks, and wireless sensor networks. We will focus on the challenges and
open issues for the sensor and ad hoc networks. We then describe the contributions
of this dissertation.
1.1 Wireless Networks
Wireless networks can be broadly classied into two categories: infrastructure-based
and infrastructure-less as shown in Figure 1.1 [9]. Infrastructure-based networks in-
clude traditional cellular networks and wireless LANs (with centralised control mod-
ule). Infrastructure-less networks include ad hoc networks and sensor networks. De-
pending on the mobility of nodes, ad hoc networks can be further classied into mobile
4
Wireless Networks
InfrastructureBased
Wireless LANs
Ad Hoc Networks
InfrastructureLess
Static Nodes Mobile Nodes
Mobile Ad Hoc Networks
Sensor Networks
Cellular Networks
Figure 1.1: Wireless Networks: Taxonomy.
ad hoc networks (MANET) and static ad hoc networks. This dissertation focuses on
the research challenges of sensor networks and ad hoc networks.
1.1.1 Wireless Ad Hoc Networks
An ad hoc network is a collection of communication devices (nodes) that form a peer-
to-peer network (no centralised server) temporarily in an ad hoc manner without any
backbone infrastructure or base stations to meet some immediate needs. In ad hoc
networks, individual nodes are responsible for dynamically discovering themselves and
selecting suitable communication neighbours to form a connected multi-hop network
topology. A key assumption in ad hoc networks is that not all nodes can directly
communicate with each other, so nodes are required to relay packets on behalf of
other nodes in order to deliver data across the network [10]. Each node in an ad hoc
network can operate as a client or server as well as a router. In a mobile ad hoc
network, the network topology, connectivity, and node locations are variable and can
5
be changed dynamically.
Ad hoc networks is one of the most vibrant and active research elds today. Sig-
nicant research in this area has been ongoing for nearly 30 years. The history of
ad hoc networks can be traced back to 1972 and the Department of Defense (DoD)
sponsored Packet Radio Networks (PRNET), which evolved into the Survivable Adap-
tive Radio Networks (SURAN) program in the earlier 1980s [11]. The goal of these
programs was to provide packet switched networking to mobile battleeld elements
in an infrastructure-less, hostile environment (soldiers, tanks, aircrafts, etc., forming
the nodes in the network) [10]. The development languished during the 1980s simply
because the hardware technology needed to achieve it, such as low cost CPU and mem-
ory for ad hoc routing, did not exist at that time. The interest in ad hoc networking
was rekindled during the mid 1990s because of the advances of technologies, prolif-
eration of laptop computers, and widespread use of wireless devices. The enabling
technologies of ad hoc networks include the emergence of self-organising systems, soft-
ware dened radios (SDR), miniaturisation of wireless devices, smart antenna, and
battery technologies. The release of new frequency bands also provides the possibility
of design and implementation of high speed data communication systems.
Ad hoc networks are suitable for use in situations where infrastructure is either
not available, not trusted, or should not be relied on in times of emergency [10].
Some application examples include: military soldiers in the battleeld communica-
tions; sensors scattered throughout an area for biological detection, environmental
monitoring, or target tracking; an infrastructure-less network of notebook computers
in a conference or campus setting; space explorations; undersea operations; etc.
Although ad hoc networking research has a long history, signicant challenges still
6
exist. These challenges are summarised as follows [10].
- Scalability Scalability in ad hoc networks can be briey dened as whether
the ad hoc network can provide acceptable level of services (such as packet
latency and network throughput) even when the number of nodes is large in the
network. Scalability is especially important in sensor networks as sensors are
normally deployed with large numbers to achieve large area coverage.
- Energy Eciency Since ad hoc networks assume no xed infrastructure, indi-
vidual nodes have to rely on limited battery power. Energy-eciency therefore
becomes an important issue in ad hoc networks. Low power operation is espe-
cially critical in sensor networks, as sensor networks are normally required to
operate with a long lifetime. Recharging or replacement of batteries is either
impractical or impossible for sensor networks after deployment.
- Quality-of-Service (QoS) QoS is an active research area even in wired packet
switching networks. Ad hoc networks further complicated the QoS challenges
because of the error-prone and time-varying characteristics of wireless channels.
Furthermore, individual nodes in ad hoc networks must share the media with
many neighbours, each with its own set of QoS requirements.
- Security Security is another open issue for ad hoc networks since nodes nor-
mally use shared wireless media in a potential insecure environment. Nodes
are susceptible to denial of service (DoS) attacks that are harder to track down
than in wired networks.
- Lack of Well Dened System Models Finally, lack of well dened and widely
accepted models for RF path attenuation, mobility, and trac is another big
7
issue. These tightly integrated models are required for a fair comparison and
quantifying the system performance on a common baseline. Although the mech-
anisms behind electromagnetic wave propagation is moderately well understood,
it is dicult to quantify in detail in an environment including large number of
complex objects (such as foliage, cars, and buildings).
1.1.2 Wireless Sensor Networks
Since the late 1990s, wireless sensor networks (WSN) have become one of the most
vibrant and active research areas and garnered much academia and industry attention.
A sensor network normally consists of a large number of sensor/actuator devices.
Sensors are normally powered by batteries and communicate untethered with short
distances. Sensor networks represents a signicant improvement over the traditional
sensors, which are deployed in the following two ways [64]:
- Large, complex sensors can be positioned far from the phenomenon to be sensed.
In this approach, complex signal processing algorithms and techniques may be
employed to separate the target from the environmental noise.
- Alternatively, sensors that perform only sensing tasks can be deployed. The po-
sitions of the sensors and network topology are carefully engineered. Individual
sensors do not possess computational capabilities. They transmit time series
of the sensed phenomenon to one or more central nodes where data reduction
and ltering can be performed.
Unlike traditional sensor deployment, future wireless sensor networks may be
densely deployed either inside the phenomenon or very close to it. The position
8
of individual nodes need not be engineered or pre-determined. This allows random
deployment of sensor networks in hostile or inaccessible terrains. On the other hand,
random deployment requires that algorithms and protocols designed for sensor net-
works must possess self-organising capabilities.
The structure of a sensor node can be seen from Figure 1.2 [4]. We see that a sensor
Storage
Transmitter
Sensing
Unit
ADC
Processor
Receiver
Sensing Unit Processing Unit Transceiver
Power Unit
Location Finding System Mobiliser
Generator
Power
Figure 1.2: The components of a sensor node.
node is normally made up of four basic components: a sensing unit, a processing unit,
a transceiver unit, and a power unit. A sensor node may also be equipped with a
location nding system, a mobiliser, and a power generator dependent on applications.
The sensing unit observes the environment phenomena such as temperature, humidity,
pressure, vibration, sound, image, etc. The collected analog data is converted to
digital data by ADC (analog-to-digital converter) and then analysed and processed
by the processing unit. The transceiver connects the node to the network. The most
important component is the power unit. A sensor may be powered by battery or use an
energy scavenging unit such as solar cells. Accurate location information is essential
9
for most sensing tasks and routing protocols. Therefore it is common for a sensor
node to be equipped with a location nding system. Depending on applications, a
sensor may also be equipped with a mobiliser to achieve dierent sensing tasks.
Sensor networks can be seen as a special case of ad hoc networks so all the chal-
lenges discussed for ad hoc networks in last subsection applicable for sensor net-
works. Sensor networks share some common features with ad hoc networks, such
as infrastructure-less architecture and normally random network topology. However,
sensor networks also have some dierent characteristics and more rigorous constraints
compared to the broadly dened ad hoc networks. For instance, sensors are normally
equipped with sensing units that is not an assumption for most ad hoc networks.
Nodes in sensor networks are normally static while nodes in mobile ad hoc networks
may change their locations rapidly. Besides these, sensor networks also possess the
following characteristics which are dierent from ad hoc networks and traditional
wired and wireless networks:
- Resource Limitation: Sensors are normally tiny devices and have stringent lim-
itations for on-board energy, computational capability, and memory space. En-
ergy consumption is the most important criterion to achieve long-lived sensor
networks.
- Location Awareness: Sensing data without knowing the location of the sensor is
meaningless. Therefore, localisation should be considered as an implicit feature
of sensor networks.
- Data Centric: Sensor networks are information driven and organised around
the name of data instead of nodes. Applications express a need for a particular
10
data element or type of data by naming it directly. For example, data query in
sensor networks are typically in the style of Tell me the temperature in room
615 rather than Connect node A to node B.
- Scalability: The number of nodes in sensor networks may be several orders of
magnitude higher than in ad hoc networks. Therefore scalability is an important
performance measurement for the protocols and algorithms designed for sensor
networks.
- Dense Deployment : Sensors are normally densely deployed with certain level of
redundancy to achieve high sensing accuracy and collaborative data processing.
- Prone to Failures: Sensors are prone to failure due to depletion of energy or
physical damage.
These features of sensor networks introduce signicant challenges that are dierent
from traditional wired and wireless networks. The performance matrix for sensor
networks can be classied as follows:
- Energy Eciency/System Lifetime: As sensors are normally battery powered
and recharging or replacing the battery is impractical if not impossible, the
protocol design must be energy ecient so as to maximise not only the lifetime
of the individual nodes but also the lifetime of the entire network.
- Low Latency: The observer is interested in knowing about the phenomena
within a given delay and out-of-date information is of no use. Real-time guar-
antee is a pre-requisite for most sensor network applications.
11
- Sensing Accuracy: Obtaining accurate sensing data is the primary objective of
the observer, where sensing accuracy is an application dependent factor. The
system eciency can be further improved if network organisation is based on
sensing needs.
- Fault Tolerance: Since sensors are prone to failures, sensor networks must be
fault-tolerant so that non-catastrophic failures are hidden from the applications.
- Scalability: Sensor network applications often feature a large number of sensor
nodes. Therefore, the protocol design must be scalable.
Sensor networks have broad applications and may consist of many dierent types
of sensors such as seismic, low sampling rate magnetic, thermal, visual, infrared,
acoustic, and radar, which are able to monitor a wide variety of ambient conditions
that include the following [4]:
- Temperature,
- Humidity,
- Vehicular movement,
- Lighting condition,
- Pressure,
- Soil makeup,
- Noise level,
- The presence or absence of certain kind of objects,
12
- Mechanical stress level on attached object, and
- The current characteristics such as speed, direction, and size of an object.
The potential application categories of sensor networks include:
- Military and Defense: e.g., battleeld surveillance, reconnaissance of enemy
forces and terrain, nuclear, biological and chemical attack detection and recon-
naissance, etc.
- Environment: e.g., bush re monitoring, ood detection, disaster mitigation,
precision agriculture, etc.
- Health: e.g., tele-monitoring of human physiological data, tracking and moni-
toring doctors and patients inside a hospital, drug administration in hospital.
- Home: e.g., home automation and networking, smart environment, etc.
- Other Commercial Areas: e.g., environmental control in oce buildings, in-
teractive museums, detecting and monitoring car thefts, managing inventory
control, vehicle tracking and detection, etc.
An interesting sensor network application research in our Network Research Lab
(NRL) is cane toad monitoring [93] in Kakadu National Park as shown in Figure 1.3.
Cane toads (Bufo marinus) were introduced to control sugar pests in Australia about
seventy years ago. Their continuous spread, due to lack of natural predators through-
out northern Australia have caused major concerns from biologists and ecologists.
The dark region in Figure 1.3 shows the current distribution of cane toads in north-
ern Australia. Kakadu National Park is a World Heritage area, and its status is
13
Figure 1.3: Cane toad infestation in Kakadu National Park and northern Australia.
threatened by the possibility of colonisation by cane toads. Cane toads have recently
been spotted at approximately 15 to 30 km to the east of the park, which makes it
important to monitor them in this area. The project is to use automatic recognition
of animal vocalisations to detect the existence of cane toads. This is a challenging
application as it requires high frequency acoustic sampling, complex signal processing
and wide area sensing coverage.
1.2 Contributions of this Dissertation
In last section, we briey reviewed the wireless sensor networks and ad hoc networks.
We also reviewed the research challenges and open issues. In this section, we briey
introduce our contributions for parts of these challenges. We will use the term sensor
and sensor node inter-changeably in the rest of this dissertation.
The main contribution of this dissertation is the design and evaluation of a novel
multi-channel media access control (MAC) protocol for DS-CDMA based wireless
14
sensor networks. The other contribution of this dissertation is the design and eval-
uation of an optimised neighbour selection protocol for ad hoc networks that works
with CSMA/CA based MAC protocols (e.g., IEEE 802.11) to achieve better energy
performance.
1.2.1 Sensor Network Related Contributions
While sensor network applications require high performance from the network, such
as long lifetime and real-time guarantee, they suer from the resource constraints.
These constraints include limited battery power, processing capability, memory size,
etc., which do not exhibit in traditional wired networks. Since energy consumption
is the most crucial factor in sensor network design, this may lead to sensor network
MAC protocols which prioritise energy savings over network throughput and packet
latency. However, we argue that both network throughput and packet latency are crit-
ical for many sensor network applications, such as battleeld surveillance, real-time
monitoring seismic waves, machine operations, bush res, etc. Accurate and timely
delivery of sensed data in these cases sometimes means the dierence between life and
death. The inherent infrastructure-less architecture of sensor networks also creates
signicant challenges. Moreover, wireless channels are inherently error-prone and un-
reliable which makes it hard to consistently maintain good performance. Bandwidth
is another concern in wireless communications as spectrum resource is always scarce.
A good protocol or system design must use the spectrum eciently with minimum
interference.
15
This dissertation addresses these challenges with the proposal of a novel multi-
channel media access control (MAC) protocol, CSMAC
1
(stands for CDMA sensor
MAC), for DS-CDMA (Direct Sequence Code Division Multiple Access) wireless sen-
sor networks. It is well known that the multiple access interference (MAI) is the key
factor in determining the network performance (e.g., throughput) in a DS-CDMA
system. The inherent randomised distribution of sensor nodes and lack of centralised
base station creates signicant challenges on how to eectively control the interference
in a DS-CDMA sensor network. The novelty of our protocol design lies in the fact
that we use combination of frequency division and DS-CDMA technique to reduce the
channel interference and consequently improve system capacity and network through-
put (Chapter 3). By foregoing control packet exchange (e.g., RTS/CTS/ACK), which
is normally inevitable for a contention based protocol, our protocol can achieve less
channel contention, lower packet latency, higher network throughput, and lower en-
ergy consumption.
We provide theoretical characterisation of the mean multiple access interference
(MAI) at a given node in relation to the available number of frequency channels
(Chapter 4). We show that by using only a small number of frequency channels,
the mean MAI can be reduced signicantly. We elaborate the network formation
process (Chapter 5) which is required at the beginning of the deployment of a sensor
network. A distributed channel allocation protocol (Chapter 6) is also proposed for
the network formation process. We prove that our algorithm converges with correct
channel assignments.
Through discrete event simulation (using NS-2), we provide comparison of our
1
The name comes from our earlier work in [105]
16
proposed system to a pure DS-CDMA system as well as a contention based system.
Simulation results reveal that our proposed system can achieve signicant improve-
ment in system eciency (measured in unit of packet/second/channel ) compared to
a contention based system as well as the pure DS-CDMA system. In addition, our
system achieves signicant reduction in the communication energy consumption com-
pared to a contention based system.
1.2.2 Ad Hoc Network Related Contributions
Beside a multi-channel MAC protocol for sensor networks, we also proposed an energy
ecient neighbour selection protocol for wireless ad hoc networks. Unlike our multi-
channel MAC design for sensor networks, the location aware Select Optimal Neigh-
bour (SON) protocol is designed to be used with a CSMA/CA based (contention
based) MAC protocol. Two derivatives of SON, Select Closest Optimal Neighbour
(SCON) and Select Energy Ecient Optimal Neighbour (SEEON) algorithms are
studied. Both algorithms optimise the energy eciency by reducing the eective
number of neighbours and thus reduce the transmission power as well as the over-
hearing power consumption at irrelevant receivers (those who are not addressed by
the transmission). Simulations show that our algorithms can achieve better energy
performance than IEEE 802.11 standard.
1.3 Dissertation Structure
This dissertation is organised into ve parts. The rst part includes this chapter and
Chapter 2. In Chapter 2, we survey the background and related work.
17
Part II includes ve chapters (Chapter 3 to Chapter 7) which provides detailed
description and simulation results of our proposed protocols for sensor networks. In
Chapter 3, we rst describe the motivations behind our design. We then elaborate the
system architecture of CSMAC in detail. Chapter 4 precisely describes the analytical
model of the multiple access interference (MAI) at a given node in relation to the
number of channels. Chapter 5 describes dierent phases in the network formation
process and discusses several options. Chapter 6 describes the distributed channel
allocation protocol. Chapter 7 provides detailed simulation results and analysis for
CSMAC.
Part III includes two chapters (Chapter 8 and Chapter 9). Chapter 8 describes
the SON algorithm and protocol design. Chapter 9 provides the simulation results
and analysis of SON.
Part IV includes one chapter (Chapter 10). Chapter 10 concludes this dissertation
and identies a number of remaining challenges and future research directions.
Chapter 2
Background and Related Work
The work in this dissertation spans several areas of computer engineering as well as
electrical engineering. In this chapter, we survey the background and literature that
relates to this dissertation. It is impossible to cover the entire spectrum of research
in ad hoc and sensor networks. Hence, we will concentrate on areas that are most
relevant to the work in this dissertation. In the next few sections, we will survey
background and related work in each of the following areas:
- Multiple Access Techniques for Wireless Communications.
- MAC Protocols for Ad Hoc and Sensor Networks.
- Multi-Channel Design in Ad Hoc Networks.
- Routing Protocols for Ad Hoc and Sensor Networks.
- Topology Control and Energy Ecient Protocols for Ad Hoc and Sensor Net-
works.
- Channel Allocation Protocols for Ad Hoc Networks.
18
19
2.1 Multiple Access Techniques for Wireless Com-
munications
Multiple access techniques refer to the sharing of communication resources, such
as bandwidth and time, in an equitable manner among users so that no block of
time/frequency is wasted. In this section, we briey review several basic techniques
for the allocation of communication resources.
2.1.1 Frequency Division Multiple Access (FDMA)
Frequency Division Multiple Access (FDMA) systems assign individual channels to
individual users. The bandwidth is divided into slices such that each user can get
a unique slice of bandwidth in which to transmit or receive data. Since no user is
allowed to transmit or receive with the bandwidth slice given to another user, there
is no collision between users transmissions. Figure 2.1 shows the FDMA scheme in
the frequency, time and code domain. It can be seen that each user is allocated a
unique frequency band or channel.
2.1.2 Time Division Multiple Access (TDMA)
Time Division Multiple Access (TDMA) systems divide the radio spectrum into time
slot, and each user is assigned a unique time slot to transmit or receive. Figure 2.2
illustrates that each user occupies a cyclically repeating time slot, and N time slots
comprise a frame. TDMA systems transmit data in a buer-and-burst method, thus
the transmission for any user is non-continuous. Because of the burst transmissions,
TDMA normally requires high synchronisation overhead. TDMA transmissions are
20
Time
Code
Frequency
C
h
a
n
n
e
l

1
C
h
a
n
n
e
l

2
C
h
a
n
n
e
l

3
C
h
a
n
n
e
l

N
Frequency bands
Figure 2.1: FDMA scheme where dierent channels are assigned dierent frequency
bands.
slotted, this requires the receivers to be synchronised for each data burst. In addition,
guard slots are necessary to separate users, which results in TDMA systems having
larger overheads compared to FDMA systems.
2.1.3 Spread Spectrum Multiple Access (SSMA)
Spread spectrum signals for digital communications were originally developed and
used for military communications either 1) to provide resistance to hostile jamming,
2) to hide the signal by transmitting it at low power and, thus, making it dicult
for an unintended listener to detect its presence in noise, or 3) to make it possible
for multiple users to communicate through the same channel [96]. However, spread
spectrum signals are being used to provide reliable communications in a variety of
21
Time
Code
Frequency
Channel 1
Channel 2
Channel 3
Channel N
T
i
m
e

s
l
o
t
s
Figure 2.2: TDMA scheme where dierent channels are assigned dierent cyclically
repeating time slot.
commercial applications today.
Spread spectrum has many properties that makes it particularly attractive for
wireless environment. The most important advantage is its inherent interference
rejection capability. Not only can a particular spread spectrum signal be recovered
from a number of other spread spectrum signals, it is also possible to completely
recover a spread spectrum signal even when it is jammed by a narrow band interferer.
Resistance to multi-path fading is another fundamental feature of spread spectrum
modulation. Although spread spectrum system provides superior features for wireless
communications, its multiple user, multiple access interference (MAI) environment
also creates signicant challenges. MAI is the main motivation behind our protocol
design and we will further discuss it in Chapter 3.
22
In a Spread Spectrum Multiple Access (SSMA) system, a pseudo noise (PN) se-
quence converts a narrow-band signal to a wide-band noise-like signal before transmis-
sion. SSMA is not very bandwidth ecient when used by a single user but becomes
bandwidth ecient in a multiple user environment, since many users can share the
same spread spectrum bandwidth without interfering with each other. Figure 2.3
shows the channel assignment scheme for SSMA systems. There are two main spread
Frequency
Code
Time
Channel 1
Channel 2
Channel 3
Channel N
P
N

c
o
d
e
s
Figure 2.3: SSMA scheme in which each channel is assigned a unique PN code which
is orthogonal or approximately orthogonal to PN codes employed by others.
spectrum multiple access techniques: frequency hopped multiple access (FHMA) and
direct sequence multiple access (DSMA). The later is also called code division multiple
access (CDMA).
23
Frequency Hopped Multiple Access (FHMA)
In a Frequency Hopped Multiple Access (FHMA) system, the carrier frequencies of
individual users are varied in a pseudo-random fashion within a wide-band channel.
Figure 2.3 illustrates that FHMA allows multiple users to simultaneously occupy the
same spectrum at the same time, where each user remains at a specic narrow-band
channel at a particular instance of time, based on the particular PN code of the user.
Figure 2.4 illustrates the time/frequency occupancy of frequency hopped signals for
F
r
e
q
u
e
n
c
y
Time
User 2 User 1
Figure 2.4: Time/frequency occupancy of frequency hopped system.
two users. We can see that frequency hopped system is transmitting in a narrow
frequency band. In contrast, a direct sequence CDMA system is transmitting in the
same time period and spreading its signal power over the whole frequency band. As
a result, the power transmitted in the whole frequency band (in CDMA system) is
much lower than that of the frequency hopped system. However, the direct sequence
24
system transmits in the frequency band during all time period, whereas the frequency
hopped system uses this band only part of the time [97]. On average, both systems
will transmit the same power in the frequency band.
Although Figure 2.4 shows that each frequency hopping signal is in time synchro-
nism with each of the other signals, this is not the case in a real system. In fact, one
of the attractions of SSMA system compared to TDMA system is that there is no
need for synchronisation among user groups (synchronisation is only needed between
a transmitter and a receiver).
Code Division Multiple Access (CDMA)
In Code Division Multiple Access (CDMA) systems, the narrow-band signal is mod-
ulated (e.g., multiplied) by a larger bandwidth signal called spreading signal. The
spreading signal is a pseudo random or pseudo noise (PN) sequence. Figure 2.3 shows
that all users in a CDMA system use the same carrier frequency and can transmit
simultaneously. Each user employs a unique pseudo noise code which is orthogonal
or approximately orthogonal to all other codes that are employed by other users. A
pseudo noise (PN) code is a sequence of chips valued -1 and 1 (polar) or 0 and 1
(non-polar). Such bit-sequences have noise-like properties like spectral atness and
low cross and auto correlation values, and thus complicates jamming or detection by
non-target receivers [41]. Specic PN codes include Walsh codes, M-sequences, Gold
codes, and Kasami codes.
In practice, the PN sequence selected must have both good (low) cross-correlation
and auto-correlation. The receiver uses cross-correlation to separate the appropriate
signal from other interfering signals (those destined for other receivers), and uses
25
auto-correlation to reject multi-path interference. Correlation function is the main
basis of spread spectrum communications and is a measure of the similarity between
functions. Auto-correlation function can be written as follows:

A
() =
_

f(t) f(t )dt (2.1.1)


where
A
() is dened as the integration of a time dependent function (f(t) in the
above equation, such as sin t) with an identical replica time shifted by a magnitude
for all values of t. This function has a maximum value at = 0, which shows that
(obviously) a function is most similar to itself when it has not been time-shifted. The
response of the correlation function
A
() at other values than = 0 determines how
well the original function f(t) can be detected again by variation of the time shift .
The cross-correlation function can be written as follows:

C
() =
_

f(t) g(t )dt (2.1.2)


where
C
() is dened as the integration of two dierent functions (f(t) and g(t))
with time shift for all values of t. This cross-correlation function is a measure of the
degree of agreement between two functions. Since the functions to be compared are
dierent,
C
() may never achieve the maximum value of
A
(). It is an indication
that the functions are dierent when a certain threshold is not exceeded.
The main parameter for a CDMA system is the processing gain, which is dened
as the ratio of spread data rate to the baseband data rate
L =
B
t
B
i
(2.1.3)
where L is the processing gain, B
t
is the bandwidth of spread signal, and B
i
is the
bandwidth of baseband signal. Processing gain determines the number of simultane-
ous transmissions that a system can accommodate.
26
2.1.4 Random Multiple Access
In Random Multiple Access technique, many subscribers attempt to access a sin-
gle channel in an uncoordinated or minimum coordinated manner. The well known
method for random access packet communication is ALOHA [42], a system which
was designed in the earlier 1970s. ALOHA system suers heavily due to collisions of
packets because it does not listen to the channel before transmission, and therefore
does not exploit information about the other users. By sensing the channel before
each transmission, greater eciencies can be achieved.
Carrier Sense Multiple Access (CSMA) technique is based on the fact that each
terminal can monitor the status of the channel before transmitting. If the channel is
idle, the user is allowed to transmit based on a particular algorithm which is common
to all transmitters on the network. However, the performance of CSMA system
is aected by the well known hidden node and exposed node problems in wireless
local area networks (WLAN). The most popular CSMA based protocol for wireless
networks is the IEEE 802.11 standard, which we now discuss in the next section.
2.2 MAC Protocols for Wireless Ad Hoc and Sen-
sor Networks
The de facto standard for wireless LANs and ad hoc networks is the IEEE 802.11
standard. Another technology, Bluetooth, is also a closet peer to sensor and ad hoc
networks. MAC protocols for sensor and ad hoc networks proposed in literature can
be broadly classied into contention-less and contention based. Contention-less MAC
protocols are normally based on FDMA or TDMA approach. Contention-based MAC
27
protocols are normally adapted from the IEEE 802.11 standard.
In this section, we briey review the IEEE 802.11 standard and Bluetooth. We
then review dierent MAC proposals for sensor networks. We also review the usage of
spread spectrum technique in the MAC design in wireless sensor and ad hoc networks.
2.2.1 IEEE 802.11 Standard and Bluetooth
The IEEE 802.11 standard denes specications for both physical layer and MAC
layer. The physical layer handles the transmission of data between nodes and can
use either DSSS, FHSS, or infrared (IR) pulse position modulation (PPM). IEEE
802.11 makes provisions for data rate of either 1 Mbps or 2 Mbps, and recommends
operation in 2.4 GHz (2.4 - 2.4835 GHz) frequency band, which is an unlicensed band
for industrial, scientic, and medical (ISM) applications.
The MAC layer is a set of protocols which is responsible to coordinate the usage
of a shared media for all nodes. The IEEE 802.11 working group considered two
types of proposals for a MAC algorithm: distributed access protocols, which distribute
the decision to transmit over all the nodes using a carrier-sense mechanism; and
centralised access protocols, which involve regulation of transmission by a centralised
decision maker [99]. We next only review the distributed access protocol which makes
sense for ad hoc networks. A centralised access protocol makes sense for congurations
in which a number of wireless stations are interconnected with each other through
some sort of base stations.
The IEEE 802.11 species a Carrier Sense Multiple Access with Collision Avoid-
ance (CSMA/CA) protocol. One of the operation mode of IEEE 802.11 protocol is
28
the distributed coordination function (DCF). DCF uses a contention algorithm to pro-
vide media access for all trac. When a node receives a MAC packet to transmit, it
rst listens to the media to ensure that no other node is transmitting. If the media is
clear, the node may transmit. Otherwise, the node must wait until the current trans-
mission is complete. When the media is clear, the transmitting node determines its
backo counter (determined by a random selected backo factor and the contention
window size). When the backo counter reaches zero, the node transmits the packet.
Since the probability that two nodes will choose the same backo factor is small, col-
lisions between packets are minimised. Collision detection (CD), which is employed
in Ethernet, cannot be used in wireless networks. Since the dynamic range of the
signals on the media is very large, a transmitting node cannot eectively distinguish
incoming weak signals from noise and the eects of its own transmission.
DCF can operates in two modes: basic mode and RTS/CTS mode. In basic
mode, a transmitting node uses the algorithm described above to access the media.
In RTS/CTS mode, the transmitting node rst sends out a request-to-send (RTS)
packet containing information on the packet length and transmission time. If the
receiving node hears the RTS, it responds with a clear-to-send (CTS) packet. After
this exchange, the transmitting node sends its packet. When the packet is received
successfully, the receiving node transmits an acknowledgment (ACK) packet. This
RTS-CTS-DATA-ACK handshake can reduce packet collisions signicantly.
Bluetooth is a short-range wireless system which is targeting to replace the cable
between electronic user terminals with RF links. The Bluetooth denes a star network
topology where a master node can have up to seven slave nodes. The slave nodes
connect to the master node using wireless media to form a piconet. Each piconet uses a
29
centrally assigned TDMA schedule and frequency hopping pattern. The transmission
power for Bluetooth devices is typically around 20 dBm and the transmission range
is tens of meters.
2.2.2 MAC Protocols for Sensor Networks
Dierent MAC protocols have been proposed for sensor networks in literature. Self-
organising Media Access Control for Sensor Networks (SMACS) [20] is a distributed
protocol which enables a collection of nodes to discover their neighbours and establish
transmission/reception schedules for communicating with them without the need for
any local or global master nodes. Each node maintains a TDMA frame, called super-
frame, in which the node schedules dierent time slots to communicate with its known
neighbours. In SMACS, neighbour discovery and channel assignment are combined
so that by the time nodes hear from all their neighbours, they would have formed
a connected network. Although network-wide time synchronisation is not necessary,
the communicating neighbours in a subnet still need to be time-synchronised. Power
conservation is achieved by turning o the radio during idle time slots. Unlike our
protocol design, network formation in SMACS is not location-aware. A node may
select a neighbour that is further away from it instead of a nearby neighbour. Because
radio propagation attenuation is directly proportional to the distance with power
of path loss exponent (ranges between 2 and 6), SMACS is not an energy-ecient
protocol for transmission. Moreover, if the TDMA time slots of two neighbour nodes
do not overlap, these two nodes will disengage from each other. By using a TDMA
approach, a node must wait its turn to transmit to a specic neighbour even when the
channel is idle. And this waiting time can accumulate along the multi-hop route from
30
source to sink. Interestingly, SMACS also employs frequency division but assumes a
TDMA and narrow band system.
Woo and Culler [31] propose a CSMA-based MAC protocol, designed specically
to support the periodic and highly correlated trac of some sensor network appli-
cations. They propose an adaptive transmission rate control (ARC) scheme, whose
main goal is to achieve media access fairness by balancing the rates of originating and
route-through tracs. Due to its CSMA/CA approach, this protocol may suer from
high control overheads and hidden terminal problems.
Shih et al. [18] investigated the impact of non-ideal physical layer electronics on
MAC protocol design for sensor networks and proposed a centrally controlled MAC
scheme. While a pure TDMA scheme dedicates the full bandwidth to a single sensor
node, a pure FDMA scheme allocates minimum signal bandwidth per node. Pure
TDMA is not always preferred due to the associated time synchronisation cost. The
hybrid TDMA/FDMA scheme they propose optimises the power consumption of the
transceiver and results in lowering the overall power consumption of the system.
LEACH (Low-Energy Adaptive Clustering Hierarchy) [32] is a cross-layer protocol
design, encompassing MAC and network layers. It provides a combined TDMA/CDMA
based MAC approach. Each node communicates with a dynamically elected cluster
head directly (no multi-hop) using TDMA scheme. Cluster heads communicate with
remote destination (sink) directly using a CDMA approach. Since cluster heads are
also small sensors, direct communication with sink may not be practical.
SMAC (Sensor-MAC) [34] is based on the IEEE 802.11 standard but improves
upon its energy eciency. SMAC identied several major sources of energy waste
including collision, overhearing, control packet overhead, and idle listening. SMAC
31
uses IEEE 802.11 CSMA/CA approach to avoid collision and puts a node to sleep
when a neighbour node is transmitting to avoid overhearing. A scheduled periodic
sleep and listening pattern is used to decrease the idle energy consumption. The main
drawback of SMAC is high message latency as SMAC is specially designed to sacrice
latency for energy savings.
TRAMA [35] assumes that time is slotted and uses a distributed election scheme
based on information about the trac at each node to determine which node can
transmit at a particular time slot. It uses trac-based scheduling to avoid wasting
time slots when nodes do not have data to send and to switch nodes to a low-power
standby radio mode when they are not the intended receivers. Information about
every two hop neighbour is used for time slot selection. The drawback of TRAMA is
its high signaling overhead and high latency due to the time-slotted structure.
2.2.3 Spread Spectrum in MAC Design for Wireless Ad Hoc
and Sensor Networks
DS-CDMA system and multiple access interference (MAI) related problems have been
extensively studied in cellular networks which are infrastructure based. Mobile nodes
communicate with base station directly and energy consumption is not a critical
concern in either mobile nodes or base stations. However, the problems in sensor
networks dier from the traditional framework in terms of limited resources (e.g.,
energy, processing), less mobility, and lack of centralised base stations. All these
factors make the research problems in DS-CDMA based sensor networks dierent
from the traditional cellular based DS-CDMA networks.
Spread-spectrum techniques have been employed in IEEE 802.11b standard. The
32
primary issue addressed in IEEE 802.11b is to reduce the multi-path eects in a
heterogeneous environment. Data spreading results in greater immunity to radio
frequency interference as compared to narrow-band signaling. Because IEEE 802.11b
is a contention based protocol, MAI is not an issue because concurrent transmissions
are not allowed in the vicinity of the potential interference range.
Muqattash and Krunz [22] proposed a CDMA-based MAC protocol for wireless
ad hoc networks where out-of-band RTS/CTS are used to dynamically bound the
transmission power of a node in the vicinity of a receiver. Both RTS and CTS are
enlarged to accommodate MAI related information. However, our design goal is to
remove control packets for energy savings. De et al. [26] characterised the MAI in
wireless CDMA sensor networks and studied the tradeo between interference and
network connectivity. Their study revealed that high network connectivity cannot
be achieved without signicantly increased MAI with random topology. To achieve
high network connectivity, and low MAI, nodes should be selectively activated such
that the set of active nodes at any time lie on the vertexes of a regular polygon (e.g.,
square grid, hexagon, or equilateral triangle). This is not very practical for randomly
deployed sensor networks. Dousse et al. [27] studied the impact of interference on
the connectivity of large-scale ad hoc networks using percolation theory. A TDMA-
based channel access scheme, where each node emits during 1 slot for every n time
slots, on the top of CDMA codes is proposed to address the interference-connectivity
problem. Liu and Asada [28] proposed an energy ecient DS-CDMA system for
sensor networks by using spreading code with more 0 bits and employing on-o
keying. Guo et al. [37] proposed a set of low power MAC design principles targeting
the multi-hop wireless sensor networks. Sousa [29] et al. characterised the optimum
33
transmission ranges to maximise the throughput for a DSSS multi-hop packet radio
network. Their work assumes that each node has equal transmission power and no
frequency division is used, and both of these assumptions are dierent from ours.
2.3 Multi-Channel Design in Ad Hoc Networks
Although IEEE 802.11 standard is designed only for a single channel, it allows for
the use of multiple channels at the physical layer. For example, IEEE 802.11b and
802.11g divide the 2.4 GHz ISM band into 14 overlapping, staggered channels whose
center frequencies are 5 MHz apart [88]. A number of protocols (e.g., [44]-[51]) have
been proposed to utilise multiple channels dynamically to improve the performance
in wireless ad hoc networks.
Tang et al. [50] proposed a multichannel MAC protocol called Hop Reservation
Multiple Access (HRMA) for wireless ad hoc networks. HRMA is based on simple
half-duplex, very slow frequency-hopping spread-spectrum (FHSS) radios and takes
advantages of the time synchronisation necessary for frequency hopping. The nodes
hop from one channel to another according to a predened hopping pattern. When
two nodes agree to send and receive data packet by exchanging RTS/CTS, they stay
in a frequency hop for communication. Other nodes continue hopping, and more
than one communication can happen on dierent frequency hops. Tzamaloukas et
al. presented a collision avoidance MAC protocol called receiver-initiated channel-
hopping with dual polling (RICH-DP). RICH-DP takes a similar approach as HRMA,
but the receiver initiates the collision avoidance handshake instead of the sender.
Nasipuri et al. [46] described a multi-channel CSMA protocol with soft channel
reservation. The CSMA protocol divides the available bandwidth into N channels
34
and selects an idle channel randomly for packet transmission. With soft channel
reservation, the protocol gives preference to the channel that was used for the last
successful transmission. In [47], the protocol is extended to select the best channel
based on signal power observed at the sender. These schemes require N transceivers
for each node, which is very expensive.
Wu et al. [45] proposed a multi-channel MAC protocol that assigns channels
dynamically in an on-demand style, called Dynamic Channel Assignment (DCA).
One channel is dedicated to control packets while other channels are dedicated to
data packets. RTS/CTS packets are exchanged on the control channel, and data
packets are transmitted on the data channel. In RTS packet, the sender includes a
list of preferred channels. After receiving RTS, the receiver decides the channel to
use and includes the channel information in the CTS packet. Then DATA and ACK
packets are exchanged in the agreed data channel. Jain et al. [44] proposed a protocol
which is similar to [45] (one control channel and multiple data channels), but the best
channel is selected according to the channel condition at the receiver side.
So et al. [48] proposed a MAC protocol which enables nodes to utilise multiple
channels by switching channel dynamically, thus increasing network throughput. The
protocol requires only one transceiver but requires temporal synchronisation to solve
the multi-channel hidden terminal problem.
Above discussions have shown that the main idea behind these techniques is to
utilise multiple channels for possible simultaneous data transmissions, and thus im-
prove the network throughput. Control packet (and channel) such as RTS/CTS is
used to negotiate which channel can be used for the following data packet trans-
mission. These protocols are fundamentally CSMA/CA based which are radically
35
dierent from our proposed protocol as described in Chapter 3.
2.4 Routing Protocols for Ad Hoc and Sensor Net-
works
In this section, we provide a brief review of the routing protocols proposed for ad
hoc and sensor networks. We focus on the protocols that have been used in our
simulations.
There are a number of routing protocols (e.g., [52]-[61]) for ad hoc networks such
as Dynamic Source Routing (DSR), Ad Hoc On-Demand Distance Vector Routing
(AODV), Destination Sequenced Distance Vector Routing (DSDV), and Temporally
Ordered Routing Algorithms (TORA), etc. These protocols can be classied into two
categories:
- Table-Driven Routing Protocols Where consistent and up-to-date routing in-
formation to all nodes is maintained at each node.
- On-Demand Routing Protocols Where routes are created when required. When
a source node wants to send to a destination, it invokes the route discovery
mechanism to nd the path to the destination
While DSDV is a table-driven routing protocol, AODV, DSR, and TORA fall under
the routing on demand category. Since DSDV is employed in our simulations in
Chapter 9, we discuss it briey. DSDV algorithm is based on the classic Bellman-
Ford Routing Algorithm with some improvements. In DSDV, each node maintains
a routing table that lists all available destinations, the number of hops to reach
36
the destination and the sequence number assigned by the destination node. The
sequence number is used to distinguish stale routes from new ones and thus avoid the
formation of loops. Routing messages are exchanged between neighbouring nodes.
Routing update can be triggered or scheduled.
Numerous routing protocols have been proposed in literature and routing is still
an active research area for sensor networks. While ooding is the most simple and
old technique that can be used, it is normally less ecient. A derivation of ood-
ing, Gossiping, in which nodes do not broadcast but send the packets to a randomly
selected neighbour is proposed in [62]. Sensor Protocols for Information Via Negotia-
tion (SPIN) [63] is a family of adaptive protocols designed to address the deciencies
of ooding by negotiation and resource adaption. Low-Energy Adaptive Clustering
Hierarchy (LEACH) [33] is a cluster-based protocol which minimises energy dissipa-
tion in sensor networks. Directed Diusion [64] is a data-centric data dissemination
paradigm especially designed for sensor networks. Data generated by sensor nodes
are identied by their attributed-value pair. Sinks send out its interests into the
network. As the interest is propagated throughout the sensor network, the gradients
from the source back to the sink are set up. Data generated by source nodes that
match the interests will be sent along the interests path back to the sink. Directed
Diusion is employed in our simulation in Chapter 7.5.
37
2.5 Topology Control and Energy Ecient Proto-
cols for Ad Hoc and Sensor Networks
Topology control is one of the most important techniques used in wireless sensor and
ad hoc networks. The objective is to reduce the energy consumption, which is essential
to prolong the lifetime of the network. The goal of this technique is to control the
topology of the graph representing the communication links between nodes, with the
purpose of maintaining some global graph property (e.g., network connectivity) while
reducing energy consumption, which is strictly related to the nodes transmission
range [71]. A number of topology control and energy ecient protocols for ad hoc
and sensor networks have been proposed in literature. We only give a brief overview
for some of them.
Hu [72] presented an ecient topology control algorithm based on Delaunay tri-
angulation with higher throughput performance than regular-structured networks.
Rodoplu and Meng [67] proposed a distributed topology control algorithm that lever-
ages on the position information to build a topology with minimised energy consump-
tions. Wattenhofer [69] introduced a distributed topology control protocol based on
directional information, called CBTC (Cone Based Topology Control). A set of op-
timisations that further reduce power consumption for CBTC is presented in [70].
The main idea is that a node i transmits with minimum power P
i,
such that there
is at least one neighbour in every cone of angle centered at i. The authors showed
that setting 2/3 is sucient to ensure the network connectivity. In our proto-
col design for sensor networks, we adapt a simple topology control protocol K-Neigh
[66]. In K-Neigh, each node keeps up to a xed number of k nearest neighbours and
38
removes those neighbours that have unidirectional links. When setting k = 9, the
K-Neigh protocol provides network connectivity with high probability (e.g., at least
0.95). A good survey on topology control in wireless ad hoc and sensor networks is
provided in [71].
Numerous energy ecient protocols have been proposed. IEEE 802.11 species
a power-save (PS) mode. A node can be in one of two dierent power modes, i.e.,
active mode when a node can receive packet at any time and power-save mode when
a node is running at low-power state. All nodes in the network are synchronised to
wake up periodically to listen to beacon message (Ad hoc Trac Indication Message,
ATIM) to decide whether to transit to active mode. Muqattash [22] et al. proposed
a comprehensive solution for power control in mobile ad hoc networks (MANETs).
Their solution emphasises the interplay between the MAC and network layer, where
the MAC layer indirectly inuences the selection of next-hop by properly adjusting the
power of route request packets. Jung [21] proposes an energy ecient MAC protocol
for wireless LANs, where an adaptive mechanism is employed to dynamically choose
a suitable ATIM window size to improve both the network throughput and energy
consumption.
2.6 Channel Allocation Protocols for Ad Hoc Net-
works
Channel allocation problem in ad hoc networks (or packet radio networks) has been
studied in literature for dierent purposes. Most of the proposed algorithms and pro-
tocols are based on CDMA code assignment. Bertossi and Bonuccelli [76] proposed
39
a centralised as well as a distributed code (CDMA orthogonal PN codes) assignment
algorithm in multi-hop packet radio networks to eliminate the hidden terminal inter-
ference. Only two hop neighbours are considered in their algorithm because hidden
terminal problem only occurs when two nodes cannot hear each other but have a
common neighbour. The objective is to minimise the number of codes used in the as-
signment. Unlike their work, our channel allocation protocol considers both one hop
and two hop neighbours (Chapter 6). Ramanathan [77] proposed a unied framework
for FDMA/TDMA/CDMA channel assignment in wireless networks, called UxDMA
algorithm. UxDMA identies eleven atomic constraints (e.g., two vertices cannot re-
ceive the same colour if they are either adjacent, or have a common neighbour, etc.)
underlying most current and potential assignment problems. Based on the global
topology information, UxDMA computes the node or edge colourings, which corre-
spond to channel assignments to nodes or links in frequency, time, or code domain.
2.7 Summary
In this chapter, we reviewed the background knowledge behind our protocol design
and provided a literature survey on the areas that are most relevant to the work in
this dissertation. Some other related works such as idle energy consumption will be
discussed in the corresponding chapters and sections of this dissertation.
Part II
A Novel Multi-Channel MAC
Protocol for DS-CDMA Wireless
Sensor Networks
40
Chapter 3
CSMAC: A Novel Multi-Channel
MAC Protocol for DS-CDMA
Wireless Sensor Networks
In this chapter, we rst describe the motivation (Section 3.1) behind our design and
then discuss the problems of using DS-CDMA system in a wireless sensor network
environment (Section 3.2), specically, the multiple access interference (MAI) and
the resulting near-far problem. We then describe our proposed system architecture
(Section 3.3). We then discuss the hardware related issues and the possibility of
using frequency division in sensor networks. After that, we describe two important
issues in our architecture design: broadcasting trac (Section 3.6) and idle energy
consumption (Section 3.7).
3.1 Introduction and Motivation
It is well known that power consumption is the crucial factor in sensor network design.
In order to achieve low-energy operation, the physical layer must meet two usually
mutually exclusive goals: fast signal acquisition and low standby power. Many radio
41
42
architectures expend a bit more energy during standby in order to achieve a fast lock
once awoken or, conversely, incur a longer acquisition time in order to sleep more
deeply during standby [6]. Sensor network applications normally operate with low
duty cycle, e.g., less than 1% on average. In order to achieve fast signal acquisition
during the duty cycle, the physical layer must be able to quickly acquire a signal when
awoken, receive the data, and then return to sleep. Fast signal acquisition consumes
less communication energy but requires high data rate radio. On the other side, since
the radio is asleep 99% of the time, the standby power must be very low in order
to meet the energy budget. Low standby power requires low data rate radio. Since
most sensor network applications do not require high data rate operation, low data
rate radio architecture is more preferable in physical layer design to achieve energy
eciency. For example, Mica Mote [86] consumes less power than Stargate [87], but
it is actually less energy ecient when active. Low-rate radios used in Mica Mote are
roughly 20 J/bit when active, while IEEE 802.11b radios are 300 nJ/bit when active.
The latter is orders of magnitude better. But unfortunately, Stargate consumes 10-20
mW range when shut down, while on the other hand Mote consumes only 10s of W
range. With less than 1% of duty cycle for most sensor network applications, Mote
may still prove to be more energy ecient!
Since sensor network applications are expected to utilise low data rate (e.g., 1-100
Kbps), have small data packet size (e.g., 50 bytes), and sensors normally have limited
on-board energy, processing capability, buer space, and other resources, a contention
based protocol may not be a suitable choice for the MAC layer. Contention based
protocols suer from both low network throughput and long packet delays. The con-
trol packet exchange (e.g., RTS/CTS/ACK) associated with each small data packet
43
transmission produces signicant overhead. Woo and Culler [31] stated that an RTS-
CTS-DATA-ACK handshake sequence in transmitting a packet can constitute up to
40% overhead with small packet size in sensor networks. Although IEEE 802.11 stan-
dard species that RTS/CTS can be avoided with a small data packet transmission,
this may not be a practical choice for sensor networks. Given the low data rate (e.g.,
20 Kbps) in sensor networks, a small data packet will take much longer time to trans-
mit than in an IEEE 802.11 network which has high data rate (e.g., 2 Mbps). As a
result, the collision probability in sensor networks is much higher. Blough et al. [66]
proved that the crude lower bound that no contention occur in a wireless channel
with the following lemma:
Lemma 1. Let

t be the time necessary to transmit a packet. For d = m

t, the prob-
ability that no contention will occur in a wireless channel is strictly greater than
exp(3h(h 1)/2m), where h denotes the number of nodes that are contending for
the channel and m denotes the contention window size.
An example is also given with 33 contending nodes in [66], where d must be around
16000

t to achieve a probabilistic guarantee of no contention of at least 0.9. Assume


that

t represents the transmission time of a packet with IEEE 802.11 data rate (e.g.,
2Mbps) in above example. Now consider the same packet is transmitted with sensor
network data rate (e.g., 20Kbps). During the same time period d
1
, the probabil-
ity that no contention occurs is 5.023 10
5
, i.e., contention will always occur. In
this case, control packet (RTS/CTS) exchange can be used to reduce the probability
of packet collisions. More important, some energy ecient algorithms proposed for
contention based protocols require the information embedded in RTS/CTS packets.
1
We assume that the generated trac from each sensor is xed during this time period.
44
For example, SMAC [34] uses the transmission time embedded in RTS/CTS to turn
o unintended receivers to avoid overhearing energy consumption. In addition, con-
tention based protocols also suer from the well documented hidden node and exposed
node problems. A recent research [38] result shows that although RTS/CTS has been
introduced as a uniform improvement over Carrier Sense Multiple Access (CSMA)
in a wireless LAN environment, it falls short of an ideal protocol. In some cases it
performs even worse than CSMA. This is especially noticeable in situations where the
interaction between control packets in RTS/CTS prevents transmission that under
CSMA could occur concurrently and successfully.
Because power consumption is the crucial factor in sensor network design, this may
lead to sensor network MAC protocols which prioritise energy savings over network
throughput and packet latency. However, we argue that both network throughput and
packet latency are critical for many sensor network applications, such as battleeld
surveillance, real-time monitoring seismic waves, machine operations, bush res, etc.
Accurate and timely delivery of sensed data in these cases sometimes means the
dierence between life and death. For example, when a sensor network is used to
track an object (or group of objects), out-of-date information is of no use if the
object being tracked is no longer in the vicinity when the information is received.
Moreover, sacrice of latency does not always mean energy savings. For instance,
packet collision is a normal scenario in contention based protocols. Collided packets
must be re-transmitted which consumes more energy. In addition, a sensor may have
limited buer space. If a packet cannot be sent out in time, following incoming
packets may be dropped due to the overow of buer. Dropped packets may be re-
transmitted and extra energy is wasted. In addition, packets may also be dropped
45
due to exceeding the retry limit (for transmitting) in a contention based system.
Sensor networks deliver myriad types of trac, from simple periodic reports to
unpredictable burst of messages triggered by external events that are being sensed
[81]. While a sensor network is expected to operate with low duty cycle (e.g., 1% on
average) and may remain silent for a long time, a communication hot region can
emerge quickly due to simultaneous events [8]. Numerous trac types and dierent
trac patterns require highly adaptive protocols to achieve both real-time guarantees
and energy eciency. When no event(s) occurs, all sensors keep silent and their radios
should be turned o for energy saving purposes. When an event or group of events
occur, sensors around the vicinity of the event(s) may want to transmit simultaneously
to achieve collaborative data processing. Normally most of these sensors are physical
nearby neighbours. Simultaneous transmission attempts may cause serious media
contention and network congestion.
As an alternative to contention based MAC designs, using direct sequence code
division multiple access (DS-CDMA) based system in ad hoc and sensor networks
has been proposed in literature [22][26][28][37]. It is well known that the multiple
access interference (MAI) is the key factor in determining the network performance
(e.g., throughput) in a DS-CDMA system. The inherent randomised distribution of
sensor nodes and lack of centralised base station creates signicant challenges on how
to eectively control the interference in a DS-CDMA sensor network. In this thesis,
we propose a frequency division based DS-CDMA system which can simultaneously
achieve low energy consumption, high network throughput, and low packet latency.
These advantages are a result of applying frequency division to reduce the MAI in
the system. By using an analytical model, we show that a small number of frequency
46
channels can reduce MAI signicantly. The design objectives of our protocol are as
follows:
- Control packet exchange (such as RTS/CTS/ACK) should be avoided at MAC
layer to achieve both energy savings as well as low packet latency.
- Multiple access interference (MAI) must be properly controlled to achieve less
channel contention and better system performance.
- The proposed system must be able to achieve higher throughput and system
capacity than contention based system.
- The proposed system must be scalable and exible to a large scale sensor net-
work.
- For practical implementation purposes, the receiver should not be required to
monitor the whole PN (Pseudo Noise) code sets.
- To achieve further energy savings, a sleep-wakeup scheme may be adopted from
literature to reduce idle energy consumption in case of variable trac patterns.
3.2 The Multiple Access Interference (MAI) of DS-
CDMA System
In Chapter 2.1.3, we reviewed the advantages of direct sequence code division multiple
access (DS-CDMA) system. A DS-CDMA system uses spread spectrum modulation
technique, in which the baseband signals are spread using dierent Pseudo Noise (PN)
codes to enable multiple access. The performance of DS-CDMA system is primarily
47
limited by multiple access interference (MAI). Considering a DSSS/BPSK (Direct
Sequence Spread Spectrum/Binary Phase Shift Keying) system, let P
0
denote the
average received power of the desired signal at the detector. Further, assume that
there are k interferers with received powers P
1
, P
2
, . . . , P
k
, the total power of MAI is
calculated as the sum of all interference powers, e.g.,
MAI Power =
k

i=1
P
i
(3.2.1)
The eective bit energy-to-noise ratio at the detector is then given by [40]:

E
b
N
0e
=
_
2

k
i=1
P
i
3LP
0
+
1

0
_
1
(3.2.2)
where L is the processing gain, and
0
= E
b
/N
0
equals E
b
/N
0e
at the detector in
the absence of interferers. The probability of bit error P
e
with a given is then given
by:
P
e
=
1
2
erfc(

) = Q
__

k
i=1
P
i
3LP
0
+
N
0
2E
b
_
1
_
(3.2.3)
which is decreasing function of , where erfc() is the complementary error function
and Q() is the Q-Function. If we assume that all signals (both desired and interferers)
provide equal power at the detector, the above equation can be simplied to:
P
e
= Q
__
_
k
3L
+
N
0
2E
b
_
1
_
(3.2.4)
In an interference limited DS-CDMA system, the thermal noise is not a factor, E
b
/N
0
tends to innity, and the above equation can be further simplied to:
P
e
= Q
_
_
3L
k
_
(3.2.5)
48
In a cellular DS-CDMA network, the MAI can be controlled by the base station by
limiting the number of active nodes, and requiring that all active nodes control their
transmission powers so that the signals arrive at the base station with the same low-
est power level. However, the same principle cannot be applied to a practical sensor
network. The diculty of using DS-CDMA system in a sensor network lies in the
fact that a sensor network may not have a centralised base station which leads to
the MAI being uncontrollable. As a consequence, the system performance is com-
promised severely especially in higher trac scenario. In a practical sensor network,
where nodes are normally randomly deployed, each transmitting node can transmit
to multiple receivers and each receiving node can receive from multiple transmitters.
It is infeasible to implement a power control scheme to guarantee that each receiver
receives all signals (both desired and interferers) with equal power. In addition, each
node may transmit to a random neighbour with random probability at any given
time. The number of active nodes cannot be controlled without using some sort of
coordinations in a potential interference vicinity. These unpredictable trac loads
make the MAI very dicult to be controlled. We illustrate these problems using
Figure 3.1, where sensors are randomly deployed and R
R
represents the communi-
cation range. Figure 3.1 shows that each node has a number of neighbours situated
at dierent distances. For example, A has neighbours B, E, F, D, and G, with each
having dierent distance to A. Assume that each node uses the minimum required
power to communicate with each other. When A is transmitting to a neighbour, the
interference power caused by this transmission at other neighbours can have dierent
values. Considering two simultaneous transmissions from A B and C D, where
distance d
AB
d
AD
, the interference power at D caused by the closer neighbour A is
49
A B C D
E
F
G
H
I
J
K
R
RR
R
Figure 3.1: Example showing the CDMA MAI and near-far problem.
much higher than that of the desired power from C, and this makes the desired signal
hardly to be recovered. However, if the transmission is A E instead of A B,
the interference caused to Ds reception is negligible. The problem caused due to
interference signal(s) drowning out the desired signal at a receiver is a serious conse-
quence of MAI and is called DS-CDMA near-far problem in literature. The near-far
problem also implies that transmission and reception cannot happen simultaneously.
Because the transmitter power is too high, it will drown out any receiving signals.
This example demonstrates that it is not possible to use power control to minimise
the eect of MAI in a DS-CDMA sensor network. For example, node A can control
its transmission power to node B and guarantee that the signal arrives at node B
with the lowest receiving threshold, but node A cannot control its interference power
(MAI) at node E. The MAI may cause signicant degradation in network through-
put and is considered the main problem prohibiting the usage of DS-CDMA in sensor
networks.
50
3.3 The Proposed Architecture
In the last section, we discussed the limitations of using DS-CDMA system in sensor
networks. The root cause of MAI lies in the fact that, unlike FDMA and TDMA chan-
nels, CDMA codes are not completely orthogonal. Completely orthogonal codes (e.g.,
Walsh codes) are normally used in synchronous systems. However, in asynchronous
systems, perfect orthogonal codes are sub-optimal and exhibit high cross-correlation.
Because MAI is caused by the non-perfect orthogonality of CDMA codes, the
rationale of our design is to orthogonalise the reception in the vicinity of a sensor node.
In our design, we propose a frequency division based DS-CDMA system to reduce
the MAI. Since most sensor network applications are expected to utilise low data
rate, it is possible to use a narrow band DS-CDMA system operating over multiple
frequency channels. For example, assume that the data rate of the application is 20
Kbps, and we use 50 chip/bit PN code to spread the baseband signal. The resulting
bandwidth is 1 MHz. With 2.4 GHz ISM band (2400 MHz-2483.5 MHz), we can have
more than 80 frequency channels. Short PN sequence may also be used. For example,
the minimum total-squared-correlation (minTSC) codes [39] with chip length L = 15
can serve up to 2
L1
= 2
14
[26] users. The advantage of using minTSC codes is its
exibility of accommodating number of users. But the system may be overloaded and
the cross correlation may be high. Assuming with low probability that all users can
be active simultaneously, the system can still achieve desirable bit-error-rate (BER).
Moreover, our simulation results (see Chapter 7) reveal that a much smaller number of
channels are required in practice than the theoretical value when sensors are randomly
uniformly distributed. The advantage of using frequency division is that the required
bandwidth need not be contiguous and dierent users can be allocated to dierent
51
frequencies depending on their requirements. We make the following assumptions in
our system design:
- Sensors are normally static nodes so we can execute our network set up process
once at the beginning of deployment.
- A topology control protocol is available to limit the number of neighbours (e.g.,
K-Neigh [66]) for each node.
- Multiuser detection receivers are available but may only be monitoring a limited
number (e.g., number of neighbours) of PN codes.
- Each sensor can adjust its transmission power to reach dierent neighbours.
- Each sensor can estimate its location or relative location.
3.3.1 System Architecture
A set up phase (see Chapter 5) is required for our sensor network architecture where,
during this phase, frequency channels and PN codes are assigned to enable the nodes
to communicate during steady state. In this chapter, we primarily focus on the steady
state operation.
In our protocol design, each node is assigned a unique receiving frequency that
is dierent from its one hop and two hop neighbours. Without loss of generality,
we use a regular graph to explain the concept. Figure 3.2 illustrates the frequency
channel allocation pattern with a regular triangular sensor network topology, where
each sensor has exactly six neighbours and the receiving frequency of each node is
shown next to the node. Note with a random deployment, the number of neighbours
52
f4
f3
f4
f7
f2
f6
f1
f5
f7
f7
f1
f2
f1
f6
f2 f3
D
A
B
C
E
F
G
H
I
J
K
L
M
N
O
P
Figure 3.2: Frequency allocation pattern vertex colouring.
can be determined by a topology control protocol (e.g., K-Neigh [66]). There are two
PN code assignment schemes in our system:
1. Node based, where each neighbour of a given node is assigned a unique PN code
that is dierent from each other; or
2. Link based, where each directed link is assigned a unique PN code that is dierent
from its adjacent links (two directed links are adjacent if they have a common
end node).
Figure 3.3 shows the node based (transmitter based) PN code assignment, where the
code assigned to each node (for transmission) is shown next to the node. Figure 3.4
shows the link based PN code assignment, where the code assigned to each directed
link is shown along the link. Note that we only show the code assignments for the
53
concurrent transmissions in Figure 3.3 and Figure 3.4.
f1
f7
f2
f6
f5
f4
f3
F
G
B
E
D
C
A
PN1
PN2
PN3
PN4
PN5
PN6
PN7
PN7
PN1
PN5
PN3
PN2
Figure 3.3: Node based PN code allocation pattern.
When a node wants to transmit a packet to a neighbour, it synthesises its trans-
mitter to the corresponding receiving frequency of the neighbour and uses the pre-
determined PN code with the neighbour to spread baseband signal. We next use
Figure 3.4 to explain the communication paradigm between a node and its neigh-
bours (Node based PN code assignment can achieve similar performance). Note that
PN1 can be re-used assuming that two links are not adjacent in Figure 3.4.
When A wants to transmit to D, it synthesises its transmitter to f5 and uses
PN1 to spread the data packet. Note this transmission does not cause interference to
other neighbours such as C, B, G, F, E because their receivers are running on dierent
receiving frequencies. Also note that B, F and D can transmit to A simultaneously
54
f1
f7
f2
f6
f5
f4
f3
F
G
B
E
D
C
A
PN1
PN1 PN1
PN2
PN3
Figure 3.4: Link based PN code allocation pattern.
because As multiuser detection receiver can distinguish all its neighbours trans-
missions concurrently. Note that A does not need to monitor the whole set of PN
codes but only the set of codes that are employed by its immediate neighbours. As
transmission to D will not destroy As reception from B, F and D even if they are
happening in parallel because they are operating on dierent frequencies. Further-
more, the transmission signal from G to B will not contribute to the noise oor at
A because it is operating on f7. To this end, we notice that MAI only occurs at a
given receiving node (e.g., A) when multiple neighbours (e.g., B, F, D) transmit to
this node (e.g., A) simultaneously. When these simultaneous transmissions occur,
they are actually desired signals as they are all addressed to this node (e.g., A). With
proper power control, the resulted MAI at this node (e.g., A) can be controlled at
the lowest level. Those uncontrollable MAI present in a pure DS-CDMA system,
55
which is caused by the transmission between an interference node (e.g., G) and its
neighbour (e.g., B but not A), is signicantly reduced due to the frequency division.
Note, it is possible that some other nodes are transmitting with the same frequency
in the network (as frequencies are reused spatially). But assuming that the channel
allocation scheme (see Chapter 6) is functioning, these transmissions are normally
far enough and the resulting interference is negligible. Because a node does not have
to consider the interference caused by its transmission on those unintended receivers,
it is much easier for a node to control its transmission power to guarantee that the
transmitted signal arrives at the intended receiver with a certain power level, e.g.,
the lowest receiving threshold.
Assume that above proposed frequency channel allocation and PN code allocation
schemes are functioning, we may nd out the maximum number of simultaneous
transmissions that a node can accommodate. Assume that a given node has N
u
neighbours and each neighbour can transmit to this node with the same lowest power
level concurrently. The desired signal-to-noise interference power ratio at the receiver
is given by [96]:
SINR =
P
S
P
N
=
P
S
(N
u
1)P
S
=
1
N
u
1
(3.3.1)
where P
S
/P
N
can be expressed with reciprocal:
_
P
N
P
S
_
dB
=
_
W
R
_
dB
+
_
CG
_
dB

_
E
b
I
0
_
dB
(3.3.2)
where (W/R)
dB
denotes the processing gain (L in equation 2.1.3 and equation 3.2.2),
CG = R
c
d
H
min
is the coding gain that is dened by the code rate R
c
and minimum
Hamming distance d
H
min
of the code, E
b
/I
0
is the ratio between the mean energy per
bit to the power spectral density of the interference. For example, assume processing
56
gain L = W/R = 50, E
b
/I
0
equals to 10 dB and coding gain is 6 dB, the maximum
number of simultaneous transmissions that a node can support is 21. In practice,
it is unlikely that a node has too many neighbours if a topology control protocol
is employed. Even if a node has a large number of neighbours (e.g., 21 or more),
the signals can still be distinguished and correctly received presuming that the num-
ber of simultaneous transmissions at a given time is less the maximum number of
simultaneous transmission that a node can support (e.g., 21)
2
.
By employing frequency division, our protocol design can achieve signicant re-
duction in MAI and consequently less channel contention. Reduction in MAI makes
it possible to employ shorter PN sequence and lower processing gain, which results
in smaller spread signal bandwidth. Smaller signal bandwidth means more frequency
channels are available if the system bandwidth is xed, or smaller system bandwidth
is required if the number of channels is xed. Reduction in MAI also makes it possi-
ble to forego control packet (RTS/CTS/ACK) exchange which leads to lower protocol
overhead, higher network throughput, lower packet latency, and less energy consump-
tion. Frequency division also decreases the energy consumption due to reduction in
overhearing.
3.4 Hardware Issues
The main concern of our design is the hardware complexity. But we argue that our
system is practical to implement in hardware and will not increase the complexity
of the transceiver design signicantly. In fact, CDMA enabled sensor networks have
2
But a node need to monitor more PN codes which may increase the complexity of the receiver
design.
57
been discussed in literature, e.g., [26][37]. We next discuss the hardware related issues
by using Chipcon CC2420 transceiver as a reference.
Figure 3.5 (a) illustrates the block diagram of the Chipcon CC2420 [89] 2.4 GHz
RF transceiver which is used in the Crossbow Mica Z product. CC2420 is a true
single chip transceiver which is already equipped with a DSSS modem. Figure 3.5 (b)
illustrates the possible block diagram of our transceiver (the dierences are shaded).
We can see several dierences between CC2420 and our design. First, for a full duplex
operation, our design requires a duplexer but can omit the TX/RX control circuit
(normally supported by an outside antenna switch). Recent advances in Thin-Film
Bulk Acoustic Wave (FBAR) resonators technology make it is possible to build low
power bandpass lters and duplexers [90][91]. Since these resonators exhibit high-Q
factors, they have the potential to facilitate the design of low power RF transceivers
used in sensor networks [92]. Second, in the transmission chain, our system requires
dierent PN codes (for data spreading) and dierent transmission frequencies for dif-
ferent neighbours. All these PN code and frequency information can be stored in
memory of the device and does not require signicant increase in hardware (e.g., a
TX frequency control including a mixer and a bandpass lter is required). Third, in
the reception chain, the main dierence lies in the demodulator because a multi-user
detection capability is required in our system. The front-end (LNA, mixer, AGC,
ADC, etc.) is almost the same as CC2420. Since only a limited number of PN
codes are monitored by each node, and also the MAI is reduced signicantly because
of the employment of frequency division, the simplest single-user matched lter can
be used to demodulate CDMA signals rather than the employment of complex op-
timum multi-user detection techniques [100]. Two approaches can be used in the
58
demodulator: parallel processing and serial processing. First, to achieve low latency
performance, multiple matched lters (for multiple PN codes) can be implemented
in the demodulator for parallel processing as shown in Figure 3.6 (a). Because each
node has only a small number of monitoring PN codes (e.g., 6-9) which means only
a small number of lters are required. This leads to a limited complexity increase
in the demodulator. Second, low data rate exhibited in sensor networks implies that
serial processing can be used as shown in Figure 3.6 (b). With serial processing, only
one matched lter (same as CC2420) is required and the monitoring PN codes are
stored in the device memory. When a CDMA signal is received, each monitoring
PN code is loaded to the matched lter and checked against the CDMA signal in
sequence. This approach does not require multiple matched lters but may induce
a bit longer delay compared to the parallel approach. In summary, the increase of
hardware complexity of our system design is limited. Moreover, we will see that there
is signicant performance improvement in our system as evidenced by the simulation
study in Chapter 7.
59
FREQ
0
90 LOGIC
CONTROL
PA
Power
TX/RX CONTROL
M
i
c
r
o
c
o
n
t
r
o
l
l
e
r

I
n
t
e
r
f
a
c
e
SYNTH
Control
LNA
ADC
TX POWER CONTROL
ADC
DAC
DAC
AUTOMATIC GAIN CONTROL
DIGITAL
DEMODULATOR
DIGITAL
MODULATOR
(a)
FREQ
0
90 LOGIC
CONTROL
PA
Power
M
i
c
r
o
c
o
n
t
r
o
l
l
e
r

I
n
t
e
r
f
a
c
e
SYNTH
LNA
ADC
ADC
DAC
DAC
AUTOMATIC GAIN CONTROL
DIGITAL
MODULATOR
Control
D
U
P
L
E
X
E
R
TX FREQUENCY CONTROL
TX POWER CONTROL
Detection
Multiuser
DEMODULATOR
DIGITAL
(b)
Figure 3.5: (a) Block diagram of Chipcon CC2420 transceiver. (b) Block diagram of
our transceiver.
60
s(t)
PN_k
PN_1
PN_2
PN_3
s1(t)
s2(t)
s3(t)
sk(t)
(a)
s(t)
PN_1 Register
ROM
PN_1
PN_2
PN_3
PN_k
s1(t)
(b)
Figure 3.6: (a) Parallel processing. (b) Serial processing.
61
3.5 Radio Spectrum Resources and the Possibility
of Using Frequency Division in Wireless Sen-
sor Networks
Compared to a contention based system or a pure DS-CDMA system, it can be seen
that our system uses more frequency bandwidth. While radio spectrum resource is
scarce, this does not mean that low utilisation of radio spectrum is a good thing.
Radio spectrum resource has dierent characteristics compared to other resources
such as battery power. It is a waste of spectrum resource if the allocated bandwidth is
shared by too many users, and thus causes too much interference. But it is also a waste
of spectrum resource if the allocated bandwidth is not used by any user. A recent
study [12] reveals that only 2% of the spectrum is actually in use in the United States
at any given moment. This percentage may be even lower in many other countries. It
is more important to achieve ecient reuse of current spectrum rather than open up
new spectrum in future wireless communications design. Two of the new technologies,
ultra-wide-band (UWB) and cognitive radio [13], are the promised candidates for the
reuse of spectrum in next generation wireless communication systems.
Contention-based protocols (such as IEEE 802.11, SMAC) for multi-hop ad hoc
and sensor networks use only a single channel. As a result, these protocols can rarely
fully exploit the aggregate bandwidth available dened by the spectrum standards
(e.g., standards dened by FCC). Although some protocols that have been proposed
for ad hoc networks exploit multichannel (see Section 2.3) design, they are fundamen-
tally CSMA/CA based. For most of these proposed protocols, control message (e.g.,
RTS/CTS) exchange is not only essential, but also increased overhead is needed to
62
accommodate channel allocation information. This approach violates our design goal
that control messages should be avoided to achieve energy saving as well as latency
reduction.
There are two main reasons why our proposed FDMA/CDMA protocol can be used
in the low data rate sensor networks rather than in high data rate ad hoc networks.
First, low data rate (e.g., 20 Kbps) operations in sensor networks require much smaller
frequency band than in high data rate (e.g., 2 Mbps) ad hoc networks. For example,
assume that the data rate in sensor networks is 20 Kbps with 50 chip/bit spreading.
The chip rate of the resulting signal will be 1 Mbps. Assume that the bandwidth of
this spread signal is 1 MHz, we can have over 80 frequency channels within 2.4 GHz
(2.4-2.4835 GHz) ISM band. But with IEEE 802.11 standard, assuming 2 Mbps data
rate with 11 chip/bit Barker code, the resulting signal bandwidth will be 22 MHz. As
a consequence, we can only have 4 channels. Note that although IEEE 802.11b and
802.11g divide the 2.4 GHz ISM band into 14 channels [88], they are overlapping and
staggered channels. This makes FDMA design impractical with high data rate 802.11
systems. Secondly, most sensor nodes are normally static which makes the channel
allocation in sensor networks much easier (e.g., can be done once at the deployment
time). While in mobile ad hoc networks, nodes may be moving frequently. This may
cause signicant increase in the channel allocation overhead
3
.
We will see that although our protocol design increases the required bandwidth, it
can achieve much better performance than a pure DS-CDMA system and a contention
based system (see Chapter 7).
3
It is possible to extend our protocol to be compatible with heterogenous sensor networks (e.g.,
a sensor network comprised of both static low-end sensor nodes as well as more powerful mobile
robots).
63
3.6 Broadcasting Trac
One of the problems of using frequency division is how to deal with broadcasting
trac. Considering Figure 3.4, node A and its neighbours are operating on dierent
receiving frequencies, which means the usual method of broadcasting over a common
frequency channel cannot be used.
Broadcasting forms an important part of routing protocols and service discovery in
sensor networks. For example, in directed diusion [64], a node uses ooding to diuse
an interest into the network. Flooding and broadcast are always costly and may cause
seriously redundant re-broadcasts, media contention and packet collisions. In this
dissertation, we propose three dierent schemes to achieve broadcast at MAC layer
with our proposed protocol. In two of these proposals, we require two transceivers
in a sensor. Note that multiple transceiver design is popular in sensor nodes. For
example, both Mica Mote [86] and Pico Node [7] are equipped with dual transceivers.
Our proposed schemes are described below:
1. In the rst scheme, each node employs only one transceiver and transmits a
broadcast packet to its immediate neighbours with multiple unicasts. For ex-
ample, in Figure 3.4, node A unicasts a broadcast packet multiple times to all
its neighbours in turn.
2. In the second scheme, each node employs a second transceiver. This second
transceiver is dedicated to broadcast trac (and possible other control purposes)
and synthesizes to a default frequency channel. With this second scheme, each
node uses a dierent transmitting PN code for broadcast. And each node
monitors the broadcast PN codes of its immediate neighbours.
64
3. In the third scheme, each node employs a second transceiver. The transmission
scheme is the same as IEEE 802.11, where each node transmits broadcast pack-
ets with the same frequency and the same PN code. Note, data spreading in
this case is only for better channel performance but not for multiple access.
Detailed simulations and analysis for these three broadcast schemes are provided in
Chapter 7.3.
3.7 Idle Energy Consumption
As stated before, energy consumption is crucial to prolong the lifetime of a sensor
network. To achieve signicant energy savings, a node should turn o its radio when
it does not participate in data forwarding or no event occurs. A simple way is to allow
each node to sleep and wake up periodically as proposed in SMAC [34]. With proper
coordination, nodes can sleep and wake up with the same duty cycle. Guo [37] et
al. proposed a super low power radio called wake-up radio that can allow the normal
radio to power down during idle listening time. The wake-up radio serves as a small
ear and keeps monitoring the channel signal on a super low power. The monitoring
power is around 1W and the wake-up radio may induce 1 ms delay. Schurgers et
al. [36] proposed a technique to eciently wake up nodes from deep sleep state by
separating the data and wake up with two radios. The wake up radio operates on
low power listening mode and uses a periodic sleep-wakeup scheme similar to SMAC.
The wake up radio does not assume any specic protocols at MAC layer so it can
work with dierent MAC protocols.
Although our design is targeting high network throughput and low packet latency,
65
we would like to emphasise that our design can also accommodate one of these sleep-
wakeup schemes. The combination of our design with one of these schemes can achieve
both high network throughput and low energy consumption.
3.8 Summary
In this chapter, we discussed the disadvantages of traditional contention based MAC
protocols for wireless sensor networks. Contention based MAC protocols suer from
both low network throughput and long packet delay. Since sensor network applica-
tions are expected to utilise low data rate with short data packet size, the RTS-CTS-
DATA-ACK handshake in contention based protocol produces signicant overheads
not only increases the packet latency, but also consumes more energy.
We next discussed the multiple access interference (MAI) in a DS-CDMA system
and its inuence in an ad hoc wireless sensor network environment. The multiple
access interference (MAI) and resulting near-far problem is caused by the non-perfect
orthogonality of pseudo noise codes and may lead to signicant degradation in network
performance (e.g., throughput).
We next described a novel multi-channel (FDMA/CDMA based architecture)
MAC protocol for wireless sensor networks. We elaborated the system architecture
and communication paradigm between a node and its neighbours. We explained qual-
itatively on how the MAI can be reduced signicantly by using frequency division. We
then discussed the hardware related issues and demonstrate that our system design
will not increase the hardware complexity signicantly. We also provide solid analysis
on the radio spectrum resources and the possibility of using FDMA/CDMA design
in low data rate sensor networks. Three schemes to achieve broadcast have been
66
proposed in our protocol design. We nally discussed the idle energy consumption
issue and proposed to adopt one sleep-wakeup scheme from literature in our protocol
design.
Chapter 4
Mathematical Modeling of
Multiple Access Interference
In Chapter 3, we discussed the uncontrollablility of multiple access interference (MAI)
in sensor networks. In order to show how MAI can be reduced by employing frequency
division, we derive an analytical model which shows how the number of frequency
channels can inuence the mean MAI at a given node. The following assumptions
are used in this analysis:
- Sensors are uniformly randomly distributed.
- Each sensor transmits with an independent probability to a random neighbour.
- We assume a random frequency allocation pattern which represents the worst
case compared to the systematic frequency allocation pattern described in Chap-
ter 6. It is worth noting that in this random approach, two (or more) neighbours
may transmit over a same frequency channel.
We assume that the node whose mean MAI we are interested to compute is located
at the origin with receiving frequency f
0
.
67
68
4.1 System Model
We assume a sensor network with h nodes which are randomly and uniformly deployed
into a plane 1 R
2
. For convenience, we assume 1 to be a square [d/2, d/2]
2
,
having area |1| = d
2
, and suppose d and h increase together in such a manner that
h/|1| where 0 < < . Let o denote a bounded Borel subset of 1. For
large d where |1| |o|, and then the chance that o contains precisely k of the
uniformly distributed nodes is given by [98]:
P[k in o] =
_
n
k
__
|o|
|1|
_
k
_
1
|o|
|1|
_
hk
(4.1.1)
As 1 increases, the binomial distribution of equation 4.1.1 is well approximated by
a Poisson process:
P[k in o] =
(|o|)
k
k!
e
S
(4.1.2)
where equals the mean number of nodes per unit area of 1, or node density.
4.2 The Distribution of Interference Power
We rst analyse the distribution of the interference power at the origin which is caused
by a single interfering node
1
. Assume that each node has a bounded normalised
(The normalisation is with respect to antenna gain, system loss, and wavelength)
maximum transmission power P
T
. Let P
R
denote the lowest receiving threshold that
a signal can be successfully received, then by using the propagation law, the maximum
transmission range R
R
is given by R
R
=
n
_
P
T
/P
R
, where n is the path loss exponent
and normally 2 < n < 6. It is worth noting that to make the moment generating
1
the analysis in this subsection is similar to [26] but we adopted a simpler approach.
69
function of the interference power exist, we assume that n ,= 2. Further let P
I
be the
carrier sense threshold, then the interference range R
I
is given by R
I
=
n
_
P
T
/P
I
,
normally R
I
2R
R
.
We assume that each node has perfect power control so that the power level of the
desired signal at the intended receiver equals to P
R
. Now consider that an interference
node i is transmitting to a random neighbour node j as shown in Figure 4.1. The
i
O
y
x
j
I
R R
R
dij
di
Figure 4.1: Interference model.
transmission power of node i is a random variable that is dependent on the distance
between node i and node j. We dene this random variable as x, where
x
ij
= P
R
d
n
ij
d
ij
(0, R
R
] (4.2.1)
Note d
ij
is also a random variable representing the inter-nodal distance. Now, let
B
a
be a disk centered at node i with radius a, and assume that there are k nodes
covered by B
a
. Due to the nature of Poisson process, the distribution of the locations
70
of these k nodes is that of k independent and identically (iid) distributed points with
uniform distribution. Let random variable d denote the distance between i and j,
the cumulative distribution function (cdf) of d under uniform random placement in
a two-dimensional plane is given by
F
d
(d) =
_

_
d
2
a
2
d (0, a]
1 d > a
0 d < 0
(4.2.2)
The correspondent probability density function (pdf) of d is then evaluated by
f
d
(d) =
_
2d
a
2
d (0, a]
0 otherwise
(4.2.3)
We now dene a random variable y d
n
. Using equation 4.2.2 and we get the cdf
of y
F
y
(y) =
_

_
y
2
n
a
2
y (0, a
n
]
1 y > a
n
0 y < 0
(4.2.4)
and pdf
f
y
(y) =
_
_
_
2y
2
n
1
na
2
y (0, a
n
]
0 otherwise
(4.2.5)
From equation 4.2.1 we can see that d
n
ij
= x
ij
/P
R
, use it in equation 4.2.4 and
dierentiate it and we get the density function of x
f
x
(x) =
_
_
_
2x
2
n
1
nP
2
n
R
R
2
R
x (0, P
R
R
n
R
]
0 otherwise
(4.2.6)
We assume that both the node at the origin O and node j use receiving frequency
f
0
. Now consider the interference power at the origin that is caused by transmission
71
from node i to node j. We dene this interference power as a random variable z:
z =
x
ij
d
n
i
=
P
R
d
n
ij
d
n
i
d
ij
(0, R
R
], d
i
(0, R
I
] (4.2.7)
where random variable d
i
denotes the distance of node i to the origin. Note that d
i
also follows the same cdf and pdf as shown in equation 4.2.2 and 4.2.3. We now need
to nd out the distribution function and density function of z.
Because R
R
and R
I
are bounded, z has two integration zones: 0 z < P
R
R
n
R
/R
n
I
and P
R
R
n
R
/R
n
I
z < P
R
R
n
R
. Figure 4.2 shows the relationship between the transmis-
sion power x
ij
and y. In this case, the disk radius a = R
I
. The cdf of z is then given
by:
Zone1: (z [ 0 z < P
R
R
n
R
/R
n
I
)
F
z
(z [ 0 z < P
R
R
n
R
/R
n
I
)
=
_
R
n
I
y=0
_
yz
x=0
f
x
(x)f
y
(y)dxdy
=
_
R
n
I
y=0
__
yz
x=0
2x
2
n
1
nP
2
n
R
R
2
R
dx
_
f
y
(y)dy
=
_
R
n
I
y=0
_
2
nP
2
n
R
R
2
R
_
n
2
x
2
n

yz
x=0
__
f
y
(y)dy
=
_
R
n
I
y=0
1
P
2
n
R
R
2
R
y
2
n
z
2
n
f
y
(y)dy
=
z
2
n
P
2
n
R
R
2
R
_
R
n
I
y=0
y
2
n
2y
2
n
1
nR
2
I
dy
=
z
2
n
P
2
n
R
R
2
R
_
R
n
I
y=0
2y
4
n
1
nR
2
I
dy
=
z
2
n
P
2
n
R
R
2
R
2
nR
2
I
_
n
4
y
4
n

R
n
I
y=0
_
=
1
2
_
R
I
R
R
_
2
_
z
P
R
_2
n
(4.2.8)
72
x =
PR RR
n
RI
n
y
PR R
n
R
RI
n
O
Zone1
Zone2
Larger z
Smaller z
Y
X
Figure 4.2: The relationship between the transmission power x
ij
and y.
73
Zone2: (z [ P
R
R
n
R
/R
n
I
z < P
R
R
n
R
)
F
z
(z [ P
R
R
n
R
/R
n
I
z < P
R
R
n
R
)
=
_
R
n
I
y=0
_
P
R
R
n
R
R
n
I
y
x=0
f
x
(x)f
y
(y)dxdy +
_
P
R
R
n
R
x=0
_
R
n
I
P
R
R
n
R
x
y=
x
z
f
x
(x)f
y
(y)dydx
=
1
2
+
_
P
R
R
n
R
x=0
__
R
n
I
P
R
R
n
R
x
y=
x
z
2y
2
n
1
nR
2
I
dy
_
f
x
(x)dx
=
1
2
+
_
P
R
R
n
R
x=0
_
2
nR
2
I
_
n
2
y
2
n

R
n
I
P
R
R
n
R
x
y=
x
z
__
f
x
(x)dx
=
1
2
+
_
P
R
R
n
R
x=0
_
1
R
2
I
_
R
2
I
x
2
n
P
2
n
R
R
2
R

x
2
n
z
2
n
__
f
x
(x)dx
=
1
2
+
_
1
P
2
n
R
R
2
R

1
z
2
n
R
2
I
__
P
R
R
n
R
x=0
x
2
n
2x
2
n
1
nP
2
n
R
R
2
R
dx
=
1
2
+
2
n
_
1
P
4
n
R
R
4
R

1
z
2
n
P
2
n
R
R
2
I
R
2
R
__
P
R
R
n
R
x=0
x
4
n
1
dx
=
1
2
+
2
n
_
1
P
4
n
R
R
4
R

1
z
2
n
P
2
n
R
R
2
I
R
2
R
__
n
4
x
4
n

P
R
R
n
R
x=0
_
=
1
2
+
1
2
_
1
P
4
n
R
R
4
R

1
z
2
n
P
2
n
R
R
2
I
R
2
R
_
P
4
n
R
R
4
R
=
1
2
+
1
2
_
1
P
2
n
R
R
2
R
z
2
n
R
2
I
_
= 1
1
2
_
R
R
R
I
_
2
_
P
R
z
_2
n
(4.2.9)
The density function of z is then given by:
f
z
(z) =
dF
z
(z)
dz
=
_
_
_
1
n
_
R
I
R
R
_
2
P

2
n
R
z
2
n
1
0 z <
P
R
R
n
R
R
n
I
1
n
_
R
R
R
I
_
2
P
2
n
R
z

2
n
1
P
R
R
n
R
R
n
I
z < P
R
R
n
R
(4.2.10)
Let a = P
R
R
n
R
/R
n
I
, b = P
R
R
n
R
, and = 2/n, we re-write the density function of
z as below:
f
z
(z) =
_

2
a

z
1
0 z < a

2
a

z
1
a z < b
(4.2.11)
74
4.3 Expected Value of MAI at a Given Node
Knowing the interference density for a single interference node, we can compute the
total interference from multiple nodes. Let E be a Poisson process in the plane with
density . The probability law for E is determined by equation 4.1.2. We assume that
the probability that a node is transmitting is equal to p, then the set of transmitting
nodes forms a Poisson process E
t
with parameter
t
= p. Further assume that
there are M frequency channels. And each node selects a frequency channel for
receiving with equal probability (note we assume a random assignment scheme). The
probability that a node is transmitting with a specic frequency (e.g., f
0
) is equal
to p

= p/M. The set of transmitting nodes with a specic frequency also forms a
Poisson process E

t
with parameter

t
= p/M. Now, with each sample function of
E

t
, we can associate the random variable
=

z
k
(4.3.1)
where the summation is over all points of the sample function of E

t
within the disk
that is centered at origin with radius R
I
, we denote the disk as D(R
I
). To nd
out the expected value of MAI at the origin, we work with the moment generating
function of , denoted as

(s). The expected value can then be derived from the


rst derivative of

(s) at s = 0. The moment generating function of is related to


Laplace transform as follows

(s) =
_

0
e
s
f

()d = E[e
s
] s 0 (4.3.2)
75
where f

() is the density function of . Using conditional expectations, this may


be evaluated as

(s) = E[e
s
] = E[E[e
s
[ k in D(R
I
)]]
=

k=0
e

t
R
2
I
(

t
R
2
I
)
k
k!
E[e
s
[ k in D(R
I
)] (4.3.3)
where k in D(R
I
) is the event that there are k transmitting nodes with the same
frequency (f
0
) in disk D(R
I
), and the expectation is over the random variable .
Now, given that there are k transmitting nodes with a specic frequency (f
0
) in
disk D(R
I
), and since the moment generating function of the sum of a number of
independent random variables is the product of the individual moment generating
function, we have
E[e
s
[ k in D(R
I
)] =
__

0
e
sz
f
z
(z)dz
_
k
(4.3.4)
Because e
x
=

n=0
x
n
/n! (Maclaurin series of e
x
),

(s) can be rewritten as:

(s) = e

t
R
2
I

k=0
(

t
R
2
I
)
k
k!
__

0
e
sz
f
z
(z)dz
_
k
= exp
_

t
R
2
I
__

0
e
sz
f
z
(z)dz 1
__
(4.3.5)
Using equation 4.2.11 in above equation, and after some simplication and substitu-
tion, we obtain

(s) = exp
_
pR
2
I
M
_
a

2
_
a
0
e
sz
z
1
dz +
a

2
_
b
a
e
sz
z
1
dz 1
__
(4.3.6)
76
We then get the rst dierentiation of

(s) as below

(s) =
d

(s)
ds
=
_
pR
2
I
M
_
a

2
_
a
0
e
sz
z

dz
+
a

2
_
b
a
e
sz
z

dz
__
exp
_
pR
2
I
M
_
a

2
_
a
0
e
sz
z
1
dz
+
a

2
_
b
a
e
sz
z
1
dz 1
__
(4.3.7)
The expected value of can be obtained as follows
=

(0) =
d

(s)
ds

s=0
=
_
pR
2
I
M
_
a

2
_
a
0
z

dz +
a

2
_
b
a
z

dz
__
exp
_
pR
2
I
M
_
a

2
_
a
0
z
1
dz +
a

2
_
b
a
z
1
dz 1
__
=
_
pR
2
I
M
_
a

2
z
1+
1 +

a
z=0
+
a

2
z
1
1

b
z=a
__
exp
_
pR
2
I
M
_
a

2
z

a
z=0
+
a

2
z

b
z=a
1
__
=
pR
2
I
M
_
a
2( + 1)
+
a(1 (a/b)
1
)
2( 1)
_
exp
_
pR
2
I
M
_
1
2
+
1 (a/b)

2
1
__
=
apR
2
I
2M
_
1
+ 1
+
1 (a/b)
1
1
_
exp
_

pR
2
I
2M
_
a
b
_

_
(4.3.8)
Equation 4.3.8 gives the expected value of the mean multiple access interference power
at a given node in relation to the number of frequency channels.
As an example, Figure 4.3 shows the mean MAI versus the number of frequency
channels with the following parameters: = 0.01, P
R
= 70dBm, R
R
= 25m,
77
0 10 20 30 40 50 60 70 80 90 100
95
90
85
80
75
70
65
60
Number of frequency channels
M
e
a
n

m
u
l
t
i
a
c
c
e
s
s

i
n
t
e
r
f
e
r
e
n
c
e

p
o
w
e
r

(
d
B
m
)
p=1
p=0.5
p=0.1
=0.01
P
R
= 70dBm
R
R
= 25m
R
I
= 50m
n = 4
Figure 4.3: Mean MAI versus number of frequency channels.
R
I
= 50m, and n = 4. We can observe that the mean MAI reduces sharply with the
employment of a small number of frequency channels. For instance, the mean MAI
with p = 1 and one frequency is 62.2 dBm, the mean MAI reduces to 72.1 dBm
with 10 frequency channels. This almost equals to 10 fold reduction, which is an
expected result since 10 frequency channels have been used. Figure 4.3 also reveals
that further increase in the number of channels has less eect on the MAI reduction.
Figure 4.4 shows the mean MAI versus node transmission probability with dierent
number of frequency channels. We see that the MAI increases with the increase of
transmission probability. But in general, the more the frequency channels, the lower
the mean MAI.
Above analysis reveals that by using multiple channels, the uncontrollable MAI
78
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
100
95
90
85
80
75
70
65
60
Node transmission probability
M
e
a
n

v
a
l
u
e

o
f

M
A
I

a
t

a

g
i
v
e
n

n
o
d
e

(
d
B
m
)
m=1
m=10
m=30
m=60
Figure 4.4: Mean MAI versus node transmission probability.
can be reduced signicantly. Reduction of uncontrollable MAI makes it possible
to forego control packet (e.g., RTS/CTS/ACK) exchange which is necessary in a
contention based protocol. This leads to lower protocol overhead, higher network
throughput, lower packet latency, and less energy consumption in our protocol design.
Our simulation results (presented in Chapter 7) also show that our system achieves
the design goals. The trade o of our design is that more frequency channels are
used. The possibility and benet of employing frequency division have already been
discussed in section 3.5
79
4.4 Summary
In this chapter, we derived an analytical model which shows how the number of
frequency channels can inuence the mean MAI at a given node. We rst derived
the density function of interference power from a single interference node. We then
derived the expected value of the multiple access interference (MAI) at a given node
with multiple interference nodes.
Our mathematical analysis shows that by employing a small number of frequency
channels, which is the trad o in our protocol design, the mean MAI at a given node
can be reduced signicantly.
Chapter 5
Network Formation
In this chapter, we focus on the network formation phase which is required at the
beginning of the deployment of a sensor network. Since sensor networks are normally
infrastructure-less and lack a centralised base station, it is impractical to rely on man-
ual conguration of a sensor network. Instead, sensors must self-organise themselves
and form a connected network. In our protocol design, the network formation is
based on nodes dynamically discovering themselves and selecting suitable neighbours
to form a connected multi-hop network topology. This enables our protocol to be
exible and scalable to large scale wireless sensor networks.
In our protocol design, we assume that sensors are normally quasi-static nodes
after deployment so that we can conduct our network formation process only once.
Further study of topology changes due to nodes death or mobility is not within the
scope of this dissertation. The network formation phase in our protocol is illustrated
in Figure 5.1 and we make the following assumptions:
- Each node starts up at similar time and can loosely synchronise at the beginning
of network deployment.
- Each node can estimate its location or relative location.
80
81
Node Startup Location Broadcast Topology Formation Channel Allocation Normal Operation
Time Sync
Figure 5.1: Network formation phases.
Figure 5.1 shows that the network formation in our protocol design includes fol-
lowing phases:
- Node Startup We assume that sensors can power on simultaneously after
deployment and can loosely synchronise before the Location Broadcast phase.
- Location Broadcast In this phase, each node broadcasts its node information
as well as location information to its radio range neighbours.
- Topology Formation In this phase, each node selects its own neighbours based
on a pre-selected topology control protocol.
- Channel Allocation In this phase, nodes execute the distributed channel alloca-
tion algorithm to dynamically allocate frequencies and PN codes to themselves.
- Normal Operation Sensor network enters the normal operation phase.
5.1 Location Broadcast
In Location Broadcast phase, each node broadcasts its node information as well as
it location information to its radio range neighbours in a common control channel.
Because of the randomness of packet transmissions in this common control channel,
it is possible for a packet sent by a node to collide with packets sent by some others.
82
Due to lack of acknowledgement in broadcasting, large contention windows and/or
multiple transmissions are required for a node to re-assure the successful delivery of
the same message to all neighbours.
Lemma 1 (see Chapter 3.1) provided the crude lower bound that no contention
occur in a wireless channel when there are multiple nodes contending for the media.
If we employ large contention windows and/or allow each node transmit a broadcast
packet several times, the probability to achieve at least one successful delivery can be
expressed as follows:
p = 1
_
1 exp
_

3h(h 1)
2m
__
n
(5.1.1)
where h denotes the number of nodes that are contending for the channel, m denotes
the contention window size, and n denotes the number of times that a packet will
be transmitted. Figure 5.2 illustrates the probability for a successful delivery with
dierent number of contending nodes. From these gures, we can see that to achieve
probability of successful delivery near 1, we can either increase the contention window
size or the number of transmissions or both. For example, assume that there are
20 contending nodes, further assume that the contention window size m = 10000,
Figure 5.2 (a) shows that to achieve probability of a successful delivery near 1, we
can set the number of transmissions n = 2. With the transmission time of each packet
is in the order of milliseconds, and further assume that m = 10000, the duration for
each re-transmission period is in the order of tens of seconds. Even if we assume that
each node transmits a packet several times, the total time period for the location
broadcast is within several minutes. Compared to the lifetime of a sensor node,
which is normally several months or years, the time consumed is almost negligible.
In addition, Lemma 1 provides only a crude lower bound on the probability that no
83
Figure 5.2: The probability for a successful delivery with dierent number of contend-
ing nodes. Where in (a) h = 20, (b) h = 30, (c) h = 40, (d) h = 50.
contention will occur, and much smaller value of contention window can be used in
practice. Moreover, Lemma 1 assumes that each node transmits directly based on its
randomly selected contention window without considering any other transmissions in
its vicinity. The contention window size can be reduced even further if we assume
that each node has carrier sense capability.
84
5.2 Topology Formation
In Topology Formation stage, each node selects its own neighbours based on a topology
control protocol to limit the number of neighbours (or node degree). This step is
important because it limits the number of frequency channels required by our system.
A simple topology control protocol called K-Neigh [66] is adopted in our current
protocol design. In K-Neigh, each node keeps up to a xed number of k nearest
neighbours and removes those neighbours with unidirectional links. When setting
k = 9, the K-Neigh protocol provides network connectivity with high probability
(e.g., at least 0.95). The performance comparison with dierent topology control
protocols is part of our future work.
After the Location Broadcast phase, a node i uses the following steps to form the
topology
- Node i selects k nearest nodes as its neighbours, denoted as L
i
(if i has less
than k neighbours, L
i
is the list of all neighbours).
- Node i then announces its ID and L
i
with the transmission power that can
reach the furthermost neighbour node in L
i
. The same broadcast approach can
be used as we discussed in Section 5.1, e.g., each node employs large contention
windows and/or transmits a packet multiple times.
- Node i then calculates the set of symmetric neighbours
1
in L
i
based on the L
j
received from its neighbours j. Let L
S
i
denote the list of symmetric neighbours
of node i.
1
Node i and j are said to be symmetric neighbours if and only if i L
j
and j L
i
.
85
After these steps, node i considers its neighbours only the nodes in L
S
i
and commu-
nicates directly with these neighbours.
5.3 Channel Allocation
The last step of network formation is to allow each node to setup communication
channels with all its neighbours. The detailed channel allocation algorithm and pro-
tocol will be discussed in Chapter 6.
5.4 Summary
In this chapter, we described the network formation process which includes several
phases. To achieve exible and scalable networks, the network formation in our
protocol is based on nodes dynamically discovering themselves and selecting suitable
communication neighbours to form a connected multi-hop network topology.
We provided analysis to achieve high probability of successful delivery of a broad-
cast packet in a wireless environment. We demonstrated that by employing large
contention windows and/or transmitting a packet multiple times can increase the
probability for a successful delivery. We then described the topology formation pro-
cess based on the K-Neigh protocol. Channel allocation algorithm and protocol will
be discussed in Chapter 6.
Chapter 6
Distributed Channel Allocation
Protocol
Sensor networks are expected to have hundreds if not thousands of nodes. So it
is infeasible to assign each node a unique frequency channel or spreading code. To
achieve a exible and scalable sensor network, a limited number of frequency channels
and spreading codes must be reused spatially. Moreover, lack of centralised base
station in a sensor network means a centralised algorithm is not a practical choice.
Instead, a distributed algorithm must be used.
Earlier in Chapter 3.3.1, we described the steady state operation of our proposed
protocol and Figure 3.2 (for convenience, we reprint it in Figure 6.1) illustrates the
frequency channel allocation pattern during the steady state. In this chapter, we
describe the distributed channel allocation algorithm to achieve the frequency alloca-
tion pattern. After this last step in the network formation (see Figure 5.1), all nodes
in the network enter the Normal Operation phase. We again assume that nodes are
loosely synchronised and can start channel allocation process at similar time.
86
87
f4
f3
f4
f7
f2
f6
f1
f5
f7
f7
f1
f2
f1
f6
f2 f3
D
A
B
C
E
F
G
H
I
J
K
L
M
N
O
P
Figure 6.1: Frequency allocation pattern vertex colouring.
6.1 Distributed Channel Allocation Algorithm
In this section, we elaborate the distributed channel allocation algorithm to achieve
the vertex colouring scheme proposed in our design architecture in Chapter 3.3. It is
well known that the vertex colouring problem is a strong NP-complete problem and
no optimal algorithm is known to date. However, the heuristic algorithm proposed
in this section can be used to achieve the proper colouring for random graphs. The
algorithm presented in this section is based on the work in [76] (has been reviewed
in section 2.6) but we modied the work in [76] to be compatible with our system
architecture.
At this point, we assume that sensors are asynchronous and broadcast of each
node can be successfully received by all of its one hop neighbours. We will relax this
88
assumption in section 6.4.
Assume that a sensor network has n nodes and each node can be ordered by
assigning a unique identier 1, 2, . . . , n according to any specied criterion (e.g., a
unique node id, decreasing/increasing number of neighbours, etc.). Let H1(i) be the
set of nodes j which are one hop away from node i such that j < i, i = 1, 2, . . . , n.
Let H2(i) be the set of nodes j which are two hops away from node i such that
j < i, i = 1, 2, . . . , n. We denote PACKET(i, k) the control packet which is sent
by node i to its one hop and two hop neighbours to indicate that channel k has
been denitively assigned to node i. We also assume that each node maintains a
ChannelPool which contains all available channels that can be assigned to this node.
The distributed channel allocation algorithm is shown in Algorithm 1.
During the channel assignment phase, each node monitors the common control
channel and only processes control packets coming from its one hop neighbours (Al-
gorithm 1 assumes that all control packets are from one hop neighbours). A node
cannot assign a channel to itself until its counter reaches zero. As an example, we
describe the channel assignment process for node G in Figure 6.1. We assume that the
ordering of nodes is in alphabetical order. It is easy to obtain that H1(G) = A, B, F
and H2(G) = C, D, E, so counter = [H1(G)[ + [H2(G)[ = 6 initially. When a
PACKET(j, k) arrives at node G from a node h when Gs counter is larger than zero,
following scenarios may happen:
1. If h H1(G) and j = h, so j < G, e.g., PACKET(A, f5) from node A,
node G decreases counter by one, removes f5 from ChannelPool, and marks
A as checked
1
. Node G then re-broadcasts PACKET(A, f5) to its one hop
1
Further copies of PACKET(j, k) that is re-broadcasted from Gs other one hop neighbours will
be discarded.
89
Input : H1(i), H2(i), i = 1, 2, . . . , n; ChannelPool: all available channels.
Output : Each node is assigned a unique channel which is dierent from its one
hop and two hop neighbours.
counter = [ H1(i) [ + [ H2(i) [ ;
while counter > 0 do
if PACKET(j, k) is received from j then
counter = counter - 1 ;
remove k from ChannelPool;
broadcast PACKET(j, k);
else if PACKET(j, k) is received and j H2(i) then
counter = counter - 1;
remove k from ChannelPool;
else
discard PACKET(j, k)
end
end
k

= random select a channel from ChannePool;


channel[i] = k

;
broadcast PACKET(i, k

);
Algorithm 1: Distributed Channel Allocation Algorithm.
90
neighbours.
2. If h H1(G) and j H2(G), and so j < G, e.g., PACKET(D, f3) from node
A, node G decreases counter by one, removes f3 from ChannelPool, and marks
D as checked.
3. If j / H1(G) H2(G), node G discards PACKET(j, k).
As soon as PACKET(j, k) has been received from all j H1(G) H2(G), counter =
0, node G will self-assign a channel, say f1, through a random selection from the
ChannelPool. Node G then broadcasts PACKET(G, f1) to its one hop neighbours.
Note that even after node G has assigned itself a channel, it must continue to re-
broadcast PACKET(j, k) from its one hop neighbour h if j = h.
We next validate the correctness of our proposed algorithm. We represent a sensor
network by a graph G(V, E) after the Topology Formation phase, where V is the set
of nodes, and E is the set of links. Further assume that the node degree of G is ,
and there are n nodes in the network. The correctness of our algorithm is then given
by following theorem.
Theorem 1. The distributed channel allocation Algorithm 1 converges (e.g., no dead-
lock) with correct channel assignments. The complexity of the algorithm is O() per
node and O(n) for the whole network.
Proof: To validate the correctness of our proposed algorithm, note that:
1. Each node waits for the control packets coming from its one hop and two hop
neighbours that have smaller identiers before it can assign a channel to itself.
2. There is at least one node having empty H1 and H2 set, which can immediately
assign itself a channel and initiate the algorithm.
91
3. Each node only randomly selects its own channel from ChannelPool which ex-
cludes channels that have been assigned by its one hop and two hop neighbours
with smaller identiers.
4. Each node needs to broadcast its own control packet as well as control packets
PACKET(j, k) from all of its one hop neighbours h if h = j. In the worst case,
each node needs to broadcast + 1 packets if we assume that all nodes are
asynchronous. Thus the number of control packet to be sent is O() for each
node. Since there are n nodes in the network, the overall packets that need to
be sent is upper bounded by O(n).
Above conditions together guarantee that no deadlock can occur and the distributed
algorithm converges within a nite time.
Our NS-2 simulations (see Chapter 7) also conrm that the algorithm converges
with correct channel assignments. The runtime complexity of Algorithm 1 is O(max(n,
2
)).
There are two worst cases: 1) a node may receive [H1[ + [H2[ =
2
control packets
before it can self-assign a channel, hence O(
2
); 2) all nodes are deployed in a chain
such that node 1 is connected to node 2, which is connected to node 3, which is
connected to node 4, etc., hence O(n). However, our simulations reveal that when
nodes are uniformly randomly deployed, the average complexity is much better than
the worst cases.
6.2 Dierent Colouring Patterns
Before we describe the frequency assignment and code assignment in our protocol, we
would like to discuss several colouring patterns that have been proposed in literature
92
for dierent purposes. These colouring patterns have minor dierences and may
sometimes be easily confused. We use Figure 6.2 to explain these dierences.
F
G
A
B
C
E
D
H
Figure 6.2: Dierent colouring patterns.
Following three vertex colouring (two-hop and/or one-hop) patterns (schemes)
have been proposed in literature:
1. Vertices at two hops away are coloured with dierent colours (e.g., [37][76]).
2. Vertices sharing a common neighbour cannot have the same colour (e.g., [72]).
3. No two vertices receive the same colour if they are either adjacent, or have a
common neighbour (e.g., our Algorithm 1).
In the rst colouring pattern, two vertices at two hops away cannot have the same
colour, but it does not prohibit one hop neighbours to receive the same colour. So
with the rst colouring pattern, node A and node E cannot have the same colour
93
because they are two hop neighbours (they share two common neighbours B and
C). Node B and node D cannot have the same colour for the same reason and they
share two common neighbours, A and C. Node E and node D cannot have the same
colour and they only share one common neighbour, C. But node E, F, G can have
the same colour because they are one hop neighbours (although two of them share
the other node as a common neighbour). This colouring pattern is used in [76] for
code (CDMA orthogonal PN code) assignment in a multi-hop packet radio network
to eliminate hidden terminal problem. Because hidden terminal problem only occurs
when two nodes cannot hear each other but have at least one common neighbour, the
algorithm based on the rst colouring pattern works well even when multiple one hop
neighbours receive the same code (colour) because they can hear each other so that
hidden terminal problem will not occur. In fact, the objective in [76] is to minimise
the number of codes (colours) used in the assignment so that all one-hop neighbours
receiving the same code (colour) is a preferred colouring scheme.
The dierence between the second and rst pattern lies in that the second patter
prohibits two nodes to have the same colour if they share a common neighbour. So
node E, F, G must have dierent colours because each pair of them share the next
node as a common neighbour. On the other hand, the pair of node H and node D,
or the pair of node H and node G can have the same colour. Because neither the
pair of node H and node D nor the pair of node H and node G have a common
neighbour, they are allowed to have the same colour. Note that node D and node
G cannot have the same colour because they share a common neighbour node H.
This is the colouring pattern used in [72]. The third colouring pattern diers from
the second pattern in that it prohibits two one-hop neighbours to receive the same
94
colour, no matter whether they have a common neighbour or not. So node H, D, G
must have dierent colours. This is the colouring pattern used in our frequency
allocation pattern as shown in Figure 6.1. Algorithm 1 is used to achieve the third
colouring pattern.
6.3 Frequency Assignment and Code Assignment
In this section, we describe the theoretical value of the number of required frequencies
and PN codes in our protocol. The number of required channels in practice can be
found in Chapter 7.2.
The frequency assignment belongs to the third colouring scheme which has been
discussed in section 6.2. In the worst case, a node can be assigned colour 1 + +
(1) =
2
+1. So the upper bound of the number of required colours (channels)
k can be expressed as:
k = min
2
+ 1, [V [ (6.3.1)
Thus any graph (network) can be coloured with O(
2
) colours. In our protocol,
frequency assignment can be achieved by using Algorithm 1.
There are several schemes for the PN code assignment: receiver-based, transmitter-
based, or pairwise code assignment [74][75]. Since frequency channel assignment
is receiver-based, PN code assignment should use either transmitter-based, where
each neighbour of a given node should have a dierent code for transmitting; or
transmitter-receiver pair (link) based, where no two adjacent directed links have the
same code. The receiver-based code assignment cannot be used because two concur-
rent transmissions to the same node will be indistinguishable. The transmitter based
95
code assignment belongs to the second colouring scheme which has been discussed in
section 6.2. Since frequency assignment can guarantee that a given node and all its
one hop neighbours have dierent receiving frequencies, it does not matter if two one
hop neighbours select the same code as long as they do not have a common neighbour.
The minimum number of required colours (codes) k for the transmitter-based code
assignment is given by
k = min(1) + 1, [V [ (6.3.2)
The pairwise scheme is an edge colouring problem in graph theory and requires a
smaller number of colours (codes) than transmitter based scheme, e.g.,
k = (6.3.3)
Both schemes can be used in our protocol.
The transmitter based code assignment can be achieved by using Algorithm 1
with the following minor modication. When node i receives a PACKET(j, k) from
node j, node i checks if it has a common neighbour with node j, if not, node i will not
remove k from the ChannelPool. Note that this minor modication actually increases
the complexity and runtime of the algorithm because a node need to nd out whether
it has a common neighbour with the sending node. For algorithmic simplicity, this
minor modication may not be necessary implemented. So Algorithm 1 can also be
used directly for the transmitter-based code assignment as long as there are enough
PN codes.
For pairwise code assignment, a much simpler algorithm can be used. A given
node X may select monitoring PN codes for all of its one hop neighbours and then
broadcast its selections to them. Each one hop neighbour of node X then uses the
pre-determined PN code by X for transmitting to X.
96
6.4 Random Channel Assignment
At the beginning of section 6.1, we assumed that sensors are asynchronous and can
communicate by exchanging control messages successfully, e.g., a broadcast packet
from node i can be successfully received by all is one hop neighbours. Because
the channel assignment process is sequential (e.g., each node only assigns channel to
itself after all its neighbours in H1 H2 have done so) in Algorithm 1, the collision
probability is actually much lower than normal broadcast trac as we discussed in
Chapter 5.1. However, our simulations reveal that potential collisions still exist.
To resolve this problem, we can employ large contention windows and/or allow
each node to transmit a packet multiple times. But because the runtime complexity
of Algorithm 1 is O(max(n,
2
)), it may take much longer time to achieve network-
wide optimised channel allocation if n is large and/or is high. An alternative is to
employ a random channel allocation scheme (as we used in mathematical modeling
of MAI in Chapter 4) at the beginning of network formation. For example, each node
only selects its frequency and PN code randomly and broadcasts this information
during the Topology Formation phase. Random assignment of channels does not
disrupt communications but only degrades the performance slightly. We will see
later from our simulation results (see Chapter 7) that a random assignment scheme
still achieves reasonably high performance. With this random allocation scheme, the
network can become operational in a short time. After this, Algorithm 1 can be used
to gradually correct the channel assignment to improve the network performance.
This gradual correction procedure does not mean that the network initiates a specic
channel allocation process. The channel allocation information (such as node id
and channel number) can be embedded in the normal communication packet, e.g.,
97
a normal broadcast packet. When a nodes counter reaches zero, it can assign a
channel to itself. A node may rst check if its randomly selected channel violates the
colouring criteria. If no violation occurs, the node simply retains its original selected
channel and informs its neighbours in the next broadcast packet that its channel
assignment is done. If there is a violation, a node may select a new channel but
only switches to this new channel until its next broadcast packet has been sent out
(with the channel allocation information embedded). This broadcast packet is used
to inform its neighbours that its channel assignment is done. We expect that
1. Part of the nodes original selected channels can meet the colouring criteria so
no re-assignments are required for these nodes.
2. If a node needs to re-assign a new channel, it will inform its neighbours through
broadcast. Since a node broadcasts with a PN code which is dierent from its
neighbours
2
, it has better chance that the broadcast packet can be correctly
received by most of its neighbours if not all.
3. For a node that can not receive (possibly due to MAI and collision) the broadcast
packet from its neighbour in the rst time, it may lose connection with this
neighbour temporarily. But this can be xed by the next broadcast packet sent
by the same neighbour.
Since the network is operating with the random assignment, the correction procedure
can be executed smoothly. For example, the network can execute the broadcast PN
code correction rst to guarantee that broadcast packet can have better chance to be
2
Note that random assignment does not guarantee 100% dierent PN codes, but the employment
of multiple PN codes increases the probability of successful receipt signicantly.
98
received by all one-hop neighbours. The frequency and unicast PN code correction
procedure can be executed after this.
6.5 Summary
In this chapter, we described a distributed channel allocation protocol for frequency
assignment and code assignment in the last phase of network formation. We proved
the convergence and correctness of our algorithm. We discussed several colouring
patterns and compared their dierences and similarity. We discussed the frequency
assignment and code assignment and the theoretical value of the required channels
(colours) for dierent colouring schemes. We also proposed a random channel as-
signment scheme to achieve quicker network formation because of its simplicity. Our
proposed algorithm can then be used to gradually correct the channel assignment to
improve the network performance.
Chapter 7
Simulation and Analysis of
CSMAC
In this chapter, we provide detailed simulation and analysis for our proposed mul-
tiple channel media access control (MAC) protocol, CSMAC, which was presented
in Chapter 3. The study has been performed by using the discrete event network
simulator NS-2. Our simulations include four sections:
1. Evaluation of the channel allocation protocol and the number of channels re-
quired in practice.
2. Performance comparison of dierent broadcasting schemes proposed in Chap-
ter 3.6.
3. One hop performance comparisons including a contention based MAC protocol,
SMAC [34].
4. Multiple hop performance comparisons with upper layer routing protocol: di-
rected diusion [64].
We rst describe the general simulation setup.
99
100
7.1 General Simulation Setup
In our simulations, frequency division is implemented at the wireless physical layer
in NS-2. If a packet is received within the allocated frequency band of the node, the
packet will be passed to the upper layer (MAC) for further processing; otherwise the
packet is discarded. Directed sequence spread spectrum (DSSS) is implemented as a
PN code attribute (not real PN code) in packet header. When a packet is received,
its PN code is checked against the PN codes monitored by the receiver. If a match
is found, the packet is passed to the next step for further processing. If no match is
found, the packet is discarded. This procedure is used to simulate the de-spreading
process.
All simulations are conducted based on the same network topology structure:
where 100 nodes are uniformly randomly deployed in a 100m 100m square area.
We adopted the simple topology control protocol K-Neigh [66] in our simulations.
In order to compare dierent protocols, it is important to have good models for
all aspects of the communication system. We next describe the general simulation
settings that are used in our studies for radio propagation, communication energy
dissipation, MAI threshold, capture threshold, and other related parameters.
7.1.1 Radio Propagation and Energy Dissipation Model
In our simulation, we adopted the log distance path loss propagation model and we
provide a brief review in this subsection. The log distance path loss model can be
expressed with following equation.
PL(d)(dB) = PL(d
0
)(dB) + 10nlog
_
d
d
0
_
(7.1.1)
101
where n is the path loss exponent, d
0
is a free space reference distance corresponding
to a point located in the far eld of the transmitter antenna. PL(d
0
) represents
the path loss based on the free space path loss model. d represents the transmitter-
receiver separation distance. PL(d) is the average path loss for a given value of
d. It is important to select a free space reference distance that is appropriate for
the propagation environment. For example, in large coverage cellular systems, 1 km
reference distance is commonly used, whereas in micro-cellular systems, much smaller
distance (such as 100 m or 1 m) is used [94]. In our micro-sensor system, we set this
reference distance to 1 meter. The receiving power at a given node which has distance
d to the correspondent transmitter can be expressed as
P
r
(d)[dBm] = P
t
[dBm] PL(d)[dB] (7.1.2)
where P
r
(d) denotes the receiving power at distance d in dBm, and P
t
denotes the
transmitter power in dBm. PL(d
0
) in Equation 7.1.1 is calculated based on the Friss
free space equation as follows:
P
r
(d) =
P
t
G
t
G
r

2
(4)
2
d
2
L
(7.1.3)
where P
r
(d) is the receiving power given a transmitter-receiver separation of d, P
t
is the transmission power, G
t
is the gain of the transmitting antenna, G
r
is the
gain of the receiving antenna, is the wavelength of the carrier frequency, d is the
distance between the transmitter and receiver, and L 1 is the system loss factor
not related to propagation. Friss free space equation models the signal attenuation
when the transmitter and receiver have direct line-of-sight communication, which will
only occur if the transmitter and receiver are close to each other (e.g., d = d
0
). In
the experiments presented in this chapter, an omnidirectional antenna was assumed
102
with the following parameter settings: G
t
= G
r
= 1, no system loss so L = 1, and we
use 2.4 GHZ (2400 MHz - 2483.5 MHz) ISM band.
We adopted a simple energy dissipation model which is also used in LEACH
[33]. The model is shown in Figure 7.1. This model separates the electronic energy
d
Electronic
Transmit
Electronic
Receive
Tx Amplifier
k bit packet
k bit packet
Figure 7.1: Radio energy dissipation model
consumption, which is distance independent, and the power amplier energy con-
sumption, which is distance dependent, at the transmitter side. We also assume that
the transmission power can be adjusted with 1 dBm step. This is to make it simi-
lar to the hardware power control in sensor (and also mobile) network deployment.
Note that this means power control in our simulation is not perfect as we assumed
in the mathematical modeling in Chapter 4. The transmission power is calculated
based on distance between a transmitter and a receiver according to Equation 7.1.1
Equation 7.1.3. The calculated transmission power (perfect value in mW) is then
rounded to the corresponding upper power level (in dBm rather than in mW). This
dBm value is then stored as the correspondent power level for communicating to the
receiver. When a packet is ready to send to the receiver, this dBm value is trans-
formed to mW value again (note this value is not equal to the perfect value) and then
used in the real packet transmission.
103
7.1.2 MAI Threshold and Capture Threshold
One of the most important parameter in a DS-CDMA system simulation is the MAI
Threshold, which is dened as the maximum ratio between the total interference
signal power and the desired signal power. We consider a simple DS-CDMA system,
where BPSK modulation and a convolution code with rate 1/2 are used. Further
assume that the processing gain L = 50 and the required E
b
/N
0e
is 5 dB. Ignoring
the thermal noise, the MAI threshold is then calculated using equation 3.2.2:
MAI Threshold =

k
i=1
P
i
P
0
= 23.72 = 13.75 dB (7.1.4)
where this number represents that when the ratio between the interference signal
power and the desired signal power is larger than 13.75 dB, the FEC (Forward Error
Correction) will not be functioning properly and the required BER (Bit Error Rate)
cannot be achieved. The consequence is that the packet is damaged due to MAI.
Unlike MAI Threshold in a DS-CDMA system, we use Capture Threshold in a
contention based spread spectrum environment. Capture Threshold is dened as the
ratio between the intended signal power versus the interference power, which is just
the reciprocal of Equation 7.1.4
Capture Threshold =
P
0

k
i=1
P
i
(7.1.5)
With spread spectrum modulation, it is possible for the strongest signal to successfully
capture the intended receiver, even when there are many other transmission signals.
Normally, the closest transmitter is able to capture the receiver because of its small
propagation path loss. This is called the near-far eect. In our simulation study,
we assume that the contention based protocol (e.g., SMAC) also employs spread
spectrum modulation as IEEE 802.11. For example, we assume that SMAC also
104
spreads its baseband signal (e.g., 20Kbps) with a specic 50 chip/bit PN code (so
that the resulting signal is 1 Mbps). For simplicity, we set the capture threshold to
10 dB which is the default value of the CMU wireless extensions to NS-2.
Note that the MAI Threshold is used in a DS-CDMA system where multiple
PN codes are employed for multiple access. And multi-user detection technique is
employed at the receiver side to distinguish multiple simultaneous transmissions to a
same node. Capture Threshold is used in a spread spectrum system where a single
PN code is employed by all nodes. Spread spectrum is used to achieve better channel
performance (e.g., anti-jam, anti-multipath, etc.) but not for multiple access.
7.1.3 Simulation Parameters
In this subsection, we list and explain all the other parameters used in the simulation
study in this chapter. The parameters are shown in Table 7.1. Besides the radio
propagation, energy dissipation, MAI threshold, and capture threshold that have
been discussed before, the other parameters are explained as follows:
- Processing Gain: DS-CDMA processing gain is dened as the ratio between
the spread data rate and the baseband data rate. In our simulation, we assume
that the PN code has the same value as the processing gain, e.g., 50 chip/bit.
- Data Rate: This is the baseband data rate (e.g., before spreading). After
spreading, the resulting signal will be 1 Mbps. This is the same for all protocols
simulated in this chapter (e.g., CSMAC, SMAC, CDMA, etc.).
- Data Packet Size: For implementation simplicity, we assume that all data pack-
ets have the same size, e.g., 50 bytes. This is the default setting in SMAC NS-2
105
Table 7.1: Parameters used in simulations.
Processing Gain 50
MAI Threshold 13.75 dB
Data Rate 20 Kbps
Data Packet Size 50 Bytes
CSMA Control Packet (RTS/CTS) Size 10 Bytes
CSMA Contention Window Size for Data Packet 63
CSMA Capture Threshold 10 dB
Radio Propagation Model Log distance path loss
Reference Distance 1 meter
Path Loss Exponent 3
Antenna Gain 1
System Loss l
Rx Threshold 1e-10 W
Carrier Sense Threshold 1e-11 W
Tx Electronic Power 10e-3 W
Rx Electronic Power 10e-3 W
Maximum Tx Power 5e-3 W
Power Amplier Eciency 1
Tx Power Step 1 dBm
ISM Frequency Band 2.4-2.4835 GHz
implementation.
- CSMA Control Packet Size: This is the packet size for the control packet such
as RTS, CTS, ACK used in contention based MAC protocol. All control packets
are assumed to have the same size, e.g., 10 bytes. This is also the default setting
in SMAC NS-2 implementation. Note that RTS/CTS in SMAC not only used to
reduce collisions and hidden node problem, but also used to turn o unintended
receivers to reduce overhearing energy consumption.
- CSMA Contention Window Size for Data Packet : This parameter represents
the contention window size used in the distributed coordination function (DCF)
106
for a CSMA/CA based protocol. It is a xed value. The value is also the default
setting in SMAC NS-2 implementation. Note that in SMAC the RTS retry limit
is set to 5, which means that the maximum number of RTS retries for sending a
single data packet is 5. If a node fails 5 times of RTS retries for a data packet,
the packet will be dropped.
- Rx Threshold: This parameter denotes the minimum required signal power at a
receiver for a correct decoding and receiving. If a packet is received with signal
power equal or larger than Rx threshold, the packet will be received correctly.
- Carrier Sense Threshold: This parameter denotes the minimum power at a
receiver that the signal can be detected but cannot be correctly received. If a
packet is received with signal power greater than the carrier sense threshold but
lower than the Rx threshold, the packet will be damaged due to high bit-error-
rate (BER). If a packet is received with signal power lower than carrier sense
threshold, the packet will be dropped immediately without energy consumption.
- Tx/Rx Electronic Power: These two parameters represent the static power
drawn at the transmitter or receiver. The electronic power drawn is distance
independent. It only depends on factors such as digital coding/decoding, mod-
ulation/demodulation, and ltering of the signals.
- Maximum Tx Power: This parameter represents the maximum power that can
be radiated from the transmitter antenna.
- Power Amplier Eciency: This parameter denotes the amplier eciency.
For simplicity, we set it to 1. In practice, this parameter can lie between 30-
40%.
107
- Tx Power Step: In our simulation, we assume that each node can adjust its
transmission power in 1 dBm steps. See explanations in section 7.1.1.
7.2 Evaluation of Channel Allocation Protocol
In Chapter 6.3, we described the theoretical value of the number of required frequen-
cies and PN codes in our protocol. Equation 6.3.1 gives the crude upper bound on
the number of required frequencies for a proper channel assignment. With proper,
we mean that the channel assignment can meet the colouring pattern 3 described in
section 6.2, where no two nodes receive the same channel (colour) if they are either
adjacent, or have a common neighbour. When the node degree increases linearly, the
number of required frequency channels for a proper assignment (colouring) increases
with the square of node degree. For example, when node degree is 6, the required
number of channels is 37, when node degree is 9, the required number of channels is
82. Fortunately, our simulation results reveal that the practical number of required
channels is much smaller than the theoretical value given by equation 6.3.1 when
nodes are randomly uniformly distributed.
To nd out the practical value of the number of required channels for a proper
channel assignment, we generated 10000 network topologies where each network topol-
ogy has 100 nodes uniformly randomly distributed in a 100m 100m square area.
We evaluate the number of frequency channels used in each network topology after
the channel allocation by using Algorithm 1 with node degree = 6 and = 9 in
K-Neigh. The empirical distribution of the simulation results is shown in Figure 7.2
and Figure 7.3. We see that when node degree = 6, the maximum number of
108
5 6 7 8 9 10 11 12 13 14 15
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Histogram of the number of required channels with node degree = 6
Number of required channels (#)
D
i
s
t
r
i
b
u
t
i
o
n

o
f

n
u
m
b
e
r

o
f

r
e
q
u
i
r
e
d

c
h
a
n
n
e
l
s
Figure 7.2: Distribution of number of channels required with 10000 randomly uni-
formly distributed network topologies with node degree = 6.
channels required is only 13 compared to the theoretical value 37 given by Equa-
tion 6.3.1. When node degree = 9, the maximum number of channels required is
only 18 compared to the theoretical value 82 given by Equation 6.3.1. The reason for
these large discrepancies between the theoretical values and actual numbers lies in the
fact that Equation 6.3.1 is derived from the worst case scenario. For example, each
node has number of dierent one hop neighbours, where each one hop neighbour in
turn has dierent one hop neighbours and all these neighbours neighbours (these
are two hop neighbours of the original node) are dierent from each other. This worst
case scenario, e.g., all two hop neighbours are dierent from each other, is hardly to
occur in an actual sensor network deployment, which leads to a much smaller number
109
10 11 12 13 14 15 16 17 18 19 20
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Histogram of the number of required channels with node degree = 9
Number of required channels #
D
i
s
t
r
i
b
u
t
i
o
n

o
f

n
u
m
b
e
r

o
f

r
e
q
u
i
r
e
d

c
h
a
n
n
e
l
s
Figure 7.3: Distribution of number of channels required with 10000 randomly uni-
formly distributed network topologies with node degree = 9.
of channels are required in practice.
Simulation results also reveal that our channel allocation algorithm converges with
correct channel assignment. In what follows, we randomly selected a network topology
and illustrate the frequency channel assignments for a randomly selected node (e.g.,
node 9) as well as its one hop and two hop neighbours after a simulation run (X and
Y denote the coordinates of the node).
========================================================================
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
------------------------ Node 9 Neighbours List ------------------------
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
110
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
========================================================================
========================================================================
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
------------------------ Node 10 Neighbours List ------------------------
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
========================================================================
========================================================================
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
------------------------ Node 55 Neighbours List ------------------------
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 38, X = 70.176651, Y = 44.745448, Channel = 78
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
========================================================================
========================================================================
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
------------------------ Node 53 Neighbours List ------------------------
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 60, X = 66.008268, Y = 48.988722, Channel = 75
111
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
========================================================================
========================================================================
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
------------------------ Node 0 Neighbours List ------------------------
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 85, X = 56.925009, Y = 20.382744, Channel = 78
--> Node id = 86, X = 46.657208, Y = 23.421643, Channel = 76
========================================================================
It can be seen that the channel assignments meet the colouring criteria that no
two nodes receive the same channel if they are either adjacent, or have a common
neighbour. For example, node 9 is assigned channel 81, none of its one hop and two
hop neighbours have been assigned the same channel
1
. The channel assignments for
all 100 nodes for this network topology is provided in Appendix A.
7.3 Comparison of Broadcasting Schemes
The following three broadcast schemes have been proposed in Chapter 3.6 :
1. Each node sends multiple unicast packets to its one hop neighbours;
2. Each node broadcasts with dierent PN code;
3. Each node broadcasts with same PN code.
1
Note for implementation simplicity, the channel is assigned by using the rst available channel
in the channel pool.
112
The rst scheme seems to be the most inecient broadcast scheme because it trans-
mits the same packet multiple times, but interestingly, it achieves the least energy
consumption (see section 7.3.3). In this section, 100 network topologies are selected
(from the 10000 network topologies generated in section 7.2) to conduct the simu-
lations. Each network topology is selected such that when node degree = 6, the
network is fully connected. Note that K-Neigh protocol does not guarantee the net-
work connectivity. K-Neigh protocol only proved that when = 9, the network is
connected with high probability (e.g., larger than 95%). We only select those net-
work topologies that are fully connected when node degree = 6. For each network
topology, a random node is selected as the source node which initiates the broadcast
packet. This packet is then ooded to the whole network. The notations used in the
legend of gures and tables in this section are as follows: MUCAST (Multiple uni-
cast) denotes the rst broadcasting scheme, CDMA denotes the second, and CSMA
denotes the third. We also use these notations in our following discussions.
With MUCAST, when a node receives a new broadcast packet, it unicasts this
packet to each of its one hop neighbours (by using the correspondent receiving fre-
quency and PN code) in turn without delay. Note each packet has to be sent out in
sequence so that each one hop neighbour may receive the packet at dierent time.
Also note that MUCAST employs CSMAC as its MAC layer protocol with multiple
frequency channels. With CDMA, when a node receives a new broadcast packet, it
rst checks if the node is at receiving state, if the node is not receiving, it transmits
the packet immediately without delay. If the node is receiving, it waits until the re-
ception nish and then transmits the packet immediately without delay. Note packets
reception in CDMA may overlap and the node will wait until the last packet reception
113
nishes before it transmits the packet. In CDMA, only one frequency channel is used.
In CSMA, the general CSMA/CA MAC protocol is used. When a node receives a new
broadcast packet, it rst senses the media. If the media is idle, it starts the carrier
sense timer. If the media is not idle, it waits until the media becomes idle and then
starts its carrier sense timer. When the timer expires, it checks the media again. If
the media is still idle, it transmits the packet immediately. If another neighbour node
starts transmission during the carrier sense period, this nodes carrier sense timer is
canceled. It waits until the media is idle again and then re-starts it carrier sense
timer. In CSMA, only one frequency channel is used to be consistent with CDMA.
The simulation time is set to be large enough that the ooding can be nished. The
following three critical parameters are measured in this section:
1. Delivery Ratio: This parameter measures the ratio between the number of nodes
that receive the packet in the network and the total number of nodes in the
network after the simulation. Please note that it is dierent from the packet
delivery ratio as described in section 7.4.
2. Delivery Time: This parameter measures the time for ooding to complete.
This delivery time is measured as the time period since the rst node initiates
the transmission of the packet until the last node receives the packet. Note last
node represents the node that receives the packet last. Nodes that have not
received the packet are not counted.
3. Energy Consumption: This parameter measures the network energy consump-
tion after ooding. It is the total energy consumption for all nodes in the net-
work (for average energy consumption per node, simply divide this parameter
114
by 100 since there are 100 nodes in each network topology).
Two type of broadcast schemes are implemented in the simulation:
1. Blind Flooding: Where each node blindly transmits a broadcast packet to all of
its one hop neighbours. With the rst broadcasting scheme, each node unicasts
the packet to all of its one hop neighbours in turn. With the second and third
broadcasting schemes, each node sets the transmission power that can reach the
furthermost one hop neighbour to transmit the packet.
2. Optimised Flooding: Where each node transmits a broadcast packet by using
a simple optimised algorithm. When a node receives a packet, it nds out its
one hop neighbours that are not one hop neighbours of the sender (assume that
each node gathered the neighbour information of its one hop neighbours during
the Topology Formation phase) and only sends the packet to these neighbours.
With the rst broadcasting scheme, each node only unicasts the packet to those
neighbours that are not one hop neighbours of the sender. With the second and
third broadcasting schemes, each node sets its transmission power to reach the
furthermost one hop neighbour that is not one hop neighbour of the sender.
7.3.1 Delivery Ratio
Figure 7.4 and Figure 7.5 plot the delivery ratio comparison of all the 100 network
topologies with blind ooding and optimised ooding respectively. Table 7.2 shows
the average values and standard deviations of the delivery ratio with dierent broad-
casting combinations (e.g., dierent broadcasting schemes, broadcasting types, and
node degrees).
115
0 10 20 30 40 50 60 70 80 90 100
10
20
30
40
50
60
70
80
90
100
Blind flooding delivery ratio comparison
Network topology #
D
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
MUCAST =6
MUCAST =9
CDMA =6
CDMA =9
CSMA =6
CSMA =9
Figure 7.4: Delivery ratio comparison with blind ooding.
From Figure 7.4, Figure 7.5, and Table 7.2, we can see that both MUCAST and
CDMA achieve 100% delivery ratio with node degrees = 6 and = 9, either
blind ooding or optimised ooding. For CSMA with blind ooding, node degree
= 9 achieves better average delivery ratio (98.97%) than = 6 (92.66%). Similar
trend is exhibited in the optimised ooding. This is because when the node degree
= 9, the average transmission range of each node is larger than when = 6.
The broadcast packet is more likely to be successfully received by each node. We
also note that CSMA with optimised ooding achieves better delivery ratio than
blind ooding. The reason is that with optimised ooding, each node may reduce its
maximum transmission power which leads to the reduction of interference to others.
The consequence is that the probability for a successful receiving at each node is
116
0 10 20 30 40 50 60 70 80 90 100
65
70
75
80
85
90
95
100
105
Optimized flooding delivery ratio comparison
Network topology #
D
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
MUCAST =6
MUCAST =9
CDMA =6
CDMA =9
CSMA =6
CSMA =9
Figure 7.5: Delivery ratio comparison with optimised ooding.
increased. Although CSMA achieves an average delivery ratio above 90%, its worst
case performance can be very poor. In some simulations, the delivery ratio may
be lower than 70% with optimised ooding (Figure 7.5) and even lower than 20%
with blind ooding (Figure 7.4) due to packet collisions. Note that with CDMA,
packets may also be dropped due to multiple access interference (MAI). But because
of the code division multiple access (CDMA) approach, the probability for a successful
receiving at each node is increased signicantly compared to CSMA. For example,
with CSMA, a packet colliding with other packet(s) at a receiver will be dropped
unless the ratio between the intended signal and interference is over the Capture
Threshold (10 dB). With CDMA, a packet colliding with other packet(s) may only
be dropped if the ratio between the total interference signal power and the intended
117
Table 7.2: The average value and standard deviation for delivery ratio (%).
Parameters MUCAST CDMA CSMA
= 6 = 9 = 6 = 9 = 6 = 9
Average (Blind) 100 100 100 100 92.66 98.97
Stddev (Blind) 0 0 0 0 16.46 5.71
Average (Optimized) 100 100 100 100 97.07 99.05
Stddev (Optimized) 0 0 0 0 5.55 3.67
signal power is over the MAI Threshold (13.75 dB). With MUCAST, MAI only occurs
when multiple nodes transmit to the same receiving node simultaneously. The MAI
is actually reduced signicantly compared in CDMA due to frequency division.
7.3.2 Delivery Time
Figure 7.6 and Figure 7.7 plot the delivery time comparison of all the 100 network
topologies with blind ooding and optimised ooding respectively. Table 7.3 shows
the average values and standard deviations of the delivery time with dierent broad-
casting combinations.
Table 7.3: The average value and standard deviation for delivery time (s).
Parameters MUCAST CDMA CSMA
= 6 = 9 = 6 = 9 = 6 = 9
Average (Blind) 3.213 2.765 2.025 1.388 14.107 11.101
Stddev (Blind) 0.652 0.321 0.389 0.134 3.432 2.368
Average (Optimised) 2.311 1.767 1.948 1.341 13.397 10.016
Stddev (Optimised) 0.475 0.189 0.386 0.160 2.908 1.813
We can see that both MUCAST and CDMA achieve much better performance than
CSMA. For example, with blind ooding and = 6, MUCAST uses 77% less mean
118
0 10 20 30 40 50 60 70 80 90 100
0
5
10
15
20
25
Blind flooding delivery time comparison
Network topology #
D
e
l
i
v
e
r
y

t
i
m
e

(
s
)
MUCAST =6
MUCAST =9
CDMA =6
CDMA =9
CSMA =6
CSMA =9
Figure 7.6: Delivery time comparison with blind ooding.
delivery time and CDMA uses 85% less mean deliver time than CSMA (Table 7.3). In
CSMA, each node needs to contend for the media by using distributed coordination
function (DCF) with contention windows and back o its transmission if the media
is busy. This approach induces large delays when many neighbour nodes attempt
to transmit simultaneously. In CDMA, a node only delays its transmission when it
is in receiving state. If a node is receiving, a transmission from the same node will
drown out any receiving signals because the transmission power is too high compared
to those receiving signals. In MUCAST, each node does not delay a transmission
(because of frequency division) but needs to transmit a broadcast packet multiple
times to all (blind ooding) or correspondent (optimised ooding) one hop neighbours.
The overall result is that MUCAST spends longer delivery time than CDMA. But
119
0 10 20 30 40 50 60 70 80 90 100
0
5
10
15
20
25
Network topology #
D
e
l
i
v
e
r
y

t
i
m
e

(
s
)
Optimized flooding delivery time comparison
MUCAST =6
MUCAST =9
CDMA =6
CDMA =9
CSMA =6
CSMA =9
Figure 7.7: Delivery time comparison with optimised ooding.
MUCAST still achieves much better performance than CSMA.
7.3.3 Energy consumption
Figure 7.8 and Figure 7.9 plot the energy consumption comparison of all the 100
network topologies with blind ooding and optimised ooding respectively. Table 7.4
shows the average values and standard deviations of the energy consumption with
dierent broadcasting combinations.
Since MUCAST requires multiple transmissions of a same packet, we may consider
that MUCAST is the most energy inecient scheme. But interestingly, Figure 7.8,
Figure 7.9, and the Table 7.4 reveal that MUCAST achieves the least energy con-
sumption compared to CDMA and CSMA. For example, MUCAST achieves 29.1%
120
0 10 20 30 40 50 60 70 80 90 100
0
500
1000
1500
Network topology #
E
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
m
J
)
Blind flooding energy consumption comparison
MUCAST =6
MUCAST =9
CDMA =6
CDMA =9
CSMA =6
CSMA =9
Figure 7.8: Energy consumption comparison with blind ooding.
and 32.3% average energy savings compared to CDMA and CSMA respectively with
blind ooding when node degree = 6. Although MUCAST requires that each
node transmits a broadcast packet multiple times, it saves the receiving energy con-
sumption caused by multiple overhearing (because of frequency division). Moreover,
the interference range (R
I
, see Chapter 4) of a transmission is much larger than the
transmission range (R
R
). The result is that both CDMA and CSMA consume more
energy on receiving than MUCAST. The receiving energy consumption is especially
important as sensors normally communicate with short range (e.g., tens of meters),
where receiving energy may frequently exceed the energy of transmission.
121
0 10 20 30 40 50 60 70 80 90 100
200
400
600
800
1000
1200
1400
1600
Optimized flooding energy consumption comparison
Network topology #
E
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
m
J
)
MUCAST =6
MUCAST =9
CDMA =6
CDMA =9
CSMA =6
CSMA =9
Figure 7.9: Energy consumption comparison with optimised ooding.
Table 7.4: The average value and standard deviation for energy consumption (mJ).
Parameters MUCAST CDMA CSMA
= 6 = 9 = 6 = 9 = 6 = 9
Average (Blind) 583.74 888.51 824.00 1103.96 862.97 1340.73
Stddev (Blind) 19.51 22.591 37.15 47.394 157.265 101.805
Average (Optimized) 245.75 369.81 646.30 925.69 684.68 1093.59
Stddev (Optimized) 12.409 16.489 42.606 59.474 61.266 79.572
122
7.4 One-Hop Performance Comparison
This section compares the one-hop performance of the following four MAC protocols.
1. Our protocol with the optimised channel allocation protocol proposed in Chap-
ter 6.
2. Our protocol with a random channel allocation algorithm which is used in our
mathematical modeling in Chapter 4. Both frequency and PN code are ran-
domly selected by each node.
3. Pure DS-CDMA approach without using frequency division.
4. A contention based MAC protocol: SMAC [34].
We denote these four protocols as CSMAC, RAND, CDMA, SMAC and use these
notations in the legend of gures and discussions in this and next section. The node
degree used in this section is = 6. The transmission range of SMAC is xed and
is calculated
2
according to R
R
=
_
( + 1)/(), where = 0.01 denotes the node
density. SMAC is especially designed for energy saving purpose based on IEEE 802.11
standard and performs similar to IEEE 802.11 (see Chapter 2). In our simulation,
we do not enable the synchronisation ag in SMAC NS-2 implementation so there is
no synchronisation overhead. We assume that SMAC also employs spread spectrum
(as IEEE 802.11) for better channel performance. For example, SMAC also spreads
its baseband signal (e.g., 20 Kbps) with a specic 50 chip/bit PN code so that the
resulting signal is also 1 Mbps. Transmitter based PN code assignment is used for
the other three protocols.
2
Derived from = ( + 1)/(R
2
R
), where R
2
R
represents the area which is covered by the
transmission and + 1 represents the number of nodes in the transmission area.
123
The same 100 network topologies selected in the last section are used. We measure
the performance based on dierent packet generation rate, which scales from the
lowest 0.01 packet/s to the highest 30 packet/s. Note with our parameter settings
in Table 7.1, the full transmission capacity of a node is around 23.25 packet/s. Four
parameters are measured in this study:
- Packet Delivery Ratio: This parameter measures the ratio between the number
of packets that have been successfully received and the total number of packets
that have been transmitted.
- Network Throughput: This parameter is calculated as the product of the delivery
ratio and the correspondent packet generation rate, e.g., Network Throughput
= Packet Generation Rate Packet Delivery Ratio.
- One Hop Latency: This parameter measures the one hop packet latency based
on all packets that have been successfully received.
- Network Energy Consumption: This parameter measures the total communica-
tion energy consumption for all nodes in the network after each run.
Another derived parameter, System Eciency, is also studied in association with
packet delivery ratio and network throughput.
In our simulations, each node randomly selects a neighbour and transmits 100
packets to this neighbour. Each packets departure time is randomised according
to a uniform distribution (refer to NS-2 manual). With this randomisation, the
packets generated from each node can be well approximated as a Poisson process.
Dierent transmission patterns are randomly generated where each node can transmit
to dierent neighbours. In each run, there are 10000 packets (100 nodes 100
124
packet/node) transmitted in each network topology. The start time of each nodes
transmission is also randomised according to the packet transmission interval. This
is to ensure that each node can start transmitting at similar time but not exactly the
same time which may inuence the performance of the contention based protocol. The
idle energy consumption is not included in this study as it only adds a constant mean
value to our results and it may hide the eect of communication energy consumption.
7.4.1 Packet Delivery Ratio
Figure 7.10 illustrates the packet delivery ratio comparison with several lower packet
generation rates including 0.01 packet/s, 0.05 packet/s, 0.1 packet/s, and 0.5 packet/s.
With these low packet generation rates, SMAC can achieve reasonable performance.
When the packet generation rate is over 0.5 packet/s, the packet delivery ratio of
SMAC reaches an unacceptable level (e.g., lower than 30% on average). So we did
not measure the performance of SMAC with much higher packet generation rates.
Figure 7.11 illustrates the delivery ratio comparison with several higher packet gen-
eration rates including 1 packet/s, 5 packet/s, 10 packet/s, and 20 packet/s. Only
CSMAC, RAND, CDMA are measured. Figure 7.12 illustrates the average packet
delivery ratio comparison versus dierent packet generation rate.
It can be seen from these gures that CSMAC can always achieve 100% deliv-
ery ratio with all dierent packet generation rates scales from 0.01 packet/s to 30
packet/s. RAND also achieves reasonable high delivery ratio with small degradation
when the packet generation rate is over 1 packet/s. CDMA delivery ratio drops sig-
nicantly when the packet generation rate is over 1 packet/s and drops below 80%
when the packet generation rate reaches the full transmission capacity (e.g., 23.25
125
0 10 20 30 40 50 60 70 80 90 100
90
91
92
93
94
95
96
97
98
99
100
101
(a) Packet delivery ratio compariosn with packet generation rate = 0.01 packet/s
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
1.02
(b) Packet delivery ratio comparison with packet generation rate = 0.05 packet/s
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
70
75
80
85
90
95
100
(c) Delivery ratio comparison with packet generation rate = 0.10 packet/s
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
(d) Packet delivery ratio comparison with packet generation rate = 0.50 packet/s
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
SMAC
Figure 7.10: Delivery ratio comparison with lower packet generation rate.
packet/s). The reason for this behaviour of CDMA is explained as follows. In higher
trac scenario, many concurrent transmissions cause the MAI threshold easily to
be exceeded. The consequence is that more and more packets are damaged due to
multiple access interference (MAI). The small degradation of RAND is caused by a
similar reason because both frequency channels and PN codes are randomly selected
by all nodes. The frequency and PN code allocations in RAND are not optimal and
126
0 10 20 30 40 50 60 70 80 90 100
95
95.5
96
96.5
97
97.5
98
98.5
99
99.5
100
100.5
(a) Packet delivery ratio comparison with packet generation rate = 1 packet/s
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
SMAC
0 10 20 30 40 50 60 70 80 90 100
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
(b) Packet delivery ratio comparison with packet generation rate = 5 packet/s
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
65
70
75
80
85
90
95
100
(c) Packet delivery ratio comparison with packet generation rate = 10 packet/s
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
SMAC
0 10 20 30 40 50 60 70 80 90 100
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
(d) Packet delivery ratio comparison with packet generation rate = 20 packet/s
CSMAC
RAND
CDMA
Figure 7.11: Delivery ratio comparison with higher packet generation rate.
there are possibilities that nodes within the interference vicinity select the same fre-
quency channel and/or PN code. But we can see that RAND achieves signicant
improvement over CDMA from the gures because of its employment of frequency
division. CSMAC uses the optimal channel allocation algorithm as we described in
Chapter 6.1 and it achieves the highest performance on packet delivery ratio.
127
10
2
10
1
10
0
10
1
10
2
20
30
40
50
60
70
80
90
100
(b) Average delivery ratio comparison
Packet generation rate (packet/s)
A
v
e
r
a
g
e

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
SMAC
Figure 7.12: Average delivery ratio comparison with dierent packet generation rate.
7.4.2 Network Throughput
Figure 7.13 illustrates the network throughput comparison with several lower packet
generation rates (e.g., 0.01 packet/s, 0.05 packet/s, 0.1 packet/s, and 0.5 packet/s)
and Figure 7.14 illustrates the network throughput comparison with several higher
packet generation rates (e.g., 1 packet/s, 5 packet/s, 10 packet/s, and 20 packet/s).
Figure 7.15 illustrates the average network throughput comparison over dierent
packet generation rate.
We see that CSMAC throughput on each network topology can always maintain
constant with any given packet generation rate. RAND also achieves high network
throughput with small degradation. CDMA performs well in the scenarios with low
packet generation rates (Figure 7.13) but degrades signicantly in the scenarios with
128
0 10 20 30 40 50 60 70 80 90 100
9
9.2
9.4
9.6
9.8
10
10.2
x 10
3(a) Network throughput comparison with packet generation rate = 0.01 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0.042
0.043
0.044
0.045
0.046
0.047
0.048
0.049
0.05
(b) Network throughput comparison with packet generation rate = 0.05 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0.075
0.08
0.085
0.09
0.095
0.1
(c) Network throughput comparison with packet generation rate = 0.1 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
(d) Network throughput comparison with packet generation rate = 0.5 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
SMAC
Figure 7.13: Network throughput comparison with lower packet generation rate.
high packet generation rates (Figure 7.14). SMAC achieves the worst performance
for network throughput.
Figure 7.15 shows that the network throughput of CSMAC increases linearly with
the increase of packet generation rate. The throughput of RAND and CDMA also
increase linearly with small degradation in higher trac scenario, where the MAI
threshold is easily exceeded due to the increase of concurrent transmissions. The
throughput of SMAC reaches the bottleneck when the packet generation rate is over
129
0 10 20 30 40 50 60 70 80 90 100
0.95
0.955
0.96
0.965
0.97
0.975
0.98
0.985
0.99
0.995
1
(a) Network throughput comparison with packet generation rate = 1 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
5
(b) Network throughput comparison with packet generation rate = 5 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
7
7.5
8
8.5
9
9.5
10
(c) Network throughput comparison with packet generation rate = 10 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
12
13
14
15
16
17
18
19
20
(d) Network throughput comparison with packet generation rate = 20 packet/s
Network topology #
N
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
Figure 7.14: Network throughput comparison with higher packet generation rate.
0.1 packet/s. Because of the contention based approach, many packets are dropped
due to collisions and exceeding the retry limit for transmitting with the increase of
packet generation rate.
7.4.3 System Eciency
The performance comparisons of delivery ratio and network throughput are not good
enough because CSMAC and RAND employ multiple channels (e.g., 13 with node
130
10
2
10
1
10
0
10
1
10
2
10
3
10
2
10
1
10
0
10
1
10
2
Average network throughput comparison
Packet generation rate (packet/s)
A
v
e
r
a
g
e

n
e
t
w
o
r
k

t
h
r
o
u
g
h
p
u
t

(
p
a
c
k
e
t
/
s
)
CSMAC
RAND
CDMA
SMAC
Figure 7.15: Average network throughput comparison with dierent packet generation
rate.
degree = 6, see section 7.2) but CDMA and SMAC use only one channel. In
order to make a fair comparison, we dene a new performance comparison parameter
System Eciency as follows.
System Eciency =
Eective Packet Rate
Number of Channels
(7.4.1)
where the Eective Packet Rate is dened as the maximum packet generation rate
that a system can achieve with an acceptable packet delivery ratio. For example, if
we set the acceptable packet delivery ratio to 90%, it can be seen (from Figure 7.12)
that our proposed system can accommodate several hundred times of Eective Packet
Rate (20-30 packet/s) compared to the contention based system (0.1 packet/s). The
131
System Eciency of CSMAC and RAND according to Equation 7.4.1 is around 1.54-
2.31 packet/second/channel, CDMA is around 5 packet/second/channel, and SMAC
is around 0.1 packet/second/channel. It can be seen that CSMAC and RAND achieve
15-20 times improvement over SMAC. But CDMA achieves the best performance
compared to the rest protocols.
However, for a packet delivery ratio of 98%, the System Eciency of CDMA
changes to 1 packet/second/channel while CSMAC and RAND are still 1.54-2.31
packet/second/channel. Figure 7.16 illustrates the system eciency comparison over
70 75 80 85 90 95 100 105
10
4
10
3
10
2
10
1
10
0
10
1
10
2
System efficiency comparison
Delivery ratio (%)
S
y
s
t
e
m

e
f
f
i
c
i
e
n
c
y

(
p
a
c
k
e
t
/
s
/
c
h
a
n
n
e
l
)
CSMAC
RAND
CDMA
Figure 7.16: System eciency comparison over dierent packet delivery ratio.
dierent packet delivery ratios for CSMAC, RAND and CDMA. It can be seen that
CDMA has better system eciency if the requirement of delivery ratio is low. CDMA
132
achieves similar system eciency compared to CSMAC and RAND when the accept-
able delivery ratio is set to 95%. If the acceptable delivery ratio is set above 95%,
CSMAC and RAND exhibit better system eciency than CDMA.
The relative reduction in system eciency of CDMA in comparison with CSMAC
(and RAND) can be explained as follows. At low packet generation rate (e.g., less
than 1 packet/s), both CDMA and CSMAC achieve a delivery ratio above 98% (see
Figure 7.12) but CSMAC is less ecient because it uses more channels. However,
at high packet generation rate, CDMA has a high MAI which causes a degradation
in the packet delivery ratio and network throughput. This performance degradation
leads to the CDMA system being less ecient in high trac scenario. On the other
hand, CSMAC has a low MAI due to its frequency division approach and can maintain
high delivery ratio and network throughput even in high trac scenario. The constant
performance of CSMAC (with dierent packet generation rates) guarantees that it can
maintain high system eciency. This demonstrates that a small number of frequency
channels can achieve high system performance.
7.4.4 One-Hop Latency
Figure 7.17 illustrates the one hop latency comparison with several lower packet
generation rates (e.g., 0.01 packet/s, 0.05 packet/s, 0.1 packet/s, and 0.5 packet/s)
and Figure 7.18 illustrates the one hop latency comparison with several higher packet
generation rates (e.g., 1 packet/s, 5 packet/s, 10 packet/s, and 20 packet/s). Fig-
ure 7.19 illustrates the average one hop latency comparison over dierent packet
generation rate. In Figure 7.17 and Figure 7.18, each average value is calculated
based on all packets that have been successfully received in each run on each network
133
0 10 20 30 40 50 60 70 80 90 100
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
(a) Average one hop latency comparison with packet generation rate = 0.01 packet/s
Network topology #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
CSMAC
0 10 20 30 40 50 60 70 80 90 100
0.04
0.06
0.08
0.1
0.12
0.14
0.16
(b) Average one hop latency comparison with packet generation rate = 0.05 packet/s
Network topology #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0
0.05
0.1
0.15
0.2
0.25
(c) Average one hop latency comparison with packet generation rate = 0.1 packet/s
Network topology #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0
2
4
6
8
10
12
(d) Average one hop latency comparison with packet generation rate = 0.5 packet/s
Network topology #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
SMAC
Figure 7.17: Average one hop latency comparison with lower packet generation rate.
topology. In Figure 7.19, each average value is calculated based on all 100 average
one hop latencies over the 100 network topologies with a given packet generation rate.
From Figure 7.19, we can see that CSMAC, RAND, CDMA achieve almost the
same average performance until the packet generation rate is over 1 packet/s with
small uctuations. In our simulation implementation, a node may delay its transmis-
sion in a given frequency if it is at receiving state in the same frequency. Because
the transmission signal power is too high compared to the receiving signals and it
134
0 10 20 30 40 50 60 70 80 90 100
0.0434
0.0436
0.0438
0.044
0.0442
0.0444
0.0446
(a) Average one hop latency comparison with packet generation rate = 1 packet/s
Node placement #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
0.043
0.0435
0.044
0.0445
0.045
0.0455
0.046
0.0465
Network topology #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
(b) Average one hop latency comparison with packet generation rate = 5 packet/s
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
0.042
0.044
0.046
0.048
0.05
0.052
0.054
0.056
0.058
0.06
0.062
(c) Average one hop latency comparison with packet generation rate = 10 packet/s
Network topology #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
SMAC
0 10 20 30 40 50 60 70 80 90 100
0.05
0.06
0.07
0.08
0.09
0.1
0.11
Network topology #
A
v
e
r
a
g
e

o
n
e

h
o
p

l
a
t
e
n
c
y

(
s
)
(d) Average one hop latency comparison with packet generation rate = 20 packet/s
CSMAC
RAND
CDMA
Figure 7.18: Average one hop latency comparison with higher packet generation rate.
may drown out all receiving signals. The latency of these three protocols increase
sharply when the packet generation rate reaches the full transmission capacity where
the queueing delay becomes dominant.
It is to be expected that SMAC performs worse than the other three protocols
because each node has to contend for the media to transmit. Figure 7.19 shows that
the average one hop latency of SMAC increases steadily with the increase in trac
load. On the contrary, the one hop latency of CSMAC, RAND, CDMA is almost
135
10
2
10
1
10
0
10
1
10
2
10
2
10
1
10
0
10
1
Average one hop latency comparison
Packet generation rate (packet/s)
A
v
e
r
a
g
e

o
n

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
SMAC
Figure 7.19: Average one hop latency comparison with dierent packet generation
rate.
constant and is not inuenced by the increases of trac load. Normally they do not
need to reserve media (by using control packet such as RTS/CTS) for a transmission.
A node simply transmits a packet if it has one (presuming it is not at receiving state).
136
7.4.5 Network Energy Consumption
Figure 7.20 illustrates the network communication energy consumption comparison
with several lower packet generation rates (e.g., 0.01 packet/s, 0.05 packet/s, 0.1
0 10 20 30 40 50 60 70 80 90 100
0
50
100
150
200
250
(a) Energy consumption comparison with packet generation rae = 0.01 packet/s
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0
50
100
150
200
250
(b) Energy consumption comparison with packet generation rae = 0.05 packet/s
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
0
50
100
150
200
250
(c) Energy consumption comparison with packet generation rae = 0.1 packet/s
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
SMAC
0 10 20 30 40 50 60 70 80 90 100
10
20
30
40
50
60
70
80
(d) Energy consumption comparison with packet generation rae = 0.5 packet/s
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
SMAC
Figure 7.20: Network communication energy consumption comparison with lower
packet generation rate.
packet/s, and 0.5 packet/s) and Figure 7.21 illustrates the network communication
energy consumption comparison with several higher packet generation rates (e.g.,
1 packet/s, 5 packet/s, 10 packet/s, and 20 packet/s). Figure 7.22 illustrates the
137
average network communication energy consumption comparison over dierent packet
generation rate.
It can be seen from Figure 7.20 to Figure 7.22 that SMAC consumes the largest
amount of energy at the lowest packet generation rate compared to at other packet
generation rates. The energy consumption drops steadily with the increase of trac
load. This behaviour can be explained as following. When the trac load increases,
the channel contention also increases. As a consequence more and more packets are
dropped due to exceeding the retry limit (for transmitting), which leads to less energy
are consumed in transmissions of data packets. Figure 7.22 also shows that the average
network communication energy consumption of the other three protocols (CSMAC,
RAND, CDMA) can maintain almost the same with dierent packet generation rate.
Figure 7.22 reveals that CSMAC and RAND consume the lowest communica-
tion energy, with average around 12 J. CDMA consumes average energy around 60
J. SMAC consumes average 190 J. There are several reasons that SMAC consumes
more energy than the other three protocols. First, control packet exchange consumes
large amount of energy. With our parameter settings in Table 7.1, the control packet
contributes 37.5% overhead. Second, overhearing consumes energy. Actually, SMAC
implements an overhearing avoidance scheme to turn o a nodes transceiver when
it overhears an RTS or CTS that is not destined to itself. The scheme is to avoid
a node wasting energy by receiving subsequent data and acknowledgement packets.
However, the problem is that the interference range of a transmission is much larger
than the normal transmission range, e.g., R
I
R
R
(R
I
2R
R
, see Chapter 4). A
node may detect an RTS or CTS but cannot correctly receive it. The result is that
overhearing avoidance scheme does not function for those nodes located between R
R
138
and R
I
. Third, packet collision wastes energy. Although RTS/CTS are used, packet
collision cannot be fully avoided (including collisions of RTS/CTS). Collided packets
need re-transmission and consume extra energy. Fourth, CSMA/CA back o scheme
may cause additional control packet transmissions. Fifth, SMAC assumes xed trans-
mission power while the other three protocols assume adjustable transmission power.
Figure 7.22 also reveals that CSMAC and RAND consume less than 10% com-
munication energy as in SMAC. In our simulation, the Tx and Rx electronic power
consumption for all of the four protocols are set to the same value. But a multiuser
detection receiver may consume a bit more power than a single user detection receiver.
What we wish to show is the comparative results here. If a multiuser detection re-
ceiver does not consume 10 times more power than a single user detection receiver,
it is sensible to use our proposed multi-channel protocol to achieve energy savings.
In addition, our protocol achieves much better network throughput, system capacity,
and one hop latency performance.
139
0 10 20 30 40 50 60 70 80 90 100
10
20
30
40
50
60
70
80
(a) Energy consumption comparison with packet generation rate = 1 packet/s
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
10
20
30
40
50
60
70
80
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
(b) Energy consumption comparison with packet generation rae = 5 packet/s
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
10
20
30
40
50
60
70
80
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
(c) Energy consumption comparison with packet generation rae = 10 packet/s
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
10
20
30
40
50
60
70
80
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
(d) Energy consumption comparison with packet generation rae = 20 packet/s
CSMAC
RAND
CDMA
Figure 7.21: Network communication energy consumption comparison with higher
packet generation rate.
140
10
2
10
1
10
0
10
1
10
2
10
50
100
150
200
300
400
(b) Average network communication energy consumption comparison
Packet generation rate (packet/s)
A
v
e
r
a
g
e

n
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
SMAC
Figure 7.22: Average network communication energy consumption comparison with
dierent packet generation rate.
141
7.5 Multiple Hop Performance Comparison
In this section, we measure the performance of our proposed protocol with a well
known routing protocol specially designed for sensor networks: directed diusion
[64]. The same 100 network topologies are used in this section. In each run, one
randomly selected node acts as the sink and multiple randomly selected nodes act
as sources. The sink node only broadcasts its interest once and each source node
sends the attribute-value data packet back to the sink periodically. In our simulation,
each source sends 50 packets back to the sink. The departure time of each packet
from a source is also randomised according to a uniform distribution to approximate
a Poisson process. The average packet generation rate from each source is xed and
is set to 0.1 packet/s. The parameters measured in this section include:
- Packet Delivery Ratio: This parameter measures the ratio between the number
of packet that have been successfully delivered back to the sink and the number
of packets that have been sent from the sources.
- Multiple Hop Latency: The average multiple hop latency for a given source i
is calculated based on all the packets generated from source i that have been
successfully received by the sink. The average multiple hop latency for a given
topology with multiple sources will be further discussed in section 7.5.2.
- Network Energy Consumption: This parameter measures the total communica-
tion energy consumption for all nodes in the network after each run.
142
7.5.1 Packet Delivery Ratio
Figure 7.23 shows the packet delivery ratio comparison for all of the 100 network
topologies with four dierent scenarios. Each scenario has dierent number of sources
(e.g., 1 source, 10 sources, 20 sources, and 30 sources) in each network topology.
Figure 7.24 shows the average delivery ratio versus dierent number of sources.
0 10 20 30 40 50 60 70 80 90 100
96
96.5
97
97.5
98
98.5
99
99.5
100
100.5
(a) Packet delivery ratio comparison with 1 source
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
70
75
80
85
90
95
100
(b) Packet delivery ratio comparison with 10 sources
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
60
65
70
75
80
85
90
95
100
(c) Packet delivery ratio comparison with 20 sources
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
50
55
60
65
70
75
80
85
90
95
100
(d) Packet delivery ratio comparison with 30 sources
Network topology #
P
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
Figure 7.23: Multiple hop delivery ratio comparison.
It can be seen that CSMAC can always achieve 100% delivery ratio and RAND
also achieves reasonably high performance. Figure 7.24 shows that the packet delivery
143
0 5 10 15 20 25 30
75
80
85
90
95
100
Average packet delivery ratio comparison
Number of sources #
A
v
e
r
a
g
e

p
a
c
k
e
t

d
e
l
i
v
e
r
y

r
a
t
i
o

(
%
)
CSMAC
RAND
CDMA
Figure 7.24: Average multiple hop delivery ratio comparison over dierent number of
sources.
ratio of RAND degrades 2% when the number of sources is over 25. CDMA delivery
ratio degrades steadily with the increase in the number of sources and drops below 80%
when the number of sources is over 25 in the network. The reason for this performance
degradation of CDMA is explained as follows. With the same packet generation rate
for each source, the MAI increases with the increase of number of sources, which in
turn causes more packets to be damaged by MAI. The small degradation of RAND is
caused by a similar reason because each nodes frequency and PN code is randomly
selected and there are possibilities that two (or more) neighbours select the same
frequency channel or PN code.
144
7.5.2 Multiple Hop Latency
Figure 7.25 shows the correspondent multiple hop latency comparison for all of the
100 network topologies with the four dierent scenarios (e.g., 1 source, 10 sources, 20
sources, and 30 sources). Figure 7.26 shows the correspondent average multiple hop
latency comparison versus dierent number of sources.
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
(a) Multiple hop latency comparison with 1 source
Network topology #
M
u
l
t
i
p
l
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
(b) Multiple hop latency comparison with 10 sources
Network topology #
M
u
l
t
i
p
l
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
(c) Multiple hop latency comparison with 20 sources
Network topology #
M
u
l
t
i
p
l
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
(d) Multiple hop latency comparison with 30 sources
Network topology #
M
u
l
t
i
p
l
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
Figure 7.25: Multiple hop latency comparison.
The average multiple hop latency for each network topology in Figure 7.25 is
145
0 5 10 15 20 25 30
0.28
0.3
0.32
0.34
0.36
0.38
0.4
0.42
0.44
0.46
0.48
Average multiple hop latency comparison
Number of sources #
A
v
e
r
a
g
e

m
u
l
t
i
p
l
e

h
o
p

l
a
t
e
n
c
y

(
s
)
CSMAC
RAND
CDMA
Figure 7.26: Average multiple hop latency comparison over dierent number of
sources.
calculated with the following equation
L =

n
i=1

i
L
i

n
i=1

i
(7.5.1)
where L denotes the average multiple hop latency for a given network topology, n
denotes the number of sources in the network,
i
denotes the average packet genera-
tion rate for source i (in our case, all
i
equals to 0.1 packet/s), L
i
is the calculated
average multiple hop latency based on all the packets generated from source i that
have been successfully received by the sink.
Figure 7.26 shows the average of L over the 100 network topologies. It can be
seen that for all three protocols, the average multiple hop latency increases with the
increase in number of sources. There are two main reasons for this behaviour. First,
146
an intermediate routing node may receive multiple packets concurrently but needs to
send them out sequentially. This introduces some queueing delay at the transmitter.
When the trac load increases, the queueing delay also increases. Second, a node
may delay its transmission in a given frequency if it is in receiving state in the same
frequency (as we assume that each node has the carrier sense capability). When
the trac load increases, the probability for a given node to be at receiving state
also increases which leads to longer delays. The second reason has more inuence
on CDMA but less inuence on RAND and CSMAC (because of frequency division).
We see that CDMA latency increases more quickly than CSMAC and RAND in
Figure 7.26 due to this second reason.
7.5.3 Network Energy Consumption
Figure 7.27 shows the corresponding network communication energy consumption
comparison for all of the 100 network topologies with the same four dierent sce-
narios (e.g., 1 source, 10 sources, 20 sources, and 30 sources). Figure 7.28 shows
the correspondent average network communication energy consumption comparison
versus dierent number of sources.
It can be seen from both Figure 7.27 and Figure 7.28 that CDMA consumes more
energy than CSMAC and RAND. And it is expected that the energy consumption
of all three schemes increase steadily with the increase of number of sources. In
general, CDMA consumes about 5 times more energy than CSMAC and RAND. The
reason for this performance behaviour is that the overhearing energy consumption of
CSMAC and RAND is reduced signicantly because of frequency division compare
to CDMA.
147
0 10 20 30 40 50 60 70 80 90 100
0
5
10
15
20
25
(a) Network energy consumption comparison with 1 source
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
20
40
60
80
100
120
140
160
180
200
220
(b) Network energy consumption comparison with 10 sources
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
0
50
100
150
200
250
300
350
400
450
(c) Network energy consumption comparison with 20 sources
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
0 10 20 30 40 50 60 70 80 90 100
0
100
200
300
400
500
600
700
(d) Network energy consumption comparison with 30 sources
Network topology #
N
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
Figure 7.27: Multiple hop network communication energy consumption comparison.
7.6 Summary
In this chapter, we provided detailed simulation and analysis of our proposed multi-
channel media access control (MAC) protocol CSMAC.
We evaluated the dynamic channel allocation protocol proposed in Chapter 6. The
simulation results reveal that our algorithm converges within nite time and no dead
lock. Simulation results also reveal that much less number of channels are required
in practice than theoretical value when nodes are uniformly randomly deployed.
148
0 5 10 15 20 25 30
10
0
10
1
10
2
10
3
Average network energy consumption comparison
Number of sources #
A
v
e
r
a
g
e

n
e
t
w
o
r
k

e
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

(
J
)
CSMAC
RAND
CDMA
Figure 7.28: Average multiple hop network communication energy consumption com-
parison over dierent number of sources.
We compared the performance of three dierent broadcasting schemes that have
been proposed in Chapter 3.6. Simulation results reveal that both MUCAST and
CDMA outperform CSMA regarding delivery ratio, delivery time, and energy con-
sumption.
We also provided detailed one hop performance comparisons of our proposed sys-
tem to a pure DS-CDMA system as well as a contention based system (SMAC).
Simulation results reveal that our proposed system can achieve 15-20 times of sys-
tem eciency than a contention based system. When same number of packets are
transmitted in the network, our system consumes only 10% of communication energy
than the contention based system. We nally compared the performance of dierent
149
protocols with upper layer routing protocol, directed diusion. Simulation results
show that our proposed system outperforms a pure DS-CDMA system in regarding
packet delivery ratio, multi-hop latency, and communication energy consumption.
Part III
An Energy Ecient Neighbour
Selection Protocol for Wireless Ad
Hoc Networks
150
Chapter 8
SON: An Energy Ecient
Neighbour Selection Protocol for
Wireless Ad Hoc Networks
Wireless devices in ad hoc networks are normally powered by batteries. Batteries can
only provide nite amount of energy. Therefore, it is important to design energy e-
cient protocols to reduce the unnecessary energy consumption in order to prolong the
battery lifetime. A number of topology control and energy ecient protocols proposed
in literature have been reviewed in Chapter 2.5. The purpose of the topology control
is to reduce the energy consumption while still maintaining some network proper-
ties (e.g., connectivity). In this chapter, we propose two energy ecient neighbour
selection algorithms that can work with CSMA/CA based MAC protocols.
8.1 Introduction and Motivation
IEEE 802.11 is the defacto MAC protocol for wireless LANs and ad hoc networks. But
IEEE 802.11 suers from power ineciency and low throughput in high trac sce-
nario. Dierent topology control protocols with the goal of increasing throughput as
151
152
well as reducing energy consumption have been proposed in literature [22][66][68][69][70].
The major technique employed in these protocols is to reduce the transmission power
to control the number of neighbours while still maintaining the network connectiv-
ity. For example, Blough et al. [66] proposed the K-Neigh protocol to maintain the
network connectivity with high probability, where each node keeps up to nine near-
est nodes as neighbours and removes the neighbours with unidirectional links. An
optimised pruning algorithm (denoted as TOPA in this chapter and shown in Algo-
rithm 2) is then executed by each node to remove the energy inecient neighbours
from the neighbour list.
Let P(i, j) denote the transmission power for node i to reach node j. Further
assume node i has a sorted (according to increasing value of P(i, j)) neighbour list
as j
1
, j
2
, . . . , j
k
. For l = 2, . . . , k, do the following:
1. Check whether j
l
can be reached using a transmission power lower than P
i,j
l
by
routing through some j
q
, where q < l.
2. If P(i, j
q
) + P(j
q
, j
l
) P(i, j
l
), logically delete link (i, j
l
) and remove node j
l
from the neighbour list.
3. Set the transmission power of i to the power needed to reach the furthermost
node in its neighbour list.
Algorithm 2: Traditional Optimised Pruning Algorithm (TOPA).
Muqattash and Krunz [22] proposed a similar pruning algorithm. The authors
claimed that in addition to improving network throughput, reducing the transmission
range plays an important role in reducing the energy consumption. Rodoplu and
Meng [67] have shown that power-ecient routes can be found by considering only
the nodes in the enclosure region as potential next hop. Another advantage of power
153
control that has not received much attention in the literature is related to reducing
the power consumption at irrelevant receivers (those who are not addressed by the
transmission). Since reducing transmission range results in a smaller number of nodes
overhearing the transmission, less receiving power will be consumed by these irrelevant
receivers [22].
Our work can be treated as an alternative to the above mentioned pruning algo-
rithm and complementary to topology control protocols. The main contribution of
our design is that our algorithm considers not only the energy consumption at trans-
mitter and intended receiver, but also the energy consumption at those irrelevant (or
interfering) receivers. We also demonstrate that the correctness of the TOPA pruning
algorithm is questionable if the transmission power is not adjusted to reach dierent
neighbours. We show that only when each node can adjust its transmission power
levels to communicate with dierent neighbours, the pruning algorithm can make
energy savings.
8.2 The Proposed Algorithm and Protocol Design
Our proposed algorithm includes six phases as shown in Figure 8.1. These phases
include:
- Node Startup We assume nodes can power on at similar time after the deploy-
ment and can be loosely synchronised before the Location Broadcast phase.
- Location Broadcast Each node broadcasts its node information as well as
location information to its radio range neighbours.
- Power Allocation Table (PAT) Broadcast Each node broadcasts its PAT (see
154
Node Startup
Location Broadcast
PAT Broadcast
SON
Symmetrization
Normal Operation
SON Related Actions
Figure 8.1: Proposed algorithm phases
subsection 8.2.1) to its radio range neighbours.
- Select Optimal Neighbour (SON) Each node selects its optimal neighbours
based on the algorithm proposed in subsection 8.2.3.
- Symmetrisation In this phase, each node broadcasts its neighbour list again
and executes the Symmetrisation algorithm proposed in subsection 8.2.4.
- Normal Operation Each node enters the normal operation phase.
It can be seen that the rst three phases are similar to our Network Formation phases
proposed in Chapter 5. The analysis in Chapter 5 can also be used in this chapter.
The SON related actions begin from Location Broadcast and end at Symmetrisation.
We also make the following assumptions:
- Network topology is quasi-static so the introduced overheads are not very severe.
155
- Each node can estimate its location or relative location.
- Each node can adjust its transmission power to reach dierent neighbours.
- Nodes can initiate SON at dierent times if the topology changes due to the
mobility of some nodes. However, the time dierence between two consecutive
SON initiations has an upper bound by a known constant period. This is to
make sure that the whole network can initiate SON in the same period.
- Each node has a relatively static location in its entire lifetime or between the
period of two consecutive SON processes.
8.2.1 Location Broadcast
In Location Broadcast phase, each node broadcasts its location information with its
full radio power. As stated before, we assume that each node can estimate its lo-
cation. This can be achieved by using some infrastructures such as GPS (Global
Positioning System). However, in our protocol design, absolute location information
is not necessary and relative locations can be used. The relative location information
can be estimated through the measurements of signal strength from a beacon node
[20] or some other approach (e.g., [83]).
In CSMA/CA based MAC protocols, RTS/CTS/ACK are normally not used for
broadcast packet. To guarantee that each node can get an opportunity for a successful
transmission, we use the similar approach as we discussed in Chapter 5.1, e.g., employ
large contention windows and/or allow each node to transmit a packet several times.
At the end of Location Broadcast phase, a node (we denote it as seed node) can
156
construct a neighbour list that contains all its radio range neighbours and their cor-
responding power levels for the seed node to reach them. We call this list a Power
Allocation Table (PAT) of the seed, in which all neighbours are ranked according to
the distance to the seed, and the corresponding power levels are estimated based on
the distance and path loss exponent. A sample PAT after location broadcast is shown
in Figure 8.2.
Power level from seed
Location information
Neighbor 1
Neighbor 3
Location information
Power level from seed
Power level from seed
Neighbor 2
Location information
distance from seed
Ranked by increasing
Figure 8.2: A PAT after Location Broadcast.
8.2.2 Power Allocation Table Broadcast
Select Optimal Neighbour (SON) pruning algorithm not only considers the power
consumption of transmitter and the intended receiver, but also the overhearing power
consumption of other irrelevant neighbours that are aected by transmission. To make
SON functional, each node should have more information about its neighbours and
their corresponding power allocation information. In this phase, each node broadcasts
its power allocation table to its radio range neighbours. At the end of this phase,
157
the corresponding power allocation information will be added to the records in each
nodes power allocation table. An example of the power allocation table after the
PAT broadcast phase is shown in Figure 8.3.
Power level from seed
Location information
Neighbor 1
Neighbor 3
Location information
Location information
Power level from seed
Power level from seed
Neighbor 2
The PAT of neighbor 1
The PAT of neighbor 2
The PAT of neighbor 3
Figure 8.3: A PAT after PAT Broadcast
8.2.3 Select Optimal Neighbour (SON)
In this section, we describe the SON algorithm in detail. We adopted the same energy
dissipation model as shown in Figure 7.1. We next dene notations that will be used
in our following discussions.
Let E denote the total energy consumption when transmitting a packet from a
node to one of its neighbours, ETX(ij) is the power amplier energy consumption
when node i is transmitting a packet to node j, ETX
elec
is the radio electronic en-
ergy consumption when a node is transmitting a packet, and ERX
elec
1
is the radio
1
We assume that ERX
elec
(ETX
elec
) represents the dierence between normal Rx (Tx) energy
consumption and idle energy consumption. So we need not track idle energy consumption and can
set idle energy to be zero.
158
electronic energy consumption when a node is receiving a packet. With these no-
tations, the power amplier energy consumption represents the distance-dependent
power drawn. Let P
r
(d) be the power of a given signal at a distance d from the trans-
mitter of the signal, then P
r
(d) = P
t
c/d
n
, where P
t
is the transmission power from
the transmitter, 2 < n < 6 represents the path loss exponent, and c is a constant
dened by system loss, antenna gain and wavelength. The radio electronic energy
consumption (e.g., ERX
elec
, ETX
elec
) represents the static (distance-independent)
power drawn such as digital coding/decoding, modulation/demodulation, and lter-
ing of the signals.
With CSMA/CA based MAC protocols such as IEEE 802.11, each node regards
all the nodes within its radio range as neighbours. We use Figure 8.4 to illustrate
the idea of SON. Figure 8.4 shows twenty nodes that are randomly scattered in the
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
d2
d1
d3
Figure 8.4: An SON example
159
area. Before using SON, both node B and node O are neighbours of node G. When a
packet is directly transmitted from node G to node O, the total energy consumption
can be expressed as
E
direct
(G, O) = ETX(G, O) +ETX
elec
+ERX
elec
(IN(G, O) + 1) (8.2.1)
where IN(G, O) represents the number of interfered neighbours that will receive this
packet and consume receiving energy when node G transmits a packet to O directly.
After using SON, the packet is transmitted indirectly from node G to node O through
node B, the total energy consumption is
E
indirect
(G, O) = E
direct
(G, B) +E
direct
(B, O) (8.2.2)
where
E
direct
(G, B) = ETX(G, B) +ETX
elec
+ERX
elec
(IN(G, B) + 1) (8.2.3)
E
direct
(B, O) = ETX(B, O) +ETX
elec
+ERX
elec
(IN(B, O) + 1) (8.2.4)
where IN(G, B) (IN(B, O)) represents the number of interfering neighbours that will
receive this packet and consume receiving energy for a direct transmission from node
G (B) to node B (O). In this case, we can see that for a direct transmission from
G to O, there are 16 nodes (including the intended receiver O) which will receive
this packet. For the indirect transmission from G to B to O, the total number of
nodes that will receive the packet reduces to 8 (4 for G B and 4 for B O). If
E
indirect
(G, O) < E
direct
(G, O) holds, which means the total energy consumed for the
indirect transmission is less than the direct transmission, node G should not select
node O as its neighbour.
Further to our notation denition, let PTX(ij) denote the transmission power
sucient for node i to reach node j, PTX
elec
the radio electronic power consumption
160
when a node is transmitting, PRX
elec
the radio electronic power consumption when
a node is receiving. Let IN(ij) denote the number of interfering neighbours of node
i when node i is transmitting a packet to its neighbour j. The total energy cost for
the direct transmission from node i to node j is
E
direct
(ij) = ETX(ij) +ETX
elec
+ERX
elec
(IN(ij) + 1) (8.2.5)
Assume that the transmission time of a packet is T, then ETX(ij) = PTX(ij) T,
ETX
elec
= PTX
elec
T, and ERX
elec
= PRX
elec
T. Now assume that node i has
another neighbour node k, whose radio power level is less than js radio power level
(means k ranked before node j in the PAT of node i). Let
E
indirect
(ij) = E
direct
(ik) +E
direct
(kj) (8.2.6)
If E
direct
(ij) > E
indirect
(ij) held, we can get
PTX(ij) +PRX
elec
IN(ij) > PTX(ik) +PTX(kj) +PTX
elec
+
PRX
elec
(IN(ik) +IN(kj) + 1) (8.2.7)
The above inequality is used to determine if node i should select node j as its neigh-
bour in the SON pruning algorithm.
In this chapter, we consider two derivatives of SON algorithm based on equa-
tion 8.2.7. For the rst derivative, each node keeps all of its k nearest neighbours
according to distance (or power level) if the kth neighbour cannot be removed based
on equation 8.2.7. We call it Select Closest Optimal Neighbour (SCON) algorithm.
For the second derivative, each node only keeps the neighbours that are the most
energy ecient based on equation 8.2.7. We call it Select Energy Ecient Optimal
Neighbour (SEEON) algorithm. These two algorithms are similar, but for one im-
portant dierence which is illustrated with following example. Assume that a node
161
has PAT (or neighbour list) as A, B, C, D, E, F, G, H and H is the furthermost node
that cannot be removed according to equation 8.2.7, but E and F can be removed
according to equation 8.2.7. This is possible if all nodes are randomly scattered. With
SCON approach, both E and F are kept in the neighbour list. On the contrary, E
and F are removed from the neighbour list with SEEON approach.
We now describe the SON algorithm. Let G = (V, E) be an undirected graph
where V denotes the nite sets of nodes and E denotes the nite sets of edges (links),
i, j V and assume j is a one-hop neighbour of i before SON. PAT
i
is the power
allocation table of node i. For any node k in PAT
i
, PAT

k
is the power allocation
information of node k. Assume PAT
i
contains n elements. The SON algorithm is
shown in Algorithm 3.
We can see the dierence between SCON and SEEON clearly from Algorithm 3.
For SCON, a node stops checking other neighbours to be pruned if it cannot remove a
node in the neighbour list. However, SEEON checks all the neighbours from the last
one to the second one and removes all the nodes that are not energy ecient. Note
the pruning process starts from the last node in the neighbour list and goes upward
to the second one.
One concern of removing nodes from the neighbour list, which is equal to removing
links from a graph, is that it may change the network connectivity. However, we can
prove that SON algorithm does not change the network connectivity with the following
denition and lemma.
Denition 1. Let V denote the nite set of nodes and E denote the nite set of
edges in a graph. Let G = (V, E) an undirected graph such that there is an edge
e = (u, v) if and only if nodes u and v are one-hop neighbours, where u, v V . The
162
Input : A PAT of all its neighbours and corresponding PAT of each neigh-
bour
Output : An optimised neighbour list
for j n to 2 do
isNeighbour = true ;
get PTX(ij), IN(ij) from PAT
i
;
P(ij) = PTX(ij) +IN(ij) PRX
elec
;
for k 1 to j 1 do
get PTX(ik), IN(ik) from PAT
i
;
P(ik) = PTX(ik) +IN(ik) PRX
elec
;
if j PAT

k
then
get PTX(kj), IN(kj) from PAT

k
;
P(kj) = PTX(kj) +IN(kj) PRX
elec
;
if P(ij) > P(ik) +P(kj) +PTX
elec
+PRX
elec
then
isNeighbour = false ;
break ;
end
end
end
// With SCON ;
if isNeighbour = false then
remove j from PAT
i
;
else
break ;
end
// With SEEON ;
if isNeighbour = false then
remove j from PAT
i
;
end
end
Algorithm 3: Select Optimal Neighbour Algorithm.
163
graph G is said to be connected if every pair of nodes is connected by a path, that is,
every node is reachable from every other node.
Lemma 2. Let G = (V, E) an undirected graph before using SON algorithm. Let
G

= (V, E

) the undirected graph constructed after using SON algorithm. If G is


connected, then G

is connected.
Proof: For any link e = (u, v) and e E, let E(e) denote the energy consumption
on the transmitter, the intended and irrelevant receivers when a packet is sending
from u to v. Let A denote the set of links which should be removed from graph G
according to SON algorithm so we have A = E E

. Assume that there are k links


belong to set A. We introduce the following algorithm to prove our lemma. In this
algorithm, the links in A are removed in order. For i = 1, 2, . . . k, let e

i
(e

i
A)
denote the ith link that will be removed and G
i
= (V, E
i
) denote the graph left after
removing e

i
. Each time we remove the link e

i
A which satises that e

i
(AE
i1
)
and E(e

i
) E(e

) e

(A E
i1
) in the graph.
1. When i = 1 and e

1
= (u
1
, v
1
), there must be m
1
V which can satisfy
e
1
= (u
1
, m
1
), e
2
= (m
1
, v
1
) and E(e

1
) > E(e
1
) + E(e
2
) according to the SON
algorithm. Because only one link is removed from E, we can get that e
1
, e
2
E
1
and
u
1
can still reach v
1
through e
1
and e
2
. So the connectivity of G
1
is same as that of
G.
2. We assume that the connectivity of G
i
keeps the same connectivity with that
of G. After removing e

i+1
= (u
i+1
, v
i+1
). There must be m
i+1
V which can
satisfy e
l
= (u
i+1
, m
i+1
), e
j
= (m
i+1
, v
i+1
) and E(e

i+1
) > E(e
l
) + E(e
j
). Because
E(e

i+1
) > E(e
l
) E(e

i+1
) > E(e
j
) and we remove links in sequence from maximum
to minimum E(e

) in set A, we have e
l
, e
j
E
i+1
. The connectivity of G
i+1
is the
164
same as that of G
i
and G. As a result, we can get the conclusion that the connectivity
of G

is as same as G.
3. Now, let G

= (V, E

) denote the undirected graph in which n links have been


randomly removed according to SON algorithm. We can get that E

. Because
the connectivity of G

is as same as G, the connectivity of G

must be as same as G.
Thus, we have proved that SON algorithm does not change the network connec-
tivity.
8.2.4 Symmetrisation
Because the network topology is random and asymmetric, it is possible that node A
regards node B as its neighbour but node B does not regard node A as a neighbour.
In the last phase, we allow each node to remove those neighbours with unidirectional
links. Although implementing unidirectional links is technically feasible, the actual
advantage of using unidirectional links is questionable [66], especially for routing pro-
tocols that require link reciprocity such as DSDV. Marina and Das [65] have shown
that high overhead needed to handle unidirectional links in routing protocols out-
weighs the benet that they provide, and better performance can be achieved by
simply removing unidirectional links. In our NS-2 simulation, we found similar prob-
lem without implementing this last phase. When we use DSDV routing protocol,
a node constructs its routing table depending on the DSDV routing messages it re-
ceived. As a result, a node may receive some DSDV messages from its neighbours with
unidirectional links and construct some links that it cannot reach. When it routes
packets through these unreachable links, it has to re-construct a new reachable link
that consumes more overheads than normal routing.
165
In the Symmetrisation phase, each node broadcasts its neighbour list again with
the radio power that can reach the furthermost neighbour. When node A receives a
broadcast packet from node B (assume B is in As neighbour list), A will remove B
from its neighbour list if Bs neighbour list does not include A.
However, symmetrisation may change broadcast radio power of a node. The conse-
quence is that the broadcast radio power of SCON and SEEON may be dierent after
this phase. For example, assume that node A has PAT as B, C, D, E, F, G, H and
H has a PAT as I, J, K, L, A, M after SCON. But node A has PAT as B, E, F, G, H
and H has I, J, L, M (note A is not in Hs PAT) after SEEON. After symmetrisation
phase, the PAT of A for SCON is B, C, D, E, F, G, H, but the PAT of A for SEEON
is B, C, D, E, F, G (note H is removed from As PAT because A is not in Hs PAT
for SEEON). The furthermost neighbour of A is H for SCON but G for SEEON. In
this situation, the broadcast radio power of SEEON is dierent with that of SCON.
8.2.5 The Need to Adjust Transmission Power
In the previous sections, we presented an algorithm which allows a node i to choose
an energy ecient set of neighbours N(i). In this section, we investigate the power
level that should be used to reach each neighbour in N(i). There are two options. For
the rst option, node i uses only one power level to reach all the nodes in N(i). The
power level is chosen so that it is just sucient to reach the furthermost neighbour in
N(i). This option is adopted by the TOPA algorithm described in Section 8.1. For
the second option, node i uses dierent power levels to reach dierent neighbours in
N(i). In fact, for each node j in N(i), node i uses a power level which is just enough to
reach node j. We argue that the rst option is awed and may not produce reasonable
166
energy savings.
We assume that the rst option is used. Let nodes i, j, k be three nodes that
satisfy E
direct
(ij) > E
indirect
(ij), where E
indirect
(ij) = E
direct
(ik) + E
direct
(kj). Thus,
node j will be eliminated from the neighbour list of i by SON. Now, let p and q
be, respectively, the furthermost node in the neighbour list of i and j after SON is
applied. With the rst option, an indirect transmission from node i to node j costs

E
indirect
(ij), where

E
indirect
(ij) = E
direct
(ip) +E
direct
(kq) (8.2.8)
By the denition of p and q, it can easily be shown that E
direct
(ip) E
direct
(ik) and
E
direct
(kq) E
direct
(kj). Therefore we have

E
indirect
(ij) E
indirect
(ij) (8.2.9)
Since we already have E
direct
(ij) E
indirect
(ij), it is possible that

E
indirect
(ij) >
E
direct
(ij) and if this holds, it means that the rst option consumes more energy than
direct transmission (from node i to node j). We next give an example to demonstrate
that this may occur.
Let P
th
and r
m
denote the receiving threshold and the maximum transmission
range respectively. The transmission power required to reach a node at distance r is
P
th
r
n
where n is the path loss exponent. Consider Figure 8.5 and we assume that
there are x nodes clustered around p (e.g., from a to b). It can be shown that
E
direct
(ij) = P
th
r
n
m
+ETX
elec
+ (2 +x)ERX
elec
(8.2.10)
E
indirect
(ij) = 2P
th
_
r
m
2
_
n
+ 2ETX
elec
+ 3ERX
elec
(8.2.11)
with a suciently large value of x and r
m
, E
direct
(ij) > E
indirect
(ij) holds and SON
will be functioning. Node i will remove node j from its neighbour list. If transmission
167
j k i
r
m/2
r
m/2
p
m
r
q
r
r
m
m
r
m
b
a
Figure 8.5: Negative eect without adjusting transmission power
power is not adjusted, both nodes i and k will use the full transmission power (which
can reach the furthermost neighbour) in the indirect transmission from i to j, thus

E
indirect
(ij) = 2P
th
r
n
m
+ 2ETX
elec
+ (5 +x)ERX
elec
(8.2.12)
Comparing equations 8.2.10 and 8.2.12, we have

E
indirect
(ij) > E
direct
(ij) which
means that the indirect transmission costs more energy than the direct transmis-
sion. This contradicts the design objective of SON. Therefore, we can conclude that
option one mentioned at the beginning of this subsection is problematic.
For a network with large number of randomly deployed nodes, both

E
indirect
(ij)
E
direct
(ij) and

E
indirect
(ij) E
direct
(ij) can exist. The positive and negative eects
are balanced so that the energy consumption may not achieve signicant dierence
with and without SCON. Our simulation shows that the energy consumption of stan-
dard 802.11 and SCON with option one is almost the same (see section 9.1).
Although the above argument takes irrelevant receivers into account, the same
argument can also be applied to the K-Neigh pruning algorithm which does not
168
consider irrelevant receivers. The conclusion is that varying the transmission power
for each neighbour node is essential for energy savings.
8.3 Summary
In this chapter, we proposed two location-aware select optimal neighbour (SON)
algorithms for CSMA/CA based MAC protocol for wireless ad hoc networks. Both
algorithms concentrate on the improvement of energy eciency of the whole network
through optimisation of the number of neighbours of each node.
Traditional optimised pruning algorithm (TOPA) only considers distance depen-
dent radio transmission energy consumption. However, the eciency of the algorithm
is aected when the radio electronic energy consumption cannot be simply ignored
compared to the radio transmission energy consumption. Instead, our algorithm con-
siders both the radio electronic energy consumption and the radio transmission energy
consumption. We also consider the energy consumption at those irrelevant receivers
in the optimised pruning algorithm. We demonstrated the need to adjust transmis-
sion power of a node to reach dierent neighbours. We proved that if the transmission
power is set to a xed value, both traditional optimised pruning algorithm (TOPA)
and SON may not achieve reasonable energy savings.
Chapter 9
Simulation and Analysis of SON
In this chapter, we provide detailed simulation and analysis of our proposed Select Op-
timum Neighbour (SON) protocol. The simulation has been conducted using network
simulator NS-2. The simulation studies focus on the network topology, connectiv-
ity between neighbours, and energy consumption. The energy dissipation model of
Figure 7.1 is used in our simulation. In Section 9.1, we assume that the electronic
power consumption is a constant. We use the Lucent IEEE 802.11 WaveLAN card
parameters [21] and compare the performance of IEEE 802.11 based network which
uses SON algorithm with one that does not use SON. In Section 9.2, we use dierent
values of the electronic power to evaluate the eect of the ratio between electronic
power and the transmission power on the performance of energy consumption.
9.1 Simulations Using Constant Electronic Power
The Lucent IEEE 802.11 WaveLAN card parameters are used in our study. The
power consumption of the WavwLAN card at transmit, receive, and idle are 1.65W,
1.4W, and 1.15W respectively [21]. The ETX
elec
(and ERX
elec
) used in the algorithm
(e.g., equation 8.2.7) is the dierence to the idle energy consumption. The parameters
169
170
used in our simulations are shown in Table 9.1
1
. We implemented a random multi-hop
Table 9.1: Parameters used in simulations.
Data Packet Size 2 KB
Data Rate 2 Mbps
Propagation Model Log distance path loss
Reference Distance 1 meter
Path Loss Exponent 3
Antenna Gain 1
System Loss l
Rx Threshold 1e-10 W
Rx Elec Power 250 mW
Tx Elec Power 250 mW
Max Radio Power 250 mW
network topology with 100 nodes randomly deployed in 500m500m square area and
compared the energy consumption of the following 5 dierent algorithms:
- Standard IEEE 802.11 where the maximum transmission power is always used.
- Power adjustable IEEE 802.11 where dierent transmission power is used to
reach dierent neighbours. The power is chosen such that when it reaches the
intended receiver, the received power equals to the lowest receiving threshold.
- Power unadjustable SCON which is equivalent to TOPA.
- SCON.
- SEEON.
The power unadjustable SCON sets the Tx power needed to reach the furthermost
immediate neighbour. The network topology before SON is shown in Figure 9.1
1
Note that the ERX
elec
is the dierence between the real Rx power (1.4W) and idle power
(1.15W). We assume that ETX
elec
is same as ERX
elec
and the idle energy is set to zero. We also
assume that the Rx Threshold and Carrier Sense Threshold have the same value.
171
and the topologies after SCON and SEEON is shown in Figure 9.2 and Figure 9.3.
Comparing these three gures, we can see that the connection patterns become
0 50 100 150 200 250 300 350 400 450 500
0
50
100
150
200
250
300
350
400
450
500
Y
(
m
)
X(m)
Figure 9.1: Network topology before SON.
simpler after SCON and SEEON. To compare dierent protocols mentioned above,
we measure the following parameters:
- Number of Neighbours: This parameter measures the number of neighbours
after employing dierent algorithms, e.g., standard 802.11, SCON, SEEON.
- Average Radio Power: This parameter measures the average transmission power
of each node. It is calculated as the average of all transmission powers corre-
spondent to all neighbours for a given node.
- Broadcast Radio Power: This parameter equals to the transmission power for
a given node to reach its furthermost neighbour node.
172
0 50 100 150 200 250 300 350 400 450 500
0
50
100
150
200
250
300
350
400
450
500
Y
(
m
)
X(m)
Figure 9.2: Network topology after SCON.
- Average Energy Consumption Per Node for Broadcast: This parameter is mea-
sured as the average energy consumption per node after a full process of DSDV
(Destination Sequenced Distance Vector Routing, see Chapter 2.4) information
exchange.
- Average Energy Consumption Per Node for Unicast: This parameter is mea-
sured as the average energy consumption per node after a number of sources
send (unicast) packets to their correspondent sinks.
Figure 9.4 shows the number of neighbours of each node before and after SON.
The average number of neighbours is 13.52 with standard deviation 3.966 for standard
802.11, 7.98 with standard deviation 2.807 for SCON, and 5.78 with standard devia-
tion 1.894 for SEEON. After using SCON and SEEON, the number of neighbours for
173
0 50 100 150 200 250 300 350 400 450 500
0
50
100
150
200
250
300
350
400
450
500
Y
(
m
)
X(m)
Figure 9.3: Network topology after SEEON.
some nodes reduces signicantly. For instance, we found that node 28 had 19 neigh-
bours before SON but only 6 after SCON and SEEON. Node 54 has 14 neighbours
before SON but only 4 neighbours after SCON and 3 neighbours after SEEON. As
we described before, the neighbours of each node after SEEON is a subset of that
after SCON. We see that the number of neighbours of each node after SEEON is less
than or equal to that after SCON.
Figure 9.5 shows the average radio power of each node when it communicates with
its immediate neighbours. For standard 802.11, the nodes use maximum radio power
(250mW) to transmit packet to neighbours. If we assume that the radio power of
802.11 can be adjusted depending on the distance of each node (power adjustable
802.11), the average power level decreases to 86.9 mW which is only 34.8% of the
174
0 10 20 30 40 50 60 70 80 90 100
0
5
10
15
20
25
N
u
m
b
e
r

o
f

n
e
i
g
h
b
o
u
r
s
Node ID #
802.11
SCON
SEEON
Figure 9.4: The number of neighbours of each node.
standard 802.11. After SCON, the average power level decreases to 53.4 mW which
is only 21.4% of the standard 802.11. For SEEON, the average radio power is 42.8
mW and is 17.1% of the standard 802.11. The dierence in average radio power
between SCON and SEEON is due to the symmetrisation process we discussed in
Chapter 8.2.4.
Figure 9.6 shows the broadcast radio power of dierent protocols. The standard
802.11 still uses 250mW to broadcast packets. The power adjustable 802.11 uses
the power needed to reach the furthermost neighbour as its broadcast power, the
average value decreases to 229.8 mW and is 9.1% less than standard 802.11. The
average broadcast power of SCON decreased to 126.9 mW and is 49.2% less than
175
0 10 20 30 40 50 60 70 80 90 100
0
0.05
0.1
0.15
0.2
0.25
A
v
e
r
a
g
e

r
a
d
i
o

p
o
w
e
r

(
W
)
Node ID #
802.11
802.11 with adjustable power
SCON
SEEON
Figure 9.5: Average radio power to communicate with neighbours.
standard 802.11. The average broadcast power of SEEON is 103.9 and is 58.5% less
than standard 802.11. The dierence in broadcast radio power between SCON and
SEEON is also due to the symmetrisation process.
In the simulation, we implemented 5 pairs of sources and sinks (randomly selected)
with each source sending 100 packets to a corresponding sink. Each packets departure
time is randomised according to a uniform distribution (refer to NS-2 manual). The
DSDV routing protocol is used. The routes of standard and power adjustable 802.11
are the same because they have same neighbour list. The routes of power adjustable
and unadjustable SCON are also the same. The corresponding routing paths are
listed as below:
The Routing Path of 802.11:
Source(73)->23->5->67->90->10->77->Sink(8)
176
0 10 20 30 40 50 60 70 80 90 100
0
0.05
0.1
0.15
0.2
0.25
B
r
o
a
d
c
a
s
t

r
a
d
i
o

p
o
w
e
r

(
W
)
Node ID #
802.11
802.11 with adjustable power
SCON
SEEON
Figure 9.6: Broadcast radio power of each node.
Source(63)->42->1->67->14->97->54->Sink(45)
Source(47)->85->Sink(64)
Source(95)->54->Sink(78)
Source(16)->1->6->Sink(18)
The Routing Path of SCON:
Source(73)->23->94->40->71->93->4->77->Sink(8)
Source(63)->0->61->13->53->70->98->80->Sink(45)
Source(47)->97->14->28->Sink(64)
Source(95)->80->52->Sink(78)
Source(16)->0->25->92->Sink(18)
177
The Routing Path of SEEON:
Source(73)->23->94->13->71->75->2->4->77->Sink(8)
Source(63)->36->0->61->13->94->5->76->27->46->29->Sink(45)
Source(47)->27->14->28->Sink(64)
Source(95)->7->52->32->Sink(78)
Source(16)->0->42->92->Sink(18)
We see that the number of hops increases after employing SON due to the removing
of neighbours. Before transmitting data, we let each node exchange DSDV routing
messages to construct its routing table. To avoid the inuence of the DSDV energy
consumption on our evaluation of the SON, we only set the network to exchange
DSDV routing messages once and keep the same routes when the packets are trans-
mitted. Figure 9.7 shows the average energy consumption per node for a full process
of DSDV information exchange for the whole network. Both standard 802.11 and
power adjustable 802.11 used 6369 messages to exchange DSDV routing information.
The power adjustable 802.11 consumed 0.4273 J per node on average and this value
is about 0.6% less than standard 802.11 (0.4297 J). SCON exchanged 7435 messages
and consumed 0.3313 J per node. SEEON exchanged 8205 messages and consumed
about 0.32 J per node. Because SCON and SEEON have smaller broadcast radio
powers and less number of neighbours, they used 16.7% and 28.8% more messages
than 802.11 to make each node obtain the same topology information of the whole
network. However, they achieved about 22.9% and 25.5% energy savings compared
to standard 802.11. We can see that SON has better energy performance when the
network exchanges information using broadcast.
178
0 10 20 30 40 50 60
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
A
v
e
r
a
g
e

e
n
e
r
g
y

c
o
m
s
u
m
p
t
i
o
n

(
J
)
Time (s)
802.11
802.11 with adjustable power
SCON
SEEON
Figure 9.7: DSDV energy consumption.
Figure 9.8 shows the average energy consumption per node for data transmission.
The average energy consumption per node is 1.519 J for standard 802.11, 1.242 J for
power adjustable 802.11, 1.475 J for power unadjustable SCON, 1.095 J for SCON,
and 0.937 J for SEEON. Simulation results shows that the energy consumption of
power unadjustable SCON is only 2.9% less than standard 802.11. This result is
consistent with our conjecture in section 8.2.5. However, we can achieve 27.9% energy
savings than standard 802.11 if we assume power adjustable SCON. To make sure
that the energy savings are not only due to power adjustment but also contributed
by our select optimal neighbour algorithms, we compared SCON and SEEON with
power adjustable 802.11. We can see that SCON and SEEON achieved 11.8% and
24.6% energy savings compared to power adjustable 802.11 and 27.9% and 38.3%
179
0 10 20 30 40 50 60
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
A
v
e
r
a
g
e

e
n
e
r
g
y

c
o
m
s
u
m
p
t
i
o
n

(
J
)
Time (s)
802.11
802.11 with adjustable power
SCON without adjustable power
SCON
SEEON
Figure 9.8: Average energy consumption per node for data transmission.
energy saving compared with standard 802.11.
9.2 Simulations with Dierent Electronic Power
From Equation 8.2.5 and 8.2.7, we can see that the network topology after SON
is mainly decided by three factors: transmission power (PTX), electronic power
(PTX
elec
and PRX
elec
) and the number of neighbours. We assume that r is the ratio
of the electronic power to transmission power. Hence, we get,
r =
PRX
elec
PTX
(9.2.1)
In this subsection, we investigate the relationship between the energy performance
and r. To evaluate this relationship, we measure the energy consumption involved
180
in transmitting from source 73 to sink 8 with dierent electronic power values: 2.5
mW, 5 mW, 12.5 mW, 25 mW, 50 mW, 125 mW, 250 mW, 500 mW, 1250 mW. The
corresponding ratios of electronic power to full transmission power (250mW) are 0.01,
0.02, 0.05, 0.1, 0.2, 0.5, 1, 2 and 5. The network topology and other parameters used
in this section are the same as in Section 9.1. In this case, the average number of
neighbours is 13.52 with standard deviation 3.966 for the standard 802.11 (Figure 9.4).
Now, let n denote the average number of neighbours of each node in the original
802.11 topology (i.e., before SON is executed). When nr 1, the electronic energy
consumption is the dominant energy consumption in the network. We can simplify
equation 8.2.5 to,
P
direct
(ij) PTX
elec
+PRX
elec
(IN(ij) + 1) (9.2.2)
which means that the network topology after SON is mainly decided by electronic
power. As aforementioned, the average number of neighbours before SON is 13.52.
When r = 1, r n = 13.52 1, the electronic energy consumption dominates the
total energy consumption and it is the most signicant factor for SON.
Figure 9.9 shows the average number of neighbours after the pruning algorithms
are executed. When r increases from 0.01 to 1, the number of neighbours with TOPA,
SCON, SEEON increase from 3.94, 4.24, 3.56 to 13.52, 7.98, 5.78 respectively. When
r 1, the average numbers of neighbours with SCON and SEEON remain at the
same value of 7.98 and 5.78, which means that the network topology after SON does
not change further with the increase of r.
Before transmitting data from source 73 to sink 8, we let each node exchange
DSDV routing messages to construct the routing tables. As we did before, to avoid
the inuence of the DSDV energy consumption on the evaluation of the SON, we only
181
10
2
10
1
10
0
2
4
6
8
10
12
14
16
N
u
m
b
e
r
s

o
f

n
e
i
g
h
b
o
u
r
s
Ratio of electronic power to transmission power (r)
802.11
TOPA
SCON
SEEON
Figure 9.9: Average numbers of neighbours under dierent r values.
set the network to exchange DSDV routing messages once and keep the same routes
when the packets are transmitted.
Figure 9.10 shows overall energy consumption per node for a full process of DSDV
information exchange for the whole network under dierent r values. This gure shows
the energy consumption of pure broadcast trac. When r = 0.1, TOPA achieves
68.7% energy savings while exchanging DSDV messages as compared to 802.11. On
the other hand, SCON and SEEON consume 68.7% and 68.1% less energy than
802.11, respectively. When r = 5, SCON and SEEON consume 21.8% and 24.1% less
energy than 802.11. However, TOPA only achieves 1.2% energy savings as compared
to 802.11. This reveals that when electronic energy consumption dominates the total
energy consumption, TOPA cannot achieve signicant energy savings.
182
10
2
10
1
10
0
10
1
10
0
D
S
D
V

e
n
e
r
g
y

c
o
n
s
u
m
n
p
t
i
o
n

(
J
)
Ratio of electronic power to transmission power (r)
802.11
TOPA
SCON
SEEON
Figure 9.10: DSDV energy consumption under dierent r values.
Figure 9.11 shows the average energy consumption per node after source 73 sends
100 packets to sink 8 with dierent electronic power values. We see that the average
energy consumption increases (obviously) with the increase of r for all of the four
protocols. As an example, we calculate the average electronic energy consumption
and the average radio energy consumption for 802.11
2
. From Figure 9.11, we can
calculate that the total energy consumption of 802.11 is 1.80e-2 J (includes both
electronic energy consumption and radio energy consumption) when electronic power
is 2.5 mW (e.g., r = 0.01). When the electronic power is 5 mW (e.g., r = 0.02),
the total energy consumption of 802.11 is 2.06e-2 J. If we denote E
elec
(r = 0.01) the
2
Since the radio power and topology may be dierent with TOPA, SCON, and SEEON, we did
not dierentiate the electronic energy consumption and radio energy consumption for these three
protocols.
183
10
2
10
1
10
0
10
2
10
1
10
0
A
v
e
r
a
g
e

e
n
e
r
g
y

c
o
n
s
u
m
n
p
t
i
o
n

(
J
)
802.11
TOPA
SCON
SEEON
Figure 9.11: Average energy consumption under dierent r values.
electronic energy consumption when r = 0.01, and denote E
tx
(r = 0.01) the radio
energy consumption, we can have
E
elec
(r = 0.01) +E
tx
(r = 0.01) = 1.80e 2J (9.2.3)
Similarly, we can have
E
elec
(r = 0.02) +E
tx
(r = 0.02) = 2.06e 2J (9.2.4)
Since 802.11 has xed transmission power, the network topology does not change, we
have E
tx
(r = 0.01) = E
tx
(r = 0.02), and we also have E
elec
(r = 0.02) = 2 E
elec
(r =
0.01). We can get the radio energy consumption (E
tx
(r = 0.01) and E
tx
(r = 0.02))
of 802.11 is 1.54e-2 J. We also get E
elec
(r = 0.01) = 2.6e 3J and E
elec
(r = 0.02) =
5.2e3J. We see that the electronic energy consumption contributes 14% of the total
184
energy consumption when r = 0.01 and 25% of the total energy consumption when
r = 0.02. However, when the electronic power is 250 mW (e.g., r = 1), the total
energy consumption of 802.11 is 2.77e-1 J and the electronic energy consumption
is 2.616e-1 J. In this case, the electronic energy consumption is almost 16 times
larger than the radio energy consumption, which means that the electronic energy
consumption dominates the total energy consumption.
Now, assuming that the energy consumption of 802.11 is equal to 1, Figure 9.12
normalised the energy saving rate of TOPA and SON compared with 802.11 under
dierent r values. The energy saving rate is calculated as follows:
Energy Saving Rate =
E(802.11) E(x)
E(802.11)
(9.2.5)
where x represents TOPA or SCON or SEEON. The energy consumption values used
in the calculation are from Figure 9.11. From Figure 9.12, we can see that when
r 0.1, both TOPA and SON achieve more than 44% energy savings compared to
802.11. When r 1, SCON, SEEON, and TOPA achieves about 33%, 41%, and 22%
energy saving respectively compare with 802.11. This reveals that SON has better
energy performance than TOPA when electronic energy consumption dominates the
total energy consumption compared with the radio energy consumption.
Figure 9.13 shows number of hops from source (node 73) to sink (node 8) under
dierent r values. We see that the numbers of hops from source to sink decreases
when electronic power increases. When r 1, the routing paths may be dierent
even with the same numbers of hops. For example, the number of hops with SEEON
is equal to 11 when r is 0.1, 0.2 and 0.5. The corresponding routing paths are listed
as follows:
r=0.1
Source(73)->91->62->94->13->71->75->93->4->55->Sink(8)
185
10
2
10
1
10
0
20
25
30
35
40
45
50
55
60
65
70
E
n
e
r
g
y

s
a
v
i
n
g

r
a
t
e

(
%
)
Ratio of electronic power to transmission power (r)
TOPA
SCON
SEEON
Figure 9.12: Energy saving rate compared with 802.11 with dierent r values.
r=0.2
Source(73)->57->23->94->13->71->75->93->4->55->Sink(8)
r=0.5
Source(73)->57->23->94->13->71->75->93->4->77->Sink(8)
It can be seen that the path for r = 0.1 is dierent from r = 0.2 and r = 0.5. When
r 1, the routing path does not change further because the network topology after
SON does not change.
9.3 Summary
In this chapter, we provided detailed simulation results and analysis of SON protocol
which is proposed in Chapter 8. Simulation results show that SCON and SEEON can
186
10
2
10
1
10
0
6
7
8
9
10
11
12
13
14
15
16
N
u
m
b
e
r
s

o
f

h
o
p
s

f
r
o
m

s
o
u
r
s
e

t
o

s
i
n
k
Ratio of electronic power to transmission power (r)
802.11
TOPA
SCON
SEEON
Figure 9.13: Number of hops from source to sink with dierent r values.
achieve energy savings of about 28% and 38% respectively compared to the standard
802.11. Furthermore, we have carried out extensive simulations and evaluations of
802.11, TOPA, and SON based on dierent electronic powers. The simulation results
show that the ratio between radio electronic power and radio transmission power has
signicant inuence on the eciency of SON. When electronic energy consumption
contributes a larger part of the total energy consumption, SON has better energy
performance than TOPA.
Part IV
Concluding Remarks and Future
Work
187
Chapter 10
Conclusion and Future Work
One of the most compelling challenges of the next decade is the last-meter problem,
extending the expanding data network into end-user data-collection and monitoring
devices [84]. The proliferation of wireless sensor and ad hoc networks will profoundly
impact all industries and the way we perceive our world in the foreseeable future.
While breakthrough technologies have made it conceivable to build and deploy large
scale wireless sensor and ad hoc networks, the design of adaptive and distributed
protocols for wireless sensor and ad hoc networks is still a challenge.
This dissertation contributes to this active research area with the design and
evaluation of a multi-channel media access control (MAC) protocol, CSMAC, for DS-
CDMA wireless sensor networks and an optimised neighbour selection protocol, SON,
for wireless ad hoc networks.
10.1 CSMAC for Sensor Networks
Traditional contention based MAC protocols for sensor networks suer from both low
network throughput and long packet latency. Control packet (RTS/CTS/ACK) ex-
change produces signicant overhead due to short data packet size in sensor networks.
188
189
We propose to use frequency division to reduce multiple access interference (MAI) in
a DS-CDMA based wireless sensor network to achieve less channel contention, lower
packet latency, higher network throughput, and less energy consumption. By em-
ploying frequency division, the uncontrollable MAI encountered in a pure DS-CDMA
system can be eectively reduced and great improvement in network throughput and
system capacity can be achieved. We characterise analytically the expected value of
MAI at a given node in relation to the number of frequency channels and show that
a limited number of frequency channels can reduce the MAI signicantly. Through
discrete event simulation (using NS-2), we provide comparisons of our proposed sys-
tem to a pure DS-CDMA system and a contention based system. Simulation results
reveal that our proposed system can achieve 15-20 times the system eciency of a
contention based system. When the same number of packets are transmitted in the
network, our system consumes only 10% of communication energy compared to the
contention based system.
We also propose and evaluate a distributed channel allocation algorithm for the
network formation process. We prove that our algorithm is correct and converg-
ing both analytically and in simulations. Our simulation results reveal that a much
smaller number of channels are required than theoretical values when nodes are uni-
formly randomly distributed.
10.2 SON for Ad Hoc Networks
We proposed two location-aware select optimal neighbour algorithms for CSMA/CA
based MAC protocol for wireless ad hoc networks. Both algorithms concentrate on
the improvement of energy eciency of the whole network through the optimisation
190
of the number of neighbours of each node.
Traditional optimum pruning algorithm (TOPA) only considers distance depen-
dent radio transmission energy consumptions. However, the eciency of TOPA is
aected when the radio electronic energy consumption cannot be simply ignored
compared to the radio transmission energy consumption. Instead, our SON algo-
rithm considers both radio electronic energy consumption and radio transmission
energy consumption. SON also considers the energy consumption at those irrelevant
receivers in the optimised pruning process.
NS-2 simulations show that SCON and SEEON can achieve energy savings for
about 28% and 38% respectively compared with the standard 802.11 when using the
the Lucent IEEE 802.11 WaveLAN card parameters. Furthermore, we have carried
out extensive simulation-based evaluations of 802.11, TOPA and SON. The simu-
lations show that the ratio between radio transmission power and radio electronic
power has a signicant inuence on the performance of SON. When electronic energy
consumption is a considerable part of energy consumption, SON has a better energy
performance than TOPA.
An interesting area is how the network throughput and packet latency will be
inuenced by our SON pruning algorithm. On the one hand, removing neighbours
normally means increasing the number of hops from a specic source to a sink, thus
the latency is increased. On the other hand, a shorter transmission range means a
smaller contenders for the channels, therefore, less contention delays and the latency
is decreased. The network throughput and packet latency are also related to the
trac patterns. We would like to pursue these problems in our future work.
191
10.3 Future Research Directions
In this section, we discuss several future research directions. Although this disser-
tation focuses on MAC layer for wireless sensor and ad hoc networks, we believe
that next generation embedded computing and communication systems will require
a broader set of knowledge and a greater emphasis on interdisciplinary research, es-
pecially on the engagement of computing engineering and wireless communications.
In what follows, we present several research areas that we are particular interested to
explore in future works.
10.3.1 Improve CSMAC Protocol to be Compatible with a
Heterogenous System
CSMAC design assumes a homogeneous system where all sensors have the same ca-
pability (in power, processing, memory, etc.). It would be interesting to improve
our current system to be compatible with a heterogeneous system such as wireless
sensor and actor networks (WSANs) [5], where sensors (low-end devices) and ac-
tors (high-end devices) can have dierent capabilities (e.g., actors can have more
power and processing capabilities than sensors). An actor node may also be a mobile
node. Heterogeneous system introduces signicant new challenges such as eective
sensor-actor coordination, actor-actor coordination, optimised actor deployment, het-
erogeneous topology control, etc. The research problems that should be investigated
include: what are the requirements of the communication paradigm, which sensor
communicates with which actor, how to implement the communication (e.g., using
single channel, multi-channel, contention-based, contention-less), etc. The WSANs
192
can be considered as the combination of wireless sensor and ad hoc networks and is
an emerging research area.
10.3.2 Hardware Implementation and Evaluation of CSMAC
Protocol
Our foremost interest is in implementing CSMAC in hardware for further evaluations
and verications. As there is no hardware available in the market that can meet the
requirements of CSMAC architecture, we have to use simulations to conduct perfor-
mance analysis at this stage. It would be interesting to build hardware testbed and
conduct experiments in the real environment. We believe that our proposed system
has commercialisation potential and may be used in several mission critical areas such
as military, real time monitoring (bush res, seismic waves, machine operation, etc.),
as well as target tracking.
10.3.3 CSMAC Performance Evaluation with Dierent Topol-
ogy Control Protocols
In CSMAC, we adopted a simple topology control protocol K-Neigh to allow nodes
dynamically discovering themselves and selecting communication neighbours to form
a connected multi-hop network topology. As there are enormous topology control
protocols for ad hoc and sensor networks in literature (see Chapter 2.5), it will be
an interesting topic to explore the potential inuence of dierent topology control
protocols on the performance with CSMAC protocol. As we also proposed a select
optimum neighbour (SON) algorithm for ad hoc networks, it is worth exploring the
193
potential inuence of SON on the performance of sensor networks. Furthermore,
a topology control protocol that can optimise the energy eciency, packet latency,
network throughput, system capacity, as well as sensing accuracy and fault tolerance
is a challenging project.
10.3.4 Cross-Layer Design
The aforementioned research areas span several protocol layers from physical layer to
application layer. A recent eort in wireless networks is cross-layer design to improve
system performance. Most current approaches in sensor networks only consider cross-
layer optimisation between two layers, e.g., MAC and routing, MAC and physical,
etc. A new perspective is to melt transport, routing, and MAC layer into one commu-
nication layer [5]. But there are also controversies that unbridled cross-layer design
can lead to various negative consequences, and can stie further innovations since the
number of new interactions introduced can be large [43]. A good architecture design
is important for proliferation and longevity of the technology. We are also interested
in pursuing the advantages and disadvantages of the cross-layer design in ad hoc and
sensor networks.
10.4 Summary
In this chapter, we summarised this dissertation and discussed several future research
directions and challenges. Future wireless networks will be wireless mesh networks
that can be seen as a union of sensor networks, ad hoc networks, mobile broadband
networks, etc., which are also connected to the Internet and PSTN. Many signicant
194
challenges are emerged in this heterogeneous network architecture. We are keen to
pursue all these areas in our future research.
Part V
Appendix
195
Appendix A
Channel Assignments for A
Network Topology
This appendix illustrates the simulation results (see Chapter 7.2) for the channel
assignments for all the 100 nodes in a randomly selected network topology after using
Algorithm 1 (described in Chapter 6.1). Each block (between two === lines)
contains information for each node. These information include the node id, nodes
coordinates (X and Y ), and the nodes allocated channel number. Each block also
gives the neighbour list of the node and all the neighbours correspondent information
(e.g., node id, coordinates, and their allocated channel number).
========================================================================
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
------------------------ Node 0 Neighbours List ------------------------
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 85, X = 56.925009, Y = 20.382744, Channel = 78
--> Node id = 86, X = 46.657208, Y = 23.421643, Channel = 76
196
197
========================================================================
========================================================================
--> Node id = 1, X = 4.243171, Y = 89.805443, Channel = 82
------------------------ Node 1 Neighbours List ------------------------
--> Node id = 47, X = 6.843806, Y = 89.631510, Channel = 79
--> Node id = 77, X = 8.206613, Y = 93.221505, Channel = 78
--> Node id = 88, X = 2.740684, Y = 78.775429, Channel = 76
--> Node id = 6, X = 5.145231, Y = 78.345756, Channel = 80
========================================================================
========================================================================
--> Node id = 2, X = 23.195987, Y = 75.309801, Channel = 82
------------------------ Node 2 Neighbours List ------------------------
--> Node id = 84, X = 18.070125, Y = 74.164013, Channel = 77
--> Node id = 56, X = 17.013322, Y = 67.093344, Channel = 78
--> Node id = 4, X = 12.069100, Y = 71.541380, Channel = 81
--> Node id = 83, X = 30.296209, Y = 91.518077, Channel = 80
========================================================================
========================================================================
--> Node id = 3, X = 39.879069, Y = 15.254947, Channel = 82
------------------------ Node 3 Neighbours List ------------------------
--> Node id = 36, X = 37.534020, Y = 14.358991, Channel = 78
--> Node id = 16, X = 42.037180, Y = 17.381507, Channel = 79
--> Node id = 13, X = 43.743475, Y = 18.563136, Channel = 81
--> Node id = 89, X = 34.147953, Y = 18.297702, Channel = 76
--> Node id = 76, X = 35.035610, Y = 20.635138, Channel = 77
========================================================================
========================================================================
--> Node id = 4, X = 12.069100, Y = 71.541380, Channel = 81
------------------------ Node 4 Neighbours List ------------------------
198
--> Node id = 97, X = 6.898474, Y = 68.566166, Channel = 74
--> Node id = 84, X = 18.070125, Y = 74.164013, Channel = 77
--> Node id = 56, X = 17.013322, Y = 67.093344, Channel = 78
--> Node id = 6, X = 5.145231, Y = 78.345756, Channel = 80
--> Node id = 95, X = 14.934135, Y = 61.412199, Channel = 75
--> Node id = 2, X = 23.195987, Y = 75.309801, Channel = 82
========================================================================
========================================================================
--> Node id = 5, X = 44.263007, Y = 84.163812, Channel = 82
------------------------ Node 5 Neighbours List ------------------------
--> Node id = 72, X = 45.956426, Y = 84.998750, Channel = 78
--> Node id = 34, X = 38.732208, Y = 84.969717, Channel = 79
--> Node id = 87, X = 39.222913, Y = 89.849342, Channel = 77
--> Node id = 28, X = 42.004120, Y = 76.832843, Channel = 81
--> Node id = 65, X = 51.392094, Y = 90.914291, Channel = 76
--> Node id = 41, X = 53.484885, Y = 72.933615, Channel = 80
========================================================================
========================================================================
--> Node id = 6, X = 5.145231, Y = 78.345756, Channel = 80
------------------------ Node 6 Neighbours List ------------------------
--> Node id = 88, X = 2.740684, Y = 78.775429, Channel = 76
--> Node id = 4, X = 12.069100, Y = 71.541380, Channel = 81
--> Node id = 97, X = 6.898474, Y = 68.566166, Channel = 74
--> Node id = 47, X = 6.843806, Y = 89.631510, Channel = 79
--> Node id = 1, X = 4.243171, Y = 89.805443, Channel = 82
--> Node id = 84, X = 18.070125, Y = 74.164013, Channel = 77
========================================================================
========================================================================
--> Node id = 7, X = 99.664662, Y = 99.782952, Channel = 82
199
------------------------ Node 7 Neighbours List ------------------------
--> Node id = 52, X = 93.298055, Y = 96.012094, Channel = 77
--> Node id = 20, X = 99.427627, Y = 89.800717, Channel = 79
--> Node id = 12, X = 97.928557, Y = 88.720783, Channel = 80
--> Node id = 11, X = 82.973918, Y = 98.722001, Channel = 81
========================================================================
========================================================================
--> Node id = 8, X = 69.437634, Y = 58.611403, Channel = 82
------------------------ Node 8 Neighbours List ------------------------
--> Node id = 51, X = 73.690084, Y = 68.430386, Channel = 79
--> Node id = 19, X = 80.841295, Y = 62.377651, Channel = 81
========================================================================
========================================================================
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
------------------------ Node 9 Neighbours List ------------------------
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
========================================================================
========================================================================
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
------------------------ Node 10 Neighbours List ------------------------
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
========================================================================
========================================================================
200
--> Node id = 11, X = 82.973918, Y = 98.722001, Channel = 81
------------------------ Node 11 Neighbours List ------------------------
--> Node id = 29, X = 76.752416, Y = 98.314470, Channel = 79
--> Node id = 73, X = 74.177456, Y = 96.422616, Channel = 75
--> Node id = 46, X = 89.887306, Y = 90.879161, Channel = 78
--> Node id = 52, X = 93.298055, Y = 96.012094, Channel = 77
--> Node id = 7, X = 99.664662, Y = 99.782952, Channel = 82
========================================================================
========================================================================
--> Node id = 12, X = 97.928557, Y = 88.720783, Channel = 80
------------------------ Node 12 Neighbours List ------------------------
--> Node id = 20, X = 99.427627, Y = 89.800717, Channel = 79
--> Node id = 71, X = 97.514342, Y = 82.346902, Channel = 75
--> Node id = 82, X = 98.926189, Y = 81.711150, Channel = 74
--> Node id = 46, X = 89.887306, Y = 90.879161, Channel = 78
--> Node id = 52, X = 93.298055, Y = 96.012094, Channel = 77
--> Node id = 7, X = 99.664662, Y = 99.782952, Channel = 82
========================================================================
========================================================================
--> Node id = 13, X = 43.743475, Y = 18.563136, Channel = 81
------------------------ Node 13 Neighbours List ------------------------
--> Node id = 16, X = 42.037180, Y = 17.381507, Channel = 79
--> Node id = 3, X = 39.879069, Y = 15.254947, Channel = 82
--> Node id = 86, X = 46.657208, Y = 23.421643, Channel = 76
--> Node id = 15, X = 39.708364, Y = 24.686938, Channel = 80
--> Node id = 36, X = 37.534020, Y = 14.358991, Channel = 78
========================================================================
========================================================================
--> Node id = 14, X = 84.621033, Y = 24.413152, Channel = 82
201
------------------------ Node 14 Neighbours List ------------------------
--> Node id = 99, X = 83.199429, Y = 23.143100, Channel = 75
--> Node id = 98, X = 88.419406, Y = 21.738062, Channel = 76
--> Node id = 69, X = 89.882643, Y = 16.409421, Channel = 78
--> Node id = 17, X = 89.198811, Y = 33.430517, Channel = 81
--> Node id = 40, X = 94.798709, Y = 25.657500, Channel = 79
--> Node id = 22, X = 85.180875, Y = 13.154292, Channel = 80
========================================================================
========================================================================
--> Node id = 15, X = 39.708364, Y = 24.686938, Channel = 80
------------------------ Node 15 Neighbours List ------------------------
--> Node id = 76, X = 35.035610, Y = 20.635138, Channel = 77
--> Node id = 86, X = 46.657208, Y = 23.421643, Channel = 76
--> Node id = 13, X = 43.743475, Y = 18.563136, Channel = 81
--> Node id = 16, X = 42.037180, Y = 17.381507, Channel = 79
--> Node id = 96, X = 41.464110, Y = 33.914187, Channel = 75
========================================================================
========================================================================
--> Node id = 16, X = 42.037180, Y = 17.381507, Channel = 79
------------------------ Node 16 Neighbours List ------------------------
--> Node id = 13, X = 43.743475, Y = 18.563136, Channel = 81
--> Node id = 3, X = 39.879069, Y = 15.254947, Channel = 82
--> Node id = 36, X = 37.534020, Y = 14.358991, Channel = 78
--> Node id = 86, X = 46.657208, Y = 23.421643, Channel = 76
--> Node id = 15, X = 39.708364, Y = 24.686938, Channel = 80
--> Node id = 76, X = 35.035610, Y = 20.635138, Channel = 77
========================================================================
========================================================================
--> Node id = 17, X = 89.198811, Y = 33.430517, Channel = 81
202
------------------------ Node 17 Neighbours List ------------------------
--> Node id = 58, X = 81.244780, Y = 38.259188, Channel = 80
--> Node id = 40, X = 94.798709, Y = 25.657500, Channel = 79
--> Node id = 14, X = 84.621033, Y = 24.413152, Channel = 82
--> Node id = 98, X = 88.419406, Y = 21.738062, Channel = 76
========================================================================
========================================================================
--> Node id = 18, X = 34.566170, Y = 40.622485, Channel = 82
------------------------ Node 18 Neighbours List ------------------------
--> Node id = 45, X = 38.345893, Y = 46.151607, Channel = 79
--> Node id = 26, X = 42.592360, Y = 39.708199, Channel = 81
--> Node id = 96, X = 41.464110, Y = 33.914187, Channel = 75
--> Node id = 57, X = 27.233558, Y = 48.506249, Channel = 78
--> Node id = 68, X = 24.345503, Y = 45.222480, Channel = 76
--> Node id = 25, X = 24.084323, Y = 49.876287, Channel = 80
========================================================================
========================================================================
--> Node id = 19, X = 80.841295, Y = 62.377651, Channel = 81
------------------------ Node 19 Neighbours List ------------------------
--> Node id = 21, X = 78.106375, Y = 67.916508, Channel = 80
--> Node id = 66, X = 86.422332, Y = 66.186083, Channel = 76
--> Node id = 51, X = 73.690084, Y = 68.430386, Channel = 79
--> Node id = 8, X = 69.437634, Y = 58.611403, Channel = 82
--> Node id = 62, X = 96.138341, Y = 65.114941, Channel = 78
========================================================================
========================================================================
--> Node id = 20, X = 99.427627, Y = 89.800717, Channel = 79
------------------------ Node 20 Neighbours List ------------------------
--> Node id = 12, X = 97.928557, Y = 88.720783, Channel = 80
203
--> Node id = 71, X = 97.514342, Y = 82.346902, Channel = 75
--> Node id = 82, X = 98.926189, Y = 81.711150, Channel = 74
--> Node id = 52, X = 93.298055, Y = 96.012094, Channel = 77
--> Node id = 46, X = 89.887306, Y = 90.879161, Channel = 78
--> Node id = 7, X = 99.664662, Y = 99.782952, Channel = 82
========================================================================
========================================================================
--> Node id = 21, X = 78.106375, Y = 67.916508, Channel = 80
------------------------ Node 21 Neighbours List ------------------------
--> Node id = 51, X = 73.690084, Y = 68.430386, Channel = 79
--> Node id = 19, X = 80.841295, Y = 62.377651, Channel = 81
--> Node id = 66, X = 86.422332, Y = 66.186083, Channel = 76
--> Node id = 44, X = 72.489501, Y = 81.464132, Channel = 77
========================================================================
========================================================================
--> Node id = 22, X = 85.180875, Y = 13.154292, Channel = 80
------------------------ Node 22 Neighbours List ------------------------
--> Node id = 69, X = 89.882643, Y = 16.409421, Channel = 78
--> Node id = 92, X = 77.064013, Y = 13.528241, Channel = 77
--> Node id = 42, X = 91.024038, Y = 6.130550, Channel = 81
--> Node id = 98, X = 88.419406, Y = 21.738062, Channel = 76
--> Node id = 99, X = 83.199429, Y = 23.143100, Channel = 75
--> Node id = 14, X = 84.621033, Y = 24.413152, Channel = 82
========================================================================
========================================================================
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
------------------------ Node 23 Neighbours List ------------------------
--> Node id = 60, X = 66.008268, Y = 48.988722, Channel = 75
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
204
--> Node id = 38, X = 70.176651, Y = 44.745448, Channel = 78
--> Node id = 70, X = 70.919758, Y = 47.067714, Channel = 81
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
========================================================================
========================================================================
--> Node id = 24, X = 27.211275, Y = 96.744818, Channel = 81
------------------------ Node 24 Neighbours List ------------------------
--> Node id = 83, X = 30.296209, Y = 91.518077, Channel = 80
--> Node id = 77, X = 8.206613, Y = 93.221505, Channel = 78
========================================================================
========================================================================
--> Node id = 25, X = 24.084323, Y = 49.876287, Channel = 80
------------------------ Node 25 Neighbours List ------------------------
--> Node id = 57, X = 27.233558, Y = 48.506249, Channel = 78
--> Node id = 68, X = 24.345503, Y = 45.222480, Channel = 76
--> Node id = 18, X = 34.566170, Y = 40.622485, Channel = 82
--> Node id = 95, X = 14.934135, Y = 61.412199, Channel = 75
--> Node id = 59, X = 40.326097, Y = 56.352018, Channel = 77
========================================================================
========================================================================
--> Node id = 26, X = 42.592360, Y = 39.708199, Channel = 81
------------------------ Node 26 Neighbours List ------------------------
--> Node id = 96, X = 41.464110, Y = 33.914187, Channel = 75
--> Node id = 45, X = 38.345893, Y = 46.151607, Channel = 79
--> Node id = 18, X = 34.566170, Y = 40.622485, Channel = 82
========================================================================
========================================================================
--> Node id = 27, X = 59.755813, Y = 98.822338, Channel = 80
205
------------------------ Node 27 Neighbours List ------------------------
--> Node id = 65, X = 51.392094, Y = 90.914291, Channel = 76
--> Node id = 49, X = 62.456122, Y = 87.409329, Channel = 81
--> Node id = 73, X = 74.177456, Y = 96.422616, Channel = 75
--> Node id = 29, X = 76.752416, Y = 98.314470, Channel = 79
========================================================================
========================================================================
--> Node id = 28, X = 42.004120, Y = 76.832843, Channel = 81
------------------------ Node 28 Neighbours List ------------------------
--> Node id = 5, X = 44.263007, Y = 84.163812, Channel = 82
--> Node id = 34, X = 38.732208, Y = 84.969717, Channel = 79
--> Node id = 72, X = 45.956426, Y = 84.998750, Channel = 78
--> Node id = 41, X = 53.484885, Y = 72.933615, Channel = 80
--> Node id = 87, X = 39.222913, Y = 89.849342, Channel = 77
--> Node id = 63, X = 57.655599, Y = 72.699501, Channel = 76
========================================================================
========================================================================
--> Node id = 29, X = 76.752416, Y = 98.314470, Channel = 79
------------------------ Node 29 Neighbours List ------------------------
--> Node id = 73, X = 74.177456, Y = 96.422616, Channel = 75
--> Node id = 11, X = 82.973918, Y = 98.722001, Channel = 81
--> Node id = 94, X = 73.304996, Y = 86.982487, Channel = 74
--> Node id = 27, X = 59.755813, Y = 98.822338, Channel = 80
========================================================================
========================================================================
--> Node id = 30, X = 2.569171, Y = 23.927046, Channel = 82
------------------------ Node 30 Neighbours List ------------------------
--> Node id = 75, X = 2.961245, Y = 26.439038, Channel = 78
--> Node id = 39, X = 9.073682, Y = 16.546247, Channel = 81
206
--> Node id = 78, X = 6.083748, Y = 39.333877, Channel = 80
========================================================================
========================================================================
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
------------------------ Node 31 Neighbours List ------------------------
--> Node id = 70, X = 70.919758, Y = 47.067714, Channel = 81
--> Node id = 38, X = 70.176651, Y = 44.745448, Channel = 78
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 60, X = 66.008268, Y = 48.988722, Channel = 75
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
========================================================================
========================================================================
--> Node id = 32, X = 75.343823, Y = 3.534920, Channel = 82
------------------------ Node 32 Neighbours List ------------------------
--> Node id = 79, X = 76.009494, Y = 6.237180, Channel = 78
--> Node id = 92, X = 77.064013, Y = 13.528241, Channel = 77
--> Node id = 80, X = 62.783089, Y = 4.380331, Channel = 81
--> Node id = 93, X = 62.641146, Y = 2.224197, Channel = 76
========================================================================
========================================================================
--> Node id = 33, X = 95.355792, Y = 73.714548, Channel = 82
------------------------ Node 33 Neighbours List ------------------------
--> Node id = 62, X = 96.138341, Y = 65.114941, Channel = 78
--> Node id = 82, X = 98.926189, Y = 81.711150, Channel = 74
--> Node id = 71, X = 97.514342, Y = 82.346902, Channel = 75
--> Node id = 66, X = 86.422332, Y = 66.186083, Channel = 76
========================================================================
========================================================================
207
--> Node id = 34, X = 38.732208, Y = 84.969717, Channel = 79
------------------------ Node 34 Neighbours List ------------------------
--> Node id = 87, X = 39.222913, Y = 89.849342, Channel = 77
--> Node id = 5, X = 44.263007, Y = 84.163812, Channel = 82
--> Node id = 72, X = 45.956426, Y = 84.998750, Channel = 78
--> Node id = 28, X = 42.004120, Y = 76.832843, Channel = 81
--> Node id = 83, X = 30.296209, Y = 91.518077, Channel = 80
--> Node id = 65, X = 51.392094, Y = 90.914291, Channel = 76
========================================================================
========================================================================
--> Node id = 35, X = 5.615634, Y = 51.669848, Channel = 79
------------------------ Node 35 Neighbours List ------------------------
--> Node id = 78, X = 6.083748, Y = 39.333877, Channel = 80
--> Node id = 95, X = 14.934135, Y = 61.412199, Channel = 75
========================================================================
========================================================================
--> Node id = 36, X = 37.534020, Y = 14.358991, Channel = 78
------------------------ Node 36 Neighbours List ------------------------
--> Node id = 3, X = 39.879069, Y = 15.254947, Channel = 82
--> Node id = 89, X = 34.147953, Y = 18.297702, Channel = 76
--> Node id = 16, X = 42.037180, Y = 17.381507, Channel = 79
--> Node id = 76, X = 35.035610, Y = 20.635138, Channel = 77
--> Node id = 43, X = 30.931087, Y = 11.327981, Channel = 80
--> Node id = 13, X = 43.743475, Y = 18.563136, Channel = 81
========================================================================
========================================================================
--> Node id = 37, X = 65.751318, Y = 77.698283, Channel = 78
------------------------ Node 37 Neighbours List ------------------------
--> Node id = 74, X = 66.896725, Y = 81.268666, Channel = 82
208
--> Node id = 44, X = 72.489501, Y = 81.464132, Channel = 77
--> Node id = 63, X = 57.655599, Y = 72.699501, Channel = 76
--> Node id = 49, X = 62.456122, Y = 87.409329, Channel = 81
--> Node id = 94, X = 73.304996, Y = 86.982487, Channel = 74
--> Node id = 51, X = 73.690084, Y = 68.430386, Channel = 79
========================================================================
========================================================================
--> Node id = 38, X = 70.176651, Y = 44.745448, Channel = 78
------------------------ Node 38 Neighbours List ------------------------
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
--> Node id = 70, X = 70.919758, Y = 47.067714, Channel = 81
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 60, X = 66.008268, Y = 48.988722, Channel = 75
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
========================================================================
========================================================================
--> Node id = 39, X = 9.073682, Y = 16.546247, Channel = 81
------------------------ Node 39 Neighbours List ------------------------
--> Node id = 30, X = 2.569171, Y = 23.927046, Channel = 82
--> Node id = 75, X = 2.961245, Y = 26.439038, Channel = 78
--> Node id = 67, X = 22.532751, Y = 4.963952, Channel = 80
========================================================================
========================================================================
--> Node id = 40, X = 94.798709, Y = 25.657500, Channel = 79
------------------------ Node 40 Neighbours List ------------------------
--> Node id = 98, X = 88.419406, Y = 21.738062, Channel = 76
--> Node id = 17, X = 89.198811, Y = 33.430517, Channel = 81
--> Node id = 14, X = 84.621033, Y = 24.413152, Channel = 82
--> Node id = 69, X = 89.882643, Y = 16.409421, Channel = 78
209
========================================================================
========================================================================
--> Node id = 41, X = 53.484885, Y = 72.933615, Channel = 80
------------------------ Node 41 Neighbours List ------------------------
--> Node id = 63, X = 57.655599, Y = 72.699501, Channel = 76
--> Node id = 28, X = 42.004120, Y = 76.832843, Channel = 81
--> Node id = 72, X = 45.956426, Y = 84.998750, Channel = 78
--> Node id = 5, X = 44.263007, Y = 84.163812, Channel = 82
========================================================================
========================================================================
--> Node id = 42, X = 91.024038, Y = 6.130550, Channel = 81
------------------------ Node 42 Neighbours List ------------------------
--> Node id = 64, X = 96.662883, Y = 0.367453, Channel = 82
--> Node id = 22, X = 85.180875, Y = 13.154292, Channel = 80
--> Node id = 69, X = 89.882643, Y = 16.409421, Channel = 78
========================================================================
========================================================================
--> Node id = 43, X = 30.931087, Y = 11.327981, Channel = 80
------------------------ Node 43 Neighbours List ------------------------
--> Node id = 61, X = 28.605899, Y = 15.511660, Channel = 81
--> Node id = 36, X = 37.534020, Y = 14.358991, Channel = 78
--> Node id = 89, X = 34.147953, Y = 18.297702, Channel = 76
--> Node id = 48, X = 26.499967, Y = 20.697771, Channel = 82
========================================================================
========================================================================
--> Node id = 44, X = 72.489501, Y = 81.464132, Channel = 77
------------------------ Node 44 Neighbours List ------------------------
--> Node id = 94, X = 73.304996, Y = 86.982487, Channel = 74
--> Node id = 74, X = 66.896725, Y = 81.268666, Channel = 82
210
--> Node id = 37, X = 65.751318, Y = 77.698283, Channel = 78
--> Node id = 49, X = 62.456122, Y = 87.409329, Channel = 81
--> Node id = 51, X = 73.690084, Y = 68.430386, Channel = 79
--> Node id = 21, X = 78.106375, Y = 67.916508, Channel = 80
========================================================================
========================================================================
--> Node id = 45, X = 38.345893, Y = 46.151607, Channel = 79
------------------------ Node 45 Neighbours List ------------------------
--> Node id = 18, X = 34.566170, Y = 40.622485, Channel = 82
--> Node id = 26, X = 42.592360, Y = 39.708199, Channel = 81
--> Node id = 59, X = 40.326097, Y = 56.352018, Channel = 77
--> Node id = 57, X = 27.233558, Y = 48.506249, Channel = 78
--> Node id = 96, X = 41.464110, Y = 33.914187, Channel = 75
--> Node id = 68, X = 24.345503, Y = 45.222480, Channel = 76
========================================================================
========================================================================
--> Node id = 46, X = 89.887306, Y = 90.879161, Channel = 78
------------------------ Node 46 Neighbours List ------------------------
--> Node id = 52, X = 93.298055, Y = 96.012094, Channel = 77
--> Node id = 12, X = 97.928557, Y = 88.720783, Channel = 80
--> Node id = 20, X = 99.427627, Y = 89.800717, Channel = 79
--> Node id = 11, X = 82.973918, Y = 98.722001, Channel = 81
--> Node id = 71, X = 97.514342, Y = 82.346902, Channel = 75
--> Node id = 82, X = 98.926189, Y = 81.711150, Channel = 74
========================================================================
========================================================================
--> Node id = 47, X = 6.843806, Y = 89.631510, Channel = 79
------------------------ Node 47 Neighbours List ------------------------
--> Node id = 1, X = 4.243171, Y = 89.805443, Channel = 82
211
--> Node id = 77, X = 8.206613, Y = 93.221505, Channel = 78
--> Node id = 6, X = 5.145231, Y = 78.345756, Channel = 80
--> Node id = 88, X = 2.740684, Y = 78.775429, Channel = 76
========================================================================
========================================================================
--> Node id = 48, X = 26.499967, Y = 20.697771, Channel = 82
------------------------ Node 48 Neighbours List ------------------------
--> Node id = 61, X = 28.605899, Y = 15.511660, Channel = 81
--> Node id = 43, X = 30.931087, Y = 11.327981, Channel = 80
========================================================================
========================================================================
--> Node id = 49, X = 62.456122, Y = 87.409329, Channel = 81
------------------------ Node 49 Neighbours List ------------------------
--> Node id = 74, X = 66.896725, Y = 81.268666, Channel = 82
--> Node id = 37, X = 65.751318, Y = 77.698283, Channel = 78
--> Node id = 94, X = 73.304996, Y = 86.982487, Channel = 74
--> Node id = 65, X = 51.392094, Y = 90.914291, Channel = 76
--> Node id = 44, X = 72.489501, Y = 81.464132, Channel = 77
--> Node id = 27, X = 59.755813, Y = 98.822338, Channel = 80
========================================================================
========================================================================
--> Node id = 50, X = 68.027914, Y = 23.729151, Channel = 81
------------------------ Node 50 Neighbours List ------------------------
--> Node id = 54, X = 73.830511, Y = 17.417209, Channel = 79
--> Node id = 85, X = 56.925009, Y = 20.382744, Channel = 78
========================================================================
========================================================================
--> Node id = 51, X = 73.690084, Y = 68.430386, Channel = 79
------------------------ Node 51 Neighbours List ------------------------
212
--> Node id = 21, X = 78.106375, Y = 67.916508, Channel = 80
--> Node id = 19, X = 80.841295, Y = 62.377651, Channel = 81
--> Node id = 8, X = 69.437634, Y = 58.611403, Channel = 82
--> Node id = 37, X = 65.751318, Y = 77.698283, Channel = 78
--> Node id = 66, X = 86.422332, Y = 66.186083, Channel = 76
--> Node id = 44, X = 72.489501, Y = 81.464132, Channel = 77
========================================================================
========================================================================
--> Node id = 52, X = 93.298055, Y = 96.012094, Channel = 77
------------------------ Node 52 Neighbours List ------------------------
--> Node id = 46, X = 89.887306, Y = 90.879161, Channel = 78
--> Node id = 7, X = 99.664662, Y = 99.782952, Channel = 82
--> Node id = 12, X = 97.928557, Y = 88.720783, Channel = 80
--> Node id = 20, X = 99.427627, Y = 89.800717, Channel = 79
--> Node id = 11, X = 82.973918, Y = 98.722001, Channel = 81
--> Node id = 71, X = 97.514342, Y = 82.346902, Channel = 75
========================================================================
========================================================================
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
------------------------ Node 53 Neighbours List ------------------------
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 60, X = 66.008268, Y = 48.988722, Channel = 75
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
========================================================================
========================================================================
--> Node id = 54, X = 73.830511, Y = 17.417209, Channel = 79
213
------------------------ Node 54 Neighbours List ------------------------
--> Node id = 92, X = 77.064013, Y = 13.528241, Channel = 77
--> Node id = 50, X = 68.027914, Y = 23.729151, Channel = 81
--> Node id = 99, X = 83.199429, Y = 23.143100, Channel = 75
--> Node id = 79, X = 76.009494, Y = 6.237180, Channel = 78
========================================================================
========================================================================
--> Node id = 55, X = 63.652589, Y = 39.737210, Channel = 76
------------------------ Node 55 Neighbours List ------------------------
--> Node id = 10, X = 61.715460, Y = 37.390897, Channel = 80
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
--> Node id = 9, X = 61.502167, Y = 36.078056, Channel = 81
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 38, X = 70.176651, Y = 44.745448, Channel = 78
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
========================================================================
========================================================================
--> Node id = 56, X = 17.013322, Y = 67.093344, Channel = 78
------------------------ Node 56 Neighbours List ------------------------
--> Node id = 95, X = 14.934135, Y = 61.412199, Channel = 75
--> Node id = 4, X = 12.069100, Y = 71.541380, Channel = 81
--> Node id = 84, X = 18.070125, Y = 74.164013, Channel = 77
--> Node id = 97, X = 6.898474, Y = 68.566166, Channel = 74
--> Node id = 2, X = 23.195987, Y = 75.309801, Channel = 82
========================================================================
========================================================================
--> Node id = 57, X = 27.233558, Y = 48.506249, Channel = 78
------------------------ Node 57 Neighbours List ------------------------
--> Node id = 25, X = 24.084323, Y = 49.876287, Channel = 80
214
--> Node id = 68, X = 24.345503, Y = 45.222480, Channel = 76
--> Node id = 18, X = 34.566170, Y = 40.622485, Channel = 82
--> Node id = 45, X = 38.345893, Y = 46.151607, Channel = 79
--> Node id = 59, X = 40.326097, Y = 56.352018, Channel = 77
========================================================================
========================================================================
--> Node id = 58, X = 81.244780, Y = 38.259188, Channel = 80
------------------------ Node 58 Neighbours List ------------------------
--> Node id = 17, X = 89.198811, Y = 33.430517, Channel = 81
========================================================================
========================================================================
--> Node id = 59, X = 40.326097, Y = 56.352018, Channel = 77
------------------------ Node 59 Neighbours List ------------------------
--> Node id = 45, X = 38.345893, Y = 46.151607, Channel = 79
--> Node id = 57, X = 27.233558, Y = 48.506249, Channel = 78
--> Node id = 25, X = 24.084323, Y = 49.876287, Channel = 80
========================================================================
========================================================================
--> Node id = 60, X = 66.008268, Y = 48.988722, Channel = 75
------------------------ Node 60 Neighbours List ------------------------
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
--> Node id = 70, X = 70.919758, Y = 47.067714, Channel = 81
--> Node id = 38, X = 70.176651, Y = 44.745448, Channel = 78
--> Node id = 53, X = 61.467113, Y = 42.657766, Channel = 77
========================================================================
========================================================================
--> Node id = 61, X = 28.605899, Y = 15.511660, Channel = 81
------------------------ Node 61 Neighbours List ------------------------
215
--> Node id = 43, X = 30.931087, Y = 11.327981, Channel = 80
--> Node id = 48, X = 26.499967, Y = 20.697771, Channel = 82
--> Node id = 89, X = 34.147953, Y = 18.297702, Channel = 76
--> Node id = 76, X = 35.035610, Y = 20.635138, Channel = 77
========================================================================
========================================================================
--> Node id = 62, X = 96.138341, Y = 65.114941, Channel = 78
------------------------ Node 62 Neighbours List ------------------------
--> Node id = 33, X = 95.355792, Y = 73.714548, Channel = 82
--> Node id = 66, X = 86.422332, Y = 66.186083, Channel = 76
--> Node id = 90, X = 97.634910, Y = 50.573581, Channel = 80
--> Node id = 19, X = 80.841295, Y = 62.377651, Channel = 81
========================================================================
========================================================================
--> Node id = 63, X = 57.655599, Y = 72.699501, Channel = 76
------------------------ Node 63 Neighbours List ------------------------
--> Node id = 41, X = 53.484885, Y = 72.933615, Channel = 80
--> Node id = 37, X = 65.751318, Y = 77.698283, Channel = 78
--> Node id = 74, X = 66.896725, Y = 81.268666, Channel = 82
--> Node id = 28, X = 42.004120, Y = 76.832843, Channel = 81
========================================================================
========================================================================
--> Node id = 64, X = 96.662883, Y = 0.367453, Channel = 82
------------------------ Node 64 Neighbours List ------------------------
--> Node id = 42, X = 91.024038, Y = 6.130550, Channel = 81
========================================================================
========================================================================
--> Node id = 65, X = 51.392094, Y = 90.914291, Channel = 76
------------------------ Node 65 Neighbours List ------------------------
216
--> Node id = 72, X = 45.956426, Y = 84.998750, Channel = 78
--> Node id = 5, X = 44.263007, Y = 84.163812, Channel = 82
--> Node id = 27, X = 59.755813, Y = 98.822338, Channel = 80
--> Node id = 49, X = 62.456122, Y = 87.409329, Channel = 81
--> Node id = 87, X = 39.222913, Y = 89.849342, Channel = 77
--> Node id = 34, X = 38.732208, Y = 84.969717, Channel = 79
========================================================================
========================================================================
--> Node id = 66, X = 86.422332, Y = 66.186083, Channel = 76
------------------------ Node 66 Neighbours List ------------------------
--> Node id = 19, X = 80.841295, Y = 62.377651, Channel = 81
--> Node id = 21, X = 78.106375, Y = 67.916508, Channel = 80
--> Node id = 62, X = 96.138341, Y = 65.114941, Channel = 78
--> Node id = 33, X = 95.355792, Y = 73.714548, Channel = 82
--> Node id = 51, X = 73.690084, Y = 68.430386, Channel = 79
========================================================================
========================================================================
--> Node id = 67, X = 22.532751, Y = 4.963952, Channel = 80
------------------------ Node 67 Neighbours List ------------------------
--> Node id = 39, X = 9.073682, Y = 16.546247, Channel = 81
========================================================================
========================================================================
--> Node id = 68, X = 24.345503, Y = 45.222480, Channel = 76
------------------------ Node 68 Neighbours List ------------------------
--> Node id = 57, X = 27.233558, Y = 48.506249, Channel = 78
--> Node id = 25, X = 24.084323, Y = 49.876287, Channel = 80
--> Node id = 18, X = 34.566170, Y = 40.622485, Channel = 82
--> Node id = 45, X = 38.345893, Y = 46.151607, Channel = 79
========================================================================
217
========================================================================
--> Node id = 69, X = 89.882643, Y = 16.409421, Channel = 78
------------------------ Node 69 Neighbours List ------------------------
--> Node id = 98, X = 88.419406, Y = 21.738062, Channel = 76
--> Node id = 22, X = 85.180875, Y = 13.154292, Channel = 80
--> Node id = 99, X = 83.199429, Y = 23.143100, Channel = 75
--> Node id = 14, X = 84.621033, Y = 24.413152, Channel = 82
--> Node id = 42, X = 91.024038, Y = 6.130550, Channel = 81
--> Node id = 40, X = 94.798709, Y = 25.657500, Channel = 79
========================================================================
========================================================================
--> Node id = 70, X = 70.919758, Y = 47.067714, Channel = 81
------------------------ Node 70 Neighbours List ------------------------
--> Node id = 31, X = 69.279303, Y = 46.654616, Channel = 79
--> Node id = 38, X = 70.176651, Y = 44.745448, Channel = 78
--> Node id = 23, X = 66.061103, Y = 47.288974, Channel = 82
--> Node id = 60, X = 66.008268, Y = 48.988722, Channel = 75
========================================================================
========================================================================
--> Node id = 71, X = 97.514342, Y = 82.346902, Channel = 75
------------------------ Node 71 Neighbours List ------------------------
--> Node id = 82, X = 98.926189, Y = 81.711150, Channel = 74
--> Node id = 12, X = 97.928557, Y = 88.720783, Channel = 80
--> Node id = 20, X = 99.427627, Y = 89.800717, Channel = 79
--> Node id = 33, X = 95.355792, Y = 73.714548, Channel = 82
--> Node id = 46, X = 89.887306, Y = 90.879161, Channel = 78
--> Node id = 52, X = 93.298055, Y = 96.012094, Channel = 77
========================================================================
========================================================================
218
--> Node id = 72, X = 45.956426, Y = 84.998750, Channel = 78
------------------------ Node 72 Neighbours List ------------------------
--> Node id = 5, X = 44.263007, Y = 84.163812, Channel = 82
--> Node id = 34, X = 38.732208, Y = 84.969717, Channel = 79
--> Node id = 65, X = 51.392094, Y = 90.914291, Channel = 76
--> Node id = 87, X = 39.222913, Y = 89.849342, Channel = 77
--> Node id = 28, X = 42.004120, Y = 76.832843, Channel = 81
--> Node id = 41, X = 53.484885, Y = 72.933615, Channel = 80
========================================================================
========================================================================
--> Node id = 73, X = 74.177456, Y = 96.422616, Channel = 75
------------------------ Node 73 Neighbours List ------------------------
--> Node id = 29, X = 76.752416, Y = 98.314470, Channel = 79
--> Node id = 11, X = 82.973918, Y = 98.722001, Channel = 81
--> Node id = 94, X = 73.304996, Y = 86.982487, Channel = 74
--> Node id = 27, X = 59.755813, Y = 98.822338, Channel = 80
========================================================================
========================================================================
--> Node id = 74, X = 66.896725, Y = 81.268666, Channel = 82
------------------------ Node 74 Neighbours List ------------------------
--> Node id = 37, X = 65.751318, Y = 77.698283, Channel = 78
--> Node id = 44, X = 72.489501, Y = 81.464132, Channel = 77
--> Node id = 49, X = 62.456122, Y = 87.409329, Channel = 81
--> Node id = 94, X = 73.304996, Y = 86.982487, Channel = 74
--> Node id = 63, X = 57.655599, Y = 72.699501, Channel = 76
========================================================================
========================================================================
--> Node id = 75, X = 2.961245, Y = 26.439038, Channel = 78
------------------------ Node 75 Neighbours List ------------------------
219
--> Node id = 30, X = 2.569171, Y = 23.927046, Channel = 82
--> Node id = 39, X = 9.073682, Y = 16.546247, Channel = 81
--> Node id = 78, X = 6.083748, Y = 39.333877, Channel = 80
========================================================================
========================================================================
--> Node id = 76, X = 35.035610, Y = 20.635138, Channel = 77
------------------------ Node 76 Neighbours List ------------------------
--> Node id = 89, X = 34.147953, Y = 18.297702, Channel = 76
--> Node id = 15, X = 39.708364, Y = 24.686938, Channel = 80
--> Node id = 36, X = 37.534020, Y = 14.358991, Channel = 78
--> Node id = 3, X = 39.879069, Y = 15.254947, Channel = 82
--> Node id = 16, X = 42.037180, Y = 17.381507, Channel = 79
--> Node id = 61, X = 28.605899, Y = 15.511660, Channel = 81
========================================================================
========================================================================
--> Node id = 77, X = 8.206613, Y = 93.221505, Channel = 78
------------------------ Node 77 Neighbours List ------------------------
--> Node id = 47, X = 6.843806, Y = 89.631510, Channel = 79
--> Node id = 1, X = 4.243171, Y = 89.805443, Channel = 82
--> Node id = 88, X = 2.740684, Y = 78.775429, Channel = 76
--> Node id = 24, X = 27.211275, Y = 96.744818, Channel = 81
========================================================================
========================================================================
--> Node id = 78, X = 6.083748, Y = 39.333877, Channel = 80
------------------------ Node 78 Neighbours List ------------------------
--> Node id = 35, X = 5.615634, Y = 51.669848, Channel = 79
--> Node id = 75, X = 2.961245, Y = 26.439038, Channel = 78
--> Node id = 30, X = 2.569171, Y = 23.927046, Channel = 82
========================================================================
220
========================================================================
--> Node id = 79, X = 76.009494, Y = 6.237180, Channel = 78
------------------------ Node 79 Neighbours List ------------------------
--> Node id = 32, X = 75.343823, Y = 3.534920, Channel = 82
--> Node id = 92, X = 77.064013, Y = 13.528241, Channel = 77
--> Node id = 54, X = 73.830511, Y = 17.417209, Channel = 79
--> Node id = 80, X = 62.783089, Y = 4.380331, Channel = 81
--> Node id = 93, X = 62.641146, Y = 2.224197, Channel = 76
========================================================================
========================================================================
--> Node id = 80, X = 62.783089, Y = 4.380331, Channel = 81
------------------------ Node 80 Neighbours List ------------------------
--> Node id = 93, X = 62.641146, Y = 2.224197, Channel = 76
--> Node id = 91, X = 57.693500, Y = 6.098461, Channel = 79
--> Node id = 81, X = 53.046696, Y = 0.613975, Channel = 80
--> Node id = 32, X = 75.343823, Y = 3.534920, Channel = 82
--> Node id = 79, X = 76.009494, Y = 6.237180, Channel = 78
========================================================================
========================================================================
--> Node id = 81, X = 53.046696, Y = 0.613975, Channel = 80
------------------------ Node 81 Neighbours List ------------------------
--> Node id = 91, X = 57.693500, Y = 6.098461, Channel = 79
--> Node id = 93, X = 62.641146, Y = 2.224197, Channel = 76
--> Node id = 80, X = 62.783089, Y = 4.380331, Channel = 81
========================================================================
========================================================================
--> Node id = 82, X = 98.926189, Y = 81.711150, Channel = 74
------------------------ Node 82 Neighbours List ------------------------
--> Node id = 71, X = 97.514342, Y = 82.346902, Channel = 75
221
--> Node id = 12, X = 97.928557, Y = 88.720783, Channel = 80
--> Node id = 20, X = 99.427627, Y = 89.800717, Channel = 79
--> Node id = 33, X = 95.355792, Y = 73.714548, Channel = 82
--> Node id = 46, X = 89.887306, Y = 90.879161, Channel = 78
========================================================================
========================================================================
--> Node id = 83, X = 30.296209, Y = 91.518077, Channel = 80
------------------------ Node 83 Neighbours List ------------------------
--> Node id = 24, X = 27.211275, Y = 96.744818, Channel = 81
--> Node id = 87, X = 39.222913, Y = 89.849342, Channel = 77
--> Node id = 34, X = 38.732208, Y = 84.969717, Channel = 79
--> Node id = 2, X = 23.195987, Y = 75.309801, Channel = 82
========================================================================
========================================================================
--> Node id = 84, X = 18.070125, Y = 74.164013, Channel = 77
------------------------ Node 84 Neighbours List ------------------------
--> Node id = 2, X = 23.195987, Y = 75.309801, Channel = 82
--> Node id = 4, X = 12.069100, Y = 71.541380, Channel = 81
--> Node id = 56, X = 17.013322, Y = 67.093344, Channel = 78
--> Node id = 97, X = 6.898474, Y = 68.566166, Channel = 74
--> Node id = 95, X = 14.934135, Y = 61.412199, Channel = 75
--> Node id = 6, X = 5.145231, Y = 78.345756, Channel = 80
========================================================================
========================================================================
--> Node id = 85, X = 56.925009, Y = 20.382744, Channel = 78
------------------------ Node 85 Neighbours List ------------------------
--> Node id = 86, X = 46.657208, Y = 23.421643, Channel = 76
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
--> Node id = 50, X = 68.027914, Y = 23.729151, Channel = 81
222
--> Node id = 91, X = 57.693500, Y = 6.098461, Channel = 79
========================================================================
========================================================================
--> Node id = 86, X = 46.657208, Y = 23.421643, Channel = 76
------------------------ Node 86 Neighbours List ------------------------
--> Node id = 13, X = 43.743475, Y = 18.563136, Channel = 81
--> Node id = 15, X = 39.708364, Y = 24.686938, Channel = 80
--> Node id = 16, X = 42.037180, Y = 17.381507, Channel = 79
--> Node id = 85, X = 56.925009, Y = 20.382744, Channel = 78
--> Node id = 0, X = 54.993207, Y = 31.521051, Channel = 82
========================================================================
========================================================================
--> Node id = 87, X = 39.222913, Y = 89.849342, Channel = 77
------------------------ Node 87 Neighbours List ------------------------
--> Node id = 34, X = 38.732208, Y = 84.969717, Channel = 79
--> Node id = 5, X = 44.263007, Y = 84.163812, Channel = 82
--> Node id = 72, X = 45.956426, Y = 84.998750, Channel = 78
--> Node id = 83, X = 30.296209, Y = 91.518077, Channel = 80
--> Node id = 65, X = 51.392094, Y = 90.914291, Channel = 76
--> Node id = 28, X = 42.004120, Y = 76.832843, Channel = 81
========================================================================
========================================================================
--> Node id = 88, X = 2.740684, Y = 78.775429, Channel = 76
------------------------ Node 88 Neighbours List ------------------------
--> Node id = 6, X = 5.145231, Y = 78.345756, Channel = 80
--> Node id = 97, X = 6.898474, Y = 68.566166, Channel = 74
--> Node id = 1, X = 4.243171, Y = 89.805443, Channel = 82
--> Node id = 47, X = 6.843806, Y = 89.631510, Channel = 79
--> Node id = 77, X = 8.206613, Y = 93.221505, Channel = 78
223
========================================================================
========================================================================
--> Node id = 89, X = 34.147953, Y = 18.297702, Channel = 76
------------------------ Node 89 Neighbours List ------------------------
--> Node id = 76, X = 35.035610, Y = 20.635138, Channel = 77
--> Node id = 36, X = 37.534020, Y = 14.358991, Channel = 78
--> Node id = 61, X = 28.605899, Y = 15.511660, Channel = 81
--> Node id = 3, X = 39.879069, Y = 15.254947, Channel = 82
--> Node id = 43, X = 30.931087, Y = 11.327981, Channel = 80
========================================================================
========================================================================
--> Node id = 90, X = 97.634910, Y = 50.573581, Channel = 80
------------------------ Node 90 Neighbours List ------------------------
--> Node id = 62, X = 96.138341, Y = 65.114941, Channel = 78
========================================================================
========================================================================
--> Node id = 91, X = 57.693500, Y = 6.098461, Channel = 79
------------------------ Node 91 Neighbours List ------------------------
--> Node id = 80, X = 62.783089, Y = 4.380331, Channel = 81
--> Node id = 93, X = 62.641146, Y = 2.224197, Channel = 76
--> Node id = 81, X = 53.046696, Y = 0.613975, Channel = 80
--> Node id = 85, X = 56.925009, Y = 20.382744, Channel = 78
========================================================================
========================================================================
--> Node id = 92, X = 77.064013, Y = 13.528241, Channel = 77
------------------------ Node 92 Neighbours List ------------------------
--> Node id = 54, X = 73.830511, Y = 17.417209, Channel = 79
--> Node id = 79, X = 76.009494, Y = 6.237180, Channel = 78
--> Node id = 22, X = 85.180875, Y = 13.154292, Channel = 80
224
--> Node id = 32, X = 75.343823, Y = 3.534920, Channel = 82
--> Node id = 99, X = 83.199429, Y = 23.143100, Channel = 75
========================================================================
========================================================================
--> Node id = 93, X = 62.641146, Y = 2.224197, Channel = 76
------------------------ Node 93 Neighbours List ------------------------
--> Node id = 80, X = 62.783089, Y = 4.380331, Channel = 81
--> Node id = 91, X = 57.693500, Y = 6.098461, Channel = 79
--> Node id = 81, X = 53.046696, Y = 0.613975, Channel = 80
--> Node id = 32, X = 75.343823, Y = 3.534920, Channel = 82
--> Node id = 79, X = 76.009494, Y = 6.237180, Channel = 78
========================================================================
========================================================================
--> Node id = 94, X = 73.304996, Y = 86.982487, Channel = 74
------------------------ Node 94 Neighbours List ------------------------
--> Node id = 44, X = 72.489501, Y = 81.464132, Channel = 77
--> Node id = 74, X = 66.896725, Y = 81.268666, Channel = 82
--> Node id = 73, X = 74.177456, Y = 96.422616, Channel = 75
--> Node id = 49, X = 62.456122, Y = 87.409329, Channel = 81
--> Node id = 29, X = 76.752416, Y = 98.314470, Channel = 79
--> Node id = 37, X = 65.751318, Y = 77.698283, Channel = 78
========================================================================
========================================================================
--> Node id = 95, X = 14.934135, Y = 61.412199, Channel = 75
------------------------ Node 95 Neighbours List ------------------------
--> Node id = 56, X = 17.013322, Y = 67.093344, Channel = 78
--> Node id = 4, X = 12.069100, Y = 71.541380, Channel = 81
--> Node id = 97, X = 6.898474, Y = 68.566166, Channel = 74
--> Node id = 84, X = 18.070125, Y = 74.164013, Channel = 77
225
--> Node id = 35, X = 5.615634, Y = 51.669848, Channel = 79
--> Node id = 25, X = 24.084323, Y = 49.876287, Channel = 80
========================================================================
========================================================================
--> Node id = 96, X = 41.464110, Y = 33.914187, Channel = 75
------------------------ Node 96 Neighbours List ------------------------
--> Node id = 26, X = 42.592360, Y = 39.708199, Channel = 81
--> Node id = 15, X = 39.708364, Y = 24.686938, Channel = 80
--> Node id = 18, X = 34.566170, Y = 40.622485, Channel = 82
--> Node id = 45, X = 38.345893, Y = 46.151607, Channel = 79
========================================================================
========================================================================
--> Node id = 97, X = 6.898474, Y = 68.566166, Channel = 74
------------------------ Node 97 Neighbours List ------------------------
--> Node id = 4, X = 12.069100, Y = 71.541380, Channel = 81
--> Node id = 6, X = 5.145231, Y = 78.345756, Channel = 80
--> Node id = 56, X = 17.013322, Y = 67.093344, Channel = 78
--> Node id = 95, X = 14.934135, Y = 61.412199, Channel = 75
--> Node id = 88, X = 2.740684, Y = 78.775429, Channel = 76
--> Node id = 84, X = 18.070125, Y = 74.164013, Channel = 77
========================================================================
========================================================================
--> Node id = 98, X = 88.419406, Y = 21.738062, Channel = 76
------------------------ Node 98 Neighbours List ------------------------
--> Node id = 14, X = 84.621033, Y = 24.413152, Channel = 82
--> Node id = 99, X = 83.199429, Y = 23.143100, Channel = 75
--> Node id = 69, X = 89.882643, Y = 16.409421, Channel = 78
--> Node id = 40, X = 94.798709, Y = 25.657500, Channel = 79
--> Node id = 22, X = 85.180875, Y = 13.154292, Channel = 80
226
--> Node id = 17, X = 89.198811, Y = 33.430517, Channel = 81
========================================================================
========================================================================
--> Node id = 99, X = 83.199429, Y = 23.143100, Channel = 75
------------------------ Node 99 Neighbours List ------------------------
--> Node id = 14, X = 84.621033, Y = 24.413152, Channel = 82
--> Node id = 98, X = 88.419406, Y = 21.738062, Channel = 76
--> Node id = 69, X = 89.882643, Y = 16.409421, Channel = 78
--> Node id = 22, X = 85.180875, Y = 13.154292, Channel = 80
--> Node id = 54, X = 73.830511, Y = 17.417209, Channel = 79
--> Node id = 92, X = 77.064013, Y = 13.528241, Channel = 77
========================================================================
Bibliography
[1] M. Weiser, The Computer for the 21st Century, Scientic Amercian, Sep. 1991.
[2] M. Satyanarayanan, Pervasive Computing: Vision and Challenges, IEEE Per-
sonal Communications, Aug. 2001, pp. 10-17.
[3] D. Saha, A. Mukherjee, A Paradigm for the 21st Century, IEEE Computer,
IEEE Computer Society Press, March 2003, pp. 25-31.
[4] I. F. Akyildiz, et al., Wireless Sensor Networks: A Survey, Computer Networks
38 (2002), pp. 393-422.
[5] I. F. Akyildiz, et al., Wireless Sensor and Actor Networks: Research Chal-
lenges, Ad Hoc Networks 2, 2004, pp. 351-367.
[6] J. M. Rabaey, et al., PicoRadio Supports Ad Hoc Ultra-Low Power Wireless
Networking, Computer, Vol. 33, Issue 7, July 2000, pp. 42-48.
[7] J. M. Rabaey, Ultra-low Power Computation and Communication enables Am-
bient Intelligence, Keynote Presentations, ELMO Seminar, Helsinki, Finland,
March 2003.
227
228
[8] J. A. Stankovic, et al., Real-Time Communication and Coordination in Em-
bedded Sensor Networks, Proc. of the IEEE, VOL.91, NO7, July 2003, pp.
1002-1022.
[9] P. Mohapatra, Mobile Ad Hoc and Sensor Networks, Presentation Slides, 2003.
http://www.cs.ucdavis.edu/prasant/.
[10] R. Rammnathan, J. Redi, A Brief Overview of Ad Hoc Networks: Challenges
and Directions, IEEE Communications Magazine, 50th Anniversary Commem-
orative Issue, pp. 20-22, May 2002.
[11] J. Freebersyser, B. Leiner, A DoD Perspective on Mobile Ad Hoc Networks,
Ad Hoc Networking, ed. C, E. Perkins, Addison-Wesley, 2001.
[12] P. Marshall, XG Next Generation Communications, Advanced Technology
Oce (ATO). Website: http://www.darpa.mil/DARPATech2002/presentations/
ato pdf/speches/MARSHALL.pdf.
[13] P. Mannion, Sharing the Spectrum the Smarter Way, EE Times, 2004.
[14] J. Mitola, Cognitive Radio, An Integrated Agent Architecture for Software De-
ned Radio, PhD Thesis, Royal Institute of Technology, 2000.
[15] Sensor Networks make Earlier Inroads, Extreme Sensor Networks, 2004.
http://www.extremetech.com/.
[16] Network Simulator, NS-2, http://www.isi.edu/nsnam/ns/.
[17] The ns Manual, http://www.isi.edu/nsnam/ns/.
229
[18] E. Shih, et al., Physical Layer Driven Protocol and Algorithm Design for
Energy-Ecient Wireless Sensor Networks, Proc. ACM MobiCom 01, Rome,
Italy, July 2001, pp. 272-86.
[19] E. Shih, et al., Design Considerations for Energy-Ecient Radios in Wireless
Microsensor Networks, Journal of VLSI Signal Processing 37, 2004, pp. 77-94.
[20] K. Sohrabi, et al., Protocols for Self-Organization of a Wireless Sensor Net-
work, IEEE Pers. Commun., Oct. 2000, pp. 16-27.
[21] E. S. Jung, et al., An Energy Ecient MAC Protocol for Wireless LANs, In
Proc. of IEEE Infocom 2002, New York, USA, pp. 1756- 1764
[22] A. Muqattash, et al., A Distributed Transmission Power Control Protocol for
Mobile Ad Hoc Networks, IEEE Trans. on Mobile Computing, Vol,3, Issue:2,
April 2004, pp. 113- 128.
[23] A. Muqattash, M. Krunz, CDMA-Based MAC Protocol for Wireless Ad Hoc
Networks, Proc. of MobiHoc 2003, Annapolis, Maryland, USA, pp. 153 - 164.
[24] R. Min, A. Chandrakasan, A Framework for Energy-Scalable Communication
in High-Density Wireless Networks, ISLPED02, Monterey, California, USA,
August 12-14, 2002.
[25] R. Min, et al., Energy-Centric Enabling Technologies for Wireless Sensor Net-
works, IEEE Wireless Communications, August 2002, pp. 28-39.
[26] S. De, et al., An Integrated Cross-Layer Study of Wireless CDMA Sensor Net-
works, IEEE Journal on Selected Areas in Communications, Vol. 22, No. 7, Sep.
2004, pp. 1271-1285.
230
[27] O. Dousse, et al. Impact of Interference on Connectivity in Ad Hoc Networks,
IEEE/ACM Transactions on Networking, Volume 13, Issue 2, April 2005, pp.
425-436.
[28] C. H. Liu, H. H. Asada, A Source Coding and Modulation Method for Power
Saving and Interference Reduction in DS-CDMA Sensor Networks, Proc. Amer-
ican Control Conf., Volume 4, May 8-10, 2002, pp. 3003-3008.
[29] E. S. Sousa, et al., Optimum Transmission Ranges in a Direct-Sequence Spread-
Spectrum Multihop Packet Radio Network IEEE Journal on Selected Areas in
Communications, Vol. 8, No 5, 1990, pp. 762-771.
[30] S. Y. Ni, et al., The Broadcast Storm Problem in a Mobile Ad Hoc Network,
Proc. of 5th ACM/IEEE International Conference on Mobile Computing and
Networking, Seattle WA, August 1999, ACM Press, pp. 151-162.
[31] A. Woo, and D. Culler, A Transmission Control Scheme for Media Access in
Sensor Networks, Proc. ACM MobiCom 2001, July 16-21, 2001, Rome, Italy,
pp. 221-35.
[32] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, Energy-Ecient
Communication Protocol for Wireless Microsensor Networks, IEEE Proc.
Hawaii Intl. Conf. Sys. Sci., Jan. 2000, pp. 1-10.
[33] W. R. Heinzelman Application-Specic Protocol Architecture for Wireless Net-
works, PhD dissertation, MIT, June, 2000.
[34] W. Ye, J. Heidemann, D. Estrin, An Energy-Ecient MAC Protocol for Wire-
less Sensor Networks, IEEE Proc. Infocom, June 2002, pp. 1567-1576.
231
[35] V. Rajendran, et al., Energy-Ecient, Collision-Free Medium Access Control
for Wireless Sensor Networks, Proc. ACM SenSys 2003, Nov. 5-7, 2003, Los
Angeles, California, USA, pp. 181-192.
[36] C. Schurgers Optimizing Sensor Networks in the Energy-Latency-Density De-
sign Space, IEEE Trans. on Mobile Computing, Vol.1, No.1, Jan.-Mar. 2002,
pp. 70-80.
[37] C. Guo, L. C. Zhong, J. M. Rabaey. Low Power Distributed MAC for Ad Hoc
Sensor Radio Networks, Proc. of IEEE GlobeCom 2001, San Antonio, November
25-29, 2001, Vol.5, pp. 2944-2948.
[38] J. L. Sobrinho, R. de Hann, J. M. Brazio, Why RTS-CTS is not Your Ideal
Wireless LAN Multiple Access Protocol, Proc. of IEEE Wireless Communica-
tion and Networking Conference (WCNC 2005), New Orleans, USA, Mar. 13-17,
2005, pp. 81-87.
[39] G. N Karystinos and D. A. Pados, New Bounds on the Total Squared Corre-
lation and Optimum Design of DS-CDMA Binary Signature Sets, IEEE Trans.
Commun., Volume 51, Issue 1, Jan. 2003, pp. 48-51.
[40] M. B. Pursley, Performance evaluation for phase-coded spread-spectrum
multiple-access communications-Part I: System Analysis, IEEE Trans. Com-
mun., Volume 25, Issue 8, Aug. 1977, pp. 795-799,.
[41] Jack P. F. Glas, Non-Cellular Wireless Communication Systems,, PhD Thesis,
Electrical Engineering, Delft University of Technology, 1996.
232
[42] N. Abrason, The ALOHA System Another Alternative for Computer Com-
munications, Proc. Fall Joint Computer Conference (AFIPS), Vol. 37, 1970, pp.
281-285.
[43] V. Kawadia, P. R. Kumar, A Cautionary Perspective on Cross Layer Design,
IEEE Wireless Communications, Feb. 2005, pp. 3-11.
[44] N. Jain, et al., A Multichannel CSMA MAC Protocol with Receiver-based
Channel Selection for Multihop Wireless Networks, Proc. IEEE ICCCN 2001,
pp. 432439, Scottsdale, Arizona, May 2001.
[45] S. L. Wu, et al., A Multi-Channel MAC Protocol with Power Control for Multi-
hop Mobile Ad Hoc Networks, Computer Journal, vol. 45, no. 1, pp. 101110,
Jan. 2002.
[46] A. Nasipuri, et al., A Multichannel CSMA MAC Protocol for Multihop Wireless
Networks, Proc. IEEE WCNC99, vol. 3, pp. 14021406, Piscataway, NJ, 1999.
[47] A. Nasipuri, et al., Multichannel CSMA with Signal Power-based Channel Se-
lection for Multihop Wireless Networks, in Proc. of IEEE Vehicular Technology
Conference (VTC), pp. 211-218, Sep. 2000.
[48] J. So, N.H. Vaidya, Multi-Channel MAC for Ad Hoc Networks: Handling Multi-
Channel Hidden Terminals Using A Single Transceiver, Proc. ACM MobiHoc
2004, pp. 222233, Tokyo, Japan, May 2004.
[49] J. Chen, Y.-D. Chen, AMNP: Ad Hoc Multichannel Negotiation Protocol for
Multihop Mobile Wireless Networks, Proc. IEEE ICC2004, pp. 3607-3612,
Paris, June 2004.
233
[50] Z. Tang, et al., Hop-Reservation Multiple Access (HRMA) for Ad-Hoc Net-
works, Proc. IEEE INFOCOM99, 1999, pp. 194-201.
[51] A. Tzamaloukas, et al., A Receiver-Initiated Collision-Avoidance Protocol for
Multi-Channel Networks, Proc. IEEE INFOCOM, 2001, pp. 189-198.
[52] C. E. Perkins, Convergence in Ad Hoc Networking Protocols, Presentation
slide, First IEEE International Conference on Mobile Ad Hoc and Sensor System
(MASS), Ft. Lauderdale, Oct. 27, 2004.
[53] C. E. Perkins, E. M. Royer Ad-Hoc On-Demand Distance Vector Routing,
Proc. of 2nd Annual IEEE Workshop on Mobile Computing Systems and Appli-
cations, Feb. 1999, pp. 90-100.
[54] C. E. Perkins, P. Bhagwat, Routing over Multi-hop Wireless Network of Mobile
Computers, SIGCOMM94, Computer Communications Review, 24(4):234-244,
Oct. 1994.
[55] J. Broch, et al., A Performance Comparison of Multi-Hop Wireless Ad-Hoc
Network Routing Protocols, Proc. 4th Annual ACM/IEEE International Con-
ference on Mobile Computing and Networking, Dallas, Texas, Oct. 25-30 1998,
pp. 85-97.
[56] M. S. Corson, A. Ephremides, A Distributed Routing Algorithm for Mobile
Wireless Networks. ACM J. Wireless Networks, Volume 1, Issue 1, February
1995, pp. 61-81.
234
[57] B. Das, V. Bharghavan, Routing in Ad-Hoc Networks Using minimum Con-
nected Dominating Sets, IEEE Internation Conference on Communications
(ICC97), Montreal, Volume 1, 8-12 June 1997, pp. 376 - 380.
[58] D. Johnson, D. Maltz, Dynamic Source Routing in Ad-Hoc Wireless Networks,
Mobile Computing, volume 353, Kluwer Academic Publishers, 1996.
[59] S. Murthy, J. J. Garcia-Luna-Aceves, A Routing Protocol for Packet Radio
Networks, 1st ACM Intl Conference on Mobile Computing and Networking
(Mobicom95), Berkeley, CA, USA, 1995, pp. 86-95.
[60] V. D. Park, M. S. Corson, A Highly Adaptive Distributed Routing Algorithm
for Mobile Wireless Networks, Proc. of 1997 IEEE Conference on Computer
Communications (Infocom97), Volume 3, 7-11 April 1997, pp. 1405-1413.
[61] V. D. Park, M. S. Corson, A Performance Comparison of the Temporally-
Ordered Routing Algorithm and Ideal Link-State Routing. Proc. of IEEE Intl
Symposium on Systems and Communications, Athens Greece, 30 June - 2 July,
1998, pp. 592-598.
[62] S. Hedetniemi, A. Liestman, A Survey of Gossiping and Broadcasting in Com-
munication Networks, Networks 18 (4), 1998, pp. 319-349.
[63] W. R. Heinzelman, et al., Adaptive Protocols for Information Dissemination
in Wireless Sensor Networks, Proc. of ACM MobiCom99, Aug. 15-20, 1999,
Seattle, WA, USA, pp. 174-185.
235
[64] C. Intanagonwiwat, et al., Directed diusion for wireless sensor networking,
IEEE/ACM Transactions on Networking, Volume 11, Issue 1, Feb. 2003, pp.
2-16.
[65] M. K. Marina, et al., Routing Performance in the Presence of Unidirectional
Links in Multihop Wireless Networks, Proc. ACM MobiHoc 02, 2002, Lausanne,
Switzerland, pp. 12-23.
[66] D. M. Blough, et al. The K-Neigh Protocol for Symmetric Topology Control in
Ad Hoc Networks, Proc. of IEEE MobiHoc 2003, Annapolis, Maryland, USA,
pp. 141-152.
[67] V. Rodoplu, et al., Minimum energy mobile wireless networks, IEEE Journal
on Selected Areas in Communications, Vol. 17, No. 8, August 1999, pp. 1333-
1344.
[68] R. Ramanathan, et al., Topology Control of Multihop Wireless Networks using
Transmit Power Adjustment, Proc. IEEE Infocom 2000, Volume 2, 26-30 March
2000, Tel-Aviv Israel, pp. 404-413.
[69] R. Wattenhofer, et al., Distributed Topology Control for Power Ecient Op-
eration in Multihop Wireless Ad Hoc Networks, Proc. IEEE Infocom 2001,
Anchorage, Alaska, USA, April 22-26, 2001, pp. 1388-1397.
[70] L. Li, et al., Analysis of a Cone-Based Distributed Topology Control algorithm
for Wireless Multi-hop Networks, Proc. ACM Principles of Distributed Com-
puting (PODC) 2001, Newport, Rhode Island, USA, pp. 264-273.
236
[71] P. Santi, Topology Control in Wireless Ad Hoc and Sensor Networks, submit-
ted to ACM Comp. Surveys.
[72] L. Hu, Topology Control for Multihop Packet Radio Networks, IEEE Trans.
on Communications, Vol. 41, NO. 10, October 1993, pp. 1474-1481.
[73] R. Wattenhofer, L. Li, P. Bahl, Y. M. Wang, Distributed Topology Control for
Power Ecient Operation in Multihop Wireless Ad Hoc Networks, Proc. IEEE
Infocom 2001, Anchorage, Alaska, USA, April 22-26, 2001, pp. 1388-1397.
[74] L. Hu, Distributed Code Assignment for CDMA Packet Radio Networks,
IEEE/ACM Transactions on Networking. Vol. 1, No. 6, Dec. 1993, pp. 668-677.
[75] E. S. Sousa, J. A. Silvester, Spreading Code Protocols for Distributed Spread-
Spectrum Packet Radio Networks, IEEE Trans. on Comm. Vol. 36, No. 3, March
1988, pp. 272-281.
[76] A. A. Bertossi, M. A. Bonuccelli, Code Assignment for Hidden Terminal Inter-
ference Avoidance in Multihop Packet Radio Networks, IEEE/ACM Trans. on
Networking, Vol. 3, No. 4, Aug. 1995, pp. 441-449.
[77] S. Ramanathan, A Unied Framework and Algorithm for Channel Assignment
in Wireless Networks, Wireless Networks 5 (1999), pp. 81-94.
[78] H. H. Zhang, J. C. Hou, Maintaining Sensing Coverage and Connectivity in
Large Sensor Networks, Technical Report UIUC, UIUCDCS-R-2003-2351, June
2003.
237
[79] X. R. Wang, et al., Integrated Coverage and Connectivity Conguration in
Wireless Sensor Networks, Proc. of SenSys 2003, Nov. 5-7, 2003, Los Angeles,
California, USA, pp. 28-39.
[80] X. Y. Li, et al., Coverage in Wireless Ad Hoc Sensor Networks, IEEE Trans-
actions on Computers, Vol. 52, No. 6, June 2003, pp. 1-11.
[81] B. Hull, et al., Mitigating Congestion in Wireless Sensor Networks, Proc. of
SenSys04, Nov. 3-5, 2004, Baltimore, Maryland, USA.
[82] M. W. M. Gamini Dissanayake, et al., A Solution to the Simultaneous Lo-
calization and Map Building (SLAM) Problem IEEE Trans. on Robotics and
Automation, Vol. 17, NO. 3, June 2001, pp. 229-241.
[83] N. Bulusu, Self-Conguration Localization Systems, PhD Dissertation, UCLA,
2002.
[84] J. L. daSilva Jr., et al., Design Methodology for PicoRadio Networks, Pro-
ceedings of the conference on Design, automation and test in Europe, Munich,
Germany, 2001, pp. 314-325
[85] V. Raghunathan, et al., Energy Aware Wireless Sensor Networks, IEEE Signal
Processing Magazine, March 2002, pp. 40-50.
[86] http://www.xbow.com/Products/Wireless sensor networks.htm.
[87] http://www.xbow.com/Products/XScale.htm.
[88] IEEE 802.11, http://en.wikipedia.org/wiki/IEEE 802.11.
[89] Chipcon CC2420 Data Sheet. http://www.chipcon.com.
238
[90] R. Ruby, et al., Ultra-Miniature High-Q Filters and Duplexers using FBAR
Technology, IEEE International Solid-State Circuits Conference (ISSCC), Feb.
2001, pp. 120-121.
[91] B. Bircumshaw, et al., The Radial Bulk Annular Resonator: Towards a 50 Ohm
RF MEMS Filter, Tech. Dig., 12th Int. Conf. on Solid State Sensors, Actuators
and Microsystems, Boston, June 8-12, 2003, pp. 875-878.
[92] B. P. Otis, et al., An Ultra-Low Power MEMS-Based Two-Channel Transceiver
for Wireless Sensor Networks, Symposium on VLSI Circuits, Honolulu, HI, June
2004.
[93] W. Hu, V. N. Tran, N. Bulusu, C. T. Chou, S. Jha, A. Taylor, The Design and
Evaluation of a Hybrid Sensor Network for Cane-toad Monitoring,. In Proceed-
ings of Information Processing in Sensor Networks (IPSN 2005/SPOTS 2005),
Los Angeles, CA, April 2005. (accepted).
[94] T. S. Rappaport Wireless Communications, Principles and Practice, Second
Edition, Prentice Hall, 2002
[95] B. Sklar, Digital Communications Fundamentals and Applications, Second
Edition, Prentice Hall, 2001.
[96] J. G. Proakis, M. Salehi, G. Bauch, Contemporary Communication Systems us-
ing MATLAB and Simulink 2nd ed. Southbank, Vic. : Thomson/Brooks/Cole,
2003,
[97] H. Harada, R. Prasad, Simulation and Software Radio for Mobile Communica-
tions, Artech House, 2002.
239
[98] P. Hall, Introduction to the Theory of Coverage Process, John Wiley & SOns,
1988
[99] W. Stallings Data and Computer Communications, Fifth Edition, Prentice
Hall, 1997.
[100] S. Verdu, Multi-user Detection, Cambridge University Press, 1998.
[101] B. H. Liu, C. T. Chou, S. Jha, A Novel Multi-channel Media Access Control
Protocol for Wireless Sensor Networks, Submitted to IEEE Transactions on
Parallel and Distributed Systems, Special Issue on Localized Communication
and Topology Protocols for Ad Hoc Networks.
[102] B. H. Liu, C. T. Chou, J. Lipman, S. Jha, Using Frequency Division to Reduce
MAI in DS-CDMA Wireless Sensor Networks, IEEE Wireless Communications
and Networking Conference (WCNC), Mar. 13-17, New Orleans, LA, 2005, pp.
657-663.
[103] Y. Gao, B. H. Liu, S. Kanhere, Performance Evaluation of Selected Optimal
Neighbor Protocol for Wireless Ad Hoc Networks, Proceedings of Australian
Telecommunication Networks and Application Conference (ANTAC 2004), Syd-
ney, Australia, Dec. 8-10, 2004, pp. 190-193.
[104] B. H. Liu, Y. Gao, C.T. Chou, S. Jha, An Energy Ecient Select Optimum
Neighbor (SON) Protocol for Wireless Ad Hoc Networks, Proceedings of Work-
shop on Wireless Local Networks (WLN 2004), LCN 2004, Tampa, Florida, 16
Nov. 2004, pp. 626-633.
240
[105] B. H. Liu, N. Bulusu, H. Pham, S. Jha, CSMAC: A Novel DS-CDMA Based
MAC Protocol for Wireless Sensor Networks, IEEE GLOBECOM Wireless Ad
hoc and Sensor Networks, Nov. 29 - Dec. 3, 2004, Dallas Texas, USA, pp. 33-38.
[106] B. H. Liu, N. Bulusu, H. Pham, S. Jha, A Self-Organizing, Location-Aware
Media Access Control Protocol for DS-CDMA Sensor Networks, First IEEE
International Conference on Mobile Ad Hoc and Sensor System (MASS), short
paper, Oct. 2004, pp. 528-530.

Das könnte Ihnen auch gefallen