y = fft(x,n);
其中n是关于x做n点fft,若x小于n点,则对x做补零处理;若x大于n点,则对x做截断处理。下面讨论补零和截断对fft的影响。
一、补零
matlab中fft的计算分辨率为fs/n,其中L是计算fft的点数。所以,若对x做补零处理,则会增大fft的计算分辨率。这里需要注意的是,补零并不会提高对信号的实际分辨率。举个例子,原本信号中100hz和110hz的信号做fft(x)分不开,那么即使补零了,也是分不开的。那么增加做fft的点数有什么用?比如说信号长度足够长,做fft能够区分100hz和110hz,但是因为计算分辨率fs/n不够,此时就会导致实际上能够分的开的信号没有在频谱图上区分出来。
参考:http://blog.csdn.net/u012444155/article/details/40107483
二、截断
在实际应用中,若信号是无限非周期的,那么对信号进行截断,就会造成频谱泄露,出现了不该有新频率。若信号是周期性的,则对信号做周期性截断,就不会产生频谱泄露。
参考:http://blog.csdn.net/alihouzi/article/details/44809549