# Fuzzy Weight Cluster-Based Routing Algorithm for Wireless Sensor Networks

Authors: Teng Gao; Jin-Yan Song; Jin-Hua Ding; De-Quan Wang
Journal: Journal of Control Science and Engineering
 (2015)

---

## Abstract

Cluster-based protocol is a kind of important routing in wireless sensor networks. However, due to the uneven distribution of cluster heads in classical clustering algorithm, some nodes may run out of energy too early, which is not suitable for large-scale wireless sensor networks. In this paper, a distributed clustering algorithm based on fuzzy weighted attributes is put forward to ensure both energy efficiency and extensibility. On the premise of a comprehensive consideration of all attributes, the corresponding weight of each parameter is assigned by using the direct method of fuzzy engineering theory. Then, each node works out property value. These property values will be mapped to the time axis and be triggered by a timer to broadcast cluster headers. At the same time, the radio coverage method is adopted, in order to avoid collisions and to ensure the symmetrical distribution of cluster heads. The aggregated data are forwarded to the sink node in the form of multihop. The simulation results demonstrate that clustering algorithm based on fuzzy weighted attributes has a longer life expectancy and better extensibility than LEACH-like algorithms.


---

## Body

## 1. Introduction

In recent years, applications of sensor networks have evolved in many areas due to their large applicability and development possibilities, especially in the wireless sensor networks (WSNs) area [1]. A wireless sensor network consists of a large number of light-weight sensor nodes having limited battery life, computational capabilities, storage, and bandwidth [2]. The potential applications of sensor networks are highly varied, such as environmental monitoring, target tracking, battle field surveillance, monitoring the enemy territory, detection of attacks, and security etiquette [3]. An important aspect of such networks is that the nodes are unattended, resource-constrained, their energy cannot be replenished, and network topology is unknown [4]. The node which lost energy may cause the malfunction of the entire network. Therefore, the research on WSNs has mainly been focused on saving the limited energy and extending the life time of wireless sensor networks. Researchers have developed many theories to save energy from almost every aspect, but we have our sight on routing protocol.An efficient routing protocol is the one which consumes minimum energy and provides large coverage area [5]. Based on the logical structure, the routing protocol is divided into two categories. The first category is flat routing, in which all nodes in the network are coequal and there are no special nodes. The advantage of this type of protocols is their robustness. The other category is hierarchical-based routing. One of the most classical paradigms of hierarchical-based routing is the clustering, in which cluster is an infrastructure and nodes play different roles. In a clustering architecture, cluster head nodes can be used to process and send the information to the sink node while member nodes can be used to perform the sensing in the proximity of the target and transmit the information to corresponding cluster head. Clustering provides an efficient way of saving energy within a cluster and outside cluster and inside a wireless sensor network. The cluster head acts as a bridge between other sensor nodes and sink node and sometimes between one cluster head and other cluster head in multihop cases [6]. This means that creation of clusters and assigning special tasks to cluster heads can greatly contribute to overall system scalability, lifetime, and energy efficiency [7]. Thus, cluster-based routing takes great advantage over the plat-based one at above performances. However, the disadvantage of cluster-based routing is that the cluster head is so vital that it becomes the bottleneck of the entire network. Therefore, the selection of the cluster head will influence the performance of the entire network. The existing clustering algorithms differ on the criterium for the selection of the cluster heads. According to the current research findings, the selection method of the cluster head can be divided into several categories below.The classical routing protocols that are based on k-means clustering such as LEACH [8], TEEN [9], and APTEEN [10] select cluster head based on a random acquired value. If this value is less than a certain threshold, the nodes will be the cluster head. Whereas because of the randomicity during the selection, the selected cluster head is prone to be distributed improperly and unevenly, this could cause the uneven distribution of the traffic flow in different cluster head nodes. One of the direct consequences is that some cluster heads exhaust energy; at the mean time the performance of the entire network is affected.Some distributed routing protocols based on a certain attribute are proposed in DCHS [11], HCDA (the Highest-Connectivity Degree Algorithm) [12], and ACMWN [13]. The attributes that can determine cluster head selection include residual energy, neighbors number, the cost that communicate in intracluster, and the distance between the node and the sink node and ID. Because only one attribute is taken into account in these protocols, the selected cluster head cannot be the most suitable node. Although the rationality of the cluster head selection is improved to a certain extent, certain problems such as the unevenly distributed cluster head and the imbalance load remain unsolved.Multiattribute cluster head selection protocol such as HEED [14] and WCA [15], which use several attribute to determine the cluster head, are greatly favored due to the consideration of various factors. The advantage of multiattribute cluster head selection is that a better partition of cluster can be obtained. The two protocols both adopt successive screening method to determine the cluster head, by which the finite iteration must be implemented. The major drawback of the former is that distributed algorithm makes each node unaware of global information so that some nodes may not join any clusters, while the latter need to iterate many times if many attributes are used to gain a better performance, which will increase time complexity and consume more energy.WCA-LEACH [16], MWBC [17], WCA-GSEN [18], and AOW-LEACH [19] combine multifactors such as residual energy, communication cost, and neighbor nodes number in order to avoid the randomicity in the cluster head selection of LEACH. However, all the algorithms above determine weight of each factor using trial and error method, which will influence the performance of the whole protocol.From the analysis and comparison mentioned above, multiattribute cluster head selection can obtain the unparalleled rationality in partition of cluster; therefore, we consider the residual energy, neighbors number, the cost that communicate in intracluster, and the distance between the node and the sink node as the attribute to propose a new clustering routing algorithm using fuzzy weight multiattribute (CFWA) to determine cluster head selection, by which the energy can be saved and the lifetime of the whole network will be extended.


## 2. Conform the Weight of Attribute

