【故障诊断】基于BP神经网络的电机数据特征提取与故障诊断软件设计附matlab代码

简介: 【故障诊断】基于BP神经网络的电机数据特征提取与故障诊断软件设计附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

伴随我国经济发展突飞猛进,电气化的应用越来越广,异步电动机因其经济、安全、高效、低耗被广泛应用于工业生产的各个领域。电动机一旦发生故障不仅会损坏电机本身,还会影响整个工业生产环节,从而造成巨大的经济损失。因此,如何对电机加强保护,对电机故障诊断提出了更高要求。本文对人工神经网络的基本原理进行了研究。利用MATLAB软件,建立基于BP网络的故障诊断结构,根据故障样本数据对网络进行训练,从而实现了对电机的诊断。

⛄ 部分代码

clear all

close all

%%%%%%%%加载数据

addpath(genpath('../.'))


data=importdata('s9.txt');

data1=data(1:3000,:);


%%%%%%%%01--时域分析

%%%%%%%02频域分析--傅里叶变换

fs=1000;

y=data1;

figure

subplot(211);plot(y,'k');

title('原始数据','Fontname', '宋体');

subplot(212);

[y_f,y_ft,nfft]=hua_fft(y,fs,1);


plot(y_f,2*abs(y_ft(1:nfft/2))/length(y));%

% subplot(313);hua_fft(y,fs,1,0,250);

title('FFT-show')

%%%%%%%%%%%%%%%%%%%%%%%%%%%

x=y;

nfft=64;                     % FFT长度

X=fft(x,nfft);               % FFT分析

ff=(0:(nfft/2-1))*fs/nfft;   % 频率刻度

n2=1:nfft/2;                 % 正频率索引号

X_abs=abs(X(n2))*2/nfft;     % 正频率部分的幅值谱

fe=50;                       % 中心频率

D=10;                        % 细化倍数f

[y,freq]=exzfft_ma(x,fe,fs,nfft,D);  % 细化分析

% 作图

figure

subplot 311;

plot(x,'k');

xlabel('时间/s','Fontname', '宋体');

ylabel('幅值','Fontname', '宋体');

title('时间序列','Fontname', '宋体');

subplot 312; plot(ff,X_abs,'k');

xlabel('频率/Hz','Fontname', '宋体');

ylabel('幅值','Fontname', '宋体');

title('细化分析前频谱','Fontname', '宋体');

grid;

subplot 313;

plot(freq,abs(y),'k'); grid;

% set(gca, 'XTickMode', 'manual', 'XTick');

% set(gca, 'YTickMode', 'manual', 'YTick');

xlabel('频率/Hz','Fontname', '宋体');

ylabel('幅值','Fontname', '宋体');

title('细化分析的频谱','Fontname', '宋体');

set(gcf,'color','w');


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

xn=data1;

ls=length(xn);

w_name='db6';

%对信号进行小波分解

[c,l]=wavedec(xn,5,w_name);%5层小波分解(层:尺度)

ca5=appcoef(c,l,w_name,5);% 提取一维小波变换低频系数(第五层的逼近系数)

cd5=detcoef(c,l,5);%提取一维小波变换高频系数 (细节系数)

cd4=detcoef(c,l,4);

cd3=detcoef(c,l,3);

cd2=detcoef(c,l,2);

cd1=detcoef(c,l,1);


%%%%%%%%%%%%%%%%%%%%%%%%%%%

% x=awgn(y1,SNR);

%消除噪声处理

x2=xn;%awgn(xn,2);

[thr,sorh,keepapp]=ddencmp('den','wv',x2);

s1=wdencmp('gbl',c,l,w_name,3,thr,sorh,keepapp);

figure;

subplot(211);

plot(xn,'k');

title('原始信号','Fontname', '宋体');


subplot(212);

plot(s1,'k');

title('小波去噪后的信号','Fontname', '宋体');

%%%%%%%%%%%%%%%%%%%%%%%%%%希尔伯特变换-------------

x=data1;

