# SOFM Neural Network Based Hierarchical Topology Control for Wireless Sensor Networks

Authors: Zhi Chen; Shuai Li; Wenjing Yue
Journal: Journal of Sensors
 (2014)

---

## Abstract

Well-designed network topology provides vital support for routing, data fusion, and target tracking in wireless sensor networks (WSNs). Self-organization feature map (SOFM) neural network is a major branch of artificial neural networks, which has self-organizing and self-learning features. In this paper, we propose a cluster-based topology control algorithm for WSNs, named SOFMHTC, which uses SOFM neural network to form a hierarchical network structure, completes cluster head selection by the competitive learning among nodes, and takes the node residual energy and the distance to the neighbor nodes into account in the clustering process. In addition, the approach of dynamically adjusting the transmitting power of the cluster head nodes is adopted to optimize the network topology. Simulation results show that SOFMHTC may get a better energy-efficient performance and make more balanced energy consumption compared with some existing algorithms in WSNs.


---

## Body

## 1. Introduction

Wireless sensor networks (WSNs) are self-organized networks consisting of sensor nodes with multiple functions such as sensing, computing, and wireless communication. The sensor nodes are able to sense, collect, process, and forward information of the monitored objects; the information is transferred to sink node or base station; then the sink node makes a further processing before the information is transferred to the end user, and the network can achieve effective control of the monitored object [1]. WSNs are generally deployed in the complex environment of the monitored region; nodes’ energy depletion or new nodes deployed in the coverage area of the network may change the topology of the network, which often changes frequently and affects network performance. Well-designed network topology provides vital support for information routing, data fusion, and target tracking and can help to improve efficiency of the energy utilization and increase the network lifetime.A distributed topology control in WSNs is employed to permit a hierarchical network structure and save energy and prolong the lifetime of the battery-powered networks through a clustering approach [2], such as LEACH [3], SEP [4], and ECHERP [5]. Computational intelligence provides adaptive mechanisms that enable or facilitate intelligent behavior in complex and dynamic environments like WSNs, which encompasses paradigms such as neural networks, swarm intelligence, and evolutionary algorithms [6]. Self-organizing feature map (SOFM) neural network simulates behaviors of special neurons. These neurons process the input signal from the outside world. They are highly sensitive to some features of the signal through self-learning and suppress or do not deal with the other features of the signal; they can quickly extract the specific characteristics of the signal and adjust the network link weight coefficient, so that the signals with the same characteristics can come together [7]. SOFM neural network shows great compatibility as intelligent tools with the characteristics of WSNs and can be applied in reduction of energy consumption in sensor nodes [8, 9].In this paper, we use SOFM neural network to optimize the hierarchical topology in WSNs. In order to form self-organization topology mapping structure according to the requirements of the dynamic environment of WSNs, SOFM changes the coefficient values of link weights by the competition and collaboration among neurons.The rest of this paper is organized as follows. Section2 briefly introduces related work. Section 3 presents the network model of WSNs. The process of the SOFM based topology control algorithm is described in Section 4. The simulation and results analysis is given in Section 5 and finally, the conclusions are drawn in Section 6.


## 2. Related Work

