经典的IIR滤波器的设计
这个例子展示了如何设计经典的IIR滤波器。最初的重点是形势的关键设计参数滤波器的截止频率的功率衰减一半(3 dB)名义通频带的价值。
示例说明了是多么容易取代设计巴特沃斯切比雪夫或相同的秩序和一个椭圆滤波器获得陡滚边牺牲一些涟漪滤波器的通带和阻带。在这之后,最小订单的设计探索。
低通滤波器
让我们设计一个八阶滤波器的归一化截止频率0.4π。首先,我们设计巴特沃斯滤波器是最大限度地平(没有涟漪通带和阻带):
N = 8;F3dB =。4;d = fdesign.lowpass (“N, F3dB”N F3dB);Hbutter =设计(d,“黄油”,“SystemObject”,真正的)
Hbutter = dsp。BiquadFilter属性:结构:“直接形成II”SOSMatrixSource:“财产”SOSMatrix: [4 x6双]ScaleValues: x1双[5]InitialConditions: 0 OptimizeUnityScaleValues:正确显示所有属性
切比雪夫型的设计允许控制通带波纹的。仍然没有在阻带波动。更大的涟漪启用更陡的滚边。在这里,我们指定峰0.5 db的涟漪:
美联社= 5;setspecs (d,' N, F3dB,美联社,N, F3dB,美联社);Hcheby1 =设计(d,“cheby1”,“SystemObject”,真正的);hfvt = fvtool (Hbutter Hcheby1);传奇(hfvt“巴特沃斯”,“切比雪夫型”);
切比雪夫II型设计允许阻带衰减的控制。没有在通带波纹。一个更小的阻带衰减使更陡的滚边。在这个示例中,我们指定80分贝的阻带衰减:
Ast = 80;setspecs (d,“N F3dB Ast”N F3dB, Ast);Hcheby2 =设计(d,“cheby2”,“SystemObject”,真正的);hfvt = fvtool (Hbutter Hcheby2);传奇(hfvt“巴特沃斯”,“切比雪夫II型”);
最后,可以提供一个椭圆滤波器陡滚边相比以前的设计允许在阻带和通带波纹。为了说明这一点,我们重用相同的通带和阻带特性如上图:
setspecs (d,“N, F3dB,美联社,Ast”,N, F3dB,美联社,Ast);白马王子=设计(d,“ellip”,“SystemObject”,真正的);hfvt = fvtool (Hbutter Hcheby1 Hcheby2,白马王子);传奇(hfvt…“巴特沃斯”,“切比雪夫型”,“切比雪夫II型”,“椭圆”);
缩放的通频带,我们确认所有过滤器3 db相同频率点,只有巴特沃斯、切比雪夫II型设计有一个完全平坦的通带。
阶段考虑
如果阶段是一个问题,它是有用的注意,巴特沃斯、切比雪夫II型设计也引入较小的失真(他们的群延迟是奉承):
hfvt。分析=“grpdelay”;
最低订购量的设计
的情况下3 db截止频率主要关心的不是,而是通带和阻带完全指定的频率和可容忍的波纹的数量,我们可以使用一个最低订购量设计技术:
《外交政策》= 1;置= 3;美联社= 1;Ast = 60;setspecs (d,“Fp,置,美联社,Ast”Fp,置,美联社,Ast);Hbutter =设计(d,“黄油”,“SystemObject”,真正的);Hcheby1 =设计(d,“cheby1”,“SystemObject”,真正的);Hcheby2 =设计(d,“cheby2”,“SystemObject”,真正的);白马王子=设计(d,“ellip”,“SystemObject”,真正的);hfvt = fvtool (Hbutter Hcheby1 Hcheby2,白马王子,“DesignMask”,“上”);传奇(hfvt…“巴特沃斯”,“切比雪夫型”,“切比雪夫II型”,“椭圆”);
7日订单与巴特沃斯滤波器必须满足规范设计而5日订单是足够用切比雪夫技术。过滤器的顺序甚至可以减少到4和一个椭圆形的设计:
订单(Hbutter)
ans = 7
订单(Hcheby1)
ans = 5
订单(Hcheby2)
ans = 5
订单(最后)
ans = 4
匹配完全通带和阻带的规格
与最小订单设计,理想的秩序需要四舍五入到下一个整数。这些额外的分数阶允许算法实际上超过了规范。我们可以使用MatchExactly
国旗约束设计算法完全匹配一个乐队。其他乐队将超过其规格。默认情况下,切比雪夫型设计与通频带,巴特沃斯、切比雪夫II型与阻带的衰减两支乐队由椭圆匹配设计(在阻带边缘频率超过了):
Hellipmin1 =设计(d,“ellip”,“MatchExactly”,“通频带”,…“SystemObject”,真正的);Hellipmin2 =设计(d,“ellip”,“MatchExactly”,阻带的,…“SystemObject”,真正的);hfvt = fvtool(白马王子,Hellipmin1 Hellipmin2,“DesignMask”,“上”);传奇(hfvt匹配的通带和阻带的,…“通频带匹配”,匹配的阻带的,…“位置”,“东北”)
放大通频带比较通带边缘。匹配的通频带和匹配都设计有一个衰减1 dB成就= 0.1。
我们确认结果并没有改变过滤器的顺序:
订单(最后)
ans = 4
订单(Hellipmin1)
ans = 4
订单(Hellipmin2)
ans = 4
高通滤波、带通和Bandstop过滤器
上述结果可以扩展到高通滤波,带通和bandstop响应类型。例如,这里有最低订购量带通滤波器:
d = fdesign.bandpass (,Fst1 Fp1 Fp2, Fst2 Ast1,美联社,Ast2”,….35点,点,55,主板,60岁,1、60);
Hbutter =设计(d,“黄油”,“SystemObject”,真正的);Hcheby1 =设计(d,“cheby1”,“SystemObject”,真正的);Hcheby2 =设计(d,“cheby2”,“SystemObject”,真正的);白马王子=设计(d,“ellip”,“SystemObject”,真正的);hfvt = fvtool (Hbutter Hcheby1 Hcheby2,白马王子,“DesignMask”,“上”);传奇(hfvt…“巴特沃斯”,“切比雪夫型”,“切比雪夫II型”,“椭圆”,…“位置”,“西北”)