数字滤波器设计及其应用
- 格式:docx
- 大小:71.82 KB
- 文档页数:20
数字滤波器设计及其应用
在本文中,我们分别研究了在MATLAB环境下IIR数字滤波器的 典型设计和完全设计等方法。 典型设计是先按一定规则将给出的数字滤波器的技术指标转换成 模拟低通滤波器的技术指标,据此产生模拟滤波器原型,然后把模拟 低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器,最后再 把模拟滤波器转换成数字滤波器。 完全设计方法中我们利用函数直接设计出低通、高通、带通和带 阻滤波器,并分别用巴特沃斯(Butterworth )滤波器、切比雪夫 (Chebyshev)滤波器、椭圆(Cauw)滤波器来实现,并比较了各自的 频率响应曲线。 在FIR滤波器的设计中,我们用切比雪夫窗和海明窗设计的带通 滤波器的频率响应进行对照,结果表面用海明窗设计的滤波器的频率 特性几乎在任何频带上都比切比雪夫窗设计的滤波器的频率特性好, 只是海明窗设计的滤波器下降斜度较小。 本文利用不同的滤波器研究了 MATLAB环境下的图像处理技术。 对一张无锡马山园林的风景照片进行的二种修正,取得了不同的 效果:先对原图进行线性变换增加了对比度和亮度对这张图像,图像 效果有了 一定的改善。后来我们用非锐化滤波器对修正后的图像再进 行了处理,对图像的过渡失真进行了补偿。: 本文还对一幅加噪声婚纱照片的去噪效果进行了研究。比较去噪 效果证明,用小波变换的方法进行去噪,图像处理效果更佳。 关键词:数字滤波器;图像处理;小波变换; 作 者:王蔚 指导教师:顾济华
Abstract In this thesis,the typical and complete designs under MATLAB are studied. The typical design gets the technical parameters from digital filters that should be designed, and then transformed into the analog parameters of a low-pass analog filter prototype. The prototype is converted into the analog low-pass,high-pass,band-pass and the band-stop filters respectively, which are transformed into the digital ones. The complete design uses the given functions and releases the low-pass,high-pass, band-pass and the band-stop filters directly. But ter worth, Chebyshev and Caoer filters are used for the implementations. In the FIR filter designs, Chebyshev and Hamming windows are used for a band-pass filter. Their frequency responses are compared. The advantage of Hamming window is shown on all bands. Finally, the image processing functions using filters under MATLAB are studied. A photo (Wuxi Garden) is modified with two different processes and the different effects can be seen. The linear transformation improved the contrast and brightness of the photo, while the un-sharpening filter compensated the transitions. Another photo is modified with the wavelet transformation, which shows the better effects on reducing noises. Keywords: digital filter, image processing,wavelet transformation Author: Wang Wei Directed by Gu Ji-Hua
第一章 绪 数字滤波在通信、图像编码、语音编码、雷达等许多领域中有着 十分广泛的应用1n[2]。目前,数字信号滤波器的设计图像处理、数据压 缩等方面的应用取得了令人瞩目的进展和成就。近年来迅速发展起来 的的小波理论,由于其局部分析性能的优异在图像处理中的应用研究, 尤其是在图像压缩、图像去噪等方面的应用研究,受到了越来越多的 关注[3H6]。 MATLAB是美国MathWorks公司推出的一套用于工程计算的可视 化高性能语言与软件环境m。MATLAB为数字滤波的研究和应用提供 了 -个直观、高效、便捷的利器。它以矩阵运算为基础,把计算、可 视化、程序设计融合到了一个交互式的工作环境中。MATLAB推出的 工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应 用,其中的信号处理(signal processing )、图像处理(image processing )、 小波(wavelet)等工具箱为数字滤波研究的蓬勃发展提供了有力的工具!8Hm。 本文着重研究了基于MATLAB下的I1R和FIR滤波器的设计实现、 数字图像处理中的滤波器的设计,并就利用小波变换滤波器进行数字 图像去噪进行了一些粗浅的尝试。
第二章 数字滤波器
2.1 什么是数字滤波器 滤波器是指用来对输入信号进行滤波的硬件和软件。所谓数字滤 波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信 号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波 器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字 滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不 要求阻抗匹配等优点。 一般用两种方法来实现数字滤波器:一是釆用通用计算机,把滤 波器所要完成的运算编成程序通过计算机来执行,也就是采用计算机 软件来实现;二是设计专用的数字处理硬件。 MATLAB的信号处理工具箱是专门应用于信号处理领域的专用工 具箱,它的两个基本组成就是滤波器的设计与实现部分以及谱分析部 分.工具箱提供了丰富而简便的设计,使原來繁琐的程序设计简化成 函数的调用。只要以正确的指标参数调用相应的滤波器设计程序或工 具箱函数,便可以得到正确的设计结果,使用非常方便。 2.2 数字滤波器的分类 数字滤波器从功能上分类:可分为低通滤波器、高通滤波器、带 通滤波器、带阻滤波器。 从滤波器的网络结构或者从单位脉冲响应分类:可分为IIR滤波器 (即无限长单位冲激响应滤波器)和FIR滤波器(即有限长单位冲激 响应滤波器)。它们的函数分别为:
第一个公式中的H(z)称为N阶IIR滤波器函数,第二个公式中 的H (z)称为(N-1)阶FIR滤波器函数。 2.3 数字滤波器的设计要求和方法 滤波器的指标常常在频域给出。数字滤波器的频响特性函数H (ejw) —般为复函数,所以通常表示为 H(ejw)-|H(ejw)|eje(w) 其中,|H(e>) |称为幅频特性函数;9 (w)称为相频特性函数。幅 频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性 反映各频率通过滤波器后在时间上的延时情况。一般对hr数字滤波 器,通常只用幅频响应函数iH(e>) |来描述设计指标,相频特性一般不 作要求。而对线性相位特性的滤波器,一般用FIR数字滤波器设计实 现。 IIR低通滤波器指标参数 如图2. 3. 1所示。图中,to H 和u ,分别为通带边界频率; S ,和5 ,分别为通带波纹和 阻带波纹;允许的衰减一般用 dB数表示,通带内所允许的 最大衰减(dB)和阻带内允许 的最小衰减(dB)分别为a p和a s.表示 - 1 — n , 1 + <5^1 aa = -20 lg = 20 lg L as - -20 lg 82 一般要求: 当0彡|co丨彡%时,-201g|H(ejw)丨彡a p; 当 co<|a>| 彡 ii 时,a s^-201g|H(ejw) |。 §2.4 数字滤波器设计方法概述 IIR滤波器和FIR滤波器的设计方法很不相同,IIR滤波器设计方 法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法 进行的。其设计思路是:先设计模拟滤波器得到传输函数(s),然后 将HJs)按某种方法转换成数字滤波器的系统函数H(Z)。这一类方法是 基于模拟滤波器的设计方法相对比较成熟,它不仅有完整的设计公式, 也有完整的图表供查阅。更可以直接调用MATLAB中的对应的函数进 行设计。另一类是直接在频域或者时域中进行设计的,设计时必须用 计算机作辅助设计,直接调用MATLAB中的一些程序或者函数可以很 方便地设计出所需要的滤波器。FIR滤波器不能采用由模拟滤波器的设 计进行转换的方法,经常用的是窗函数法和频率釆样法。也可以借助 计算机辅助设计软件釆用切比雪夫等波纹逼近法进行设计。
第三章 IIR滤波器的设计
§3.1 典型的IIR数字滤波器的设计 模拟滤波器的理论和设计方法已发展得相当成熟,且有一些典型 的模拟滤波器供我们选择,如巴特沃斯(Butterworth)滤波器、切比雪 夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤 波器等,这些典型的滤波器各有特点。 用MATLAB进行典型的数字滤波器的设计,一般步骤如下: ⑴按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤 波器的技术指标; ⑵根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶 数N和固有频率Wn,根据选用的模拟低通滤波器的类型可分别用函数: buttord、cheblord、cheb2ord、ellipord 等; ⑶运用最小阶数N产生模拟滤波器原型,模拟低通滤波器的创建 函数有:buttap、cheblap、cheb2ap、ellipap、besselap 等; ⑷运用固有频率Wn把模拟低通滤波器原型转换成模拟低通、高 通、带通、带阻滤波器,可分别用函数丨p21p、lp2hp、lp2bp、]p2bs; (5)运用冲激响应不变法或双线性变换法把模拟滤波器转换成数字 滤波器,分别用函数impinvar和bilinear来实现。 低通Chebyshev I型数字滤波器的设计:设计中需要限定其通带上 限临界频率wp,阻带临界滤波频率ws,在通带内的最大衰减rp,阻带 内的最小衰减rs。 设计过程如下: 把数字滤波器的频率特征转换成模拟滤波器的频率特征; (例如设定各参数 wp=30*2*pi;ws=40*2*pi;Fs=100;rp=0.3;rs-80;) 选择滤波器的阶数: [N,Wn]=chebl ord(wp,ws,rp,rs/sr); 创建Chebyshev I型滤波器原型: [z,p,k]=cheblap(N,rp); 表达形式从零极点增益形式转换成状态方程形式: [A,B,C,D]=zp2ss(z,p,k); 把模拟低通滤波器原型转换成模拟低通滤波器: [At,Bt’Ct,Dt]=lp21p(A,B,C,D,Wn); 表达形式从状态方程形式转换成传递函数形式: [numl,denl]=ss2tf(At,Bt’Ct,Dt); 釆用冲激响应不变法将模拟滤波器转换成数字滤波器: [num2,den2]=impinvar(numl,denl ,100); 频率响应如图3.1.1: