电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

IIR数字椭圆滤波器

来源:文库作者:开心麻花2025-09-181

IIR数字椭圆滤波器(精选4篇)

IIR数字椭圆滤波器 第1篇

数字滤波器的设计就是构造满足给定技术指标的数字硬件或程序 (软件) 的过程。设计从技术指标开始, 包括四个基本步骤;函数逼近、电路实现、缺陷分析和产品实现。所谓函数逼近, 就是用一个因果稳定的系统函数去逼近给定数字滤波器的性能要求。对于给定技术指标的IIR数字滤波器, 常见的函数逼近有巴特沃斯 (Butterworth) 、切比雪夫I (Chebyshew) 、切比雪夫 (Chebyshew) Ⅱ、椭圆 (elliptic) 等逼近函数。其中巴特沃斯 (Buterworth) 、切比雪夫I (Chebyshew) 、切比雪夫Ⅱ (Chebyshew) 的理论和逼近算法都被大家所熟悉或掌握, 同时又由于人们长期对模拟滤波器的研究已经形成了很多简单有效的逼近算法和严格的设计公式、现成的曲线和图表供设计人员使用, 所以在实际的工程中应用较多而椭圆 (elliptic) 逼近算法在实际工程中极少应用, 但是椭圆逼近算法在相同技术指标下具有最小阶数, 从而可以使得数字滤波器获得就较为经济的解决方案, 而且它们的系数可以用闭合的公式计算。因此也在工业中有着教大的应用价值, 本文将利用MATLAB作为计算工具, 将椭圆逼近法和传统的几种函数逼近法进行比较, 研究椭圆逼近法的优势所在。

MATLAB是美国MathWork公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想的集成环境。MATLAB的信号处理工具箱包含了各种经典的和现代的数字信号处理技术, 是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时, 我们可以利用MATLAB的滤波器设计工具软件FDATool (Filter Design&Analysis Tool) , 在指定位置输入设计参数, 可快速设计出所需的数字滤波器以及滤波器的性能分析。

FDATool (Filter Design&Analysis Tool) 是MATLAB信号处理工具箱里专用的滤波器设计分析工具, MATLAB6.0以上版本还专门增加了滤波器设计工具箱 (Filter Design Toolbox) 。FDATool可以设计几乎所有的常规滤波器, 包括FIR和IIR各种设计方法。

FDATool界面共分两大部分, 一部分是Design Filter, 在界面的下半部分, 用来设计滤波器的设计参数;另一部分则是特性区, 在截面的上半部分, 用来显示滤波器的各种特性。Design Filter部分主要分为滤波器 (Filter type) 类型选项, 包括Lowpass (低通) 、Highpass (高通) 、Bandpass (带通) 、Bandstop (带阻) 和特殊FIR滤波器。

Design Method (设计方法) 选项, 包括IIR的巴特沃斯 (Buterworth) 、切比雪夫I (Chebyshew I) 、切比雪夫Ⅱ (ChebyshewⅡ) 、椭圆 (elliptic) 法和FIR滤波器设计法、Least-Squares (最小二乘法) 、Window (窗函数法) 。Filter order (滤波器阶数) 选项, 定义滤波器的阶数, 包括Specify order (指定阶数) 和Minimum Order (最小阶数) 。在Specify order中填入所需要设计滤波器的阶数 (N阶数滤波器, Specify order=N-1) 。如果选择MinimumOrder, 则MATLAB根据所选择的滤波器类型自动使用最小阶数。

Frenquency Specifications选项, 可以详细定义频带的各参数, 包括采样频率fs和频带的截止频率。它的具体选项由Filter Type选项和D e s i g n M e t h o d选项决定, 例如Bandpass (带通) 滤波器需要定义Fstopl (下阻带截止频率) 、Fpassl (通带下限截止频率) 、Fpass2 (通带上限截止频率) 、Fstop2 (上阻带截止频率) , 而Lowpass (低通) 滤波器只需要定义Fstopl、Fpassl。采用窗函数设计滤波器时, 由于过渡带是由窗函数的类型和阶数所决定的, 所以只需要定义通带截止频率, 而不必定义阻带参数。Window Specifications选项, 当选取采用窗函数设计时, 该选项可定义, 它包含了各种窗函数。

