📄 samp5_16.m
字号:
close all;figure(1)
ws=[1000 2000]*2*pi;wp=[500 2500]*2*pi;Rp=1;Rs=50; %滤波器设计参数,乘以2 转换为弧度/s
[N,Wn]=cheb1ord(wp,ws,Rp,Rs,'s'); %求模拟滤波器的最小阶数和截止频率
w=linspace(1,3000,1000)*2*pi; %设置计算复数频率响应的频率点
[b,a]=cheby1(N,Rp,Wn,'stop','s'); %设计带阻滤波器
H=freqs(b,a,w); %计算给定频率点的复数频率响应
magH=abs(H);phaH=unwrap(angle(H)); %求滤波器的幅频响应和相频响应
plot(w/(2*pi),20*log10(magH)); %以频率为横轴绘制幅频响应
xlabel('频率/Hz');ylabel('振幅/dB');
title('Butterworth模拟带阻滤波器');
hold on;plot([1000 1000],ylim, 'r');plot([2000 2000],ylim, 'r');%绘阻带边界
grid on
figure(2)
dt=1/20000;
f1=100;f2=1500;f3=2900; %输入信号含有的频率
t=0:dt:0.04;%时间序列
x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t); %输入信号
H=[tf(b,a)]; %滤波器在MATLAB系统中的表示
[y,t1]=lsim(H,x,t); %模拟输出信号
subplot(2,1,1),plot(t,x),title('输入信号') %绘输入信号
subplot(2,1,2),plot(t1,y) %绘制输出信号
title('输出信号'),xlabel('时间/s')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -