实验三 用双线性变换法设计IIR数字滤波器
时间:2025-03-11
时间:2025-03-11
实验_三_题目_用双线性变换法设计IIR数字滤波器 第16周星期_3_第6,7节
一. 实验目的
(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法。 (2)掌握数字滤波器的计算机仿真方法。
(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。
二、实验内容、方法、设计程序及实验结果
(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波
器的内容,用双线性变换法设计数字滤波器系统函数H z 。其中满足本实验要求的数字滤波器系统函数为:
H z
1 1.2686z
3
1
0.7051z 2
0.00073781 z 1
1 2 1 2
1 1.0106z 0.3583z1 0.9044z 0.2155z
6
Hk z
k 1
(3.1)
A1 2z 1 z 2
式中: Hk z ,k 1,2,3 1 2
1 Bkz Ckz
A 0.09036B1 1.2686,C1 0.7051
(3.2)
B2 1.0106,C2 0.3583
B3 0.9044,C3 0.2155
根据设计指标,调用MATLAB信号处理工具箱buttord和butter,也可以得到H z 。由公式(3.1)和(3.2)可见,滤波器H z 由三个二阶滤波器H1 z 、
H2 z 和H3 z 级联而成,如图3-1所示。
图3-1 滤波器Hz的组成
y n
此参数下的程序如下:
%实验三,用双线性变换法设计 IIR数字滤波器 x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,... -38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,... 0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]; k=1; %控制滤波循环变量 close all; %关闭全部绘图窗口 figure(1); %创建绘图窗口 subplot(2,2,1); %定位子图 1 n=0:55; %横坐标 stem(n,x,'.'); %画出枝干图 axis([0,56,-100,50]); %调整坐标 xlabel('n'); %标注横坐标 ylabel('x(n)'); %标注纵坐标 title('心电图信号采集序列x(n)');%命名该子图
B=[0.09036,2*0.09036,0.09036];%H1 滤波器的分子系数矩阵 A=[1.2686,-0.7051]; %H1滤波器的分母系数矩阵 A1=[1.0106,-0.3583]; %H2滤波器的分母系数矩阵 A2=[0.9044,-0.2155]; %H3滤波器的分母系数矩阵 while(k<=3)
y=filter(B,A,x); %进行滤波
x=y; %重新赋值X 进行下一次滤波 k=k+1; %控制循环变量 if k==2 A=A1; else A=A2; end end
subplot(2,2,3); %定位子图3 stem(n,y,'.');
axis([0,56,-100,50]); xlabel('n'); ylabel('y(n)');
title('三级滤波后的心电图信号(原坐标)'); subplot(2,2,2) stem(n,y,'.');
axis([0,56,-15,5]); xlabel('n'); ylabel('y(n)');
title('调整坐标后的心电图信号'); %求数字滤波器的幅频特性
A=[0.09036,2*0.09036,0.09036];%滤波器的分子系数矩阵 B1=[1,-1.2686,0.7051]; %H1滤波器的分母系数矩阵 B2=[1,-1.0106,0.3583]; %H2滤波器的分母系数矩阵
B3=[1,-0.9044,0.2155]; %H3滤波器的分母系数矩阵 [H1,w]=freqz(A,B1,100); %进行滤波器幅频特性分析 [H2,w]=freqz(A,B2,100); [H3,w]=freqz(A,B3,100);
H4=H1.*(H2); %点积 H=H4.*(H3);
db=20*log10(abs(H)+eps); subplot(2,2,4) plot(w/pi,db);
axis([0,0.5,-50,10]); xlabel('w');
ylabel('|H(e^j^w)|');
grid on; %显示方格 title('滤波器的幅频响应曲线');
(2)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π,π]频率区间上,最小衰减大与15dB。 参数如下截图:
程序设计如下:
x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,... -38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,... 0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]; k=1; %控制滤波循环变量 %关闭全部绘图窗口 figure(2); %创建绘图窗口 subplot(2,2,1); %定位子图 1 n=0:55; %横坐标 stem(n,x,'.'); %画出枝干图 axis([0,56,-100,50]); %调整坐标 xlabel('n'); %标注横坐标 ylabel('x(n)'); %标注纵坐标 title('心电图信号采集序列x(n)');%命名该子图
B=[0.0007,0.0044,0.0111,0.0148,0.0111,0.0044,0.0007]; %H1 滤波器的分子系数矩阵
A=[1.0000,-3.1838,4.6228,-3.7800,1.8139,-0.4801,0.0545]; %H1滤波器的分母系数矩阵 y=filter(B,A,x);
subplot(2,2,3); %定位子图3 stem(n,y,'.'); axis([0,56,-100,50]); xlabel('n'); ylabel('y(n)');
title('滤波后的心电图信号(原坐标)'); subplot(2,2,2) stem(n,y,'.'); axis([0,56,-100,30]); xlabel('n'); ylabel('y(n)');
title('调整坐标后的心电图信号'); %求数字滤波器的幅频特性
A=[0.0007,0.0044,0.0111,0.0148,0.0111,0.0044,0.0007];%滤波器的分子系数矩阵
B=[1.0000,-3.1838,4.6228,-3.7800,1.8139,-0.4801,0.0545]; %H1滤波器的分母系数矩阵
[H,w]=freqz(A,B,100); %进行滤波器幅频特性分析
db=20*log10(abs(H)+eps); subplot(2,2,4) plot(w/pi,db); axis([0,0.5,-50,10]); xlabel('w');
ylabel('|H(e^j^w)|');
grid on; %显示方格 title('滤波器的幅频响应曲线');
三、 (1)、双线性变换法的特点:
1. 模拟滤波器经过双线性变换后,不存在频率特性的混叠失真,因而对模拟滤波器的
频率响应函数Ha(s) 无限带要求,而且能够直 …… 此处隐藏:1919字,全部文档内容请下载后查看。喜欢就下载吧 ……