异构无线传感器网络路由算法研究(Matlab代码实现)

news/2024/7/7 22:48:16

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码

💥1 概述

​无线传感器网络(Wireless Sensor Networks, WSN)是一种新型的融合传感器、计算机、通信等多学科的信息获取和处理技术的网络,其在工业和军事领域具有广泛的应用前景。目前对于WSN的研究主要局限于同构WSN领域,与同构WSN不同,异构传感器网络中的传感器节点拥有不同的资源配置,如计算能力、通信能力、存储能力、电源能量等,更能满足实际应用场景对WSN的需求,因此设计合理的基于异构传感器网络的路由协议成为异构传感器网络领域的主要研究问题之一。 

📚2 运行结果

主函数部分代码:

clc;
clear all;
close all;
 
% Simulation Parameters
 
%Field dimensions in meters
xm = 200;
ym = 200;
 
%initial x and y coordinates of the Sink
sink.x = 0;
sink.y = ym*0.5;
 
%Number of Nodes in the field
n = 600;
 
%Optimal Election Probability of a node
%to become cluster head
p_opt = 0.1;
 
L = 4000;   % packet length
 
%Energy Model
Eo = 0.5;                      %Initial Energy
E_elec=50*0.000000001;         % energy consumed by radio electronics in transmit/receive mode(J/bit)
E_fs=10*0.000000000001;        %energy consumed by the power amplifier on the free space model(J/bit/m2)
E_mp=0.0013*0.000000000001;    %energy consumed by the power amplifier on the multi path model(J/bit/m4)
E_DA=5*0.000000001;            % energy consumed for data aggregation(J/bit/signal)
 
INFINITY = 999999999999999;
 
%maximum number of rounds
rmax=15000;
 
%threshold distance
do= 70;
 
m = 0.75;
a = 2;
m0 = 0.525;
b = 2.5;
m1 = 0.225;
u = 3;
 
c=0.02;
z=0.71;
T_absolute= z*Eo;
 
cr=5;                      % compression ratio
 
S = struct;
S.xd = zeros(n,1);
S.yd = zeros(n,1);
S.E = zeros(n,1);
S.type = zeros(n,1);
S.G = zeros(n,1);
S.CH = zeros(n,1);
S.D = zeros(n,1);
S.T = zeros(n,1);
S.min_dis_cluster= zeros(n,1);
S.dis_to_cluster= zeros(n,1);
 
C = struct;
C.id= zeros(25,1);
C.xd= zeros(25,1);
C.yd= zeros(25,1);
C.E= zeros(25,1);
C.member= zeros(25,1);
 
R = struct;
R.id= zeros(100,1);
R.xd= zeros(100,1);
R.yd= zeros(100,1);
 
p = zeros(n,1);
E = zeros(n,1);
DEAD = zeros(rmax,1);
RES = zeros(rmax,1);
 
% Creation of four-level heterogeneous network 
% Normal Nodes
for i=1:1:240
    S(i).xd = xm*rand(1,1);
    S(i).yd = ym*rand(1,1);
    S(i).E = Eo;
    S(i).type = 'N';
    S(i).G = 1;
    S(i).CH = 0;
    S(i).D = 0;
    S(i).R = 0;
    S(i).min_dis_cluster=0;
    S(i).dis_to_cluster=0;
    figure(3);
    plot(S(i).xd,S(i).yd,'o', 'MarkerSize', 3, 'MarkerFaceColor', 'g');
    hold on;
end

🎉3 参考文献

[1]王若霖. 基于群智能算法的异构WSN节点部署优化研究[D].哈尔滨工程大学,2020.

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


http://lihuaxi.xjx100.cn/news/1089839.html

相关文章

存储资源调优技术——智能缓存分区

SmartPratition智能缓存分区 基本概念 本质上就是一种Cache分区技术 通过对系统核心资源的分区(隔离不同业务所需要的缓存资源),保证关键应用的性能 工作原理 用户可以以LUN或文件系统为单位设置SmartPartition分区 每个SmartPartition分区的…

改进YOLOv5: | 涨点神器 | 即插即用| ICLR 2022!Intel提出ODConv:即插即用的动态卷积

OMNI-DIMENSIONAL DYNAMIC CONVOLUTION ODConv实验核心代码ODConv代码yaml文件运行:论文链接: https://openreview.net/forum?id=DmpCfq6Mg39 本文介绍了一篇动态卷积的工作:ODConv,其通过并行策略采用多维注意力机制沿核空间的四个维度学习互补性注意力。作为一种“即插…

《用于准确连续非侵入性血压监测的心跳内生物标志物》阅读笔记

目录 0 基础知识 1 论文摘要 2 论文十问 3 实验结果 4 论文亮点与不足之处 5 与其他研究的比较 6 实际应用与影响 7 个人思考与启示 参考文献 0 基础知识 非侵入性是指在进行医学检查或治疗时,不需要切开皮肤或穿刺体内组织,而是通过外部手段进…

C语言-学习之路-03

C语言-学习之路-03 程序流程结构选择结构if语句if...else...语句三目运算符switch语句 循环结构while语句do...while语句for语句嵌套循环 跳转语句break、continue、gotobreak语句continue语句goto语句 程序流程结构 C语言支持最基本的三种程序流程结构:顺序结构、…

【Linux】文件与路径

一、Linux相关软件 xftp:用来传文件 xshell:用来敲命令 二、Linux的文件结构 windows系统下设有盘符:如C盘、D盘等,Linux没有盘符的概念,只有一个根目录/,所有文件都在它下面。 在根目录下输入命令ls&am…

Linux运维:makefile

一.makefile 1.makefile介绍 Makefile 是一种用于自动化构建的文件,它描述了一个软件项目的编译规则和依赖关系,并提供了一些工具来自动执行这些规则。 Makefile 的主要作用如下: 自动化编译:通过 Makefile,可以定…

kubernetes安全框架RBAC

目录 一、Kubernetes 安全概述 二、鉴权、授权和准入控制 2.1 鉴权(Authentication) 2.2 授权(Authorization) 2.3 准入控制 三、基于角色的权限访问控制: RBAC 四、案例:为指定用户授权访问不同命名空间权限 一、Kubernetes 安全概述 K8S安全控…

基于vue的高校食堂管理信息系统

本管理系统网站主要分为前端和后端两大板块,其中包括了几个功能模块,其中以前台管理模块和后台管理模块最为重要。下面分别介绍一下这几个功能模块。 1.消费者模块(前台) 消费者模块主要用于高校消费者者信息的注册,登…