查看: 1903|回复: 8|关注: 0

[已解决] matlab下EMD使用问题

[复制链接]

新手

7 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
  • 关注者: 1
小弟初学轴承故障诊断,使用网上的EMD分解例子出现问题。详细数据如下:
振动数据来源:西储大学轴承振动数据
matlab版本:2017a
详细故障问题:
下标索引必须为正整数类型或逻辑类型。
出错 getspline (line 5)
    s = spline([0 p N+1],[0 x(p) 0],1:N);
出错 emd1 (line 12)
其中使用的源代码emd.m  hua_baol.m hua_fft.m及故障数据已经上传至附件
希望大神能够帮忙解答问题。代码:
  1. x=X107_DE_time;%驱动计数段的内圈故障
  2. fs=12000;%采样率
  3. N=10240;%采样点数(100倍)
  4. M=0;%采样数据段的起始位置
  5. n=M:N-1;
  6. t=n/fs;%信号时间序列
  7. X=X107_DE_time(1:N);%装载 驱动计数端的内圈故障数据
  8. %X=X107_FE_time(1:N);%装载 风扇计数端的内圈故障数据
  9. %X=X107_BA_time(1:N);%装载 基础计数端的内圈故障数据
  10. %X=X107_DE_time(1:N)-X107_BA_time(1:N);
  11. y=X';%信号幅值序列
  12. k_in=kurtosis(y);%峭度系数,正常轴承为3左右
  13. figure;%画原始信号时域和频域图
  14. subplot(211);plot(t,y);title('原始信号时域波形');
  15. subplot(212);hua_fft(y,fs,1);title('原始信号频谱');
  16. figure;%原始信号的包络谱
  17. subplot(211);hua_baol(y,fs,1);title('原始信号包络谱');
  18. subplot(212);hua_baol(y,fs,1,0,500);title('原始信号部分频段包络谱');
  19. imf=emd(y);%经验模态分解
  20. figure;%前三个IMF分量
  21. subplot(311);plot(t,imf(1,:));title('IMF1时域波形图');
  22. subplot(312);plot(t,imf(2,:));title('IMF2时域波形图');
  23. subplot(313);plot(t,imf(3,:));title('IMF3时域波形图');
  24. figure;%前三个IMF分量频谱
  25. subplot(311);hua_fft(imf(1,:),fs,1);title('IMF1频谱');
  26. subplot(312);hua_fft(imf(2,:),fs,1);title('IMF2频谱');
  27. subplot(313);hua_fft(imf(3,:),fs,1);title('IMF3频谱');
  28. figure;%前三个IMF分量选择频段内的包络谱
  29. xf1=0;%需要查看的包络谱频率段起点频率
  30. xf2=1000;%需要查看的包络谱频率段终止频率
  31. subplot(311);hua_baol(imf(1,:),fs,1,xf1,xf2);title('IMF1包络谱');
  32. subplot(312);hua_baol(imf(2,:),fs,1,xf1,xf2);title('IMF2包络谱');
  33. subplot(313);hua_baol(imf(3,:),fs,1,xf1,xf2);title('IMF3包络谱');
复制代码
emd.m (1.18 KB, 下载次数: 49)
回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

9

主题

1638

帖子

347

最佳答案
  • 关注者: 81
发表于 2020-2-11 22:39:41 | 显示全部楼层 |此回复为最佳答案
你好,没有看到故障数据
回复此楼 已获打赏: 0 积分

举报

新手

7 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
  • 关注者: 1
 楼主| 发表于 2020-2-12 17:16:03 | 显示全部楼层
20141303 发表于 2020-2-11 22:39
你好,没有看到故障数据

你好,已经问题已经解决了,由于是由于样条插值中p没有取正,感谢。
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

9

主题

1638

帖子

347

最佳答案
  • 关注者: 81
发表于 2020-2-12 23:04:24 | 显示全部楼层
唐孙长_N6Hce 发表于 2020-2-12 17:16
你好,已经问题已经解决了,由于是由于样条插值中p没有取正,感谢。

客气了,问题解决了,就好
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


0

主题

2

帖子

0

最佳答案
发表于 2020-3-18 22:01:34 | 显示全部楼层
兄弟,首先感谢你分享的代码,我用你这个代码试了下,用的matlab2018b自带的emd,验证了凯斯西储大学的数据,发现对于滚珠故障不能明显找到故障频率,而且峭度还会出现小于3的情况(X118那组数据),不知道你有没有遇到同样的问题呢。
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


4

主题

15

帖子

0

最佳答案
发表于 2020-3-20 23:20:01 | 显示全部楼层
楼主方便分享一下修正后的代码和数据吗,小白学习下,,,万分感谢~
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


0

主题

2

帖子

0

最佳答案
发表于 2020-3-22 22:31:16 | 显示全部楼层
Freedom_wk 发表于 2020-3-20 23:20
楼主方便分享一下修正后的代码和数据吗,小白学习下,,,万分感谢~

数据的话可以百度“凯斯西储大学轴承”,能找到相应资源,PS:我没有发链接的权限:'(
至于修正后的代码...只有等楼主来解答了
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2020-3-24 23:04:03 来自手机 | 显示全部楼层
楼主你好,可以分享一下修正后的代码吗,万分感谢!
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


4

主题

12

帖子

0

最佳答案
发表于 2020-4-27 20:15:38 | 显示全部楼层
cgy7068 发表于 2020-3-18 22:01
兄弟,首先感谢你分享的代码,我用你这个代码试了下,用的matlab2018b自带的emd,验证了凯斯西储大学的数据 ...

我也遇到这样的问题,请问你解决了吗
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表