ドキュメンテーション

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

Transfer Fcn

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

  • ライブラリ:
  • Simulink / 連続

説明

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 ユーティリティは、システムに対する ABCD 行列を提供します。

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

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

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

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

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

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

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

端子

入力

すべて展開する

入力信号。データ型 double を持つスカラーとして指定します。

データ型: double

出力

すべて展開する

出力信号。データ型 double を持つスカラーまたはベクトルとして指定します。

  • 単出力システムでは、このブロックの入力と出力は時間領域のスカラー信号です。

  • 多出力システムでは、入力はスカラーで、出力はベクトルです。ベクトルの各要素はそのシステムの出力です。

データ型: double

パラメーター

すべて展開する

伝達関数の分子係数を定義します。

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

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

プログラムでの使用

ブロック パラメーター: Numerator
型: 文字ベクトル、string
値: ベクトル | 行列
既定の設定: '[1]'

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

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

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

プログラムでの使用

ブロック パラメーター: Denominator
型: 文字ベクトル、string
値: ベクトル
既定の設定: '[1 1]'

ブロックの状態を計算するための絶対許容誤差。正の実数値のスカラーまたはベクトルとして指定します。コンフィギュレーション パラメーターから絶対許容誤差を継承するには、auto または -1 を指定します。

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

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

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

プログラムでの使用

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

各状態に固有名を割り当てます。このフィールドが空白 (' ') の場合は、名前の割り当ては行われません。

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

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

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

制限

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

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

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

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

プログラムでの使用

ブロック パラメーター: ContinuousStateAttributes
型: 文字ベクトル、string
値: ' ' | ユーザー定義
既定の設定: ' '

モデルの例

ブロックの特性

データ型

double

直接フィードスルー

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

R2006a より前に導入