Beruflich Dokumente
Kultur Dokumente
A
() =
_
C
() =
_
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
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) =
_
0
e
s
f
()d = E[e
s
] s 0 (4.3.2)
75
where f
(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) = 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
;
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
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
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
. Because
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.