Python 中的时变带通滤波器
Time-varying band-pass filter in Python
我正在尝试解决与 this post
中讨论的问题非常相似的问题
我有一个宽带信号,其中包含一个具有时变频率的分量。我需要随着时间的推移监视此组件的阶段。我能够通过频谱图中的峰值跟踪(一种有点蛮力的方法)来跟踪频移。我需要 "clean up" 这个时变峰值附近的信号来提取希尔伯特相位(或者,我需要一种不涉及希尔伯特变换的跟踪相位的方法)。
总结之前的 post:及时改变 FIR/IIR 滤波器的系数会导致不好的事情发生(它不仅会移动通带,还会完全混淆滤波器状态导致令人惊讶的瞬变的方式)。然而,可能有一些方式来及时调整滤波器系数(可能通过以某种智能方式联合修改滤波器系数和滤波器状态)。这超出了我的专业知识,但我愿意接受任何解决方案。
有两种 class 似乎合理的解决方案:一种是使用具有时变频率的谐振器滤波器(基本上是由信号驱动的阻尼谐波振荡器)。该模型足够简单,可以避免意外的滤波器瞬变。我会试试这个——但是谐振器在阻带中的衰减很差(如果它们甚至可以说有阻带?)。这让我很紧张,因为我不是 100% 确定共振滤波器的行为方式。
另一个建议是使用滤波器组,并根据频率在各种带通滤波信号之间进行平滑插值。这种方法看起来很吸引人,但我怀疑它有一些隐藏的警告。我想线性混合两个带通滤波信号可能并不总是如您所愿,并且可能会导致奇怪的事情?但是,这不是我的专业领域,所以如果通过滤波器组进行混合被认为是一种安全的解决方案(之前已经分析和发布过),我会使用它。
我想到了另一个可能的 class 解决方案,即仅从滑动短时傅里叶变换(可以是加窗、多锥等)中的频率峰值获取相位。如果有人知道这方面的任何先前文献,我会非常感兴趣。相关的是,从感兴趣频带上的滑动复数 Morlet 小波变换中获取频率功率峰值处的相位。
所以,我想,基本上我脑子里有三个 class 的解决方案。
1. 具有时变频率的谐振器滤波器。
2. 使用滤波器组,可能需要混合?
3. 从 STFT 或 CWT 中提取阶段,(这些可以被认为是滤波器组方法的一个子集)
我的猜测是,在 (2,3) 中相位会不时发生令人惊讶的事情,而在 (1) 中我们可能无法拒绝尽可能多的噪音。我不清楚这个问题是否有完美的解决方案(时频分辨率中的不确定性原理?)。
无论如何,如果有人以前解决过这个问题,而且...更好的是,如果有人知道任何听起来直接适用于此的论文,我将不胜感激。
不确定这是否有帮助,但谷歌搜索“时变组件的监控阶段”结果如下:Link
希望对您有所帮助。
我正在尝试解决与 this post
中讨论的问题非常相似的问题我有一个宽带信号,其中包含一个具有时变频率的分量。我需要随着时间的推移监视此组件的阶段。我能够通过频谱图中的峰值跟踪(一种有点蛮力的方法)来跟踪频移。我需要 "clean up" 这个时变峰值附近的信号来提取希尔伯特相位(或者,我需要一种不涉及希尔伯特变换的跟踪相位的方法)。
总结之前的 post:及时改变 FIR/IIR 滤波器的系数会导致不好的事情发生(它不仅会移动通带,还会完全混淆滤波器状态导致令人惊讶的瞬变的方式)。然而,可能有一些方式来及时调整滤波器系数(可能通过以某种智能方式联合修改滤波器系数和滤波器状态)。这超出了我的专业知识,但我愿意接受任何解决方案。
有两种 class 似乎合理的解决方案:一种是使用具有时变频率的谐振器滤波器(基本上是由信号驱动的阻尼谐波振荡器)。该模型足够简单,可以避免意外的滤波器瞬变。我会试试这个——但是谐振器在阻带中的衰减很差(如果它们甚至可以说有阻带?)。这让我很紧张,因为我不是 100% 确定共振滤波器的行为方式。
另一个建议是使用滤波器组,并根据频率在各种带通滤波信号之间进行平滑插值。这种方法看起来很吸引人,但我怀疑它有一些隐藏的警告。我想线性混合两个带通滤波信号可能并不总是如您所愿,并且可能会导致奇怪的事情?但是,这不是我的专业领域,所以如果通过滤波器组进行混合被认为是一种安全的解决方案(之前已经分析和发布过),我会使用它。
我想到了另一个可能的 class 解决方案,即仅从滑动短时傅里叶变换(可以是加窗、多锥等)中的频率峰值获取相位。如果有人知道这方面的任何先前文献,我会非常感兴趣。相关的是,从感兴趣频带上的滑动复数 Morlet 小波变换中获取频率功率峰值处的相位。
所以,我想,基本上我脑子里有三个 class 的解决方案。 1. 具有时变频率的谐振器滤波器。 2. 使用滤波器组,可能需要混合? 3. 从 STFT 或 CWT 中提取阶段,(这些可以被认为是滤波器组方法的一个子集)
我的猜测是,在 (2,3) 中相位会不时发生令人惊讶的事情,而在 (1) 中我们可能无法拒绝尽可能多的噪音。我不清楚这个问题是否有完美的解决方案(时频分辨率中的不确定性原理?)。
无论如何,如果有人以前解决过这个问题,而且...更好的是,如果有人知道任何听起来直接适用于此的论文,我将不胜感激。
不确定这是否有帮助,但谷歌搜索“时变组件的监控阶段”结果如下:Link
希望对您有所帮助。