Teager-Kaiser 算子与希尔伯特变换

信息处理 信号分析 时频 分析信号
2022-01-30 08:06:01

几个月以来,我开始通过两种不同的时频方法(即希尔伯特变换和 Teager-Kaiser 能量算子)来提取(估计)信号频率和幅度分量。

我在标准信号上测试了这两种方法,例如啁啾、正弦、余弦等。这个初步分析似乎强调了 Teager-Kaiser 在频率和幅度估计方面具有更好的分辨率。

之后,我将这两种方法应用于从模拟给定系统动态行为的工具中导出的一些加速度信号。令人惊讶的是,希尔伯特变换在频率估计方面提供了更可靠的结果。Teager-Kaiser 算子显示了一些高频内容估计,这是难以预料的。

我在 Simulink 中开发了这两种技术,如下所示: 在此处输入图像描述

合成加速度信号的结果如下: 在此处输入图像描述

我在 Teager-Kaiser 算子的设计中遗漏了什么?有没有可能避免那些“错误”的频率估计(那些带有箭头的)?

2个回答

这篇论文可能很有趣:

David Vakman,“关于解析信号、Teager-Kaiser 能量算法和其他定义幅度和频率的方法。” IEEE Trans。信号处理。(1996)

从论文中总结:

Ψ(u)=a2w2=[u(t)]2u(t)u(t)
Ψ(u)=a2w4=[u(t)]2u(t)u(t)

其中是信号,是要求解的幅度和频率估计值。u(t)aw

a(t)=Ψ(u)Ψ(u)
w(t)=Ψ(u)Ψ(u)

但这意味着如果在信号的某个点,例如,则因此u(t)=1u(t)=u(t)=0Ψ(u)=1Ψ(u)=0a(t)=w(t)=0

因此,本文解释了这会导致使用 Teager-Kaiser 算法的幅度和零频率出现尖峰。

对于您的信号,反之亦然。如果,那么当幅度为零时,你会得到频率尖峰。这会发生在Ψ(u)=0Ψ(u)=1[u(t)]2=u(t)u(t)

希尔伯特变换使用整个信号来计算。它是通过将正频率加倍并将负频率设置为零来实现的。因此信号的能量不会改变(Parseval 定理)。因此,直观地说,不可能有无限的尖峰,因为这需要无限的能量。

您可以尝试应用中值滤波器来避免极端故障吗?在 Matlab 中,medfilt1.