当fft(x)
不具备N
(2
)的力量时,N = x.size
如何在matlab中工作?
答案 0 :(得分:1)
完全像两个幂的情况一样。 FFT算法不会改变。但是,已经证明零填充(即将一些尾随零附加到下一个2的幂)可以提高速度(计算时间)和频率分辨率的性能。
FFT是一种分而治之的算法,它通过将问题分解为较小尺寸的子问题然后重新组合结果来工作。由于这种分割操作,如果 N 是2的幂,则性能得到改善(即,很容易执行这种分割操作)。 如果 N 是几个小因素(如3或5)的乘积,那么表现也不是那么糟糕 显然,正如您所期望的那样,如果 N 是一个大的素数,它将会非常慢,因为它不能分成更小的子问题。
现在关于更好的频率分辨率,您可以在本教程中找到一些有用的信息here。