| Getting Started | ![]() |
連続/離散の変換
コマンドc2d、d2c、d2dは、連続を離散に、離散を連続に、離散を離散(リサンプリング)に変換します。
sysd = c2d(sysc,Ts) % サンプル周期Tsで離散化 sysc = d2c(sysd) % 等価な連続時間モデル sysd1= d2d(sysd,Ts) % 周期Tsでリサンプリング
種々の離散化/内挿法、ゼロ次ホールド(デフォルト)、一次ホールド、周波数応答を比較する周波数点を設定したTustin変換、設定していないTustin変換、零点/極の一致法、が利用できます。たとえば、
sysd = c2d(sysc,Ts,'foh') % 一次ホールドを使用 sysc = d2c(sysd,'tustin') % Tustin近似を使用
離散DCモータモデル
関数c2dを使い、適切なサンプル時間を使って、DCモータプラントを離散化します。適切なサンプル時間を選択するためには、達成したい性能、システム内で最も速い応答を示す時定数、実行するコントローラのスピード等、いろいろな要素が考慮されます。この例題では、0.01秒の時定数を選択します。SSオブジェクトsys_ssのコンストラクタについては、SISO例題:DCモータを参照してください。
Ts=0.01;
sysd=c2d(sys_ss,Ts)
a =
x1 x2
x1 0.9605 0
x2 0.013986 0.90484
b =
u1
x1 0.0098012
x2 7.1588e-005
c =
x1 x2
y1 0 1
d =
u1
y1 0
Sampling time: 0.01
Discrete-time model.
ディジタルDCモータ用の離散時間伝達関数を調べるため、関数tfを使って、モデルを変換します。
fd=tf(sysd) Transfer function: 7.159e-005 z + 6.832e-005 ------------------------- z^2 - 1.865 z + 0.8691 Sampling time: 0.01
| 離散時間システム | 時間遅れを離散時間モデルに付加 | ![]() |