Main Content

filtord

説明

n = filtord(b,a) では、分子係数 b と分母係数 a で指定される因果性有理システム関数に対するフィルター次数 n が返されます。

n = filtord(sos) では、2 次セクション行列 sos で指定されるフィルターに対するフィルター次数が返されます。sos は K 行 6 列の行列です。セクション数 K は 2 以上でなければなりません。sos の各行は 2 次フィルターの係数に対応しています。2 次セクション行列の i 行目は [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)] に対応しています。

n = filtord(d) は、デジタル フィルター d のフィルター次数 n を返します。d は関数 designfilt を使用して生成します。

すべて折りたたむ

ウィンドウ法を使用して、正規化されたカットオフ周波数が 0.5π ラジアン/サンプルの 20 次の FIR フィルターを設計します。フィルター次数を検証します。

b = fir1(20,0.5);
n = filtord(b)
n = 20

designfilt を使用して同一のフィルターを設計し、その次数を確認します。

di = designfilt('lowpassfir','FilterOrder',20,'CutoffFrequency',0.5);
ni = filtord(di)
ni = 20

FIR 等リップル フィルターと IIR バタワース フィルターを同じ仕様のセットから設計します。2 つの設計間のフィルター次数の差を求めます。

fir = designfilt('lowpassfir','DesignMethod','equiripple','SampleRate',1e3, ...
                 'PassbandFrequency',100,'StopbandFrequency',120, ...
                 'PassbandRipple',0.5,'StopbandAttenuation',60);
iir = designfilt('lowpassiir','DesignMethod','butter','SampleRate',1e3, ...
                 'PassbandFrequency',100,'StopbandFrequency',120, ...
                 'PassbandRipple',0.5,'StopbandAttenuation',60);
FIR = filtord(fir)
FIR = 114
IIR = filtord(iir)
IIR = 41

入力引数

すべて折りたたむ

分子係数。スカラーまたはベクトルで指定します。フィルターが全極フィルターの場合、b はスカラーです。それ以外の場合、b は行ベクトルまたは列ベクトルです。

例: b = fir1(20,0.25)

データ型: single | double
複素数のサポート: あり

分母係数。スカラーまたはベクトルで指定します。フィルターが FIR フィルターの場合、a はスカラーです。それ以外の場合、a は行ベクトルまたは列ベクトルです。

例: [b,a] = butter(20,0.25)

データ型: single | double
複素数のサポート: あり

2 次セクションの行列。K 行 6 列の行列で指定します。K 番目の双二次フィルターのシステム関数は、有理 Z 変換をもちます。

Hk(z)=Bk(1)+Bk(2)z1+Bk(3)z2Ak(1)+Ak(2)z1+Ak(3)z2.

行列 sos の K 行目の係数は、次の順序で並びます。

[Bk(1)Bk(2)Bk(3)Ak(1)Ak(2)Ak(3)].

フィルターの周波数応答は、次によって単位円上で評価されるシステム関数です。

z=ej2πf.

データ型: single | double
複素数のサポート: あり

デジタル フィルター。digitalFilter オブジェクトで指定します。デジタル フィルターを周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。

例: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) は、正規化された 3 dB の周波数 0.5π ラジアン/サンプルをもつ 3 次のバタワース フィルターを指定します。

出力引数

すべて折りたたむ

フィルター次数。整数で指定します。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2013a で導入