📄 samp5_15.m
字号:
%Samp5_15
wp=[1000 2000]*2*pi;ws=[500 2500]*2*pi;Rp=1;Rs=100; %滤波器设计参数,对于给定Hz应乘以2
[N,Wn]=buttord(wp,ws,Rp,Rs,'s'); %求得滤波器的最小阶数和截止频率
[b,a]=butter(N,Wn,'s'); %设计模拟Butterworth滤波器
w=linspace(1,3000,1000)*2*pi; %设置绘制频率响应的频率点
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/10000; %模拟信号采样间隔
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 + -