To save energy and balance load, the residual energy is the most crucial factor of the attributes during the process of cluster head selection. The cost that is used in the communication in intracluster and the neighbors number also influence cluster head selection. Nevertheless, the distance between the node and the sink node will not be considered due to the fact that uniform distribution of the cluster head is required by energy-efficient cluster-based algorithm. In this paper, the direct method [20] based on the abutting object relative membership degree in engineering fuzzy theory and intelligence decision-making is adopted in order to confirm the proportion of each attribute that is hold during cluster head selection.Definition 1.
Compare the memberO
k with another member O
l on duality about weightiness in the object set O. When O
k is more important than O
l,(1)
0
.
5
<
β
k
l
⩽
1
;when O
l is more important than O
k,(2)
0
⩽
β
k
l
<
0.5
,
β
k
l
=
1
-
β
l
k
;when O
k has the same importance as O
l,(3)
β
k
l
=
0.5
,
e
s
p
e
c
i
a
l
l
y
,
β
k
k
=
0.5
,where β
k
l is named relatively weightiness fuzzy value between the object O
l and O
k. Particularly, if the object sequencing about weightiness is O
1
≺
O
2
≺
⋯
≺
O
m, β
k
1
,
k
1
+
1 (k
1
=
1,2
,
…
,
m
-
1) is defined as the abutting object relatively weightiness fuzzy value.Assumption 2.
In the available attributes, it is assumed that residual energy (E
r) is more significant than the cost that communicate in intracluster (Cost), and the latter is more important than neighbors number (Deg).That is, residual energy has the unexampled importance than the cost that communicate in intracluster while the latter is more important than neighbors number ratherish. The relevant fuzzy value thatβ
E
r
,
C
o
s
t is 1 and β
C
o
s
t
,
D
e
g is 0.55 can be found out based on Table 1 [21].Table 1
Relationships between mood operator and fuzzy value.
Moodoperator
Fuzzy scale value
Memberships value
Similar
0.5
1
Ratherish
0.55
0.905
Slightly
0.6
0.667
Relatively
0.65
0.538
Obviously
0.7
0.429
Markedly
0.75
0.333
Quite
0.8
0.25
Very
0.85
0.176
Extremely
0.9
0.111
Violently
0.95
0.053
Incomparable
1
0Based on the assumption about relative significance fuzzy scale value, provided that the objectE
r is more important than Cost, β
E
r
,
C
o
s
t is the corresponding significance degree when just comparing objects E
r and Cost, of which benchmark is E
r, the more important one between these two objects. Because β
E
r
,
E
r, which is the fuzzy scale value that the object E
r compares to itself, is 0.5, if the only two objects E
r and Cost are still compared, the degree that E
r belongs to significance is β
E
r
=
1, and the one of Cost is β
C
o
s
t
=
1.5
-
β
E
r
,
C
o
s
t. Therefore, the relationship of the significance degree between E
r and Cost is (4)
β
E
r
β
C
o
s
t
=
1
1.5
-
β
E
r
,
C
o
s
t
.The nonnormalization weight may be figured out:(5)
ω
E
r
′
=
1
,
ω
C
o
s
t
′
=
ω
E
r
′
1.5
-
1
=
0.5
,
ω
D
e
g
′
=
ω
C
o
s
t
′
1.5
-
0.55
=
0.475
.The object weight vector that obtained after normalization and reverting suffix is(6)
ω
=
ω
E
r
,
ω
C
o
s
t
,
ω
D
e
g
=
0.5063,0.2532,0.2405
.On account of the diffidence in the unit of each attribute, normalization procedure will be implemented.The normalization expression of residual energy isE
r
/
E
m
a
x, in which E
m
a
x is the original energy of each node. A proportional function relationship exists between residual energy and cluster head selection; that is, the node whose residual energy is higher has more chances to be a cluster head.The costs that communicate in intracluster, which is obtained by calculating received signal strength information (RSSI), is normalized asR
S
S
I
a
v
e
/
T
S
S
I, where TSSI is the transmission signal strength value, which will be the same in the broadcasting phase of each node. R
S
S
I
a
v
e denotes the average strength value of all the wireless signals that have been received. The bigger the value is, the lower the cost is. R
S
S
I
a
v
e is also proportional to the probability that the node can be selected as the cluster head.According to the conclusion that is drawn by Heinzelman et al. [22], the relationship of cluster number and energy consumption in the scene of 100 nodes is showed in Figure 1, from which the optimal nodes number in a cluster can be deduced; in other words, the optimal neighbor number can be confirmed. The normalization function F
(
D
e
g
) that denotes the neighbor number and the energy expenditure relationship is fit based on Figure 1:(7)
F
D
e
g
=
6.479
×
x
2
-
226.6
x
+
3001
n
×
E
m
a
x
×
x
2
-
10.17
x
+
243.4
.Figure 1
The relationship of cluster number and energy consumption in the scene of 100 nodes in LEACH.Here,n is the total number of nodes.The absolute attribute degree value of each node based on OWA operator can be calculated out by the following object function:(8)
F
1
=
ω
E
r
·
E
r
E
m
a
x
+
ω
C
o
s
t
·
R
S
S
I
a
v
e
T
S
S
I
+
ω
D
e
g
·
F
D
e
g
.In the same manner, the function(9)
F
2
=
E
r
E
m
a
x
ω
E
r
+
R
S
S
I
a
v
e
T
S
S
I
ω
C
o
s
t
+
F
D
e
g
ω
D
e
gis the absolute attribute degree value based on GOWA plus operator while the expression(10)
F
3
=
E
r
E
m
a
x
ω
E
r
·
R
S
S
I
a
v
e
T
S
S
I
ω
C
o
s
t
·
F
D
e
g
ω
D
e
gcalculates the absolute attribute degree value based on GOWA multiplication operator(11)
O
b
v
i
o
u
s
l
y
,
ω
E
r
+
ω
C
o
s
t
+
ω
D
e
g
=
1
.


## 3. System Module

### 3.1. Network Module

(a)
All sensor nodes cannot move after being deployed, and each node has a unique ID.
(b)
There is the only one sink node which lies outside the network.
(c)
All sensor nodes are homogeneous, with no GPS equipment on it. All nodes are time synchrony.
(d)
Each node has the ability to aggregate data; as a result several data packages can be compressed as one package.
(e)
If the node knows the transmission power, it can calculate out the approximate distance between the transmitter and receiver based on the RSSI(12)
R
S
S
I
=
A
-
10
n
log
⁡
10
d
,where d represents the distance; A is the RSSI value when transmitter and receiver are 1 m apart; n is the environmental factor.
(f)
The battery that cannot be supplied is the main energy supply of the node. However, the node is able to adjust transmission power freely to save energy based on the distance from the receiver.
(g)
The energy of the sink node is infinite.
(h)
The bidirectional channel is defined through the whole network.


### 3.2. Wireless Channel Module

The same wireless channel module is put to use in LEACH [8] and this paper, which is composed of free space module and two-ray ground module. The boundary distance d
0 is used to differentiate the service conditions, when communication distance between transmitter and receiver is less than d
0 and the free space module will be adopted. Otherwise, if the communication distance is beyond d
0, two-ray ground module will be used, in which the energy that is consumed in transmitter sending data is in proportion to the biquadrate of the communication distance. Therefore, the trait of the module mentioned above is that the transmitter automatically uses different wireless channel module to work out the energy amount required in sending data in terms of communication distance.Energy efficiency is the pivotal issue of WSNs, which requires free space module to be used at best in the communication between the transmitter and receiver, for which the communication distance between nodes should keep within the distanced
0. In a clustering structure network, the distance between cluster head usually is longer than that between cluster head and its corresponding member node, which need communication radius to be less than the distance d
0/2 in intracluster if the distance that is less than d
0 is anticipant in intercluster. By limiting communication distance, the energy is saved at last.According to the wireless channel module defined above, the energy module below is available.


### 3.3. Energy Module

