Main Content

d2d

離散時間モデルのリサンプリング

構文

sys1 = d2d(sys, Ts)
sys1 = d2d(sys, Ts, 'method')
sys1 = d2d(sys, Ts, opts)

説明

sys1 = d2d(sys, Ts) は、離散時間動的システム モデル sys をリサンプリングして、入力でゼロ次ホールドを使用し、新しいサンプル時間 Ts (秒単位) で等価の離散時間モデル sys1 を生成します。

sys1 = d2d(sys, Ts, 'method') は、指定されたリサンプリング手法 'method' を使用します。

  • 'zoh' — 入力のゼロ次ホールド。

  • 'tustin' — 双一次 (Tustin) 近似。

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

sys1 = d2d(sys, Ts, opts) は、d2dOptions で設定されたオプション セットを使用して sys をリサンプリングします。

すべて折りたたむ

サンプル時間 0.1 秒で次の零点-極-ゲイン モデルを作成します。

H(z)=z-0.7z-0.5

H = zpk(0.7,0.5,1,0.1);

モデルを 0.05 秒でリサンプリングします。

H2 = d2d(H,0.05)
H2 =
 
  (z-0.8243)
  ----------
  (z-0.7071)
 
Sample time: 0.05 seconds
Discrete-time zero/pole/gain model.

H2 を 0.1 秒でリサンプリングして、元のモデル H を取得します。

H3 = d2d(H2,0.1)
H3 =
 
  (z-0.7)
  -------
  (z-0.5)
 
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.

推定データに相応するサンプル時間 (0.1 秒) で離散時間出力誤差の多項式モデルを推定するとします。ただし、アプリケーションではより高速のサンプリング周波数 (0.01 秒) が必要です。d2d を使用して、推定されたモデルをリサンプリングできます。

推定データを読み込みます。

load iddata1 z1
z1.Ts
ans = 
0.1000

z1 は、サンプル時間 0.1 秒の推定入出力データを含む iddata オブジェクトです。

次元が [2 2 1] の出力誤差の多項式モデルを推定します。

sys = oe(z1,[2 2 1]);
sys.Ts
ans = 
0.1000

サンプル時間 0.01 秒でモデルをリサンプリングします。

sys2 = d2d(sys,0.01);
sys2.Ts
ans = 
0.0100

d2d は、ゼロ次ホールド メソッドを使用してモデルをリサンプリングします。

ヒント

  • 'method' の既定のオプションを使用して sys をリサンプリングするには、構文 sys1 = d2d(sys,Ts,'method') を使用します。周波数プリワープで tustin リサンプリングを指定するには、構文 sys1 = d2d(sys,Ts,opts) を使用します。詳細については、d2dOptions を参照してください。

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

バージョン履歴

R2006a より前に導入

参考

| | | | (System Identification Toolbox)