SOFM neural network is a duplex network structure, which consists of components called nodes or neurons, and has an input layer and a competitive layer as shown in Figure1. The input layer reflects external status information on the competitive layer with the weight vector; the number of nodes in the layer is limited by the data dimension. The competitive layer collects changing information of link weights between the winning node and its adjacent nodes. Neurons in the input layer and the competitive layer have a variety of arrangements; neurons in the input layer usually adopt monolayer arrangement; neurons in the competitive layer adopt grid arrangement through lateral connections.Figure 1
SOFM structure.SOFM neural network adopts unsupervised, self-learning Kohonen learning rules to train the network. In Kohonen learning rule, neurons can adjust their link weights and have a certain impact on link weight vector of the surrounding neurons. The network determines the scale of adjacent cells by the neighborhood functions such as the Mexican hat function which is commonly used neighborhood function. SOFM neural network defines the region in which the link weights can get an effective gain as the winning neighborhood. In the winning neighborhood, the change of link weight between the winning node and its adjacent nodes is closely related to the distance to the winning node.Barbancho et al. proposed a QoS routing algorithm (SIR) for WSNs which applies SOFM neural networks to a network of meters and implements an SOFM algorithm inside every sensor node [10, 11]. Cordina and Debono proposed a clustering routing algorithm based on Fuzzy_ART neural network, which combines neural networks and fuzzy adaptive resonance theory to optimize the routing of network nodes, and balanced network energy consumption and prolonged the network lifetime [12]. Patra et al. took advantage of SOFM neural networks for node clustering in a heterogeneous sensor network, which optimized node transmission power to improve the energy-saving performance of the routing through the network training, and combined neural network to improve the robustness of the network topology [13, 14].Hu and Lee proposed a distributed positioning algorithm for WSNs based on SOFM to get rid of the dependence of the anchor node in the case of lower time complexity, and the network got smaller positioning error [15]. Gholami et al. developed an artificial neural network approach for sensor network localization under the harsh, uncertain, noisy conditions of a manufacturing environment [16]. Zheng and Dehghani proposed a range-free localization algorithm based on neural network ensembles (LNNE), which can improve the localization accuracy for WSNs by utilizing the diversity of the component neural networks [17]. O’Connor et al. applied neural network to WSNs for water quality monitoring and extended the network lifetime and improved the water quality monitoring accuracy with neural network learning characteristic to assess radar precipitation [18]. Abdul used neural network to optimize energy consumption in WSNs and got the purpose of extending the network lifetime by network training [19].


## 3. Network Model

To simplify the network model, we make some reasonable assumptions about WSNs as follows.(1)
Network nodes are randomly and uniformly distributed in the monitored area and the deployed position of every node is fixed.
(2)
Sink node has unlimited available energy, but other nodes have the same initial limited energy.
(3)
Every network node has a unique node identifier and can get the location information.
(4)
Every network node has the same physical structure except sink node.
(5)
Every network node has the same communication radius; the communication link between two nodes is two-way; sensor node can communicate with sink node by power control.
(6)
The network is divided into clusters by the cluster-based routing mechanism; each cluster consists of a cluster head and some cluster members; the cluster head directly communicates with the sink node and manages or controls its cluster members; the entire network forms a hierarchical topology structure.The topology of WSNs can be regarded as a weighted undirected graphG
=
(
T
,
L
), where T
=
{
t
1
,
t
2
,
…
,
t
m
} is the set of all nodes; m is the number of network nodes; the communication link between thenode
t
i and thenode
t
j is expressed by L
i
j, where L
i
j
=
L
j
i
=
{
(
t
i
,
t
j
)
∣
(
t
i
,
t
j
)
∈
T
×
T
,
i
≠
j
} and L
=
{
L
i
j
∣
i
,
j
∈
(
1
,
m
)
,
i
≠
j
} is the set of the links between two arbitrary nodes.In cluster-based WSNs, the number of cluster heads generally has a direct impact on energy performance. When the number of cluster heads, which communicate with the sink node directly, is too much, the long-distance communications may increase the overall network energy consumption; when the number of cluster heads is too small, each cluster has a lot of nodes, and cluster heads may find it difficult to manage many nodes. Some cluster nodes come to premature death due to the long distance from the cluster head, which increases the energy consumption in data transmission.In this paper, the consumed energy of WSNs is evaluated by the energy model in LEACH [3]. We assume the M
×
M square as the monitored area, where N sensor nodes are randomly distributed and divided into K clusters, and the ideal number of nodes in each cluster is (
N
/
K
)
-
1. The energy consumption of one cluster head consists of three parts; data transmission consumption within its cluster, data fusion consumption, and transmission consumption of forwarding its cluster data to the sink node. Cluster heads are generally far from the sink node, and data transmission between the cluster head and the sink node produces multipath fading phenomenon, so the cluster head adopts multipath fading energy consumption model. The energy consumption of one cluster head [3] is
(1)
E
CH
=
(
N
K
-
1
)
×
m
×
E
elec
+
m
×
E
elec
+
N
K
×
m
×
E
DA
+
ε
amp
×
m
×
d
toSink
4
,
where m is the number of transmitted data bits, d
toSink is the distance between the cluster head and the sink node, E
elec is the energy consumption of transmitting one-unit bit data within one cluster, E
DA is the energy consumption of processing one-unit bit data, and ε
amp is the energy consumption of transmitting one-unit bit data to the sink node.The distance between two nodes in one cluster is near, so we adopt the free space energy consumption model within one cluster. The energy consumption of nodes sendingm-bit data to the cluster head is
(2)
E
nonCH
=
m
×
E
elec
+
ε
fs
×
m
×
d
toCH
2
,
where d
toCH means the distance between one node and its cluster head in one cluster and ε
fs is the energy consumption of the signal power amplifier per square meter. The region occupied by each cluster head may be approximated by a circular which sets the cluster head as the circle center and r
=
M
1
/
K
π as the circle radius, and the region area is M
2
/
K. Assuming nodes are evenly distributed within the region and the density function is ρ
(
t
,
θ
), where ρ
(
t
,
θ
)
=
K
/
M
2, we can get
(3)
d
toCH
2
=
E
(
d
toCH
2
)
=
ρ
(
t
,
θ
)
×
∫
0
r
∫
0
2
π
t
3
d
θ
d
t
=
M
2
2
π
K
.The energy consumption of all nodes within one cluster [3] is
(4)
E
cluster
=
E
CH
+
(
N
K
-
1
)
×
E
nonCH
≈
E
CH
+
N
K
×
E
nonCH
.The total energy consumption of the entire network [3] is
(5)
E
total
=
K
×
E
cluster
≈
N
×
E
nonCH
+
K
×
E
CH
.Taking the first derivative of (5) with respect to K gives us the optimal number of clusters:
(6)
K
=
M
d
toSink
2
N
×
ε
fs
2
×
π
×
ε
amp
.


