ディジタル制御

ディジタル制御

伝達関数とパルス伝達関数の相互変換について

\(s\)平面から\(z\)平面への変換式は\begin{align}\label{S-T transform}z=e^{sT}\end{align}で与えられる.\(z\)平面上の点および\(s\)平面上の点を\begin{align}z...
MATLAB/simulink

MATLABを使って複素数を写像してみる

複素関数を使えば複素数を写像できる。ディジタル制御では\begin{align}z=e^{sT}\end{align}を使うので\(T=1\)として写像してみる例えば下のプログラムの例では虚軸が円に写される。x=0;y=-5:0.01:5;...
ディジタル制御

MATLABで離散化された伝達関数のH∞ノルムを求める

MATLABで離散化された伝達関数のH∞ノルムを求める。H∞ノルムは以前求めたベクトル軌跡のノルムの最大値\begin{align}P(e^{i \theta})= \sup_{\theta \in } \left | \frac{1}{1...
ディジタル制御

MATLABで離散化された伝達関数のナイキスト線図を描く

離散化された伝達関数のナイキスト線図を描く。離散化された伝達関数を\begin{align}P(z^{-1})=\frac{1}{1+2z^{-1}+3z^{-2}}\end{align}とするとベクトル軌跡は\(z=e^{i \theta...
ディジタル制御

PID制御器を後退差分で離散化する

PID制御器を後退差分で離散化する。後退差分は\begin{align}s=\frac{1-z^{-1}}{T}\end{align}で表されるのでPID制御器に適応すると操作量は\begin{align}C=K_P+K_I \frac{T...
MATLAB/simulink

MATLABで双一次変換を使った離散PID制御と連続PID制御の応答を確認する

双一次変換を使った離散PID制御と連続PID制御の応答を確認する。双一次変換は連続時間の伝達関数に対して\(s\)を\begin{align}s=\frac{2(z-1)}{T(z+1)}\end{align}に置き換えればいい。\(T\)...
ディジタル制御

双一次変換を使ってPID制御器の伝達関数を離散化する

PID制御器の伝達関数\begin{align}C(s)=K_P + \frac{K_ I}{s} + K_D s\end{align} を双一次変換で離散化する。\(s\)に \begin{align}s=\frac{2(1-z^{-1}...
ディジタル制御

双一次変換を使って二次遅れ系の伝達関数を離散化する

二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_n^2}{s^2+2 \zeta \omega_n s + \omega_n^2}\end{align} を双一次変換で離散化する。\(s\)に \begin...
MATLAB/simulink

MATLABを使って零次ホールドを試す

matlabを使って零次ホールドを試す。対象のシステムは\begin{align}G=\frac{s}{1+s}\end{align} 零次ホールドは\begin{align}H=\dfrac{1-e^{-sT}}{s}\end{align...
ディジタル制御

システムの離散化と零次ホールド

D/Aなどにより現在の出力が次の出力に移るまでの出力は一定値に保持されるのがふつうである。これを零次ホールドという。零次ホールドの伝達関数は\(u(t)-u(t-1)\)に対応するようにすればよいので\begin{align}G(s)= \...
ディジタル制御

双一次変換を使って一次遅れ系の伝達関数を離散化する

一次遅れ系の伝達関数\begin{align}G(s)=\frac{K}{Ts+1}\end{align} を双一次変換で離散化する。\(s\)に \begin{align}s=\frac{2(1-z^{-1})}{ T_{s} (1+z^...
ディジタル制御

「ディジタル制御理論入門 (システム制御情報ライブラリー)」を買ってみた

新しい本を買ってみた目次1. 序 論 1.1 ディジタル制御系の基本構造とインパルス列による表現 1.2 制御系設計における視点のとり方と注意事項2. z変換 2.1 数列およびインピルス列のz変換 2.2 連続時間信号をサンプリングして得...
MATLAB/simulink

極に着目した連続時間システムと離散時間システムの安定性判別

初めに連続時間システムの伝達関数の安定性を調べる。連続時間システムの伝達関数は\begin{align}P_1=\frac{ a_m s^m+a_{m-1} s^{m-1}+ \cdots + a_0}{ b_n s^n+b_{n-1} s...
MATLAB/simulink

離散化した伝達関数の応答をシミュレーションする

離散化した伝達関数の応答を調べる。今回はStep応答を調べた。今プラントを\(G(z^{-1})\)、入力を\(r(t)\)とすると出力は\begin{align}y(t)=G(z^{-1}) r(t-1)\end{align}コードs=t...
MATLAB/simulink

伝達関数の離散化と誤差

前回MATLABを使って伝達関数を離散時間モデルに変換した。前回の結果より\begin{align}G=\frac{10}{15s+1}\end{align}が\begin{align}\frac{0.6449}{z - 0.9355}\e...
ディジタル制御

MATLABを使って伝達関数を離散化する

MATLABを使えば伝達関数を簡単に離散時間モデルに変換することができる。たとえば\begin{align}G=\frac{10}{15s+1}\end{align}であれば\begin{align}\frac{0.6449}{z - 0....
MATLAB/simulink

離散系の積分器

古典制御の範囲では制御対象や制御器を表現する場合にはラプラス変換を用いて\(s\)の関数として表した。例えばPID制御の一部である積分器は\begin{align}K_{i} \int_{0}^{t} e(\tau) d \tau\end{...