The energy consumption that the transmitter sendsk bits data to the receiver with the distance d is(13)
E
t
k
,
d
=
k
E
e
l
e
c
+
k
ε
f
s
d
2
d
<
d
0
k
E
e
l
e
c
+
k
ε
m
p
d
4
d
≥
d
0
.The node receivedk bits data, which consumes energy as follows:(14)
E
r
k
=
k
E
e
l
e
c
.If a node spendsE
f
u
s
i
o
n energy to aggregate one bit, then the energy used in aggregating m data packages to a single package is(15)
E
f
m
,
k
=
m
k
E
f
u
s
i
o
n
.


## 3.1. Network Module

(a)
All sensor nodes cannot move after being deployed, and each node has a unique ID.
(b)
There is the only one sink node which lies outside the network.
(c)
All sensor nodes are homogeneous, with no GPS equipment on it. All nodes are time synchrony.
(d)
Each node has the ability to aggregate data; as a result several data packages can be compressed as one package.
(e)
If the node knows the transmission power, it can calculate out the approximate distance between the transmitter and receiver based on the RSSI(12)
R
S
S
I
=
A
-
10
n
log
⁡
10
d
,where d represents the distance; A is the RSSI value when transmitter and receiver are 1 m apart; n is the environmental factor.
(f)
The battery that cannot be supplied is the main energy supply of the node. However, the node is able to adjust transmission power freely to save energy based on the distance from the receiver.
(g)
The energy of the sink node is infinite.
(h)
The bidirectional channel is defined through the whole network.


## 3.2. Wireless Channel Module

The same wireless channel module is put to use in LEACH [8] and this paper, which is composed of free space module and two-ray ground module. The boundary distance d
0 is used to differentiate the service conditions, when communication distance between transmitter and receiver is less than d
0 and the free space module will be adopted. Otherwise, if the communication distance is beyond d
0, two-ray ground module will be used, in which the energy that is consumed in transmitter sending data is in proportion to the biquadrate of the communication distance. Therefore, the trait of the module mentioned above is that the transmitter automatically uses different wireless channel module to work out the energy amount required in sending data in terms of communication distance.Energy efficiency is the pivotal issue of WSNs, which requires free space module to be used at best in the communication between the transmitter and receiver, for which the communication distance between nodes should keep within the distanced
0. In a clustering structure network, the distance between cluster head usually is longer than that between cluster head and its corresponding member node, which need communication radius to be less than the distance d
0/2 in intracluster if the distance that is less than d
0 is anticipant in intercluster. By limiting communication distance, the energy is saved at last.According to the wireless channel module defined above, the energy module below is available.


## 3.3. Energy Module

The energy consumption that the transmitter sendsk bits data to the receiver with the distance d is(13)
E
t
k
,
d
=
k
E
e
l
e
c
+
k
ε
f
s
d
2
d
<
d
0
k
E
e
l
e
c
+
k
ε
m
p
d
4
d
≥
d
0
.The node receivedk bits data, which consumes energy as follows:(14)
E
r
k
=
k
E
e
l
e
c
.If a node spendsE
f
u
s
i
o
n energy to aggregate one bit, then the energy used in aggregating m data packages to a single package is(15)
E
f
m
,
k
=
m
k
E
f
u
s
i
o
n
.


## 4. CFWA Algorithm Description

The first goal of our work is to tackle the problem of the cluster head maldistribution which will result in unbalanced load in the whole network and premature death of some nodes. The resolvent is to use the fuzzy weight attribute degree algorithm to establish a cluster-based routing in network layer.CFWA algorithm is composed of two phases, initialization and operation. There are several time slices in initialization phase used to receive the signal from the sink node and implement flooding to obtain the grads level. Operation phase contains setup phase and steady-state phase. In the setup phase, there are 4 subperiods, including node broadcasting, cluster head broadcasting, member joining cluster, and TDMA schedule broadcasting. The steady-state phase contains a few rounds, and these rounds consist of several frames. The time structure is shown in Figure2.Figure 2
CFWA algorithm time structure diagram.


### 4.1. Initialization

The sink node broadcasts a beacon at a certain power; the sensor node who received the beacon signal should limit within a region at the radius of (d
m
a
x
-
d
0
/
8).After a period of delay, the sink node broadcasts another beacon at the maximum power of the sensor node, by which the radio wave covers a circle region at the radius ofd
m
a
x. The node that has received this beacon evaluates the distance between the sink node and itself based on the RSSI, as well as gaining the grads level 0.After evaluating distance, the node who received either beacon turns off transceiver and goes into dormancy. The node who only received the second beacon wakes up and starts broadcasting its own grads level at the radius ofd
0
/
8 at a random time in the certain interval during which all nodes that hold the same grads level will complete broadcasting their own grads levels and then goes to sleep again. And the nodes, which have never received any signals before, receive this message and set its grads level as 1 (received message plus 1), from which the distance between the sink node and itself is considered as (d
m
a
x + d
0
/
8). When a node has received any message about grads level, it goes into dormancy immediately. After the broadcasting that is implemented by the nodes whose grads level is 0 and which has only received the second beacon is ended, the receivers broadcast their grads levels at the same radius of d
0/8 at a random time before going into dormancy. The node who receives this message sets their grads level to 2 and goes to sleep until the timeout of the nodes who broadcast the message “1.” The rest may be deduced by analogy until each node in the network has a grads level, as shown in Figure 3.Figure 3
Flooding in initialization phase.Algorithm1 is the pseudocode of the initialization.Algorithm 1:The pseudocode implementation of the initialization.
void time_snychronization( );
int grads = 0;
if (receive(hello1))flag = 1;
else if (receive(hello2))
/∗estimate distance between sink and itself. d
0 is the
demarcation point between free space model and
two ray ground model. RSSI(SK) and RSSI(ID)
represent the received signal strength at sink node
and this node, respectively.∗/
double dtosk = pow(10.0, (RSSI(SK) − RSSI(ID) + x
i(sigma))/(10 ∗ lambda))/d
0;
if (flag != 1) {broadcast(grads);}
/∗
X and Y are the bandaries of deployment area∗/
while (d
m
a
x + grads ∗
d
0/8 < d
m
a
x + Y)
If (receive(grads))
grads++;
//d
m
a
x is the farthest distance to receive the sink’s signal
dtosk =d
m
a
x + grads ∗
d
0/8;
broadcast(grads);


### 4.2. Clustering

