Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

impz

離散時間フィルター System object のインパルス応答

説明

[impResp,t]= impz(sysobj) は、フィルター System object™、sysobj のインパルス応答を計算し、応答を列ベクトル impResp で、時間のベクトル (またはサンプル間隔) を t で返します。ここで、t = [0 1 2 ...k-1]' で、k はフィルター係数の数です。

[impResp,t]= impz(sysobj,n)floor(n) 1 秒間隔でインパルス応答を計算します。時間ベクトル t(0:floor(n)-1)' と同等です。

[impResp,t]= impz(sysobj,n,fs)floor(n) 1/fs 秒間隔でインパルス応答を計算します。時間ベクトル t(0:floor(n)-1)'/fs と同等です。

[impResp,t]= impz(sysobj,[],fs)k 1/fs 秒間隔でインパルス応答を計算します。k はフィルター係数の数です。時間ベクトル t(0:k-1)'/fs と同等です。

[impResp,t]= impz(sysobj,'Arithmetic',arithType) は、前の構文のいずれかを使用して、arithType で指定された演算に基づいてインパルス応答を計算します。

impz(sysobj) は、fvtool を使用して、フィルター System object sysobj のインパルス応答をプロットします。

impz は、実数のフィルターと複素数のフィルターの両方に使用できます。出力引数を省略した場合、impz はインパルス応答の実数部のみをプロットします。

その他の入力オプションについては、impz を参照してください。

すべて折りたたむ

ナイキスト周波数の 0.4 倍のカットオフ周波数をもつ 4 次ローパス楕円フィルターの離散時間フィルターを作成します。2 次セクション型構造を使用して、量子化誤差を低減させます。インパルス応答の最初の 50 個のサンプルを基準インパルス応答と共にプロットします。

d = fdesign.lowpass(.4,.5,1,80);

プロトタイプ フィルターの設計オブジェクトを作成します。ellip を使用して、最小次数の離散時間双二次フィルターを設計します。

biquad = design(d,'ellip','Systemobject',true);

インパルス応答をプロットします。

impz(biquad);
axis([1 75 -0.2 0.35])

入力引数

すべて折りたたむ

インパルス応答ベクトルの長さ。正の整数として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

インパルス応答の計算で使用するサンプリング周波数。正のスカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

解析時に使用する演算を指定します。演算入力が指定されず、フィルター System object がロック解除状態の場合、解析ツールは倍精度フィルターを使用します。'Arithmetic' プロパティを 'Fixed' に設定すると、固定小数点プロパティをもつフィルター System object にのみ適用されます。

出力引数

すべて折りたたむ

インパルス応答。n 要素のベクトルとして返されます。n を指定しない場合、インパルス応答ベクトルの長さは、フィルターの係数の数と等しくなります。

データ型: double

秒単位の長さ n の時間ベクトル。t は、範囲 (0:floor(n)-1)'/fs における n 個の等間隔の点で構成されます。n を指定しない場合、関数はフィルターの係数の数を使用します。

データ型: double

R2011a で導入