## 4. SOFM Based Hierarchical Topology Control Algorithm

We propose an SOFM based hierarchical topology control algorithm (SOFMHTC) for WSNs, which uses self-learning characteristics of SOFM neural network. A network node acts as a neuron; the entire network is considered as multineurons structure, and the input layer consists ofN nodes. SOFMHTC consists of four phases:initializing network,establishing clusters,clustering optimization, andtransferring Data. The process of SOFMHTC is as follows.


### 4.1. Initializing Network

Sink node broadcasts “HELLO” packet in the entire network, and when one sensor node receives the “HELLO” packet, it broadcasts the “SEARCH” packet, which includes the information of its identifier and location and monitors the network. When one sensor node receives “SEARCH” packets transmitted by its neighbor nodes, it records the information of its neighbor node identifier, location, and the receiving signal strength from the “SEARCH” packets. Each node transmits the recorded information and its residual energy to sink node via flooding-based routing protocol. Sink node collects and acquires the information such as the identifier of all nodes, residual energy, the number of being elected as the cluster head, and the neighbor set.


### 4.2. Establishing Clusters

Sink node uses SOFM neural network training to generate cluster heads, and other sensor nodes evaluate the cost of each cluster head and join the cluster in which the cluster head has the minimum cost. In the SOFM neural network training, the competition vectorW
=
(
S
,
D
¯
,
E
,
K
), where S is the set of neighbor nodes, D
¯ is the average distance to the neighbor nodes, E is the residual energy, and K is the optimal number of cluster heads calculated by (6). Assuming the input vector is X
(
n
)
=
[
x
1
(
n
)
,
x
2
(
n
)
,
…
,
x
N
(
n
)
]
T and the link weight vector is W
(
n
)
=
[
w
1
(
n
)
,
w
2
(
n
)
,
…
,
w
N
(
n
)
]
T, the process of establishing clusters is as follows.


#### 4.2.1. Normalization

Sink node collects nodes’ initial information, sets the learning rate asα
(
0
), and normalizes the input vector X
(
n
) and the link weight vector W
(
n
). Consider
(7)
W
^
=
W
(
0
)
∥
W
(
0
)
∥
,
X
^
=
X
∥
X
∥
.


#### 4.2.2. Finding the Winning Node

