您现在的位置:首页 >> 网络协议 >> 内容

m基于时空特性的WSN网络节点故障诊断matlab仿真

时间:2023/1/6 19:07:09 点击:

  核心提示:05_047_m,包括程序操作录像+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56TlJhr

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览







3.算法概述

      无线传感器网络中故障节点会产生并传输错误数据,这将消耗节点的能量和带宽,同时会形成错误的决策。利用节点感知数据的空间相似性,提出了节点故障诊断的算法,通过对邻节点所感知的感数据进行比较,从而确定检测节点的状态,并将测试状态向网络中其他相邻节点进行扩散。对于网络中存在的节点瞬时故障,通过时间冗余的检测方法,降低故障诊断的虚警率。该算法对实现故障节点的检测具有较好的性能,实验结果验证了算法的可行性和有效性。

4.部分源码

%计算网络指标

    [Cc,Cc_avg]          = func_Cluster_Coeff(xk_ij);

%     disp(['聚类系数为:',num2str(Cc_avg)]);

    [Dds,Dds_avg,M,P_Dds]= func_Degree_Distribution(xk_ij); 

%     disp(['平均度为:',num2str(Dds_avg)]);   

 

 

    %状态cij计算

    c_ij = zeros(Note,Note);

    for j1 = 1:Note

        for j2 = 1:Note

            if xk_ij(j1,j2) == 1; 

                if abs(State(j1)-State(j2))<=epss

                   c_ij(j1,j2) = 0;

                else

                   c_ij(j1,j2) = 1; 

                end

            else

                c_ij(j1,j2) = 0;

            end

        end

    end

 

    %计算相似节点的相似程度,变量名字为ci

    ci = zeros(1,Note);

    for j1 = 1:Note

        tmp=0;

        for j2 = 1:Note

            if xk_ij(j1,j2) == 1; 

               if c_ij(j1,j2) == 0;

                  tmp=tmp+1;

               end

            end

        end

        ci(j1) = tmp;

    end

 

    %根据门限获得故障点

    for j1 = 1:Note

        if ci(j1)<5-theta1

           F(j1)=1; 

        end

    end

 

 

    %计算正确率

    L(jj) = length(find(F==F_real))/length(F_real);

    %计算虚警

    CNT = 0;

    for i = 1:length(F)

        if F_real(i)==0 & F(i)==1 

           CNT = CNT + 1;  

        end

    end

    LL(jj) = CNT/length(F);

    end

    L2(ki)= mean(L);

    LL2(ki)= mean(LL);

end

 

 

figure;

plot(Per,L2,'-bs',...

    'LineWidth',2,...

    'MarkerSize',6,...

    'MarkerEdgeColor','r',...

    'MarkerFaceColor',[0.7,0.7,0.4]);

xlabel('节点故障率');

ylabel('故障诊断精度');

axis([0.05,0.3,0.5,1]);

 

figure;

plot(Per,LL2,'-bs',...

    'LineWidth',2,...

    'MarkerSize',6,...

    'MarkerEdgeColor','r',...

    'MarkerFaceColor',[0.7,0.7,0.4]);

xlabel('节点故障率');

ylabel('虚警率');

axis([0.05,0.3,0,1]);

 

if theta1 == 1

   save R1.mat Per L2 LL2

end

if theta1 == 2

   save R2.mat Per L2 LL2

end

if theta1 == 3

   save R3.mat Per L2 LL2

end

 

 

 

 

 

 

figure;

bar(ci);

xlabel('节点数');

ylabel('c_i');

 

figure;  

subplot(211);

bar([1:Note],Dds);  

xlabel('节点编号');

ylabel('节点的度');

subplot(212);

bar([0:M],P_Dds,'b');

xlabel('节点的度');

ylabel('节点度的概率');

 

figure;

plot(X,Y,'bo');

hold on

hold on

for j1 = 1:Note

    for j2 = 1:Note

        if xk_ij(j1,j2) == 1;

           plot([X(j1),X(j2)],[Y(j1),Y(j2)],'m','linewidth',1); hold on

        end

    end

end

05_047_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168