我试图确定频率随时间变化的噪声信号的主频率。理想情况下,我想尽可能快地检测到频率的变化——比如 50Hz 的更新率,但我也想尽可能接近实际的信号频率。我正在寻找的信号在 100Hz 和 300Hz 之间变化,我以 1Khz 对信号进行采样。
目前,我正在使用长度为 N 的 STFT,每 N/2 个样本应用一次(因此跳数大小为 N/2),并在输入上使用 Hanning 窗口。然后,我通过 Welch 的方法对 3 个重叠帧进行平均,以实现对我正在寻找的信号的最终估计。
我知道我可以获得的最大频率分辨率是 1000/N,所以我使用 Jain 的方法在 bin 之间进行插值。我也知道我可以获得的最大时间分辨率是 1000/N Hz。我知道这两个人很紧张。
有时信号丢失。为了检测到这一点,我正在计算标准偏差以及三个重叠帧的平均值,并使用该比率来确定“噪音”
我的问题是:
- 这是一个有效的程序吗?
- 考虑到输入信号的变化,在这种情况下使用 Welch 是否有效?
- 我在平均正确的数据吗?
- 时间分辨率真的是 1000/N 还是我可以在 1000/2N Hz 下产生更好的输出?
- 更多重叠会有所帮助吗?如果有怎么办?
- 我的噪音计算是否有效?