关于 FFT 的频谱泄漏、相位和其他问题

信息处理 fft 频谱 频率 阶段 频域
2022-02-15 07:01:50

我目前正在使用 FFT 实现语音识别算法,现在我遇到了一些问题:

  1. Spectral Leakage:我知道它是什么,为什么会出现以及如何使用 Windowing Function 解决它,但是对于这个问题还有其他解决方法吗?
  2. 阶段:我知道它是什么,但我可以在哪里使用它以及如何使用它?
  3. 获取实际幅度(我知道它与频谱泄漏有关,但我会单独问这个问题):假设我有一个频率分辨率为250( sampling rate = 32000 Hz, frame size = 128) 的频谱,并且我发送到 FFT 的输入是一个正弦函数其频率为567.5 Hz(因此,周期数是非整数,导致频谱泄漏)。我的频谱会是这样的: 光谱 所以我的问题是:如何检索频率的原始幅度567.5 Hz
1个回答

开窗伪影可以被认为是由于丢失了有关更大数据集的信息(例如,窗口切出或归零的内容)。Sync的“传播”与数据窗口的缩短(信息丢失后剩下的)有关。因此,来自 FFT 结果之外的有关原始数据的其他信息可用于帮助“解决”这个问题(更多数据,可能与更长的 FFT 一起使用,会导致更窄的同步主“驼峰”)。

每个 FFT 孔径内的相位信息加上 FFT 数据的相邻或重叠帧之间的距离用于改进相位声码器频率估计或帮助信号重建。从不同位置的麦克风获取的帧之间的相位差可用于帮助对声源位置进行三角测量。

峰值幅度可以通过插值方程来估计,例如从 3 个点开始的抛物线插值,或者更好的是,从(加窗的)Sinc 内核插值中通过逐次逼近来找到零导数点。