diff --git a/1_Einleitung.tex b/1_Einleitung.tex index 8977ac8d6142f4c79178808bcb3f540475c8ca15..65b9f435dd1cdc6ed1e1a693f22a9eccdba12a94 100644 --- a/1_Einleitung.tex +++ b/1_Einleitung.tex @@ -10,9 +10,9 @@ Diskrete Systeme werden im Rahmen der digitalen Signalverarbeitung und der Regel Der Verdacht liegt nahe, dass man in beiden Fällen anstrebt, das kontinuierliche System \textit{möglichst gut} zu approximieren. Allerdings gilt für den zweiten Fall der Streckendiskretisierung, dass man aus Sicht des zu entwerfenden Reglers tatsächlich das Verhalten des kontinuierliche Modells in Reihe geschaltet mit einem Halteglied erster Ordnung (ZOH, Zero-Order-Hold) nachbilden will. Das resultierende System heißt Abtastsystem, worauf in Kapitel 3 eingegangen wird. Man erhält es durch ZOH-Diskretisierung \ref{sec:ZOH-Diskretisierung} der kontinuierlichen Strecke. Das so erzeugte diskrete System liefert Werte am Ausgang, welche exakt auf der kontinuierlichen Antwort des Streckenmodells liegen, wenn dieses durch ein Halteglied erster Ordnung (ZOH) erzeugte, mit der Periode der Abtastzeit stufenförmige Eingangssignale erhält. Diese Forderung der Exaktheit aus Perspektive des Regler unterscheidet sich fundamental von der Aufgabe, den Regler möglichst gut zu approximieren. Dazu werden in der Praxis die Tustin-Diskretisierung \ref{sec:Tustin-Approximation} oder FOH-Diskretisierung \ref{sec:FOH-Diskretisierung} verwendet, welche auf "`schnellere"' diskrete Systeme führen. -In der digitalen Signalverarbeitung approximiert man kontinuierliche Filter u. a. aus den selben Motiven wie in der Regelungstechnik. Die klassischen Entwurfsverfahren im kontinuierlichen können so eingesetzt werden, bevor zum Schluss die Transformation erfolgt. Andererseits wurden in beiden Disziplinen Methoden für den direkten Systementwurf diskreter Systeme aus dafür formulierten Anforderungen entwickelt. Die Approximation kontinuierlicher Systeme zielt typischerweise je nach Anwendung auf unterschiedliche Eigenschaften, wie den Frequenzgang oder die Impulsantwort bei der Impuls-Diskretisierung \ref{} ab. Auch der Matched-Filter Ansatz \ref{}, welche Pole und Nullstellen des diskreten Systems gezielt setzt, spielt in der digitalen Signalverarbeitung eine größere Rolle. +In der digitalen Signalverarbeitung approximiert man kontinuierliche Filter u. a. aus den selben Motiven wie in der Regelungstechnik. Die klassischen Entwurfsverfahren im kontinuierlichen können so eingesetzt werden, bevor zum Schluss die Transformation erfolgt. Andererseits wurden in beiden Disziplinen Methoden für den direkten Systementwurf diskreter Systeme aus dafür formulierten Anforderungen entwickelt. Die Approximation kontinuierlicher Systeme zielt typischerweise je nach Anwendung auf unterschiedliche Eigenschaften, wie den Frequenzgang oder die Impulsantwort bei der Impuls-Diskretisierung \ref{sec:Impulse-Diskretisierung} ab. Auch der Matched-Filter Ansatz \ref{sec:Matched-Filter}, welche Pole und Nullstellen des diskreten Systems gezielt setzt, spielt in der digitalen Signalverarbeitung eine größere Rolle. -Weitere Motive zur Ermittlung diskreter Systeme können in der Analyse, Simulation, oder modellbasierten Diagnose technischer Systeme liege. Di Ermittlung eines Modells aus Messungen an einem realen System wird als Identifikation bezeichnet. Ein diskretes Modell ist oft der einfachere Weg, so dass bei Bedarf in einem zweiten Schritt in ein kontinuierliches Modell transformiert werden kann. Besonders einfach sind die Ansätze der Euler-Diskretisierung \ref{sec:Euler-Diskretisierung} welche schnell auch auf nicht-lineare Modelle angewendet werden können. Nach Rekapitulation einiger wichtige Begriffe der Systemtheorie im Grundlagenkapitel \ref{} sollen in Kapitel \ref{2} alle genannten Ansätze kurz, aber auch aus verschiedenen Blickwinkeln betrachtet werden, um einen systematischen Überblick zu ermöglichen. +Weitere Motive zur Ermittlung diskreter Systeme können in der Analyse, Simulation, oder modellbasierten Diagnose technischer Systeme liege. Di Ermittlung eines Modells aus Messungen an einem realen System wird als Identifikation bezeichnet. Ein diskretes Modell ist oft der einfachere Weg, so dass bei Bedarf in einem zweiten Schritt in ein kontinuierliches Modell transformiert werden kann. Besonders einfach sind die Ansätze der Euler-Diskretisierung \ref{sec:Euler-Diskretisierung} welche schnell auch auf nicht-lineare Modelle angewendet werden können. Nach Rekapitulation einiger wichtige Begriffe der Systemtheorie im Grundlagenkapitel \ref{sec:Grundlagen} sollen in Kapitel \ref{sec:Diskretisierungsmethoden} alle genannten Ansätze auch aus verschiedenen Blickwinkeln betrachtet werden, um einen systematischen Überblick zu ermöglichen. \begin{landscape} @@ -21,16 +21,16 @@ Weitere Motive zur Ermittlung diskreter Systeme können in der Analyse, Simulati \label{table:massen}} %\medskip \begin{center} - \begin{tabular}{l|c|c|c|c|c} - Verfahren & $s\mapsto z$ ? & Differenziator&Integrator& Zeitfunktion& Pol-Trafo\\ + \begin{tabular}{l|c|c|c|c|c|c|r} + Verfahren & $s\mapsto z$ ? & $s$-Mapping &Integrator & Zeitfunktion & Pol-Mapping & Nullstellen &$K_s$\\ \hline - Forward-Euler & Ja & $(z-1)/T$&$T\frac{1}{z-1}$ & &$z_i =s_iT + 1$\\ - Backward-Euler & Ja & $\frac{z-1}{zT}$&$\frac{Tz}{z-1}$ & &$z_i = \frac{1}{1-s_iT}$\\ - ZOH & Nein & & & h(kT)=h(t)&$z_i=e^{s_i T}$ \\ - FOH & Nein &- & & &$z_i=e^{s_i T}$\\ - Impuls & Nein &&$\frac{z}{z-1}$ &g(kT)=g(t)&$z_i=e^{s_i T}$\\ - Tustin & Ja && $\frac{T}{2} \frac{z+1}{z-1}$ & -&\\ - Mathched Filter & Nein & -&-& &$z_i=e^{s_i T}$ \\ + Forward-Euler & Ja & $s\equiv (z-1)/T$ &$T\frac{1}{z-1}$ & - &$z_i =s_iT + 1$ &$z_{i0} =s_{i0}T + 1$& $=G_k(0)$\\ + Backward-Euler & Ja & $s\equiv \frac{z-1}{zT}$ &$\frac{Tz}{z-1}$ & - &$z_i = \frac{1}{1-s_iT}$ &$z_i = \frac{1}{1-s_iT} +(m-n)$ Nullstellen bei $z_{i0}=0$ & \\ + Tustin & Ja & $s\equiv \frac{2}{T} \frac{z-1}{z+1}$ & $\frac{T}{2} \frac{z+1}{z-1}$ & -& & &\\ + Impuls & Nein &-&$\frac{z}{z-1}$ &g(kT)=g(t)&$z_i=e^{s_i T}$& &\\ + ZOH & Nein &- & $\frac{Tz}{z-1}$ & h(kT)=h(t)&$z_i=e^{s_i T}$& &\\ + FOH & Nein &- & & &$z_i=e^{s_i T}$& &\\ + Mathched Filter & Nein & -&-& &$z_i=e^{s_i T}$& &\\ %Holzplatte & 14 \\ %Drehzahlsensoren & 5 \\ \hline @@ -69,7 +69,10 @@ Der Verlauf für das ZOH-approximierte System liegt zu den Zeitpunkten $kT$ exak \end{center} \end{figure} -Aus einer anderen Perspektive wird aber lediglich ein anderer Aspekt, nämlich die Impulsantwort möglichst gut bzw. hier approximiert. Ein Vergleich der diskreten mit der kontinuierliche Impulsantwort zeigt Bild \ref{fig:Impulseantwort} +Aus einer anderen Perspektive wird aber lediglich ein anderer Aspekt, nämlich die Impulsantwort exakt nachgebildet, bzw. bei einer Identifikation aus Messdaten "`möglichst gut"' approximiert. Ein Vergleich der diskreten mit der kontinuierliche Impulsantwort zeigt Bild \ref{fig:Impulseantwort}. + +Für die digitale Regelung ist zunächst ein Verständnis der Bedeutung der Abtastzeit fundamental. Klar ist, dass eine konstante Abtastzeit $T$ kleiner als die dominanten Zeitkonstanten des zu regelnden Prozesses sein muss. Der Regler muss schneller sein als der Prozess. Zur Realisierung benötigt man eine echtzeitfähige Hardware, welche sichersetell, dass $T$ bis auf tolerierbare Schwankungen (Jitter) eingehaten wird. Eine zu langsame Hardware ist prinzipiell nicht einsetztbar, während die Echtzeitfähigkeit auch fordert, dass der Regel-Algorithmus nicht in zu kurzen Abständen aufgerufen wird. +Echtzeitfähiger Hardware kann z. B. durch einen priorisierten Interrupt realisiert werden, welcher mittels eines Timer mit der Periode $T$ ausgeführt wird, um den Regel-Algorithmus auszuführen. Der Algorithmus muss natürlich in der Zeit $T$ ausführbar sein, was bei den hier ermittelten diskreten Filtern mit konstanter Anzahl von Operationen leicht sichergestellt werden kann. Aufwendige Algorithmen wie numerische Optmierungen in der Modellprädiktiven Regelung erfordern eine genauere Betrachtung. diff --git a/2_Grundlagen.tex b/2_Grundlagen.tex index 0b8f45b59d7d696f270b21aff6c0afb2af73a53a..01e46782bd67b16a8daf98a6d47233e66d1d6761 100644 --- a/2_Grundlagen.tex +++ b/2_Grundlagen.tex @@ -139,7 +139,7 @@ Die Abbildung $z=e^{-sT}$ aus der $s$-Ebene in die $z$-Ebene ist in Bild \ref{fi \end{center} \end{figure} -\textbf{Lineares Zusatndsraummodell.} Im Zeitbereich entstehen Modelle aus Differenzialgleichungen, welche zumeist in Form eines Zustandsraummodells (ZRM) dargestellt werden können, im linearen Fall: +\textbf{Lineares Zustandsraummodell.} Im Zeitbereich entstehen Modelle aus Differenzialgleichungen, welche zumeist in Form eines Zustandsraummodells (ZRM) dargestellt werden können, im linearen Fall: \begin{align}\label{ZRM_kont} \dot{\jv x}(t) &= \jv A_k \jv x(t) + \jv B_k \jv u(t),~~\jv x(0)=\jv x_0\\ \jv y(t) &= \jv C_k \jv x(t) + \jv D_k \jv u(t)\nonumber @@ -213,9 +213,68 @@ zu ermitteln. Letztere unterscheidet sich formal da im diskreten Fall der statis Der Abtastvorgang wurde bereits mathematisch als Umwandlung in eine gewichtete Impulsfolge beschrieben. Das Halteglied nullter Ordnung (Zero-Order-Hold) kann eigentlich nur sinnvoll mit einer solchen Impulsfolge gespeist werden, um den Wichtungsfaktor am Ausgang über eine Periode zu halten. Das Halteglied ohne den Abtaster überträgt also ein (quasi-) kontinuierliches Signal, sinnvollerweise eine Impulsfolge, in ein kontinuierliches, stufenförmiges Signal. Die Impulsantwort ist damit \begin{align*} -g_{ZOH}(t) = \sigma(t) - \sigma(t-T) \laplace G_{ZOH}(s) = \frac{1-e^{-sT}}{s} +g_{ZOH}(t) = \sigma(t) - \sigma(t-T) ~~\laplace~~ G_{ZOH}(s) = \frac{1-e^{-sT}}{s} \end{align*} MATLAB/Simulink\texttrademark übernimmt für den Anwender die Signaltransformation. Ein diskretes System mit kontinuierlichem Eingang wird automatisch mit dem abgetasteten Signal gespeist, wobei zu einer diskreten Folge übergegangen wird. Am Ausgang wird das Signal, wenn es nicht diskret weiterverarbeitet wird implizit entsprechend einem Halteglied nullter Ordnung stufenförmig für die Abtastzeit konstant gehalten. -\textbf{FOH (First-Order-Hold).} \ No newline at end of file +\begin{minipage}[c]{0.49\linewidth} +\begin{align*} +g_{ZOH}(t)& = \sigma(t) - \sigma(t-T) +\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[color=blue] (0.02, 0) -- (0.02,1); +\draw[color=blue] (0.05,1 ) -- (1,1); +\draw[color=blue] (1,1 ) -- (1,0); +\draw[-] (1, -0.1) node[below] {1} -- (1,0.1); +\draw[->] (-0.2,0) -- (2.2,0) node[right] {$t$}; + \draw[->] (0,-0.5) -- (0,1.5) node[above right] {$g_{ZOH}(t)$}; + +\end{tikzpicture} + +\end{center} +\end{minipage} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{minipage}[c]{0.49\linewidth} +\begin{align*} +g_{FOH}(t) = \frac{1}{T}(t\sigma(t) - 2t\sigma(t-T) +t\sigma(t-2T)) +\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[color=blue] (0.02, 0) -- (0.02,1); +\draw[color=blue] (0,0 ) -- (1,1); +\draw[color=blue] (1,1 ) -- (2,0); +\draw[-] (1, -0.1) node[below] {1} -- (1,0.1); +\draw[->] (-0.2,0) -- (2.2,0) node[right] {$t$}; + \draw[->] (0,-0.5) -- (0,1.5) node[above right] {$g_{FOH}(t)$}; +\end{tikzpicture} + +\end{center} +\end{minipage} + +\textbf{FOH (First-Order-Hold).} Dieses Haltglied entspringt der Idee, zwischen zwei Impulsen rampenförmig zu interpolieren. Das kausale Haltglied erster Ordnung kann die Rampe allerdings erst ermitteln, wenn deren Endwert ebenso bekannt ist wie ihr Startwert. Also ergibt sich das dargestellte Dreieck mit der Spitze bei $t=T$ +\begin{align*} +g_{FOH}(t) &= \frac{1}{T}(t\sigma(t) - 2t\sigma(t-T) +t\sigma(t-2T))\\ + &\laplace\\ +G_{FOH}(s) &= \frac{1}{Ts^2} (1-2e^{-sT}+e^{-2sT} +\end{align*} +Wer Übung im Auswerten von Faltungsintegralen hat erkennt, dass die Impulsantwort $g_{FOH}(t)$ aus der Faltung des Impulses $g_{ZOH}(t)$ entsteht. +\begin{align*} +g_{FOH}(t) = g_{ZOH}(t) * g_{ZOH}(t)~~ \laplace~~ G_{ZOH}^2(s) = T\cdot G_{FOH}(s) +\end{align*} + mdl. zeigt die Realisierung in MATLAB/Simulink\texttrademark + +\textbf{Nicht-kausale Halteglieder.} \ No newline at end of file diff --git a/3_Euler-Diskretisierung.tex b/3_Euler-Diskretisierung.tex index 039504bdd0345249777a8bb079ed097d87756079..c74eb0865898a6c56fcf4d7126840490d268dc58 100644 --- a/3_Euler-Diskretisierung.tex +++ b/3_Euler-Diskretisierung.tex @@ -1,31 +1,31 @@ \subsection{Euler-Diskretisierung \label{sec:Euler-Diskretisierung}} -Der Euler-Ansatz besteht darin, die kontinuierliche Ableitung durch den Differenzenquozienten zu ersetzen, im ersten Fall (nicht-kausal) mit dem zukünftigen Wert des abzuleitenden Signals, im zweiten Fall mit dem vergangenen Wert (kausal). In beiden Fällen erhält man kausale, diskrete Systeme, allerdings mit ungünstigen Eigenschaften bezüglich Transformation der Eigenwerte/Pole. Im Video \citep{yawpitchroll2013} sind diese Eigenschaften dargestellt. Von Vorteil ist, dass auch nichtlineare Differenzialgleichungen auf diese Art diskretisiert werden können. Für lineare Systeme könnte der Ansatz als naiv betrachtet, weshalb in der Quelle \citep{yawpitchroll2013} gegen Ende zur Tustin-Approximation Kap. \ref{sec:Tustin-Approximation} übergegangen wird. +Der Euler-Ansatz besteht darin, die kontinuierliche Ableitung durch den Differenzenquozienten zu ersetzen, im ersten Fall (nicht-kausal) mit dem zukünftigen Wert des abzuleitenden Signals, im zweiten Fall mit dem vergangenen Wert (kausal). In beiden Fällen erhält man kausale, diskrete Systeme, allerdings mit ungünstigen Eigenschaften bezüglich Transformation der Eigenwerte/Pole. Im MIT-Video \citep{yawpitchroll2013} sind diese Eigenschaften dargestellt. Von Vorteil ist, dass auch nichtlineare Differenzialgleichungen auf diese Art diskretisiert werden können. Für lineare Systeme könnte der Ansatz als naiv betrachtet, weshalb in der Quelle \citep{yawpitchroll2013} gegen Ende zur Tustin-Approximation Kap. \ref{sec:Tustin-Approximation} übergegangen wird. \subsubsection{Euler-Forward-Diskretisierung (explizit) \label{sec:Euler-Forward-Diskretisierung}} -Der Ansatz der Euler-Diskretisierung ist es, die Differenziale durch den Differenzenquotienten zu ersetzen. Bei der Euler-Forward-Methode +\textbf{Differenzenquotient.} Der Ansatz der Euler-Diskretisierung ist es, die Differenziale durch den Differenzenquotienten zu ersetzen. Bei der Euler-Forward-Methode \begin{align}\label{Forward_diffq} \dot{x}\approx \frac{x(k+1)-x(k)}{T} \end{align} bildet man die Differenz aus dem \textbf{zukünftigen} Wert und dem aktuellen Wert zum Zeitpunkt $k$ und bildet den Quotienten mit der Abtastzeit $T$. -Die Differenzengleichung des diskreten Differenziators lautet also +Die Differenzengleichung des diskreten Differenziators mit Eingang $u(k)$ lautet also \begin{align*} y(k)&= \frac{u(k+1)-u(k)}{T}~~. \end{align*} -Sie ist nicht realisierbar, weil nicht kausal. Allerdings gilt ja auch der ideale kontinuierliche Differeziator als nihct-kausal. Die Übertragunsfunktion ergibt sich durch z-Transformation zu +Sie ist nicht realisierbar, weil nicht kausal. Allerdings gilt ja auch der ideale kontinuierliche Differeziator als nicht-kausal. Die Übertragunsfunktion ergibt sich durch z-Transformation zu \begin{align*} Y(z) = \frac{zU(z)- U(z)}{T} ~~\Leftrightarrow~~ \frac{Y(z)}{U(z)}=\frac{z-1}{T} \end{align*} und führt auf den Zusammenhang $sT+1 \equiv z$. -Bei der Euler-Diskretisierung ersetzt man jede elementare Differenziation entsprechend bzw. jede Integration, welche z. B. im Signalflussgraphen der Differenzialgleichungen auftritt. Als Umkehroperation zur Bildung des Differenzenquotienten leiten wir die diskrete Integration bzw. Akkumulation wie folgt ab. Wir vertauschen Ein- und Ausgang und bilden den Differenzenquotienten des Ausgangssignals: +\textbf{Integration.} Bei der Euler-Diskretisierung ersetzt man jede elementare Differenziation entsprechend, bzw. jede Integration, welche z. B. im Signalflussgraphen der Differenzialgleichungen auftritt. Als Umkehroperation zur Bildung des Differenzenquotienten leiten wir die diskrete Integration bzw. Akkumulation wie ab. Wir vertauschen Ein- und Ausgang und bilden den Differenzenquotienten des Ausgangssignals: \[u(k)= \frac{y(k+1)-y(k)}{T}\] -Umstellen nach $y(k)$ liefert die die Differenzengleichung für den Akkumulator +Umstellen nach $y$ liefert die die Differenzengleichung für den Akkumulator: \begin{align*} y(k+1)&=y(k)+T u(k)\\ \end{align*} @@ -34,8 +34,8 @@ y(k+1)&=y(k)+T u(k)\\ \node [int] (a) {$\text{A}_{EF}$}; %\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] {$\text{A}_{EF}:~y(k)=y(k-1)+T u(k-1)$}; - \node (e) [right of=d] {$$}; + \node (d) [right of=c] {$$}; + \node (e) [right of=d] {$\text{A}_{EF}:~y(k)=y(k-1)+T u(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); @@ -48,12 +48,13 @@ Y(z) (1- z^{-1}) &= T z^{-1} U(z)\\ \Leftrightarrow G(z)=\frac{Y(z)}{U(z)}&=T\frac{1}{z-1} \end{align*} als Übertragungsfunktion des diskreten Integrators. - -Tatsächlich wird jeder Integrator wie bereits erwähnt entsprechend +Tatsächlich kann jeder Integrator wie bereits erwähnt entsprechend \begin{align} \frac{1}{s}\equiv T\frac{1}{z-1} \end{align} -durch den Akkumulator ersetzt bzw. jede Zeitableitung $s$ durch den Kehrwert. Die Abbildung im Frequenzbereich ist also durch +durch den Akkumulator ersetzt bzw. jede Zeitableitung $s$ durch den Kehrwert. + +\textbf{Pol-/Nullstellenverschiebung.} Die Abbildung im Frequenzbereich ist also durch \begin{align*} s\equiv (z-1)\cdot 1/T~~~\text{bzw.}~~~z\equiv sT+1 \end{align*} @@ -96,16 +97,26 @@ Eine Eigenschaft des Ansatzes ist damit, dass eine eindeutige $s-z$-Transfornati \end{figure} Betrachtet man die Verschiebung der Pole der linken s-Halbebene, so können stabile Systeme in instabile diskrete Systeme transformiert werden. -Man kann sich vorstellen, dass nur in Ausnahmefällen stabile Pole des kontinuierlichen Systems im Einheitskreis der z-Ebene landen und somit auch stabile Pole des diskreten Systems darstellen. Das dargestellte grenzstabile Polpaar wird sich auf instabile Pole des diskreten Systes führen, aber auch zu weit rechts in der s-Ebene Pole transformieren trotz hoher Abtastrate möglicherweise nicht auf stabile Pole. +Man kann sich vorstellen, dass nur in Ausnahmefällen stabile Pole des kontinuierlichen Systems im Einheitskreis der z-Ebene landen und somit auch stabile Pole des diskreten Systems darstellen. Das dargestellte, grenzstabile Polpaar wird auf instabile Pole des diskreten Systes führen, aber auch zu weit rechts in der s-Ebene liegende Pole transformieren trotz hoher Abtastrate möglicherweise nicht auf stabile Pole. -Die Art der Polverschiebung zeigt sich auch bei Diskretisierung der Zustandsgleichung des ZRM \eqref{ZRM_kont}, wo mit dem Differenzenqutienten \eqref{Forward_diffq} folgt +\textbf{Zustandsraummodell.} Die Art der Polverschiebung zeigt sich auch bei Diskretisierung der Zustandsgleichung des ZRM \eqref{ZRM_kont}, wo mit dem Differenzenquotienten \eqref{Forward_diffq} folgt \begin{align*} -\jv x(k+1)-\jv x(k)&=T \jv A \jv x(k) + T \jv B \jv u(k)\\ -\Leftrightarrow\jv x(k+1)&=(T\jv A+\jv I) \jv x(k) + T\jv B \jv u(k)~~. +\jv x_{k+1}-\jv x_k&=T \jv A_k \jv x_k + T \jv B_k \jv u_k\\ +\Leftrightarrow\jv x_{k+1}&=(\underbrace{T\jv A_k+\jv I}_{\jv A_d}) \jv x_k + \underbrace{T\jv B_k}_{\jv B_d} \jv u_k~~. \end{align*} Auch hier wird die Skalierung und Verschiebung der Systemeigenwerte deutlich, welche in der Regel die Pole des Systems bilden. +ZRM-EF: +\begin{empheq}[box=\fbox]{align*} +%\boxed{ + \jv A_d &= T\jv A_k+\jv I ~~&~~ \jv B_d &= T\jv B_k \\ +%&&= (e{\jv A_k T}-\jv I){\jv A_k}^{-1}\jv B_k\\^ + \jv C_d &=\jv C_k =\jv C ~~&~~ \jv D_d &= \jv D_k =\jv D +%} +\end{empheq} +%} + \begin{figure}[H] \begin{center} @@ -115,11 +126,11 @@ Auch hier wird die Skalierung und Verschiebung der Systemeigenwerte deutlich, we \end{center} \end{figure} -Die Sprunganwort (Bild \ref{fig:step-ForwardEuler}) für das so diskretisierte Originalsystem +\textbf{Beispiel.} Die Sprunganwort (Bild \ref{fig:step-ForwardEuler}) für das EF-diskretisierte Originalsystem \[G(s)=\frac{s+1}{s^2+s+1}\] -liegt für $T=0.5$ im Vergleich zu anderen Verfahren (Bild \ref{fig:Sprungantwort}) weiter von der kontinuierlichen Sprungantwort weg und nähert sich bei Reduktion der Abtastzeit. Für größere $T$ wird das diskrete System instabil. Die statische Verstärkung des Originalsystems $h(t\rightarrow\infty)$ entspricht unabbhängig von $T$ der, des diskreten Systems. Das dies im Allgemeinen der Fall ist, kann anhand der Darstellungen in ZRM-Form gezeigt werden: +liegt für $T=0.5$ im Vergleich zu anderen Verfahren (Bild \ref{fig:Sprungantwort}) weiter von der kontinuierlichen Sprungantwort weg. Wie Bild \ref{fig:step-ForwardEuler} zeigt, nähert sich die diskreten Werte dem kontinuierlichen Original bei Reduktion der Abtastzeit. In der Simulationstechnik wird genau die notwendige, sehr geringe Schrittweite als Ausschlusskriterium für das Verfahren genannt. Für größere $T$ wird das diskrete System instabil. Die statische Verstärkung des Originalsystems $h(t\rightarrow\infty)$ entspricht unabbhängig von $T$ der, des diskreten Systems. Das dies im Allgemeinen der Fall ist, kann anhand der Darstellungen in ZRM-Form gezeigt werden: \begin{align*} -G_k(s=0) = \jv D- \jv C\jv A_k^{-1} \jv B_k &\stackrel{?}{=} \jv D+ \jv C(\jv I-\jv A_d)^{-1} \jv B_d =G_d(z=0)\\ +G_k(s=0) = \jv D- \jv C\jv A_k^{-1} \jv B_k &\stackrel{?}{=} \jv D+ \jv C(\jv I-\jv A_d)^{-1} \jv B_d =G_d(z=1)\\ \Leftrightarrow~~ - \jv A_k^{-1} \jv B_k &{=} \jv (\jv I-\jv A_d)^{-1} \jv B_d\\ &{=} \jv (\jv I-\jv (T\jv A_k+\jv I))^{-1} T \jv B_k = - \jv A_k^{-1} \jv B_k \checkmark @@ -130,13 +141,39 @@ G_k(s=0) = \jv D- \jv C\jv A_k^{-1} \jv B_k &\stackrel{?}{=} \jv D+ \jv C(\jv I \subsubsection{Euler-Backward-Diskretisierung (implizit) \label{sec:Euler-Forward-Diskretisierung}} -Der Ansatz Euler-Backward bedeutet, einen kausalen diskreten Differenziator zu bilden, bei dem die Zeitableitung durch den Differenzenquozienten aus dem aktuellen und dem \textbf{vergangenen} Vorgängerwert des Signals gebildet wird: -\begin{align*} +\textbf{Differenzialquotient.} Der Ansatz Euler-Backward (EB) bedeutet, einen kausalen diskreten Differenziator zu bilden, bei dem die Zeitableitung durch den Differenzenquozienten aus dem aktuellen und dem \textbf{vergangenen} Vorgängerwert des Signals ersetzt wird: +\begin{align}\label{eq:firstOrderDiff} \dot{x}\approx \frac{x(k)-x(k-1)}{T} +\end{align} +Wie später durchgeführt, kann das ZRM mit dieser Approximation diskretisiert werden, da es ein System aus Ableitungen erster Ordnung bildet. Um herauszufinden, wie im EB-Sinn Ableitungen höherer Ordnung zu approximieren sind, kann ein ZRM gebildet werden (bzw. nur die Zustandsgleichung), welches äquivalent zur Differenzialgleichung ${\ddot x}_1(t)=u(t)$ ist: +\begin{align*} +\begin{pmatrix} {\dot x}_1\\{\dot x}_2 \end{pmatrix} += +\begin{pmatrix} 0&1\\0&0 \end{pmatrix} +\begin{pmatrix} {x}_1\\{x}_2 \end{pmatrix} ++ +\begin{pmatrix} 0\\1 \end{pmatrix} +u +\end{align*} +Mit Gl. \ref{eq:firstOrderDiff} ergeben die zwei Zeilen des ZRM +\begin{align*} +x^1_k-x^1_{k-1} &= T x^2_k\\ +x^2_k-x^2_{k-1} &= T u_k +\end{align*} +und das Ersetzen von $x^2$ in Zeile zwei führt auf +\begin{align*} +x^1_k- 2 x^1_{k-1} + x^1_{k-2} &= T^2 u +\end{align*} +In \cite{unbehauen2000RT2} ist noch für Ableitungen dritter Ordnung der Differenzenquotient im Sinne der EB-Approximation angegeben, welcher hier für lineare System auf die Approximationen +\begin{align*}%\label{eq:firstOrderDiff} +\ddot{x}\approx \frac{x(k)-2x(k-1) + x(k-2)}{T^2}\\ +\dddot{x}\approx \frac{x(k)-3x(k-1) + 3x(k-2)-x(k-3)}{T^3} \end{align*} -Leiten wir diesmal direkt ab, dass der Differnziation im Frequenzbereich auf der linken Seite ($s$) die Differenz von verzögerten Eingängen entspricht, also +führt. + +\textbf{Integration.} Leiten wir diesmal direkt ab, dass der Differnziation im Frequenzbereich auf der linken Seite ($s$) der Differenz von verzögerten Eingängen ($z^{-1}$) entspricht, also \begin{align} -s \equiv \frac{1-z^{-1}}{T}~~~\text{bzw.}~~~z=\frac{1}{1-sT} +s \equiv \frac{1-z^{-1}}{T}~~~\text{bzw.}~~~z\equiv\frac{1}{1-sT} \end{align} dann erhalten wir durch Umstellen auch die Übertragungsfunktion des Integrators \begin{align}\label{EB:Integrator} @@ -148,15 +185,15 @@ Durch Umkehrung der E/A-Signale des Differenziator oder durch Transformation der \node [int] (a) {$\text{A}_{EB}$}; %\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] {$\text{A}_{EB}:~y(k)= y(k-1)+Tu(k)$}; - \node (e) [right of=d] {$$}; + \node (d) [right of=c] {$$}; + \node (e) [right of=d] {$\text{A}_{EB}:~y(k)= y(k-1)+Tu(k)$}; \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} -Auch dieser Ansatzes stellt eine eindeutige Pol-Transformation dar. Die Transformation stabiler Pole aus der linken s-Halbebene endet in einem Kreis im Einheitskreis. Das ist bezüglich der dynamischen Eigenschaften des Systems konservativ, soll heißen bestimmt dynamische Eigenschaften stabiler diskreter System können nicht aus stabilen kontinuierlichen Systemen abgeleitet werden. +\textbf{Pol-/Nullstellentransformation.} Auch dieser Ansatzes stellt eine eindeutige Pol-Transformation dar. Die Transformation stabiler Pole aus der linken s-Halbebene führt in einen Kreis um $0,5$ im Einheitskreis, siehe Bild \ref{fig:s-zEuler2}. Das ist bezüglich der dynamischen Eigenschaften des Systems konservativ, soll heißen bestimmt dynamische Eigenschaften stabiler diskreter System können nicht aus stabilen kontinuierlichen Systemen abgeleitet werden. \begin{figure}[H] \begin{center} @@ -186,23 +223,32 @@ Auch dieser Ansatzes stellt eine eindeutige Pol-Transformation dar. Die Transfor \draw[->,thick] (10.5,0) -- (9.9,0); \end{tikzpicture} -\caption{Transformation der Polstellen bei Euler-Backward-Diskretisierung \label{fig:s-zEuler}} +\caption{Transformation der Polstellen bei Euler-Backward-Diskretisierung \label{fig:s-zEuler2}} \end{center} \end{figure} -Durch Einsetzen des Differenzenquotienten auf der linken Seite diskretisiert man die Zustandsgleichung des ZRM +Etwas genauer anhand der Pol-/Nullstellenform betrachtet, wird deutlich, dass die Nullstellen genauso abgebildet werden, wie die Pole. +\[ +G(s) =\frac{\Pi_{i=1}^q (s-s_{0i})}{\Pi_{i=1}^n (s-s_i)}\leftrightarrow +\frac{\Pi_{i=1}^q (\frac{z-1}{zT}-s_{0i})}{\Pi_{i=1}^n (\frac{z-1}{zT}-s_i)} +=\frac{\Pi_{i=1}^q (z-1-s_{0i}zT)}{\Pi_{i=1}^n (z-1-s_izT)}\cdot (zT)^{n-q} +\] +Hier wird nach dem Ersetzen mit $zT$ erweitert, wobei man prüfe, dass bei identischer Anzahl von Nullstellen und Polen die Terme zur Erweiterung entsprechend wegfallen. Für kausale Systeme ohne Durchgriff sind mehr Pole vorhanden und man erhält $n-q>0$ zusätzliche Nullstellen bei $z_{i0} = 0$ im diskreten System. + +\textbf{Zustandsraumodell.} In Abhängigkeit der Matrizen diskretisiert man die Zustandsgleichung des ZRM \begin{align}\label{ZRM:kompliziert} -\jv x(k)-\jv x(k-1)&=T\jv A\jv x(k) + T\jv B\jv u(k)\\\nonumber -\Leftrightarrow~\jv x(k+1)[\jv I-T\jv A]&= \jv x(k) + T\jv B \jv u(k+1)~~. +\jv x_k-\jv x_{k-1}&=T\jv A_k\jv x_k + T\jv B_k\jv u_k\\\nonumber +\Leftrightarrow~\jv x_{k+1}(\jv I-T\jv A_k)&= \jv x_k + T\jv B_k \jv u_{k+1}~~. \end{align} \begin{itemize} -\item Die Umformung von Gl. \ref{ZRM:kompliziert} in ein ZRM ist etwas aufwendiger, weil hier die vermeindliche Zustandsgröße $\jv x(k+1)$ vom Eingang $\jv u(k+1)$ zum gleichen Zeitpunkt abhängt. Mit einem modifizierten Zustand sollte die Darstellung gelingen (Anhang A). -\item Es lässt sich aber erkennen, dass die Zustandsübergangsmatrix $[\jv I-T\jv A_k]^{-1}$ lautet. -\item Plausibilisiert man sich die Eigenwerttransformation anhand der stabilen Eigenwerte auf der reellen Achse, so kann das mit der speziellen Form der Diagonalmatrix für $\jv A_k$ gelingen. Die reellen $\hat{\lambda}_i(\jv I_T\jv A_k)>1$ und damit für die inverse Matrix $0>\lambda_i(\jv A_d)>1$, also im angedeuteten Bildbereich auf der positiven reellen Achse im Einheitskreis. +\item Die Umformung von Gl. \eqref{ZRM:kompliziert} in ein ZRM ist etwas aufwendiger, weil hier die vermeindliche Zustandsgröße $\jv x(k+1)$ vom Eingang $\jv u(k+1)$ zum gleichen Zeitpunkt abhängt. Mit einem modifizierten Zustand sollte die Darstellung gelingen (Anhang A). +\item Es lässt sich aber erkennen, dass die Zustandsübergangsmatrix $\jv A_d= (\jv I-T\jv A_k)^{-1}$ lautet. +\item Plausibilisiert man sich die Eigenwerttransformation anhand der stabilen Eigenwerte auf der reellen Achse, so kann das mit der speziellen Form der Diagonalmatrix für $\jv A_k$ gelingen. Die reellen $\hat{\lambda}_i(\jv I-T\jv A_k)>1$ und damit für die inverse Matrix $0<\lambda_i(\jv A_d)<1$, also im angedeuteten Bildbereich auf der positiven reellen Achse im Einheitskreis. \end{itemize} -Bei beiden Methoden erhält man das diskrete System durch entsprechendes Ersetzen von $s$ in $G(s)$, wie hier mit Hilfe der Symbolic Toolbox \texttrademark in Matlab\texttrademark durchgeführt. Die statische Verstärkung bleibt erhalten. +\textbf{Beispiel.} Bei beiden Methoden (EF, EB) erhält man das diskrete System durch entsprechendes Ersetzen von $s$ in $G(s)$, wie hier mit Hilfe der Symbolic Toolbox \texttrademark in Matlab\texttrademark durchgeführt. Die statische Verstärkung bleibt erhalten. + \href{https://gitlab.cvh-server.de/jfalkenhain/diskretisierung-linearer-systeme/-/blob/master/Matlab/Diskretisierung_Euler.m}{Matlab\texttrademark(R2021a) file on Git: Diskretisierung\_Euler.m} \begin{figure}[H] @@ -213,7 +259,7 @@ Bei beiden Methoden erhält man das diskrete System durch entsprechendes Ersetze \end{center} \end{figure} -Wie Bild \ref{fig:stepEuler} zeigt, nähert sich die beiden Ansätze quasi für kleinere Abtastzeiten von verschiedenen Seiten an. +Wie Bild \ref{fig:stepEuler} zeigt, nähern sich die beiden Ansätze quasi für kleinere Abtastzeiten von verschiedenen Seiten an. %\citep[S. 25]{mathworks2013} diff --git a/4_ZOH-Diskretisierung.tex b/4_ZOH-Diskretisierung.tex index 1e455917208401e178c3c2e1839da63ab47fb4cd..9ed4e38560599b1f04ad72dd1b2fcabb85a43bfd 100644 --- a/4_ZOH-Diskretisierung.tex +++ b/4_ZOH-Diskretisierung.tex @@ -8,43 +8,143 @@ h_k(kT) =h_d (k) \textbf{Integration.} Anhand der Bedingung \ref{ZOH:bed} soll abgeleitet werden, wie der diskrete Integrator, also der Akkumulator im ZOH-Sinn aussieht. Als Reaktion auf die Sprungfunktion liefert der kontinuierliche Integrator eine Rampe mit Steigung eins. Bei $y(0)=0$ liegt ein Knick vor, für $t>0$ beträgt die Steigung von $y(t)=t$ eins (entsprechend der Integratorkonstante). Die Abtastung dieser Sprungantwort liefert \[ -y(k)= kT = y(k-1) + T~~, +y(k)= kT = y(k-1) + T~~,\text{für}~k>0 \] -aber wegen $y(0)=0$ +aber wegen der Sprungfunktion, also $u(k)=1$ für $k\geq 0$ \[ -y(k+1)= (k+1)T = y(k) + T u(k)~~. +y(k+1)= y(k) + T u(k)~~, \] -Diese \textit{verzögerte} Integration entspricht der Intergration beim Euler-Backward-Verfahren mit der Übertragungsfuktion +womit die Differenzengleichung des Integrators ermittelt wäre. Diese \textit{verzögerte} Integration entspricht der des Euler-Forward-Verfahren mit der Übertragungsfuktion \[ -G_I(z) =\frac{Y(z)}{U(z)} =\frac{T}{z^{-1}+1}~~. +G_I(z) =\frac{Y(z)}{U(z)} =\frac{T}{z-1}~~. \] Dort wurde jede Integration, z. B. in einer Blockschaltbild-Darstellung der Differenzialgleichung, durch diese Integration ersetzt bzw. jede Differenziation durch den entsprechenden Differenzenquotienten. Diese Vorgehensweise ist hier nicht möglich, womit sich überhaupt die Unterschiede beider Verfahren begründen. -Die Integration wird in Bild x.y veranschaulicht. Die Verzögerung legt nahe, dass es bessere Ansätze gibt, ein kontinuierliches dynamische System zu approximieren, konkret eine Integration mit Trapez-Regel (siehe Abschn. \ref{sec:Tustin-Approximation}). +\begin{figure} + \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); -\textbf{Zeitbereichsäquivalenz.} Regt man ein kontinuierliches System $G_k$ mit einem stufenförmigen, durch ein Abtast-Halteglied (ZOH-Block), gefiltertes Signal an, dann entspricht dieser Eingang einer Aneinanderreihung von gewichteten Sprungfunktionen. +\draw[-] (1, -0.1) node[below ] {$T$} -- (1,0.1); +\draw[-] (2, -0.1) node[below ] {$2T$} -- (2,0.1); +\draw[-] (3, -0.1) node[below ] {$3T$} -- (3,0.1); +\draw[-] (4, -0.1) node[below ] {$4T$} -- (4,0.1); +\draw[-] (5, -0.1) node[below ] {$5T$} -- (5,0.1); +\draw[-] (6, -0.1) node[below ] {$6T$} -- (6,0.1); + +\draw[draw=black] (1,0) rectangle (2, {sin(2)}); +\draw[draw=black, fill=blue, opacity=0.2] (2,0) rectangle (3, {2*sin((3-2)/2 r)}); +\draw[draw=black, fill=blue, opacity=0.2] (3,0) rectangle (4, {2*sin((4-2)/2 r)}); +\draw[draw=black, fill=blue, opacity=0.2] (4,0) rectangle (5, {2*sin((5-2)/2 r)}); +\draw[draw=black, fill=blue, opacity=0.2] (5,0) rectangle (6, {2*sin((6-2)/2 r)}); +%\draw[draw=black, fill=blue, opacity=0.2] (4,0) rectangle (5, {2*sin((5-2)/2 r)}); + +\draw[->] (-0.2,0) -- (7.2,0) node[right] {$t$}; + \draw[->] (0,-1.2) -- (0,3.2) node[above right] {$u(t)$}; +\draw[color=blue, samples=150, domain=1:7] plot (\x,{2*sin((\x-1)/2 r)}); + +\end{tikzpicture} + + \caption{Integration ZOH + \label{fig:IntZOH}} + \end{center} +\end{figure} +Die Integration wird in Bild \ref{fig:IntZOH} veranschaulicht. Die Verzögerung legt nahe, dass es bessere Ansätze gibt, ein kontinuierliches dynamische System zu approximieren, konkret eine Integration mit Trapez-Regel (siehe Abschn. \ref{sec:Tustin-Approximation}). + +\textbf{Diskretisierung der Übertragungsfunktion.} Erinnern wir uns an Korrespondenztabellen mit Laplace- und Z-Transformation, so konnten wir die Übertragungsfunktion $G(s)$ als Transformierte der Impulsantwort $g(t)$ dort finden. Die abgetastete $g(k)=g(kT)$ war dort meist nicht zu finden, dafür direkt deren Z-Transformierte $G(z)$. So konnte die entsprechende Korrespondez der Impuls-Diskretisierung aus der betreffenden Zeile abgelesen werden.\\ + +Für ein System $G(s)$ lautet die Laplace-Transformierte der Sprungantwort +\begin{align}\label{eq:Hvons} +H(s) = \frac{1}{s} G(s) \Laplace h(t) +\end{align} +Die Abtastfolge $h(k)$ findet man zumeist nicht, wenn man in der Tabelle nach $H(s)$ entsprechend Gl. \eqref{eq:Hvons} sucht, aber die Z-Transformierte $H(z)$. Über den Zusammenhang zwischen $G(z)$ und $H(z)$ erhalten wir +\[ +H(z) = \frac{z}{z-1}G(z) +\] + bzw. in unserem speziellen Fall +\[ +G_{ZOH}(z) = H(z) \frac{z-1}{z}~~. +\] + + +\textit{\textbf{Beispiel: Die Übertragungsfunktion des Integrators lautet $G(s)=1/s$. Wir suchen nach der Z-Transformierten der Abtastung von $H(s)=1/s^2$. +Tabell \ref{table:impuls} liefert uns +\[H(z)=\frac{Tz}{(z-1)^2} +\] +woraus wir +\[ +G_{ZOH}(z) = H(z) \frac{z-1}{z} = \frac{T}{z-1} +\] +ermitteln. +} +} + +\textbf{Zeitbereichsäquivalenz.} Warum heißt dieser Ansatz Zero-Order-Hold (ZOH)-Diskretisierung? Regt man ein kontinuierliches System $G_k$ mit einem stufenförmigen, durch ein Abtast-Halteglied (ZOH-Block), gefiltertes Signal an, dann entspricht dieser Eingang einer Aneinanderreihung von gewichteten Sprungfunktionen. \[ u^*(t) = \sum_{k=0}^{\infty} \sigma(t-kT)\cdot (\rho(k)-\rho(k-1)) \] -Die Gewichtung diese Treppenfunktion wird durch die mit der Periode $T$ abgetasteten Werte $\rho(k)$ erzeugt, welche durch das diskrete System $G_d$ verarbeitet werden können. Die Überlagerung von Sprungfunktionen führt bei Abbildung auf +Die Gewichtung diese Treppenfunktion wird durch die mit der Periode $T$ abgetasteten Werte +$\rho(k)=u(kT) =u*(kT) \forall k\geq 0$ erzeugt. Die Aneinanderreihung (oder Summierung) der Impulse kann als Eingangsfolge +\[u(k)=\sum_{k=0}^\infty \rho(k) \] +durch das diskrete System $G_d$ verarbeitet werden. Die Überlagerung von kontinuierlichen Sprungfunktionen $u^*(t)$ führt bei Abbildung mit $G(s)$ auf das Ausgangssignal +\begin{align*} +y^*(t) &= \sum_{k=0}^{\infty} h_k(t-kT)\cdot (\rho(k)-\rho(k-1)) +\end{align*} +mit den Sprungantworten $h_k$ und damit \begin{align*} -y^*(t) &= \sum_{k=0}^{\infty} h_k(t-kT)\cdot (\rho(k)-\rho(k-1))\\ -&= \rho(0) (h(t)-h(t-T))+\ -&+ \rho(1) (h(t-T)-h(t-2T))\\ +y^*(t) &= h_k(t) \rho(0) &+ k_k(t-T) (\rho(1)-\rho(0))\\ +&&+ k_k(t-2T) (\rho(2)-\rho(1))\hdots +&= \rho(0) (h_k(t)-h_k(t-T))\\ +&+\rho(1) (h_k(t-T)-h_k(t-2T))\\ &\vdots\\ -&= \sum_{k=0}^{\infty} \rho(k)(h_k(t-kT)-h_k(t-(k+1)T))\\ +&= \sum_{k=0}^{\infty} \rho(k)(h_k(t-kT)-h_k(t-[k+1]T))\\ \end{align*} +durch umsortieren. Tasten wird das Signal in dieser Form ab, können wir im Sinne der ZOH-Diskretisierung die diskrete Sprungantwort einsetzen \begin{align*} -y^*(k) &= \sum_{j=0}^{\infty} \rho(k) \underbrace{(h_d([k-j]T-h_d([k-j-1]T))}_{g_d(k-j)} \\ -&= \sum_{j=0}^{\infty} \rho(j)g_d(k-j) = \rho(k) \ast g_d(k)\\ +y^*(kT) &= \sum_{j=0}^{\infty} \rho(k) \underbrace{(h_k([k-j]T-h_k([k-j-1]T))}_{ +=h_d(k-j)-h_d(k-j-1) = g_d(k-j) +} \\ +&= \sum_{j=0}^{\infty} \rho(j)g_d(k-j) = \rho(k) \ast g_d(k) = y(k)\\ %&+ \rho(1) (h(t-T)-h(t-2T))\\ %&= \sum_{k=0}^{\infty} \rho(k)(h_k(t-kT)-h_k(t-(k+1)T))\\ \end{align*} -Bildet man die Faltungsumme also mit dem ZOH-diskretisierten System, basierend auf der Bedingung \ref{ZOH:bed} dann liegen die diskreten Werte $y^*(k)$ auf dem kontinuierlichen Signal $y^*_k(t)$. +Verwendet wird neben der Bedingung \ref{ZOH:bed} die Faltungsumme für das ZOH-diskretisierten System, weshalb die Werte äquivalent zu $y(k)$ sind, der Antwort auf die Eingangsfolge $u(k)$. Für dieses spezielle, stufenförmige Eingangssignal liegen die Werte $y(k)$ also exakt auf dem kontinuierlichen Ausgangssignal: +\[ +y^*(t)|_{t=kT} =y(k) . +\] + +\textbf{Berechung aus Übertragungsfunktonen.} Mit der Erkenntnis des letzten Abschnitts bedeutet ZOH-Diskretisierung, dass wir mit diskreten System exakt die kontinuierliche Antwort aus der Reihenschaltung eines Systems mit einem ZOH-Gleid (Halteglied erster Ordnung) treffen. Ein Impuls wird duch das ZOH-Glied zu einer stufenförmigen Anregung, diese ist Eingang von $G(s)$ und erzeugt unseren Ausgang $y^*(t)$, auf dem unsere diskreten Werte $y(k)$ liegen. Anders formuliert ist unser diskretes System damit die Impuls-Diskretisierung aus der Reihenschaltung von ZOH-Glied und System. Interpretiert man die diskreten Systemvariablen als Operatoren, könnte man schreiben +\begin{align*} +G_{d,ZOH}\{ G(z) \} = G_{d,Impuls}\{ \frac{1-e^{-sT}}{s} \cdot G(s) \} ~~. +\end{align*} +Eine aufwendigere Notation erklärt sich schrittweise von Innen nach Außen +\begin{enumerate} +\item Multiplikation der Übertragungsfunktionen von System und ZOH-Glied +\item Ermittlung der Zeitfunktion durch inverse Laplace-Transformation +\item Erzeugung einer Folge durch Abtastung bei $t=kT$ +\item Z-Transformation der Folge ergibt die Übertragungsfunktion $G_{d,ZOH}(z)$ +\end{enumerate} +\begin{align*} +G_{d,ZOH}(z)= Z\{ L^{-1}\{ \frac{1-e^{-sT}}{s} \cdot G(s)\}|_{t=kT} \}~~. +\end{align*} + +\textit{\textbf{Beispiel: Für den Integrator erhalten wir +\[G_{ZOH}(s)\cdot G(s) = \frac{1-e^{-sT}}{s} \frac{1}{s} = (1-e^{-sT}) \frac{1}{s^2} +\] +Aus Tabelle x.y erhält man direkt die zugehörige z-Übertragungsfunktion für den ersten Summanden und den um genau eine Abtastzeit verzögerten Term, also +\[ +G_{d,ZOH}(z) =\frac{Tz}{(z-1)^2} - z^{-1}\cdot \frac{Tz}{(z-1)^2} =\frac{T(z-1)}{(z-1)^2}=\frac{T}{z-1} +\] +}} + \textbf{Zustandsraummodell.} In \cite{Lunze16b} wird ein diskretes System als Abtastsystem "`unter Beachtung der Eigenschaften des Abtasters und des Halteglieds"' aus dem kontinuierlichen ZRM hergeleitet. In \cite{BINGULAC1992293} erhält man die fast identische Darstellung mit dem Hinweis darauf, dass es sich um eine ZOH-Diskretisierung handelt. Für regulär $\jv A_k$ entsteht das diskrete Zustandsraummodell \eqref{ZRM_disk} mit den Matrizen: -%\boxed{ +ZOH-Diskretisiertes ZRM: \begin{empheq}[box=\fbox]{align*} %\boxed{ \jv A_d &=e^{\jv A_k T} ~~&~~ \jv B_d &= {\jv A_k}^{-1}(e^{\jv A_k T}-\jv I)\jv B_k=(e^{\jv A_k T}-\jv I){\jv A_k}^{-1}\jv B_k \\ @@ -54,7 +154,7 @@ Bildet man die Faltungsumme also mit dem ZOH-diskretisierten System, basierend a \end{empheq} %} -Darin stellt $\e^{\jv A}$ eine Matrixexponetialfunktion dar: +Darin stellt $\e^{\jv A T}$ eine Matrixexponetialfunktion dar: \begin{align*} e^{\jv A_k T} = \sum_{i=0}^{\infty} \frac{\jv A^i T^i}{i!} \end{align*} diff --git a/5_Impulse-Diskretisierung.tex b/5_Impulse-Diskretisierung.tex index 7431ef12295b4c17e6c1594e25b48d25d0f33283..f3ad01dffb383995a56caf75d8653062a6ec5619 100644 --- a/5_Impulse-Diskretisierung.tex +++ b/5_Impulse-Diskretisierung.tex @@ -5,7 +5,7 @@ \begin{align}\label{Impulse:bed} g_k(kT) =g_d (k)~~\laplace ~~G_{Impulse}(z)~~. \end{align} -In der Praxis lassen sich damit natürlich auch Linearisierungen, Systemvereinfachungen, Arbeitspunktmodelle usw. komplexerer Systeme ermitteln. Die Ordnung des diskreten Systems ergibt sich prinzipiell aus der Anzahl der verwendeten Abtastzeitpunkte. Die Übertragungsfunktion entsteht dass aus z-Transformation der abgetasteten Impulsfolge. +In der Praxis lassen sich damit natürlich auch Linearisierungen, Systemvereinfachungen, Arbeitspunktmodelle usw. komplexerer Systeme ermitteln. Die Ordnung des diskreten Systems ergibt sich prinzipiell aus der Anzahl der verwendeten Abtastzeitpunkte. Die Übertragungsfunktion entsteht der aus z-Transformation der abgetasteten Impulsfolge. In \cite{bild_quad} @@ -13,7 +13,7 @@ In %\url{https://www.eit.hs-karlsruhe.de/mesysto/quicklink/startseite.html} wird in der konkreten Beispielaufgabe darauf hingewiesen, dass die statische Verstärkung $K_S=G_{Impulse}(1)$ nicht der des kontinuierlichen Systems entspricht, mit geringerer Abtastzeit aber immer besser approximiert wird. Eine Erklärung dafür wird auch im Frequenzbereich gesucht. -Die Diskretisierung eines Durchgriffs auf diese Weise ist wenig sinnvoll. Die Impulsantwort eines kontinuierlichen Systems erhält durch diesen den Anteil $g(t)=d\cdot \rho(0)+\tilde g(t)$. Bis auf diesen Impuls bei $t=0$ ist sie identisch mit $\tilde g(t)$, der Impulsantwort mit verschwindendem Durchgriff. +Die Diskretisierung eines Durchgriffs oder statischen Anteils auf diese Weise ist wenig sinnvoll. Die Impulsantwort eines kontinuierlichen Systems erhält durch diesen den Anteil $g(t)=d\cdot \rho(0)+\tilde g(t)$. Bis auf diesen Impuls bei $t=0$ ist sie identisch mit $\tilde g(t)$, der Impulsantwort mit verschwindendem Durchgriff. Der (pseudo-) kontinuierliche Dirac-Impuls lässt sich wie eingangs erwähnt nicht sinnvoll abtasten. Bei Impuls-Diskretisierung könnte man den statischen Anteil einfach vom kontinuierlichen System übernehmen. Die theoretische Ermittlung korrespondierender diskreter Systeme aus der kontinuierlichen Übertragungsfunktion kann zumeist direkt anhand von Korrespondenztabellen erfolgen, welche in der Regel @@ -28,7 +28,7 @@ Die theoretische Ermittlung korrespondierender diskreter Systeme aus der kontinu \hline $\frac{1}{s}$ & $\sigma(t)$ & $\sigma(k)$ & $\frac{z}{z-1}$ \\ $\frac{1}{s^2}$ & $t\cdot \sigma(t)$ & $kT\cdot\sigma(k)$ & $\frac{Tz}{(z-1)^2}$ \\ - $\frac{1}{1+s \tau }$ & $1/tau e^{-t/\tau}$ & $1/tau e^{-t/\tau}$& $\frac{1}{\tau}\frac{z}{z-e^{-T/\tau}}$ \\ + $\frac{1}{1+s \tau }$ & $1/\tau e^{-t/\tau}$ & $1/\tau e^{-kT/\tau}$& $\frac{1}{\tau}\frac{z}{z-e^{-T/\tau}}$ \\ \hline % @@@ PG: Stimmt nicht: Die Summe der Zahlen ist 194! @@ -36,7 +36,7 @@ Die theoretische Ermittlung korrespondierender diskreter Systeme aus der kontinu \end{center} \end{table} -Die erste Zeile von \ref{table:impuls} zeigt, wie der diskrete Integrator aus dem kontinuierlichen hervorgeht. Auf den Impuls antwortet der Integrator mit der Sprungfunktion. Die dritte Spalte verzeichnet die Sprungfolge als deren Abtastung, also die diskretisierte Impulsantwort, welche in den Tabellen oft nicht verzeichnet ist. Z-transformiert ergibt sich $G(z)$, in Zeile eins für den Integrator. Allerdings hat dieser diskrete Integrator nicht die Bedeutung des Akkumulators bei den Verfahren nach Euler und Tustin. So gilt für Impulse-Diskretisierung nicht die allgemeine Korrespondenz aus Spalte eins und vier, auch kann nicht einfach im Blockschaltbild der Differenzialgleichung jeder Integrator durch den Akkumulator ersetzt werden. +Die erste Zeile von Tabelle \ref{table:impuls} zeigt, wie der diskrete Integrator aus dem kontinuierlichen hervorgeht. Auf den Impuls antwortet der Integrator mit der Sprungfunktion (ohen Gewichtung durch die Zeitkonstante). Die dritte Spalte verzeichnet die Sprungfolge als deren Abtastung, also die diskretisierte Impulsantwort, welche in den Tabellen oft nicht verzeichnet ist. Z-transformiert ergibt sich $G(z)$, in Zeile eins für den Integrator. Allerdings hat dieser diskrete Integrator nicht die Bedeutung des Akkumulators bei den Verfahren nach Euler und Tustin. So gilt für Impulse-Diskretisierung nicht die allgemeine Korrespondenz aus Spalte eins und vier, auch kann nicht einfach im Blockschaltbild der Differenzialgleichung jeder Integrator durch den Akkumulator ersetzt werden. Die dritte Zeile von \ref{table:impuls} entspricht dem PT$_{1}$-Glied, womit die Einträge etwas abgewandelt sind im Vergleich zu typischen Korrespondenztabellen. $G(z)$ ist also das diskrete PT$_{1}$-Glied im Sinne einer Impuls-Diskretisierung. %\glqq{}{Boris ermöglicht die blockorientierte Simulation diff --git a/7_Tustin-Diskretisierung.tex b/7_Tustin-Diskretisierung.tex index 4d0f09861e79888cdc48c3510aa88329e5a5a26e..38cd0fe824c65ad711740bfea0e5fb41aebc641e 100644 --- a/7_Tustin-Diskretisierung.tex +++ b/7_Tustin-Diskretisierung.tex @@ -1,26 +1,59 @@ \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. Darüber wird aus dem Wert $I(k)$ rekursiv der nächste Wert wie folgt berechnet: +\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 \frac{x(k+1)+x(k)}{2} + I(k) +I((k+1)T)=T \frac{x((k+1)T)+x(kT)}{2} + I(kT) \end{align*} -Gehen wir auf die E/A-Namensgebung zurück, also für den Integrator +\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)~~\text{und} +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*} -zY(z)&=Y(z)+ \frac{T}{2} (zU(z)+U(z))\\ \frac{Y(z)}{U(z)}= \frac{T}{2} \frac{z+1}{z-1} =G_A(z) \end{align*} -als Übertragungsfunktion für den Akkumulator. \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] {$u(k)= \frac{y(k+1)-y(k)}{T}$}; - \node (e) [right of=d] {$$}; + \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); @@ -28,20 +61,19 @@ als Übertragungsfunktion für den Akkumulator. Es gilt die Entsprechung \begin{align}\label{eq:sTustin} -s= \frac{2}{T} \frac{z-1}{z+1}~~~\text{bzw.}~~~z= \frac{s+2/T}{2/T-s} +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} -folgt -\textbf{Reihenentwicklung}. Aus einer anderen Perspektive hängen s-Ebene und z-Ebene nach \eqref{eq:sz} wie folgt zusammen +\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)~~. +z = e^{sT} \Leftrightarrow s=\frac{1}{T} \ln(z)~~, \end{align*} -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 +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{1}{T}2\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) \\ +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*} -Die Darstellung lässt sich aus der bekannten Taylor-Reihe des natürlichen Logarithmus herleiten, was in Anhang \ref{anh:Logarithmus} verschoben wurde. Durch Abbruch nach dem ersten Summanden entsteht der bekannte Zusammenhang \eqref{eq:sTustin}. @@ -49,11 +81,11 @@ Durch Abbruch nach dem ersten Summanden entsteht der bekannte Zusammenhang \eqre \begin{align*} \dot x_k((k-\frac{1}{2}) T) \approx \frac{x(k)-x(k-1)}{T} \end{align*} -wo auch der Signalwert +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 gitl für den den Differenziator $y=\dot u$ die Diskretisierung +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*} @@ -65,13 +97,13 @@ gegeben. \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) + 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 \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\\ +(\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*} diff --git a/anhang.tex b/anhang.tex index c3fa122f06978dcb1c405a970c4d0da8a14504bc..9c2e22d14baba2df4a9b510aa9707281beefa381 100644 --- a/anhang.tex +++ b/anhang.tex @@ -64,13 +64,13 @@ um den Entwicklungspunkt $x_0$ wird als bekannt vorausgesetzt. Angewendet auf de \end{align*} stellt sie den Ausgangspunkt für z. B. in \cite{wiki1} hergeleitete, variierende Darstellungen von Entwicklungen. Dazu bilden wir \begin{align*}%\label{ZRM_disk} -\ln(1+y) &= \sum_{k=1}^{\infty} \frac{(-1)^{k-1}}{k} y^k -\ln(1-y) &= \sum_{k=1}^{\infty} \frac{(-1)^{k-1}}{k} (-y)^k = \sum_{k=1}^{\infty} \frac{(-1)}{k} y^k +\ln(1+y) &= \sum_{k=1}^{\infty} \frac{(-1)^{k-1}}{k} y^k\\ +\ln(1-y) &= \sum_{k=1}^{\infty} \frac{(-1)^{k-1}}{k} (-y)^k = \sum_{k=1}^{\infty} \frac{(-1)}{k} y^k~~. \end{align*} Der Variablenwechsel soll dazu dienen, die Struktur in der folgenden Umformung wiederzufinden: \begin{align*}%\label{ZRM_disk} -\ln(x) = \ln(\frac{2x}{2}) = \ln( \frac{1+\frac{x-1}{x+1} }{1- \frac{x-1}{x+1} }) &= \ln(1+\frac{x-1}{x+1}) - \ln(1-\frac{x-1}{x+1})\\ -&= \ln(1+y) - \ln(1-y) +\ln(x) = \ln\left(\frac{2x}{2}\right) = \ln\left( \frac{1+\frac{x-1}{x+1} }{1- \frac{x-1}{x+1} }\right) &= \ln\left(1+\frac{x-1}{x+1}\right) &- \ln\left(1-\frac{x-1}{x+1}\right)\\ +&= \ln(1+y) &- \ln(1-y) \end{align*} Vor dem Einsetzen des Bruchs für $y$ bieten sich weitere Umformungen an: \begin{align*}%\label{ZRM_disk}