The process of finding the winning node by sink node is just to determine the node with the maximum output value which is the nonlinear combination of the link weightw
i and the input value x
i. After the sink node makes the normalization of the input vector and the output vector, the value of output vector is equivalent to minimum Euclidean distance between normalized input vector and the link weight vector. If the input node has more residual energy and smaller average distance to its neighbor nodes, it has higher probability to become a cluster head. The sink node calculates each node’s output value and selects the node with the minimum distance as the winning node i
*. Consider
(8)
∥
X
^
-
W
^
i
*
∥
=
min
⁡
{
X
^
-
W
^
i
}
i
,
i
*
∈
{
1,2
,
…
,
N
}
.


#### 4.2.3. Determining the Winning Neighborhood of the Winner Node

Sink node adopts the Kohonen learning rule with the winning nodei
* as the anchor node to determine the neighborhood R
i
*
(
t
), where the link weights need to be adjusted. R
i
*
(
t
) is determined by the neighborhood function H
(
i
,
i
*
):
(9)
H
(
i
,
i
*
)
=
exp
⁡
(
-
(
i
-
i
*
)
2
σ
2
)
.


#### 4.2.4. Adjusting the Link Weights

In the winning neighborhood determined by (9), sink node updates link weight vector by the following equation to adjust the link weights:
(10)
W
^
i
(
t
+
1
)
=
W
^
i
(
t
)
+
Δ
W
^
i
,
Δ
W
^
i
=
α
(
t
)
×
H
(
i
,
i
*
)
×
(
X
^
-
W
^
i
(
t
)
)
.After adjusting the link weights, sink node readjusts the learning rate and the scope of the winning neighborhood and normalizes nodes’ link weights again. Consider(11)
α
(
n
)
=
α
(
0
)
×
(
1
-
t
T
)
,
R
i
*
(
t
)
=
R
i
*
(
0
)
×
(
1
-
t
T
)
,
W
^
i
(
t
+
1
)
=
W
i
(
t
+
1
)
∥
W
i
(
t
+
1
)
∥
.


#### 4.2.5. Determining the Cluster-Based Network Topology

When the times of network training have reached the predetermined maximum threshold, sink node stops the training, estimates the next retraining threshold time, and finishes determining the current cluster-based network topology consisting of the winning nodes; otherwise, SOFMHTC continues to run from (Section4.2.2).Sink node notifies the winning nodes as the cluster heads; then each head node broadcasts “BE HEAD” packet to notify that it is an available cluster head. After receiving “BE HEAD” packet, network nodes calculate the cost of each cluster head by (12), which is proportional to energy consumption of the cluster head and is inversely proportional to the distance to the cluster head. Network nodes join the cluster in which the cluster head has the minimum cost and send “JOIN” packet to the cluster head. When one cluster head receives “JOIN” packet, it notifies the packet source node that its request is approved. Consider
(12)
cost
(
i
,
j
)
=
η
×
E
0
-
E
CH
E
i
×
∑
d
2
(
i
,
j
)
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
i
,
j
∈
{
1,2
,
…
,
N
}
,
where E
CH is the residual energy of the cluster head, E
0 is the node initial energy, E
i is the node residual energy, η is the combined coefficient of energy and distance, and d
(
i
,
j
) is the distance between the node i and its cluster head j.


### 4.3. Clustering Optimization

After clustering WSNs using SOFM neural network, due to the random deployment of network nodes, the number and distribution of cluster member nodes are different; while all nodes adopt the same transmission power, we can adjust the cluster head transmit power to optimize the cluster head coverage and keep the cluster head power control in a reasonable level. According to the network topology information generated by SOFM neural network, sink node compares the current number of sensor nodes and the ideal number in each cluster; if the former is less than the latter, the transmit power of the cluster head will be properly increased; if the former is more than the latter, the transmitting power of the cluster head node will be properly reduced and when they have the equal value, the optimization of cluster-based network topology is completed.


### 4.4. Transferring Data

After the completion of clustering, each cluster head assigns time slots to its member nodes for transferring data by TDMA. When the next retraining threshold time has arrived, network nodes stop transferring data and SOFMHTC continues to run from (Section4.2.1).


## 4.1. Initializing Network

