APP下载

基于MATLAB 双线性变换法IIR 滤波器的设计

2016-07-23陈虹兵常芬王雨黄亚男

电脑知识与技术 2016年17期
关键词:滤波器

陈虹兵++常芬++王雨++黄亚男

摘要:滤波是信号处理的基础,因此滤波器的设计也就成为数字信号处理的基本问题之一。数字滤波是对数字信号处理不可或缺的环节,其好处远远大于模拟滤波器。本文应用MATLAB,实现了用双线性变换法设计IIR滤波器,完成了模拟滤波器到数字滤波器的转换,该设计方法效率高,可靠性强。

关键词:MATLAB;双线性变换法;无限脉冲响应IIR;滤波器

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)17-0215-02

Abstract: Filtering is based signal processing, so the filter design has become one of the fundamental issues of digital signal processing. Digital filtering is an integral part of the digital signal processing, the benefits far outweigh the analog filter. In this paper, MATLAB realized by bilinear transform IIR filter design, completed the analog filter to a digital filter conversion. The design method has high efficiency and high reliability.

Key words: MATLAB; Bilinear transform; Infinite impulse response IIR; Filter

通信、自动控制、雷达、军事、语音、图像处理等很多领域均需要用到数字滤波。滤波、频谱分析、调制解调及编码等共同组成了数字信号处理[1]这一领域。其中,滤波是十分重要的一个环节。滤波是信号处理的基础,滤波运算是信号处理中的基本运算,滤波器的设计也就相应成为数字信号处理的最基本问题之一[2-3]。信号带有噪声或无用信号,滤波器的作用是将这些干扰成分滤除,也就是让特定频段的信号通过达到对信号筛选的效果。

数字滤波在数字信号处理领域有着十分重要的作用,是信号处理不可或缺的环节。图像处理、语音、谱分析等中均需要应用到数字滤波。在绝大多数的数字信号处理的应用中,数字滤波器的好处远大于模拟滤波器。不同的幅度和相位频率特性指标均可以用数字滤波器实现,模拟滤波器器件性能相关的电压漂移、噪声问题和温度漂移在数字滤波器中均得到了克服。

MATLAB中的信号处理工具箱,在数字信号处理中常用的算法:FFT、相关、滤波器设计、卷积和参数模型等,用一条语句基本上就可以实现。波形的产生、傅里叶变换、Z变换、滤波器的设计和分析都是数字信号处理中常用的函数。

1 数字滤波器设计的相关理论

按照数字滤波器的脉冲响应时域特性分为:无限脉冲响应(IIR,Infinite Impulse Response)滤波器和有限脉冲响应(FIR,Finite Impulse Response)滤波器。FIR数字滤波器具有线性相位特性,模拟滤波器和IIR数字滤波器不具备这一特性[4-5]。IIR数字滤波器方便简单,但它相位的线性,要采用全通网络进行相位校正。图像处理以及数据传输,都要求信道具有线性相位特性。根据数字滤波器频域作用范围的不同,可分为低通、高通、带通和带阻。

1.1 IIR数字滤波器设计的具体步骤

数字滤波器可以根据模拟滤波器成熟的技术和方法来进行设计,因为模拟滤波器具有完整的公式和图表[6-8],IIR滤波器设计的具体步骤如图1所示。

一般通过MATLAB来设计IIR数字滤波器,MATLAB为我们提供了设计IIR滤波器的函数,这些函数让我们方便快捷地完成滤波器的设计。通常低通模拟滤波器有四种设计方法:巴特沃斯(Butterworth)、椭圆、切比雪夫(Chebysheve)I型、切比雪夫II型四种设计方法。

1.2 数字滤波器的频带变换

依据某些特定的变换关系,我们把某个数字低通滤波器转化为带阻、带通、低通、高通数字滤波器,转化后的数字滤波器与原来的数字滤波器一致的通带特性和阻带特性曲线。滤波器频带变换关系如表1所示。

2 双线性变换法IIR滤波器

2.1 双线性变换法的基本原理

在设计高通、带通、带阻IIR滤波器可以选用双线性变换法。将模拟滤波器转换成数字滤波器,然后进行设计,其设计原理为:由于从s平面转换到z平面,会产生频率响应的混叠失真,是由于多值映射所产生的。双线性变换法采用非线性频率压缩,使得频率范围在[-πT?πT]之间,然后用[z=esT]转换到z平面。这样就建立了一一映射的关系,消除了频谱混叠现象。

由于设计的是带通IIR滤波器,我们选用的是双线性变换法,由于模拟滤波器只能设计低通滤波器,我们先需要将带通滤波器的技术指标转换成模拟的,然后设计低通滤波器,之后将设计得到的模拟滤波器通过双线性变换法转换成数字滤波器,再通过转换公式将其转换成带通滤波器。

2.2 IIR带通滤波器的设计

IIR带通滤波器的指标为:通带中心频率[ωp0=0.5π],通带最大衰减[αp=3dB],通带上、下截止频率分别为[ωp1=0.4π],[ωp2=0.6π],阻带截止频率[ωs2=0.7π],阻带最小衰减[αs=15dB]。MATLAB中的bilinear函数可以实现双线性变换。调用格式为:[Bz,Az]=bilinear(B,A,Fs); 其中,B、A为模拟滤波器传递函数G(s)的分子多项式的系数向量;而Bz、Az为数字滤波器的传递函数H(z)的分子、分母多项式的系数向量。

双线性变换法设计IIR滤波器MATLAB程序如下所示:

观察图像可以知道,在图中2处允许该频率段的频率通过,而其他地方则不允许通过,设计结果符合参数要求。

3 总结

IIR滤波器的数模转换设计方法的结论是:一般是通过一定的转换规则将数字IIR滤波器的各项性能指标转换成对应模拟滤波器的性能指标,然后设计对应的模拟滤波器,再通过双线性变换法或其他方法将模拟滤波器转换成数字滤波器,若是低通,则结束,其他则按照一定的规则转换成相应的滤波器。这种设计方法效率高,可靠性强。

参考文献:

[1] Joyce Van de Vegte. Fundamentals of Digital Signal Processing[M].北京:电子工业出版社,2003.

[2] 丁磊,潘贞存,丛伟. 基于MATLAB信号处理工具箱的数字滤波器的设计与仿真[J].继电器,2003,31 (9):49-51.

[3] 杨大柱. MATLAB环境下FIR滤波器的设计与仿真[J].集成电路应用.2006(09):101-103.

[4] 钟麟,王峰. MATLAB仿真技术与应用教程[M].北京:国防工业出版社,2004.

[5] 赵瑞堃. 基于MATLAB的FIR和IIR数字滤波器的设计[D].吉林:吉林大学,2012.

[6] 王赟松. FIR数字滤波器设计[D]. 西安:西安电子科技大学,2012.

[7] 严小军,赵妮, 秦泓江. 基于MATLAB的IIR数字滤波器设计与仿真[J].2007(6):110-112.

[8] 严慧, 于继明. 基于Matlab的IIR数字滤波器设计[J].2013,12(1):110-112.

猜你喜欢

滤波器
滤波器对无线网络中干扰问题的作用探讨
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
45000kHz基频晶体滤波器
基于Canny振荡抑制准则的改进匹配滤波器
基于SystemView的匹配滤波器设计与仿真
截断的自适应容积粒子滤波器
基于TMS320C6678的SAR方位向预滤波器的并行实现
LCL滤波器在6kV级联STATCOM中的应用