智能系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.5 实验:WSN——节点分簇聚合模拟

2.5.1 实验目的

(1)了解Python的基本编程环境。

(2)了解Python程序的基本框架。

(3)对于Python如何实现一个WSN——对节点分簇聚合有整体认识。

(4)运行程序,查看结果。

2.5.2 实验要求

(1)熟悉Python的基本编程环境。

(2)用代码实现WSN——节点分簇聚合功能。

2.5.3 实验原理

(1)实验场景:给定WSN的节点数目,节点随机分布,根据 LEACH算法实现每轮对WSN的分簇。

(2)记录前k轮(本实验k=10)或绘制第k轮网络的分簇情况,即每个节点的角色(是簇头还是簇成员)及其关系,如果是簇成员,则标记其所属的簇头。

(3)实验中需要注意,节点数目不宜过小,本实验N=100;每轮只完成分簇,不考虑通信过程;每轮结束可以以定时器确定,也可以以完成当轮分簇为准。

(4)簇成员在寻找簇头时,以距离作为接收信号强弱的判断依据;约束条件为当选为簇头的节点在以后几轮的分簇中不再成为簇头。

2.5.4 实验步骤

本实验的实验环境为Python 2.7的环境。代码如下。

1.主程序

2.判断距离函数

3.生成随机节点集

4.根据LEACH算法选择簇头节点

5.节点分簇算法

6.绘制分类图

2.5.5 实验结果

实验运行结果如图2-16所示。

图2-16 实验运行结果