Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

impzlength

インパルス応答の長さ

説明

len= impzlength(b,a)では、分子bと分母az–1の多項式で指定される有理システム関数をもつ、因果性がある離散時間フィルターに対するインパルス応答の長さが返されます。安定 IIR フィルターの場合、lenは有効なインパルス応答シーケンスの長さです。len番目の項より後の IIR フィルターのインパルス応答の項は本質的にゼロです。

len= impzlength(sos)では、2 次セクション型の行列sosにより指定される IIR フィルターの実効値インパルス応答の長さが返されます。sosは K 行 6 列の行列で、セクション数 K は 2 以上でなければなりません。セクション数が 2 未満の場合は、impzlengthは入力を分子ベクトルbと見なします。sosの各行は 2 次 (双二次) フィルターの係数に対応しています。sos行列の i 行目は(bi (1) bi (2) bi(3)人工智能ai (1) (2)ai(3)]に対応しています。

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

len= impzlength(___,tol)では、IIR フィルターのインパルス応答の有効な長さの推定に対する許容誤差が指定されます。既定の設定ではtol5e-5です。tolの値を大きくすると、IIR フィルターのインパルス応答の有効な長さの推定は短くなります。tolの値を小さくすると、IIR フィルターのインパルス応答の有効な長さは長くなります。

すべて折りたたむ

0.9 に極をもつローパス全極 IIR フィルターを作成します。有効なインパルス応答の長さを計算します。インパルス応答を取得します。結果をプロットします。

b = 1; a = [1 -0.9]; len = impzlength(b,a)
len = 93
[h,t] = impz(b,a); stem(t,h)

Figure contains an axes object. The axes object contains an object of type stem.

h(len)
ans = 6.1704e-05

0.4π ラジアン/サンプルのカットオフ周波数をもつ 4 次ローパス楕円フィルターを設計します。通過帯域リップルを 1 dB、阻止帯域の減衰量を 60 dB に指定します。極-零点-ゲイン型フィルターを設計し、zp2sos2次し次次型行列ますます。次次型行列からから有效なインパルス応答シーケンスシーケンスシーケンスの长さを

[z,p,k] = ellip(4,1,60,.4); [sos,g] = zp2sos(z,p,k); len = impzlength(sos)
len = 80

designfiltをし,化化されれた周波数周波数周波数周波数周波数周波数帯域帯域帯域帯域帯域ラジアンラジアンラジアンラジアン/サンプルラジアンもつもつもつもつもつもつもつもつもつもつもつもつもつもつもつをををもつもつををををを次次次次次次次次次次次のののローパスローパスローパスローパスローパス楕楕楕楕楕楕円円円円フィルターフィルターフィルターフィルターフィルターをををををを设计设计设计设计设计しししししますますます。。。。をををををををををををを有效なシーケンスのさを判别,化化ますます。

d = designfilt(“ Lowpassiir”,'FilterOrder',4,'PassbandFrequency',0.4,...'PassbandRipple',1,'StopbandAttenuation',60,...'DesignMethod','ellip'); len = impzlength(d)
len = 80
impz(d)

Figure Filter Visualization Tool - Impulse Response contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Impulse Response contains an object of type stem.

入力引数

すべて折りたたむ

スカラー (全極フィルター) またはベクトルとして指定する分子係数。

例:b = fir1(20,0.25)

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

スカラー (FIR フィルター) またはベクトルとして指定する分母係数。

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

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

H k ( z ) = B k ( 1 ) + B k ( 2 ) z 1 + B k ( 3 ) z 2 A k ( 1 ) + A k ( 2 ) z 1 + A k ( 3 ) z 2 .

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

[ B k ( 1 ) B k ( 2 ) B k ( 3 ) A k ( 1 ) A k ( 2 ) A k ( 3 ) ]

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

z = e j 2 π f .

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

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

IIR フィルターの有効なインパルス応答の長さに対する許容誤差。正の数値として指定します。許容誤差により、絶対加算可能なシーケンスにおいてそれ以降の項が 0 とみなされる項が決定されます。既定の許容誤差は5e-5です。許容誤差を大きくすると有効なインパルス応答シーケンスの長さは短くなります。許容誤差を小さくすると有効なインパルス応答シーケンスの長さは長くなります。

出力引数

すべて折りたたむ

正の整数で指定するインパルス応答の長さ。絶対加算可能なインパルス応答をもつ安定 IIR フィルターの場合、impzlengthは、それを超えると係数が本質的にゼロとなる有効なインパルス応答の長さを返します。オプションのtol入力引数を指定すると、このカットオフ点をコントロールできます。

アルゴリズム

FIR フィルターのインパルス応答を計算するには、impzlengthbの長さを使用します。IIR フィルターの場合、関数は最初にrootsを使用して伝達関数の極を求めます。

フィルターが不安定な場合、最大の極をもつ項が元の値の106倍に達する位置にまで長さが拡張します。

フィルターが安定している場合、最大振幅の極をもつ項が元の振幅のtol倍に達するまで長さが拡張します。

フィルターが振動する (単位円上の極のみ) 場合、impzlengthでは、振動が最も遅くなる 5 周期が計算されます。

フィルターに振動項と減衰項の両方が含まれている場合は、長さは次の値よりも大きくなります。

  • 振動が最も遅くなる 5 周期。

  • 最大の極をもつ項が元の振幅のtol倍に達する点。

拡張機能

バージョン履歴

R2013a で導入