Main Content

tf

離散時間フィルターSystem objectの伝達関数への変換

説明

[num,德n] = tf(sysobj)は、離散時間フィルター System object™ を等価な伝達関数の分子係数ベクトルおよび分母係数ベクトルに変換します。

[num,德n] = tf(sysobj,'Arithmetic',arithType)は、arithTypeで指定された演算に基づいてフィルター System object を解析します。

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

すべて折りたたむ

関数tfを使用して双二次フィルターの伝達関数を計算します。

正規化されたカットオフ周波数 0.4 をもつ 4 次のローパス双二次フィルター オブジェクトを作成します。

[z,p,k] = ellip(4,1,60,0.4);% Set up the filter[s,g] = zp2sos(z,p,k); biquad = dsp.BiquadFilter(s,g,'Structure','Direct form I')
biquad = dsp.BiquadFilter with properties: Structure: 'Direct form I' SOSMatrixSource: 'Property' SOSMatrix: [2x6 double] ScaleValues: 0.0351 NumeratorInitialConditions: 0 DenominatorInitialConditions: 0 OptimizeUnityScaleValues: true Show all properties

設計した双二次フィルターの伝達関数を計算します。関数tfは、フィルターの分子係数ベクトルおよび分母係数ベクトルを返します。

[num,den] = tf(biquad)
num =1×50.0351 0.1038 0.1432 0.1038 0.0351
德n =1×51.0000 -1.5676 1.7412 -1.0104 0.3093

入力引数

すべて折りたたむ

フィルター解析で使用される演算。'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'として指定され、フィルター オブジェクトの係数のデータ型がカスタム数値型に設定されている場合、オブジェクト関数はカスタム数値データ型に基づいて固定小数点解析を実行します。

出力引数

すべて折りたたむ

フィルターの分子係数。行ベクトルとして返されます。

データ型:double

フィルターの分母係数。行ベクトルとして返されます。

データ型:double

バージョン履歴

R2011a で導入

参考

関数