本发明属于涉及一种优化无线传感网络生存时间的基站位置确定方法,属于无线传感网络领域。
背景技术:
无线传感器网络(wireless sensor networks,WSNs)由部署在监测区域内大量的微型传感器节点组成,通过无线通信方式形成的一个多跳自组织网络,并以其低功耗、低成本、分布式和自组织的特点在信息感知领域起到了重要的作用。美国商业周刊和MIT技术评论在预测未来技术发展的报告中,分别将无线传感器网络列为21世纪最有影响的21项技术和改变世界的十大技术之一。在无线传感网中,传感节点采用电池供电,且在大多数情况下,电池更换或者充电是不可行的。因此为了延长网络生存时间,传感节点必须以节能的方式调整自身的感知、处理和通信等活动,充分利用电池能量。
通过对国内外文献的研究发现,不同的文献对生存时间的定义各不相同,在不同的应用环境下具有不同的物理意义。多数文献使用网络启动至第一个传感节点能量耗尽的时间表示网络生存时间。延长无线传感器网络的生存时间的算法也有很多种,这些算法多是从传感节点分簇、路由的方面入手做研究。在这些算法中,为了体现算法的通用性,传感节点通常随机分布在监测区域内,基站一般固定在监测区域的几何中心。但是研究发现充分利用传感节点的位置和能量信息,基站位置可以做出一定的优化,从而可以大幅度延长无线传感器网络的生存时间。
技术实现要素:
本发明的目的在于针对上述现有技术的不足,提出了一种贪婪算法,能够充分利用传感节点的位置和能量信息,最大可能延长无线传感器网络的生存时间。
为实现上述目的,本发明提出的技术方案是一种优化无线传感网络生存时间的基站位置确定方法,所述方法包括以下步骤:
步骤1:在指定区域内随机分布n个传感节点,用序列表示为N(N1,N2,…,Nn),所有节点初始能量都为E0;
步骤2:寻找直线距离最短的两个节点Ni和Nj,二者直线距离表示为:
其中,(xi,yi)为Ni的坐标,(xj,yj)为Nj的坐标;
步骤3:融合节点Ni和节点Nj,得到一个虚拟节点Vk(k=1,2,3,…),Vk的坐标和能量计算步骤如下:
其中,Ei和Ej分别表示节点Ni和Nj的剩余能量,dik和djk表示节点Ni和Nj与Vk之间的直线距离,
计算得到N0的坐标为:
其中,
Vk的能量为:
步骤4:从序列N中删除Ni和Nj,加入Vk,节点序列为:N(…,Ni-1,Ni+1,…,Nj-1,Nj+1,…,…Vk),序列N长度减1;
步骤5:重复步骤2,3,4,直到序列N长度减少到1,唯一元素为最终节点N0,N0将作为基站位置的一个采样点;
步骤6:选择一种无线传感器网络路由协议,设置协议中传感节点序列为N,基站为N0,路由算法运行一轮后,修改序列N中各节点能量值;
步骤7:用序列V(k)记录N0,其中k表示算法运行的轮数;
步骤8:重复步骤2,3,4,5,6,7直到出现一个节点能量耗尽,得到序列V;
步骤9:平均化处理,最终基站坐标确定为:
其中,(xk,yk)表示V(k)的坐标,R为出现一个节点能量耗尽时路由算法运行的轮数。
进一步,通过本方法确定的基站的数量只有一个,且位置固定不可移动,但能量不受限制。
本方法中所有传感节点的初始能量、通信半径、发送功率、接收功率完全相同。
步骤1中所述的随机分布的传感节点满足平均分布。
步骤6中所述的无线传感网络路由协议优选LEACH路由协议。
与现有技术相比,本发明的具有以下的有益效果:
1,本发明综合考虑了传感节点的位置信息以及剩余能量等因素,通过一种贪婪算法计算基站位置,提高了网络的生存时间;
2,算法每一轮数据采集结束后都会重新计算当前最优基站位置,然后将其作为一个采样值,最后做平均化处理,虽然增大了算法复杂度,但是数据处理更加科学,基站的位置计算更加可靠和稳定。
附图说明
图1为指定区域内传感节点分布图;
图2为本发明使用的贪婪算法原理图;
图3为本发明使用的贪婪算法流程图;
图4为优化基站位置和未优化基站位置的性能对比图。
具体实施方式
现结合说明书附图对本发明做进一步的详细说明。
本发明引入一种贪婪算法,该算法结合传感节点的位置和能量信息引入了潜能值的概念,节点潜能值EP表示为:
其中,EPi表示节点i的潜能值,Ei表示节点i剩余的能量,di0表示节点i与基站之间的直线距离。
潜能值的引入可以解决距离基站近的节点能量消耗过快的问题,保证所有节点能量的消耗尽可能平均。
本发明实现上述贪婪算法包括以下步骤:
1)在指定区域内随机分布n个传感节点,用序列表示为N(N1,N2,…,Nn),所有节点初始能量都为E0;
2)寻找直线距离最短的两个节点Ni和Nj,二者直线距离表示为:
其中,(xi,yi)为Ni的坐标,(xj,yj)为Nj的坐标。
3)融合节点i和节点j,得到一个虚拟节点Vk(k=1,2,3,…),Vk的坐标和能量计算步骤如下:
其中,Ei和Ej分别表示节点i和j的剩余能量,dik和djk表示节点i和j与Vk之间的直线距离。
计算得到N0的坐标为:
其中,
Vk的能量为:
4)从序列N中删除Ni和Nj,加入Vk,节点序列为:N(…,Ni-1,Ni+1,…,Nj-1,Nj+1,…,…Vk),序列N长度减1;
5)重复步骤2),3),4),直到序列N长度减少到1,唯一元素为最终节点N0,N0将作为基站位置的一个采样点;
6)选择一种无线传感器网络路由协议,设置协议中传感节点序列为N,基站为N0,路由算法运行一轮后,修改序列N中各节点能量值;
7)序列V(k)记录N0,其中k表示算法运行的轮数;
8)重复步骤2),3),4),5),6),7)直到出现一个节点能量耗尽,得到序列V;
9)基站采样点平均化处理。最终基站坐标确定为:
其中,(xk,yk)表示V(k)的坐标,R为出现一个节点能量耗尽时路由算法运行的轮数。
为便于本领域的技术人员理解本发明,现提供一个实施例。以下说明中,长度单位为米,能量单位为焦耳。
在指定区域内随机分布n个传感节点,用序列表示为N(N1,N2,…,Nn),所有节点初始能量固定为E0。图1中,100m*100m的区域内随机分布30个传感节点,用序列表示N(N1,N2,…,N30),所有节点初始能量都为1J(焦耳),图中○表示传感节点;
参见图2和图3,本发明所述的贪婪算法步骤如下:
1)寻找直线距离最短的两个节点。图2中,以4个节点为例,节点序列为N(N1,N2,N3,N4),计算得到N1与N2的直线距离最短;
2)融合N1和N2,得到一个虚拟节点V1,V1的坐标为:
x1=1+0.524*(4-1)=2.572m
y1=5+0.524*(5-5)=5m
其中,
V1的能量为:
3)从N(N1,N2,N3,N4)中删除N1和N2,加入V1得到节点序列N(N3,N4,V1),N序列长度变为3;
4)重复步骤1),2),3),序列N最后变化为N(V3),序列N的个数减少为1,节点V3的坐标为:
x3=3.5685m
y3=2.6133m
5)按照2),3),4)所述思路计算附图1中30个节点的序列最后变为N(V29),设置N0=V29;
6)选择LEACH路由协议,设置协议算法中传感节点序列为N,基站位置为N0的坐标,路由算法运行一轮后,修改序列N中各节点能量值;
7)V(k)记录N0,即V(1)=N0;,
8)重复步骤2),3),4),5),6),7)直到出现一个个节点能量耗尽。路由算法
执行的轮数为R,最后得到序列V,最终基站坐标为:
图4为优化基站位置的LEACH算法和未优化基站位置的LEACH算法的生存时间对比,可以看出,优化基站位置后的LEACH算法的生存时间得到了显著的提高。
综上所述,本发明充分利用无线传感网络的传感节点的位置和能量信息,提供了一种路由算法无关的基站位置确定方法,任意一种无线传感网络路由算法在使用本发明优化基站位置后,都可以在原有的基础上显著的提高网络的生存时间。