Research Article

A Cluster-Based Fuzzy Fusion Algorithm for Event Detection in Heterogeneous Wireless Sensor Networks

Algorithm 1

Pseudocode of cluster based fuzzy fusion algorithm (CBFFA).
Notations:
BS: the base station
: the number of static nodes in cluster
, : initial energy of cluster members and CH respectively
: average remaining energy of members in cluster
, : weighting factors of cluster member and CH, satisfying
: average remaining energy of cluster
: a predefined threshold to determine a cluster will join fusion or not
meansBasedClustering(nodes): the clustering algorithm based on -means proposed in this paper
FusionSupportDegree(): the chance of a cluster to participate in the final decision-level fusion
LocalDecision(): intra-cluster fusion and local decision performed by
DecisionLevelFusion(): the process of decision-level fusion conducted by BS
Initialization clustering phase:
(1) Deploy all the nodes (both the static nodes and mobile nodes) randomly in the sensing filed.
(2) For each static node do
(3)  Send its location to BS via multi-hop routing
(4)  Vector_staticNodes()
(5) End for
(6) For each mobile node do
(7)  Send its location to BS via multi-hop routing
(8)  Vector_mobileNodes()
(9) End for
(10) meansBasedClustering(matrix_nodes);
Event detection phase:
(1) If an event occurs
(2)Then the first node that detect the event sent its location to BS var multi-hop routing
(3)For each cluster head
(5)End for
(6)For each in
(7)  Send its remaining energy to
(8)End for
(9)For each
(10) , 
(11) Send to BS
(12) End for
(13) For each cluster head
(14)   FusionSupportDegree();
(15)   If
(16)  Then
(17)     LocalDecision();
(18)     is sent to BS
(19)  Else
(20)    turns on sleep mode
(21)  End If
(22) End For
(23)  DecisionLevelFusion();
(24) End If
Event alert phase:
(1) BS makes the corresponding early warning information according to decision-level fusion result.