Delay Measurement Time Synchronization
For Wireless Sensor Networks
A synchronized network time is essential for energy efficient scheduling, data fusion, localization and many other wireless sensor networks (WSN) applications. This paper studies the special issue of time synchronization in tiny sensor networking devices and presents a Delay Measurement Time Synchronization (DMTS) technique applicable for both single hop and multi-hop wireless sensor networks. DMTS is flexible and lightweight. For a single hop WSN of n nodes, it takes only one time broadcast to synchronize the network regardless the value of n. As aresult it adds minimum network traffic and is energy efficient, because radio communication is a significant source of energy-consumption in a WSN. For a multi-hop WSN of n nodes, DMTS requires n time message exchanges in total in order to synchronize the whole network.
DMTS is implemented in Berkeley motes within Tiny OS framework. It is a service available
to TinyOS applications. Our test results show that DMTS achieves a time synchronization
accuracy of 1 clock tick in single-hop WSNs. For a 2 hop WSN, the average time
synchronization error is approximately 1.5 clock ticks.
DMTS scheme is currently used in several applications running on Berkeley motes to provide
network timestamps and global scheduling
Algorithm
1. deploy uniform random node distribution
i. unknown positions of sensor nodes
(for GSP or RSP strategy)
(or)
ii. known positions of sensor nodes
(for ISP, GASP or MonteCarlo strategy)
calculate candidate locations
2. iteration:
i. place sensor nodes
ii. place sink strategy
iii. connect all nodes
iv. check connectivity of network
v. choose the nearest sink
vi. calculate the maximum delay
3. repeat 2 according to the sink placement strategy
4. select the locations with minimum worst-case delay
######################################################################
A = [ 0 5.518 0 0 0 8.276 13.794 0 0 0 0 0 0 0;
4.622 0 4.622 0 0 0 13.865 0 0 0 0 0 0 0;
0 1.241 0 3.724 0 0 7.448 0 0 0 0 0 0 0;
0 0 1.442 0 2.883 0 5.766 0 4.325 0 0 0 0 0;
0 0 0 3.068 0 1.524 6.136 4.602 0 0 0 0 0 0;
1.616 0 0 0 4.848 0 9.696 0 0 0 0 0 0 0;
6.350 6.350 6.350 6.350 6.350 6.350 2.540 0 0 0 0 0 0 22.859;
0 0 0 0 1.260 0 0 0 2.520 0 0 0 3.779 5.039;
0 0 0 1.274 0 0 0 2.549 0 3.823 0 0 0 5.097;
0 0 0 0 0 0 0 0 1.646 0 2.469 0 0 1.646;
0 0 0 0 0 0 0 0 0 1.877 0 2.503 0 1.252;
0 0 0 0 0 0 0 0 0 0 2.390 0 1.792 1.195;
0 0 0 0 0 0 0 1.195 0 0 0 1.793 0 4.780;
0 0 0 0 0 0 4.252 4.252 4.252 6.378 7.654 7.654 6.378 1.701;
];
L = [];
U = [];
S = [20 20 30 30 30 30 60 30 30 20 20 20 20 60];
for i = 1:14
s=0;
u=0;
k=0;
for j = 1:14
s = s + A(j,i);
if(A(i,j)~=0)
u = u + S(j);
end
end
L = [L,s];
U = [U,u];
end
E = [];
for i = 1:14
s = L(i)/(U(i)-L(i));
E = [E,s];
end
P = [];
n = input('No. of nodes in path : ');
for i = 1:n
k = input('Node : ');
P = [P,k];
end
delay = 0;
for i = 1:n
delay = delay + E(P(i));
end
#####################################################################
Post a Comment