連続/離散の変換方法
Control System Toolbox™ は、動的システム モデルを連続時間と離散時間の間で変換したり、離散時間モデルをリサンプリングしたりするために、複数の離散化および内挿の手法を提供しています。元のモデルと変換後のシステムの間で、周波数領域でよく一致する手法もあれば、時間領域でよく一致する手法もあります。以下の表は、使用するアプリケーションに最適な手法を選択するのに役立ちます。
離散化手法 | 使用条件 |
---|---|
ゼロ次ホールド | 階段型入力の時間領域で正確な離散化を行う場合。 |
1 次ホールド | 区分的線形入力の時間領域で正確な離散化を行う場合。 |
インパルス不変法のマッピング(連続から離散への変換のみ) | インパルス列入力の時間領域で正確な離散化を行う場合。 |
Tustin 近似 |
|
極-零点マッチング (相当) |
|
最小二乗法(連続から離散への変換のみ) |
|
変換方法をコマンド ラインで指定する方法については、c2d
、d2c
、d2d
を参照してください。ライブ エディターで モデル レートの変換 タスクを使用すると、異なる離散化手法を対話形式で試行することができます。
ゼロ次ホールド
ゼロ次ホールド (ZOH) メソッドは、階段型入力の時間領域で連続時間システムと離散時間システムを完全に一致させます。
次のブロック線図は、連続時間線形モデル H(s) のゼロ次ホールド離散化 Hd(z) を示します。
ZOH ブロックは、1 つのサンプル周期で各サンプル値 u(k) を固定し、連続時間入力信号 u(t) を生成します。
信号 u(t) は連続システム H(s) への入力です。出力 y[k] は Ts 秒間隔で y(t) をサンプリングした結果です。
一方、離散システム Hd(z) が与えられると、d2c
は連続システム H(s) を生成します。H(s) の ZOH 離散化は Hd(z) と一致します。
ZOH の離散化から連続への変換には次の制限があります。
d2c
は極が z = 0 のときに LTI モデルを変換できません。負の実極をもつ離散時間 LTI モデルでは、ZOH
d2c
変換で高次の連続システムを作成します。z 領域の負の実極が s 領域の純粋な虚数部にマッピングされるため、モデル次数が増えます。このマッピングの結果、複素数データをもつ連続時間モデルができます。この問題を避けるため、ソフトウェアでは s 領域に複素数極の共役対が導入されます。例は、離散時間システムの連続時間システムへの変換を参照してください。
むだ時間をもつシステムでの ZOH メソッド
ZOH メソッドを使用して、むだ時間を含む SISO または MIMO の連続時間モデルも離散化できます。ZOH メソッドでは、入力遅延、出力遅延または伝達遅延をもつシステムで正確な離散化が行われます。
内部遅延 (フィードバック ループに遅延がある) システムの場合、ZOH メソッドによって近似離散化を得ることができます。次の図は、内部遅延をもつシステムを示します。
このようなシステムでは、関数 c2d
は次に示すアクションを実行して、近似の ZOH 離散化を計算します。
遅延 τ を、 で として分解します。
非整数遅延 を H(s) に吸収します。
H(s) を H(z) に離散化します。
遅延 kTs の整数部を、内部離散むだ時間 z–k として表現します。最終的な離散化モデルは、次の図に示すように組み立てられます。
1 次ホールド
1 次ホールド (FOH) メソッドは、区分的線形入力の時間領域で連続時間システムと離散時間システムを完全に一致させます。
FOH と ZOH では、基になるホールド メカニズムが異なります。入力サンプル u[k] を連続入力 u(t) に変換するために、FOH ではサンプル間で線形内挿が次のように使用されます。
一般に、この手法は滑らかな入力によって駆動されるシステムでは ZOH よりも正確です。
この FOH 法は、標準の因果的な FOH と異なり、"三角形近似" と呼ぶほうが適切です ([2]、p. 228 を参照)。このメソッドは、ランプ不変近似とも呼ばれます。
むだ時間をもつシステムでの FOH メソッド
FOH メソッドを使用して、むだ時間を含む SISO または MIMO の連続時間モデルも離散化できます。FOH メソッドは ZOH メソッドと同じ方法でむだ時間を処理します。むだ時間をもつシステムでの ZOH メソッドを参照してください。
インパルス不変法のマッピング
インパルス不変法のマッピングでは、連続時間システムと同じインパルス応答をもつ離散時間モデルが生成されます。たとえば、1 次連続システムのインパルス応答をインパルス不変法の離散化と比較します。
G = tf(1,[1,1]);
Gd1 = c2d(G,0.01,'impulse');
impulse(G,Gd1)
インパルス応答プロットでは、連続システムと離散システムが一致するインパルス応答が示されます。
むだ時間をもつシステムでのインパルス不変法のマッピング
インパルス不変法のマッピングを使用して、むだ時間をもつ SISO または MIMO の連続時間モデルを離散化できます。ただし、このメソッドは内部遅延をもつ ss
モデルはサポートしていません。サポートされているモデルの場合、インパルス不変法のマッピングではむだ時間の正確な離散化結果がもたらされます。
Tustin 近似
Tustin または双一次近似は、連続時間システムと離散化システム間で最適な周波数領域の一致をもたらします。このメソッドは、近似を使用して、s-領域と z-領域の伝達関数を関連付けます。
c2d
変換で、連続時間の伝達関数 H(s) の離散化 Hd(z) は、次のようになります。
同様に、d2c
変換では逆の対応を使用します。
Tustin メソッドを使用して状態空間モデルを変換しても、状態は保持されません。状態変換は、状態空間行列、およびシステムにむだ時間があるかどうかによって異なります。たとえば、むだ時間のない陽的な (E = I) 連続時間モデルでは、離散化モデルの状態ベクトル w[k] が以下によって連続時間の状態ベクトル x(t) に関連付けられます。
Ts は離散時間モデルのサンプル時間です。A と B は連続時間モデルの状態空間行列です。
Tustin 近似は、z = –1 で極をもつシステムに対しては定義されません。そして、z = –1 近傍に極をもつシステムに対しては悪条件です。
周波数プリワーピングを含む Tustin 近似
システムの特定の周波数に重要なダイナミクスがあり、変換を保持する場合は、Tustin メソッドで周波数プリワーピングを使用できます。このメソッドを使用すると、連続時間応答と離散時間応答がプリワープ周波数で一致するようになります。
周波数プリワーピングを含む Tustin 近似は、次の変数変換を使用します。
変数の変更は、次の対応により、プリワープ周波数 ω で連続時間周波数応答と離散時間周波数応答が一致するようにします。
むだ時間をもつシステムでの Tustin 近似
Tustin 近似を使用して、むだ時間を含む SISO または MIMO の連続時間モデルも離散化できます。
既定では、Tustin メソッドは、値の最も近いサンプル時間の倍数へとむだ時間を丸めます。このため、むだ時間 tau
では、遅延の整数部 k*Ts
は離散化モデルの k
サンプリング周期の遅延にマップします。この方法は、残りの非整数遅延 tau
-
k*Ts
を無視します。
指定次数の離散オールパス フィルター (Thiran フィルター) を使用して、遅延の非整数部分を近似することができます。これを行うには、c2dOptions
の ThiranOrder
オプションを使用します。例は、むだ時間をもつ離散化システムの精度の向上を参照してください。
Tustin メソッドがむだ時間をもつシステムをどのように扱うかを理解するために、次の SISO 状態空間モデル G(s) を考えてみましょう。このモデルは、入力遅延 τi、出力遅延, τo、および内部遅延 τ をもっています。
次の図は、Tustin メソッドを使用して G(s) を離散化した一般的な結果を示しています。
既定では、c2d
はむだ時間を純粋な整数のむだ時間に変換します。c2d
コマンドは、サンプル時間 Ts の最も近い整数倍にむだ時間を丸めて、整数の遅延を計算します。このため、既定の設定では、mi = round(τi/Ts), mo = round
(τo/Ts), and m = round
(τ/Ts). となります。またこの場合、Fi(z) = Fo(z) = F(z) = 1 になります。
ThiranOrder
を非ゼロの値に設定した場合は、c2d
は、Thiran フィルター Fi(z)、Fo(z)、および F(z) によってむだ時間の非整数部分を近似します。
Thiran フィルターは、追加の状態をモデルに追加します。各遅延で追加できる状態の最大数は ThiranOrder
です。
たとえば、入力遅延 τi の場合、Thiran フィルター Fi(z) の次数は次のようになります。
order
(Fi(z)) = max
(ceil
(τi/Ts), ThiranOrder
)
ceil
(τi/Ts) < ThiranOrder
の場合、Thiran フィルター Fi(z) は入力遅延 τi 全体を近似します。ceil
(τi/Ts) > ThiranOrder
の場合、Thiran フィルターは入力遅延の一部分を近似するだけです。この場合は、c2d
は、入力遅延の残りの部分を一連の単位遅延 z–mi として表現します。ここで、
mi = ceil
(τi/Ts) – ThiranOrder
c2d
は、Thiran フィルターと ThiranOrder
を同様の方法で使用して、出力遅延 τo と内部遅延 τ を近似します。
Tustin メソッドを使用して、tf
モデルと zpk
モデルを離散化するときに、c2d
はまず、すべての入力、出力、伝達遅延を、チャネルごとに 1 つの伝達遅延 τTOT にまとめます。その後、c2d
は ss
モデルでむだ時間ごとに説明したのと同じ方法で、τTOT を Thiran フィルターと一連の単位遅延として近似します。
極-零点マッチング (相当)
極-零点マッチング相当を計算するこの変換方法は、SISO システムのみに適用されます。連続システムと離散化システムには一致する DC ゲインがあります。極と零点は次の変換に関連しています。
ここで、
zi は離散時間システムの i 番目の極または零点です。
si は連続時間システムの i 番目の極または零点です。
Ts はサンプル時間です。
詳細は、[2] を参照してください。
むだ時間をもつシステムでの極-零点マッチング
極-零点マッチングを使用して、むだ時間をもつ SISO の連続時間モデルを離散化できます。ただし、このメソッドは内部遅延をもつ ss
モデルはサポートしていません。極-零点マッチング法は、Tustin 近似と同じ方法でむだ時間を処理します。むだ時間をもつシステムでの Tustin 近似を参照してください。
最小二乗法
最小二乗法は、ベクトル近似の最適化手法を使用して、連続時間システムと離散時間システムのナイキスト周波数までの周波数応答間の誤差を最小化します。この方法は、高速システムのダイナミクスを捉える際に役立ちますが、たとえば演算リソースが限られている場合などは、サンプル時間を大きくしなければなりません。
この方法は SISO システムのみを対象として関数 c2d
のみでサポートされます。
Tustin 近似や極-零点マッチングの場合と同様に、最小二乗法では元の連続時間システムと変換後の離散時間システムの周波数応答の間で良好な一致を得ることができます。ただし、最小二乗法の使用時は以下に注意してください。
Tustin 近似や極-零点マッチングと同じサンプル時間では、連続時間と離散時間の周波数応答間の相違が小さくなります。
Tustin 近似や極-零点マッチングで使用するよりも短いサンプル時間でも、要件を満たす結果を得ることができます。その場合、低速のサンプル時間ではプロセッサの処理負荷が小さくなるので、演算リソースが限られている場合に有用です。
参照
[1] Åström, K.J. and B. Wittenmark, Computer-Controlled Systems: Theory and Design, Prentice-Hall, 1990, pp. 48-52.
[2] Franklin, G.F., Powell, D.J., and Workman, M.L., Digital Control of Dynamic Systems (3rd Edition), Prentice Hall, 1997.
[3] Smith, J.O. III, "Impulse Invariant Method", Physical Audio Signal Processing, August 2007. https://www.dsprelated.com/dspbooks/pasp/Impulse_Invariant_Method.html.
[4] T. Laakso, V. Valimaki, "Splitting the Unit Delay", IEEE Signal Processing Magazine, Vol. 13, No. 1, p.30-60, 1996.
参考
関数
c2d
|d2c
|c2dOptions
|d2cOptions
|d2d
|d2dOptions
|thiran