我想知道在频率测量和幅度测量方面零填充的优点/缺点是什么
零填充的优点/缺点
信息处理
零填充
2022-01-02 07:09:58
3个回答
零填充的优点:
如果您的序列的长度与 FFT 例程可以有效处理的大小不对应(通常是素数的幂),那么您可能需要在最接近的幂上添加一些额外的零,以获得最大的加速。在最坏的情况下,信号所需的内存会增加一倍。
添加零等于使用函数对频谱样本进行插值。因此,您会发现它看起来更流畅。它不会以任何方式影响频率分辨率。
如果某些峰值在两个 bin 之间分离,则可以在一定程度上对这些峰值进行插值,因此您可能能够检索到一些幅度信息。
如果您试图从其脉冲响应中绘制某些 FIR 滤波器的频率响应,那么您需要为其添加零。否则,您将获得与过滤器长度一样多的样本。请看这里
如果您尝试使用 FFT 将信号与某种模式进行卷积,则需要将信号用零填充到适当的长度。否则卷积的结果会不正确(频域中的副本会重叠)。请看这里
零填充的缺点:
一个都想不出来 哦,也许除了人们相信它会以某种神奇的方式提高他们的频率分辨率——我知道博士说...
缺点是您最终会以更高的计算成本进行更长的 FFT:更多的 MAC、切换 ALU/FPU 晶体管所花费的能量、内存分页和缓存未命中惩罚,导致在结果准备好或需要更快、更热的硬件之前有更大的延迟。
如果您只需要几个插值点(一个或 log N 的一小部分),则使用加窗 Sinc 插值在本地执行此操作可能比计算整个更长的 FFT 更快。
然而,与获得类似结果的其他方法相比,增加的成本可能要小得多,例如使用多相滤波对绘图点的整个窗口进行插值,或直接卷积与重叠添加/保存快速卷积等。
零填充可以帮助您解决更精细的光谱结构,但不会提高分辨率。零填充到 2^n 个点,以便 FFT 可以更快。计算比例为 n*logn 而不是 n^2。至于幅度测量,无论您最终通过零填充获得多精细的频谱,分辨率都由 SNR 决定。
其它你可能感兴趣的问题