📄 fft_example.m
字号:
%fliter_example.m
%单位冲击信号通过带阻滤波器
t = 1:40; %信号的时间
x =zeros(size(t));
x(1) = 1; %产生单位冲击信号
[b,a] = butter(10,[0.3 0.7],'stop'); %设计带阻滤波器
y = filter(b,a,x); %滤波
hold on; %画图滤波前后的时域数据
stem(t,x,'marker','o');
stem(t,y,'marker','.');
xlabel('时间/ts(s)');
legend('原始数据','滤波后数据');
fx=fft(x); %对单位冲击信号进行傅立叶变换
fx=fftshift(fx);
fy=fft(y); %滤波后的信号进行傅立叶变换
fy=fftshift(fy);
figure;
subplot(2,1,1); %画图显示滤波前后的数据频谱
f=(t-20)/20;
plot(f,abs(fx),'b-',f,abs(fy),'b-.'); %画信号的幅频曲线
xlabel('数字频率/\pi(rad)');
title('幅频曲线');
legend('原始数据的幅频曲线谱','滤波后数据的幅频曲线');
subplot(2,1,2);
plot(f,angle(fx),'b-',f,angle(fy),'b-.'); %画信号的相频曲线
xlabel('数字频率/\pi(rad)');
title('相频曲线');
legend('原始数据的相频曲线','滤波后数据的相频曲线');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -