next up previous
Next: 部分分数分解法(Diagonal Form) Up: 状態変数 Previous: 直接法(Direct Programming)

Nested Programming

(4.12)式を書き換えて
$\displaystyle Y(Z) - c_0U(Z)$ $\textstyle =$ $\displaystyle \frac{(c_0+c_1Z^{-1}+\cdots
+c_nZ^{-n})}{1+a_1Z^{-1}+\cdots +a_n^Z{-n}}U(Z)$  
  $\textstyle =$ $\displaystyle \frac{\{(c_1-c_0a_1)Z^{-1}+(c_2-c_0a_2)^Z{-2}+\cdots
+(c_n-c_0a_n)^Z{-n}\}}{1+a_1Z^{-1}+\cdots +a_nZ^{-n}}U(Z)$  
  $\textstyle \equiv$ $\displaystyle X_1(Z)$ (4.25)

とすると
$\displaystyle \{(c_1-c_0a_1)Z^{-1}+(c_2-c_0a_2)Z^{-2}+\cdots +(c_n-c_0a_n)Z^{-n}\}U(Z)$      
$\displaystyle = \{1+a_1Z^{-1}+\cdots +a_nZ^{-n}\}X_1(Z)$     (4.26)

となるから
$\displaystyle X_1(Z)$ $\textstyle =$ $\displaystyle \{-a_1Z^{-1}-a_2Z^{-2}-\cdots -a_nZ^{-n}\}X_1(Z)$  
    $\displaystyle +\{(c_1-c_0a_1)Z^{-1}+(c_2-c_0a_2)Z^{-2}
+\cdots +(c_n-c_0a_n)Z^{-n}\}U(Z)$  
  $\textstyle =$ $\displaystyle \{-a_1X_1(Z)+(c_1-c_0a_1)U(Z)\}Z^{-1}
+\{-a_2X_1(Z)+(c_2-c_0a_2)U(Z)\}Z^{-2}$  
    $\displaystyle +\cdots +\{-a_nX_1(Z)+(c_n-c_0a_n)U(Z)\}Z^{-n}$ (4.27)

と書き換え、両辺に$Z$を掛けて
$\displaystyle ZX_1(Z)$ $\textstyle =$ $\displaystyle \{-a_1X_1(Z)+(c_1-c_0a_1)U(Z)\}+\{-a_2X_1(Z)+(c_2-c_0a_2)U(Z)\}Z^{-1}$  
    $\displaystyle +\cdots +\{-a_nX_1(Z)+(c_n-c_0a_n)U(Z)\}Z^{-n+1}$  
  $\textstyle \equiv$ $\displaystyle \{-a_1X_1+(c_1-c_0a_1)U(Z)\}+X_2(Z)$ (4.28)

とおく。(4.28)式を逆$Z$変換すると次式が得られる。
\begin{displaymath}
x_1(k+1) = -a_1x_1(k)+x_2(k)+(c_1-c_0a_1)u(k)
\end{displaymath} (4.29)

次に$X_2(Z)$$Z$を掛けると、
$\displaystyle ZX_2(Z)$ $\textstyle =$ $\displaystyle -a_2X_1(Z)+(c_2-c_0a_2)U(Z)+\{-a_3X_1(Z)+(c_3-c_0a_3)U(Z)\}Z^{-1}$  
    $\displaystyle +\cdots +\{-a_nX_1(Z)+(c_n-c_0a_n)U(Z)\}Z^{-n+2}$  
  $\textstyle \equiv$ $\displaystyle -a_2X_1(Z)+(c_2-c_0a_2)U(Z)+X_3(Z)$ (4.30)

となり、これを逆$Z$変換すると次式が得られる。
\begin{displaymath}
x_2(k+1) = -a_2x_1(k)+x_3(k)+(c_2-c_0a_2)u(k)
\end{displaymath} (4.31)

以下同様にして
\begin{displaymath}
\left\{
\begin{array}{ll}
x_{n-1}(k+1) = -a_{n-1}x_1(k)+x...
...
x_n(k+1) = -a_nx_1(k)+(c_n-c_0a_n)u(k)
\end{array} \right.
\end{displaymath} (4.32)

となるので、一般的に状態方程式としては
\begin{displaymath}
\left[
\begin{array}{c}
x_1(k+1) \\
x_2(k+1) \\
\vdot...
...
c_{n-1}-a_{n-1}c_0 \\
c_n-a_nc_0
\end{array} \right]u(k)
\end{displaymath} (4.33)


\begin{displaymath}
y(k) =
\left[
\matrix{1 & 0 & \cdots & 0}
\right]
\left...
...x_2(k) \\
\vdots \\
x_n(k)
\end{array} \right] + c_0u(k)
\end{displaymath} (4.34)

がNested Programmingである。これをブロック線図に描くと図4.5となる。
図 4.5:
\begin{figure}\begin{center}
\psbox[scale=0.60]{eps/4-2-3.eps} \end{center} \end{figure}

[例] ${\displaystyle \frac{1+2Z^{-1}+Z^{-2}}{1+5Z^{-1}+6Z^{-2}}}$ をNested Programmingで表示する。

この場合

\begin{displaymath}
\begin{array}{ccc}
a_0 = 1 & a_1 = 5 & a_2 = 6 \\
c_0 = 1 & c_1 = 2 & c_2 = 1
\end{array}\end{displaymath}

であるから

\begin{eqnarray*}
c_1-a_1c_0 & = & -3 \\
c_2-a_2c_0 & = & -5
\end{eqnarray*}

したがって状態方程式は次のようになる。

\begin{displaymath}
\left[ \begin{array}{c}
x_1(k+1) \\
x_2(k+1)
\end{array}...
...
\left[ \begin{array}{c}
-3 \\
-5
\end{array} \right]u(k)
\end{displaymath}


\begin{displaymath}
y(k) = \left[ \begin{array}{cc}
1 & 0
\end{array} \right]...
...gin{array}{c}
x_1(k) \\
x_2(k)
\end{array} \right] + u(k)
\end{displaymath}

またブロック線図は図4.6のようになる。
図 4.6:
\begin{figure}\begin{center}
\psbox[scale=0.60]{eps/4-2-4.eps} \end{center} \end{figure}


next up previous
Next: 部分分数分解法(Diagonal Form) Up: 状態変数 Previous: 直接法(Direct Programming)
Yasunari SHIDAMA
平成15年6月30日