基于Matlab的IIR数字滤波器的设计别人实验.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于Matlab的IIR数字滤波器的设计别人实验.doc》由会员分享,可在线阅读,更多相关《基于Matlab的IIR数字滤波器的设计别人实验.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于MatlabIIR数字滤波器设计一 绪论数字滤波是数字信号处理重要内容,是由乘法器、加法器与单位延时器组成一种运算过程,其功能是对输入离散信号进行运算处理,以达到改变信号频谱目。数字滤波器根据频域特性可分为低、高通、带通与带阻四个基本类型;根据时域特性可分为无限长单位冲激响应IIR(Infinite Impulse Response)滤波器与有限长单位冲激响应FIR(Finite Impulse Response)滤波器。数字滤波在通信、图像编码、语音编码、雷达等许多领域中有着十分广泛应用。目前,数字信号滤波器设计图像处理、数据压缩等方面应用取得了令人瞩目进展与成就。鉴于此,数字滤波器设计
2、就显得尤为重要。 MATLAB是美国MathWorks公司推出一套用于工程计算可视化高性能语言及软件环境。MATLAB为数字滤波研究与应用提供了一个直观、高效、便捷利器。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式工作环境中。MATLAB推出工具箱使各个领域研究人员可以直观方便地进行科学研究、工程应用,其中信号处理(signal processing)、图像处理(image processing),小波(wavelet)等工具箱为数字滤波研究蓬勃发展提供了有力工具。二 数字滤波器什么是数字滤波器滤波器是指用来对输入信号进行滤波硬件与软件。所谓数字滤波器,是指输入、输出均为数字
3、信号,通过一定运算关系改变输入信号所含频率成分相对比例或者滤除某些频率成分器件。数字滤波器与模拟滤波器相比,因为信号形式与实现滤波方法不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。 一般用两种方法来实现数字滤波器:一是采用通用计算机,把滤波器所要完成运算编成程序通过计算机来执行,也就是采用计算机软件来实现;二是设计专用数字处理硬件。MATLAB信号处理工具箱是专门应用于信号处理领域专用工具箱,它两个基本组成就是滤波器设计及实现部分以及谱分析部分。工具箱提供了丰富而简便设计,使原来繁琐程序设计简化成函数调用。只要以正确指标参数调用相应滤波器设计程序或工
4、具箱函数,便可以得到正确设计结果,使用非常方便。数字滤波器分类 数字滤波器从功能上分类:可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器。 从滤波器网络结构或者从单位脉冲响应分类:可分为IIR滤波器(即无限长单位冲激响应滤波器)与FIR滤波器(即有限长单位冲激响应滤波器)。它们函数分别为:第一个公式中H (z)称为N阶IIR滤波器函数,第二个公式中H (z)称为(N-1)阶FIR滤波器函数。数字滤波器设计要求 滤波器指标常常在频域给出。数字滤波器频响特性函数一般为复函数,所以通常表示为:其中,|称为幅频特性函数,(w)称为相频特性函数。幅频特性表示信号通过该滤波器后各频率成分衰减情况,而相
5、频特性反映各频率通过滤波器后在时间上延时情况。一般IIR数字滤波器,通常只用幅频响应函数|来描述设计指标,相频特性一般不作要求。IIR滤波器指标参数如下图所示。图中,p与s分别为通带边界频率与阻带边界频率;1与2分别为通带波纹与阻带波纹;允许衰减一般用dB数表示,通带内所允许最大衰减(dB)与阻带内允许最小衰减(dB)分别为p与s表示: 一般要求:低通滤波器技术要求数字滤波器设计方法概述IIR数字滤波器设计步骤流程图如下:步骤流程图 IIR滤波器设计方法有两类,经常用到一类设计方法是借助于模拟滤波器设计方法进行。其设计思路是:先设计模拟滤波器得到传输函数Ha(s),然后将Ha(s)按某种方法转
6、换成数字滤波器系统函数H (Z)。这一类方法是基于模拟滤波器设计方法相对比较成熟,它不仅有完整设计公式,也有完整图表供查阅。更可以直接调用MATLAB中对应函数进行设计。另一类是直接在频域或者时域中进行设计,设计时必须用计算机作辅助设计,直接调用MATLAB中一些程序或者函数可以很方便地设计出所需要滤波器。三 IIR滤波器设计典型IIR数字滤波器设计模拟滤波器理论与设计方法已发展得相当成熟,且有一些典型模拟滤波器供我们选择,如巴特沃斯(Butterworth )滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer )滤波器、贝塞尔(Bessel )滤波器等,这些典型滤波器各有特点。用
7、MATLAB进行典型数字滤波器设计,一般步骤如下:(1) 将设计指标归一化处理。如果采用双线性变换法,还需进行预畸变。(2) 根据归一化频率,确定最小阶数N与频率参数Wn。可供选用阶数择函数有:buttord,cheblord,cheb2ord,ellipord等。(3) 运用最小阶数N设计模拟低通滤波器原型。模拟低通滤波器创建函数有:buttap,cheblap, cheb2ap,ellipap与besselap,这些函数输出是零极点式形式,还要用zp2tf函数转换成分子分母多项式形式。如果想根据最小阶数直接设计模拟低通滤波器原型,可用butter,chebyl,cheby2,ellip,b
8、essel等函数,只是注意要将函数中Wn设为1。(4) 根据第2步频率参数Wn,模拟低通滤波原型转换模拟低通、高通、带通、带阻滤波器,可用函数分别是:lp21p,lp2hp,lp2bp,lp2bs。(5) 运用脉冲响应不变法或双线性变法把模滤波器转数字滤波器,调用函数是impinvar与bilinear。脉冲响应不变法适用于采样频率大于4倍截止频率锐截止低通带通滤波器,而双线性变换法适合于相位特性要求不高各型滤波器。(6) 根据输出分子分母系数,用tf函数生成H(z)表达式,再用freqz函数验证设计结果。设计巴特沃思数字低通滤波器与椭圆数字低通滤波器,要求通带边界频率fp,通带最大衰减Rp;
9、阻带边界频率fs=8kHZ,阻带最小衰减Rs=30dB,采样频率为Fs=20kHZ。用脉冲响应不变法设计巴特沃思数字低通滤波器M程序如下:fp=2100; fs=8000; Fs=20000; Rp=0.5; Rs=30; T=1/Fs; %设计指标W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率N,Wn=buttord(W1p,W1s,Rp,Rs,s);%确定butterworth最小介数N与频率参数Wnz,p,k=buttap(N); %设计模拟低通原型零极点增益参数bp,ap=zp2tf(z,p,k); %将零极点增益转换成分子分母参数bs,as=lp2lp(bp,ap,W
10、n*pi*Fs);%将低通原型转换为模拟低通bz,az=impinvar(bs,as,Fs); %用脉冲响应不变法进行模数变换 sys=tf(bz,az,T); %给出传输函数H(Z)H,W=freqz(bz,az,512,Fs); %生成频率响应参数subplot(2,1,1);plot(W,20*log10(abs(H); %绘制幅频响应grid on; %加坐标网格xlabel(频率/Hz); ylabel(振幅/dB);subplot(2,1,2); plot(W,abs(H); grid on; xlabel(频率/Hz); ylabel(振幅/H);运行后波形如下:运行结果:N =
11、4az= 用双线性变换法设计椭圆数字低通滤波器M程序如下: fs=20000; wp=2*pi*2100/fs; ws=2*pi*8000/fs; Rp=0.5; Rs=30; Ts=1/fs; Wp=2/Ts*tan(wp/2);Ws=2/Ts*tan(ws/2); %按频率转换公式进行转换 N,Wn=ellipord(Wp,Ws,Rp,Rs,s); %计算模拟滤波器最小阶数 z,p,k=ellipap(N,Rp,Rs);%设计模拟原型滤波器 Bap,Aap=zp2tf(z,p,k); %零点极点增益形式转换为传递函数形式 b,a=lp2lp(Bap,Aap,Wn); %低通转换为低通滤波器
12、频率转化 bz,az=bilinear(b,a,fs); %运用双线性变换法得到数字滤波器传递函数 H,f=freqz(bz,az,512,fs); subplot(2,1,1); plot(f,20*log10(abs(H); title(N=2 频率响应); grid on; xlabel(频率/Hz); ylabel(振幅/dB); subplot(2,1,2); plot(f,abs(H); grid on; xlabel(频率/Hz); ylabel(振幅/H);运行结果:N=2bz=az=完全滤波器设计除了典型设计以外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab IIR 数字滤波器 设计 别人 实验
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内