最新のリリースでは,このページがまだ翻訳されていません。<一种href="//www.tatmou.com/jp/help/signal/ug/iir-filter-design.html?lang=en" rel="nofollow">このページの最新版は英语でご覧になれます。

IIRフィルターの设计

IIRフィルターとFIRフィルター

IIRフィルターがFIRフィルターに胜る点は,一般的に対応するFITフィルターよりも少ないフィルター次数で与えられた仕様を満たせることにあります.IIRフィルターは非线形位相をもちますが,MATLAB®ソフトウェアでのデータ处理は一般にオフラインで行われ,データシーケンス全体がフィルター处理の前に使用可能な状态になっています。これにより,关数<一种href="//www.tatmou.com/jp/help/signal/ref/filtfilt.html">filtfiltを使用した非因果的なゼロ位相フィルター处理が可能になり,IIRフィルターの非线形位相ひずみを除去できます。

标准的IIRフィルター

标准的なIIRフィルターであるバタワース,チェビシェフ我型,チェビシェフII型,楕円,およびベッセルの各フィルターはすべて,异なる方法で理想的な「ブリックウォール(急峻なロールオフ特性)」をもつフィルターを近似します。

このツールボックスには,アナログ领域とデジタル领域の両方で(アナログでのみサポートされるベッセルを除く),また,ローパス,ハイパス,バンドパス,およびバンドストップの构成で,これらすべての标准的なIIRフィルターを作成する关数が用意されています。また,ほとんどのフィルタータイプに対して,通过帯域の减衰量や阻止帯域の减衰量,および迁移幅で与えられたフィルター仕様に适合する最小のフィルター次数を求めることもできます。

その他のIIRフィルター

直接型フィルター设计关数<一种href="//www.tatmou.com/jp/help/signal/ref/yulewalk.html">yulewalkでは,指定した周波数応答关数を近似する振幅応答をもつフィルターが求められます。これは,マルチバンドの帯域フィルターを作成する1つの方法です。

また,パラメトリックモデリング,または,システム同定关数を使用して,IIRフィルターを设计することもできます。これらの关数は,<一种href="//www.tatmou.com/jp/help/signal/ug/parametric-modeling.html" class="a">パラメトリックモデリングで说明します。

泛用バタワース设计关数<一种href="//www.tatmou.com/jp/help/signal/ref/maxflat.html">maxflatは,<一种href="//www.tatmou.com/jp/help/signal/ug/iir-filter-design.html" class="intrnllnk">泛用バタワースフィルターの设计で说明します。

IIRフィルター方法の概要

次の表に,このツールボックスで用意されているさまざまなフィルター方法をまとめ,これらの方法の実装に使用できる关数を记载します。

ツールボックスのフィルター方法と使用可能な关数

フィルター方法 说明 フィルター关数

アナログプロトタイピング

连続(ラプラス)领域で标准的なローパスプロトタイプフィルターの极と零点を使用して,周波数変换とフィルター离散化によりデジタルフィルターを実装

完全设计关数:

besself,<一种href="//www.tatmou.com/jp/help/signal/ref/butter.html">牛油,<一种href="//www.tatmou.com/jp/help/signal/ref/cheby1.html">cheby1,<一种href="//www.tatmou.com/jp/help/signal/ref/cheby2.html">cheby2,<一种href="//www.tatmou.com/jp/help/signal/ref/ellip.html">椭球

次数推定关数:

buttord,<一种href="//www.tatmou.com/jp/help/signal/ref/cheb1ord.html">cheb1ord,<一种href="//www.tatmou.com/jp/help/signal/ref/cheb2ord.html">cheb2ord,<一种href="//www.tatmou.com/jp/help/signal/ref/ellipord.html">ellipord

ローパスアナログプロトタイプ关数

besselap,<一种href="//www.tatmou.com/jp/help/signal/ref/buttap.html">buttap,<一种href="//www.tatmou.com/jp/help/signal/ref/cheb1ap.html">cheb1ap,<一种href="//www.tatmou.com/jp/help/signal/ref/cheb2ap.html">cheb2ap,<一种href="//www.tatmou.com/jp/help/signal/ref/ellipap.html">ellipap

