存个档,以后就用这版吧
fs = 1000; %采样频率
L= 20000; %数据长度
t = (0:L-1)/fs %时间
y = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); %采样频率>2倍信号最大频率
Y= fft(y);%默认做L点傅里叶变换
Y0= abs(Y)/L; %双边谱,做L点傅里叶变换,频率幅值要除以L
Y1= Y0(1:L/2); %单边谱,关于L/2对称
Y0(2:end) = 2*Y0(2:end); %1是直流
Y1(2:end) = 2*Y1(2:end);
F0= fs*(0:(L-1))/L;%频谱分辨率,共有L个点,每两点之间的频率是fs/L
F1= fs*(0:(L/2)-1)/L;
subplot(2,1,1)
plot(F0,Y0)
title('双边频谱')
xlabel('f(Hz)')
ylabel('Y0')
subplot(2,1,2)
plot(F1,Y1)
title('单边频谱')
xlabel('f(Hz)')
ylabel('Y1')