发明内容
本发明是为了解决当前的无线传感器网络的能量建模都是从通信模块或处理器的角度考虑,没有对系统能耗情况的分析,不能准确反应无线传感器网络中节点耗能的情况,提出的一种无线传感器网络能耗仿真工具及其仿真方法。
无线传感器网络能耗仿真工具,它包括仿真平台模块、感知业务模块、无线信道模块和节点能耗模块,
所述仿真平台模块,用于设定无线传感器网络的无线电传播环境,并根据设定的无线电传播环境从无线信道模块中选择相应的无线信道模型;还用于设定感知业务,并将选择的无线信道模型和设定的感知业务信息发送给感知业务模块,还用于根据设定的无线电传播环境和节点能耗模块发送的节点能耗信息统计获得所模拟的无线传感器网络的能耗信息;
感知业务模块,用于在仿真平台模块发送无线信道模型下模拟相应的感知业务,还用于在模拟感知业务的过程中,在模拟数据发送过程时发送业务相关信息给节点能耗模块;
无线信道模块,用于存储多种现有无线电传播环境及其对应的无线信道模型;不同的信道环境对信号损失的影响不同,信号干扰和丢包率等指标都不相同,因此不同的信道环境需要使用不同的信道模块;
节点能耗模块,用于在接收到发送业务信息时,根据相应节点的工作能耗信息和发送业务信息模拟该节点的能耗信息,并将该节点信息及该节点的能耗信息发送给仿真平台模块。
基于无线传感器网络能耗仿真工具的网络能耗仿真方法为:
初始化过程:在仿真平台模块上设定待模拟的无线网络的无线电传播环境,并根据所述无线电传播环境在无线信道模块选择相应的无线信道模型,
在仿真平台模块上设定感知业务,并将所述感知业务和无线信道模型发送给感知业务模块,使所述感知业务模块建立相应的感知业务模型;
节点能耗模块设定待模拟的无线网络中各个节点的工作能耗信息;
仿真过程:仿真平台模块启动仿真过程,感知业务模块运行感知业务模型,并在每次启动数据发送过程时发送感知业务信息给节点能耗模块,所述节点能耗模块根据感知业务信息模拟相应节点执行该次业务的能耗,并将所述能耗及其对应的节点信息发送给仿真平台模块,所述仿真平台模块统计节点能耗模块发送的所有节点的能耗,最终获得无线网络的能耗。
本发明的研究有效的弥补了当前WSN基础理论研究中的缺陷,为已有的网络仿真工具平台提供准确的系统能耗分析仿真工具和能耗分析评估方法,准确仿真无线传感器网络中节点的能耗情况。本发明根据无线传感器网络的应用特点,采用数学理论计算和实测网络分析相结合的手段,建立起符合无线传感器网络典型应用的数学模型。本发明基于NS2(Network Simulator,version2)仿真平台上自主开发仿真工具,在本仿真工具中应用上述数学模型,评估WSN能耗。这种仿真方法为构建能量有效的无线传感器网络拓扑结构提供指导,为实现无线传感器服务质量体系下的高层通讯协议提供理论基础。同时,这种仿真方法也为评估实际应用中的通讯协议,分析网络与协议性能,为不同环境下的网络协议选择提供科学依据。本发明建立的仿真工具,将最终服务于不同领域的无线传感器网络实际应用。
具体实施方式
具体实施方式一、结合图1说明本实施方式,无线传感器网络能耗仿真工具,它包括仿真平台模块1、感知业务模块2、无线信道模块3和节点能耗模块4,
所述仿真平台模块1,用于设定无线传感器网络的无线电传播环境,并根据设定的无线电传播环境从无线信道模块3中选择相应的无线信道模型;还用于设定感知业务,并将选择的无线信道模型和设定的感知业务信息发送给感知业务模块2,还用于根据设定的无线电传播环境和节点能耗模块4发送的节点能耗信息统计获得所模拟的无线传感器网络的能耗信息;
感知业务模块2,用于在仿真平台模块1发送无线信道模型下模拟相应的感知业务,还用于在模拟感知业务的过程中,在模拟数据发送过程时发送业务相关信息给节点能耗模块4;
无线信道模块3,用于存储多种现有无线电传播环境及其对应的无线信道模型;不同的信道环境对信号损失的影响不同,信号干扰和丢包率等指标都不相同,因此不同的信道环境需要使用不同的信道模块;
节点能耗模块4,用于在接收到发送业务信息时,根据相应节点的工作能耗信息和发送业务信息模拟该节点的能耗信息,并将所该节点信息及该节点的能耗信息发送给仿真平台模块1。
本实施方式中,感知业务信息包括节点在何时、何地的数据发送行为,所述数据发送行为是指周期性的数据发送行为或突发性的数据发送行为,所述数据发送行为包括产生数据行为和发送数据行为。
本实施方式中,无线电传播环境包括指室内环境、市区环境、森林环境、丘陵环境、雨天环境和晴天环境。
本实施方式中,相应节点的工作能耗信息包括:节点信息、该节点的电源剩余能量信息、该节点中个硬件模块的能耗信息。
本实施方式中,发送业务信息包括节点信息和发送数据的长度信息。
具体实施方式二、结合图1说明本实施方式,本实施方式与具体实施方式一的区别在于:它还包括数据回收统计模块5和输出显示模块6,仿真平台模块1的仿真数据输出端与数据回收统计模块5的仿真数据输入端相连接,数据回收统计模块5的仿真数据统计结果输出端与输出显示模块6的仿真数据统计结果输入端相连接。
具体实施方式三、结合图1说明本实施方式,本实施方式与具体实施方式一的区别在于:仿真平台模块1采用NS2仿真工具实现。
具体实施方式四、本实施方式与具体实施方式一的区别在于:所述能耗模块4所模拟的工作能耗信息中的每个节点的硬件模块的能耗信息,是指模拟实际硬件节点工作工程中各个硬件模块的能耗,例如实际节点的结构为:节点能耗模块4包括无线收发模块7、微控制器模块8和传感器模块9,无线收发模块7接收监听结果和无线传感器节点间的通信控制结果,将接收到的结果信号传送给微控制器模块8,微控制器模块8的控制命令输出端与传感器模块9的控制命令输入端相连接,传感器模块9采集待检测的信息,将待检测数据信息传送给微控制器模块8,微控制器模块8的待检测数据信息信号输出端与无线收发模块7的待检测数据信息信号输入端相连接。能耗模块4所模拟的就是无线收发模块7在发送数据是的能耗、微控制器模块8在处理数据过程中的能耗和传感器模块9在工作状态下的能耗。
本实施方式中,无线收发模块7包括数据接收模块和数据发送模块,分别用于传感器节点间的通信,即包括数据和控制命令接收、数据和控制命令的发送。其中命令主要用于控制无线传感器节点间的通信控制,及对无线信道的监听和建立路由,决定何时向哪个节点传送数据;而数据主要是传感器采集的,是人们需要获得的信息,如环境监控传感器会采集温度、湿度等信息,通过RF发送给相邻节点,相邻节点用RF转发,直到数据交给用户。输入的数据为:数据和命令经过编码后的无线电信号。一般无线电工作频率是315MHZ/433MHZ。输出的数据为:数据和命令经过编码后的无线电信号。一般无线电工作频率是315MHZ/433MHZ。
具体实施方式五、基于具体实施方式一所述的无线传感器网络能耗仿真工具的网络能耗仿真方法为:
初始化过程:在仿真平台模块1上设定待模拟的无线网络的无线电传播环境,并根据所述无线电传播环境在无线信道模块3选择相应的无线信道模型,
在仿真平台模块1上设定感知业务,并将所述感知业务和无线信道模型发送给感知业务模块2,使所述感知业务模块2建立相应的感知业务模型;
节点能耗模块4设定待模拟的无线网络中各个节点的工作能耗信息;
仿真过程:仿真平台模块1启动仿真过程,感知业务模块2运行感知业务模型,并在每次启动数据发送过程时发送感知业务信息给节点能耗模块4,所述节点能耗模块4根据感知业务信息模拟相应节点执行该次业务的能耗,并将所述能耗及其对应的节点信息发送给仿真平台模块1,所述仿真平台模块1统计节点能耗模块4发送的所有节点的能耗,最终获得无线网络的能耗。
本实施方式中,节点的工作能耗信息包括:节点信息、该节点的电源剩余能量信息、该节点中个硬件模块的能耗信息。
本发明的无线传感器网络能耗仿真工具,针对不同的感知节点、感知应用和感知环境,选配不同的节点能耗模块、感知业务模块以及无线信道模块,同时可以配置不同的网络拓扑,调节网络内的节点密度。配置好这些参数以后,以NS2为仿真引擎检测网络的能耗。在仿真工具中,调用不同的模块,如节点能耗模块4、无线信道模块2、感知业务模块2和无线路由协议,这些模块用以模拟实际的无线传感器环境,使用仿真工具NS2作为后台引擎,NS2可以输出记录了仿真过程中的各种信息的trace文件。
我们将节点的初始能量分成10个阶段,节点的初始能量为15J,这种分法如下表所示:
能级 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
能量(J) |
1.5 |
3 |
4.5 |
6 |
7.5 |
9 |
10.5 |
12 |
13.5 |
15 |
统计剩余能量除于各个阶段的节点数量,然后作出直方图。这种仿真方式的用途有以下几点:
第一,以这种方式来评价协议的能量消耗均衡性,以此来评价不同协议在这能耗均衡性方面的优劣:因此可以为不同网络环境中,协议选择提供依据。
第二,评价整个网络的生存时间:若网络中超过70%的节点都处于能级2或者更低的能级,就认为这个网络瘫痪。
第三,结合节点的位置来定位网络中空洞的位置。例如,某一块区域的节点的能级都处于2或者更低的能级,这这块区域处于无法工作状态。通过这种评测方法可以为网络中节点的补充提供指导。
由于无线感知网络的业务流通常是各种各样的,有周期性采集业务,也有突发中断时间或者符合特定分布的数据流等等,因此仿真中需要相应的业务流模型来模拟不同环境的业务流。在NS2中使用流量产生器对象产生通信流,可以分为四种类型:指数,排列,CBR和业务跟踪。
第一,Application/Traffic/Exponential指数流对象产生On/Off通信流。在”on”周期,以一个恒定的脉冲速率产生包。在”Off”周期,不产生通信流。脉冲时间和闲散时间来自指数分布。
第二,Application/Traffic/Pareto这个对象根据服从排列分布的脉冲时间和闲散时间来产生On/Off通信流。
第三,Application/Traffic/CBR CBR对象以一个恒定的比特率产生数据包。
第四,泊松分布数据流:通过把Exponential On/Off中的变量burst_time_设置为0,把变量rate_变量设置为非常大的值,可以把指数On/Off产生器配置成一个泊松过程数据流。由于指数分布实现过程中保证了即使脉冲时间是0,也至少发送一个包。此外,下一个间隔时间是所有假定包的传输时间(由变量rate_决定)的总和,并根据idle_time_随机变化。因此,为了使总数中的第一个阶段比较小,必须使脉冲速度非常大,以致相对于一般的闲置时间来说传输时间可以忽略不计。
NS-2工具里自带了几种无线信道模型。但是不同环境下信道的传输效率,传输质量都是不同的,因此需要针对不同的环境开发不同的无线信道模型,在特定的环境下调用相应的无线信道模型。
在NS2中实现三种简易的能量模型:Free Space(自由空间模型)、TwoRayGround(双径地面反射模型)、Shadow(阴影模型)。
第一,Free Space(自由空间模型)
其中:Pt为传输功率,Gt为传送端天线的增益,Gr为接收端天线的增益,L为系统散逸系统(和传播信道无关),λ为电磁波的波长。
L代表系统中其他所有散逸的总和,此参数通常是由整个系统中的传输线衰减,滤波器散逸以及天线散逸所造成的。若L=1,则代表系统本身并无任何功率散逸。
第二,TwoRayGround(双径地面反射模型)
在两个移动节点之间,单一的直线传播不再是唯一的传播方式。TwoRayGround模型除了考虑直线传播路径还考虑了地面反射路径。目前已经证明对于Free Space模型,此模型在长距离传输环境中能有更准确的预测。接收信号功率的公式如下:
d为距离,ht和hr分别为发射天线和接收天线的高度。通常取L=1,L主要是考虑和free space模型相一致才在公式中加进来。随着距离的增长,双径地面反射公式相对于自由空间有更快的功率损耗。但是由于创建和销毁两个路径的叠加时会产生波动,双径地面反射模型在处理短距离的时候效果并不好。相比之下,自由空间模型在短距离还是可用的。
因此,此模型给了一个节点距离dc。当d<dc时,使用free space模型,d>dc时,使用TwoRayGround模型,d=dc时,两式结果是相同的。dc公式如下:
第三,Shadow(阴影模型)
此式的右侧,左半部分表示所谓的路径损耗,右半部分的随机变量反映了距离一定时的接收功率的随机变化,它是一个对数正态随机变量。
所以接收功率Pr为
由于NS2里面自有的信道模型是几个笼统的模型,没有区分不同环境下的信道,因此为了适应不同环境中的信道特点,开发了适应于不同环境的无线信道模型,充实了NS2的无线信道模块,为了特定环境下的无线信道仿真提供精确的仿真模型。
第四,对数距离路径损耗模型
对数距离路径损耗模型适用于不同的环境,根据不同的环境选择不同的衰减因子。这种衰减因子一般是通过实测获得,对于仿真具有重要的意义。
其中,n为路径损耗指数,表明路径损耗随距离增长的速率,它依赖特定的环境,如在自由空间,n为2,当有阻挡时n变大;d
0参考距离,由测试决定;横杠表示给定值d的所有可能路径损耗的综合平均。其中
可由自由空间路径损耗公式给出,或通过测试给出。