IIR滤波器的设计
IIR和FIR滤波器
IIR滤波器在FIR滤波器的主要优势是,他们通常满足给定的规格过滤器订单远低于相应的冷杉过滤器。尽管IIR滤波器非线性阶段,在MATLAB数据处理®软件通常是执行“离线”,也就是说,整个数据序列可用之前过滤。这允许非因果,零相位滤波方法(通过<一个href="//www.tatmou.com/it/it/help/signal/ref/filtfilt.html">filtfilt
功能),它消除了非线性IIR滤波器的相位失真。
经典的IIR滤波器
经典的IIR滤波器,巴特沃斯、切比雪夫类型I和II,椭圆形,和贝塞尔近似理想的“砖墙”过滤器以不同的方式。
这个工具箱提供了函数来创建这些类型的古典IIR滤波器的模拟和数字域(除了贝塞尔,只支持模拟的情况下),在低通,高通,带通和bandstop配置。金宝app对于大多数过滤器类型,你还可以找到最低的过滤器以便符合规范给定的滤波器的通带和阻带衰减和过渡宽度(s)。
其他IIR滤波器
直接过滤设计功能<一个href="//www.tatmou.com/it/it/help/signal/ref/yulewalk.html">yulewalk
发现一个过滤器指定频率特性函数近似级响应。这是一种创建一个多波段带通滤波器。
您还可以使用参数化建模设计IIR滤波器或系统识别功能。这些函数讨论了<一个href="//www.tatmou.com/it/it/help/signal/ug/parametric-modeling.html" class="a">参数化建模一个>。
广义巴特沃斯设计的功能<一个href="//www.tatmou.com/it/it/help/signal/ref/maxflat.html">maxflat
讨论的部分吗<一个href="//www.tatmou.com/it/it/help/signal/ug/iir-filter-design.html" class="intrnllnk">广义巴特沃斯滤波器的设计一个>。
IIR滤波器方法总结
下表总结了各种滤波方法在工具箱和列出了可用的函数来实现这些方法。
工具箱过滤器方法和可用的函数
过滤方法 | 描述 | 过滤功能 |
---|---|---|
模拟原型 |
使用经典的低通原型滤波器的极点和零点在连续拉普拉斯域,获得一个数字滤波器通过频率转换和过滤离散化。 |
完整的设计功能:<一个href="//www.tatmou.com/it/it/help/signal/ref/besself.html"> 订单估计函数:<一个href="//www.tatmou.com/it/it/help/signal/ref/buttord.html"> 低通模拟原型功能:<一个href="//www.tatmou.com/it/it/help/signal/ref/besselap.html"> 频率变换功能:<一个href="//www.tatmou.com/it/it/help/signal/ref/lp2bp.html"> 过滤器离散化功能:<一个href="//www.tatmou.com/it/it/help/signal/ref/bilinear.html"> |
直接设计 |
直接设计数字滤波器的离散时域近似分段线性级响应。 |
|
广义设计巴特沃斯 |
设计低通巴特沃斯滤波器比波兰人0。 |
|
参数化建模 |
在规定的时间或找到一个近似的数字滤波器频域响应。(见系统辨识工具箱™文档一个广泛收集参数的建模工具。) |
时域建模功能:<一个href="//www.tatmou.com/it/it/help/signal/ref/lpc.html"> 频域建模功能:<一个href="//www.tatmou.com/it/it/help/signal/ref/invfreqs.html"> |
使用模拟原型古典IIR滤波器的设计
校长IIR数字滤波器设计技术这个工具箱提供了基于经典低通模拟滤波器转换成数字等价物。以下部分描述如何设计过滤器和总结支持过滤器类型的特点。金宝app看到<一个href="//www.tatmou.com/it/it/help/signal/ug/special-topics-in-iir-filter-design.html" class="a">特殊的主题IIR滤波器的设计一个>滤波器设计过程的详细步骤。
完整的古典IIR滤波器的设计
您可以很容易地创建一个过滤器的任何顺序低通,高通,带通或bandstop配置使用过滤器的设计功能。
滤波器设计功能
过滤器类型 |
设计功能 |
---|---|
贝塞尔(模拟) |
|
巴特沃斯 |
|
切比雪夫型 |
|
切比雪夫II型 |
|
椭圆 |
|
默认情况下,每一个函数返回一个低通滤波器;你只需要指定你想要的截止频率,Wn
等规范化单位,奈奎斯特频率是1 Hz)。高通滤波器,附加“高”
函数的参数列表。带通或bandstop过滤器,指定Wn
作为一个双元素包含频率通带边缘的向量。附加“停止”
bandstop配置。
下面是一些示例数字滤波器:
[b] =黄油(5,0.4);%巴特沃斯低通滤波器[b] = cheby1 (4 1 [0.4 - 0.7]);我%带通切比雪夫型[b] = cheby2(0.8 6, 60岁,“高”);%高通的切比雪夫II型[b] = ellip(3、1, 60岁(0.4 - 0.7),“停止”);% Bandstop椭圆
为模拟设计一个模拟滤波器,也许,使用后“年代”
在rad / s和指定截止频率:
[b] =黄油(5,0.4,“年代”);%模拟巴特沃斯滤波器
所有过滤器设计函数返回一个滤波器的传递函数,zero-pole-gain,或整数线性系统模型表示,这取决于有多少输出参数。一般来说,你应该避免使用传递函数形式,因为数值问题引起的舍入错误可以发生。相反,使用zero-pole-gain表单可以转换为一个二阶节(SOS)的形式使用<一个href="//www.tatmou.com/it/it/help/signal/ref/zp2sos.html">zp2sos
然后用SOS形式分析或实现你的过滤器。
请注意
古典IIR低通滤波器都是坏脾气的截止频率极低。因此,而不是设计一个低通滤波器与一个非常狭窄的通频带IIR滤波器,它可以更好的设计一个更广泛的通频带,毁掉的输入信号。
设计IIR滤波器频域规范
这个工具箱提供了订单选择函数,计算最小过滤以便满足给定的需求。
过滤器类型 |
订单估计函数 |
---|---|
巴特沃斯 |
|
切比雪夫型 |
|
切比雪夫II型 |
|
椭圆 |
|
这些都是有用的结合滤波器设计的功能。假设你想要一个带通滤波器的通带从1000到2000赫兹,阻带两侧开始500 Hz,采样频率10 kHz,最多1 dB的通带波纹,和至少60 dB的阻带衰减。你可以通过使用符合这些规范黄油
函数如下。
(n, Wn) = buttord ((1000 2000) / 5000 (500 - 2500) / 5000, 1、60) [b] =黄油(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滤波器,每一个以某种方式最优。本节显示了基本的模拟原型形式为每个主要特点和总结。
巴特沃斯滤波器
巴特沃斯滤波器提供了最好的泰勒级数近似理想低通滤波器在模拟频率响应Ω= 0和Ω=∞;对于任何一个订单N平方级反应2N- 1零衍生品在这些位置(最大限度地平在Ω= 0和Ω=∞)。单调的整体响应,减少顺利Ω= 0来Ω=∞。 在Ω= 1。
切比雪夫型过滤器
切比雪夫型过滤器最小化之间的绝对差异的理想和实际的频率响应在整个通频带通过合并相同的脉动Rp
dB的通频带。阻带反应是最大限度地平的。从通带过渡到比巴特沃斯滤波器的阻带更快速。
在Ω= 1。
切比雪夫II型过滤器
切比雪夫II型过滤器最小化之间的绝对差异的理想和实际的频率响应在整个阻带通过合并相同的脉动Rs
在阻带dB。通带响应最大限度地平的。
阻带不一样迅速接近零I型滤波器(和没有方法零even-valued过滤器的顺序n)。没有通带波纹的,然而,往往是一个重要的优势。 在Ω= 1。
椭圆滤波器
椭圆滤波器在通带和阻带equiripple。他们通常满足滤波器要求最低的任何支持滤波器类型。金宝app给定一个过滤器订单n,通带纹波Rp
分贝,阻带波纹Rs
在分贝,椭圆滤波器减少过渡宽度。
在Ω= 1。
贝塞尔滤波器
模拟贝塞尔低通滤波器在零频率和最大限度地平的群延迟保留几乎恒定的群延迟整个通频带。因此过滤信号保持波形在通带频率范围。当一个模拟贝塞尔低通滤波器通过频率映射被转换为一个数字,它不再有最大平坦的财产。信号处理工具箱™只支持模拟完整的贝塞尔滤波器设计功能。金宝app
贝塞尔滤波器通常需要过滤秩序高于其他过滤器满意的阻带衰减。 在Ω= 1和减少过滤器n增加。
请注意
上面所示的低通滤波器是模拟原型创建的函数<一个href="//www.tatmou.com/it/it/help/signal/ref/besselap.html">besselap
,<一个href="//www.tatmou.com/it/it/help/signal/ref/buttap.html">buttap
,<一个href="//www.tatmou.com/it/it/help/signal/ref/cheb1ap.html">cheb1ap
,<一个href="//www.tatmou.com/it/it/help/signal/ref/cheb2ap.html">cheb2ap
,<一个href="//www.tatmou.com/it/it/help/signal/ref/ellipap.html">ellipap
。这些函数找到零、极点和获得的n
阶适当类型的模拟滤波器的截止频率1 rad / s。完整的过滤器设计功能(<一个href="//www.tatmou.com/it/it/help/signal/ref/besself.html">besself
,<一个href="//www.tatmou.com/it/it/help/signal/ref/butter.html">黄油
,<一个href="//www.tatmou.com/it/it/help/signal/ref/cheby1.html">cheby1
,<一个href="//www.tatmou.com/it/it/help/signal/ref/cheby2.html">cheby2
,<一个href="//www.tatmou.com/it/it/help/signal/ref/ellip.html">ellip
)调用原型函数作为第一步在设计过程中。看到<一个href="//www.tatmou.com/it/it/help/signal/ug/special-topics-in-iir-filter-design.html" class="a">特殊的主题IIR滤波器的设计一个>获取详细信息。
创建类似的情节,使用n
=5
根据需要,Rp
=0.5
和Rs
=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设计找到一个滤波器在离散域。与模拟原型方法,直接设计方法并不局限于标准的低通、高通、带通或bandstop配置。相反,这些功能设计与一个任意的过滤器,可能多波段的频率响应。本节讨论了<一个href="//www.tatmou.com/it/it/help/signal/ref/yulewalk.html">yulewalk
函数,它的目的是专门为滤波器设计;<一个href="//www.tatmou.com/it/it/help/signal/ug/parametric-modeling.html" class="a">参数化建模一个>讨论了其他方法,也可以考虑直接,如普龙尼的方法,线性预测,Steiglitz-McBride方法,逆频率设计。
的<一个href="//www.tatmou.com/it/it/help/signal/ref/yulewalk.html">yulewalk
递归函数设计IIR数字滤波器的安装指定的频率响应。<一个href="//www.tatmou.com/it/it/help/signal/ref/yulewalk.html">yulewalk
的名字反映了其方法寻找过滤器的分母系数:它找到理想的逆FFT平方指定响应和解决修改Yule-Walker使用生成的样本自相关函数方程。该声明
[b] = yulewalk (n、f m)
返回行向量b
和一个
包含n + 1
分子和分母系数的n
阶IIR滤波器的frequency-magnitude特征近似给定的向量f
和米
。f
是一个向量从0到1的频率点,1代表了奈奎斯特频率。米
是一个向量包含指定的大小点反应吗f
。f
和米
可以描述任何分段线性形状级响应,包括一个多波段响应。这个函数的冷杉同行<一个href="//www.tatmou.com/it/it/help/signal/ref/fir2.html">的故事
,设计基于任意分段线性滤波器级响应。看到<一个href="//www.tatmou.com/it/it/help/signal/ug/fir-filter-design.html" class="a">数字滤波器设计一个>获取详细信息。
请注意,<一个href="//www.tatmou.com/it/it/help/signal/ref/yulewalk.html">yulewalk
不接受相位信息,没有报表结果的最优滤波器。
设计一个多频带滤波器<一个href="//www.tatmou.com/it/it/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] = yulewalk (10 f m);[h, w] = freqz (b, a, 128年)故事情节(f, m, w /π,abs (h))
广义巴特沃斯滤波器的设计
工具箱函数<一个href="//www.tatmou.com/it/it/help/signal/ref/maxflat.html">maxflat
使您能够设计广义巴特沃斯滤波器、巴特沃斯滤波器,不同数量的零和波兰。在一些实现这是可取的,波兰人比零更昂贵的计算。<一个href="//www.tatmou.com/it/it/help/signal/ref/maxflat.html">maxflat
就像这个<一个href="//www.tatmou.com/it/it/help/signal/ref/butter.html">黄油
函数,除了它您可以指定两个订单(一个用于分子和分母)而不是一个。这些过滤器是最大限度地平。这意味着任何分子和分母的产生的过滤是最优的订单,数量最大的衍生品在0和奈奎斯特频率ω=π都设置为0。
例如,当两个订单是一样的,maxflat
是一样的黄油
:
[b] = maxflat (3, 3, 0.25)
b = 0.0317 = 1.0000 -1.4590 0.9104 -0.1978 0.0317 0.0951 - 0.0951
[b] =黄油(0.25)
b = 0.0317 = 1.0000 -1.4590 0.9104 -0.1978 0.0317 0.0951 - 0.0951
然而,<一个href="//www.tatmou.com/it/it/help/signal/ref/maxflat.html">maxflat
更通用的,因为它允许您设计一个过滤器比两极:0
[b] = maxflat (3、1、0.25)
b = 0.0950 0.2849 0.2849 0.0950 -0.2402 = 1.0000
第三个输入<一个href="//www.tatmou.com/it/it/help/signal/ref/maxflat.html">maxflat
是半功率频率级,0和1之间的频率响应
。
你也可以设计线性相位滤波器的最大平坦属性使用“符号”
选择:
maxflat (4“符号”,0.3)
ans = 0.0331 0.2500 0.4337 0.2500 - 0.0331
完整的细节<一个href="//www.tatmou.com/it/it/help/signal/ref/maxflat.html">maxflat
算法,看到Selesnick和Burrus<一个href="//www.tatmou.com/it/it/help/signal/ug/selected-bibliography.html" class="a">[2]一个>。