【路由协议】使用按需路由协议和数据包注入的即时网络模拟传递率(PDR)、总消耗能量和节点消耗能量以及延迟研究(Matlab代码实现)

news2024/11/19 23:31:06

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

使用按需路由协议和数据包注入的即时网络模拟。该模拟提供数据包传递率(PDR)、总消耗能量和节点消耗能量以及延迟。

按需路由协议是一种基于需求的路由协议,它只在需要传输数据时才选择合适的路径进行传输,而不是预先建立路径。数据包注入是一种常见的实验方法,通过向网络中注入数据包来模拟网络传输。

研究即时网络中使用按需路由协议和数据包注入的传递率(Packet Delivery Ratio,PDR),可以评估网络的可靠性。PDR表示成功传递到目的地的数据包比例,可以通过统计发送的数据包和接收到的数据包数量来计算。

同时,研究总消耗能量和节点消耗能量可以评估网络的能源效率。总消耗能量指的是整个网络在传输过程中所消耗的能量,而节点消耗能量指的是每个节点在传输过程中所消耗的能量。这些能量消耗可以通过模拟实验或者实际测试来获得。

此外,研究延迟可以评估网络的传输效率。延迟是指从数据包发送到数据包到达目的地所经过的时间。可以通过记录数据包的发送时间和到达时间来计算延迟。

综上所述,使用按需路由协议和数据包注入的即时网络模拟可以研究传递率、能量消耗和延迟等关键指标,从而评估网络的可靠性、能源效率和传输效率。这些研究可以为网络设计和优化提供重要的参考。

📚2 运行结果

 

 

 

 

部分代码:

global position N
N=50; % Number of Nodes in network
position=randsrc(2,N,1:1000); % set position of each node in network 1000x1000 meters
S=1; % Source Node
D=50; % Destination Node
Net=zeros(N);
range=250; % Radio propagation range of each node (meter)
plot(position(1,:),position(2,:),'ro');
title('Network');
xlabel('x (m)');
ylabel('y (m)');
grid();
hold on

for i=1:N
    for j=1:N
        if i~=j && dist(position(:,i)',position(:,j))<=range
            Net(i,j)=1; %Connection between 2 nodes (i,j)
            line([position(1,i),position(1,j)],[position(2,i),position(2,j)]);
        end
    end
end
plot(position(1,S),position(2,S),'ks');
plot(position(1,D),position(2,D),'g^');

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]徐海涛.水下传感网络能耗均衡的路由协议研究[D].桂林电子科技大学,2020.

[2]黄浩军.无线Ad Hoc网络中能量优化的路由协议研究[D].电子科技大学,2012.DOI:CNKI:CDMD:1.1012.473961.

[3]张倩玉.移动Ad Hoc网络中基于能量耗散率的ODMRP路由协议的研究与实现[D].东北大学,2011.DOI:10.7666/d.J0119753.

🌈4 Matlab代码实现

回复:代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/886031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

根据二叉树创建字符串

题目:给你二叉树的根节点 root &#xff0c;请你采用前序遍历的方式&#xff0c;将二叉树转化为一个由括号和整数组成的字符串&#xff0c;返回构造出的字符串。 空节点使用一对空括号对 "()" 表示&#xff0c;转化后需要省略所有不影响字符串与原始二叉树之间的一对…

数学建模之“层次分析法”原理和代码详解

一、层次分析法简介 层次分析法&#xff08;Analytic Hierarchy Process&#xff0c;AHP&#xff09;是一种用于多准则决策分析和评估问题的定量方法&#xff0c;常用于数学建模中。它是由数学家托马斯赛蒂&#xff08;Thomas Saaty&#xff09;开发的。 层次分析法将复杂的决…

C++(Qt)软件调试---gdb调试入门用法(12)

gdb调试—入门用法&#xff08;1&#xff09; 文章目录 gdb调试---入门用法&#xff08;1&#xff09;1、前言1.1 什么是GDB1.2 为什么要学习GDB1.3 主要内容1.4 GDB资料 2、C/C开发调试环境准备3、gdb启动调试1.1 启动调试并传入参数1.2 附加到进程1.3 过程执行1.4 退出调试 4…

Debian11 Crontab

Crontab用户命令 可执行文件 crontab命令的可执行文件在哪儿&#xff1f; $ which -a crontab /usr/bin/crontab /bin/crontabcrontab命令的可执行文件有2个&#xff1a;/usr/bin/crontab 和 /bin/crontab $ diff /usr/bin/crontab /bin/crontab $diff 发现这两个文件并无区…

学习pytorch4 transforms的使用

