为什么fft分析的频率与实际信号频率有偏差?
时间:10-02
整理:3721RD
点击:
t=0:1/256:1-1/256;
fs=256;
T=1/fs;
y=2*cos(2*pi*50*t-pi/6)+1.5*cos(2*pi*75*t+pi/2);
N=length(t);
f_0=fs/N;
X_r=fft(T*y);
f_r=(0:N-1)*f_0;
plot(f_r,fftshift(abs(X_r)));
信号是50Hz和75Hz,可是图中显示是53Hz和78Hz,如下图,是程序设置有问题吗?
fs=256;
T=1/fs;
y=2*cos(2*pi*50*t-pi/6)+1.5*cos(2*pi*75*t+pi/2);
N=length(t);
f_0=fs/N;
X_r=fft(T*y);
f_r=(0:N-1)*f_0;
plot(f_r,fftshift(abs(X_r)));
信号是50Hz和75Hz,可是图中显示是53Hz和78Hz,如下图,是程序设置有问题吗?
看一下幅值
50=256/2-78
75=256/2-53
你看的是负轴的
怎么就跑到负轴上了?要是f_r=(-N_0/2:N_0/2-1)*f_0就对了,这是为什么?不一样是一个周期吗?