采用不同点数的FFT,效果完全不同,
代码如下,FFT的实现见另一篇文章
FFT需要输入时间序列和输出频域抽样点数相同。64点FFT指在0~采样率这段频谱采样64次。可以看到64根谱线。频谱精度=带宽/采样率 ,在频率轴上能得到的最小频率间隔=fs/N。
%% 验证设计的FFT,理解分析
clear all
Fs = 1000;
T = 1/Fs;
L = 1000;
t = (0:L-1)*T;
x = sin(2*pi*50*t) + sin(2*pi*180*t);
le = ceil(log2(length(x)));
N = 2^le;
subplot(1,2,1)
plot(Fs*t(1:100),x(1:100))
%length(x) 1000
%N点代表FFT的点数
xfft = FFT(x,N);
f = Fs/2*(0:length(xfft)/2)/(length(xfft)/2);
subplot(1,2,2)
plot(f,abs(xfft(1:length(xfft)/2+1)));
%length(xfft) N
效果图 64点
128点
N=2^ceil(log2(length(x)))点