【布局优化】基于麻雀算法求解无线传感器网络布局matlab源码

WSN的结构 ——重点

(1)无线传感器网络节点类型
节点三兄贵: 传感器节点 (Sensor Node)、汇聚节点(Sink Node)和 管理节点

在这里插入图片描述

  • 大量的传感器节点随机部署在监测区域(Sensor Field)内部或附近,这些节点通过自组织方式构成网络。
  • 传感器节点检测的数据通过中间传感器节点逐跳进行传输,在传输过程中监测数据可能被多个节点处理,数据在经过多跳路由后到达汇聚节点
  • 最后通过互联网或卫星通信网络传输到管理节点。无线传感器网络的组建者通过管理节点对传感器进行配置和管理,发布监测任务以及收集监测数据。

三个节点的不同要求
记得曾经有一张图,在一个施工现场,只有一个人在干活,而其他人都是顶着各种头衔职位在旁边站着监督, 传感器节点就是那个干活的人,汇聚节点和管理节点更像是在旁边看着的人,不是说它们没有作用,而只是想说,没有传感器节点这个干活的人,所有的事都是 0 进度。

所以我们不得不对我们的传感器节点更看重一点。
传感器节点: 通常是一个嵌入式系统,这点很重要,一个物体是不会有计算和通信能力,能做的就是嵌入一个“大脑”, 另一方面它一点是电池供电,因为它是不固定的,它不会有持续的、稳定的电源。 所以有限的电源就会限制它的处理能力、存储能力和通信能力。 (这就是灵活的坏处)

 
  1. <span style="color:#000000"><code>可以说,想要让WSN更优化,传感器节点的软硬件是重点。

  2. </code></span>

  • 1

汇聚节点: 因为它少,所以可以对它进行改造,它既可以是传感器节点 2.0 版本,也可以是没有监测功能仅带有无线通信接口的特殊网关设备。
汇聚节点的处理能力、存储能力和通信能力相对较强,它连接传感器网络与互联网等外部网络,实现两种通信协议之间的转换。

同时发布 管理节点 的监测任务,并将 收集到的数据 转发到外部网络中(承上启下)。



WSAN 无线传感器与执行器网络

之前我们讲过科学的发展过程, 技术结合就是其中一项,将传感器与执行器结合起来是一个很自然的过程。 Wireless Sensor and Actor Network.

当无线传感网络的控制节点需要通过执行器与外部的物理世界产生交互时,需要给执行器发出指令,执行器将指令转变成一种作用于环境的物理行为。典型的执行器可以是人、控制装置或者智能机器人。随着智能机器人技术的日趋成熟与应用,加快了小型、智能、自治、低能耗、低成本执行器研发的速度,使得无线传感器与执行器网络的建设成为可能。

WSAN由两部分组成:传感器节点与执行器节点 ,它们的区别主要有以下几点:

  • 传感器节点是静态、不移动的,执行器节点是移动的。 执行器节点能够移动,有利于扩大执行器节点作用的有效区域。 典型的执行器可以是移动的机器人, 多个移动机器人可以在传感器节点覆盖的区域内游弋,根据传感器发送的数据来决定机器人如何协作完成控制功能,当然,我们也可以将一个智能机器人同时作为传感器节点和执行器节点。
  • 部署在监控区域的传感器节点数量庞大, 而执行器节点则不需要很多, 关键是执行能力。传感器节点是低成本、低功率的设备,它的传感、计算、无线通信能力与能量是受限的,而执行器节点可以根据需要,选用不同类型的执行器来实现不同的控制功能,相对于传感器节点,执行器节点具有与较强的数据处理能力、较高的发射功率和较长的电池寿命。 执行器节点根据多个传感器节点传送的信息来决定如何协作完成控制功能。
  • 在传统的无线传感器网络中,传感器节点通过多跳的无线自组网将感知到的数据经由汇聚节点传送到控制节点,而WSAN要求传感器节点
  • 与传感器节点、传感器节点与执行器节点、执行器节点与执行器节点之间能够协同通信。



WSAN的主要特点