在此给定一个有关IIR的椭圆低通数字滤波器。设计技术指标是通带截止频率Fp=190Hz, 阻带截止频率FS=200Hz, 通带内衰减αp=1.0dB, 阻带内衰减为αs=80dB。

在FDATool界面中, 选择滤波器类型IIR低通滤波器, 设计方法为椭圆 (elliptic滤波器, 滤波阶数 (Filter order) 选项Minimum Order (最小阶数) , FS=1KHz, Fpass=190Hz}Fstop=200Hzαp=1.0dBαs=80dB, 最后点击图中Design Filter, 设计出数字滤波器的幅频特性, 再点击幅频和相频分析图标, 可以得到椭圆低通滤波器幅频和相频特性分析曲线。

按照IIR椭圆函数滤波器的参数设置的方式且设计指标一致的要求下, 分别进行巴特沃斯 (B u t e r w o r t h) 、切比雪夫I (Chebyshew I) 、切比雪夫Ⅱ (ChebyshewⅡ) 数字滤波器的设计, 对它们进行幅频、相频、特性进行分析可以得出以下四点结论, 对于频率f0言, 巴特沃斯 (Buterworth) 逼近是平坦而单调递减, 它在ω=o时为最大平坦。

切比雪夫I型逼近, 在整个通带内具有最小的纹波, 在阻带随频率单调递增。

切比雪夫Ⅱ型逼近在通带内对频率平坦而单调递增, 与巴特沃斯逼近一样, 在它在}=0时为最大平坦。但是该逼近在整个阻带内的纹波最小。

椭圆函数逼近 (elliptic) 在整个通带和阻带内都具有最小纹波。

由上面的分析可以看出, 在同一技术指标下, 采用不同的四种逼近函数后得到的滤波器的阶次和组成结构, 其中椭圆函数逼近的阶次最少, 组成结构最简单。数字滤波器的实现阶数最少。最小阶数使数字滤波器的解决方案最经济 (元器件数最少、乘法器最少等) 。

摘要:本文针对一给定参数的数字低通滤波器, 利用MATLAB作为工具, 采用椭圆函数逼近的方式予以设计实现, 并将其仿真结果和其他几种常用的函数逼近方式设计的数字滤波器的仿真结果进行了比较, 得出了椭圆函数逼近实现低通滤波的优势所在。

关键词:IIR滤波器,椭圆逼近算法,仿真,MATLAB

参考文献

[1]Miroslav, D.Lutovac, Dejan V.Tosic, .Brian L.evans[著], 义胜, 董辉, 等[译].信号处理滤波器设计--基于MATLAB和Mathematica的设计方法[M].电子工业出版社, 2004.

IIR数字椭圆滤波器 第2篇

一、实验目的

1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法

2、掌握数字滤波器的计算机仿真方法

3、通过观察对实际心电图信号的滤波作用获得数字滤波的感性知识。

二、实验内容及原理

1、用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为在通带内截止频率低于0.2时最大衰减小于1dB在阻带内0.3频率区间上最小衰减大于15dB。

2、以0.02为采样间隔打印出数字滤波器在频率区间0/2上的幅频响应特性曲线。

3、用所设计的滤波器对实际心电图信号采样序列进行仿真滤波处理并分别打印出滤波前后的心电图信号波形图观察总结滤波作用与效果。教材例中已求出满足本实验要求的数字滤波系统函数 31kkzHzH 3211212121kzCzBzzAzHkkk 式中 A0.09036 2155.09044.03583.00106.17051.02686.1332211CBCBCB

三、实验结果 心电图信号采样序列 0510***0455055-100-50050nxn心电图信号采样序列xn 用双线性变换法设计IIR数字滤波器一级滤波后的心电图信号 0102030405060-100-80-60-40-2002040ny1n一级滤波后的心电图信号 二级滤波后的心电图信号 0102030405060-100-80-60-40-2002040ny2n二级滤波后的心电图信号 三级滤波后的心电图信号 0102030405060-80-60-40-2002040ny3n三级滤波后的心电图信号 用双线性变换法设计IIR数

