无线传感网路由VBF协议和DBR协议的MATLAB性能仿真

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: **摘要**本文档介绍了在MATLAB2022a中对无线传感器网络的VBF和DBR路由协议的性能仿真,关注能量消耗和节点存活。VBF协议依赖于节点的地理位置,采用源路由,通过矢量和管道路由选择转发节点。DBR协议则运用贪婪算法,基于节点深度决定转发,以接近水面为目标。两协议均考虑能量效率,但可能导致不必要的数据传输和重复分组,需优化策略以适应密集网络和避免冲突。

1.程序功能描述
无线传感网路由VBF协议和DBR协议的MATLAB性能仿真.将两个协议在能量消耗,存活节点等方面进行比较.

2.测试软件版本以及运行结果展示
MATLAB2022a版本运行
1.jpeg
2.jpeg
3.jpeg

3.核心程序
``` for c=1:n%计算最接近的cluster个节点
dd(c) = sqrt((DBRsave(i).xd-(DBRsave(n+1).xd) )^2 + (DBRsave(i).yd-(DBRsave(n+1).yd))^2 + (DBRsave(i).zd-(DBRsave(n+1).zd))^2);
end
[VV,II] = sort(dd);
II2 = II(1:cluster);%计算最接近的节点编号
for c=1:cluster
DBRsave_close(c).xd=DBRsave(II2(c)).xd;% 存储接近节点的X坐标
DBRsave_close(c).yd=DBRsave(II2(c)).yd;% 存储接近节点的Y坐标
DBRsave_close(c).zd=DBRsave(II2(c)).zd;% 存储接近节点的Z坐标
end

Drop_rate0 = zeros(1,n);
for i=1:n
   if DBRsave(i).E>0

min_dis = Inf;
min_dis_cluster = 0;
for c=1:cluster-1
temp = sqrt((DBRsave(i).xd-DBRsave_close(c).xd)^2 + (DBRsave(i).yd-DBRsave_close(c).yd)^2 + (DBRsave(i).zd-DBRsave_close(c).zd)^2);
if temp do
DBRsave(i).E=DBRsave(i).E- (ETX(PACK) + EmpPACK( min_dis min_dis min_dis min_dis)); % 根据距离和模型更新节点能量
end
if min_dis<= do
DBRsave(i).E=DBRsave(i).E- (ETX(PACK) + EfsPACK( min_dis min_dis)); % 根据距离和模型更新节点能量
end
DBRsave(i).min_dis = min_dis; % 存储最小距离
DBRsave(i).min_dis_cluster = II2(min_dis_cluster);% 存储最小距离对应的接近节点编号
Npackv=Npackv+1;
end
end
Npack(r+1) = Npackv;% 记录当前轮发送的数据包数量
end

Throughput = Npack;
Power = Etsetc/10;
death = Dead_nodes_numbers;

%性能
figure;
plot(Throughput,'b','linewidth',2);
grid on;
xlabel('round');
ylabel('y(吞吐量)');

figure;
plot(max(death)-death,'b','linewidth',2);
grid on;
xlabel('round');
ylabel('y(存活节点)');

figure;
plot(max(Power)-Power,'b','linewidth',2);
grid on;
xlabel('round');
ylabel('y(剩余能量)');

save result1.mat Throughput death Power
12_083m

```

4.本算法原理
无线传感器网络(Wireless Sensor Networks, WSNs)是由大量低成本、低功耗、多功能的传感器节点组成的网络,这些节点能够协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。在WSNs中,路由协议起着至关重要的作用,它们负责将数据从源节点传输到目的节点。

