📄 fft.m
字号:
clear ,close all;
%矩形函数
L=65;%矩形的长度
W=300;%矩形序列的长度
figure(1);%图表1
n=0:W-1;%分隔数
x=[(n-L)<0];%n小于L时x为1
subplot(3,1,1);%3行1列第一个图
plot(x);%绘制矩形
grid on;%打网格
title('矩形图');%标题
xlabel('n');%x横轴
ylabel('x');%纵轴
hold on;%保持
RTG=fft(x,W);%RTG=rectangle
RTGAM=abs(RTG);%取幅值
RTGANG=angle(RTG);%取角度
subplot(3,1,2);%3行1列第2个图
plot(n,RTGAM);%绘矩形幅频特性图
title('矩形框的幅度');%标题
xlabel('频率');%x横轴
ylabel('幅度');%纵轴
grid on;%打网格
subplot(3,1,3);%3行1列第3个图
plot(RTGANG);%绘矩形相频特性图
grid on;%打网格
title('矩形框的相位');%标题
xlabel('相位');%x横轴
ylabel('幅度');%纵轴
%第一个正弦函数
f0=20; %正弦频率1#
%-------------------------
%前后两次采样频率不一样就可以分开了
fs=300; %采样频率
%-------------------------
figure(2);%图表2
x1=[0:L-1];%矩形窗长度
y1=4*sin(2*pi*f0.*x1/fs);%第一个正弦函数的表达式
subplot(2,1,1);%绘图表2中2行1列第1个图
plot(y1);%时域正弦波形
title('时域正弦波形');%标题
xlabel('n');%x横轴
ylabel('幅度');%纵轴
grid on;%打网格
yfft1=fft(y1,W);%对Y1作FFT变换
subplot(2,1,2);%绘图表2中2行1列第2个图
plot(n,abs(yfft1));%绘正弦1的幅频特性图
title('FFT变换后的正弦');%标题
xlabel('频率');%x横轴
ylabel('幅度');%纵轴
grid on;%打网格
%第二个正弦函数
f2=21;%正弦频率2#
figure(3);%图表3
%-------------------------
%前后两次采样频率不一样就可以分开了
fs=300; %采样频率
%-------------------------
x2=0:L-1;%矩形窗长度
y2=4*sin(2*pi*f2*x2/fs);%第二个正弦函数的表达式
yfft2=fft(y2,W);%对Y2作FFT变换
yfft2am=abs(yfft2);%取幅值
yfft2angle=angle(yfft2);%取相位
subplot(3,1,1);%绘图表3中3行1列第1个图
plot(n,abs(yfft1),'-r');%绘正弦1的幅频特性图
hold on;%保持
plot(n,yfft2am,'-g');%绘正弦2的幅频特性图
title('the AM of sin1 and sin2');
xlabel('频率');
ylabel('幅度');
subplot(3,1,2);%相位信息
plot(angle(yfft1),'-g');%绘正弦1的相频特性图
hold on;%保持
plot(yfft2angle,'--r');%绘正弦2的相频特性图
%正弦1和正弦2的幅频特性叠加
y3=abs(yfft1)+abs(yfft2);
subplot(3,1,3);
plot(n,y3);
title('幅频特性相加');
xlabel('频率');
ylabel('幅度');
grid on;%打网格
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -