内容发布更新时间 : 2024/12/25 12:42:30星期一 下面是文章的全部内容请认真阅读。
-------------精选文档-----------------
《数字信号处理》
实践报告
题 目: 实验三 用双线性变换法设计IIR数字滤波器
可编辑
-------------精选文档-----------------
实验三:用双线性变换法设计IIR数字滤波器
1. 实验目的
(1) 熟悉用双线性变换法设计IIR数字滤波器的原理与方法。 (2) 掌握数字滤波器的计算机仿真方法。
(3) 通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。 2. 实验步骤
(1) 复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的
内容,按照“2. 实验内容(1)”的要求设计满足指标的数字滤波器函数H(z)。 现给出满足本实验要求的数字滤波器系统函数: H(z)
0.0007378(1?z?1)6= (1?1.2686z?1?0.7051z?2)(1?1.0106z?1?0.3583z?2)(1?0.9044z?1?0.2155z?2) =
?Hk?13k(z) —— (3.1)
A(1?2z?1?z?2)式中 Hk(z) = , k = 1 , 2 , 3 —— (3.2) ?1?21?Bkz?CkzA = 0.09036
B1 = 1.2686 , C1 =-0.7051
可编辑
-------------精选文档-----------------
B2 = 1.0106 , C2 =-0.3583 B3 = 0.9044 , C3 =-0.2155
由 (3.1) 式和(3.2)式可见,滤波器H(z)由三个二阶滤波器H1(z)、H2(z)和H3(z)级联组成,如图3.1 所示。
图 3.1 滤波器H(z)的组成
(2) 编写滤波器仿真程序,计算H(z)对心电图信号抽样序列x(n)的响应序列y(n)。
设yk(n)为第k级二阶滤波器Hk(z)的输出序列,yk-1(n)为输入序列,如图3.1所示。由(3.2)式可得到差分方程:
yk(n) = A yk-1(n) + 2A yk-1(n-1) + A yk-1(n-2) + Bk yk(n-1) + Ck yk(n-2) —— (3.3)
当k = 1时,yk-1(n) = x(n)。所以H(z)对x(n)的总响应序列y(n)可以用顺序迭代算法得到。即依次对k = 1,2,3,求解差分方程 (3.3),最后得到y3(n) = y(n)。仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序。也可以直接调用MATLAB filter 函数实现仿真。
(3) 在通用计算机上运行仿真滤波程序,并调用通用绘图子程序,完成“2.实验
可编辑
x(n) H1(z) y1(n) H2(z) H(z) y2(n) H3(z) y3(n) = y(n) -------------精选文档-----------------
内容(2)和(3) ”。
本实验要用的MATLAB绘图函数见附录。 3. 实验内容
(1) 用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π, π] 频率区间上,最小衰减大于15dB。
以x=[ones(1,10),zeros(1,40)]信号验证。
(2) 以0.02π为抽样间隔,打印出数字滤波器在频率区间[0, π/2]上的幅频响应特性曲线。
可编辑
-------------精选文档-----------------
程序代码: ws=0.3*pi; Ap=1; As=15; T=1;
WP=(2/T)*tan(wp/2); WS=(2/T)*tan(ws/2);
[N,Wc]= buttord(WP,WS,Ap,As,'s');
可编辑