• 面向无线传感器网络WSN的增强型MODLEACH设计与仿真(Matlab代码实现)


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

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

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

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

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码及文献


    💥1 概述

    摘要:无线传感器网络( WSNs )有望在不久的将来获得广泛的应用和日益广泛的部署。
    在本文中,我们提出了一个新的协议,阈值敏感协议
    稳定选举协议( Stable Election Protocol,TSEP ),是一种采用三层异构性的反应式选举协议。与前摄型网络不同,反应型网络对感兴趣的相关参数的变化立即做出反应。我们针对一个简单的温度传感应用评估了该协议的性能,并与其他一些协议LEACH,DEEC,SEP,
     Esep和teen .并且从仿真结果可以观察到,协议在使用的传感节点的寿命方面优于其他协议。

    能源效率是无线传感器网络 (WSN) 中的重新发送问题。分层路由或群集是降低 WSN 能耗的最佳解决方案。LICACH(低能耗自适应集群层次结构)是很好的分层协议。基于LIVEC引入了许多协议,但仍然存在能源效率问题。关于CH(簇头)选举算法,数据聚合,减少传输次数和不同功率水平的研究正在进行中。MODLEACH(改良浸出)使用三种传输功率级别,可降低网络中的能耗;此外,它还使用不同的集群头选择算法,其中节点的剩余能量大于阈值,它仍然是下一轮的集群头。MODLEACH中用于选举簇头的方程与LIVEC中使用的方程相同。我们通过在HEED(混合节能分布式聚类)中使用不同的簇头选择方程来增强MODLEACH,使其根据节点的剩余能量选择节点作为簇头。此外,我们还通过放置能量空洞去除机制来增强 MODLEACH,这样如果节点的能量低于阈值,它将节点置于睡眠模式。如果睡眠节点数大于 10,则将睡眠节点逐个置于活动模式。因此,我们的方法在第一个死节点、稳定期和数据包到基站 (BS) 或接收器方面延长了使用寿命。

    📚2 运行结果

    部分代码:

    1. %[vx,vy]=voronoi(X,Y);
    2. %%plot(X,Y,'r*',vx,vy,'b-');
    3. % %hold on;
    4. % voronoi(X,Y);
    5. % axis([0 xm 0 ym]);
    6. %STATISTICS.ALLIVE(r+1)
    7. P3.PACKETS_TO_BS3(r+1)=packets_TO_BS3;
    8. end
    9. r=0:10000;
    10. figure(1)
    11. plot(r,DEAD3,'--b');
    12. legend('TSEP');
    13. xlabel('Number of rounds');
    14. ylabel('Dead nodes');
    15. title('Nodes dead during rounds');
    16. figure(2)
    17. %subplot(2,2,2);
    18. plot(r,ALIVE3,'--b');
    19. legend('TSEP');
    20. xlabel('Number of rounds');
    21. ylabel('Alive nodes');
    22. title('Nodes alive during rounds');
    23. figure(3)
    24. plot(r,P3.PACKETS_TO_BS3,'--b');
    25. legend('ESEP','TSEP', 'HSEP','ECRSEP');
    26. xlabel('Number of rounds');
    27. ylabel('Throughput');
    28. title('Packets sent to the base station');

    %[vx,vy]=voronoi(X,Y);
    %%plot(X,Y,'r*',vx,vy,'b-');
    % %hold on;
    % voronoi(X,Y);
    % axis([0 xm 0 ym]);
    %STATISTICS.ALLIVE(r+1)
    P3.PACKETS_TO_BS3(r+1)=packets_TO_BS3;

    end
    r=0:10000;
    figure(1)

    plot(r,DEAD3,'--b');
    legend('TSEP');
    xlabel('Number of rounds');
    ylabel('Dead nodes');
    title('Nodes dead during rounds');

    figure(2)
    %subplot(2,2,2);
    plot(r,ALIVE3,'--b');
    legend('TSEP');
    xlabel('Number of rounds');
    ylabel('Alive nodes');
    title('Nodes alive during rounds');
    figure(3)

    plot(r,P3.PACKETS_TO_BS3,'--b');
    legend('ESEP','TSEP', 'HSEP','ECRSEP');
    xlabel('Number of rounds');
    ylabel('Throughput');
    title('Packets sent to the base station');

    🎉3 参考文献

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

    🌈4 Matlab代码及文献

  • 相关阅读:
    C++——模板初阶
    别看了!亚马逊选品工具全都在这儿了(上)
    LC926. 将字符串翻转到单调递增(JAVA - 动态规划)
    Redis缓存击穿及解决问题
    总结html5中常见的选择器
    Redis6.0使用了多线程还能保证线程安全么?-Redis6.0 多线程精讲
    MyEclipse报错javax/persistence/EntityManagerFactory
    Android8.0 后台服务保活的一种思路
    第十六章总结:反射和注解
    Linux常用命令(上).
  • 原文地址:https://blog.csdn.net/Yan_she_He/article/details/133379437