Select Git revision
7_Tustin-Diskretisierung.tex

Jan Falkenhain authored
7_Tustin-Diskretisierung.tex 9.46 KiB
\subsection{Tustin-Approximation / Trapez-Regel
\label{sec:Tustin-Approximation}}
\textbf{Integrationsmethode.} Die Tustin-Approximation kann mit der Integration nach der Trapez-Regel identifiziert werden. Betrachtet man die bisherigen Integrationsansätze, drängt sich ein verbesserter Ansatz für die Flächenberechnung zwischen zwei Zeitpunkten mit Hilfe der Trapez-Regel auf. Dazu wird aus dem Wert $I(kT)$ rekursiv der nächste Wert wie folgt berechnet:
\begin{minipage}[c]{0.49\linewidth}
\begin{align*}
I((k+1)T)=T \frac{x((k+1)T)+x(kT)}{2} + I(kT)
\end{align*}
\end{minipage}
\begin{minipage}[c]{0.49\linewidth}
\begin{center}
\begin{tikzpicture}%[domain=0:4]
%\draw[very thin,color=gray] (-0.1,-1.1) grid (6,1.0);
%\draw[-] (-0.1, 1) node[left] {1} -- (0.1,1);
%\draw[-] (-0.1, 2) node[left] {2} -- (0.1,2);
%\draw[-] (-0.1, 3) node[left] {3} -- (0.1,3);
\draw[-] (1, -0.1) node[below ] {$kT$} -- (1,0.75);
%\draw[-] (2, -0.1) node[below] {2} -- (2,0.1);
%\draw[-] (3, -0.1) node[below] {3} -- (3,0.1);
\draw[-] (4, -0.1) node[below] {(k+1)T} -- (4,3);
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$t$};
\draw[->] (0,-1.2) -- (0,3.2) node[above right] {$x(t)$};
\draw[color=blue, samples=150, domain=0.3:4.5] plot (\x,{-1-0.25*\x^2 + 2*\x}) %node[right] {$f(x) = \sin (2\pi x)$}
;
\draw[dashed] (1, 0.75) node[left] {$x_k$} -- (4,3) node[left] {$x_{k+1}~~~$};
%\draw[color=blue, samples=150, domain=3:4] plot (\x,{sqrt(\x )}) %node[right] {$f(x) = \sin (2\pi x)$}
%;
\end{tikzpicture}
\end{center}
\end{minipage}
Gehen wir auf die E/A-Namensgebung zurück und verwenden diskrete Indizes, also für den Integrator
\begin{align*}
y(k+1)&=T \frac{u(k+1)+u(k)}{2} + y(k)\\
&\laplace\\
zY(z)&=Y(z)+ \frac{T}{2} (zU(z)+U(z))\\
\end{align*}
dann erhalten wir aus der Differenzengleichung auch die Übertragungsfunktion für den Akkumulator.
\begin{align*}
\frac{Y(z)}{U(z)}= \frac{T}{2} \frac{z+1}{z-1} =G_A(z)
\end{align*}
\begin{tikzpicture}[node distance=2.5cm,auto,>=latex', scale=3]
\node [int] (a) {$\text{A}_\text{Tustin}$}; %\node [int, pin={[init]above:$v_0$}] (a) {$\int$};
\node (b) [left of=a,node distance=2cm, coordinate] {a};
\node (c) [right of=a] {$$}; %\node [int, pin={[init]above:$p_0$}] (c) [right of=a] {$\int$};
\node (d) [right of=c] {$$};
\node (e) [right of=d] {$y(k)=T \frac{u(k)+u(k-1)}{2} + y(k-1)$};
\node [coordinate] (end) [right of=c, node distance=2cm]{};
\path[->] (b) edge node {$u(k)$} (a);
\path[->] (a) edge node {$y(k)$} (c);
\end{tikzpicture}
Es gilt die Entsprechung
\begin{align}\label{eq:sTustin}
s\equiv \frac{2}{T} \frac{z-1}{z+1}~~~\text{bzw.}~~~z\equiv \frac{2/T +s}{2/T-s} = \frac{1+s\cdot T/2}{1-s\cdot T/2} ~~.
\end{align}
\textbf{Reihenentwicklung}. Aus einer anderen Perspektive hängen s-Ebene und z-Ebene wie folgt zusammen
\begin{align*}
z = e^{sT} \Leftrightarrow s=\frac{1}{T} \ln(z)~~,
\end{align*}
wie bei der Einführung der z-Transformation erfolgt.
Setzt man jedoch den Ausdruck für $s$ so in eine Übertragungsfunktion ein, erhält man keinen Term, der eine lineare z-Übertragungsfunktion darstellt. Laut \cite{unbehauen2000RT2} kann der natürliche Logarithmus in eine Reihe entwickelt werden. Die spezielle Darstellung lässt sich aus der bekannten Taylor-Reihe des natürlichen Logarithmus herleiten, was in Anhang \ref{anh:Logarithmus} verschoben wurde.
\begin{align*}
s &= \frac{2}{T}\left(\frac{z-1}{z+1} + \frac{1}{3} (\frac{z-1}{z+1})^3 + \frac{1}{5}(\frac{z-1}{z+1})^5\hdots \right) \\
&\approx \frac{2}{T}\frac{z-1}{z+1}
\end{align*}
Durch Abbruch nach dem ersten Summanden entsteht der bekannte Zusammenhang \eqref{eq:sTustin}.
Unter dem Begriff der Padé-Approximation wird eine Reihenentwicklung in gebrochen rationalen Funktionen durchgeführt. Dies kann auch auf die e-Funktion angewendet werden und man erhält durch Beschränkung auf eine Approximation erster Ordnung den Zusammenhang \eqref{eq:sTustin} ebenfalls.
\textbf{Differenziation.} Die beiden Euler-Methoden aus Kap. \ref{sec:Euler-Diskretisierung} wurden dardurch motiviert, dass der Differzenquotient die Ableitung genau an den Abtastzeitpunkten approximiert. Versuchen wir stattdessen die Approximation genau zwischen zwei Abtastzeitpunkten also für die Ableitung
\begin{align*}
\dot x_k((k-\frac{1}{2}) T) \approx \frac{x(k)-x(k-1)}{T}
\end{align*}
anzunähern, wo auch der Signalwert
\begin{align*}
x_k((k-\frac{1}{2}) T) \approx \frac{x(k)+x(k-1)}{2}
\end{align*}
approximiert wird, dann gilt für den den Differenziator $y=\dot u$ die Diskretisierung
\begin{align*}
\frac{y(k)+y(k-1)}{2} = \frac{u(k)-u(k-1)}{T}
\end{align*}
Der kausale Differenzierer ist also durch
\begin{align*}
y(k)=\frac{2}{T}(x(k)-x(k-1))-y(k-1);~~G_D(z) = \frac{2}{T} \frac{z-1}{z+1}
\end{align*}
gegeben.
\textbf{Pol-/Nullstellenverschiebung}
Anhand der Pol-/Nullstellenform betrachtet, wird deutlich, dass die Nullstellen genauso abgebildet werden, wie die Pole. Zusätzlich erhält man $n-q>0$ Nullstellen bei $z_{i0} = -1$
\[
G(s) =\frac{\Pi_{i=1}^q (s-s_{0i})}{\Pi_{i=1}^n (s-s_i)}\leftrightarrow
\frac{\Pi_{i=1}^q (\frac{2}{T}\frac{z-1}{z+1}-s_{0i})}{\Pi_{i=1}^n (\frac{2}{T}\frac{z-1}{z+1}-s_i)}
=\frac{\Pi_{i=1}^q (z- \frac{2/T+S_{i0}}{2/T-s_{i0}})\cdot (1-\frac{T}{2}s_{i0})}{\Pi_{i=1}^n (z - \frac{2/T+S_{i}}{2/T-s_{i}})\cdot (1-\frac{T}{2}s_{i})}\cdot (\frac{T}{2} (z+1))^{n-q}~~.
\]
\textbf{Zustandsraummodell.} In \cite{WolframVogt} wird das ZRM im z-Bereich aus der kontinuierlichen Zustandsgleichung im Frequenzbereich
\begin{align*}
s{\jv X}(s) &= \jv A_k \jv X(s) + \jv B_k \jv U(s) ~~\overbrace{\rightarrow}^{\text{Tustin}}~~ \frac{2}{T} \frac{z-1}{z+1}{\jv X}(z) = \jv A_k \jv X(z) + \jv B_k \jv U(z)
\end{align*}
über den Ansatz \eqref{eq:sTustin} hergeleitet. Da ZRM-Darstellungen nicht eindeutig sind, werden dort mehrere Formen für den Spezialfall $\jv D= \jv 0, \jv C=\jv I$ berechnet. Im allgemeinen Fall gilt
\begin{align*}
\frac{z-1}{z+1}{\jv X}(z) &= \underbrace{\frac{T}{2}\jv A_k}_{\tilde{\jv A}} \jv X(z) + \underbrace{\frac{T}{2}\jv B_k}_{\tilde{\jv B}} \jv U(z)\\
(\jv I-\tilde{\jv A})z \jv X(z) &= (\jv I+\tilde{\jv A})\jv X(z) + \tilde{\jv B} (z+1) \jv U(z)\\
z \jv X(z) &= \underbrace{(\jv I-\tilde{\jv A})^{-1}(\jv I+\tilde{\jv A})}_{\jv A_d}\jv X(z) + (\jv I-\tilde{\jv A})^{-1}\tilde{\jv B} (z+1) \jv U(z)\\
\Laplace\\
\jv x_{k+1} &= \jv A_d \jv x_k + (\jv I-\tilde{\jv A})^{-1}{\tilde{\jv B}} (\jv u_{k+1} + \jv u_k)
\end{align*}
Um auf ZRM-Form zu kommen, folgen wir dem Ansatz x.y, welcher hier einer Zustandstransformation
y.z
entspricht und erhalten
%\boxed{
\begin{empheq}[box=\fbox]{align*}
%\boxed{
\jv A_d &=(\jv I-\tilde{\jv A})^{-1}(\jv I+\tilde{\jv A}) ~~&~~ \jv B_d &= ((\jv I-\tilde{\jv A})^{-1}(\jv I+\tilde{\jv A}) +\jv I)(\jv I-\tilde{\jv A})^{-1} \tilde{\jv B} \\
%&&= (e{\jv A_k T}-\jv I){\jv A_k}^{-1}\jv B_k\\^
\jv C_d &=\jv C_k ~~&~~ \jv D_d &= \jv C_k(I-A)^{-1} \jv B
%}
\end{empheq}
%}
Diese Darstellung wird scheinbar nicht im MATLAB\texttrademark-Algorithmus verwendet, da sich jenseits der Systemmatrix unterschiedliche Transformationsergebnisse ergeben. Im Skript Link x.y wird aber gezeigt, dass die Systeme identisch sind.
%\begin{eqnarray}
% P_\text{Welle} &=& 2 \pi M n \label{eq:drehmoment-1} \\
% \Leftrightarrow\quad M &=& \frac{P_\text{Welle}}{ 2 \pi n} \label{eq:drehmoment-2}
%\end{eqnarray}
%\subsection{Compilieren%
% \label{sec:Compilieren}}
%
%\begin{figure}[H]
% \begin{center}
% \includegraphics[width=0.3\textwidth]{bilder/roll_pitch_yaw}
% % Einbinden einer Pixelgrafik.
% % Die Endung „.png“ darf weggelassen werden.
% \caption{Ein Beispielbild mit Quellenangabe \citep{yawpitchroll2013}%
% \label{fig:roll_pitch_yaw}}
% \end{center}
%\end{figure}
%
%\begin{minipage}[b]{7cm}
% \centering
% \includegraphics[width=7cm]{bilder/quadrocopter}
% \captionof{figure}{Quadrocopter \newline
% % kein \\ innerhalb von \caption oder \captionof
% % \newline
% \citep{bild_quad}%
% \label{fig:quadrocopter}}
%\end{minipage}\hfill
%\begin{minipage}[b]{7cm}
% \centering
% \includegraphics[width=7cm]{bilder/ka32S}
% \captionof{figure}{Koaxialhelicopter \newline
% \citep[S. 101]{hubschrauber1997}%
% \label{fig:ka32S}}
%\end{minipage}
%\begin{table}[H]
% \caption{Masse des anzuhebenden Trägers%
% \label{table:massen}}
% \medskip
% \begin{center}
% \begin{tabular}{l|r}
% %
% % Die Leerzeichen im Quelltext haben keinen Einfluß auf die
% % Anordnung innerhalb der Tabelle. Diese wird durch die o.a.
% % Angabe „{l|r}“ gesteuert: linksbündiges Feld, senkrechter
% % Strich, rechtsbündiges Feld.
% %
% Bauteil & Masse[g] \\
% \hline
% Trägerrohr & 35 \\
% Linearlager & 7 \\
% Lagerblock Linearlager & 5 \\
% Kabel und Schrauben & 20 \\
% Motoren & 50 \\
% Propeller & 10 \\
% Propeller Eingriffschutz & 80 \\
% Holzplatte & 14 \\
% Drehzahlsensoren & 5 \\
% \hline
% Gesamtmasse & 226 \\
% % @@@ PG: Stimmt nicht: Die Summe der Zahlen ist 194!
% \end{tabular}
% \end{center}
%\end{table}
%
%\glqq{}{Boris ermöglicht die blockorientierte Simulation
% dynamischer Systeme nahezu beliebiger Art}\grqq{}
% \citep[S. 25]{boris2009}.