ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

matlab使用经验模式分解emd 对信号进行去噪

2021-05-12 15:03:57  阅读:192  来源: 互联网

标签:emd IMF 残差 分解 matlab 信号 SiftMaxRelativeTolerance


原文链接 : http://tecdat.cn/?p=2567

 

对于这个例子,考虑由具有明显频率变化的正弦波组成的非平稳连续信号。手提钻的振动或烟花声是非平稳连续信号的例子。

以采样频率加载非平稳信号数据fs,并可视化混合正弦信号。

load('sinusoidalSignalExampleData.mat','X','fs'); 
 
xlabel('Time(s)');

观察到混合信号包含具有不同幅度和频率值的正弦波。

为了创建希尔伯特谱图,您需要信号的IMF。执行经验模式分解以计算信号的固有模式函数和残差。由于信号不平滑,请指定' pchip'作为Interpolation方法。

[imf,residual,info] = emd(X,'Interpolation','pchip');
目前的IMF | #Sift Iter | 相对Tol | 停止标准命中   
      1 | 2 | 0.026352 | SiftMaxRelativeTolerance 
      2 | 2 | 0.0039573 | SiftMaxRelativeTolerance 
      3 | 1 | 0.024838 | SiftMaxRelativeTolerance 
      4 | 2 | 0.05929 | SiftMaxRelativeTolerance 
      5 | 2 | 0.11317 | SiftMaxRelativeTolerance 
      6 | 2 | 0.12599 | SiftMaxRelativeTolerance 
      7 | 2 | 0.13802 | SiftMaxRelativeTolerance 
      8 | 3 | 0.15937 | SiftMaxRelativeTolerance 
      9 | 2 | 0.15923 | SiftMaxRelativeTolerance
分解停止是因为残留信号的极值数小于'MaxNumExtrema'。

在命令窗口中生成的表指示每个生成的IMF的筛选迭代次数,相对容差和筛选停止标准。此信息也包含在info。您可以通过指定Display为隐藏表0

HHT(IMF,FS);

频率对时间图是一个稀疏图,其中垂直颜色条表示IMF中每个点的瞬时能量。该图表示从原始混合信号分解的每个分量的瞬时频谱。从该图中可以观察到三个IMF,其频率在1s处有明显变化。

可视化信号的残余和内在模式功能

 

对于这个例子,考虑由具有明显频率变化的正弦波组成的非平稳连续信号。手提钻的振动或烟花声是非平稳连续信号的例子。

加载非平稳信号数据,并可视化混合正弦信号。

load('sinusoidalSignalExampleData.mat','X','fs'); 
 

观察到混合信号包含具有不同幅度和频率值的正弦波。

执行经验模式分解以绘制固有模式函数和信号残差。由于信号不平滑,请指定' pchip'作为Interpolation方法。

emd(X,'Interpolation','pchip');
目前的IMF | #Sift Iter | 相对Tol | 停止标准命中   
      1 | 2 | 0.026352 | SiftMaxRelativeTolerance 
      2 | 2 | 0.0039573 | SiftMaxRelativeTolerance 
      3 | 1 | 0.024838 | SiftMaxRelativeTolerance 
      4 | 2 | 0.05929 | SiftMaxRelativeTolerance 
      5 | 2 | 0.11317 | SiftMaxRelativeTolerance 
      6 | 2 | 0.12599 | SiftMaxRelativeTolerance 
      7 | 2 | 0.13802 | SiftMaxRelativeTolerance 
      8 | 3 | 0.15937 | SiftMaxRelativeTolerance 
      9 | 2 | 0.15923 | SiftMaxRelativeTolerance
分解停止是因为残留信号的极值数小于'MaxNumExtrema'。

生成具有原始信号,前3个IMF和残差的交互式图。在命令窗口中生成的表指示每个生成的IMF的筛选迭代次数,相对容差和筛选停止标准。您可以通过指定Display为隐藏表0

右键单击图中的空白区域以打开IMF选择器窗口。使用IMF选择器选择地查看生成的IMF,原始信号和残差。

 

 

从列表中选择要显示的IMF。选择是否在图上显示原始信号和残差。

 

 

选定的IMF现在显示在图上。

 

 

使用该图可视化从原始信号中分解的各个组件以及残差。请注意,残差是根据IMF总数计算的,并且不会根据IMF选择窗口中选择的IMF进行更改。

非常感谢您阅读本文,有任何问题请在下方留言!

 


最受欢迎的见解

1.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

2.matlab使用hampel滤波去除异常值

3.matlab使用Copula仿真优化市场风险

4.matlab预测ARMA-GARCH 条件均值和方差模型

5.matlab测量计算信号的相似度

6.MATLAB 求解特征方程的根轨迹图稳定性分析

7.matlab从ECG信号数据趋势项的消除

8.matlab如何滤除低频尖峰脉冲

9.matlab实现MCMC的马尔可夫切换ARMA – GARCH模型估计

 

标签:emd,IMF,残差,分解,matlab,信号,SiftMaxRelativeTolerance
来源: https://blog.51cto.com/u_15198753/2770849

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有