zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)

MATLAB代码 实现 基于 随机 旋转 电机 反馈
2023-09-14 09:14:28 时间

 👨‍🎓个人主页:研学社的博客  

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

1.1设备状态监测
在运行中,对设备的技术状态或特征参数进行连续采集,借以推断其工作正常与否;若处于异常状态,还需预测其劣化趋势及故障严重程度等,这一过程就称为状态监测。
1.2 设备故障诊断
设备故障诊断又叫设备状态诊断。它利用监测到的设备特征参数,通过数据处理,分析设备是否存在故障,并进一步预测设备的未来状态。
1.3 设备故障诊断的主要流程
设备故障诊断的主要流程如图1所示4,它包括状态信息库和故障档案库的建立、信号检测﹑特征提取、状态识别和预报决策等几个关键环节。

📚2 运行结果

 

部分代码:

% a and b are the bistable potential parameters
% h is the calculation step
% e is the feedback intensity
% t is the time delay
% x1 is the input signal
% x is the output signal
function x=tfsr(a,b,h,e,t,x1)

x=zeros(1,length(x1));
N=int32(t/h);

    for i=1:length(x1)-1
        
        if i<N
            k1=h*(a*x(i)-b*x(i).^3+x1(i));
            k2=h*(a*(x(i)+k1/2)-b*(x(i)+k1/2).^3+x1(i));
            k3=h*(a*(x(i)+k2/2)-b*(x(i)+k2/2).^3+x1(i+1));
            k4=h*(a*(x(i)+k3)-b*(x(i)+k3).^3+x1(i+1));
            x(i+1)=x(i)+(1/6)*(k1+2*k2+2*k3+k4);
                
        else 
            k1=h*(a*x(i)-b*x(i).^3+e*x(i-N+1)+x1(i));
            k2=h*(a*(x(i)+k1/2)-b*(x(i)+k1/2).^3+e*x(i-N+1)+x1(i));
            k3=h*(a*(x(i)+k2/2)-b*(x(i)+k2/2).^3+e*x(i-N+1)+x1(i+1));
            k4=h*(a*(x(i)+k3)-b*(x(i)+k3).^3+e*x(i-N+1)+x1(i+1));
            x(i+1)=x(i)+(1/6)*(k1+2*k2+2*k3+k4);
        end
    end
end

% a and b are the bistable potential parameters
% h is the calculation step
% e is the feedback intensity
% t is the time delay
% x1 is the input signal
% x is the output signal
function x=tfsr(a,b,h,e,t,x1)

x=zeros(1,length(x1));
N=int32(t/h);

    for i=1:length(x1)-1
        
        if i<N
            k1=h*(a*x(i)-b*x(i).^3+x1(i));
            k2=h*(a*(x(i)+k1/2)-b*(x(i)+k1/2).^3+x1(i));
            k3=h*(a*(x(i)+k2/2)-b*(x(i)+k2/2).^3+x1(i+1));
            k4=h*(a*(x(i)+k3)-b*(x(i)+k3).^3+x1(i+1));
            x(i+1)=x(i)+(1/6)*(k1+2*k2+2*k3+k4);
                
        else 
            k1=h*(a*x(i)-b*x(i).^3+e*x(i-N+1)+x1(i));
            k2=h*(a*(x(i)+k1/2)-b*(x(i)+k1/2).^3+e*x(i-N+1)+x1(i));
            k3=h*(a*(x(i)+k2/2)-b*(x(i)+k2/2).^3+e*x(i-N+1)+x1(i+1));
            k4=h*(a*(x(i)+k3)-b*(x(i)+k3).^3+e*x(i-N+1)+x1(i+1));
            x(i+1)=x(i)+(1/6)*(k1+2*k2+2*k3+k4);
        end
    end
end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Siliang Lu, Qingbo He, Haibin Zhang, Fanrang Kong. Journal of Vibration and Acoustics, Transactions of the ASME: 2015 ,137

[2]张子良.大型旋转电机故障诊断技术解析[J].电气自动化,2013,35(06):74-76.

[3]熊东尧. 基于图神经网络的旋转机械故障诊断方法[D].杭州电子科技大学,2022.DOI:10.27075/d.cnki.ghzdc.2022.000216.

🌈4 Matlab代码实现