From e51eba8b47faae8dd35b0b7695e61cf9fb11229b Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 16 Aug 2021 09:46:07 +0200 Subject: Start something I won't ever make it in time but whatever --- tex/state-space.tex | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 tex/state-space.tex (limited to 'tex/state-space.tex') diff --git a/tex/state-space.tex b/tex/state-space.tex new file mode 100644 index 0000000..e0f7960 --- /dev/null +++ b/tex/state-space.tex @@ -0,0 +1,79 @@ +\section{State space representation} + +\begin{figure} + \centering + \resizebox{\linewidth}{!}{ + \input{tex/tikz/mimo} + } + \caption{A LTI MIMO system.} +\end{figure} + +A system described by a system of linear differential equations of \(n\)-th order, can be equivalently be described by \(n\) first order differential equations. Which can be compactly written in matrix form as +\begin{align*} + \dot{\vec{x}} &= \mx{A}\vec{x} + \mx{B}\vec{u} \\ + \vec{y} &= \mx{C}\vec{x} + \mx{D}\vec{u}. +\end{align*} +If the system is time \emph{variant} the matrices are functions of time. + +\begin{table} + \begin{tabular}{ >{\(}c<{\)} >{\(}c<{\)} l } + \toprule + \text{\bfseries Symbol} & \text{\bfseries Size} & \bfseries Name \\ + \midrule + \vec{x} & n & State vector \\ + \vec{u} & m & Output vector \\ + \vec{y} & k & Output vector \\ + \midrule + \mx{A} & n\times n & System matrix \\ + \mx{B} & m\times n & Input matrix \\ + \mx{C} & n\times k & Output matrix \\ + \mx{D} & k\times m & Feed forward matrix \\ + \bottomrule + \end{tabular} + \caption{Matrices for a state space representation} +\end{table} + +\subsection{Canonical representations} + +\subsubsection{Controllable form} + +\subsubsection{Observable form} + +\subsubsection{Diagonalized or Jordan form} + +The Jordan form diagonalizes the \(\mx{A}\) matrix. Thus we need to solve the eigenvalue problem \((\mx{A} - \lambda\mx{I})\vec{x} = \vec{0}\), which can be done by setting \(\det(\mx{A} -\lambda\mx{I}) = 0\), and solving the characteristic polynomial. The eigenvectors are obtained by plugging the \(\lambda\) values back into \((\mx{A} - \lambda\mx{I})\vec{x} = \vec{0}\), and solving an overdetermined system of equations. + +The transformation to the eigenbasis \(\mx{T}\), obtained by using the eigenvector as columns of a matrix \(\mx{T} = \begin{bmatrix} \vec{v}_1 & \cdots & \vec{v}_n \end{bmatrix}\), is then used to compute +\begin{align*} + \mx{\hat{A}} & = \mx{T}\mx{A}\mx{T^{-1}} & + \mx{\hat{B}} & = \mx{T}\mx{B} \\ + \mx{\hat{C}} & = \mx{C}\mx{T^{-1}} & + \mx{\hat{D}} & = \mx{D}. +\end{align*} + +In this form the system is described with \(n\) decoupled states \(\xi_i\) with the equations \(\dot{\vec{\xi}} = \mx{\hat{A}}\vec{\xi} + \mx{\hat{B}}\vec{u}\) and \(\vec{y} = \mx{\hat{C}}\vec{\xi} + \mx{\hat{D}} \vec{u}\). + +\subsection{Stability} +If \emph{all} eigenvalues \(\lambda\) are not zero and have a positive real part the system is asymptotically \emph{stable}. If \emph{all} eigenvalues are not zero but \emph{at least one} has a negative real part the system is \emph{unstable}. If even one eigenvalue is zero, no conclusion can be drawn. + +\subsection{Controllability} +The state controllability condition implies that it is possible --- by admissible inputs --- to steer the states from any initial value to any final value within some finite time window. A LTI state space model is controllable iff the matrix +\[ + \mx{Q} = \begin{bmatrix} + \mx{B} & \mx{A}\mx{B} & \mx{A}^2\mx{B} \cdots \mx{A}^{n-1}\mx{B} + \end{bmatrix} +\] +has \(\rank\mx{Q} = n\). Or equivalently for a SISO system, if all components of the vector \(\mx{\hat{C}}_{i} \neq 0\). + +\subsection{Observability} +Observability is a measure for how well internal states of a system can be inferred by knowledge of its external outputs. A LTI state space mode is observable iff the matrix +\[ + \mx{Q}^t = \begin{bmatrix} + \mx{C} & \mx{C}\mx{A} & \cdots & \mx{C}\mx{A}^{n-1} + \end{bmatrix} +\] +has \(\rank\mx{Q} = n\). + + +\subsection{Solutions in time domain} +\subsection{Solutions in frequency domain} -- cgit v1.2.1