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. |