2022年实验三IIR滤波器的设计与信号滤波.docx
精品学习资源、试验目的试验三IIR 滤波器的设计与信号滤波欢迎下载精品学习资源熟识用双线性变换法设计IIR 数字滤波器的原理与方法;把握数字滤波器的电脑仿真方法;通过观看对实际心电图信号的滤波作用,获得数字滤波的感性学问;2、试验仪器:PC 机一台 MATLAB 软件3、试验原理利用双线性变换设计IIR滤波器只介绍巴特沃斯数字低通滤波器的设计,第一要设欢迎下载精品学习资源计出满意指标要求的模拟滤波器的传递函数H a s ,然后由H a s 通过双线性变换可得所欢迎下载精品学习资源要设计的 IIR 滤波器的系统函数H z ;欢迎下载精品学习资源假如给定的指标为数字滤波器的指标,就第一要转换成模拟滤波器的技术指标,这里主欢迎下载精品学习资源要 是 边 界 频 率wp和ws的转 换 , 对p 和 s指 标 不 作 变 化; 边 界 频 率的 转 换 关 系 为欢迎下载精品学习资源21tanT2w ;接着,依据模拟低通滤波器的技术指标依据相应设计公式求出滤波器欢迎下载精品学习资源的阶数 N 和 3dB截止频率c ;依据阶数 N 查巴特沃斯归一化低通滤波器参数表,得到归欢迎下载精品学习资源一化传输函数H a p ;最终,将 ps代入 H a p 去归一,得到实际的模拟滤波器传输c1欢迎下载精品学习资源函数 Hs ;之后,通过双线性变换法转换公式s2 1z,得到所要设计的IIR滤波欢迎下载精品学习资源a器的系统函数H z ;T 1z 1欢迎下载精品学习资源利用所设计的数字滤波器对实际的心电图采样信号进行数字滤波器;4、试验步骤及内容复习有关巴特沃斯模拟滤波器的设计和用双线性变换法设计IIR 数字滤波器的内容, 用双线性变换法设计一个巴特沃斯IIR低通数字滤波器; 设计指标参数为: 在通带内频率低欢迎下载精品学习资源于 0.2时,最大衰减小于1dB ;在阻带内0.3 ,频率区间上,最小衰减大于15dB ;欢迎下载精品学习资源绘制出数字滤波器的幅频响应特性曲线; 用所设计的滤波器对实际心电图信号采样序列试验数据在后面给出进行仿真滤波处理,并分别绘制出滤波前后的心电图信号波形图,观看总结滤波作用与成效;输入为20Hz 正弦和 200Hz 的正弦的叠加波形,要求用双线性变换法设计一巴特沃斯数字低通滤波器滤除200Hz 的正弦,使输出中只保留20Hz 的正弦波;并绘制出滤波前和滤波后的波形;5、试验用 MATLAB函数介绍buttord;butter;bilinear;freqz;freqs;filter;figure;plot;stem;abs;title;xlabel;ylabel;text;holdon;axis;gridon; subplot;等6、摸索题欢迎下载精品学习资源用双线性变换法设计数字滤波器过程中,变换公式s2 11z中 T 的取值, 对欢迎下载精品学习资源T 1z 1欢迎下载精品学习资源设计结果有无影响 . 为什么 .假如用脉冲响应不变法设计该IIR 数字低通滤波器,程序如何改动?7、试验报告要求简述试验目的及试验原理;编程实现各试验内容,列出试验清单及说明;欢迎下载精品学习资源由绘制的特性曲线及设计过程简述双线性变换法的特点;欢迎下载精品学习资源H e jw 比照滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用;简要答复摸索题;欢迎下载精品学习资源8、心电图信号采样序列xn欢迎下载精品学习资源人体心电图信号在测量过程中往往受到工业高频干扰,所以必需经过低通滤波处理后, 才能作为判定心脏功能的有用信息;下面给出的数据是一实际心电图信号采样序列样本欢迎下载精品学习资源xn,其中存在高频干扰;本试验中,以x n作为输入序列,滤除其中的干扰成分;欢迎下载精品学习资源xn-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附录一、常用的 MATLAB函数介绍 plot功能:线型绘图函数;格式: plot v ; plot x,y 说明:plot v ,v 是长度为 N 的数值向量;作用是在坐标系中次序地用直线连接顶点,生成一条折曲线;当向量元素充分多时,即可生成一条光滑的曲线;在试验中,假设FFT欢迎下载精品学习资源点数足够多时,用plot打印的幅频特性就很接近| X e jw | 连续曲线;欢迎下载精品学习资源plot x,y ,x 和 y 都是长度为 n 的向量; 作用在坐标系中生成次序连接顶点的折曲线;这种调用可被用来生成参数方程的图形; stem功能:绘制离散序列图;格式: stemy ; stemx,y; stem , 线端符号 ; stem , 线型 ;stem , 线型,线端符号 说明:stemy 和 stemx,y分别与 plot v和 plot x,y 的绘图规章相同,只是stem 绘欢迎下载精品学习资源制的是离散序列图;试验中用于绘制时域序列xn的波形图和序列的离散傅里叶变换欢迎下载精品学习资源X k 的幅度图; subplot功能:多坐标设置与定位当前坐标系;格式: subplotm,n,k欢迎下载精品学习资源说明:subplotm,n,k将图形窗口分成 m行 n 列的 m× n 块子区域, 按行从上到下, 从左到右的次序, 在第 i 块子区定义一个坐标系,使其成为当前坐标系, 随后的绘图函数将在该坐标系输出图形; 另外, 同一个图形窗口的坐标系可以重叠,这样可以产生前面的坐标系遮住后 面坐标系的各种图形成效; figure功能:创建新的图形窗口用于输出图形的窗口;格式: figure; figureh说明:figure函数创建一个新的图形窗口,并成为当前图形窗口,所创建的图形窗口的序号句柄值是按同一MATLAB程序中创建的次序号;使用figureh函数,该方法常用在程序设计中, 用于掌握将各种波形图输出到相应的图形窗口中;打印输出或储备时,一个图形窗口打印一张图纸或储备一个图形文件; axis功能:设置图形的坐标范畴;格式: axisxmin xmax ymin ymax grid on功能:画出图形的分格线;7. title功能: 书写图名;格式: title s 8. xlabel功能: 横坐标名称;格式: xlabel s 9. ylabel功能: 纵坐标名称;格式: ylabel s 10. text功能:在图面 x,y 位置处书写字符注释;格式: text x,y,s11. hold on功能:通过该命令,保持当前图形不变化,预备在当前的图形窗口上绘制新的曲线;12. abs功能:求肯定值模值 ;格式: y=absx说明:y=absx 用于运算 x 的肯定值, 当 x 为复数时, 得到的是复数的模值; 当 x 为字符串时,absx 得到字符串的各个字符的ASCII 码,例如, x= 123 , 就, absx 得到: 49 50 51 ;13. angle功能:求相角;格式: angleh说明: angleh用于求复矢量或复矩阵的相角以弧度为单位,相角介于和之间;14. conv功能:求卷积; 格式: c=conva,b欢迎下载精品学习资源说明: conva,b用于求矢量 a 和 b 的卷积,即欢迎下载精品学习资源cnN 1akk 01bnk, n1,2,欢迎下载精品学习资源式中为矢量a 和 b 的最大长度;例如,当a=1 2 3,b=4 5 6时,就c=conva,b c=4 13 28 27 18此函数可直接用于求两个有限长序列的卷积;设xn 和 hn 的长度分别为 M和 N,就运算二者卷积的 MATLAB语句如下:y=convx,hy 的长度为 M+N-1;15. filter功能:利用 IIR滤波器或 FIR 滤波器对数据进行滤波;格式: y=filterb,a,x; y,zf=filterb,a,x; y=filterb,a,x,zi 说明:filter利用数字滤波器对数据进行滤波,其实现采纳直接型结构,因而适用于IIR和 FIR 两种滤波器;滤波器的系统函数为欢迎下载精品学习资源H zb0b1z11bM zMN欢迎下载精品学习资源1a1za N z即滤波器系数a=a 0 a 1 a 2 aN,b=b0 b 1 b M ;这里的标准形式为a0=1,假如输入矢量 a 时, a0 1,就 MATLAB将自动进行归一化系数的操作;假如a0=,就给出出错信息;y=filterb,a,x利用给定系数矢量a 和 b 对 x 中的数据进行滤波, 结果放入 y 矢量中;y=filterb,a,x,zi可在 zi中指定 x 的初始状态;y,zf=filterb,a,x除得到矢量 y 外,仍得到 x 的最终状态矢量 zf ;16. fftfilt功能:利用重叠相加法实现短序列bn 和长序列 xn 的块之间的卷积;格式: y=fftfiltb,x17. freqz功能:数字滤波器的频率响应;格式: H,w =freqzb,a, ;, f =freqzb,a,N,Fs; H=freqzb,a,w; H=freqzb,a,f,Fs; freqzb,a欢迎下载精品学习资源说明:freqz用于运算数字滤波器Hz 的频率响应函数H ejw ;欢迎下载精品学习资源 H,w =freqzb,a, 可得到数字滤波器的点频率响应值,这个点匀称地分布在,上,并将这个频点的频率记录在w 中,相应的频响值记录在中;要求为大于零的整数,最好为的整数次幂,以便采纳FFT运算,以提高速度;欢迎下载精品学习资源, f =freqzb,a,N,Fs用于对H e jw 在,Fs / 2 上等间隔采样点,采样欢迎下载精品学习资源点频率及相应频响值分别记录在f 和 H 中;由用户指定Fs 以 Hz 为单位 值;欢迎下载精品学习资源H=freqzb,a,w用于对H e jw 在, 2上进行采样, 采样频率点由矢量w 指定;欢迎下载精品学习资源H=freqzb,a,f,Fs用于对H ejw 在,Fs 上采样,采样频率点由矢量f 给定;欢迎下载精品学习资源freqzb,a用于在当前窗口中绘制出幅频和相频特性曲线;18. impz功能:运算 Hz 相应的单位脉冲响应hn ;格式: h,t =impzb,a; h,t=impzb,a,z;19. fft功能:一维快速傅里叶变换FFT欢迎下载精品学习资源格式: y=fftx; y=fftx,N说明:fft函数用于运算矢量或矩阵的离散傅里叶变换;y=fftx利用 FFT算法运算矢量 x 的离散傅里叶变换,当x 为矩阵时, y 为矩阵 x 每一列的 FFT;当 x 的长度为 2 的整数次幂时, fft采纳基 2FFT 算法, 否就采纳稍慢的混合基算 法;y=fftx,N采纳点 FFT;当 x 长度小于时, fft函数自动在 x 尾部补零,以构成点数据;当 x 的长度大于时,fft截取 x 的前面点数据进行FFT;20. ifft功能:一维逆快速傅里叶变换IFFT 格式: y=ifftx; y=ifftx,N二、IIR 滤波器的设计与实现基于模拟滤波器变换原理IIR滤波器的经典设计: 第一, 依据模拟滤波器的指标设计出相应的模拟滤波器,然后,将设计好的模拟滤波器转换成满意给定技术指标的数字滤波器;通常算法有脉冲响应不变法和双线性变换法;在MATLAB的数字信号处理工具箱中供应了相应的设计函数;常用的有: Butterworth滤波器阶数挑选函数N,Wn=buttordWp,Ws,Rp,Rs输入参数: Wp通带截止频率, Ws阻带截止频率, Rp 通带最大衰减, Rs 阻带最小衰减; 输出参数: N 符合要求的滤波器最小阶数,Wn为 Butterworth滤波器固有频率 3dB;零极点增益模型到传递函数模型的转换num,den=zp2tfZ,P,K;输入参数: Z,P,K 分别表示零极点增益模型的零点、极点和增益; 输出参数: num,den 分别为传递函数分子和分母的多项式系数;从低通向低通的转换b,a=lp2lpBap,Aap,Wn;功能:把模拟滤波器原型转换成截至频率为Wn的低通滤波器;双线性变换函数bz,az=bilinearb,a,Fs;功能:把模拟滤波器的零极点模型转换为数字滤波器的零极点模型,其中Fs 是采样频率;例 4:用双线性变换法设计一个Butterworth数字低通滤波器,要求其通带截至频率欢迎下载精品学习资源0.2rad,阻带截至频率0.4rad,通带衰减Rp 小于 dB,阻带衰减Rs 大于 20dB;欢迎下载精品学习资源MATLAB实现程序: wp=0.2*pi;ws=0.4*pi; ap=0.75;as=20;T=1;Wp=2/T*tanwp/2; %求模拟原型滤波器参数Ws=2/T*tanws/2;N,Wc=buttordWp,Ws,ap,as,'s' %求滤波器的阶数BS,AS=butterN,Wc,'s'%得到模拟原型滤波器的系统函数BZ,AZ=bilinearBS,AS,1/T;%双线性变换法转换到数字滤波器的系统函数H,W=freqsBS,AS;plotW/pi,20*log10absH;%画模拟原型滤波器的频响hold on;grid; H,W=freqzBZ,AZ;欢迎下载精品学习资源plotW/pi,20*log10absH,'r' %画数字滤波器的频响运行结果:Butterworth低通滤波器的频率响应图欢迎下载