无线传感器网络(WSN)中的空穴和边界节点检测(Matlab代码实现)

news/2024/11/28 13:49:48/

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码

💥1 概述

​由于无线传感器网络中可能会出现覆盖漏洞,导致网络无法提供高质量的数据,所以需要检测边界节点以准确找到覆盖漏洞进行修复。已有研究大多是通过传感器的坐标或者依据大量节点信息进行检测,现提出算法通过检测每个节点的邻居节点是否能形成包围检测节点的闭合环来判别当前节点是否为边界节点。该算法使得节点能够仅基于小邻域的信息自主地决定它是否是边界节点,使其适用于节点分布不均匀的网络中。仿真实验验证了该算法在识别准确率、降低通信量等方面的有效性。

📚2 运行结果

主函数部分代码:

n = 500;
x = rand(n,1);
y = rand(n,1);
dt =  DelaunayTri(x,y);
figure(1);
triplot(dt);
​
vxlabels = arrayfun(@(n) {sprintf('o')}, (1:n)');
Hpl = text(x, y, vxlabels, 'FontWeight', 'bold', 'HorizontalAlignment',...'center', 'BackgroundColor', 'none');
[cc,r]= circumcenters(dt);
numtri = size(dt,1);
trilabels = arrayfun(@(x) {sprintf('*')}, (1:numtri)');
Htl = text(cc(:,1), cc(:,2), trilabels, 'FontWeight', 'bold', ...'HorizontalAlignment', 'center', 'Color', 'blue');
​
i = 0;
k = size(r,1);
rs=0.045; 
rc = 0;
ra = zeros(1,k);
​
for l=1:k if ( cond1(r(l), rs) == 1 )x = cond2(dt, cc, l, rs);if x == 0 || x == 1 rc = rc+1;ra(rc) = l;circle(cc(l,1), cc(l,2), r(l));end;end;
end;
​
for l=1:rcx = dt.X(dt.Triangulation(ra(l),:), 1);y = dt.X(dt.Triangulation(ra(l),:), 2);xlabels = arrayfun(@(n) {sprintf('@')}, (1:3)');
Hp1 = text(x, y, xlabels, 'FontWeight', 'bold', 'HorizontalAlignment',...'center', 'BackgroundColor', 'none');
end;
figure(1);
​
figure(2);
​
for l = 1:nx= dt.X(l,1);y= dt.X(l,2);plot2(x,y,rs);
end;
for l=1:rcl1=ra(l);circle(cc(l1,1), cc(l1,2), r(l1));end;
​
​
figure(2);
dt.Triangulation
dt.X

🎉3 参考文献

[1]张玖雅,卫琳娜.无线传感器网络中基于闭合环包围的边界节点检测[J].计算机应用研究,2020,37(08):2487-2490+2495.

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


http://www.ppmy.cn/news/63023.html

相关文章

Mermaid流程图

所有流程图都由节点,几何形状和边缘,箭头或线条组成。mermaid代码定义了这些节点和边缘的制作和交互方式。 它还可以容纳不同的箭头类型、多方向箭头以及与子图之间的链接。 1、流程图的方向 TB - 从上到下TD - 自上而下/与上到下相同BT - 从下到上RL -…

数据指标中心业务策略的闭环

分析数据定位业务问题,基于业务理解,确定解决策略,到最终正向的影响业务,整个过程中,业务策略存在两个闭环:逻辑闭环和业务闭环。 逻辑闭环: 数据分析的过程,逻辑上要闭环&#xff…

《python爬虫练习》之随机的User-Agent请求头

1. 背景: 大数据时代,互联网上很多的数据需要被爬取然后进行筛选,就可以被我们所利用,在这个过程中反爬技术也应运而生,互联网之间的攻防战一直在不断升级。那么我们在爬取数据的时候,自然需要进行伪装&am…

软件工程的基础

软件危机软件工程软件工程是将系统化的,严格约束的,可量化的方法应用于软件的开发,运行和维护,将工程应用于软件。 软件工程的三个要素:方法,工具,过程软件的生命周期,是指从从软…

Databend 开源周报第 92 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 在 WHERE 子句中…

每天一道算法练习题--Day22 第一章 --算法专题 --- ----------最大公约数

关于最大公约数有专门的研究。 而在 LeetCode 中虽然没有直接让你求解最大公约数的题目。但是却有一些间接需要你求解最大公约数的题目。 如何求最大公约数? 定义法 def GCD(a: int, b: int) -> int:smaller min(a, b)while smaller:if a % smaller 0 and b …

基于Linux系统在线安装RabbitMQ

一、前言 二、Erlang下载安装 三、RabbitMQ下载安装 三、RabbitMQ Web界面管理 一、前言 本次安装使用的操作系统是Linux centOS7。 二、Erlang下载安装 在确定了RabbitMQ版本号后,先下载安装Erlang环境。下面演示操作过程: Erlang下载链接&#…

centOS7忘记登录密码该如何重新修改登录密码

文章目录 前言一、重新修改登录密码1.1、第一步1.2、第二步1.3、第三步1.4、第四步1.5、第五步1.6、第六步1.7、第七步1.8、第八步 前言 忘记密码并不可怕,只要学会方法,密码随时都可以找回。 一、重新修改登录密码 1.1、第一步 当打开centOS7之后忘记…