学习pytorch4 transforms用法 常用类ToTensor1. ToTensor如何使用2. 为什么我们需要tensor数据类型PIL数据类型![在这里插入图片描述](https://img-blog.csdnimg.cn/f642055ddbfc4c228066331fc3cd53bf.png)tensor数据类型 代码tensorboard 启动命令 B站小土堆视频学习 常用类T…

Ubuntu20 ctrl+alt+T无法打开终端

事情是这样的&#xff0c;某天改了下python版本&#xff0c;发现linux默认打开终端的快捷键ctrlaltT寄了&#xff0c;网上给出的都是修改快捷键不出意外肯定没用 但是幸好我们是会分析的&#xff0c;我看到&#xff0c;很多回答说新增一个快捷键运行的命令是gnome-terminal&…

pycharm上传项目到github,版本管理

前提&#xff1a;下载git 设置Git路径 登录Github 此时自动打开浏览器&#xff0c;并打开连接页面&#xff0c;点击 Authorize GitHub。登录&#xff1a; 创建本地仓库 提交到Github 填写初始提交相关信息 origin&#xff0c;它们只是远程服务器的一个别名&#xff0c;否则你就…

计算机竞赛 python+大数据校园卡数据分析

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于yolov5的深度学习车牌识别系统实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&am…

IC流程中 DFT 学习笔记(1)

引言 DFT是ASIC芯片设计流程中不可或缺的环节。其主要目的是在芯片前端设计验证完成后插入一些诸如寄存器链等可供测试的逻辑&#xff0c;算是IC后端设计的范畴。主要是在ASIC芯片流片完成后&#xff0c;通过这些已插入的逻辑&#xff0c;检测流片得到的芯片的制造质量。检测一…

聚簇索引是如何产生的 ?聚簇索引和非聚簇索引有什么区别 ?

目录 1. 聚簇索引是如何产生的 2. 聚簇索引和非聚簇索引有什么区别 1. 聚簇索引是如何产生的 首先聚簇索引和非聚簇索引是 InnoDB 里面的叫法&#xff0c;其次呢&#xff0c;一张表它一定有聚簇索引。 它产生的过程如下&#xff1a; 表中有无有主键索引&#xff0c;如果有&…

拦截器和过滤器的区别

&#x1f600;前言 本篇博文是关于拦截器VS 过滤器的分享&#xff0c;希望你能够喜欢&#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我…

day10 11 12-牛客67道剑指offer-JZ83、18、84、69、44、11、56、85、84、89、68

文章目录 1. JZ83 剪绳子&#xff08;进阶版&#xff09;2. JZ18 删除链表的节点3. JZ69 跳台阶4. JZ44 数字序列中某一位的数字5. JZ11 旋转数组的最小数字6. JZ56 数组中只出现一次的两个数字统计频率位运算 7. JZ85 连续子数组的最大和(二)8. JZ84 二叉树中和为某一值的路径…

set_output_delay的本质

set_output_delay是对模块output信号在模块外部延迟的约束&#xff0c;本质上EDA工具会根据约束调整内部器件&#xff08;UFF0&#xff09;的类型&#xff0c;摆放位置以及组合逻辑&#xff08;C1&#xff09;以满足约束要求&#xff0c;即EDA工具保证模块DUA的UFF0的Tclk2qTc1…

复数

文章目录 复数虚数 i i i几何解释 复数复数的性质复数的加法1. 加实部2. 加虚部3. 组合实部和虚部复数加法的几何解释总结 复数减法1. 减实部2. 减虚部3. 组合实部和虚部复数减法的几何解释总结 复数乘法1. 展开乘法2. 使用 i 2 − 1 i^2 -1 i2−13. 合并实部和虚部复数乘法…

100 道 Python 经典面试题超强汇总(三):Python 对象内部

《Python Cookbook》的作者David Beazley的课程PPT开源了&#xff0c;目标用户是希望从编写基础脚本过渡到编写更复杂程序的高级 Python 程序员&#xff0c;课程主题侧重于流行库和框架中使用的编程技术&#xff0c;主要目的是更好地理解 Python 语言本身&#xff0c;以便阅读他…

(JavaScript笔记摘要)一次性搞定原型和原型链

一、前言 学完JavaScript ES5基础语法&#xff08;核心语法&#xff09;后&#xff0c;发现根本不够用&#xff0c;于是选择继续精进JavaScript功底 学到原型和原型链时&#xff0c;发现有点卡壳儿&#xff0c;于是投入了一定精力&#xff0c;进行了汇总整理和吸收&#xff0c…

知识体系总结(九)设计原则、设计模式、分布式、高性能、高可用

文章目录 架构设计为什么要进行技术框架的设计 六大设计原则一、单一职责原则二、开闭原则三、依赖倒置原则四、接口分离原则五、迪米特法则&#xff08;又称最小知道原则&#xff09;六、里氏替换原则案例诠释 常见设计模式构造型单例模式工厂模式简单工厂工厂方法 生成器模式…

【Kubernetes】Kubernetes之配置资源管理

Secret 和 ConfigMap 一、Secret1. Secret 的作用2. Secret 的类型3. Secret 使用方式及应用场景4. Secret 的实例4.1 创建 Secret4.2 使用方式将 Secret 挂载到 Volume 中&#xff0c;以 Volume 的形式挂载到 Pod 的某个目录下将 Secret 导出到环境变量中 二、 ConfigMap1. Co…

由于找不到mfc140u.dll,无法继续执行代码怎么修复?

当我在使用某个应用程序时遇到了mfc140u.dll缺失的错误提示时&#xff0c;我意识到这是由于该动态链接库文件丢失或损坏所引起的。mfc140u.dll是MFC的一部分&#xff0c;它包含了许多与用户界面、窗口管理、控件等相关的函数和类。这个文件通常用于支持使用MFC开发的应用程序的…