ドキュメンテーション

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

Transfer Fcn

伝達関数で線形システムのモデル作成

ライブラリ

Continuous

説明

Transfer Fcn ブロックは、ラプラス領域の変数 s の伝達関数で線形システムのモデルを作成します。このブロックは、単入力単出力 (SISO: single-input single-output) と 単入力多出力 (SIMO: single-input multiple output) システムの両方のモデルを作成できます。

このブロックの使用条件

Transfer Fcn ブロックは次の条件を想定しています。

  • 伝達関数は次に示す形式になります。

    H(s)=y(s)u(s)=num(s)den(s)=num(1)snn1+num(2)snn2++num(nn)den(1)snd1+den(2)snd2++den(nd),

    ここで、u と y はそれぞれシステム入力と出力で、nn と nd はそれぞれ分子と分母の係数の数です。num(s) と den(s) は分子係数と分母係数を s の降ベキ数順に並べたものです。

  • 分母の次数は分子の次数以上でなければなりません

  • 多出力システムでは、すべての伝達関数が同じ分母をもち、すべての分子が同じ次数になっている必要があります。

単出力システムのモデル化

単出力システムでは、このブロックの入力と出力は時間領域のスカラー信号です。このシステムのモデルを作成するには次のようにします。

  1. 伝達関数の分子係数のベクトルを [分子係数] フィールド内に入力します。

  2. 伝達関数の分母係数のベクトルを [分母係数] フィールドに入力します。

多出力システムのモデル化

多出力システムでは、ブロック入力はスカラーで、出力はベクトルです。ベクトルの各要素はそのシステムの出力です。このシステムのモデルを作成するには次のようにします。

  1. 行列を [分子係数] フィールドに入力します。

    この行列の各 "行" には、ブロック出力の 1 つを決定する伝達関数の分子係数が入ります。

  2. [分母係数] フィールドに、システムの伝達関数に共通する分母係数のベクトルを入力します。

初期条件の指定

伝達関数はラプラス (周波数) 領域の入力と出力の関係を記述します。具体的には、初期条件がゼロのシステムにインパルスを入力するときの応答 (出力) のラプラス変換として定義されます。

伝達関数の乗算や除算などの演算は初期条件がゼロであることを前提にしています。たとえば 1 つの複雑な伝達関数を、より単純な一連の伝達関数に分解できます。それらを順番に適用することで元の伝達関数と等しい応答が得られます。伝達関数の 1 つがゼロ以外の初期条件を仮定している場合にはこの結果は正しくありません。また、伝達関数には無限に多くの時間領域実現があるため、その状態のほとんどは物理的な意味をもちません。

これらの理由から Simulink® では Transfer Fcn ブロックの初期条件をゼロに事前設定します。特定の伝達関数の初期条件を指定するには、tf2ss を使用して伝達関数を制御可能な正準状態空間実現に変換します。その後で State-Space ブロックを使用します。tf2ss ユーティリティは、システムに対するA、B、C、D 行列を提供します。

詳細は、「help tf2ss」と入力するか、Control System Toolbox™ ドキュメンテーションを参照してください。

ブロックでの伝達関数の表示

Transfer Fcn ブロックには伝達関数が表示されますが、これは分子と分母パラメーターをどのように指定したかに依存します。

  • 個々のパラメーターをベクトル式で指定すると、ブロックには伝達関数が、指定された係数と s のべき乗で表記されます。かっこ内に変数を指定すると、その変数は評価されます。

    たとえば、[分子係数][3,2,1][分母係数](den) を指定した場合 (ただし、den[7,5,3,1])、ブロックでの表示は次のようになります。

  • パラメーターを変数として指定すると、アイコンは変数名とその後に (s) を示します。

    たとえば、[分子係数]num を、[分母係数]den を指定すると、ブロックでの表示は、次のようになります。

サポートするデータ型

Transfer Fcn ブロックは、double データ型の信号を受け入れ、出力します。