验字滤波器滤代波器的幅频响应曲线 码 00.050.10.150.20.250.30.350.40.450.5-50-40-30-20-10010w/pi20lgHjw滤波器的幅频响应曲线

四、实x-4-20-4-6-4-2-4-6-6-4-4-6-6-261280-16-38-60-84-90-66-32-4-2-***00-2-4000-2-200-2-2-2-20 n0:55 subplot111 stemnx.axis0 55-100 50 xlabeln ylabelxn title心电图信号采样序列xn N56 A0.09036 20.09036 0.09036 B1-1.2686 0.7051 B11-1.0106 0.3583 B21-0.9044 0.2155 y1filterABx n0:55 figure subplot111 stemny1.xlabeln ylabely1n title一级滤波后的心电图信号 y2filterAB1y1 n0:55 figure 用双线性变换法设计IIR数字滤波器subplot111 stemny2.xlabeln ylabely2n title二级滤波后的心电图信号 y3filterAB2y2 n0:55figure subplot111 stemny3.xlabeln ylabely3n title三级滤波后的心电图信号 A0.09036 20.09036 0.09036 B11-1.2686 0.7051 B21-1.0106 0.3583 B31-0.9044 0.2155 H1wfreqzAB1100 H2wfreqzAB2100 H3wfreqzAB3100 H4H1.H2 HH4.H3 magabsH db20log10mageps/maxmag figure subplot111 plotw/pidb axis0 0.5-50 10 xlabelw/pi ylabel20lgHjw title滤波器的幅频响应曲线

IIR数字椭圆滤波器 第3篇

1 利用模拟滤波器来设计IIR带通滤波器的步骤

1) 按照一定的变换将给出的数字滤波器的指标转换为模拟带通滤波器的技术指标。

2) 根据转换后的技术指标设计模拟低通滤波器G1 (s) (G1 (s) 是低通滤波器的传递函数) 。

3) 将模拟低通滤波器G1 (s) 转换成模拟带通滤波器G2 (s)

4) 再按照一定的变换规则将G2 (s) 转换成数字带通滤波器的传递函数。

2 基于MATLAB设计IIR带通滤波器的步骤

设计带通数字滤波器的方法可以归纳为如图所示的方法如图1所示。

首先设计一个模拟原型低通滤波器, 然后通过频率变换成所需要的模拟带通滤波器, 最后再使用双线性变换成相应的数字带通滤波器。

设计先构造巴特沃斯、切比雪夫I和椭圆模拟低通滤波器, 然后将模拟低通滤波器转换成模拟带通滤波器, 最后利用双线性变换将模拟带通滤波器转换成数字带通滤波器。

在MATLAB下设计IIR滤波器可使用巴特沃斯函数设计出巴特沃斯滤波器, 使用Cheby1函数设计出契比雪夫I型滤波器, 使用ellipord设计椭圆滤波器。IIR滤波器设计时的阶数不是由设计者所决定, 而是根据设计者输入的各个滤波器参数由软件设计出满足这些参数的最低滤波器阶数。IIR滤波器要知道通带上下限截止频率、阻带上下限截止频率、通带纹波和阻带纹波, 从而确定滤波器的阶数N。

1) 确定数字滤波器的性能指标:通带段上限截止频率为8Hz, 通带段下限截止频率为4Hz, 通带纹波为3d B, 下限截止频率为3Hz, 上限截止频率为9Hz, 阻带衰减为15d B。

2) 转换成模拟滤波器的指标:由模拟角频率和数字角频率的对应关系确定模拟滤波器的带上下限截止频率p、阻带上下限截止频率s、通带纹波p和阻带纹波s。

3) 巴特沃斯滤波器

巴特沃斯低通滤波器可用如下振幅的平方对频率的公式表示:

根据指标可以得到

根据模拟滤波器的指标可以得出波特沃斯滤波器的阶数和3d B频率。

同样可以求出契比雪夫I型滤波器和椭圆滤波器的阶数和3d B频率并以此得到模拟滤波器的系统函数