Sink node broadcasts “HELLO” packet in the entire network, and when one sensor node receives the “HELLO” packet, it broadcasts the “SEARCH” packet, which includes the information of its identifier and location and monitors the network. When one sensor node receives “SEARCH” packets transmitted by its neighbor nodes, it records the information of its neighbor node identifier, location, and the receiving signal strength from the “SEARCH” packets. Each node transmits the recorded information and its residual energy to sink node via flooding-based routing protocol. Sink node collects and acquires the information such as the identifier of all nodes, residual energy, the number of being elected as the cluster head, and the neighbor set.


## 4.2. Establishing Clusters

Sink node uses SOFM neural network training to generate cluster heads, and other sensor nodes evaluate the cost of each cluster head and join the cluster in which the cluster head has the minimum cost. In the SOFM neural network training, the competition vectorW
=
(
S
,
D
¯
,
E
,
K
), where S is the set of neighbor nodes, D
¯ is the average distance to the neighbor nodes, E is the residual energy, and K is the optimal number of cluster heads calculated by (6). Assuming the input vector is X
(
n
)
=
[
x
1
(
n
)
,
x
2
(
n
)
,
…
,
x
N
(
n
)
]
T and the link weight vector is W
(
n
)
=
[
w
1
(
n
)
,
w
2
(
n
)
,
…
,
w
N
(
n
)
]
T, the process of establishing clusters is as follows.


### 4.2.1. Normalization

Sink node collects nodes’ initial information, sets the learning rate asα
(
0
), and normalizes the input vector X
(
n
) and the link weight vector W
(
n
). Consider
(7)
W
^
=
W
(
0
)
∥
W
(
0
)
∥
,
X
^
=
X
∥
X
∥
.


### 4.2.2. Finding the Winning Node

The process of finding the winning node by sink node is just to determine the node with the maximum output value which is the nonlinear combination of the link weightw
i and the input value x
i. After the sink node makes the normalization of the input vector and the output vector, the value of output vector is equivalent to minimum Euclidean distance between normalized input vector and the link weight vector. If the input node has more residual energy and smaller average distance to its neighbor nodes, it has higher probability to become a cluster head. The sink node calculates each node’s output value and selects the node with the minimum distance as the winning node i
*. Consider
(8)
∥
X
^
-
W
^
i
*
∥
=
min
⁡
{
X
^
-
W
^
i
}
i
,
i
*
∈
{
1,2
,
…
,
N
}
.


### 4.2.3. Determining the Winning Neighborhood of the Winner Node

Sink node adopts the Kohonen learning rule with the winning nodei
* as the anchor node to determine the neighborhood R
i
*
(
t
), where the link weights need to be adjusted. R
i
*
(
t
) is determined by the neighborhood function H
(
i
,
i
*
):
(9)
H
(
i
,
i
*
)
=
exp
⁡
(
-
(
i
-
i
*
)
2
σ
2
)
.


### 4.2.4. Adjusting the Link Weights

In the winning neighborhood determined by (9), sink node updates link weight vector by the following equation to adjust the link weights:
(10)
W
^
i
(
t
+
1
)
=
W
^
i
(
t
)
+
Δ
W
^
i
,
Δ
W
^
i
=
α
(
t
)
×
H
(
i
,
i
*
)
×
(
X
^
-
W
^
i
(
t
)
)
.After adjusting the link weights, sink node readjusts the learning rate and the scope of the winning neighborhood and normalizes nodes’ link weights again. Consider(11)
α
(
n
)
=
α
(
0
)
×
(
1
-
t
T
)
,
R
i
*
(
t
)
=
R
i
*
(
0
)
×
(
1
-
t
T
)
,
W
^
i
(
t
+
1
)
=
W
i
(
t
+
1
)
∥
W
i
(
t
+
1
)
∥
.


### 4.2.5. Determining the Cluster-Based Network Topology

