An Example of Hierarchical Sensor Network
The following diagram shows a typical hierarchical sensor network topology. In this example, we will see a Tcl code that can be used to create a three-level hierarchical wireless sensor network.

The Code Fragment used in the creation of the 3 level Hierarchical Sensor Network.
# variables which control the number of Sensor nodes, fusion nodes & base station and how they're grouped
# (see topology creation code below)
set NumberOfBaseStations 1 ;# Always 1 in this Project
set SizeOfBaseStationNode 50 ;#
set NumberOfFusionSensorNodes 7 ;#
set SizeOfFusionSensorNode 40 ;#
set NumberOfNormalSensorNodesPerLevel 20 ;#
set SizeOfNormalSensorNode 30 ;#
set NumberofLayersAt0Level 1 ;#
set GapBetweenNormalSensorNodes 75 ;#
set GapBetweenFusionSensorNodes 150 ;#
set DistanceBetweenFusionSensorNodesAndBaseStationNode 250 ;#
set DistanceBetweenFusionSensorNodesAndNormalSensorNodes 75 ;#
set TotalNodes [expr $NumberOfBaseStations + $NumberOfFusionSensorNodes + $NumberOfNormalSensorNodesPerLevel* $NumberofLayersAt0Level]
set ns [new Simulator]
# set up topography object
set topo [new Topography]
$topo load_flatgrid $val(x) $val(y)
#
# Create God
#
create-god $TotalNodes
# create the BS
set n(0) [$ns node]
$n(0) color "green"
$n(0) set X_ [expr $val(x)/2]
$n(0) set Y_ [expr $val(y)- 100 ]
$n(0) set Z_ 0.0
$ns initial_node_pos $n(0) $SizeOfBaseStationNode
# Create the Fusion Nodes
for {set j 0} {$j < $NumberOfFusionSensorNodes} {incr j} {
set i [ expr $j +1 ]
set n($i) [$ns node]
$n($i) color "blue"
$n($i) set X_ [expr ($val(x)/2 - $NumberOfFusionSensorNodes/2 * $GapBetweenFusionSensorNodes) + ($GapBetweenFusionSensorNodes *$j) ]
$n($i) set Y_ [expr $val(y)- 100 - $DistanceBetweenFusionSensorNodesAndBaseStationNode ]
$n($i) set Z_ 0.0
$ns initial_node_pos $n($i) $SizeOfFusionSensorNode
}
# Create the Normal Nodes
for {set k 0} {$k < $NumberofLayersAt0Level } {incr k} {
for {set j 0} {$j < $NumberOfNormalSensorNodesPerLevel} {incr j} {
set i [ expr $j + 1 + $NumberOfFusionSensorNodes + ($NumberOfNormalSensorNodesPerLevel * $k )]
set n($i) [$ns node]
$n($i) color "black"
$n($i) set X_ [expr ($val(x)/2 - $NumberOfNormalSensorNodesPerLevel/2 * $GapBetweenNormalSensorNodes) + ($GapBetweenNormalSensorNodes *$j) ]
$n($i) set Y_ [expr $val(y)- 100 - $DistanceBetweenFusionSensorNodesAndBaseStationNode - $DistanceBetweenFusionSensorNodesAndNormalSensorNodes - ($GapBetweenNormalSensorNodes * $k)]
$n($i) set Z_ 0.0
$ns initial_node_pos $n($i) $SizeOfNormalSensorNode
}
}
If we use the above segment of code in our simulation, then we can create topologies shown below.
A Three-Level Hierarchical Sensor Network Sensor network Simulated in ns2 and visualized in Nam.

A Three-Level Hierarchical Sensor Network Sensor network with 6 layers of normal sensor nodes at the 0th Level.

A Three-Level Hierarchical Sensor Network Sensor network with randomly placed sensor nodes at the 0th Level.

Discuss Through WhatsApp
