4) 利用双线性变换法将模拟滤波器映射成数字滤波器。

冲激响应不变法会产生频谱混淆, 是由于S平面到Z平面的多值对应关系造成的。所以采用双线性换法来将模拟滤波器映射成数字滤波器, 双线性变换法是S平面与Z平面一单值对应关系, S平面的虚轴对应于Z平面单位圆的一周。

采用非线性频率压缩方法, 将整个频率轴上的频率范围压缩到横带之间, 通过标准变换关系再变换到整个Z平面。这样就消除了多值变换性, 也就消除了频谱混淆, 映射关系如图2。

从频率响应出发, 直接用数字滤波器的频率响应去逼近模拟滤波器的频率响应, 进而求得H (z) 。其单值映射映射函数为:

在MATLAB中, 可以直接调用函数来获得数字滤波器的频率响应, 由此可得到数字滤波器的频率响应H (z) 。

双线性变换法在运用过程中虽然没有产生频谱混淆的影响, 但是模拟滤波器和数字滤波器在频率关系上发生了畸变, 即造成了相位的非线性化, 这也成为双线性变换法的主要不足之处。双线性变换法除了不用应用于线性相位滤波器设计, 是设计各类IIR滤波器的主要方法。

3 MATLAB中IIR数字滤波器设计结果

根据上述的设计步骤, 可以设计出预定预定指标为通带段上限截止频率为8Hz, 通带段下限截止频率为4Hz, 通带纹波为3d B, 下限截止频率为3Hz, 上限截止频率为9Hz, 阻带衰减为15d B的数字带通滤波器。

4 结论

本文以IIR数字带通滤波器为例, 详细介绍了基于MATLAB设计数字滤波器。通过MATLAB仿真, 结合本文所介绍的方法, 可以有效地设计出各类IIR数字滤波器。

参考文献

[1]王振宇, 张培珍.数字信号处理[M].北京:北京大学出版社, 2010:149-221.

[2]程佩青.数字信号处理[M].北京:清华大学出版社, 2007.

[3]余成波, 陶红艳.数字信号处理及MATLAB实现[M].北京:清华大学出版社, 2008.

IIR数字椭圆滤波器 第4篇

数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配, 以及能够实现模拟滤波器无法实现的特殊滤波功能等特点, 因此数字滤波器被广泛应用于图像处理和识别、语音处理和识别、通信、雷达、人工智能、核技术等多个领域[1,2]。

数字滤波器的实现方法很多, 采用 FPGA器件实现具有速度快、效率高、成本低、开发周期短等优点, 而且还可以直接使用Altera公司提供的FIR/IIR IP core或采用LPM的设计方法进行设计, 使数字滤波器设计变得简单、可靠[3]。本系统通过一个实例说明如何通过Matlab设计并在FPGA器件上实现IIR椭圆函数滤波器。

1 IIR数字滤波器的Matlab设计

1.1 IIR数字滤波器设计要求

本系统的设计指标如下:模拟信号采样频率为2 MHz, 每周期最少采样20点, 即模拟信号的通带边缘频率为fp=100 kHz, 阻带边缘频率fs=200 kHz, 通带波动Rp≤0.1 dB (通带误差不大于5%) , 阻带衰减As≥42 dB。换算为数字域指标为:Wp=0.1π, Ws=0.2π, Rp=0.1 dB, As=42 dB。

1.2 IIR数字滤波器设计方案

(1) 根据设计要求确定滤波器数字域指标

换算为数字域指标为:Wp=0.1π, Ws=0.2π, Rp=0.1 dB, As=42 dB。

(2) 采用Matlab软件设计滤波器系统函数

IIR滤波器系统函数是采用计算机辅助工程CAE工具进行设计的。系统函数H (z) 的计算采用Matlab软件设计比较方便, 其中有两个现成的函数可以使用:ellipord (Wp/pi, Ws/pi, Rp, As) 函数用来计算数字椭圆滤波器的阶次N和3 dB截止频率Wn;ellip (N, Rp, As, Wn) 函数可以求得直接型椭圆IIR滤波器的各个系数[4,5]。

