主要内容

IIR过滤器设计

IIR与FIR过滤器

IIR过滤器在FIR滤波器上的主要优点是它们通常符合给定的规格集,其具有比相应的FIR滤波器更低的过滤器顺序。虽然IIR过滤器具有非线性阶段,但MATLAB中的数据处理®软件通常是“离线”执行的,也就是说,在过滤之前,整个数据序列是可用的。这允许一种非因果的、零相位的滤波方法(通过<一个href="//www.tatmou.com/uk/help/signal/ref/filtfilt.html">filtfilt功能),消除了IIR滤波器的非线性相位失真。

古典IIR过滤器

经典的IIR滤波器、Butterworth滤波器、Chebyshev I型和II型滤波器、椭圆滤波器和贝塞尔滤波器都以不同的方式近似于理想的“砖墙”滤波器。

此工具箱提供了在模拟和数字域中创建所有这些类型的经典IIR过滤器(贝塞尔除外,仅支持模拟情况)以及低通,高通,带通和BandStop配置。金宝app对于大多数过滤器类型,您还可以找到最低的过滤器顺序,该滤波器顺序适用于通带和停止衰减和过渡宽度。

其他IIR过滤器

直接设计滤波器功能<一个href="//www.tatmou.com/uk/help/signal/ref/yulewalk.html">yulewalk找到一个具有近似于指定频率响应函数的幅度响应的滤波器。这是创建多频带带通滤波器的一种方法。

您还可以使用参数建模或系统标识函数来设计IIR过滤器。讨论了这些功能<一个href="//www.tatmou.com/uk/help/signal/ug/parametric-modeling.html" class="a">参数化建模

广义巴特沃斯设计函数<一个href="//www.tatmou.com/uk/help/signal/ref/maxflat.html">maxflat章节中有讨论吗<一个href="//www.tatmou.com/uk/help/signal/ug/iir-filter-design.html" class="intrnllnk">广义巴特沃斯滤波器设计

IIR过滤方法摘要

下表总结了工具箱中的各种筛选器方法,并列出了可用于实现这些方法的函数。

工具箱过滤器方法和可用功能

过滤方法 描述 过滤功能

模拟原型设计

在连续(LaPlace)域中使用经典低通电滤波器的极点和零,通过频率变换和滤波离散化获得数字滤波器。

完整的设计功能:

besself,<一个href="//www.tatmou.com/uk/help/signal/ref/butter.html">黄油,<一个href="//www.tatmou.com/uk/help/signal/ref/cheby1.html">cheby1,<一个href="//www.tatmou.com/uk/help/signal/ref/cheby2.html">cheby2,<一个href="//www.tatmou.com/uk/help/signal/ref/ellip.html">椭圆形

订单估计函数:

纽扣,<一个href="//www.tatmou.com/uk/help/signal/ref/cheb1ord.html">cheb1ord,<一个href="//www.tatmou.com/uk/help/signal/ref/cheb2ord.html">Cheb2ord.,<一个href="//www.tatmou.com/uk/help/signal/ref/ellipord.html">埃利双标

低通模拟原型功能:

贝塞拉普,<一个href="//www.tatmou.com/uk/help/signal/ref/buttap.html">buttap,<一个href="//www.tatmou.com/uk/help/signal/ref/cheb1ap.html">cheb1ap,<一个href="//www.tatmou.com/uk/help/signal/ref/cheb2ap.html">cheb2ap,<一个href="//www.tatmou.com/uk/help/signal/ref/ellipap.html">ellipap

频率变换功能:

LP2BP.,<一个href="//www.tatmou.com/uk/help/signal/ref/lp2bs.html">LP2BS.,<一个href="//www.tatmou.com/uk/help/signal/ref/lp2hp.html">LP2HP.,<一个href="//www.tatmou.com/uk/help/signal/ref/lp2lp.html">LP2LP.

过滤离散功能:

双线性,<一个href="//www.tatmou.com/uk/help/signal/ref/impinvar.html">撞击声

直接设计

通过近似分段线性幅度响应,在离散时域中直接设计数字滤波器。

yulewalk

广义的Butterworth设计

设计零多于极点的低通巴特沃斯滤波器。

maxflat

参数化建模

找到一个数字滤波器,近似于规定的时间或频率域响应。(请参阅系统识别工具箱™文档,用于广泛的参数建模工具。)

时域建模功能:

LPC.,<一个href="//www.tatmou.com/uk/help/signal/ref/prony.html">掌上,<一个href="//www.tatmou.com/uk/help/signal/ref/stmcb.html">stmcb

频域建模功能:

invfreqs.,<一个href="//www.tatmou.com/uk/help/signal/ref/invfreqz.html">Invfreqz.

使用模拟原型设计的古典IIR滤波器设计

本工具箱提供的主要IIR数字滤波器设计技术基于经典低通模拟滤波器转换为其数字等同物。以下部分描述了如何设计过滤器并总结支持的过滤器类型的特性。金宝app看到<一个href="//www.tatmou.com/uk/help/signal/ug/special-topics-in-iir-filter-design.html" class="a">IIR过滤器设计的特殊主题有关过滤器设计过程的详细步骤。

完整的古典IIR过滤器设计

您可以使用过滤器设计功能轻松创建任何具有低通,高通,带通或BandStop配置的订单的过滤器。

滤波器设计功能

过滤器类型

设计功能

贝塞尔(仅限模拟)

[b] =<一个href="//www.tatmou.com/uk/help/signal/ref/besself.html">besself(n, n,选项

(z,磷、钾)= besself (n, n,选项

[A, B, C, D] = besself (n, n,选项

巴特沃斯

[b] =<一个href="//www.tatmou.com/uk/help/signal/ref/butter.html">黄油(n, n,选项

(z,磷、钾)=黄油(n, n,选项

[A, B, C, D] =黄油(n, n,选项

Chebyshev类型I.

[b] =<一个href="//www.tatmou.com/uk/help/signal/ref/cheby1.html">cheby1(n,rp,wn,选项

(z,磷、钾)= cheby1 (Wn n, Rp,选项

[A, B, C, D] = cheby1 (Wn n, Rp,选项

Chebyshev Type II

[b] =<一个href="//www.tatmou.com/uk/help/signal/ref/cheby2.html">cheby2(n,rs,wn,选项

[z,p,k] = chby2(n,rs,wn,选项

[A, B, C, D] = cheby2 (Wn n, Rs,选项

椭圆

[b] =<一个href="//www.tatmou.com/uk/help/signal/ref/ellip.html">椭圆形(n, Rp, Rs、Wn选项

[z,p,k] = ellip(n,rp,rs,wn,选项

[a,b,c,d] = ellip(n,rp,rs,wn,选项

默认情况下,每个函数中的每一个都返回低通滤波器;您只需要指定所需的截止频率,WN.,以标准化单位表示,奈奎斯特频率为1 Hz)。对于高通过滤器,请使用append'高的'到函数的形参列表。对于带通或带阻滤波器,请指定WN.作为包含通带边缘频率的双元素矢量。附加'停止'对于BandStop配置。

以下是一些示例数字过滤器:

[b,a] =黄油(5,0.4);%lowpass butterworth.[B,a] = Cheby1(4,1,[0.4 0.7]);带通切比雪夫I型[b,a] = chebby2(6,60,0.8,'高的');%HIGHPASE Chebyshev I型[B,A] =椭圆(3,1,60,[0.4 0.7],'停止');% Bandstop椭圆

为了设计一个模拟滤波器,也许是为了模拟,使用一个尾随器“年代”并在RAD / S中指定截止频率:

[b,a] =黄油(5,0.4,“年代”);模拟巴特沃斯滤波器

所有滤波器设计函数都返回传递函数、零极增益或状态空间线性系统模型表示中的滤波器,这取决于有多少输出参数存在。一般来说,应该避免使用传递函数形式,因为可能会发生舍入误差引起的数值问题。相反,使用零极增益形式,您可以转换为一个二阶部分(SOS)形式使用<一个href="//www.tatmou.com/uk/help/signal/ref/zp2sos.html">ZP2SOS.然后使用SOS表格来分析或实现你的过滤器。

请注意

所有古典IIR低通滤波器都有不适合极低的截止频率的条件。因此,代替使用非常窄的通带设计低通IIR滤波器,它可以更好地设计更宽的通带和死亡输入信号。

设计IIR过滤器到频域规格

此工具箱提供了订单选择函数,用于计算满足给定需求集的最小过滤器顺序。

过滤器类型

订单估计函数

巴特沃斯

[n,wn] = buttord(wp,ws,rp,rs)

Chebyshev类型I.

[n,wn] = cheb1ord(wp,ws,rp,rs)

Chebyshev Type II

[n,wn] = cheb2ord(wp,ws,rp,rs)

椭圆

[n,wn] = ellipord(wp,ws,rp,rs)

这些与过滤器设计功能结合使用。假设您希望带通带的带通滤波器从1000到2000 Hz,停车在任一侧启动500 Hz,一个10kHz采样频率,最多为1 dB的通带纹波,以及至少60 dB的停止带衰减。您可以使用使用方法满足这些规范黄油函数如下。

[n,wn] = buttord([1000 2000] / 5000,[500 2500] / 5000,1,60)[b,a] =黄油(n,wn);
n = 12 wn = 0.1951 0.4080

给出了一种满足相同要求的椭圆滤波器

(n, Wn) = ellipord((1000 2000) / 5000(500 - 2500) / 5000, 1、60)[b] = ellip (60 n 1, Wn);
n = 5 wn = 0.2000 0.4000

这些功能还使用其他标准频带配置,以及模拟滤波器。

经典IIR滤波器类型的比较

该工具箱提供了五种不同类型的古典IIR过滤器,在某种程度上都是最佳的。本节示出了每个的基本模拟原型形式,并总结了主要特征。

Butterworth Filter.

巴特沃斯滤波器提供了最佳泰勒级数近似的理想低通滤波器响应在模拟频率Ω= 0ω=∞;对于任何订单N,大小的平方响应2N- 1这些位置的导数为零(最大平坦Ω= 0ω=∞)。响应是单调的总体,从中顺利下降Ω= 0ω=∞ | H j ω. | 1 / 2 Ω= 1

Chebyshev类型i过滤器

Chebyshev I型滤波器通过结合相同的纹波,最小化整个通道上的理想和实际频率响应之间的绝对差异rp.DB在通带中。阻带响应最大限度。从通带到阻带的过渡比Butterworth滤波器更快。 | H j ω. | 10. - rp. / 20. Ω= 1

Chebyshev Type II筛选器

Chebyshev类型II滤波器通过结合相同的纹波,最小化整个阻挡的理想和实际频率响应之间的绝对差异卢比dB在阻带中。通频带响应是最平坦的。

阻带不像I型滤波器那样快地接近零(并且对于偶数滤波器顺序根本不接近零n)。然而,通带中没有纹波通常是一个重要的优势。 | H j ω. | 10. - 卢比 / 20. Ω= 1

椭圆滤波器

椭圆滤波器在通带和阻带都是等纹波的。它们通常满足任何支持的过滤器类型的最低顺序的过滤器要求。金宝app给定一个过滤命令n,通带波纹rp.在分贝中,并阻止纹波卢比在分贝中,椭圆滤波器最小化过渡宽度。 | H j ω. | 10. - rp. / 20. Ω= 1

贝塞尔滤波器

模拟Bessel低通滤波器在零频率下具有最大平坦的组延迟,并在整个通带中保持几乎恒定的群延迟。因此,滤波信号在通带频率范围内保持其波浪。当模拟Bessel低通滤波器通过频率映射转换为数码滤波器时,它不再具有该最大平坦的属性。信号处理工具箱™仅支持完整的Bessel滤波器设计功能金宝app的模拟情况。

贝塞尔过滤器通常需要比其他滤波器更高的过滤器,以获得令人满意的停止衰减。 | H j ω. | < 1 / 2 Ω= 1并随过滤顺序递减n增加。

请注意

以模拟原型功能创建上面所示的低通滤波器<一个href="//www.tatmou.com/uk/help/signal/ref/besselap.html">贝塞拉普,<一个href="//www.tatmou.com/uk/help/signal/ref/buttap.html">buttap,<一个href="//www.tatmou.com/uk/help/signal/ref/cheb1ap.html">cheb1ap,<一个href="//www.tatmou.com/uk/help/signal/ref/cheb2ap.html">cheb2ap, 和<一个href="//www.tatmou.com/uk/help/signal/ref/ellipap.html">ellipap.这些函数找到零,波线和增益n适当类型的Th阶模拟过滤器,截止频率为1 rad / s。完整的过滤器设计功能(<一个href="//www.tatmou.com/uk/help/signal/ref/besself.html">besself,<一个href="//www.tatmou.com/uk/help/signal/ref/butter.html">黄油,<一个href="//www.tatmou.com/uk/help/signal/ref/cheby1.html">cheby1,<一个href="//www.tatmou.com/uk/help/signal/ref/cheby2.html">cheby2, 和<一个href="//www.tatmou.com/uk/help/signal/ref/ellip.html">椭圆形)将原型功能称为设计过程的第一步。看到<一个href="//www.tatmou.com/uk/help/signal/ug/special-topics-in-iir-filter-design.html" class="a">IIR过滤器设计的特殊主题获取详细信息。

创建类似的情节,使用n5而且,根据需要,rp.0.5卢比20..例如,要创建椭圆滤波图:

(z,磷、钾)= ellipap (5 0.5 20);w = logspace (1, 1, 1000);h =频率(k *聚(z),聚(p), w);semilogx (w、abs (h)、网格包含('频率(rad / s)')ylabel(“级”

直接IIR滤波器设计

这个工具箱使用了这个术语直接的方法描述基于离散域规范查找过滤器的IIR设计技术。与模拟原型方法不同,直接设计方法不受标准低通、高通、带通或带阻配置的限制。相反,这些函数设计的滤波器具有任意的,可能是多频带的频率响应。本节讨论<一个href="//www.tatmou.com/uk/help/signal/ref/yulewalk.html">yulewalk功能,专为滤波器设计;<一个href="//www.tatmou.com/uk/help/signal/ug/parametric-modeling.html" class="a">参数化建模讨论其他可能被视为直接的方法,例如PRONY方法,线性预测,Steiglitz-McBRide方法和逆频率设计。

的<一个href="//www.tatmou.com/uk/help/signal/ref/yulewalk.html">yulewalk函数通过拟合指定的频率响应来设计递归IIR数字滤波器。<一个href="//www.tatmou.com/uk/help/signal/ref/yulewalk.html">yulewalk姓名反映了其用于查找过滤器的分母系数的方法:它找到了理想指定大小平方响应的逆fFT,并使用所得到的自相关函数样本来解决修改的yule-walker方程。该声明

[b] = yulewalk (n、f m)

返回行向量b一个包含n + 1分子和分母的系数n频率-幅值特性近似于矢量的th阶IIR滤波器ff为频率点的向量,取值范围为0到1,其中1为奈奎斯特频率。一个向量是否包含在点的指定的大小响应ff可以描述任何分段线性形状大小响应,包括多频带响应。与此函数对应的FIR是<一个href="//www.tatmou.com/uk/help/signal/ref/fir2.html">FiR2.,设计了基于任意分段线性幅值响应的滤波器。看到<一个href="//www.tatmou.com/uk/help/signal/ug/fir-filter-design.html" class="a">FIR过滤器设计获取详细信息。

注意<一个href="//www.tatmou.com/uk/help/signal/ref/yulewalk.html">yulewalk不接受阶段信息,没有关于所得滤波器的最优性的陈述。

设计多频玻片过滤器<一个href="//www.tatmou.com/uk/help/signal/ref/yulewalk.html">yulewalk并绘制指定和实际频率响应:

m = [0 0 1 1 0 0 1 1 0 0];f = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1];[b,a] = yulewalk(10,f,m);[h,w] = freqz(b,a,128)图(f,m,w / pi,abs(h))

广义巴特沃斯滤波器设计

工具箱功能<一个href="//www.tatmou.com/uk/help/signal/ref/maxflat.html">maxflat使您可以设计广义的Butterworth滤波器,即Butterworth滤波器,具有不同数量的零和杆。这在一些实施方式中是期望的,在几个计算上比零计算得更昂贵。<一个href="//www.tatmou.com/uk/help/signal/ref/maxflat.html">maxflat就像<一个href="//www.tatmou.com/uk/help/signal/ref/butter.html">黄油功能,除了它可以指定订单(一个用于分子的一个,一个用于分母)而不是一个。这些过滤器是最大平坦.这意味着所得到的滤波器对于任何分子和分母顺序最佳,具有0和Nyquist频率的最大衍生物数量ωπ两个都设置为0。

例如,当两个订单相同时,maxflat是相同的黄油

[b,a] = maxflat(3,3,0.25)
a = 1.0000 -1.4590 0.9104 -0.1978
[B,A] =黄油(3,0.25)
a = 1.0000 -1.4590 0.9104 -0.1978

然而,<一个href="//www.tatmou.com/uk/help/signal/ref/maxflat.html">maxflat是更通用的,因为它允许您设计具有更多零的滤波器,而不是POL):

[b,a] = maxflat(3,1,0.25)
B = 0.0950 0.2849 0.2849 0.0950 A = 1.0000 -0.2402

第三个输入<一个href="//www.tatmou.com/uk/help/signal/ref/maxflat.html">maxflat是个半功率频率,频率在0到1之间,幅值响应为 1 / 2

您还可以使用具有最大扁平属性的线性相位过滤器使用“符号”选择:

maxflat (4“符号”,0.3)
Ans = 0.0331 0.2500 0.4337 0.2500 0.0331

查阅有关的详细资料<一个href="//www.tatmou.com/uk/help/signal/ref/maxflat.html">maxflat算法,见Selesnick和Burrus<一个href="//www.tatmou.com/uk/help/signal/ug/selected-bibliography.html" class="a">[2]