(1)异构性
WSAN是由异构组件组成的,包括低端的传感器节点和处理能力较强的执行器节点,这两部分在网络通信、计算以及存储能力方面有很大的区别。
(2)实时性
WSAN基本上是一种闭环系统,该系统根据传感器传送的数据来进行数据处理、分析和决策,很多应用场合要求执行器节点能够对来自传感器的感知信息提出及时反应,因此网络协议应该提供实时数据传输的保证。
(3)协作性
传感器节点与执行器节点、执行器节点与执行器节点之间必须保持良好的关系,因为可能有多个执行器节点关注同一个事件,传感器节点与执行器节点的协作可以使传感器的事件报告数据被传输到最适合的执行器节点。 受到事件报告数据之后,多个执行器节点相互协作,采取恰当的行动来完成控制任务。
(4)移动性
在WSAN中,执行器节点需要根据发生的事件,移动到相应的位置,执行相应的行动。



WSAN的执行机制

在这里插入图片描述

  • (1)自主机制,即没有中央控制器的参与,传感器节点将其观察到的数据发送给适当的执行器节点, 执行器节点相互配合,自动完成执行任务的分配并采取适当的协作行动。
    优点: 延时较短,因为执行器通常处于传感器/ 执行器区域内或其附近。
  • (2)半自主机制 , 类似于 WSN结构, 对于大多数现有通信技术都适用。然而,在半自主机制下,需要收集传感器数据,经过汇聚节点分析、处理之后,再把执行指令发送给执行节点,因此从事件发生到事件处理的延时大。 同时,汇聚节点作为中心控制节点容易出现单点故障, 系统可靠性比较差。
  • (3)协同机制
  • 在这里插入图片描述

在协同机制中,传感器节点先通过多跳或单跳的方式向执行器节点传送感知数据。执行器节点对数据进行分析后,在采取动作之前,与汇聚节点协商(三种情况):
(1)告知汇聚节点,执行器节点要采取的行动(仅告知)
(2)与汇聚节点协商应该采取的行动;
(3)通过汇聚节点向控制节点请示行动方案。等待指令。

  1. %_________________________________________________________________________%
            %
    %_________________________________________________________________________%
    clear all 
    clc
    rng('default');
    %% 设定WNS覆盖参数,
    %% 默认输入参数都是整数,如果想定义小数,请自行乘以系数变为整数再做转换。
    %% 比如范围1*1,R=0.03可以转换为100*100,R=3;
    %区域范围为AreaX*AreaY*AreaZ
    AreaX = 100;
    AreaY = 100;
    AreaZ = 100;
    N = 20 ;%覆盖节点数
    R = 15;%通信半径
     
    %% 设定麻雀优化参数
    pop=30; % 种群数量
    Max_iteration=30; %设定最大迭代次数
    lb = ones(1,3*N);
    ub = [AreaX.*ones(1,N),AreaY.*ones(1,N),AreaZ.*ones(1,N)];
    dim = 3*N;%维度为3N,N个坐标点
    fobj = @(X)fun(X,N,R,AreaX,AreaY,AreaZ);%适应度函数
    [Best_pos,Best_score,SSA_curve]=SSA(pop,Max_iteration,lb,ub,dim,fobj); %开始优化
    figure
    SSA_curve = 1 - SSA_curve;%将未覆盖率转换未覆盖率。
    plot(SSA_curve,'Color','r')
    title('Objective space')
    xlabel('迭代次数');
    ylabel('覆盖率');
    axis tight
    grid on
    box on
    legend('SSA')
    display(['最终得到的最优覆盖率 : ', num2str(1 - Best_score)]);
    %Coordinate代表覆盖的坐标点的存放
    %CoordinateNumber 代表覆盖的坐标点的个数
    [score,Coordinate,Best_pos,CoordinateNumber] = fun(Best_pos,N,R,AreaX,AreaY,AreaZ);
    figure
    plot3(Best_pos(1:N),Best_pos(N+1:2*N),Best_pos(2*N+1:3*N),'r.','MarkerSize',40);%绘制节点
    hold on;
    plot3(Coordinate(1:CoordinateNumber,1),Coordinate(1:CoordinateNumber,2),Coordinate(1:CoordinateNumber,3),'b.','MarkerSize',0.1);%绘制覆盖区域
    hold off;
    title('SSA-WSN最终结果')
    grid on;
    legend('WSN节点','覆盖区域')
     
            
     
     

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值