【LEACH低能耗自适应聚类层次】采用模糊逻辑LEACH协议研究(Matlab代码实现)

本文探讨了在无线传感器网络中,通过采用模糊逻辑来优化簇首选择,以减少能量消耗并延长网络寿命。与LEACH算法相比,这种方法考虑了节点的能量水平、集中度和中心性。文章还提供了MATLAB代码示例,展示了如何在实际环境中实施这种策略。
摘要由CSDN通过智能技术生成

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文档


💥1 概述

5.1 引言
传感器节点的能量供应是无线传感器网络设计中的主要约束之一。通过仅允许一些节点与基站通信,可以减少能量消耗。这些称为簇首的节点收集该簇中每个节点发送的数据,压缩数据然后将聚合数据传输到基站。适当的簇首选择可以显著减少能量消耗并增强WSN的寿命。

提出了一种基于三个描述符 - 能量、集中度和中心性的模糊逻辑方法来选择簇首 [16]。模拟显示,与仅使用本地信息概率地选择节点作为簇首相比,根据网络配置的不同,可以实现网络寿命的显著增加。对于一个簇,由基站选出的节点是具有最大机会成为簇首的节点,使用三个模糊描述符 - 节点集中度、每个节点的能量水平和节点相对于整个簇的中心性,从而减少所有节点的能量消耗,增加网络的寿命。

模糊逻辑控制能够在不完整信息的情况下做出实时决策。传统控制系统依赖于对环境的准确表示,而这在现实中通常不存在。模糊逻辑系统可以以自然的方式操纵语言规则,因此在这方面非常适用。此外,它可以用于通过混合不同的参数进行上下文推断 - 将规则组合在一起以产生适当的结果。

与一种称为LEACH(低能耗自适应聚类层次)的热门簇首选择技术进行比较。LEACH基于随机模型,采用了局部化聚类。节点自行选择作为簇首,而无需基站处理。附近的其他节点加入最近的簇首并向其传输数据。

5.2 假设
对于WSN场景,我们做出以下假设:
• 基站远离传感器节点且不可移动。
• 网络中的所有节点都是同质且能量受限的。
• 对称传播通道。
• 基站执行簇首选举。
• 节点在设置阶段向基站发送其位置信息及相应能量水平。
• 节点几乎不移动或不移动。

5.3 先前的簇首选举协议
已经提出了许多选择簇首的提案。在LEACH的情况下,为了成为簇首,每个节点n选择一个介于0和1之间的随机数。如果该数字小于阈值T(n),则该节点将成为当前轮次的簇首。详细文档见第4部分。

 

📚2 运行结果

部分代码:

function NetArch = newNetwork(Length, Width, sinkX, sinkY, initEnergy...
    , transEnergy, recEnergy, fsEnergy, mpEnergy, aggrEnergy)
% Create the network architecture with desired parameters
%   
%   Input:
%       Length      Length of the yard
%       Width       Width of the yard
%       sinkX       x cordination of base station
%       sinkY       y cordination of base station
%       initEnergy  Initial energy of each node
%       transEnergy Enery for transferring of each bit (ETX)
%       recEnergy   Enery for receiving of each bit (ETX)
%       fsEnergy    Energy of free space model
%       mpEnergy    Energy of multi path model
%       aggrEnergy  Data aggregation energy     
%   Example:
%       NetArch = createNetwork();

    %%%% Create the yard
    Yard.Type = 'Rect'; % Rectangular
    if ~exist('Length','var')
        Yard.Length = 100; % default of the yard is 100 in x cordination
    else
        Yard.Length = Length;
    end
    if ~exist('Width','var')
        Yard.Width = 100; % default of the yard is 100 in y cordination
    else
        Yard.Width = Width;
    end
    
    %%%% Create base station
    % x and y Coordinates of the base station
    % default of the base station is in the center of the yard
    if ~exist('sinkX','var')
        Sink.x = Yard.Length / 2;
    else
        Sink.x = sinkX;
    end
    if ~exist('sinkY','var')
        Sink.y = Yard.Width / 2;
    else
        Sink.y = sinkY;
    end

    %%%% Energy Model (all values in Joules)
    % Initial Energy
    if ~exist('initEnergy','var')
        Energy.init = 0.5; 
    else
        Energy.init = initEnergy; 
    end
    
    % Enery for transferring of each bit (ETX)
    if ~exist('transEnergy','var')
        Energy.transfer = 50*0.000000001;
    else
        Energy.transfer = transEnergy; 
    end
    if ~exist('recEnergy','var')
        Energy.receive = 50*0.000000001;
    else
        Energy.receive = recEnergy; 
    end
    
    % Transmit Amplifier types
    if ~exist('recEnergy','var')
        Energy.freeSpace = 10*0.000000000001;
    else
        Energy.freeSpace = fsEnergy; 
    end
    if ~exist('recEnergy','var')
        Energy.multiPath = 0.0013*0.000000000001;
    else
        Energy.multiPath = mpEnergy; 
    end
    
    %Data Aggregation Energy
    if ~exist('recEnergy','var')
        Energy.aggr = 5*0.000000001;
    else
        Energy.aggr = aggrEnergy; 
    end

    NetArch = struct('Yard',   Yard, ...
                     'Sink',   Sink, ...
                     'Energy', Energy);
end

🎉3 参考文献

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

[1]冉戈.基于模糊逻辑的无线传感器网络路由协议研究[D].山东大学,2011.DOI:10.7666/d.y1936629.

[2]闫会芹,何加铭,郑紫微,等.无线传感器网络模糊逻辑分簇路由协议[J].无线电通信技术, 2013, 39(6):5.DOI:10.3969/j.issn.1003-3114.2013.06.006.

[3]沈晓瑞.基于模糊逻辑的无线传感器网络分簇路由协议的研究[D].太原理工大学,2010.DOI:10.7666/d.d082588.

[4]杨健冬,王文娟.基于模糊逻辑推理的WSNs非均匀分簇算法[J].传感技术学报, 2017(6).DOI:10.3969/j.issn.1004-1699.2017.06.021.

🌈4 Matlab代码、文档

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值