When the times of network training have reached the predetermined maximum threshold, sink node stops the training, estimates the next retraining threshold time, and finishes determining the current cluster-based network topology consisting of the winning nodes; otherwise, SOFMHTC continues to run from (Section4.2.2).Sink node notifies the winning nodes as the cluster heads; then each head node broadcasts “BE HEAD” packet to notify that it is an available cluster head. After receiving “BE HEAD” packet, network nodes calculate the cost of each cluster head by (12), which is proportional to energy consumption of the cluster head and is inversely proportional to the distance to the cluster head. Network nodes join the cluster in which the cluster head has the minimum cost and send “JOIN” packet to the cluster head. When one cluster head receives “JOIN” packet, it notifies the packet source node that its request is approved. Consider
(12)
cost
(
i
,
j
)
=
η
×
E
0
-
E
CH
E
i
×
∑
d
2
(
i
,
j
)
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
i
,
j
∈
{
1,2
,
…
,
N
}
,
where E
CH is the residual energy of the cluster head, E
0 is the node initial energy, E
i is the node residual energy, η is the combined coefficient of energy and distance, and d
(
i
,
j
) is the distance between the node i and its cluster head j.


## 4.2.1. Normalization

Sink node collects nodes’ initial information, sets the learning rate asα
(
0
), and normalizes the input vector X
(
n
) and the link weight vector W
(
n
). Consider
(7)
W
^
=
W
(
0
)
∥
W
(
0
)
∥
,
X
^
=
X
∥
X
∥
.


## 4.2.2. Finding the Winning Node

The process of finding the winning node by sink node is just to determine the node with the maximum output value which is the nonlinear combination of the link weightw
i and the input value x
i. After the sink node makes the normalization of the input vector and the output vector, the value of output vector is equivalent to minimum Euclidean distance between normalized input vector and the link weight vector. If the input node has more residual energy and smaller average distance to its neighbor nodes, it has higher probability to become a cluster head. The sink node calculates each node’s output value and selects the node with the minimum distance as the winning node i
*. Consider
(8)
∥
X
^
-
W
^
i
*
∥
=
min
⁡
{
X
^
-
W
^
i
}
i
,
i
*
∈
{
1,2
,
…
,
N
}
.


## 4.2.3. Determining the Winning Neighborhood of the Winner Node

Sink node adopts the Kohonen learning rule with the winning nodei
* as the anchor node to determine the neighborhood R
i
*
(
t
), where the link weights need to be adjusted. R
i
*
(
t
) is determined by the neighborhood function H
(
i
,
i
*
):
(9)
H
(
i
,
i
*
)
=
exp
⁡
(
-
(
i
-
i
*
)
2
σ
2
)
.


## 4.2.4. Adjusting the Link Weights

In the winning neighborhood determined by (9), sink node updates link weight vector by the following equation to adjust the link weights:
(10)
W
^
i
(
t
+
1
)
=
W
^
i
(
t
)
+
Δ
W
^
i
,
Δ
W
^
i
=
α
(
t
)
×
H
(
i
,
i
*
)
×
(
X
^
-
W
^
i
(
t
)
)
.After adjusting the link weights, sink node readjusts the learning rate and the scope of the winning neighborhood and normalizes nodes’ link weights again. Consider(11)
α
(
n
)
=
α
(
0
)
×
(
1
-
t
T
)
,
R
i
*
(
t
)
=
R
i
*
(
0
)
×
(
1
-
t
T
)
,
W
^
i
(
t
+
1
)
=
W
i
(
t
+
1
)
∥
W
i
(
t
+
1
)
∥
.


## 4.2.5. Determining the Cluster-Based Network Topology

When the times of network training have reached the predetermined maximum threshold, sink node stops the training, estimates the next retraining threshold time, and finishes determining the current cluster-based network topology consisting of the winning nodes; otherwise, SOFMHTC continues to run from (Section4.2.2).Sink node notifies the winning nodes as the cluster heads; then each head node broadcasts “BE HEAD” packet to notify that it is an available cluster head. After receiving “BE HEAD” packet, network nodes calculate the cost of each cluster head by (12), which is proportional to energy consumption of the cluster head and is inversely proportional to the distance to the cluster head. Network nodes join the cluster in which the cluster head has the minimum cost and send “JOIN” packet to the cluster head. When one cluster head receives “JOIN” packet, it notifies the packet source node that its request is approved. Consider
(12)
cost
(
i
,
j
)
=
η
×
E
0
-
E
CH
E
i
×
∑
d
2
(
i
,
j
)
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
i
,
j
∈
{
1,2
,
…
,
N
}
,
where E
CH is the residual energy of the cluster head, E
0 is the node initial energy, E
i is the node residual energy, η is the combined coefficient of energy and distance, and d
(
i
,
j
) is the distance between the node i and its cluster head j.