根据要求, 设计采用Matlab软件实现IIR滤波器的源程序如下:

Clear;close all

Wp=0.1;Ws=0.2;Rp=0.1;Rs=42;

[N, Wc]=ellipord (Wp, Ws, Rp, Rs)

[b, a]=ellip (N, Rp, Rs, Wc)

[hw, w]=freqz (b, a) ;

subplot (3, 2, 1) ;

plot (w/pi, 20*log10 (abs (hw) ) ) ;grid

axis ([0, 3, -80, 5]) ;xlabel (′w/pi′) ;

ylabel (′幅度 (db) ′)

subplot (3, 2, 3) ;

plot (w/pi, angle (hw) ) ;

grid;axis ([0, 3, -pi, pi])

xlabel (′w/pi′) ;ylabel (′相位 (rad) ′)

利用Matlab软件可以得到如下结果:

b=0.010 7 -0.021 7 0.029 0 -0.021 7 0.010 7

a=1.000 0 -3.352 4 4.333 2 -2.547 0 0.573 3

通过计算得到的系统函数H (z) 为:

Η (z) =k=0Νbkz-k1-k=0Νakz-k=0.0107-0.0217z-1+0.0290z-2-0.0217z-3+0.0107z-41-3.3524z-1+4.3332z-2-2.5470z-3+0.5733z-4

这是一个四阶IIR系统, 通过Matlab计算出该系统的频率响应如图1所示, 可见能满足设计要求。

(3) 确定滤波器网络结构

本设计如果采用直接型结构实现, 则需用的乘法器和延迟单元相对较多, 而且分子和分母的系数相差较大, 需要较多的二进制位数才能实现相应的精度要求。

为了克服上述缺点, 采用二阶级联实现。IIR滤波器采用级联型的网络结构既可以对各基本节的零点、极点方便地单独进行调整, 又可以降低对二进制数位数的要求[6,7]。

这里采用Matlab中的“二阶部分传递函数” tf2sos () 完成IIR滤波器直接型网络结构到级联型网络结构的转换。

将IIR滤波器由直接型变为级联型的Matlab语言源程序如下:

b=[0.010 7, -0.021 7, 0.029 0, -0.021 7, 0.010 7];

a=[1.000 0, -3.352 4, 4.333 2, -2.547 0, 0.573 3];

fprintf (′系数′)

[sos, g]=tf2sos (b, a)

利用Matlab中的“二阶部分传递函数” tf2sos () 转换这一滤波器系数并计算级联型的系数。

sos=1.000 0 -0.450 1 1.000 0 1.000 0

-1.594 6 0.655 2 1.000 0 -1.577 9

1.000 0 1.000 0 -1.757 8 0.875 0

g=0.010 7

转换后得到系统函数的级联表达形式为:

Η (z) =Η1 (z) Η2 (z) =0.1626-0.0732z-1+0.1626z-21-1.5946z-1+0.6552z-20.0658-0.1038z-1+0.0658z-21-1.7578z-1+0.875z-2

可以看出, 每个二阶节的分子、分母系数差异减少了。值得注意的是, 在分配二阶节的增益时, 要保证每个节不会发生运算溢出, 可以先用Matlab软件分析计算来合理安排各节的增益。经过计算, 本文采用第一级分配0.162 6, 第二级分配0.065 8, 可以保证在要求的输入范围, 没有数据溢出发生。

(4) 滤波器参数量化

差分方程的量化后各系数如表1所示, 这里采用10位定点纯小数补码表示。

2 IIR数字滤波器的FPGA实现

2.1 总体设计方案

根据上述参数计算可知, 需要设计的IIR滤波器为2个二阶节的系统级联形式, 其二阶节系统函数的差分方程均为:

y (n) =a0x (n) -a1x (n-1) +a2x (n) +b0y (n-1) -b1y (n-2)

可以看出, 一个二阶节的实现, 需要五次乘法运算、四次加法运算 (采用二进制补码将减法运算变为加法运算) , 两个二阶节共需要10次乘法运算, 所有乘法运算均为无符号数的乘法运算, 所以使用时需要先将两个补码乘数转换为无符号数相乘后, 再将乘积转换为补码乘积输出, 送入累加器求和[8,9,10]。根据以上设计思想可知, 一个二阶节系统均由控制模块、移位模块、求补模块、乘法模块和累加器模块等模块组成, 其系统电路框图如图2所示。

