Year: 2016, Volume: 16, Issue: 20
目的: 减少能量损耗,延长网络生命周期
了解基本思路
![第八周论文学习03 An Efficient Tree-based Power Saving Scheme for Wireless Sensor Networks with Mobile Sink 第八周论文学习03 An Efficient Tree-based Power Saving Scheme for Wireless Sensor Networks with Mobile Sink](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pJd01UVXVZMjVpYkc5bmN5NWpiMjB2WW14dlp5OHhNREl3TnpRMkx6SXdNVFl4TUM4eE1ESXdOelEyTFRJd01UWXhNREU0TWpFME5qRTNNemN6TFRFMk9UVTVOall3T1RNdWNHNW4uanBn.jpg?w=700&webp=1)
圆:传感器节点 框:Mobile Sink (大致原则是:距离越小,能耗越小。后面给出能耗的计算公式)
A节点肯定直接与Ms相连;
B节点到MS的距离大于BA的距离,所有选择A节点作为自己转发数据的下一个节点;B,C,D相同;
E节点到MS的距离是所有EC,EB,EA距离中最小的,所以选择直接与MS相连,达到节省能耗的目的。
最终结果如下图:
![第八周论文学习03 An Efficient Tree-based Power Saving Scheme for Wireless Sensor Networks with Mobile Sink 第八周论文学习03 An Efficient Tree-based Power Saving Scheme for Wireless Sensor Networks with Mobile Sink](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pJd01UVXVZMjVpYkc5bmN5NWpiMjB2WW14dlp5OHhNREl3TnpRMkx6SXdNVFl4TUM4eE1ESXdOelEyTFRJd01UWXhNREU0TWpFMU1ERTJNemN6TFRFeU5qUTFOek00TURrdWNHNW4uanBn.jpg?w=700&webp=1)
具体实现过程
模型建立
基本假设:
-----结点有三类:簇头(CH)、中继(hop node)、普通结点;
-----所有节点的位置信息可知(GPS等技术);
-----任意两个结点的距离是可以计算的;
-----每一轮的数据收集过程,移动结点(Mobile sink)都可以知道每一个节点的位置信息以及剩余能量;
基本公式
能耗的计算:
![第八周论文学习03 An Efficient Tree-based Power Saving Scheme for Wireless Sensor Networks with Mobile Sink 第八周论文学习03 An Efficient Tree-based Power Saving Scheme for Wireless Sensor Networks with Mobile Sink](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pJd01UVXVZMjVpYkc5bmN5NWpiMjB2WW14dlp5OHhNREl3TnpRMkx6SXdNVFl4TUM4eE1ESXdOelEyTFRJd01UWXhNREU0TWpFMU5ESTVNRFExTFRFMk1EQTROREV4T1M1d2JtYz0uanBn.jpg?w=700&webp=1)
-----1)转发消息的能耗计算公式;
-----2)接收消息的能耗计算公式;
------d表示两个结点间距,L表示L bits大小的数据,EDA表示数据融合与压缩时的能量消耗,εamp 放大器的能耗。
放大器能耗计算:
-----d0表示节点传输距离的阈值,εfs *空间传播模型;εamp 多路径衰减信道模型
核心算法: 动态排序成簇算法
1.Input:N,M //传感器节点数量,M表示给定区域的边长
2.Output:树-簇路由结构
3.初始化:total_energy=0,min_distance=√2 M,temporary result=null and hop_node_state=false
//剩余能量总和,初始值为0,;记录任意两个节点的最小距离变量
4.For (i=1;i<=N;i++)
5. Calculate d(i,MS) //计算节点i与移动节点间的距离
6. total_energy += energy[i]
7.End For //4-7 计算出所有节点的剩余能量
8.avg_energy = total_energy/N // 所有传感器节点的平均剩余能量
9.sorted_order[].node //根据d(i,MS)的升序排序
10.For (α=1,α<=N;α++)
11. Calculate d(sortrd_order[α].node,MS)
12. For(ß=1,ß<=α-1;ß++)
13. Calculate d(sorted_order[α].node,sorted_order[ß].node) //计算节点α,ß之间的距离,记为dα,β .节点与MS之间的距离分别为dα,MS dβ,MS
14. Calculate dβ,MS
15. If((dα,MS<dα,β)and hop_node_state == false)
16. hop_node_state == false
17. Else
18. If(min_distance>dα,β)
19. hop_node = sorted_order[β].node
20. hop_node_state = true
21. min_distance = dα,β
22. End If
23. End If
24. End For
25. If(hop_node_state == true)
26. sorted_order[α].node 连接到hop_node 并且暂时存储该状态
27. Else
28. sorted_order[α].node 自己链接到MS 并且暂时存储该状态
29. End If
30. min_distance = √2 M
31. hop_node_state = false
32. End For
33.存储的结果就是最终的树-簇路由结构