Emd_result = emd(x);%(x为要处理的信号)

[A,fa,tt] = hhspectrum(Emd_result);

[E2,ttt,ff] = toimage(A,fa);

% cemd_visu(x,1:length(x),Emd_result);

disp_hhs(E2);


⛄ 运行结果

⛄ 参考文献

[1]陈轶. 基于BP神经网络的模拟电路故障诊断[D]. 苏州大学.

[2]罗彩玉. 基于BP人工神经网络的电动机故障诊断[J]. 科技创业家, 2013(11):2.

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
|
1月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
70 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
2月前
|
安全 C#
某网络硬盘网站被植入传播Trojan.DL.Inject.xz等的代码
某网络硬盘网站被植入传播Trojan.DL.Inject.xz等的代码
|
3月前
|
安全 网络安全 开发者
探索Python中的装饰器:简化代码,增强功能网络安全与信息安全:从漏洞到防护
【8月更文挑战第30天】本文通过深入浅出的方式介绍了Python中装饰器的概念、用法和高级应用。我们将从基础的装饰器定义开始,逐步深入到如何利用装饰器来改进代码结构,最后探讨其在Web框架中的应用。适合有一定Python基础的开发者阅读,旨在帮助读者更好地理解并运用装饰器来优化他们的代码。
完成切换网络+修改网络连接图标提示的代码框架
完成切换网络+修改网络连接图标提示的代码框架
|
3月前
|
达摩院 供应链 JavaScript
网络流问题--仓储物流调度【数学规划的应用(含代码)】阿里达摩院MindOpt
本文通过使用MindOpt工具优化仓储物流调度问题,旨在提高物流效率并降低成本。首先,通过考虑供需匹配、运输时间与距离、车辆容量、仓库储存能力等因素构建案例场景。接着,利用数学规划方法,包括线性规划和网络流问题,来建立模型。在网络流问题中,通过定义节点(资源)和边(资源间的关系),确保流量守恒和容量限制条件下找到最优解。文中还详细介绍了MindOpt Studio云建模平台和MindOpt APL建模语言的应用,并通过实例展示了如何声明集合、参数、变量、目标函数及约束条件,并最终解析了求解结果。通过这些步骤,实现了在满足各仓库需求的同时最小化运输成本的目标。
|
3月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
120 0
|
3月前
|
安全 开发者 数据安全/隐私保护
Xamarin 的安全性考虑与最佳实践:从数据加密到网络防护,全面解析构建安全移动应用的六大核心技术要点与实战代码示例
【8月更文挑战第31天】Xamarin 的安全性考虑与最佳实践对于构建安全可靠的跨平台移动应用至关重要。本文探讨了 Xamarin 开发中的关键安全因素,如数据加密、网络通信安全、权限管理等,并提供了 AES 加密算法的代码示例。
59 0
|
3月前
|
安全 Apache 数据安全/隐私保护
你的Wicket应用安全吗?揭秘在Apache Wicket中实现坚不可摧的安全认证策略
【8月更文挑战第31天】在当前的网络环境中,安全性是任何应用程序的关键考量。Apache Wicket 是一个强大的 Java Web 框架,提供了丰富的工具和组件,帮助开发者构建安全的 Web 应用程序。本文介绍了如何在 Wicket 中实现安全认证,
43 0
|
3月前
|
机器学习/深度学习 数据采集 TensorFlow
从零到精通:TensorFlow与卷积神经网络(CNN)助你成为图像识别高手的终极指南——深入浅出教你搭建首个猫狗分类器,附带实战代码与训练技巧揭秘
【8月更文挑战第31天】本文通过杂文形式介绍了如何利用 TensorFlow 和卷积神经网络(CNN)构建图像识别系统,详细演示了从数据准备、模型构建到训练与评估的全过程。通过具体示例代码,展示了使用 Keras API 训练猫狗分类器的步骤,旨在帮助读者掌握图像识别的核心技术。此外,还探讨了图像识别在物体检测、语义分割等领域的广泛应用前景。
26 0