tf2ss
伝達関数フィルター パラメーターの状態空間形式への変換
説明
例
次の伝達関数で記述されるシステムがあるとします。
tf2ss
を使用して、これを状態空間に変換します。
b = [0 2 3; 1 2 1]; a = [1 0.4 1]; [A,B,C,D] = tf2ss(b,a)
A = 2×2
-0.4000 -1.0000
1.0000 0
B = 2×1
1
0
C = 2×2
2.0000 3.0000
1.6000 0
D = 2×1
0
1
単位弾性定数のバネで壁につながれた単位質量 の物体で構成される 1 次元の離散時間振動システムについて考えます。センサーによりこの質量の加速度 を Hz でサンプリングします。
50 個の時間サンプルを生成します。サンプリング間隔は と定義します。
Fs = 5; dt = 1/Fs; N = 50; t = dt*(0:N-1); u = [1 zeros(1,N-1)];
このシステムの伝達関数の解析式は次のようになります。
.
系に正の方向の単位インパルスを与えます。伝達関数を使用してシステムの時間発展を計算します。応答をプロットします。
bf = [1 -(1+cos(dt)) cos(dt)]; af = [1 -2*cos(dt) 1]; yf = filter(bf,af,u); stem(t,yf,"o") xlabel("t")
このシステムの状態空間表現を求めます。すべてゼロの初期状態からの時間発展を計算します。それを伝達関数予測と比較します。
[A,B,C,D] = tf2ss(bf,af); x = [0;0]; for k = 1:N y(k) = C*x + D*u(k); x = A*x + B*u(k); end hold on stem(t,y,"*") hold off legend("tf","ss")
入力引数
伝達関数の分子係数。ベクトルまたは行列として指定します。b
が行列の場合、b
の各行はシステムの出力に対応します。
離散時間システムの場合、
b
には、z の降べきの順で係数が含まれます。連続時間システムの場合、
b
には、s の降べきの順で係数が含まれます。
離散時間システムでは、b
の列数と a
の長さは等しくなければなりません。数が異なる場合は、ゼロをパディングすることで等しくします。これを実行するには、関数 eqtflength
を使用します。
伝達関数分の分母係数。ベクトルとして指定します。
離散時間システムの場合、
a
には、z の降べきの順で係数が含まれます。連続時間システムの場合、
a
には、s の降べきの順で係数が含まれます。
出力引数
状態行列。行列として返される。システムが n 個の状態変数により記述される場合、A
は n 行 n 列になります。
データ型: single
| double
状態への入力行列。行列として返される。システムが n 個の状態変数により記述される場合、B
は n 行 1 列になります。
データ型: single
| double
出力への状態行列。行列として返される。システムに q 個の出力があり、n 個の状態変数により記述される場合、C
は q 行 n 列になります。
データ型: single
| double
行列として返される直達行列。システムに q 個の出力がある場合、D
は q 行 1 列になります。
データ型: single
| double
詳細
tf2ss
では、伝達関数表現で与えられたシステムのパラメーターが等価な状態空間表現に変換されます。
離散時間システムの場合、状態空間の行列は状態ベクトル x、入力 u および出力 y を以下の式により表します。
伝達関数は、システムのインパルス応答の Z 変換です。状態空間行列に対しては、以下のように表すことができます。
連続時間システムの場合、状態空間の行列は状態ベクトル x、入力 u および出力 y を以下の式により表します。
伝達関数は、システムのインパルス応答のラプラス変換です。状態空間行列に対しては、以下のように表すことができます。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)