Each node broadcasts a messageI
D
,
E
r at a certain power in a period of time T
b, which covers a region at the radius of d
0/2. Each node receives the messages from neighbors and stores the information into memory after the end of broadcasting, based on which each node calculates out neighbor number Deg, the average residual energy, and the cost in intracluster communication R
S
S
I
a
v
e. Thus the node can obtain all attributes it wants.A calculation will be implemented in terms of formula (8) or (9) or (10) to obtain the absolute attribute degree F by each node. The node whose absolute attribute degree F is bigger has higher probability of being the cluster head than the smaller one, because the former has great advantage over the latter in the energy efficiency. Then the absolute attribute degree F is mapped onto the time axis before the cluster head broadcasts by means of the timer triggering, from which the node whose absolute attribute degree is bigger broadcasts cluster head information earlier.A timerT
i, whose time span is determined by the absolute attribute degree F
i, is set for each node. For the reason that the node whose absolute attribute degree is bigger broadcasts cluster head information at earlier time, the following equation is available:(16)
T
i
′
′
=
1
-
F
i
×
T
′
.HereT
′ is the total time in which all cluster heads broadcast information. However, data packages collision is inevitable if the nodes that hold the same absolute attribute degree value in the network implement the simultaneous cluster head broadcasting. To avoid this, a random number between 0 and 1 is introduced to generate disturbance. A constant λ is set to be 0.9, by which the relationship between T
i and the absolute attribute degree F
i would not be affected. Thus the improved equation is described as follows:(17)
T
i
=
1
-
λ
×
F
i
+
1
-
λ
×
rand
⁡
0,1
×
T
′
.Equation (17) makes the absolute attribute degree value map onto the time axis, based on which the node whose absolute attribute degree F is bigger will have a timeout earlier. When time is up, a I
D package is broadcasted at the radius of d
0 by the cluster head. The nodes who can receive and parse the package correctly will lost the chance of being the cluster heads if the sender is lying in the neighbor list that is stored in memory, which is the radio coverage method, which makes the cluster head distribute evenly in the whole network.The cluster head broadcasting phase is finished when timeT
′ is up.


### 4.3. The Establishment of Routing in Intercluster and in Intracluster

After receiving the broadcasting of cluster heads, the member nodes select the nearest cluster head based on the RSSI and send the join information to it. The distance between the member node and the corresponding cluster head is evaluated as well.If the distance between the member node and the cluster head is more than its distance to the sink node, the member node will communicate with the sink node directly at a fixed time slice regardless of cluster head while going to dormancy at the rest time to save energy.Algorithm2 shows the pseudocode of the setup phase. As for a cluster head, the nearest cluster head will be selected to join into based on the RSSI if the distance between the sink node and the selected cluster head is shorter than the distance between the source cluster heads and the sink node. The distance between the relational cluster heads is evaluated in the same way. If the distance between cluster heads is more than the distance between the cluster head and the sink node or there is no cluster head nearer the sink node than itself, this cluster head communicates directly with the sink node.Algorithm 2:The pseudocode implementation of the setup phase.
broadcast(ID,E
r);
calculate(Deg); //Obtain the neighbor number
calculate(RSSIave); //Obtain the average RSSI of my neighbors
//normalization procedure of Deg
F
(
D
e
g
)
=
(
6.479
∗
D
e
g
∧
2
-
226.6
D
e
g
+
3001
)
/
(
n
∗
E
m
a
x
∗
(
x
∧
2
-
10.17
x
+
243.4
)
);
if (CFWA_1)
{
F
=
w
1
∗
(
E
r
/
E
m
a
x
)
+
w
2
∗
(
R
S
S
I
a
v
e
/
T
S
S
I
)
+
w
3
∗
F
(
D
e
g
)
;
}
elseif (CFWA_2)
{
F
=
p
o
w
(
E
r
/
E
m
a
x
,
w
1
)
+
p
o
w
(
R
S
S
I
a
v
e
/
T
S
S
I
,
w
2
)
+
p
o
w
(
F
(
D
e
g
)
,
w
3
)
;
}
elseif (CFWA_3)
{
F
=
p
o
w
(
E
r
/
E
m
a
x
,
w
1
)
∗
p
o
w
(
R
S
S
I
a
v
e
/
T
S
S
I
,
w
2
)
∗
p
o
w
(
F
(
D
e
g
)
,
w
3
)
;
}
T
i
=
(
0.9
∗
(
1
-
F
)
+
0.1
∗
r
a
n
d
(
0,1
)
)
∗
T
′;
if (!receive(c1uster head) &&T
i == n
o
w)//now is the current time, not receive//any advertisement
broadcast(cluster head); //declare itself as cluster head
headFlag = 1; //cluster head mark is set
if (T
′ == n
o
w)//if has received some message
∗
p = receivedCHList[
]; //load in the list
if (length(receivedCHList) != 0)
currentCH = selectCH(∗
p); //select cluster head
join(currentCH); //send join information
else
sleep( );
if (HeadFlag  == 1)//cluster head
creatTDMA( ); //generate TDMA schedule
if (currentCH == Sink) {broadcast(TDMA);}
if (receive(TDMA)) {broadcast(TDMA);}
else
receive(TDMA);The cluster head assigns a time slot for each member after receiving all join information, by which a TDMA schedule is schemed. The cluster heads who communicate directly with the sink node promulgate the schedule firstly, and the other cluster heads, who cannot communicate directly with the sink node, promulgate the schedule only when it received the schedule from its cluster head of upper level.As one of the members, the cluster head communicate with its cluster head of upper level at the appointed time slot, when the routing in intercluster is established.The routing is simpler in intracluster. The member of nodes, who go to dormancy at the rest time to save energy, communicates directly with the cluster head at the appointed time slot.Similar to LEACH, the usage of a TDMA/CDMA MAC will reduce inter- and intracluster collisions in CFWA family algorithms.


### 4.4. Data Transmission

The interval used in data transmission is much longer than the time of setup phase so that the energy dissipation can be reduced further. Compared with the LEACH-like algorithms, CFWA family algorithms have longer time in data transmission.At data transmission phase, the member nodes send information to the cluster head according to the schedule and then go into dormancy, while the cluster head must keep under working state to receive the information coming from its members and send the aggregated data to the next hop at the time slot that is assigned by the cluster head of upper level. The cluster head who communicates directly with the sink node implements data fusion after a frame and then sends the aggregated data to the sink node.


## 4.1. Initialization