4.1 VBF路由协议
VBF协议是一种需要完整定位的地理算法。每个节点的位置通过 AOA技术或信号强度来估计。与发送节点、转发节点和目标节点相关的位置信息被携带在数据包中。从发送节点到目标节点的传递路径,由一个向量确定,该向量位于路由管道内,管道内的每个节点都可以充当发送数据包的候选者。

    如果接收到数据包的节点在路由管道内,则发送数据包;否则将他丢弃。为了确保路由,每个数据包中包含了发送者、目标和转发节点的坐标信息。节点的位置或坐标是通过定位技术获得的。

   路由过程中,使用了矢量路由和管道路由。矢量路由是从源节点到目的节点的直线,而路由管道是半径可调的圆柱体,具有矢量路由的中心性。数据包从源到目的地的路由由矢量路由确定。

   接收到数据包后,接收节点计算其相对于前一个转发节点的位置。只要节点可以确定它与向量路由足够接近,那么该节点就被认为是一个新的转发节点,并将其放入数据包中并转发给下一个节点。否则,将删除数据包。在该协议中,所有转发节点都在路由管道内。那些不靠近路由向量的节点不会转发和删除接收到的数据包。

  但是这些协议不需要关于所有节点位置的信息。VBF 是一种源路由协议。这意味着路由从源节点开始。每个数据包只携带简单的路由数据,包括SP、TP和FP三个字段,分别表示发送者、目标和转发节点的位置。为了支持节点移动性,每个数据包还包含一个称为 Range 的字段。当一个数据包到达 TP 字段指定的区域时,它将使用 range 字段内的值确定传输限制,然后将其广播到网络。通过估计它与路由向量和半径字段的距离,将能够确定它是否可以转发数据。

   总的来说,在 VBF 协议中,在那些节点彼此靠近的网络中,距离路由向量足够近或在路由管道内的节点将转发数据包。但这将导致能耗增加、不必要的数据包传输量增加。因此,应针对密集网络采取适当的策略。

4.2 DBR路由协议
DBR是一种试图将数据包从源节点(source node)传递到sink节点的贪婪算法。在该过程中,当数据包接近sink节点时,转发节点的深度在减小。如果我们在每个步骤中减少转发节点的深度,则可以将数据包发送到水面(假设不存在“空”区)。在DBR中,传感器节点(sensor node)根据自己的深度和前一个发送方的深度,分布式地做出数据包转发的决策。上述内容是DBR的关键思想。

   在DBR中,当接收到数据包时,节点首先检索数据包的前一跳的深度dp,该跳dp嵌入到数据包中。然后,接收节点将其自身的深度dc与dp进行比较。如果当前节点更靠近水面,即dc<dp,当前节点将认为自己是转发分组的合格候选。否则,当前节点只会直接丢弃数据包,丢弃的原因是收到的数据包来自更靠近水面的(更好的)节点。接收节点不希望转发该分组。

   转发节点的多个相邻节点很可能是在下一跳转发数据包的合格候选节点。如果所有这些合格的节点都尝试广播数据包,将导致高冲突和高能耗。因此,为了减少冲突和能量消耗,需要控制转发节点的数量。此外,由于DBR的继承多路径特性(inherited multiple-path feature)(其中,每个传感器节点以广播的方式使用当前节点所有方向的声学信道(using an omnidirectional acoustic channel)来转发分组),节点可能多次接收相同一个分组。因此,同一个分组可能多次被转发。为了提高能量效率,理想情况下,节点只需发送一次相同的数据包。我们将在下一节讨论抑制冗余数据包的技术。
相关文章
|
14天前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
133 73
|
3天前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
|
2天前
|
算法 数据安全/隐私保护
星座图整形技术在光纤通信中的matlab性能仿真,分别对比标准QAM,概率整形QAM以及几何整形QAM
本文介绍了现代光纤通信系统中的星座图整形技术,包括标准QAM、概率整形QAM和几何整形QAM三种方法,并对比了它们的原理及优缺点。MATLAB 2022a仿真结果显示了不同技术的效果。标准QAM实现简单但效率有限;概率整形QAM通过非均匀符号分布提高传输效率;几何整形QAM优化星座点布局,增强抗干扰能力。附带的核心程序代码展示了GMI计算过程。
10 0
|
2月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
123 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
2月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
95 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
2月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
71 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
5月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
5月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
5月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
下一篇
无影云桌面