fs=5000;N=length(t);n=0:N-1;tx=n/fs;
a1=fft(y1,N);
a2= fftshift(a1);
mag=abs(a2);%求出变换后的振幅
f=(0:length(a2)-1)'*fs/length(a2);
subplot (2,1,1),plot(t,y1);
subplot(2,1,2),plot(f,mag);title('频谱图')
改成如上:
你的信号里直流分量这么大,做出来的频谱几乎就是一个冲击函数了。建议你先去掉均值。
y = y1-mean(y1);
然后对y做上述处理。
如果你要把0频移动到频谱中间的话再fftshift一下a1