The sink node broadcasts a beacon at a certain power; the sensor node who received the beacon signal should limit within a region at the radius of (d
m
a
x
-
d
0
/
8).After a period of delay, the sink node broadcasts another beacon at the maximum power of the sensor node, by which the radio wave covers a circle region at the radius ofd
m
a
x. The node that has received this beacon evaluates the distance between the sink node and itself based on the RSSI, as well as gaining the grads level 0.After evaluating distance, the node who received either beacon turns off transceiver and goes into dormancy. The node who only received the second beacon wakes up and starts broadcasting its own grads level at the radius ofd
0
/
8 at a random time in the certain interval during which all nodes that hold the same grads level will complete broadcasting their own grads levels and then goes to sleep again. And the nodes, which have never received any signals before, receive this message and set its grads level as 1 (received message plus 1), from which the distance between the sink node and itself is considered as (d
m
a
x + d
0
/
8). When a node has received any message about grads level, it goes into dormancy immediately. After the broadcasting that is implemented by the nodes whose grads level is 0 and which has only received the second beacon is ended, the receivers broadcast their grads levels at the same radius of d
0/8 at a random time before going into dormancy. The node who receives this message sets their grads level to 2 and goes to sleep until the timeout of the nodes who broadcast the message “1.” The rest may be deduced by analogy until each node in the network has a grads level, as shown in Figure 3.Figure 3
Flooding in initialization phase.Algorithm1 is the pseudocode of the initialization.Algorithm 1:The pseudocode implementation of the initialization.
void time_snychronization( );
int grads = 0;
if (receive(hello1))flag = 1;
else if (receive(hello2))
/∗estimate distance between sink and itself. d
0 is the
demarcation point between free space model and
two ray ground model. RSSI(SK) and RSSI(ID)
represent the received signal strength at sink node
and this node, respectively.∗/
double dtosk = pow(10.0, (RSSI(SK) − RSSI(ID) + x
i(sigma))/(10 ∗ lambda))/d
0;
if (flag != 1) {broadcast(grads);}
/∗
X and Y are the bandaries of deployment area∗/
while (d
m
a
x + grads ∗
d
0/8 < d
m
a
x + Y)
If (receive(grads))
grads++;
//d
m
a
x is the farthest distance to receive the sink’s signal
dtosk =d
m
a
x + grads ∗
d
0/8;
broadcast(grads);


## 4.2. Clustering

Each node broadcasts a messageI
D
,
E
r at a certain power in a period of time T
b, which covers a region at the radius of d
0/2. Each node receives the messages from neighbors and stores the information into memory after the end of broadcasting, based on which each node calculates out neighbor number Deg, the average residual energy, and the cost in intracluster communication R
S
S
I
a
v
e. Thus the node can obtain all attributes it wants.A calculation will be implemented in terms of formula (8) or (9) or (10) to obtain the absolute attribute degree F by each node. The node whose absolute attribute degree F is bigger has higher probability of being the cluster head than the smaller one, because the former has great advantage over the latter in the energy efficiency. Then the absolute attribute degree F is mapped onto the time axis before the cluster head broadcasts by means of the timer triggering, from which the node whose absolute attribute degree is bigger broadcasts cluster head information earlier.A timerT
i, whose time span is determined by the absolute attribute degree F
i, is set for each node. For the reason that the node whose absolute attribute degree is bigger broadcasts cluster head information at earlier time, the following equation is available:(16)
T
i
′
′
=
1
-
F
i
×
T
′
.HereT
′ is the total time in which all cluster heads broadcast information. However, data packages collision is inevitable if the nodes that hold the same absolute attribute degree value in the network implement the simultaneous cluster head broadcasting. To avoid this, a random number between 0 and 1 is introduced to generate disturbance. A constant λ is set to be 0.9, by which the relationship between T
i and the absolute attribute degree F
i would not be affected. Thus the improved equation is described as follows:(17)
T
i
=
1
-
λ
×
F
i
+
1
-
λ
×
rand
⁡
0,1
×
T
′
.Equation (17) makes the absolute attribute degree value map onto the time axis, based on which the node whose absolute attribute degree F is bigger will have a timeout earlier. When time is up, a I
D package is broadcasted at the radius of d
0 by the cluster head. The nodes who can receive and parse the package correctly will lost the chance of being the cluster heads if the sender is lying in the neighbor list that is stored in memory, which is the radio coverage method, which makes the cluster head distribute evenly in the whole network.The cluster head broadcasting phase is finished when timeT
′ is up.


## 4.3. The Establishment of Routing in Intercluster and in Intracluster

After receiving the broadcasting of cluster heads, the member nodes select the nearest cluster head based on the RSSI and send the join information to it. The distance between the member node and the corresponding cluster head is evaluated as well.If the distance between the member node and the cluster head is more than its distance to the sink node, the member node will communicate with the sink node directly at a fixed time slice regardless of cluster head while going to dormancy at the rest time to save energy.Algorithm2 shows the pseudocode of the setup phase. As for a cluster head, the nearest cluster head will be selected to join into based on the RSSI if the distance between the sink node and the selected cluster head is shorter than the distance between the source cluster heads and the sink node. The distance between the relational cluster heads is evaluated in the same way. If the distance between cluster heads is more than the distance between the cluster head and the sink node or there is no cluster head nearer the sink node than itself, this cluster head communicates directly with the sink node.Algorithm 2:The pseudocode implementation of the setup phase.
broadcast(ID,E
r);
calculate(Deg); //Obtain the neighbor number
calculate(RSSIave); //Obtain the average RSSI of my neighbors
//normalization procedure of Deg
F
(
D
e
g
)
=
(
6.479
∗
D
e
g
∧
2
-
226.6
D
e
g
+
3001
)
/
(
n
∗
E
m
a
x
∗
(
x
∧
2
-
10.17
x
+
243.4
)
);
if (CFWA_1)
{
F
=
w
1
∗
(
E
r
/
E
m
a
x
)
+
w
2
∗
(
R
S
S
I
a
v
e
/
T
S
S
I
)
+
w
3
∗
F
(
D
e
g
)
;
}
elseif (CFWA_2)
{
F
=
p
o
w
(
E
r
/
E
m
a
x
,
w
1
)
+
p
o
w
(
R
S
S
I
a
v
e
/
T
S
S
I
,
w
2
)
+
p
o
w
(
F
(
D
e
g
)
,
w
3
)
;
}
elseif (CFWA_3)
{
F
=
p
o
w
(
E
r
/
E
m
a
x
,
w
1
)
∗
p
o
w
(
R
S
S
I
a
v
e
/
T
S
S
I
,
w
2
)
∗
p
o
w
(
F
(
D
e
g
)
,
w
3
)
;
}
T
i
=
(
0.9
∗
(
1
-
F
)
+
0.1
∗
r
a
n
d
(
0,1
)
)
∗
T
′;
if (!receive(c1uster head) &&T
i == n
o
w)//now is the current time, not receive//any advertisement
broadcast(cluster head); //declare itself as cluster head
headFlag = 1; //cluster head mark is set
if (T
′ == n
o
w)//if has received some message
∗
p = receivedCHList[
]; //load in the list
if (length(receivedCHList) != 0)
currentCH = selectCH(∗
p); //select cluster head
join(currentCH); //send join information
else
sleep( );
if (HeadFlag  == 1)//cluster head
creatTDMA( ); //generate TDMA schedule
if (currentCH == Sink) {broadcast(TDMA);}
if (receive(TDMA)) {broadcast(TDMA);}
else
receive(TDMA);The cluster head assigns a time slot for each member after receiving all join information, by which a TDMA schedule is schemed. The cluster heads who communicate directly with the sink node promulgate the schedule firstly, and the other cluster heads, who cannot communicate directly with the sink node, promulgate the schedule only when it received the schedule from its cluster head of upper level.As one of the members, the cluster head communicate with its cluster head of upper level at the appointed time slot, when the routing in intercluster is established.The routing is simpler in intracluster. The member of nodes, who go to dormancy at the rest time to save energy, communicates directly with the cluster head at the appointed time slot.Similar to LEACH, the usage of a TDMA/CDMA MAC will reduce inter- and intracluster collisions in CFWA family algorithms.


