【WSN】基于COMPOW协议下的网络连通率和覆盖率附matlab代码

本文介绍了COMPOW协议在无线传感器网络中的应用,通过仿真探讨了在不同能级下网络连通性的变化趋势,以确定最小通信半径。在1x1单位矩形中随机部署100个节点,设置多个能级并计算覆盖率,最终找到保持网络连通的最低能级。仿真结果表明COMPOW协议对于节点分布均匀的情况有效,但存在局限性。文章还提供了Matlab代码实现网络连通性和覆盖率的计算。
摘要由CSDN通过智能技术生成

 1 简介

COMPOW (COMMON POWER)协议是一种简单的将功率控制与路由协议相结合的解决方案,其基本思想是:所有的传感器节点使用一致的发射功率,在保证网络连通的前提下将功率最小化。COMPOW建立各个功率级的路由表,在功率Pi级时,通过使用功率Pi交换HELLO消息建立路由表RTpi,所有可达节点都是路由表中的表项。COMPOW选择最小的发射功率使得与最大发射功率具有相同数量的表项,于是整个网络使用公共的发射功率但该协议只适用于节点分布均匀的情况,缺陷较为明显。

①在固定节点个数的前提下,仿真求得使网络保持连通的最小通信半径(最低能级、COMPOW协议)。

②在以上通信半径的前提下,假设连通半径等于覆盖半径,计算随机布撒的节点的覆盖率。

在1x1的单位矩形中随机部署100个传感器节点,假设每个节点的连通半径一样。对节点划分为5个能级(一级:r=0.08, 二级:r=0.12,三级:r=0.16,四级:r=0.20,五级:r=0.24),分别模拟出连通率随节点能级的变化趋势,进而判断出使网络节点连通的最低能级r。

网络节点连通性判断采用Warshell算法,使用邻接矩阵(adjacencyMatrix)表示各节点之间的连通性能。在该算法中,矩阵adjacencyMatrix是判断矩阵, 表示从i到j连通,由于是无向图,进而从i到j也连通。

2 部分代码

%参数初始化、矩阵初始化clcclear allclose allN=100;M=(1000+1)*(1000+1);  %将矩阵分为1000*1000份r=0;flag=zeros(1,M); %这里定义为一维数组是为了在计算覆盖率的时候便于计算。先将其置零。sum=0;           %被覆盖的额数x=rand(1,N);y=rand(1,N);​​r     %输出最小能级对应的半径%绘制节点覆盖范围,并将其置为黑色。angle=0:pi/50:2*pi;for k=1:N    figure(1);    plot(r*cos(angle)+x(k),r*sin(angle)+y(k));    plot(x(k),y(k),'.');    axis([0,1,0,1]);    axis equal;    hold on ;    figure(2);    plot(r*cos(angle)+x(k),r*sin(angle)+y(k));    plot(x(k),y(k),'.');    fill(r*cos(angle)+x(k),r*sin(angle)+y(k),[0,0,0]);    axis([0,1,0,1]);    axis equal;    hold on ;end%把矩阵分成1000*1000份,逐一判断是否在覆盖范围内,并置标志位为1for i=0:0.001:1    %把矩阵分成1000*1000份    for j=0:0.001:1        for m=1:N            if (i-r)<x(m) && x(m)<(i+r) &&(j-r)<y(m) && y(m)<(j+r)                if  (x(m)-i)^2+(y(m)-j)^2<r^r                    flag( int32(i*1000*1001+j*1000)+1 )=1;      %将已经被覆盖的地方标记,从1开始,转化成整型                               break;                               %已被覆盖就不用再计算                end                               end        end    endend%计算覆盖率for i=1:M    if flag(i)==1        sum=sum+1;    endendsumdouble(sum/M)   %输出覆盖率,转为double显示   0.1600   0.9760% sum(flag==1)/M     %输出覆盖率

3 仿真结果

4 参考文献

https://www.51dzw.com/embed/embed_78611.html​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

matlab科研助手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值