MATLAB: Picking an FFT length

fft

How could I find the most efficient FFT size greater than N? I know that with fftw "sizes that are products of small factors are transformed most efficiently". I also know that if N=1025, there is going to be a more efficient size than the next power of 2 which is 2048. But in general, what's the best way to find the right size for a given N?

Best Answer

Why not just overlay the times vs size plot for
X = fft(randn(N,M))
when M = 1e4 N1 = 2.^(1:10) % blue and N2 = floor(pi.^(1:6)) %red
or, pick your own sizes.
Hope this helps.
Greg