zoukankan      html  css  js  c++  java
  • matlab代写使用经验模式分解emd 对信号进行去噪

    原文链接 : 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进行更改。

    如果您有任何疑问,请在下面发表评论。 

  • 相关阅读:
    基于mAppWidget实现手绘地图--索引&DEMO
    C语言数据结构----栈的定义及实现
    libvirt命令行文档
    清理系统方法
    Linux 经典电子书共享下载
    使用数组实现队列----《数据结构与算法分析---C语言描述》
    清理系统垃圾
    epoll的内部实现 & 百万级别句柄监听 & lt和et模式非常好的解释
    进程、线程、socket套接字-资源大小 & 切换代价
    网络编程学习-面向工资编程
  • 原文地址:https://www.cnblogs.com/tecdat/p/9662540.html
Copyright © 2011-2022 走看看