周波数変换关数:

lp2bp,<一种href="//www.tatmou.com/jp/help/signal/ref/lp2bs.html">lp2bs,<一种href="//www.tatmou.com/jp/help/signal/ref/lp2hp.html">lp2hp,<一种href="//www.tatmou.com/jp/help/signal/ref/lp2lp.html">lp2lp

フィルター离散化关数:

双线性,<一种href="//www.tatmou.com/jp/help/signal/ref/impinvar.html">impinvar

直接设计

区分线形振幅応答を近似することで,离散时间领域において直接デジタルフィルターを设计

yulewalk

泛用バタワース设计

极よりも零点の数が多いローパスバタワースフィルターを设计

maxflat

パラメトリックモデリング

设定された时间领域応答,または周波数领域応答を近似するデジタルフィルターが求められます(パラメトリックモデリングツールについては,系统辨识工具箱™のドキュメンテーションを参照してください)。

时间领域モデリング关数:

LPC,<一种href="//www.tatmou.com/jp/help/signal/ref/prony.html">普龙尼,<一种href="//www.tatmou.com/jp/help/signal/ref/stmcb.html">stmcb

周波数领域モデリング关数:

invfreqs,<一种href="//www.tatmou.com/jp/help/signal/ref/invfreqz.html">invfreqz

アナログプロトタイプ作成による标准的なIIRフィルター设计

このツールボックスで提供されている主なIIRデジタルフィルターの设计法は,标准的なローパスアナログフィルターを等価なデジタルフィルターに変换することをベースとしています。以下の节では,フィルターの设计法と,サポートされているフィルタータイプの特性の概要を说明します。フィルター设计プロセスの详细な手顺は,<一种href="//www.tatmou.com/jp/help/signal/ug/special-topics-in-iir-filter-design.html" class="a">IIRフィルター设计での特别トピックを参照してください。

标准的な完全IIRフィルターの设计

フィルター设计关数を使用して,ローパス,ハイパス,バンドパス,または,バンドストップ构成の,任意の次数のフィルターを简単に作成できます。

フィルター设计关数

フィルタータイプ

设计关数

ベッセル(アナログのみ)

