面向WSN的节能睡眠觉醒感知(EESAA)智能路由协议(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

摘要——近年来,无线传感器网络(WSN)在人类无法触及的环境中的应用越来越多,并得到了极大的关注和解决。为了优化网络的工作效率,已经提出了许多路由算法,主要关注能源效率、网络寿命和聚类过程。考虑到网络的同质性,我们为WSN提出了一种节能睡眠觉醒感知(EESAA)智能路由协议。在我们提出的技术中,我们评估并增强了一些问题,如网络稳定性、网络寿命和集群头选择过程。通过利用传感器节点之间的特性匹配概念,优化了能量利用率。仿真结果表明,我们提出的协议显著改善了网络参数,可作为WSN的有用方法。

在人类无法企及的环境中,无线传感器网络(WSN)的应用越来越广泛,并得到了极大的重视和解决。

为了优化无线传感器网络的工作效率,我们已经提出了许多路由算法,重点关注能源效率、网络寿命和聚类过程。在考虑到网络的同质性的基础上,我们提出了一种面向WSN的节能睡眠觉醒感知(EESAA)智能路由协议,以进一步改进网络性能。

在我们提出的技术中,我们对一些问题进行了评估和增强,包括网络稳定性、网络寿命和集群头选择过程。通过利用传感器节点之间的特征配对概念,我们优化了能量利用率,从而提高了网络的整体效能。

通过对所提出的协议进行仿真实验,我们得到了令人鼓舞的结果。这种协议显著改善了网络的各项参数,包括数据传输延迟、能量消耗和网络容量等。这证明,我们的提出的协议是一种可行且有效的路由方案,可以作为WSN中的有用方法。

未来,我们将继续对该协议进行改进和优化,并与其他研究人员进行合作,以推动无线传感器网络领域的进一步发展。我们期待这项研究能够对WSN在各种环境中的应用提供有益的参考,并为实际的网络部署提供技术支持,创造更多的机会和潜力。

📚2 运行结果

部分代码:

rmax=3000;             %%%number of rounds%%%
cluster_range=20;
do=sqrt(Efs/Emp);
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;
    %%%S(i).E=Eo*(1+rand*a); %%% hetrogenous energy for normal nodes with different staritng nodes %%%%
    S(i).E=Eo         %%% for homogenous energy distribution %%%
    %%%initially there are no cluster heads only nodes%%%
    S(i).type='N';    %%% defines type of node %%%%
    S(i).neighbour_flag=0;
    S(i).checked=0;
    S(i).id=i;
    S(i).CH_FLAG=1;
% plot(S(i).xd,S(i).yd,'o','LineWidth',2,   'MarkerEdgeColor','b','MarkerFaceColor',[1 0.4 .3],'MarkerSize',10)
%     grid on;
%     hold on;
end

S(n+1).xd=sink.x;    %%% BTS x coordinate%%%
S(n+1).yd=sink.y;    %%% BTS y cooordinate%%%
% plot(S(n+1).xd,S(n+1).yd,'h','LineWidth',2,   'MarkerEdgeColor','b','MarkerFaceColor','g','MarkerSize',12)

countCHs=0;
cluster=1;
flag_first_dead=0;
flag_teenth_dead=0;
flag_all_dead=0;

dead=0;
first_dead=0;
teenth_dead=0;
all_dead=0;

allive=n;
%%%counter for bit transmitted to Bases Station and to
%%%Cluster Heads %%%
packets_TO_BS=0;
packets_TO_CH=0;
temp_neighbour_distance=0;
x=1;
y=1;
figure(1);
%%% FORMATION OF PAIRS AMOUNG NODES %%%
for i=1:1:n
    neig_distance=Inf;
    if(S(i).E>0 && S(i).neighbour_flag==0)
        ID=0;
        for h=1:1:n
            if(S(h).E>0 && S(h).neighbour_flag==0)
                if(h~=i)
                    temp_neighbour_distance= sqrt( (S(i).xd-(S(h).xd) )^2 + (S(i).yd-(S(h).yd) )^2 );
                    if(temp_neighbour_distance<=range)
                        if(temp_neighbour_distance<neig_distance)
                            neig_distance=temp_neighbour_distance;
                            ID=h;
                        end
                    end
                end
            end
        end
        if (ID>0)
            S(i).neighbour=ID;
            S(i).mode='A';
            S(i).neighbour_flag=1;
            S(ID).neighbour_flag=1;
            S(ID).neighbour=i;
            S(ID).mode='S';
            P.pair(x)=ID;
            P.axis(x)=S(i).xd;
            x=x+1;
%                                hold on;

rmax=3000;             %%%number of rounds%%%
cluster_range=20;
do=sqrt(Efs/Emp);
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;
    %%%S(i).E=Eo*(1+rand*a); %%% hetrogenous energy for normal nodes with different staritng nodes %%%%
    S(i).E=Eo         %%% for homogenous energy distribution %%%
    %%%initially there are no cluster heads only nodes%%%
    S(i).type='N';    %%% defines type of node %%%%
    S(i).neighbour_flag=0;
    S(i).checked=0;
    S(i).id=i;
    S(i).CH_FLAG=1;
% plot(S(i).xd,S(i).yd,'o','LineWidth',2,   'MarkerEdgeColor','b','MarkerFaceColor',[1 0.4 .3],'MarkerSize',10)
%     grid on;
%     hold on;
end

S(n+1).xd=sink.x;    %%% BTS x coordinate%%%
S(n+1).yd=sink.y;    %%% BTS y cooordinate%%%
% plot(S(n+1).xd,S(n+1).yd,'h','LineWidth',2,   'MarkerEdgeColor','b','MarkerFaceColor','g','MarkerSize',12)

countCHs=0;
cluster=1;
flag_first_dead=0;
flag_teenth_dead=0;
flag_all_dead=0;

dead=0;
first_dead=0;
teenth_dead=0;
all_dead=0;

allive=n;
%%%counter for bit transmitted to Bases Station and to
%%%Cluster Heads %%%
packets_TO_BS=0;
packets_TO_CH=0;
temp_neighbour_distance=0;
x=1;
y=1;
figure(1);
%%% FORMATION OF PAIRS AMOUNG NODES %%%
for i=1:1:n
    neig_distance=Inf;
    if(S(i).E>0 && S(i).neighbour_flag==0)
        ID=0;
        for h=1:1:n
            if(S(h).E>0 && S(h).neighbour_flag==0)
                if(h~=i)
                    temp_neighbour_distance= sqrt( (S(i).xd-(S(h).xd) )^2 + (S(i).yd-(S(h).yd) )^2 );
                    if(temp_neighbour_distance<=range)
                        if(temp_neighbour_distance<neig_distance)
                            neig_distance=temp_neighbour_distance;
                            ID=h;
                        end
                    end
                end
            end
        end
        if (ID>0)
            S(i).neighbour=ID;
            S(i).mode='A';
            S(i).neighbour_flag=1;
            S(ID).neighbour_flag=1;
            S(ID).neighbour=i;
            S(ID).mode='S';
            P.pair(x)=ID;
            P.axis(x)=S(i).xd;
            x=x+1;
%                                hold on;

🎉3 参考文献

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

[1]鲁道刚.面向节能WSN的分簇路由与自适应MAC算法研究[D].西南科技大学,2019.

[2]汪振飞,孙博.睡眠调度MAC协议在WSN中的应用[J].数字化用户, 2014, 000(006):1-1.DOI:10.3969/j.issn.1009-0843.2014.06.001.

[2]童国顺.基于sink的WSN节能路由技术研究[D].广西大学,2016.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值