Main Content

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

stepz

離散時間フィルター System object のステップ応答

説明

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

[stepResp,t] = stepz(sysobj,n) は、floor(n) 1 秒間隔でステップ応答を計算します。時間ベクトル t(0:floor(n)-1)' と同等です。

[stepResp,t] = stepz(sysobj,n,fs) は、floor(n) 1/fs 秒間隔でステップ応答を計算します。時間ベクトル t(0:floor(n)-1)'/fs と同等です。

[stepResp,t] = stepz(sysobj,[],fs) は、k 1/fs 秒間隔でステップ応答を計算します。ここで、k はフィルター係数の数です。時間ベクトル t(0:k-1)'/fs と同等です。

[___] = stepz(___,Arithmetic=arithType) は、前の構文のいずれかを使用して、arithType で指定された演算に基づいてフィルター System object を解析します。

stepz(sysobj) は、fvtool を起動し、フィルター System object のステップ応答をプロットします。

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

stepz は、実数のフィルターと複素数のフィルターの両方で機能します。出力引数を省略した場合、関数 stepz はステップ応答の実数部のみをプロットします。

すべて折りたたむ

等リップル ローパス FIR フィルターを設計し、フィルターのステップ応答を計算します。

fdesign.lowpass仕様オブジェクトを使用してフィルター仕様を定義します。仕様オブジェクトに対して関数designを実行してdsp.FIRFilterオブジェクトを作成します。通過帯域周波数を 20 kHz、阻止帯域周波数を 22.05 kHz、通過帯域リップルを 1 dB、阻止帯域の減衰量を 80 dB に指定します。サンプリング周波数を 96 kHz と指定します。

Fs = 96e3; 
filtSpecs = fdesign.lowpass(20e3,22.05e3,1,80,Fs);
firlp2 = design(filtSpecs,'equiripple',SystemObject=true)
firlp2 = 
  dsp.FIRFilter with properties:

            Structure: 'Direct form'
      NumeratorSource: 'Property'
            Numerator: [4.2157e-04 9.7407e-04 3.1143e-04 -0.0031 -0.0082 -0.0111 -0.0081 -8.9652e-04 0.0042 0.0026 -0.0023 -0.0038 1.4050e-04 0.0037 0.0016 -0.0029 -0.0031 0.0016 0.0040 1.8030e-04 -0.0043 -0.0022 0.0036 0.0041 -0.0020 ... ] (1x123 double)
    InitialConditions: 0

  Use get to show all properties

関数stepzを使用してフィルターのステップ応答を設計します。

stepz(firlp2)

Figure Figure 1: Step Response contains an axes object. The axes object with title Step Response, xlabel Samples, ylabel Amplitude contains an object of type stem.

入力引数

すべて折りたたむ

ステップ応答ベクトルの長さ。正の整数として指定します。

データ型: single | double

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

データ型: single | double

フィルター解析で使用される演算。'double''single'、または 'Fixed' として指定します。演算入力が指定されず、フィルター System object がロック解除状態の場合、解析ツールは倍精度フィルターを使用します。演算入力が指定されず、System object がロックされている場合、関数はロックされた入力のデータ型に基づいて解析を実行します。

'Fixed' 値は、固定小数点プロパティのみをもつフィルター System object に適用されます。

'Arithmetic' 入力引数が 'Fixed' として指定され、フィルター オブジェクトの係数のデータ型が 'Same word length as input' に設定されている場合、演算解析は System object がロック解除されているかロックされているかに応じて異なります。

  • ロック解除 –– 解析オブジェクト関数は係数のデータ型を判断できません。関数は、係数のデータ型が符号付き、16 ビット語長、自動スケーリングであると仮定します。関数は、この仮定に基づいて固定小数点解析を実行します。

  • ロック –– 入力のデータ型が 'double' または 'single' の場合、解析オブジェクト関数は係数のデータ型を判断できません。関数は、係数のデータ型が符号付き、16 ビット語長、自動スケーリングであると仮定します。関数は、この仮定に基づいて固定小数点解析を実行します。

System object がロックされているかロック解除されているかを確認するには、関数 isLocked を使用します。

演算入力が 'Fixed' として指定され、フィルター オブジェクトの係数のデータ型がカスタム数値型に設定されている場合、オブジェクト関数はカスタム数値データ型に基づいて固定小数点解析を実行します。

出力引数

すべて折りたたむ

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

データ型: double

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

データ型: double

バージョン履歴

R2011a で導入

すべて展開する

参考

| |