首页 > 其他分享 >无线传感网路由VBF协议和DBR协议的MATLAB性能仿真

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

时间:2024-06-17 22:44:09浏览次数:22  
标签:协议 VBF DBRsave MATLAB 转发 DBR 数据包 节点

1.程序功能描述

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

 

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

MATLAB2022a版本运行

 

 

 

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 <min_dis
min_dis         = temp;
min_dis_cluster = c;
              end
          end
          if min_dis> do
DBRsave(i).E=DBRsave(i).E- (ETX*(PACK) + Emp*PACK*( min_dis * min_dis * min_dis * min_dis)); % 根据距离和模型更新节点能量  
          end
          if min_dis<= do
DBRsave(i).E=DBRsave(i).E- (ETX*(PACK) + Efs*PACK*( 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)来转发分组),节点可能多次接收相同一个分组。因此,同一个分组可能多次被转发。为了提高能量效率,理想情况下,节点只需发送一次相同的数据包。我们将在下一节讨论抑制冗余数据包的技术。

 

标签:协议,VBF,DBRsave,MATLAB,转发,DBR,数据包,节点
From: https://www.cnblogs.com/softcodes/p/18253379

相关文章

  • 长短期记忆神经网络(LSTM)的回归预测(免费完整源代码)【MATLAB】
    LSTM(LongShort-TermMemory,长短期记忆网络)是一种特殊类型的递归神经网络(RNN),专门用于处理和预测基于时间序列的数据。与传统RNN相比,LSTM在处理长期依赖问题时具有显著优势。LSTM的基本结构LSTM由一个称为“细胞状态”(cellstate)的核心组件和三个门(gate)组成。这些门控制着......
  • SCI一区级 | Matlab实现GWO-CNN-LSTM-selfAttention多变量多步时间序列预测
    GWO(GreyWolfOptimizer)是一种基于灰狼行为的优化算法,用于优化问题的求解。CNN(ConvolutionalNeuralNetwork)是卷积神经网络,主要用于图像处理和模式识别。LSTM(LongShort-TermMemory)是一种递归神经网络,用于处理和预测时序数据。self-attention(自注意力)是一种机制,用于在序列......
  • 分类预测 | Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机分类预测
    分类预测|Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机分类预测目录分类预测|Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机分类预测分类效果基本描述程序设计参考资料分类效果基本描述1.Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机......
  • 【跌倒检测】基于隐马尔可夫模型HMM和支持向量机SVM实现形状特征跌倒检测 附Matlab代
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 【组播优化】基于蚁群算法求解QOS费用延时组播路由优化问题附Matlab代码
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 基于Matlab的LDPC编解码算法实现的及LDPC码性能测试+源代码+文档说明
    文章目录源码下载地址@[toc]源码下载地址项目介绍项目功能界面预览项目备注源码下载地址项目介绍项目功能界面预览项目备注源码下载地址源码下载地址@[toc]源码下载地址点击这里下载代码项目介绍LDPC码背景及概要LDPC是LowDensityParityCheckCode英文缩写,意......
  • 基于Itô扩散过程的交易策略偏微分方程matlab求解与仿真
    目录1.程序功能描述2.测试软件版本以及运行结果展示3.核心程序4.本算法原理5.完整程序1.程序功能描述    基于Itô扩散过程的交易策略偏微分方程,提出了一种确定Itô扩散过程。通过根据的第一次通过时间来确定问题在这个过程中,我们推导出交易长度的分布函数和......
  • 回归预测 | Matlab实现Transformer多输入单输出回归预测
    回归预测|Matlab实现Transformer多输入单输出回归预测目录回归预测|Matlab实现Transformer多输入单输出回归预测效果一览基本介绍程序设计参考资料效果一览基本介绍1.Matlab实现Transformer多变量回归预测;2.运行环境为Matlab2023b;3.输入多个特征,输......
  • 【MATLAB】语法
    MATLAB基本语法(%{和%})赋值函数名=值;forfori=1:10循环语句end//whilex=0;sum=0;whilex<100 sum=sum+x; x++;end//ififx>1 f=x^2+1;else f=2*xendswitchonum=input('请输入一个数');switchnumcase-1//注意case后面......
  • 每日总结(matlab)
    实验五:MATLAB最优化工具箱的使用(1)线性规划应用案例的求解1、基本要求通过一个农业生产计划优化安排的实例求解,培养学生解决实际线性规划问题的初步能力;熟悉线性规划的建模过程;掌握Matlab优化工具箱中线性规划函数的调用。2、主要内容某村计划在100公顷的土地上种植a、b、c三......