关于stem用法:https://blog.csdn.net/We_are_family678/article/details/80023294
关于subplot:https://blog.csdn.net/LucyLiHHU/article/details/78443855
关于ceil:https://blog.csdn.net/u013925378/article/details/53769428
关于FFT:https://blog.csdn.net/me4weizhen/article/details/53688848
http://blog.163.com/fei_lai_feng/blog/static/9289962200971751114547/
参考例程:
clear all
close all
% 构建原始信号
N = 100; %原始信号长度
Fs = 80; %采样频率HZ 采样频率要至少大于原始信号频率
dt = 1/Fs; %采样间隔S
t = [0:N-1]*dt; %时间序列
f1 = 40; %原始信号频率Hz
f2 = 2;
y = cos(2*pi*f1*t)+cos(2*pi*f2*t);
subplot(2,3,1),plot(t,y);
xlabel('时间/s'),ylabel('幅值/mv'),title('原始信号(长度100)');
% FFT分析
FN = N; % 执行100点FFT
FY = fft(y, FN)/FN; % 共轭复数,具有对称性
f0 = 1/(dt*FN); %基频
f = [0:ceil((FN-1)/2)]*f0; %频率序列
A = abs(FY); %幅值序列
subplot(2,3,2),stem(f, 2*A(1:ceil((FN-1)/2)+1)),xlabel('频率/Hz'); %绘制频谱
% axis([0 0.5 0 1.2]); %调整坐标范围
fy = fft(y,FN);
mag = abs(fy); %幅值序列
n=0:N-1;
Ff = n*f0; %频率序列
subplot(2,3,3),plot(Ff,mag);