正如这里所证明的那样:https ://math.stackexchange.com/questions/228614/why-doesnt-repeating-a-signal-give-rise-to-a-finer-resolution-of-dft-fft 重复某个序列不会提高 DFT 频率分辨率。然而,众所周知,长时间观察信号实际上会提高分辨信号中两个音调的能力(因为频域窗口的“波束宽度”会变窄:它是 2/NT 和 NT总观察时间)。
我不理解这种差异:如果我们假设信号有两个音调 f1 和 f2,并且有一个周期 T。假设我们在 N*T 时间内观察它,使得 1/(NT) 变得足够小以区分 f1 和f2。我们通过长时间观察信号提高了频率分辨率。为什么这不等于简单地观察信号1个周期,然后将其粘贴在一起N次呢?这将在时域中给出相同的信号,但根据我发布的链接中的证明,它不会提高频率分辨率。
我自己能想到的唯一解释是:一旦观察时间大于 T,观察更长的时间并不会进一步提高频率分辨率。但是,我编写了一些 matlab 代码,在其中对纯正弦进行 FFT在一定时间内。随着观察时间的增加,我清楚地看到与窗口相关的频域中的“光束宽度”开始变窄。鉴于纯正弦也是周期性的,并且我使用的观察时间大于这个周期,因此我必须得出结论,我的“解释”是不正确的。
有人可以向我展示正确的解释吗?