## 4.4. Data Transmission

The interval used in data transmission is much longer than the time of setup phase so that the energy dissipation can be reduced further. Compared with the LEACH-like algorithms, CFWA family algorithms have longer time in data transmission.At data transmission phase, the member nodes send information to the cluster head according to the schedule and then go into dormancy, while the cluster head must keep under working state to receive the information coming from its members and send the aggregated data to the next hop at the time slot that is assigned by the cluster head of upper level. The cluster head who communicates directly with the sink node implements data fusion after a frame and then sends the aggregated data to the sink node.


## 5. Simulation and Analysis

### 5.1. The Selection of Simulation Platform

NS2 is adopted as the simulation platform in this paper. As a discrete event simulator, NS2, in which the object-oriented design technique is introduced and plenty of function modules are furnished, can simulate and analyze various network protocols and draw very intuitionistic conclusions about the performance analysis of the system.LEACH-like algorithms such as LEACH, AOW-LEACH, and DCHS are simulated and compared with CFWA family algorithms in the same scene, as the parameters are set in Table2.Table 2
Parameters in simulation.
Parameter
Value
Initial energy (J)
2
Data packet size (Bytes)
500
Threshold distance (d
0) (m)
86
Packet header size (Bytes)
25
E
e
l
e
c (nJ/bit)
50
E
f
u
s
i
o
n (nJ/bit/signal)
5
ε
f
s (pJ/bit/m2)
10
ε
m
p (pJ/bit/m4)
0.0013


### 5.2. Description Comparison

From Figure4 it is clear that CFWA achieved more well-proportioned cluster description among the algorithms. Due to not many limitations on the radius of the clusters and cluster heads selection, so the cluster distribution is casual in LEACH. DCHS only limited the cluster heads selection on energy; hence the cluster description is not even. AOW-LEACH took the cluster heads selection into account, in which some parameters play roles for the even distribution of cluster. However, the scale of the cluster was not restricted, so that the cluster description was not very homogeneous. CFWA adopted multiple approaches such as limiting cluster radius and selecting cluster heads according to several parameters, to ensure the uniform cluster description.Figure 4
Cluster description comparison in a certain round.
(a)
LEACH
(b)
DCHS
(c)
AOW_LEACH
(d)
CFWACFWA family algorithms are composed of CFWA_1, CFWA_2, and CFWA_3, which is developed in terms of the different absolute attribute degree valueF from (8), (9), and (10), respectively. The simulation firstly takes place in the network with 100 nodes, in which the deployment area is 100 m × 100 m and the sink node is located at (
50,175
). The simulation results are described in Figures 5, 6, and 7.Figure 5
Alive nodes comparison diagram between CFWA family algorithms and LEACH-like algorithms in 100 nodes.Figure 6
Energy analysis chart between CFWA family algorithms and LEACH-like algorithms in 100 nodes.Figure 7
Traffic comparison diagram between CFWA family algorithms and LEACH-like algorithms in 100 nodes.


### 5.3. Performance Analysis

Figure5 denotes the relation between nodes number alive and runtime, from which it is obvious that CFWA family algorithms enhance 30% approximately more than LEACH on the total runtime of the entire network, as well as 5–10% more than AOW_LEACH and DCHS. The time of the first dead node is at 480th second in CFWA family algorithms while 400th second is available in LEACH-like algorithms, which is a great improvement. The main reason for this result is that the power that can cover the circle region at the radius of d
0/2 is used to broadcast information to neighbors, in addition to the multihop routing in intercluster, and the longer interval of data transmission is adopted. These measures reduce and balance the energy consumption of the whole network. From the point of view of the individual, the energy of each node is saved and used efficiently, so that the lifetime of the network is extended.Energy analysis demonstrates that CFWA family algorithms have consumed similar energy at each round during the network operation while they have the different energy dissipation at each round in LEACH-like algorithms especially after the first node death, as described in Figure6. The reason for this phenomenon is that the radio coverage method is carried out to ensure the uniform distribution of the clusters, which is conducive to balancing the energy depletion of the entire network. Furthermore, CFWA family algorithms consume less energy than LEACH-like algorithms at each round. This is because the multihop routing is used to forward data to the sink, which makes cluster heads avoid sending the data to the sink directly.The traffic that is received by the sink node is shown in Figure7, from which it is indicated that the traffic of CFWA family algorithms is much less than that of LEACH-like algorithms. The reason for the great differences of traffic in the operation of two kinds of algorithms is that cluster head node only implements data aggregation once before data is sent to the sink node in LEACH-like algorithms while multiple data aggregations are run during the process of data being transmitted to the sink node.The performance of the network with 200 nodes is also evaluated through the simulations. The same parameters as that in 100 nodes scene are used to create the simulation model, and the results are demonstrated in Figures8, 9, and 10, respectively. From the charts we can clearly see that the phenomenons emerged from the simulations in the scene with 200 nodes which is more obvious than that in the scene of 100 nodes. This is due to the increased cluster number. When nodes quantity increases, the cluster number is also increased. In this case, multiple cluster heads transmit data to the sink node at random time in the interval of a round, which will result in the severe collisions, bakeoffs, and retransmission of data if there is the lack of time management. When the total number of nodes in the whole network is 200, the actions mentioned above will consume lots of energy and shorten the lifetime of the network. Oppositely, the TDMA mechanism is adopted in CFWA family algorithms to avoid data collision so that the death time of the first node and the lifespan of the whole network of CFWA family algorithms are longer than that of LEACH-like algorithms.Figure 8
Alive nodes comparison diagram between CFWA family algorithms and LEACH-like algorithms in 200 nodes.Figure 9
Energy analysis chart between CFWA family algorithms and LEACH-like algorithms in 200 nodes.Figure 10
Traffic comparison diagram between CFWA family algorithms and LEACH-like algorithms in 200 nodes.Similar situation happens in the network of 500 nodes, in which the deployment area is 200 m × 200 m and the sink node is located at(
100,275
), as described in Figures 11, 12, and 13.Figure 11
Alive nodes comparison diagram between CFWA family algorithms and LEACH-like algorithms in 500 nodes.Figure 12
Energy analysis chart between CFWA family algorithms and LEACH-like algorithms in 500 nodes.Figure 13
Traffic comparison diagram between CFWA family algorithms and LEACH-like algorithms in 500 nodes.The performance of CFWA_1, CFWA_2, and CFWA_3 is similar in the three scenes, which denotes that the reliability, the stability, and the scalability of CFWA family algorithms are especially excellent.


### 5.4. Parameters

#### 5.4.1. Node Broadcasting TimeT
b

