fft(x)如何在matlab中工作,而N不是2的幂(N = x.size)?

时间:2016-02-21 11:59:12

标签: matlab fft

fft(x)不具备N2)的力量时,N = x.size如何在matlab中工作?

1 个答案:

答案 0 :(得分:1)

完全像两个幂的情况一样。 FFT算法不会改变。但是,已经证明零填充(即将一些尾随零附加到下一个2的幂)可以提高速度(计算时间)和频率分辨率的性能。

FFT是一种分而治之的算法,它通过将问题分解为较小尺寸的子问题然后重新组合结果来工作。由于这种分割操作,如果 N 是2的幂,则性能得到改善(即,很容易执行这种分割操作)。 如果 N 是几个小因素(如3或5)的乘积,那么表现也不是那么糟糕 显然,正如您所期望的那样,如果 N 是一个大的素数,它将会非常慢,因为它不能分成更小的子问题。

现在关于更好的频率分辨率,您可以在本教程中找到一些有用的信息here