💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥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.