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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 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)来转发分组),节点可能多次接收相同一个分组。因此,同一个分组可能多次被转发。为了提高能量效率,理想情况下,节点只需发送一次相同的数据包。我们将在下一节讨论抑制冗余数据包的技术。
相关文章
|
2天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
104 80
|
2天前
|
监控 算法 数据安全/隐私保护
基于扩频解扩+turbo译码的64QAM图传通信系统matlab误码率仿真,扩频参数可设置
该通信系统基于MATLAB 2022a仿真,适用于高要求的图像传输场景(如无人机、视频监控等),采用64QAM调制解调、扩频技术和Turbo译码提高抗干扰能力。发射端包括图像源、64QAM调制器、扩频器等;接收端则有解扩器、64QAM解调器和Turbo译码器等。核心程序实现图像传输的编码、调制、信道传输及解码,确保图像质量和传输可靠性。
28 16
|
1天前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,迭代次数以及信道类型对译码性能的影响
本内容介绍基于MATLAB 2022a的低密度奇偶校验码(LDPC)仿真,展示了完整的无水印仿真结果。LDPC是一种逼近香农限的信道编码技术,广泛应用于现代通信系统。BP译码算法通过Tanner图上的消息传递实现高效译码。仿真程序涵盖了不同Eb/N0下的误码率计算,并分析了码长、码率、迭代次数和信道类型对译码性能的影响。核心代码实现了LDPC编码、BPSK调制、高斯信道传输及BP译码过程,最终绘制误码率曲线并保存数据。 字符数:239
21 5
|
1天前
|
算法
基于EO平衡优化器算法的目标函数最优值求解matlab仿真
本程序基于进化优化(EO)中的平衡优化器算法,在MATLAB2022A上实现九个测试函数的最优值求解及优化收敛曲线仿真。平衡优化器通过模拟生态系统平衡机制,动态调整搜索参数,确保种群多样性与收敛性的平衡,高效搜索全局或近全局最优解。程序核心为平衡优化算法,结合粒子群优化思想,引入动态调整策略,促进快速探索与有效利用解空间。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
226 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
142 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
111 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)