Content uploaded by Rajiv Vasantrao Dharaskar
Author content
All content in this area was uploaded by Rajiv Vasantrao Dharaskar on Apr 14, 2018
Content may be subject to copyright.
1
Abstract :
Sensor nodes are hardware devices and their source of energy is
battery power . Nodes store , forward , report various envir onment
related parameters to the sink , which is normally a base station
,thus monitor the environment using co-operative information .
Battery information , Location of neighbor information , Broadcast
information , collision information , signal strength information i s
needed to be stored at cluster head and at few node at each layer .
Finally , appropriate packet size is decided and broadcast radius is
decided . Then transmission is st arted . In thi s paper , a dynamic
approach is suggested to regulate and decide broadcast radius . It
can reduce collision . It can improve life span of network path and
nodes on the path .
Keywords: Battery ,Collision ,WSN ,Broadcast radius
1. Introduction
One of then most important performance index of routing
mechanism in wireless sensor networks is sensor's life span.
How we utilize limited energy in wireless sensor network,
directly affects the lifetime and cost of the network. As
sensors are energy constrained by batteries and located for
away from the access point. [1] A sensor dies if its battery
dies. Sensors are equipped with capabilities to store
information in memory, process information and
communicate with neighbors and with a base station. Since
the radio transmission consumes a lot of energy, we propose
network routing protocols to save energy to prolong the
sensor lifespan. Sensor networks consist of autonomous
devices that cooperatively monitor an environment. [2]
Recently Wireless Sensor Networks (WSN) have received a
lot of attention due to their wide applications both in military
and civil fields. The main roles of sensor nodes in the
network are to collect and report application-specific data to
the base station (BS), known as a "sink node." [3] Wireless
sensor network can be used in a wide variety of applications,
such as target detection and tracking in the battlefield
situations or habitat monitoring in remote areas.
2. Related work:
Few method would avoid the dedicated RF energy
suppliers that use some wireless sensor networks. It would be
especially useful in ultra-low power stand-alone nodes
(outdoor). [4] The energy flow is uninterrupted and a
capacitor can be slowly charged by means of a rectifier and
voltage multiplier. An average current up to 8uA has been
obtained from a 1.584MHz amplitude modulated radio signal.
Preliminary results indicate that the capacitor could power a
pulsed-load with a very low duty cycle. [5] The low power
wireless communication technology has enabled the
development of next generation low cost wireless sensor
network. [6] However, due to the sensors size, their
associated resources are limited. In such a context, the
main cause of energy dissipation is the use of the
wireless link. Solutions that minimize communication are
needed. A framework to manage efficiently data streams
is required. Various approach aims at saving energy by
capturing signals and compress them instead of sending
them in raw form. The algorithm also guarantees that the
compressed representation satisfies quality requirements
specified in terms of accuracy, precision, and timeliness.
Few method present the use of an appropriate metric
mapping function to turn a pre-existing min-delay routing
algorithm into max-min routing. Few method make
Directed Diffusion sensitive to the level of energy
remaining in the forwarding nodes. [7] The resulting
algorithm, Localized Max-Min remaining Energy
Routing (LMMER), is implemented in a network
simulation. We show that it significantly prolongs the
life of energy critical nodes.
The simulation results show that the sleep /
wake-up mechanism based on energy threshold setting
can be applied to wireless sensor networks very well with
obvious energy-saving. In wireless sensor networks,
clustering, a method of grouping sensor nodes, has
numerous advantages. [8] It can support network
scalability, reduce the size of the routing table stored at
the individual node and prolong the battery life of the
individual sensors and the network lifetime, etc. To
extend network lifetime and minimize additional
overheads in energy limited sensor networks, many
papers propose CH selection algorithm which selects CH
by utilizing only its information. Also, we evaluate the
performance of this scheme by using simulation, and
show that this proposed scheme considerably improves
network lifetime in WSN.
Generally sensors in such systems are small
devices with limited on-board energy supply, thus
efficient management of the network is crucial in
extending the life of the system.[9] Due to recent
advances in micro-electro-mechanical systems (MEMS)
technology, wireless sensor networks have emerged as
an important platform in a large number of applications.
A typical wireless sensor network may contain thousands
of sensors, sensor nodes in such systems are usually tiny,
battery-powered devices with limited on-board
wireless communication capabilities in allusion to the
network characteristic of wireless sensor network and
QoS constraints, such as, surplus energy of nodes, time
Broadcast and signal strength control for
energy management in WSN
Bhushan N. mahajan
Master of Engineering [WCC]
Computer Science Department
GHRCE , Nagpur
Dr. R.V. Dharaskar
Head of Department, CSE
Computer Science Department
GHRCE , Nagpur
Dr. V.M.Thakare
Head of Department,CSE
SGB Amaravati University
Amaravati
2
lapse , time lapse wobble, bandwidth and so on. Few
experiments take the maximal surplus energy for the first
measurement. [10] It considering the factors including
bandwidth of nodes, time lapse, time lapse wobble and so
on.It has brought forward multi-QoS constrained multicast
route algorithm .SEQMRA-W based on maximal nodes
surplus energy, the algorithmic realization process and the
step is given, and carry through the certification of
algorithmic validity and the analysis of complexity. Energy
consumption has fairly good characteristic.
3. Algorithm
Assign priorities to node for entering in execution slots
While ( neighbor_node_List )
a = n1->hops
b = n2->hops
if ( a < b ) {call sort_function(neighbor_List ,a , b); }
End While
While ( neighbor_node_List )
a = n1->layer
b = n2->layer
if ( a < b ) {call sort_function(neighbor_List ,a , b); }
End While
While ( neighbor_node_List )
a = n1->radius
b = n2-> radius
if ( a < b ) {call sort_function(neighbor_List ,a , b); }
End While
While ( neighbor_node_List )
a = n1->signal_strength
b = n2-> signal_strength
if ( a < b ) {call sort_function(neighbor_List ,a , b); }
End While
While ( neighbor_node_List )
a = n1->remaining_time
b = n2-> remaining_time
if ( a < b ) {call sort_function(neighbor_List ,a , b); }
End While
// Now the resulting node list is ready for entering in
execution slot .
Algorithm to detect collision :
Nodelist={all nodes as per pre-defined index};
Hierarchy _ I = {set of nodes in level I} ;
Hierarchy _II = {set of nodes in level II} ;
Hierarchy _III = {set of nodes in level III} ;
Hierarchy _IV = {set of nodes in level IV} ;
Threshold = x ; // pre-set
Send_Nodelist = nodelist;
Rev_Nodelist = nodelist;
SendDoneNodelist={set all zero} ;
RecvDoneNodelist={set all zero} ;
do
{
slot = new Slot();
// set flags here .
// flag may be Fwd or Rev
check_direction (node);
Fwd_send_collision_set = null;
Fwd_recv_collision_set = null;
Rev_send_collision_set = null;
Rev_recv_collision_set = null;
for each node in nodelist
{
node->u = check_ Hierarchy (node) ;
node->v = check_ Hierarchy _Energy_Level (node) ;
node->w = check_incoming_packet_seq_no (node) ;
node->x = check_rec_slots(node) ;
node->y = check_send_slots(node) ;
node->z = check_traffic_over (node) ;
if (
(node not in Fwd_send_collision_set)
& & (node->dest not in Fwd_recv_collision_set)
& & ( node->z not “over crowding” )
& & ( node->y not “0” )
& & ( node->x == “0” )
& & ( node->w == “No duplication” )
& & ( node->w == “Above_threshold” )
)
{
// 7 6 . 7=send , 6 =Recv
slot[node] = ‘‘SEND’’;
slot[node?dest] = ‘‘RECV’’;
// Nodes those will cause collision
Fwd_send_collision_set.add(
node->dest->neighbors.flag Fwd );
Fwd_send_collision_set.add(
node->dest.flag.Fwd);
// Nodes those will face collision
Fwd_recv_collision_set.add(
Node.flag Fwd);
Fwd_recv_collision_set.add(
node->neighbors.flag Fwd);
// Nodes those will cause collision
Rev_send_collision_set.add(
node->dest->neighbors.flag Rev );
Rev_send_collision_set.add(
node->dest.flag.Rev);
// Nodes those will face collision
Rev_recv_collision_set.add(
node->neighbors.flag Rev);
change_priority_algo(node->dest->recv);
SendDoneNodelist.addtoLastPos(node);
RecvDoneNodelist.addtoLastPos(node?Dest);
3
Send_Nodelist.Remove(node);
Recv_Nodelist.Remove(node?Dest);
If ( decide_(collision , threshold ) > 1 )
{
Node_List = Recv_Nodelist.
}
else
{
Node_List = Send_Nodelist.
}
} // if
} // for
frame.add(slot);
} while (slot.length > 0)
// do
4. Experiment:
Node 0 .< Layer 1 Packet_size = 60 KB
N Hops Layer B_redius
_required
Signal_
strength
Rema
ining
Time
1 1 1 3.99 meters 27.99 6.00
2 1 1 4.99 meters 26.87 7.00
3 1 1 2.99 meters 22.77 4.00
4 1 1 1.99 meters 22.51 2.00
5 1 1 3.99 meters 25.54 7.00
6 1 1 2.99 meters 22.53 3.00
7 1 1 1.99 meters 20.78 2.00
8 1 1 4.99 meters 29.33 4.00
Node 0 .< Layer 2 Packet_size = 50 KB
N Hops Layer B_redius
_required
Signal_
strength
Rema
ining
Time
8 2 2 13.99 meters 14.88 23.00
9 2 2 15.99 meters 17.45 33.00
Node 0 . Layer 3 Packet_size = 40 KB
N Hops Layer B_redius
_required
Signal_
strength
Rema
ining
Time
11 3 3 23.99 meters 9.65 42.00
12 3 3 20.99 meters 5.09 46.00
13 3 3 19.99 meters 3.90 43.00
14 3 3 21.99 meters 7.77 53.00
15 3 3 22.99 meters 8.90 62.00
Let us start from the location , where the format function will
get called in NS-2.
void CMUTrace::format(Packet* p, const char *why)
{
hdr_cmn *ch = HDR_CMN(p);
int offset = 0;
/*
* Log the MAC Header
*/
format_mac_common(p, why, offset); // <<<<<
if (pt_->namchannel())
nam_format(p, offset);
offset = strlen(pt_->buffer());
switch(ch->ptype()) {
......
} }
Figure 1. Three Clusters and their broadcast radius .
Since , NS-2 is a simulator , it provide us flexibility to
carry out experiment by assigning various values to
parameters.[11] Those parameters may exist in real life
scenario. Sometimes , they may not exist .We can assume
some virtual parametes that may not exist .Our primary
goal of experiment is to consider each and every detail of
existing as well as virtual entities .Then we test our
system by using them . Finally we put forward our
conclusion . Here , we have done following assumptions
regarding the broadcast radius. Within trace/cmu-trace.cc
file , we tried to use user defined broadcast redius .Hence
we have modified following following function as given
below .
void CMUTrace::calculate_broadcast_parameters() {
// Calculate the maximum distance at which a packet can
be received
// based on the two-ray reflection model using the current
default
// values for Phy/WirelessPhy and
Antenna/OmniAntenna.
//Antennas to be centered in the node and 1.5 meters
above it
// Initialize the SharedMedia interface with parameters to
make
// it work like the 914MHz Lucent WaveLAN DSSS
radio interface
// Antenna/OmniAntenna set X_ 0
// Antenna/OmniAntenna set Y_ 0
// Antenna/OmniAntenna set Z_ 0.5
// Phy/WirelessPhy set CPThresh_ 10.0
// Phy/WirelessPhy set CSThresh_ 1.559e-11
// Phy/WirelessPhy set RXThresh_ 3.652e-10
// Phy/WirelessPhy set Rb_ 2*1e6
// Phy/WirelessPhy set Pt_ 0.2818
4
// Phy/WirelessPhy set freq_ 914e+6
// Phy/WirelessPhy set L_ 1.0
// Antenna/OmniAntenna set Gt_ 1.0
// Antenna/OmniAntenna set Gr_ 1.0
double P_t, P_r, G_t, G_r, h, L,bcastred;
double PI,freq,lambda,crossover_dist;
bcastred=0.0;
PI = 3.14159265359;
Tcl& tcl = Tcl::instance();
// ...............................................................
tcl.evalc("Phy/WirelessPhy set Pt_") ;
P_t = atof(tcl.result()) ;
tcl.evalc("Phy/WirelessPhy set RXThresh_");
P_r = atof(tcl.result()) ;
tcl.evalc("Phy/WirelessPhy set L_") ;
L = atof(tcl.result());
tcl.evalc("Antenna/OmniAntenna set Gt_");
G_t = atof(tcl.result()) ;
tcl.evalc("Antenna/OmniAntenna set Gr_");
G_r = atof(tcl.result()) ;
tcl.evalc("Antenna/OmniAntenna set Z_");
h = atof(tcl.result()) ;
tcl.evalc("Phy/WirelessPhy set freq_");
freq = atof(tcl.result()) ;
tcl.evalc("CMUTrace set radius_scaling_factor_");
radius_scaling_factor_ = atof(tcl.result()) ;
tcl.evalc("CMUTrace set duration_scaling_factor_");
duration_scaling_factor_ = atof(tcl.result()) ;
tcl.evalc("CMUTrace set bcastred");
bcastred = atof(tcl.result()) ;
//...............................................................
lambda = 3.0e8/freq;
crossover_dist = (4 * PI * h * h) / lambda;
bradius = pow(P_t*G_r*G_t*pow(h,4.0)/(P_r*L), 0.25);
// i have allowed user to supply specific value of broadcast
redius .
// Instead of using calcullated value , I have used user's
specified value here .
bradius=bcastred;
if (bradius < crossover_dist) //need re-calculation
bradius = pow(P_t * G_r * G_t * pow(lambda, 2.0)/(P_r * L),
0.5)/(4 * PI);
bradius=bcastred;
}
Here , the broadcast redius function will get called in
trace/cmu-trace.cc file. I have tried to show few more
parameters in out.tr trace file .
if (thisnode) {
if (thisnode->energy_model()) {
// log detailed energy consumption
// total energy and breakdown in idle, sleep, transmit and
receive modes
calculate_broadcast_parameters();
double radius = bradius*radius_scaling_factor_;
double duration =
(bradius/299792458.0)*duration_scaling_factor_;
offset = strlen(pt_->buffer());
sprintf(
pt_->buffer() + offset,
"[energy %f ei %.3f es %.3f et %.3f er %.3f]
[-bradius %.2f -radius_scaling_factor %.2f -radius %.2f ]
[-duration_scaling_factor %.2f -duration %.2f ] ",
thisnode->energy_model()->energy(),
thisnode->energy_model()->ei(),
thisnode->energy_model()->es(),
thisnode->energy_model()->et(),
thisnode->energy_model()->er(),
bradius,radius_scaling_factor_,
radius,
duration_scaling_factor_,
duration );
}
}
Figure 2. Three layer of Clusters and remaining energy .
Then i created a scenario as shown in figure below .
Here , i have given tcl code to use above function .
# set up for hierarchical routing
$ns_ node-config -addressType hierarchical
AddrParams set domain_num_ 3
# number of domains
lappend cluster_num 1 1 1
# number of clusters in each domain
lappend eilastlevel 4 4 4
# number of nodes in each cluster
AddrParams set cluster_num_ $cluster_num
AddrParams set nodes_num_ $eilastlevel
# create God
create-god $num_of_nodes
# Configure for ForeignAgent and HomeAgent nodes
#create wired nodes
set temp {0.0.0 0.0.1 0.0.2 0.0.3}
;# hierarchical addresses domain 0
set temp1 {1.0.0 1.0.1 1.0.2 1.0.3}
;# hierarchical addresses domain 1
set temp2 {2.0.0 2.0.1 2.0.1 2.0.3}
;# hierarchical addresses domain 2
set W(0) [$ns_ node [lindex $temp 1]]
set W(1) [$ns_ node [lindex $temp1 1]]
set W(2) [$ns_ node [lindex $temp2 1]]
5
$ns_ node-config -mobileIP ON \
-adhocRouting $opt(adhocRouting) \
-llType $opt(ll) \
-macType $opt(mac) \
-ifqType $opt(ifq) \
-ifqLen $opt(ifqlen) \
-antType $opt(ant) \
-propType $opt(prop) \
-phyType $opt(netif) \
-channelType $opt(chan) \
-topoInstance $topo \
-wiredRouting ON \
-agentTrace ON \
-routerTrace ON \
-macTrace OFF
set BS(0) [$ns_ node [lindex $temp 0]]
set BS(1) [$ns_ node [lindex $temp1 0]]
set BS(2) [$ns_ node [lindex $temp2 0]]
$ns_ node-config -wiredRouting OFF \
-energyModel $opt(energymodel) \
-idlePower 0.2 \
-rxPower 0.2 \
-txPower 0.2 \
-sleepPower 0.000 \
-transitionPower 0.7 \
-transitionTime 0.007 \
-initialEnergy $opt(initialenergy)
# Various broadcsat redius we can use for various
experiments .
CMUTrace set bcastred 10.0;
set node_(0) [ $ns_ node [lindex $temp 2] ]
set node_(1) [ $ns_ node [lindex $temp 3] ]
set node_(2) [ $ns_ node [lindex $temp1 2] ]
set node_(3) [ $ns_ node [lindex $temp1 3] ]
set node_(4) [ $ns_ node [lindex $temp2 2] ]
set node_(5) [ $ns_ node [lindex $temp2 3] ]
set CH1address
[AddrParams addr2id [$BS(0) node-addr]]
set CH2address
[AddrParams addr2id [$BS(1) node-addr]]
set CH3address
[AddrParams addr2id [$BS(2) node-addr]]
[$node_(0) set regagent_] set home_agent_ $CH1address
[$node_(1) set regagent_] set home_agent_ $CH1address
[$node_(2) set regagent_] set home_agent_ $CH2address
[$node_(3) set regagent_] set home_agent_ $CH2address
[$node_(4) set regagent_] set home_agent_ $CH3address
[$node_(5) set regagent_] set home_agent_ $CH3address
I have created perl script and sepereted column 1, 5 and 1,8
and 1,10 in seperate files . i used those files as input files for
xgraph executable .
exec xgraph
/root/Desktop/sample4.tr
/root/Desktop/sample5.tr
/root/Desktop/sample6.tr -geometry 800x400 &
5. Discussion
NMR packet is sent to neighbor nodes by cluster head .
Neighbor will fill all required details of signal strength.
signal strength is also one of the attribute .This NMR
packet will be sent back to cluster head . [12] Cluster
head will calculate Broadcast radius based on signal
strength of neighbor . Broadcast radius is calculated and
filled in chart . Based on broadcast radius , various other
fields are also calculated . Packet size is decided based on
broadcast radius . Data forwarding rate is depend on
broadcast radius .Data transmission rate is depend on
broadcast radius . Header size is decided based on
broadcast radius . Payload is depend on broadcast radius
Energy calculation is depend on broadcast radius
.Collision can be minimized due to dynamically
controlling broadcast radius . Avoiding the break up of
cluster .Adjust signal strength to minimize consumption
of energy . [13] Adjust broadcast radius to minimize
consumption of energy Being near to threshold value of
remaining energy , avoid usage of that path and nodes
on hat path .When a battery is set to work , chemical
energy is converted into electrical energy .Energy is
measured using Joul .Unit of power is watt
1 Joul = 10 e 7 Er
1 Joul = 1 volt * 1 ampere * 1 second
Watt = Volts * Ampere
= (Ampere * Resistance ) * Ampere
= ( Ampere ) 2 * Resistane
1000 Watts = 1 K.W.
Work Done = EMF * Current * Duration
Watt hours = Volts * Ampere * Duration_in_hours
Energy Required for transmission =
Duration_of_transmission * Tr. Power *
Distance_coverd
where ,
Distance_coverd = broadcast_radius
Duration_of_transmission is deducted from remaining
Transmission power = Signal_strength / 2 ..
6. Result:
Cluster head can communicate with node 0 in two hops.
Scheduling information can be stored at node 0. Task of
node is to dispatch packet up to cluster head in two hops.
It is now node0 task to forward packet up to destination
in two hops only . Hierarchical addressing can be also
used . Probability of send , probability of receive ,
probability of idle , probability of Sleep are depend on
four important factors .Data forward rate , data arrival
rate , delay or waiting time , time spend in wake up . The
more improved topology construction is suggested above
include delay avoidance trategy . Few other strategies
that can be adopted are also suggested below .
6
Figure 3. Energy drop of Nodes at Layer 1
Figure 4. Energy drop of Nodes at Layer 2
Figure 5. Energy drop of Nodes at Layer 3
As shown in figure 2, we can create topology. Node 0 is
currently acting as cluster head . Its task can be handed over
to any other node which is at one hop distance from node 0 .
Node in square boundary can act as cluster heads of their own
clusters. They can communicate to other cluster head by
using node 0 using two hops . Node 3,5,1,16 are still
available for forming new cluster .
Division of task can be designed at different level
Level 0 = Scheduling information
Level 1 = Routing information .
Level 3= Energy, collision set information
Five levels of power should be decided at each node.
Level 1 = sleep mode
Level 2 = forward data
Level 3 = receive data
Level 4 = send data to neighbor.
Level 5 = send data up to cluster head .
Level 6 = send busy tone .
Three types of sleep periods should be created
Level 1 = data to be send after x unit of time .
Level 2 = data to be stored after x unit of time .
Level 3 = data to be forwarded after x unit of time .
Three levels of power should be decided at each node.
Level 1 = Nodes those are at one hop .
Level 2 = Nodes those are at two hop .
Level 3 = Nodes those are at three hop .
Conclusion :
At layer 1 , consumption of energy is more . At layer 2 ,
consumption of energy is slightly less . At layer 3 ,
consumption of energy is low . Adjusting the operation
mode of the nodes in wireless sensor networks can
extend the networks lifetime effectively.
Reference :
[1] V. Raghunathan, C. Schurghers, S. Park, M.
Srivastava,“Energy-aware Wireless Microsensor
Networks”, IEEE Signal Processing Magazine, March
2002, pp. 40-50.
[2] G. Pottie, W. Kaiser, “Wireless Integrated Network
Sensors, Communication of ACM, Vol. 43, N. 5, pp. 51-
58, May 2000.
[3] I. Akyildiz, W. Su, Y. Sankarasubramaniam and E.
Cayirci, “Wireless Sensor Networks: a Survey”,
Computer Networks , Volume 38, N. 4, March 2002.
[4] IEEE Pervasive Computing, “Energy Harvesting and
Conservation”, Vol. 4, Issue 1, Jan-Mar. 2005.
[5] A. Kansal, J. Hsu, V. Raghunathan, J. Friedman, and
M.B. Srivastava, UCLA Energy-Harvesting Project,
http://nesl.ee.ucla.edu/projects/heliomote.
[6] L. Doherty, B.A. Warneke, B.E. Boser, K.S.J. Pister,
“Energy and Performance Considerations for Smart
Dust,” International Journal of Parallel Distributed
Systems and Networks, Volume 4, Number 3, 2001, pp.
121-133.
[7] J.A. Paradiso and T. Starnar, “Energy Scavenging for
Mobile and Wireless Electronics”, IEEE Pervasive
Computing, Vol. 4, Issue 1, pp.18-26, Jan-Mar. 2005.
[8] J. Krikke, “Sunrise for Energy Harvesting Products”,
IEEE Pervasive Computing, Vol. 4, Issue 1, pp. 4-8, Jan-
Mar. 2005.
[9] M. Philipose, J.R. Smith, B. Jiang, A. Mamishev, S.
Roy, and K. Sundara-Rajan, “Battery-Free Wireless
Identification and Sensing”, IEEE Pervasive Computing,
Vol. 4, Issue 1, pp. 37-45, Jan-Mar. 2005.
[10] C. Schurgers, V. Tsiatsis, M. B. Srivastava, “STEM:
Topology Management for Energy Efficient Sensor
Networks”, IEEE Aerospace Conference '02, Big Sky,
MT, March 10-15, 2002.
[11] S. Roundy, E.S. Leland, J. Baker, E. Carleton, E.
Reilly,E. Lai, B. Otis, J.M. Rabaey, P.K. Wright, and V.
Sundararajan, “Improving Power Output for Vibration-
Based Energy Scavengers”, IEEE
[12] Y. Xu, J. Heidemann, D. Estrin, “Geography-
informed Energy Conservation for Ad Hoc”, Proc. ACM
MobiCom 2001, pp. 70 – 84. Rome, 2001.
[13] P. Santi, “Topology Control in Wireless Ad Hoc and
Sensor Networks, ACM Computing Survey, Vol. 37, n.
2, p. 164-194, June 2005.