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

本文考虑由具有明显频率变化的正弦波组成的非平稳连续信号。

由Kaizong Ye,Sherry Deng撰写

手提钻的振动或烟花声是非平稳连续信号的例子。

以采样频率加载非平稳信号数据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'。


课程

R语言数据分析挖掘必知必会

从数据获取和清理开始,有目的的进行探索性分析与可视化。让数据从生涩的资料,摇身成为有温度的故事。

立即参加

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

HHT(IMF,FS);

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

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

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

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

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

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

执行经验模式分解以绘制固有模式函数和信号残差。由于信号不平滑,请指定’ 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'。


matlab中使用VMD(变分模态分解)

阅读文章


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

您可以通过指定Display为隐藏表0

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


随时关注您喜欢的主题


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

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

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


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds