如何在经验模式分解中执行筛选过程?

信息处理 频率 算法 信号分析 分解
2022-01-30 07:08:30

我正在编写一个语音活动检测算法,我发现了一篇推荐使用 HHT 的论文。我一直在尝试对其进行编程并了解如何计算m1(x),但转换过程让我感到困惑。

在计算原始数据的两条样条线之间的平均值后,有人可以解释我到底需要做什么吗?

这是我在这个网站上找到的: https ://www.clear.rice.edu/elec301/Projects02/empiricalMode/process.html

计算第一个分量 h1: h1=X(t)m1 在第二次筛选过程中,h1被视为数据,m11 是h1的上下信封: h11=h1m11 重复此筛选过程k次,直到h1k是一个IMF,即: h1(k1)m1k=h1k

为什么从h1h11? 我真的很困惑。

2个回答

不是筛选筛选_ 找到后m1曲线,你从你的信号中减去它X要得到h1=X(t)m1. 您实际上是在带走该信号分量并留下h1,这是您下一次迭代的新起点。我假设您对术语感到困惑。

筛选是信号处理中的通用术语,与一次分离一个信号的分量有关。它经常用在小波分解的上下文中,因为这个过程在这方面非常相似。

下一个功能的原因是h11并不是h2是因为你必须继续这个过程,直到结果h1k是一个 IMF 函数(页面顶部给出的标准)。一旦你达到了那个点,你就会得到你的第一个 IMF 基函数c1. 只有在这一点上,你才达到你的第一个经验模式。

然后你重新开始寻找m2等等。

从您的原始信号开始s(t), 我们指定u(t)l(t)分别作为包络的上部和下部的曲线。

你会发现包络线的上曲线,u(t),通过选择局部最大值s(t)然后使用样条连接它们以获得曲线的连续表示。你会发现包络线的下部曲线,l(t),通过选择局部最小值s(t)并通过样条连接这些点以获得信封下部的表示。

曲线m(t)来自对包络的上部和下部进行平均,即m(t)=l(t)+u(t)2.

处理端点以及样条如何拟合这些点是有问题的。有几篇论文试图解决这个问题,EMD 的结果非常依赖于端点的处理方式。因此,如果您尝试复制特定论文的结果 - 您将需要他们使用的确切代码(以相同的方式处理端点)。