/**
 * @poject          经验模态分解及其衍生算法的研究及其在语音信号处理中的应用
 * @author			jUicE_g2R(qq:3406291309)
 * 
 * @language        MATLAB/Python/C/C++
 * @EDA				Base on matlabR2022b
 * @editor			Obsidian(黑曜石笔记软件)
 * 
 * @copyright		2023
 * @COPYRIGHT			 原创学习笔记:转载需获得博主本人同意,且需标明转载源
 */
 
1 定义
经验模态分解(EMD) 是处理 非线性、 非平稳信号 的 时频分析方法。
 该方法可以在不需要知道任何先验知识的情况下,依据输入信号自身的特点,自适应地 将信号分解成若干个本征模态函数(IMF)之和。
2 应用背景
处理 非平稳信号的局部频谱分析
 
3 E M D EMD EMD 提出人黄锷 指出
频谱分解:将信号分解成不同频率的成分
-  
      
       
        
        
          信号 
         
        
          = 
         
        
          高频成分 
         
        
          + 
         
        
          . 
         
        
          . 
         
        
          . 
         
        
          + 
         
        
          中频成分 
         
        
          + 
         
        
          . 
         
        
          . 
         
        
          . 
         
        
          + 
         
        
          低频成分 
         
        
       
         信号=高频成分+...+中频成分+...+低频成分 
        
       
     信号=高频成分+...+中频成分+...+低频成分

 
出现极值点次数 多 的局部为 高频部分
 出现极值点次数 少 的局部为 低频部分
4 本征模态函数 I M F IMF IMF

5 E M D = ∑ i m f + r N ( t ) EMD=∑imf+r_N(t) EMD=∑imf+rN(t)
- 将  
      
       
        
        
          I 
         
        
          M 
         
        
          F 
         
        
          函数 
         
        
       
         IMF函数 
        
       
     IMF函数 从原来的  
      
       
        
        
          u 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          函数 
         
        
       
         u(t)函数 
        
       
     u(t)函数上 偏移到 (无限接近)  
      
       
        
        
          x 
         
        
          轴 
         
        
       
         x轴 
        
       
     x轴

 
6 I M F IMF IMF的实现( S h i f t i n g Shifting Shifting算法)
6-1 S h i f t i n g Shifting Shifting算法 理论处理方案
- 红色虚线 为 上包络线(平滑的 极大值点 的连线)
 - 紫色虚线 为 下包络线(平滑的 极小值点 的连线)
 - 绿色实线 为 平均线(折中上、下包络线)
 

6-2 实际操作时处理极限的方案
-  
      
       
        
         
         
           h 
          
         
           k 
          
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          ) 
         
        
       
         h_k(t)) 
        
       
     hk(t)) :第 k 个 中线 无限接近于  
      
       
        
        
          x 
         
        
          轴 
         
        
       
         x轴 
        
       
     x轴 的函数

 
一个 逼近值 a n 逼近值a_n 逼近值an 越接近 极限(理论)值 a ∞ 极限(理论)值a_∞ 极限(理论)值a∞,它与 上一个逼近值 a n − 1 a_{n-1} an−1 的差值越小
7 注意:端点的处理
镜像处理法
 
经过镜像沿拓后,上图的端点 是 极小值点 则判断该端点为 极小值点
8 基本步骤

9 M a t l a b Matlab Matlab 中 E M D EMD EMD 的使用

10 实例演示

10-1 步骤
- 1、找到所有的 极值点
 - 2、 样条函数法 样条函数法 样条函数法 获取到 上、下包络线 的函数
 - 3、求 上、下包络线函数 的平均函数 m ( t ) m(t) m(t)
 - 4、使用 S h i f t i n g 算法 Shifting算法 Shifting算法
 
10-2 逐步处理

本节图片参考源: 经验模态分解技术-EMD-李新亮_哔哩哔哩_bilibili


