## 4.3. Clustering Optimization

After clustering WSNs using SOFM neural network, due to the random deployment of network nodes, the number and distribution of cluster member nodes are different; while all nodes adopt the same transmission power, we can adjust the cluster head transmit power to optimize the cluster head coverage and keep the cluster head power control in a reasonable level. According to the network topology information generated by SOFM neural network, sink node compares the current number of sensor nodes and the ideal number in each cluster; if the former is less than the latter, the transmit power of the cluster head will be properly increased; if the former is more than the latter, the transmitting power of the cluster head node will be properly reduced and when they have the equal value, the optimization of cluster-based network topology is completed.


## 4.4. Transferring Data

After the completion of clustering, each cluster head assigns time slots to its member nodes for transferring data by TDMA. When the next retraining threshold time has arrived, network nodes stop transferring data and SOFMHTC continues to run from (Section4.2.1).


## 5. Simulation and Results Analysis

We use Matlab to make the simulation in which the network consists of 200 sensor nodes randomly distributed in a200
m
×
200
m square area and a sink node locates at any corner. To evaluate the performance of SOFMHTC, simulation results are compared to those of LEACH [3], SEP [4], ECHERP [5], and SIR [11] using the same parameters as shown in Table 1.Table 1
Main parameter settings.
Parameters
Value
Network size:N
200
Initial learning rate:α
(
0
)
0.3
Training times threshold
20
Node energy:E
0
1 J
Network lifetime (rounds)
350
ε
amp
0.0013 pJ/bit/m4
ε
fs
100 pJ/bit/m2
E
elec
50 nJ/bit
E
DA
5 nj/bit
Packet length:m
3000 bitFigures2 and 3, respectively, show network average residual energy and the number of nodes that remain alive versus the network lifetime in rounds when SOFMHTC, LEACH, SEP, ECHERP, and SIR are applied. As shown from these figures, we find that the performance of SOFMHTC is considerably better than LEACH, SEP, ECHERP, and SIR at the same round. Compared with LEACH, SEP, and ECHERP, SOFMHTC uses competition learning of the SOFM neural network to optimize the number and distribution of the cluster head node. In the learning process, the sink node takes precedence to select the nodes with more residual energy, the least average distance to the neighbors as the cluster heads, and the cluster head selection reduces the energy consumption of the network and increases the lifetime of the network. As it has been shown in Figure 1, SOFMHTC has an 8.57% longer network lifetime than SIR which also uses SOFM neural network for QoS routing and topology control of WSNs. The cause of this effect can be found in the fact that, while SOFMHTC and SIR both use SOFM neural network training and learning to establish clusters, SOFMHTC adjusts the cluster head transmit power to optimize the cluster head coverage. Thus, the cluster head power control of SOFMHTC is kept in a more reasonable level than SIR, and the network topology optimization is achieved.Figure 2
Average residual energy versus network lifetime in rounds.Figure 3
Number of nodes alive versus network lifetime (rounds).


## 6. Conclusions

A well-designed topology control algorithm for WSNs can reduce energy consumption and the interference of communication among nodes to extend the network lifetime. SOFM neural network has self-organizing, self-learning features. In this paper, we apply SOFM neural network for topology control of WSNs and propose an algorithm, SOFMHTC, which completes the cluster head selection by the competitive learning among nodes and takes the node residual energy and the distance to the neighbor nodes into account in the clustering process. Then we dynamically adjust transmit power of the cluster head node using power control to optimize network energy consumption. Simulation results show that SOFMHTC may get a better energy-efficient performance with more residual energy and alive nodes than LEACH, SEP, ECHERP, and SIR in some application scenarios of WSNs.



---

*Source: 121278-2014-08-11.xml*