【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】

这篇具有很好参考价值的文章主要介绍了【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


【可更换其他算法,获取资源请见文章第6节:资源获取】


1. SSA算法

【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】
【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】

2. 节点感知模型

由于节点随机抛洒,而传感器节点的分布情况会影响网络覆盖率。在三维覆盖区域中,传感器节点的覆盖区域是某一半径确定的球。在三维监测区域中随机抛洒 N N N个传感器节点,形成节点集合 ( s 1 , s 2 , s 3 , . . . , s N ) (s_{1},s_{2},s_{3},...,s_{N}) (s1,s2,s3,...,sN),第 i i i个节点的坐标为 s i ( x i , y i , z i ) s_{i}(x_{i},y_{i},z_{i}) si(xi,yi,zi),三维监控节点集合中的某一点为 l v ( x v , y v , z v ) l_{v}(x_{v},y_{v},z_{v}) lv(xv,yv,zv),三维监控点与目标点的距离为: d ( s i , l v ) d(s_{i},l_{v}) d(si,lv)
d ( s i , l v ) d(s_{i},l_{v}) d(si,lv)小于等于感知半径 R s R_{s} Rs,则目标点在三维覆盖区域内,感知度标记为1,;相反,则在三维覆盖区域之外感知度标记为0。采用布尔感知模型,感知度为:
【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】
将三维监控节点集合中每个点的感知度求和,并除以三维监控节点集合中的节点数,即可得到整体覆盖率。

3. 三维混合WSN覆盖问题

无线传感网络(WSN)在智能交通、智能农业、医疗健康、工业监测和军事上应用广泛。伴随着WSN应用场景的不同,无线传感器网络的应用也会有所区别。近年来,WSN覆盖优化成为新的研究热点。在监测区域中,传感器节点的部署数量和分布状态对网络服务质量影响很大,如何利用最少的节点个数实现最大的覆盖率,同时保证节点分布均匀性。在二维平面,无线传感器网络在覆盖率方面近乎完善,但是二维平面及感知模型无法适应实际应用场景,节点在三维空间的部署研究刻不容缓。
【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】

在三维立体空间随机部署节点时,由于外部因素的限制,网络中会出现覆盖空洞。空洞是由周围多个节点形成的一个闭合空间,如下图所示。图中1-7个节点可以视为固定节点,其各自的球形范围可以视为固定节点的覆盖范围,本文通过麻雀搜索算法不断优化移动节点的坐标,从而使得三维立体空间内的空洞越小越好,也即整个区域的覆盖率最大化。

【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】

4. 部分代码展示

% 画图
figure(2)
% FoodPositionX=FoodPosition(:,1:3:end);
% FoodPositionY=FoodPosition(:,2:3:end); 
% FoodPositionZ=FoodPosition(:,3:3:end); 
for i=1:dim
    x = FoodPositionX(1,i);
    y = FoodPositionY(1,i);
    z = FoodPositionZ(1,i);
    h1=cc(x,y,z,R,0);
    hold on;
end

% 固定节点上色
FoodPositionX=Solution_Guding(1,1:end);
FoodPositionY=Solution_Guding(2,1:end); 
FoodPositionZ=Solution_Guding(3,:); 
for i=1:size(Solution_Guding,2)
    x = FoodPositionX(1,i);
    y = FoodPositionY(1,i);
    z = FoodPositionZ(1,i);
    h2=cc(x,y,z,R,1);
    hold on;
end

xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
title('优化后覆盖效果');
legend([h1,h2],'移动','固定')

figure(3)
plot(Convergence_curve(2:end),'r-','LineWidth',1.2);
xlabel('迭代次数');
ylabel('覆盖率');
title('算法训练过程');

5. 仿真结果展示

【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】
【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】
【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】

6. 资源获取

可以获取完整代码资源。文章来源地址https://www.toymoban.com/news/detail-455324.html

到了这里,关于【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包