/**
* @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