Each node broadcasts information to the neighbors at the radius ofd
0/2 at the beginning of each round, the time span of which is the pivotal factor that may influence the usage of the energy. If T
b is too large, each node will increase waiting time so as to consume unwanted energy of idle state. However, the parameter is connected with the network size. If the network size is too large, T
b must be enlarged in order to avoid the collision that happened on account of broadcasting in the limited time.


#### 5.4.2. Cluster Head Broadcasting TimeT
′

Cluster head broadcasting is transmitted by radio in turn based on the time order that is mapped by the absolute attribute degree of its own.T
′, which is the total time span in the process of the broadcasting of cluster heads, is also a significant factor that influences energy efficiency. If T
′ is too small, the radio coverage method will not be implemented. That is, there is delay during the propagation of radio wave. If a node has broadcasted the cluster head advertisement, the information needs a short period of time to transfer. Just in this period, a certain neighbor node may declare itself to be the cluster head because the timer has been triggered and no information is received. In this case, several cluster heads maybe lie in the adjacent regions or the same cluster. The large T
′ will result in energy consumption in the waiting time of idle state, which makes the lifetime of the whole network shorten.


### 5.5. Complexity Analysis

It is assumed that there aren nodes in the network, and the nodes broadcast n
I
D
,
E
r messages during the cluster head selection, followed by k cluster head broadcasting if k cluster heads are selected all over the network. Even if only one cluster head can communicate directly with the sink node, n
-
1 join messages will be broadcasted by all nodes. Furthermore, k cluster heads will broadcast at most k TDMA schedule subsequently. Thus, the total message spending in the phase of cluster forming is n
+
k
+
n
-
1
+
k
=
2
n in the whole network, which denotes that the message complexity of CFWA family algorithms in the setup phase is O
(
n
).All nodes finish broadcasting withinT
b, while the timer of each node will stop when cluster head broadcasting interval T
′ is over. Likewise, the process of nodes’ joining clusters and cluster head broadcasting TDMA schedule is also accomplished in fixed interval. Therefore, the time complexity of the algorithm CFWA in setup phase is O
(
1
).


### 5.6. Network Scalability Analysis

The direct communication with the sink node is adopted in LEACH-like algorithms, which will limit the network size to a great extent. This is mostly because some cluster heads are far away from the sink node and cannot communicate with it even if the largest power is used, which results in the waste of the energy of some cluster. The multihop relay is used to forward data in CFWA, with the distributed algorithm that only needs local information in cluster forming algorithm. Therefore, the routing, which is established by CFWA algorithm, is suitable to large scale wireless sensor networks.


## 5.1. The Selection of Simulation Platform

NS2 is adopted as the simulation platform in this paper. As a discrete event simulator, NS2, in which the object-oriented design technique is introduced and plenty of function modules are furnished, can simulate and analyze various network protocols and draw very intuitionistic conclusions about the performance analysis of the system.LEACH-like algorithms such as LEACH, AOW-LEACH, and DCHS are simulated and compared with CFWA family algorithms in the same scene, as the parameters are set in Table2.Table 2
Parameters in simulation.
Parameter
Value
Initial energy (J)
2
Data packet size (Bytes)
500
Threshold distance (d
0) (m)
86
Packet header size (Bytes)
25
E
e
l
e
c (nJ/bit)
50
E
f
u
s
i
o
n (nJ/bit/signal)
5
ε
f
s (pJ/bit/m2)
10
ε
m
p (pJ/bit/m4)
0.0013


## 5.2. Description Comparison

From Figure4 it is clear that CFWA achieved more well-proportioned cluster description among the algorithms. Due to not many limitations on the radius of the clusters and cluster heads selection, so the cluster distribution is casual in LEACH. DCHS only limited the cluster heads selection on energy; hence the cluster description is not even. AOW-LEACH took the cluster heads selection into account, in which some parameters play roles for the even distribution of cluster. However, the scale of the cluster was not restricted, so that the cluster description was not very homogeneous. CFWA adopted multiple approaches such as limiting cluster radius and selecting cluster heads according to several parameters, to ensure the uniform cluster description.Figure 4
Cluster description comparison in a certain round.
(a)
LEACH
(b)
DCHS
(c)
AOW_LEACH
(d)
CFWACFWA family algorithms are composed of CFWA_1, CFWA_2, and CFWA_3, which is developed in terms of the different absolute attribute degree valueF from (8), (9), and (10), respectively. The simulation firstly takes place in the network with 100 nodes, in which the deployment area is 100 m × 100 m and the sink node is located at (
50,175
). The simulation results are described in Figures 5, 6, and 7.Figure 5
Alive nodes comparison diagram between CFWA family algorithms and LEACH-like algorithms in 100 nodes.Figure 6
Energy analysis chart between CFWA family algorithms and LEACH-like algorithms in 100 nodes.Figure 7
Traffic comparison diagram between CFWA family algorithms and LEACH-like algorithms in 100 nodes.


## 5.3. Performance Analysis

Figure5 denotes the relation between nodes number alive and runtime, from which it is obvious that CFWA family algorithms enhance 30% approximately more than LEACH on the total runtime of the entire network, as well as 5–10% more than AOW_LEACH and DCHS. The time of the first dead node is at 480th second in CFWA family algorithms while 400th second is available in LEACH-like algorithms, which is a great improvement. The main reason for this result is that the power that can cover the circle region at the radius of d
0/2 is used to broadcast information to neighbors, in addition to the multihop routing in intercluster, and the longer interval of data transmission is adopted. These measures reduce and balance the energy consumption of the whole network. From the point of view of the individual, the energy of each node is saved and used efficiently, so that the lifetime of the network is extended.Energy analysis demonstrates that CFWA family algorithms have consumed similar energy at each round during the network operation while they have the different energy dissipation at each round in LEACH-like algorithms especially after the first node death, as described in Figure6. The reason for this phenomenon is that the radio coverage method is carried out to ensure the uniform distribution of the clusters, which is conducive to balancing the energy depletion of the entire network. Furthermore, CFWA family algorithms consume less energy than LEACH-like algorithms at each round. This is because the multihop routing is used to forward data to the sink, which makes cluster heads avoid sending the data to the sink directly.The traffic that is received by the sink node is shown in Figure7, from which it is indicated that the traffic of CFWA family algorithms is much less than that of LEACH-like algorithms. The reason for the great differences of traffic in the operation of two kinds of algorithms is that cluster head node only implements data aggregation once before data is sent to the sink node in LEACH-like algorithms while multiple data aggregations are run during the process of data being transmitted to the sink node.The performance of the network with 200 nodes is also evaluated through the simulations. The same parameters as that in 100 nodes scene are used to create the simulation model, and the results are demonstrated in Figures8, 9, and 10, respectively. From the charts we can clearly see that the phenomenons emerged from the simulations in the scene with 200 nodes which is more obvious than that in the scene of 100 nodes. This is due to the increased cluster number. When nodes quantity increases, the cluster number is also increased. In this case, multiple cluster heads transmit data to the sink node at random time in the interval of a round, which will result in the severe collisions, bakeoffs, and retransmission of data if there is the lack of time management. When the total number of nodes in the whole network is 200, the actions mentioned above will consume lots of energy and shorten the lifetime of the network. Oppositely, the TDMA mechanism is adopted in CFWA family algorithms to avoid data collision so that the death time of the first node and the lifespan of the whole network of CFWA family algorithms are longer than that of LEACH-like algorithms.Figure 8
Alive nodes comparison diagram between CFWA family algorithms and LEACH-like algorithms in 200 nodes.Figure 9
Energy analysis chart between CFWA family algorithms and LEACH-like algorithms in 200 nodes.Figure 10
Traffic comparison diagram between CFWA family algorithms and LEACH-like algorithms in 200 nodes.Similar situation happens in the network of 500 nodes, in which the deployment area is 200 m × 200 m and the sink node is located at(
100,275
), as described in Figures 11, 12, and 13.Figure 11
Alive nodes comparison diagram between CFWA family algorithms and LEACH-like algorithms in 500 nodes.Figure 12
Energy analysis chart between CFWA family algorithms and LEACH-like algorithms in 500 nodes.Figure 13
Traffic comparison diagram between CFWA family algorithms and LEACH-like algorithms in 500 nodes.The performance of CFWA_1, CFWA_2, and CFWA_3 is similar in the three scenes, which denotes that the reliability, the stability, and the scalability of CFWA family algorithms are especially excellent.


