基于MATLAB的IIR数字滤波器设计_第1页
基于MATLAB的IIR数字滤波器设计_第2页
基于MATLAB的IIR数字滤波器设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于MATLAB的IIR数字滤波器设计摘自:张登奇,周婷.基于MATLAB的IIR数字滤波器设计J. 湖南理工学院学报,2007,(3摘 要:数字滤波是数字信号处理的重要内容,数字滤波器可分为FIR和IIR两大类。文章根据IIR滤波器的设计原理,详细介绍了MATLAB环境下IIR数字滤波器的设计方法和操作步骤,并列出了设计实例程序及运行结果。关键词:MATLAB;数字信号处理;数字滤波器;无限冲激响应2 IIR数字滤波器的典型设计法典型设计法的设计思想是:利用已有的模拟滤波器设计理论,首先根据设计指标设计一个合适的模拟滤波器,然后再通过脉冲响应不变法或双线性变换法,完成从模拟到数字的变换。常用

2、的模拟滤波器有巴特沃斯(Butterworth滤波器、切比雪夫(Chebyshev滤波器、椭圆(Ellipse滤波器、贝塞尔(Bessel滤波器等,这些滤波器各有特点,供不同设计要求选用。滤波器的模拟数字变换,通常是复变函数的映射变换,也必须满足一定的要求。由于数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计指标进行归一化处理3。设采样频率为Fs,归一化频率的计算公式是:利用典型设计法设计数字滤波器的步骤:1、将设计指标归一化处理。如果采用双线性变换法,还需进行预畸变。2、根据归一化频率,确定最小阶数N和频率参数Wn。可供选用的阶数选择函数有:buttord,cheblord

3、,cheb2ord,ellipord等。3、运用最小阶数N设计模拟低通滤波器原型。模拟低通滤波器的创建函数有:buttap, cheblap, cheb2ap, ellipap和besselap,这些函数输出的是零极点增益形式,还要用zp2tf函数转换成分子分母多项式形式。如果想根据最小阶数直接设计模拟低通滤波器原型,可用butter, chebyl, cheby2, ellip, bessel等函数,只是注意要将函数中的Wn设为1。4、根据第2步的频率参数Wn,将模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器,可用函数分别是:lp21p, lp2hp, lp2bp, lp2bs。5

4、、运用脉冲响应不变法或双线性变换法把模拟滤波器转换成数字滤波器,调用的函数是impinvar和bilinear。脉冲响应不变法适用于采样频率大于4倍截止频率的锐截止低通带通滤波器,而双线性变换法适合于相位特性要求不高的各型滤波器。6、根据输出的分子分母系数,用tf函数生成H(z)的表达式,再用freqz函数验证设计结果。设计实例:设计一个butterworth数字低通滤波器,要求通带临界频率fp=3400Hz,阻带临界频率fs=5000Hz,通带内的最大衰减Rp=2dB,阻带内的最小衰减Rs=20db,采样频率Fs=22050Hz。用脉冲响应不变法设计的m程序如下:clear;close al

5、l;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % 设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率% 确定butterworth的最小阶数N和频率参数Wn N, Wn = buttord(W1p, W1s, Rp, Rs, 's' z,p,k = buttap(N; % 设计模拟低通原型的零极点增益参数bp,ap = zp2tf(z,p,k; % 将零极点增益转换成分子分母参数% 上两步也可用bp,ap=butter(N,1,'s'直接获取归一化低通原型 bs,as

6、= lp2lp(bp,ap,Wn*pi*Fs; % 将低通原型转换为模拟低通bz,az = impinvar(bs,as,Fs % 用脉冲响应不变法进行模数变换sys=tf(bz,az,T % 给出传输函数H(z)H,W=freqz(bz,az,512,Fs; % 生成频率响应参数plot(W,20*log10(abs(H; % 绘制幅频响应grid on; % 加坐标网格程序运行结果(幅频响应图略):bz = -0.0000 0.0008 0.0230 0.0607 0.0316 0.0032 0.0000az = 1.0000 -2.6672 3.6671 -3.0760 1.6603 -0.5676 0.1126 -0.0099如果用双线性变换法完成上述设计实例,归一化频率需预畸变处理,公式应修改为:W1p=2*tan(2*pi*fp*T/2/pi;W1s=2*tan(2*pi*fs*T/2/pi;当然,从模拟到数字的变换函数也应改为:bz,az = bilinear (bs,as,Fs程序运行结果:bz = 0.0047 0.0280 0.0700 0.0933 0.0700 0.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论