并[b,A] =<一种href="//www.tatmou.com/jp/help/signal/ref/besself.html">besself(N,WN,选项

[Z,P,K] = besself(N,WN,选项

[A,B,C,d] = besself(N,WN,选项

バタワース

并[b,A] =<一种href="//www.tatmou.com/jp/help/signal/ref/butter.html">牛油(N,WN,选项

[Z,P,K] =黄油(N,WN,选项

[A,B,C,d] =黄油(N,WN,选项

チェビシェフ我型

并[b,A] =<一种href="//www.tatmou.com/jp/help/signal/ref/cheby1.html">cheby1(N,卢比,WN,选项

[Z,P,K] = cheby1(N,卢比,WN,选项

[A,B,C,d] = cheby1(N,卢比,WN,选项

チェビシェフII型

并[b,A] =<一种href="//www.tatmou.com/jp/help/signal/ref/cheby2.html">cheby2(N,卢比,WN,选项

[Z,P,K] = cheby2(N,卢比,WN,选项

[A,B,C,d] = cheby2(N,卢比,WN,选项

楕円

并[b,A] =<一种href="//www.tatmou.com/jp/help/signal/ref/ellip.html">椭球(N,卢比,卢比,WN,选项

[Z,P,K] =椭球(N,卢比,卢比,WN,选项

[A,B,C,d] =椭球(N,卢比,卢比,WN,选项

既定では,これらの关数からはそれぞれローパスフィルターが返されます。正规化周波数(ナイキスト周波数= 1赫兹)を使用して,希望するカットオフ周波数WNを设定するだけです。ハイパスフィルターでは,关数のパラメーターのリストに'高'を追加します。バンドパスまたはバンドストップフィルターの场合は,WNを通过帯域のエッジ周波数を含む2要素ベクトルとして指定します。バンドストップ构成に'停'を追加します。

次に,デジタルフィルターの设计例をいくつか示します。

并[b,A] =黄油(5,0.4);%低通巴特沃斯并[b,A] = cheby1(4,1,[0.4 0.7]);%带通切比雪夫I型并[b,A] = cheby2(6,60,0.8,'高');%高通切比雪夫II型并[b,A] =椭球(3,1,60,[0.4 0.7],'停');%带阻滤波器椭圆形

シミュレーション用などにアナログフィルターを设计するには,最后に'S'を追加して,カットオフ周波数をラジアン/サンプル単位で指定します。

并[b,A] =黄油(5,0.4,'S');%模拟巴特沃斯滤波器

すべてのフィルター设计关数では,出力引数の数に応じて,伝达关数,零点 - 极 - ゲイン,または,状态空间线形システムのモデル表现でフィルターが返されます一般的に,丸め误差による数値的な问题が生じる可能性があるため,伝达关数の使用は避けてください。代わりに,<一种href="//www.tatmou.com/jp/help/signal/ref/zp2sos.html">zp2sosを使用して2次セクション型に変换できる零点 - 极 - ゲイン型を使用し,その后に,変换した2次セクション型を使用してフィルターを解析または実装します。

メモ:

すべての标准的IIRローパスフィルターは,极端に低いカットオフ周波数には适していません。このため,非常に狭い通过帯域をもつローパスIIRフィルターを设计する代わりに,通过帯域の広いフィルターを设计して,入力信号を间引く方法を使用します。

周波数领域仕様に対するIIRフィルターの设计

このツールボックスには,与えられた必要条件のセットを満たす最小のフィルター次数を计算する次数选択关数が用意されています。

フィルタータイプ

次数推定关数

バタワース

[N,WN] = buttord(WP,WS,卢比,RS)

チェビシェフ我型

[N,WN] = cheb1ord(WP,WS,卢比,RS)

チェビシェフII型

[N,WN] = cheb2ord(WP,WS,卢比,RS)

楕円

[N,WN] = ellipord(WP,WS,卢比,RS)

これらの关数は,フィルター设计关数と合わせて使うと便利です。たとえば,1000赫兹から2000赫兹が通过帯域,その両侧から500赫兹离れた位置に阻止帯域があり,サンプリング周波数が10千赫,通过帯域でのリップルが1分贝以内で,阻止帯域の减衰量が少なくとも60分贝のバンドパスフィルターを设计するとします。关数牛油を使用してこれらの仕様を満たすには,以下のようにします。

[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,A] =椭球(N,1,60,WN);
N = 5 Wn的= 0.2000 0.4000

これらの关数は,アナログフィルターの场合に加え,ほかの标准帯域构成も扱うことができます。

标准的なIIRフィルタータイプの比较

このツールボックスには5つのタイプの标准的なIIRフィルターが用意されており,それぞれ异なる状况に适しています。本节では,各フィルタータイプの基本的なアナログプロトタイプを示し,主な特性の概要を说明します。

バタワースフィルター

バタワースフィルターでは,アナログ周波数Ω= 0およびΩ=∞において理想的なローパスフィルター応答に対する最善のテイラー级数近似が提供されます。任意の次数Ñについて,振幅二乘応答は,これらの位置で2N - 1个のゼロ微分をもちます(Ω= 0およびΩ=∞において “最大フラット”)。応答は全体的に単调で,Ω= 0からΩ=∞に滑らかに减少します。Ω= 1においては | H Ĵ Ω | = 1 / 2 です。

チェビシェフ我型フィルター

チェビシェフ我型フィルターでは,通过帯域内に卢比分贝の等リップルを组み込むことにより,通过帯域全体にわたって理想の周波数応答と実际の周波数応答との差の绝対値が最小になるようにします。阻止帯域応答は,最大フラットとなります。通过帯域から阻止帯域への迁移はバタワースフィルターより急激です。Ω= 1においては | H Ĵ Ω | = 10 - 卢比 / 20 です。

チェビシェフII型フィルター

チェビシェフII型フィルターでは,阻止帯域内に卢比分贝の等リップルを组み込むことにより,阻止帯域全体にわたって理想の周波数応答と実际の周波数応答との差の绝対値が最小になるようにします。通过帯域応答は,最大フラットとなります。

阻止帯域は,我型フィルターほど速くゼロに近づきません(また,偶数値のフィルター次数Ñでは,まったくゼロに近づきません)。ただし,多くの场合,通过帯域にリップルがないことは重要な利点になります。Ω= 1においては | H Ĵ Ω | = 10 - 卢比 / 20 です。

楕円フィルター

楕円フィルターは通过帯域と阻止帯域の両方で等リップルとなります。一般的にこれは,サポートされる任意のフィルタータイプにおいて,その最小次数で必要条件を満たします。フィルターの次数N,通过帯域リップル卢比デシベルおよび阻止帯域リップル卢比デシベルが与えられると,楕円フィルターによって迁移幅が最小化されます。Ω= 1においては | H Ĵ Ω | = 10 - 卢比 / 20 です。

ベッセルフィルター

アナログベッセルローパスフィルターでは,ゼロ周波数において群遅延が最大フラットになり,通过帯域全体にわたってほぼ一定の群遅延が维持されます。このためフィルター处理された信号は,通过帯域周波数范囲内で元の波形を维持します。アナログベッセルローパスフィルターが周波数マッピングを介してデジタルフィルターに変换されると,この最大フラットという特性は失われます。信号处理工具箱™は,アナログの场合のみベッセルフィルター设计关数を完全にサポートします。

ベッセルフィルターは一般に,阻止帯域において十分な减衰を行うために,他のフィルターより高い次数を必要とします。Ω= 1においては | H Ĵ Ω | < 1 / 2 となり,フィルター次数Ñが増加するにつれて减少します。

メモ:

上记のローパスフィルターは,アナログプロトタイプ关数<一种href="//www.tatmou.com/jp/help/signal/ref/besselap.html">besselap,<一种href="//www.tatmou.com/jp/help/signal/ref/buttap.html">buttap,<一种href="//www.tatmou.com/jp/help/signal/ref/cheb1ap.html">cheb1ap,<一种href="//www.tatmou.com/jp/help/signal/ref/cheb2ap.html">cheb2apおよび<一种href="//www.tatmou.com/jp/help/signal/ref/ellipap.html">ellipapを使用して作成されています。これらの关数により,カットオフ周波数1弧度/秒をもつ适切なタイプのñ次アナログフィルターの零点,极,ゲインが求められます。完全なフィルター设计关数(<一种href="//www.tatmou.com/jp/help/signal/ref/besself.html">besself,<一种href="//www.tatmou.com/jp/help/signal/ref/butter.html">牛油,<一种href="//www.tatmou.com/jp/help/signal/ref/cheby1.html">cheby1,<一种href="//www.tatmou.com/jp/help/signal/ref/cheby2.html">cheby2,<一种href="//www.tatmou.com/jp/help/signal/ref/ellip.html">椭球)は,设计プロセスの最初の段阶でプロトタイピング关数を呼び出します详细。は,<一种href="//www.tatmou.com/jp/help/signal/ug/special-topics-in-iir-filter-design.html" class="a">IIRフィルター设计での特别トピックを参照してください。

同様のプロットを作成するには,ñ=とし,必要に応じて,卢比=0.5および卢比=20を使用します。たとえば,楕円フィルターのプロットを作成するには,次のようにします。

[Z,P,K] = ellipap(5,0.5,20);W = LOGSPACE(-1,1,1000);H = freqs(K *聚(Z),聚(对)中,w);semilogx(瓦特,ABS(H)),格xlabel(“频率(弧度/秒)”)ylabel('大小'

直接形IIRフィルターの设计

このツールボックスで“直接设计法” と言う场合は,离散领域での仕様に基づいてフィルターを设计するIIR设计の手法を指しています。アナログプロトタイプ作成法とは异なり,直接设计法は标准的なローパス,ハイパス,バンドパス,バンドストップ构成に制限されません。これらの关数では,任意の,场合によってはマルチバンドの周波数応答をもつフィルターが设计されます。本节では,特にフィルター设计を目的とした关数<一种href="//www.tatmou.com/jp/help/signal/ref/yulewalk.html">yulewalkについて说明します。<一种href="//www.tatmou.com/jp/help/signal/ug/parametric-modeling.html" class="a">パラメトリックモデリングでは,普罗尼法,线形予测法,スティグリッツ·マクブライド法,逆周波数设计など,直接型ともみなされ得るその他の手法について说明します。

关数<一种href="//www.tatmou.com/jp/help/signal/ref/yulewalk.html">yulewalkでは,指定した周波数応答に适合するように再帰型IIRデジタルフィルターが设计されます。<一种href="//www.tatmou.com/jp/help/signal/ref/yulewalk.html">yulewalkという关数名は,フィルターの分母系数を求める方法から付けられたものです。つまり,この关数では指定した理想的な振幅二乘応答の逆FFTが求められ,その结果として得られた自己相关关数のサンプルを使用して,拡张ユール·ウォーカー方程式を解けます。ステートメント

并[b,A] = yulewalk(N,F,M)

周波数の振幅特性がベクトルFで与えられたものに近似する,ñ次のIIRフィルターの分子と分母の系数n + 1个个を含む行ベクトルb一种が返されます。Fは0〜1の范囲の周波数点を表すベクトルで,ここで,1はナイキスト周波数を表します。は,F点において指定した振幅応答を含むベクトルです。Fは,マルチバンド応答を含む,任意の区分线形形状の振幅応答を表すことができます。この关数に相当するFIR关数は<一种href="//www.tatmou.com/jp/help/signal/ref/fir2.html">FIR2で,この关数も任意の区分线形振幅応答に基づいたフィルターを设计します详细。は,<一种href="//www.tatmou.com/jp/help/signal/ug/fir-filter-design.html" class="a">FIRフィルターの设计を参照してください。

yulewalkには位相情报を入力することができません。また,结果として得られるフィルターの最适性に关しては,保证をするものではありません。

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/jp/help/signal/ref/maxflat.html">maxflatを使用すると,泛用バタワースフィルター,すなわち,零点と极の数が异なるバタワースフィルターを设计できます。これは,零点より极の方が计算时间がかかる実装では望ましいといえます。<一种href="//www.tatmou.com/jp/help/signal/ref/maxflat.html">maxflatは,1つの次数のみでなく,分子と分母に対して1つずつ,2つの次数を设定できるという点を除けば,关数<一种href="//www.tatmou.com/jp/help/signal/ref/butter.html">牛油と同じです。これらのフィルターは “最大フラット”となります。これは,结果として得られるフィルターが任意の分子および分母の次数に対して最适であり,0およびナイキスト周波数ω=πにおける导关数の最大数がともに0であることを意味します。

たとえば,2つの次数が等しいとき,maxflat牛油と同じです。

并[b,A] = maxflat(3,3,0.25)
B = 0.0317 0.0951 0.0951 0.0317α= 1.0000 -1.4590 0.9104 -0.1978
并[b,A] =黄油(3,0.25)
B = 0.0317 0.0951 0.0951 0.0317α= 1.0000 -1.4590 0.9104 -0.1978

ただし,<一种href="//www.tatmou.com/jp/help/signal/ref/maxflat.html">maxflatでは极より多くの零点をもつフィルターを设计できるため,用途が広いといえます。

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

maxflatに対する3番目の入力は,周波数0〜1で 1 / 2 の目标振幅応答をもつ, “电力半値周波数” です。

また,“符号”オプションを使用して,最大フラットの特性をもつ线形位相フィルターを设计することもできます。

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

maxflatアルゴリズムの详细は,Selesnickと巴瑞斯による<一种href="//www.tatmou.com/jp/help/signal/ug/selected-bibliography.html" class="a">[2]の参考文献を参照してください。