## 5.4. Parameters

### 5.4.1. Node Broadcasting TimeT
b

Each node broadcasts information to the neighbors at the radius ofd
0/2 at the beginning of each round, the time span of which is the pivotal factor that may influence the usage of the energy. If T
b is too large, each node will increase waiting time so as to consume unwanted energy of idle state. However, the parameter is connected with the network size. If the network size is too large, T
b must be enlarged in order to avoid the collision that happened on account of broadcasting in the limited time.


### 5.4.2. Cluster Head Broadcasting TimeT
′

Cluster head broadcasting is transmitted by radio in turn based on the time order that is mapped by the absolute attribute degree of its own.T
′, which is the total time span in the process of the broadcasting of cluster heads, is also a significant factor that influences energy efficiency. If T
′ is too small, the radio coverage method will not be implemented. That is, there is delay during the propagation of radio wave. If a node has broadcasted the cluster head advertisement, the information needs a short period of time to transfer. Just in this period, a certain neighbor node may declare itself to be the cluster head because the timer has been triggered and no information is received. In this case, several cluster heads maybe lie in the adjacent regions or the same cluster. The large T
′ will result in energy consumption in the waiting time of idle state, which makes the lifetime of the whole network shorten.


## 5.4.1. Node Broadcasting TimeT
b

Each node broadcasts information to the neighbors at the radius ofd
0/2 at the beginning of each round, the time span of which is the pivotal factor that may influence the usage of the energy. If T
b is too large, each node will increase waiting time so as to consume unwanted energy of idle state. However, the parameter is connected with the network size. If the network size is too large, T
b must be enlarged in order to avoid the collision that happened on account of broadcasting in the limited time.


## 5.4.2. Cluster Head Broadcasting TimeT
′

Cluster head broadcasting is transmitted by radio in turn based on the time order that is mapped by the absolute attribute degree of its own.T
′, which is the total time span in the process of the broadcasting of cluster heads, is also a significant factor that influences energy efficiency. If T
′ is too small, the radio coverage method will not be implemented. That is, there is delay during the propagation of radio wave. If a node has broadcasted the cluster head advertisement, the information needs a short period of time to transfer. Just in this period, a certain neighbor node may declare itself to be the cluster head because the timer has been triggered and no information is received. In this case, several cluster heads maybe lie in the adjacent regions or the same cluster. The large T
′ will result in energy consumption in the waiting time of idle state, which makes the lifetime of the whole network shorten.


## 5.5. Complexity Analysis

It is assumed that there aren nodes in the network, and the nodes broadcast n
I
D
,
E
r messages during the cluster head selection, followed by k cluster head broadcasting if k cluster heads are selected all over the network. Even if only one cluster head can communicate directly with the sink node, n
-
1 join messages will be broadcasted by all nodes. Furthermore, k cluster heads will broadcast at most k TDMA schedule subsequently. Thus, the total message spending in the phase of cluster forming is n
+
k
+
n
-
1
+
k
=
2
n in the whole network, which denotes that the message complexity of CFWA family algorithms in the setup phase is O
(
n
).All nodes finish broadcasting withinT
b, while the timer of each node will stop when cluster head broadcasting interval T
′ is over. Likewise, the process of nodes’ joining clusters and cluster head broadcasting TDMA schedule is also accomplished in fixed interval. Therefore, the time complexity of the algorithm CFWA in setup phase is O
(
1
).


## 5.6. Network Scalability Analysis

The direct communication with the sink node is adopted in LEACH-like algorithms, which will limit the network size to a great extent. This is mostly because some cluster heads are far away from the sink node and cannot communicate with it even if the largest power is used, which results in the waste of the energy of some cluster. The multihop relay is used to forward data in CFWA, with the distributed algorithm that only needs local information in cluster forming algorithm. Therefore, the routing, which is established by CFWA algorithm, is suitable to large scale wireless sensor networks.


## 6. Conclusions

Clustering routing algorithm is an important research issue, which will also influence the operational efficiency of network. On the basis of analysis and comparison of some classical algorithm, a novel clustering routing algorithm CFWA is proposed. The fuzzy weight absolute degree is introduced to make the most factors that can influence energy efficiency become an organic whole to determine the selection of the cluster head, which is the main innovation and improvement of the classical algorithms. Moreover, CFWA supports data fusion both in intercluster and in intracluster, which can eliminate the redundant data effectively so as to reduce the traffic and save the energy. In addition, CFWA selects the nearest path to forward the aggregated data to the sink node at the type of multihop by comparing the distance between node and the corresponding cluster head and that between node and the sink node. The simulation results show that the lifetime and energy efficiency of CFWA family algorithms is better than the classical algorithm.Although improvements are made in some performance, there are some limits such as time synchrony and fault tolerant in using this algorithm yet. CFWA belongs to the table-driven routing algorithm so that this protocol is most appropriate when constant monitoring by the sensor network is needed.Another disadvantage of CFWA algorithm is that delay generating in the data transmission process from a node to the sink node is too long. This is because data fusion is implemented at each cluster head in the path toward the sink node.Furthermore, the ant colony optimization technique should be introduced into the direct methodology in order to achieve a better cluster head distribution all over the network, and spare cluster head and path should be used to promote the robustness in further work.



---

*Source: 583092-2015-09-30.xml*