詳細は、Simulink ドキュメンテーションの「 Simulink でサポートされているデータ型」を参照してください。

パラメーターとダイアログ ボックス

分子係数

分子係数の行ベクトルを定義します。

設定

既定の設定: [1]

ヒント

  • 単出力システムでは、伝達関数の分子係数にベクトルを入力します。

  • 多出力システムでは、行列を入力します。この行列の各行には、ブロック出力の 1 つを決定する伝達関数の分子係数が入ります。

コマンド ライン情報

パラメーター: Numerator
タイプ: ベクトルまたは行列
値: '[1]'
既定の設定: '[1]'

参考

詳細は、Transfer Fcn ブロックのリファレンス ページを参照してください。

分母係数

分母係数の行ベクトルを定義します。

設定

既定の設定: [1 1]

ヒント

  • 単出力システムでは、伝達関数の分母係数にベクトルを入力します。

  • 多出力システムでは、そのシステムのすべての伝達関数に共通の分母係数をベクトルにして入力します。

コマンド ライン情報

パラメーター: Denominator
タイプ: ベクトル
値: '[1 1]'
既定の設定: '[1 1]'

絶対許容誤差

ブロックの状態を計算するために絶対許容誤差を指定します。

設定

既定の設定: auto

  • auto、–1、正の実数のスカラーまたはベクトルを入力できます。

  • auto または –1 を入力した場合、Simulink は [コンフィギュレーション パラメーター] ダイアログ ボックス (「[ソルバー] ペイン」を参照) の絶対許容誤差の値を使用してブロックの状態を計算します。

  • 実数のスカラーを入力した場合、ブロックの状態計算における [コンフィギュレーション パラメーター] ダイアログ ボックスの絶対許容誤差は、この値でオーバーライドされます。

  • 実数のベクトルを入力した場合、ベクトルの次元はブロックの連続状態の次元と一致していなければなりません。[コンフィギュレーション パラメーター] ダイアログ ボックスの絶対許容誤差は、これらの値でオーバーライドされます。

コマンド ライン情報

パラメーター: AbsoluteTolerance
タイプ: 文字列、スカラー、ベクトル
値: 'auto' | '-1' | 任意の正の実数のスカラーまたはベクトル
既定の設定: 'auto'

状態名 (例: 'position')

各状態に固有名を割り当てます。

設定

既定の設定: ' '

このフィールドが空白の場合は、名前の割り当ては行われません。

ヒント

  • 単一の状態に名前を割り当てる場合は、'velocity' のように単一引用符の間に名前を入力します。

  • 複数の状態に名前を割り当てる場合は、中かっこ内にコンマで区切って入力します。たとえば、{'a', 'b', 'c'} のようにします。各名前は固有でなければなりません。

  • 状態名は選択されたブロックに対してのみ適用されます。

  • 状態の数は状態名の数で割り切れなければなりません。

  • 指定する名前の数は状態の数より少なくできますが、その逆はできません。

    たとえば、4 つの状態を含むシステムで 2 つの名前を指定することは可能です。最初の名前は最初の 2 つの状態に適用され、2 番目の名前は最後の 2 つの状態に適用されます。

  • MATLAB® ワークスペース内の変数を状態名に割り当てる場合は、引用符なしで変数を入力します。変数には文字列、セル配列、構造体が使用できます。

コマンド ライン情報

パラメーター: ContinuousStateAttributes
タイプ: 文字列
値: ' ' | ユーザー定義
既定の設定: ' '

次の Simulink 例では、Transfer Fcn ブロックの使用方法を示します。

特性

直接フィードスルー

[分子係数][分母係数] パラメーターの長さが等しい場合のみ

サンプル時間

連続

スカラー拡張

なし

状態

[分母係数] -1 の長さ

離散化

あり。伝達関数の分子が行列の場合、ブロックは、スカラー入力をベクトル出力に拡張するため。

ゼロクロッシング検出

なし

この情報は役に立ちましたか?