Main Content

d2c

離散時間から連続時間へモデルを変換

説明

sysc = d2c(sysd) は、離散時間動的システム モデル sysd を、入力にゼロ次ホールドを使用して、連続時間モデルに変換します。

sysc = d2c(sysd,method) は、変換メソッドを指定します。

sysc = d2c(sysd,opts) は離散化の変換オプションを指定します。

[sysc,G] = d2c(___) (sysd は状態空間モデル) は、離散時間状態空間モデルの状態 xd[k]sysc の状態 xc(t) にマッピングする行列 G を返します。

すべて折りたたむ

次の離散時間伝達関数を作成します。

H(z)=z-1z2+z+0.3

H = tf([1 -1],[1 1 0.3],0.1);

モデルのサンプル時間は Ts=0.1s です。

連続時間のゼロ次ホールドと等価のモデルを派生させます。

Hc = d2c(H)
Hc =
 
   121.7 s + 3.668e-12
  ---------------------
  s^2 + 12.04 s + 776.7
 
Continuous-time transfer function.

結果のモデル Hc を既定のゼロ次ホールド メソッドとサンプル時間 0.1 秒で離散化し、元の離散モデル H を返します。

c2d(Hc,0.1)
ans =
 
      z - 1
  -------------
  z^2 + z + 0.3
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Tustin 近似法を使用して H を連続時間モデルに変換します。

Hc2 = d2c(H,'tustin');

結果のモデル Hc2 を離散化し、元の離散時間モデル H を取り戻します。

c2d(Hc2,0.1,'tustin');

離散時間伝達関数モデルを推定し、連続時間モデルに変換します。

load iddata1
sys1d = tfest(z1,2,'Ts',0.1);
sys1c = d2c(sys1d,'zoh');

連続時間伝達関数モデルを推定します。

sys2c = tfest(z1,2);

sys1c の応答と、直接推定した連続時間モデル sys2c を比較します。

compare(z1,sys1c,sys2c)

この 2 つのシステムはほぼ同じです。

同定された離散時間伝達関数モデルを連続時間に変換します。

load iddata1
sysd = tfest(z1,2,'Ts',0.1);
sysc = d2c(sysd,'zoh');

sys1c には共分散情報がありません。d2c 演算により、同定されたモデルの共分散データが失われることになります。

同じ推定コマンドと推定データでゼロ点の反復更新を使用して、共分散情報を再生成します。

opt = tfestOptions; 
opt.SearchOptions.MaxIterations = 0;
sys1c = tfest(z1,sysc,opt);

周波数応答の不確かさへの影響を解析します。

h = bodeplot(sysd,sys1c);
showConfidence(h,3)

sys1csysd の不確かさはナイキスト周波数に匹敵します。ただし、sys1c では、推定データによる情報が得られないため、周波数範囲の不確かさが大きくなります。

推定データにアクセスできない場合は、translatecov コマンドを使用します。これは、ガウス近似の公式に基づいた、モデル タイプ変換演算全体での共分散の変換です。

入力引数

すべて折りたたむ

離散時間モデル。tfsszpkなどの動的システム モデルとして指定します。

FunctionType'd' である idgrey モデルを d2c と直接一緒に使用することはできません。最初にモデルを idss 形式に変換してください。

離散時間から連続時間への変換メソッド。以下のいずれかの値として指定。

  • 'zoh' - 入力のゼロ次ホールド。制御入力はサンプリング周期の間中、区分的に一定であると仮定します。

  • 'foh' - 入力の線形内挿 (修正された 1 次ホールド)。制御入力はサンプリング周期の間中、区分的に線形であると仮定します。

  • 'tustin' — 導関数に対する双一次 (Tustin) 近似。周波数プリワーピング (以前に 'prewarp' メソッドと呼ばれていたもの) によるこのメソッドを指定するには、d2cOptionsPrewarpFrequency オプションを使用します。

  • 'matched' — 極-零点マッチング法 (SISO システムの場合のみ)。[1]を参照してください。

d2c 変換法のアルゴリズムの詳細については、連続/離散の変換方法を参照してください。

d2cOptions を使用して作成された、離散時間から連続時間への変換オプション。たとえば、プリワープ周波数または変換メソッドをオプションとして指定します。

出力引数

すべて折りたたむ

連続時間モデル。入力システム sysd と同じタイプの動的システム モデルとして返されます。

sysd が同定された (IDLTI) モデルの場合、sysc は次のようになります。

  • sysd の測定成分とノイズ成分の両方を含みます。sysd のノイズ分散が λ の場合、連続時間モデル sysc のノイズ スペクトル密度で示されるレベルは Ts*λ と等しくなります。

  • sysd の推定されたパラメーターの共分散は含みません。モデルの変換中に共分散を変換する場合は、translatecov (System Identification Toolbox) を使用します。

状態空間モデル sysd の状態 xd[k]sysc の状態 xc(t) へのマッピング。行列として返されます。状態のマッピングは次のようになります。

xc(kTs)=G[xd[k]u[k]].

sysd の初期条件が x0 で初期入力が u0 = u[0] とすると、sysc の対応する初期条件 (k < 0u[k] = 0 と想定した場合) は次のようになります。

xc(0)=G[x0u0].

参照

[1] Franklin, G.F., Powell,D.J., and Workman, M.L., Digital Control of Dynamic Systems (3rd Edition), Prentice Hall, 1997.

[2] Kollár, I., G.F. Franklin, and R. Pintelon, "On the Equivalence of z-domain and s-domain Models in System Identification," Proceedings of the IEEE® Instrumentation and Measurement Technology Conference, Brussels, Belgium, June, 1996, Vol. 1, pp. 14-19.

バージョン履歴

R2006a より前に導入