【WSN】基于COMPOW协议下的网络连通率和覆盖率附matlab代码
【WSN】基于COMPOW协议下的网络连通率和覆盖率附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
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 部分代码
%参数初始化、矩阵初始化
clc
clear all
close all
N=
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
份,逐一判断是否在覆盖范围内,并置标志位为
1
for
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
end
end
%计算覆盖率
for
i=
1
:M
if
flag(i)==
1
sum=sum+
1
;
end
end
sum
double(sum/M) %输出覆盖率,转为double显示
0
.
1600
0
.
9760
% sum(flag==
1
)/M %输出覆盖率
3 仿真结果
4 参考文献
https://www.51dzw.com/embed/embed_78611.html
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