由于IIR滤波器的两个节系统电路结构完全相同, 只是系数不同, 故另一个二阶节的设计与此类似。

2.2 主要功能模块的设计

控制模块主要用来产生对其他模块的时序控制。

累加模块的功能是将10位1位乘法器的5个输出数据在10个时钟周期内累加后, 并将结果输出。

移位模块主要完成数据交换功能, 将输入数据送入输入寄存器x (n) 中, 同时将x (n) 寄存器上一时刻的数据送入x (n-1) 寄存器, 同时又将x (n-1) 寄存器上一时刻的数据送入x (n-2) 寄存器。同理有y (n) →y (n-1) →y (n-2) 。

求补模块主要根据每路乘法器2个输入数据的补码, 判断输入数据的正负, 设置该路乘积结果正负标志位, 并对输入的负数进行求补运算, 保证乘积是在2个无符号数之间进行, 再根据该路乘积结果正负标志位, 对乘积结果进行求补运算, 保证送入累加器的数据为补码。

将设计好的各模块按照二阶节系统电路框图衔接, 即可完成IIR滤波器其中一个二阶节系统的设计。只要修改差分方程的系数就可完成另一个二阶节系统的设计。

2.3 仿真结果

各功能模块设计、调测完成之后, 按照总体设计方案完成IIR滤波器的实现, 并下载到Altera公司的EP1C6Q240C8器件上验证, QuartusⅡ中的仿真结果如图3所示。

图3中:xn为输入信号, 采用单极性方波周期信号;频率为100 kHz, 在采样频率为2 MHz时, 每个周期采样20个点, 换算成数字域频率为0.1π;二次谐波的数字频率为0.2π;yn为滤波输出。观察仿真波形可知, 所设计的IIR滤波器符合设计要求。为了更直观地观察IIR滤波器滤波后的输出结果, 可将仿真波形文件转换为*.tbl文件, 在Matlab中描绘波形。

3 结 语

数字滤波器的应用十分广泛, 实现方法很多, 运用Matlab语言, 能很容易地设计出具有严格指标要求的数字滤波器。采用FPGA器件实现数字滤波器的方法, 大大缩短了设计周期, 降低了成本, 提高了设计的可靠性、灵活性, 为数字滤波器的设计与实现提供了一种有效的方法。

参考文献

[1]童红, 肖铁军.基于FPGA的FIR滤波器的设计[J].微计算机信息, 2010, 26 (32) :142-144.

[2]张书召, 彭杰.基于FPGA的IIR数字滤波器的设计与实现[J].工业控制计算机, 2010, 23 (1) :105-106.

[3]罗朝霞, 高书莉.CPLD/FPGA设计及应用[M].北京:人民邮电出版社, 2007.

[4]田耘.无线通信FPGA设计[M].北京:电子工业出版社, 2009.

[5]孙琢.基于Matlab的IIR数字滤波器仿真研究[J].科技传播, 2010 (10) :221-222.

[6]张登奇, 周婷, 李斌.基于Matlab的数字滤波器结构实现与仿真[J].湖南理工学院学报:自然科学版, 2008, 21 (3) :19-22.

[7]陈家祯, 郑子华, 叶锋, 等.基于FPGA的数字滤波系统设计[J].计算机仿真, 2009, 26 (12) :329-332.

[8]张华, 孙运强, 姚爱琴.基于FPGA的IIR数字滤波器的实现[J].电子测试, 2010 (7) :50-53.

[9]王秀敏, 汪毓铎, 张洋.通信系统中FIR数字滤波器的设计研究[J].通信技术, 2009, 42 (9) :3-6.

IIR数字椭圆滤波器

IIR数字椭圆滤波器(精选4篇)IIR数字椭圆滤波器 第1篇数字滤波器的设计就是构造满足给定技术指标的数字硬件或程序 (软件) 的过程。设计...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部