✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
为了解决无线传感器网络中恶意节点成为簇头而引起的层次路由安全问题,提出了一种基于Mamdani模糊推理的可信簇头选举算法(TCEM)。TCEM算法根据节点的行为表现,采用贝叶斯原理评估节点信任值,在此基础上,结合密集度及向心度,使用Mamdani模糊推理方法计算节点优越度,选择最优者作为簇头,从而实现簇头的可信选举。仿真实验结果表明,该算法能有效阻止恶意节点成为簇头,且在簇头合理分布、网络整体能效等方面均有良好表现。
⛄ 部分代码
st1 = 27221; st2 = 4831; %定义随机数产生的状态
n = 7; k = 4; %汉明码的参数
msg = randint(k*500,1,2,st1); %信息序列
code = encode(msg,n,k,'hamming/binary'); %编码
%产生突发错误,使得相邻码字发生错误
errors = zeros(size(code)); errors(n-2:n+3) = [1 1 1 1 1 1];
inter = randintrlv(code,st2); %交织
inter_err = bitxor(inter,errors); %加入突发错误
deinter = randdeintrlv(inter_err,st2); %解交织
decoded = decode(deinter,n,k,'hamming/binary'); %译码
disp('Number of errors and error rate, with interleaving:');
[number_with,rate_with] = biterr(msg,decoded); %误码数据
%没有交织
code_err = bitxor(code,errors); %加入突发错误
decoded = decode(code_err,n,k,'hamming/binary'); %译码
disp('Number of errors and error rate, without interleaving:');
[number_without,rate_without] = biterr(msg,decoded) %误码数据
⛄ 运行结果
⛄ 参考文献
[1]韩维. 基于无线传感器网络的组播路由算法在智能监控系统中的应用[D]. 武汉科技大学, 2010.
[2]冯仁剑, 成坚, 许小丰,等. 基于Mamdani模糊推理的无线传感器网络可信簇头选举算法[J]. 高技术通讯, 2010(12):7.