1 简介 1、 设计目的 (1)掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的具体方法和原理,熟悉双线性变换法和脉冲响应不变法设计低通、带通IIR数字滤波器的计算机编程。
1 简介
1、设计目的
(1)掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的具体方法和原理,熟悉双线性变换法和脉冲响应不变法设计低通、带通IIR数字滤波器的计算机编程。
(2)观察双线性变换法和脉冲响应不变法设计的数字滤波器的频域特性,了解双线性变换法和脉冲响应不变法的特点与区别。
(3)熟悉Butterworth滤波器、Chebyshev滤波器和椭圆滤波器的频率特性。
2 部分代码
%用双线性变换法设计一个Butterworth数字低通滤波器%确定已知的技术指标
Rp=1;Rs=25;T=0.001;fp=200;fs=300;
%求出将要设计的数字滤波器的边界频率
wp=2*pi*fp*T;ws=2*pi*fs*T;
%预畸变
wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2);
%求出最小阶数和截止频率
[n,wn]=buttord(wp1,ws1,Rp,Rs,'s');
%求出模拟滤波器的分子和分母系数向量
[b,a]=butter(n,wn,'low','s');
%双线性变换
[bz,az]=bilinear(b,a,1/T);
[db,mag,pha,grd,w]=freqz_m(bz,az);
%以w/pi为横轴,以db为纵轴绘图
plot(w/pi,db,'color','r'); grid;
title('Butterworth数字低通滤波器(双线性法)');
%设定横轴和纵轴的坐标范围
axis([0,1,-30,2]);
3 仿真结果
4 参考文献
[1]王艳文, 崔志娟, 张静. 基于matlab脉冲响应不变法的Butterworth数字滤波器设计[J]. 2022(11).
[2]梁丽娟, and 安兰珠. "利用MATLAB实现基于双线性变换法的IIR数字滤波器设计." 邢台学院学报 27.2(2012):2.