资讯详情

【WSN通信】基于Matlab LEACH融合树多跳传输协议【含Matlab源码 1897期】

一、 数据融合的LEACH协议简介

无线传感器网络中的一个簇可以使用无向加权全连通图G=(V,E)来表示,V是集群中所有传感器节点的集合,E可以直接通信簇中的两个节点。假设顶点v∈V代表簇中的传感器节点,边缘euv=(u,v)∈E代表顶点u和v相应的传感器节点可以直接通信。

LEACH能耗公式是无线传感器网络中常用的一级无线电模式[7],传感器节点在距离d上发送长度l bit消息消耗的能量是: 在这里插入图片描述 接收传感器节点l bit消息消耗的能量是: 其中:εamp是信号放大器的放大倍数;Eelec是发送电路和接收电路消耗的能量。

MA从节点u迁移到节点v的总能耗是: 式(3)中F(euv)表示数据集成能量。

用一个矩阵wnxn用来表示从簇中的任何节点到其他节点所需的能量Euv来表示边(u,v)的权值,n表示簇内的节点数,wij(i,j=0,1,2,…,n-1)表示从顶点i到顶点j所消耗的能量,wii=∞。

设MA由ID、由路由算法、数据缓存和处理测量数据代码组成,其中包含集成成员节点的部分测量数据。

基于自适应数据的集成LEACH协议的基本思想是:在LEACH网络的能耗主要体现在感知数据的传输和融合上。

传输能耗与MA迁移路由的计算MA的路由是TSP问题,本文采用最近的邻居算法,从簇开始,在所有成员节点中找到权重值(将传输能量和集成能量之和的最小边对应的节点添加到路径解中,然后在未访问的节点中找到与当前权重值相比最小的节点,添加到路径解中,等等,直到所有成员节点被访问,最后一个节点是簇头节点。

数据集成可以减少传输的数据量,从而减少传输能量,但数据集成本身可以导致能源成本。因此,当节省的传输能量大于数据集成成本时,数据集成有利于网络节能,否则会增加网络能耗。从这个分析可以看出,数据融合(自适应数据融合)应该是集群中成员节点的动态。当数据集成可以节省网络能耗时,数据集成(集成计算开关1);否则,不进行(集成计算开关0)。数据集成后在某个节点节省的能量实际上是按计算的MA从节点传输到簇头的能量与从节点传输到簇头的能量之间的差异。将差值与数据融合的能量进行比较,大于0时,在节点中进行数据融合,否则不进行。因此,在确定迁移路径后面的节点开关值后,必须确定集群中某个节点是否进行数据集成。因此,对于迁移路径上的节点顺序,每个节点的集成开关值是逆序计算的。

集群中成员节点的数据收集和处理过程是:根据集群中成员节点的数量生成集群节点TDMA时间表、簇头节点根据MA每个移路由中,每个节点的顺序依次为每个成员分配通信间隙,成员节点只能在其特定间隙内与簇创建MA此时,集群中的其他成员节点关闭通信模块以节省能量。然后,簇头节点MAE创建创建和派遣MA,MA根据已计算的迁移路由和各节点的集成,从簇头开始计算开关值,MA当融合计算开关为1(0)时,依次迁移到每个节点,MA携带的数据缓存中的数据与相应节点收集的数据(不进行)集成MA将集成处理后的数据带回簇头,完成数据收集。

基于自适应数据的集成LEACH协议的基本思想简述如下三点:

(1)计算MA迁移路由(子函数1)

根据最近邻居算法计算MA迁移路径:从簇头出发,依次取权值(传输能量与融合能量之和)的最小边对应点加入当前解中,直至形成回路解。

(2)计算自适应数据融合开关值(子函数2)

假设是通过子函数1获得的MA迁移路由为{x0,x1,x2…,xk,xk 1,…,xn-1,x0}(其中x0为簇头),未集成的感知数据从某个节点传输到簇头的能量与集成的数据从节点传输到簇头节点的能量差。当差值与数据集成的能量进行比较时,节点数据集成,集成计算开关1;否则,不进行数据集成,集成计算开关0。由于节点xk必须知道它后面的节点xk 1,…,xn-1的集成计算开关值可以计算自己的开关值,因此逆序求解In-1,In-2,…,I2,I1.也就是说,得出哪些节点中哪些节点,哪些节点不进行。

(3)收集簇内所有成员节点的数据(主函数)

调用子函数1,求出MA的迁移路径{x0,x1,x2,…,xk,xk 1,…,xn-1,x0};

调用子函数2,根据子函数1的迁移路径计算开关值In-1,In-2,…,I2,I1;

派遣簇头节点MA,收集节点xi(i=1,2,…,n-1)根据感知数据Ii=(或0)节点的值融合(或不融合)xi感知数据和MA数据缓存中的数据,最后将所有数据汇总到簇头节点。

二、部分源代码

clear;  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Field Dimensions - x and y maximum (in meters)
xm=100;
ym=100;

%x and y Coordinates of the Sink
sink.x=0.5*xm;%基站x轴
sink.y=0.5*ym;%基站y轴

%Number of Nodes in the field
n=100;

%包的大小
packetLength = 4000;%数据包长度   
ctrPacketLength = 32;%控制包长度 

%Optimal Election Probability of a node
%to become cluster head
p=0.05;

%Energy Model (all values in Joules)
%Initial Energy 
Eo=0.02;
%Eelec=Etx=Erx
ETX=50*0.000000000001;
ERX=50*0.000000000001;
%Transmit Amplifier types
Efs=10*0.000000000001;
Emp=0.0013*0.000000000001;
%Data Aggregation Energy
EDA=5*0.000000000001;

fid=fopen('D://实验结果//wst_leach_number.txt','w');
fid1=fopen('D://实验结果//wst_leach_energy.txt','w');

%融合率
cc=0.6;
%Values for Hetereogeneity
%Percentage of nodes than are advanced
m=0.1;
%\alpha
a=1;

%maximum number of rounds
rmax=3000;

%%%%%%%%%%%%%%%%%%%%%%%%% END OF PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%

%Computation of do
do=sqrt(Efs/Emp);

%Creation of the random Sensor Network
figure(1);
for i=1:1:n
    S(i).xd=rand(1,1)*xm;
    XR(i)=S(i).xd;
    S(i).yd=rand(1,1)*ym;
    YR(i)=S(i).yd;
    S(i).G=0;
    %initially there are no cluster heads only nodes
    S(i).type='N';
    %Random Election of Normal Nodes
    S(i).E=Eo;
    plot(S(i).xd,S(i).yd,'o');
    hold on;

    %Random Election of Advanced Nodes
end

三、运行结果

四、matlab版本及参考文献

2014a

[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015. [2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020. [3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018. [4]黄利晓,王晖,袁利永,曾令国.基于能量均衡高效WSN的LEACH协议改进算法[J].通信学报第38卷第Z2期 [5]王培东,袁召兰,王瑜.基于自适应数据融合的LEACH路由协议[J].电子技术应用. 2011,37(07)

简介此部分摘自互联网,仅供参考,若侵权,联系删除

标签: tsp100传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台