Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

isallpass

フィルターがオールパスであるかを判別

構文

flag = isallpass(b,a)
flag = isallpass(sos)
flag = isallpass(d)
flag = isallpass(...,tol)

説明

flag = isallpass(b,a) では、logical の出力 flag が返されます。これは分子係数 b と分母係数 a で指定されるフィルターがオールパス フィルターの場合、true になります。フィルターがオールパス フィルターでない場合、flagfalse になります。

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

flag = isallpass(d) では、デジタル フィルター d がオールパス フィルターの場合、true が返されます。d を周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。

flag = isallpass(...,tol) では、許容誤差 tol を使用して、2 つの数が等しいと見なせる程度に近づく時点が判別されます。tol を指定しない場合は、既定値の eps^(2/3) が使用されます。許容誤差の指定は、固定小数点オールパス フィルターにおいて非常に有用となり得ます。

すべて折りたたむ

オールパス フィルターを作成し、周波数応答がオールパスであることを検証します。

b = [1/3 1/4 1/5 1];
a = fliplr(b); 
flag = isallpass(b,a)
flag = logical
   1

fvtool(b,a)

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Magnitude (dB) contains an object of type line.

ラティス オールパス フィルターを作成し、フィルターがオールパスであることを検証します。

k = [1/2 1/3 1/4 1/5];
[b,a] = latc2tf(k,'allpass');
flag_isallpass = isallpass(b,a)
flag_isallpass = logical
   1

fvtool(b,a)

Figure Figure 2: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Magnitude (dB) contains an object of type line.

バージョン履歴

R2013a で導入