From f1a00ff27890345d5f4286a1f9297fa98fd10ad3 Mon Sep 17 00:00:00 2001 From: Jan Falkenhain <jan.falkenhain@hs-bochum.de> Date: Tue, 13 Apr 2021 17:08:14 +0200 Subject: [PATCH] 8rd commit --- 1_Einleitung.tex | 140 +++++++++++++++++----------------- 2_Grundlagen.tex | 91 +++++++++++++++------- 4_ZOH-Diskretisierung.tex | 4 +- 5_Impulse-Diskretisierung.tex | 1 + 6_FOH-Diskretisierung.tex | 118 ++++++++++++++++++++++++++++ 7_Tustin-Diskretisierung.tex | 2 + Matlab/ZOHundFOHblocks.slx | Bin 0 -> 28109 bytes Regelungstechnik.tex | 108 -------------------------- 8 files changed, 257 insertions(+), 207 deletions(-) create mode 100644 Matlab/ZOHundFOHblocks.slx diff --git a/1_Einleitung.tex b/1_Einleitung.tex index fa2efb4..617df05 100644 --- a/1_Einleitung.tex +++ b/1_Einleitung.tex @@ -1,18 +1,22 @@ \section{Einleitung% \label{sec:Einleitung}} -Diskrete Systeme werden im Rahmen der digitalen Signalverarbeitung und der Regelungstechnik entworfen, in letzterer zumeist mit Bezug zu kontiuierlichen, physikalischen Modellen. Zwei wesentliche Motive können hier vorliegen, um kontinuierliche Systeme zu diskretisieren, also sie durch ein mit fester Abtastzeit arbeitendes, diskretes System zu approximieren. +\textbf{Diskretisierung.} Diskrete Systeme werden im Rahmen der digitalen Signalverarbeitung und der Regelungstechnik entworfen, in letzterer zumeist mit Bezug zu kontinuierlichen, physikalischen Modellen. Zwei wesentliche Motive können hier vorliegen, um kontinuierliche Systeme zu diskretisieren, also sie durch ein mit fester Abtastzeit arbeitendes, diskretes System zu approximieren. \begin{enumerate} -\item Hat man mit klassischen Methoden einen kontinuierlichen Regler entworfen, z. B. anhand eines Streckenmodells, dann erfordert die Realisierung auf einem Rechner (einer echtzeitfähigen Hardware beliebiger Art) eine diskrete Approximation, also ein unter Beachtung der Abtastzeit \textbf{den kontinuierlichen Regler} möglichst gut nachbildendes diskretes Modell. Dies ist immer erforderlich, wenn nicht Bibliotheken für die automatisierte Übersetzung kontinuierlicher Parameter, z. B. für PID-Regler, oder andere Software zur Verfügung steht, welche eine numerische Lösung bieten (wie z. B. MATLAB\texttrademark-Coder). +\item Hat man mit klassischen Methoden einen kontinuierlichen Regler entworfen, z. B. anhand eines Streckenmodells, dann erfordert die Realisierung auf einem Rechner (einer echtzeitfähigen Hardware beliebiger Art) eine diskrete Approximation, also ein unter Beachtung der Abtastzeit \textbf{den kontinuierlichen Regler} \textit{möglichst gut} nachbildendes diskretes Modell. Dies ist immer erforderlich, wenn nicht Bibliotheken für die automatisierte Übersetzung kontinuierlicher Parameter, z. B. für PID-Regler, oder andere Software zur Verfügung steht, welche eine numerische Lösung bieten (wie z. B. MATLAB-Coder\texttrademark). \item Eine etwas andere Vorgehensweise des Reglerentwurfs besteht darin, den diskreten Regler direkt anhand eines diskreten Streckenmodells zu entwerfen. Dafür ist jetzt also die \textbf{Strecke bzw. das kontinuierliche Streckenmodell} zu diskretisieren. Anschließend steht eine eigene Welt von Methoden für den diskreten Reglerentwurf zur Verfügung, welche oft Ähnlichkeiten mit klassischen kontinuierlichen Methoden aufweisen, aber letztlich eigenständige Methoden darstellen. \end{enumerate} -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. +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 kontinuierlichen Modells in Reihe geschaltet mit einem Halteglied erster Ordnung (ZOH, Zero-Order-Hold) nachbilden will. Das resultierende System heißt Abtastsystem, worauf in Kapitel \ref{sec:Regelung} eingegangen wird. Man erhält es durch ZOH-Diskretisierung (Kap. \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 (Kap. \ref{sec:Tustin-Approximation}) oder Matched-Filter-Diskretisierung (Kap. \ref{sec:FOH-Diskretisierung}) verwendet, +%oder FOH-Diskretisierung (Kap. \ref{sec:FOH-Diskretisierung}) verwendet +welche auf "`schnellere"' diskrete Systeme führen, was auch für FOH-Diskretisierung (Kap. \ref{sec:FOH-Diskretisierung}) gelten müsste. -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. +In der digitalen Signalverarbeitung approximiert man anlaloge 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 ab (Kap. \ref{sec:Impulse-Diskretisierung}). Auch der Matched-Filter Ansatz, bei welchem Pole und Nullstellen des diskreten Systems gezielt gesetzt werden, 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{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. +Weitere Motive zur Ermittlung diskreter Systeme können in der Analyse, Simulation, oder modellbasierten Diagnose technischer Systeme liege. Die Ermittlung eines Modells aus Messungen an einem realen System wird als Identifikation bezeichnet. So kann z. B. näherungsweise eine Impulsantwort gemessen werden oder der Eingang als stückweise konstant (ZOH-Modell) oder als lineare interpolierende Rampe (FOH-Modell) interpretiert werden. Ein diskretes Modell aus den Messwerten zu ermitteln, 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} @@ -22,25 +26,25 @@ Weitere Motive zur Ermittlung diskreter Systeme können in der Analyse, Simulati %\medskip \begin{center} \begin{tabular}{l|c|c|c|c|c|c|r} - Verfahren & $s\mapsto z$ ? & $s$-Mapping &Integrator & Zeitfunktion & Pol-Mapping & Nullstellen &$K_s$\\ + Verfahren & $s\mapsto z$ ? & $s$-Mapping &Integrator & Zeitfunktion & Pol-Mapping & Nullstellen &$K_s = G_d(1)$\\ \hline - 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)$\\ + Forward-Euler & Ja & $s\equiv (z-1)/T$ &$\displaystyle T\frac{1}{z-1}$ & - &$z_i =s_iT + 1$ &$z_{i0} =s_{i0}T + 1$& $=G_k(0)$\\ \hline - Backward-Euler & Ja & $s\equiv \frac{z-1}{zT}$ &$\frac{Tz}{z-1}$ & - &$z_i = \frac{1}{1-s_iT}$ & \begin{tabular}{@{}c@{}}$z_i = \frac{1}{1-s_iT} ~\&~ (m-n)$\\Nullstellen bei $z_{i0}=0$\end{tabular} + Backward-Euler & Ja & $s\equiv \frac{z-1}{zT}$ &$\displaystyle \frac{Tz}{z-1}$ & - &$z_i = \frac{1}{1-s_iT}$ & \begin{tabular}{@{}c@{}}$z_{i0}\ = \frac{1}{1-s_{i0}T} ~\&~ (m-n)$\\Nullstellen bei $z_{i0}=0$\end{tabular} %$z_i = \frac{1}{1-s_iT} +(m-n)$ Nullstellen bei $z_{i0}=0$ - & \\ + & $=G_k(0)$ \\ \hline - Tustin & Ja & $s\equiv \frac{2}{T} \frac{z-1}{z+1}$ & $\frac{T}{2} \frac{z+1}{z-1}$ & -& $z_{i} = \frac{2/T+s_{i}}{2/T-s_{i}}$ & + Tustin & Ja & $s\equiv \frac{2}{T} \frac{z-1}{z+1}$ & $\displaystyle\frac{T}{2} \frac{z+1}{z-1}$ & -& $z_{i} = \frac{2/T+s_{i}}{2/T-s_{i}}$ & \begin{tabular}{@{}c@{}}$z_{i0} = \frac{2/T+s_{i0}}{2/T-s_{i0}} ~\&~ (n-q)$\\Nullstellen bei $z_{i0}=-1$\end{tabular} - &\\ + & $=G_k(0)$\\ \hline - Impuls & Nein &-&$\frac{z}{z-1}$ &g(kT)=g(t)&$z_i=e^{s_i T}$& &\\ + Impuls & Nein & - &$\displaystyle \frac{z}{z-1}$ &g(kT)=g(t)&$z_i=e^{s_i T}$ & &$\displaystyle \lim_{T->0}G_d(1)=G_k(0)$\\ \hline - ZOH & Nein &- & $\frac{Tz}{z-1}$ & h(kT)=h(t)&$z_i=e^{s_i T}$& &\\ + ZOH & Nein &- & $\displaystyle \frac{Tz}{z-1}$ & h(kT)=h(t)&$z_i=e^{s_i T}$& &$=G_k(0)$\\ \hline - FOH & Nein &- & & &$z_i=e^{s_i T}$& &\\ + FOH & Nein &- & $\displaystyle \frac{T}{2} \frac{z+1}{z-1}$ &Rampe $r(kT)=r(t)$ &$z_i=e^{s_i T}$& &$=G_k(0)$\\ \hline - Mathched Filter & Nein & -&-& &$z_i=e^{s_i T}$& &\\ + Mathched Filter & Nein & -&-&- &$z_i=e^{s_i T}$& $z_{i0}=e^{s_{i0} T}$ & setze $=G_k(0)$\\ %Holzplatte & 14 \\ %Drehzahlsensoren & 5 \\ \hline @@ -69,12 +73,12 @@ Weitere Motive zur Ermittlung diskreter Systeme können in der Analyse, Simulati \end{landscape} %% Quertabelle Ende -Die Ansätze können, für die hier behandelten lineare Systeme, sowohl im Zeit- als auch im Frequenzbereich betrachtet werden. Einige Methoden lassen sich durch Ersetzen aller Integratoren in der jeweiligen kontinuierlichen Darstellung der Differenzialgleichung durch diskrete Akkumulatoren umsetzten. Generell ist von Interesse, wie letztlich jede methode die Integration im diskreten numerisch umsetzt. Ob ein stabiles kontinuierliches System in ein stabiles diskretes transforert wird, hängt von der Abbildung der Polstellen ab, für dynamische Eigenschaften sind aber Nullstellen relevant. Diese können abgebildet werden oder neu bei der Transformation entstehen. Wichtige Eigenschaften werden in Tabelle \ref{table:massen} aufgeführt. Ihre Bedeutung soll aber in den einzelnen Kapitel näher erläuter werden. Neben der Übertragungsfunktion als Transformationspaar sollen auch Zustandsraummodelle betrachtet werden. +Die Ansätze können, für die hier behandelten lineare Systeme, sowohl im Zeit- als auch im Frequenzbereich betrachtet werden. Generell ist von Interesse, wie letztlich jede Methode die Integration im diskreten numerisch umsetzt. Nur einige Methoden lassen sich durch Ersetzen aller Integratoren durch diskrete Akkumulatoren umsetzten. Damit ist gemeint, dass in der jeweiligen kontinuierlichen Darstellung der Differenzialgleichung jder Integrator durch den Akkumulator ersetzt wird. Ob ein stabiles kontinuierliches System in ein stabiles diskretes transformiert wird, hängt von der Abbildung der Polstellen ab. Das diskrete System hat immer die selbe Anzahl an Polstellen. Für dynamische Eigenschaften sind aber auch die Nullstellen relevant. Diese können abgebildet werden oder neu bei der Diskretisierung entstehen. Wichtige Eigenschaften werden in Tabelle \ref{table:massen} aufgeführt. Ihre Bedeutung soll in den einzelnen Kapitel näher erläutert werden. Neben der Übertragungsfunktion (als Transformationspaar mit der z-Übertragungsfunktion) sollen auch Zustandsraummodelle betrachtet werden. \begin{figure}[H] \begin{center} \includegraphics[width=0.8\textwidth]{bilder/Sprungantwort_Vergleich} - \caption{Sprungantwort eines Systems 2. Ordnung und daraus abgeleiteter diskreter Systeme %\citep{yawpitchroll2013}% + \caption{Sprungantworten eines Systems 2. Ordnung und daraus abgeleiteter diskreter Systeme %\citep{yawpitchroll2013}% \label{fig:Sprungantwort}} \end{center} \end{figure} @@ -82,7 +86,7 @@ Die Ansätze können, für die hier behandelten lineare Systeme, sowohl im Zeit- Für lineare System sind entsprechende Algorithmen für beide Beschreibungsformen in MATLAB\texttrademark (R2021a) größtenteils implementiert. Damit lassen sich Systeme erzeugen, Darstellungen ineinander überführen und diskrete Systeme ableiten, wie das folgende Skript zeigt: -\href{https://gitlab.cvh-server.de/jfalkenhain/diskretisierung-linearer-systeme/-/blob/master/Matlab/Diskretisierung_mit_MATLAB.m}{MATLAB\texttrademark(R2021a) file on Git: Diskretisierung\_mit\_MATLAB.m} +\href{https://gitlab.cvh-server.de/jfalkenhain/diskretisierung-linearer-systeme/-/blob/master/Matlab/Diskretisierung_mit_MATLAB.m}{File on Git: Diskretisierung\_mit\_MATLAB.m} Hier wird ein System zweiter Ordnung (ohne Durchgriff, mit komplexen Eigenwerten) diskretisiert nach den Methoden ZOH (Zero-Order Hold), FOH (First-Order Hold), Impulse und Tustin. Bild \ref{fig:Sprungantwort} vergleicht die Sprungantworten der diskreten Systeme mit der des Originalsystems. Der Verlauf für das ZOH-approximierte System liegt zu den Zeitpunkten $kT$ exakt auf der kontinuierlichen Sprungantwort, da dieses Verfahren gerade so konzipert ist. Tustin- und FOH-approximiertes System liefern eine ähnliche Sprungantwort, ohne exakt die kontinuierliche Kurve zu treffen. Da sie die gleiche statische Verstärkung (hier $k_{DC}=1$) wie das Originalsystem haben, verschwinden die Abweichungen nach Abklingen des Übergang. Dass dies für die Impulse-approximierte Sprungantwort nicht gilt, kann zu dem Schluss führen, dass Impulse-Approximation wenig geeignet ist, das kontinuierliche System zu approximieren. @@ -97,8 +101,8 @@ Der Verlauf für das ZOH-approximierte System liegt zu den Zeitpunkten $kT$ exak 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. +\textbf{Digitale Regelung.} 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 sicherstellt, dass $T$ bis auf tolerierbare Schwankungen (Jitter) eingehalten 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 Timers (Uhr) mit der Periode $T$ durchgefü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 Optimierungen in der Modellprädiktiven Regelung erfordern eine genauere Betrachtung. @@ -135,33 +139,16 @@ Echtzeitfähiger Hardware kann z. B. durch einen priorisierten Interrupt realisi %\input{prefix} -\begin{tikzpicture}[auto, node distance=2cm] - - \draw [dashed] (.5,-1.6) rectangle (3.5,0.5); - -\end{tikzpicture} - -\tikzstyle{int}=[draw, fill=white!20, minimum size=3em] -%\tikzstyle{init} = [pin edge={to-,thin,black}] - -\begin{tikzpicture}[node distance=2.5cm,auto,>=latex', scale=3] - \node [int] (a) {$\int$}; %\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(t)=\int u(t)dt;~~G_I(s)=\frac{Y(s)}{U(s)} = \frac{1}{s}$}; - - - \node [coordinate] (end) [right of=c, node distance=2cm]{}; - \path[->] (b) edge node {$u(t)$} (a); - \path[->] (a) edge node {$y(t)$} (c); - %\draw[->] (c) edge node {$p$} (end) ; -\end{tikzpicture} - -Wir labern -\begin{figure}[H] -\begin{tikzpicture}[node distance=2.5cm,auto,>=latex'] -\draw (0,0) -- (1.5, 0); \draw (0,0) -- ( 0,1.5); +%\begin{tikzpicture}[auto, node distance=2cm] +% +% \draw [dashed] (.5,-1.6) rectangle (3.5,0.5); +% +%\end{tikzpicture} +% +%\tikzstyle{int}=[draw, fill=white!20, minimum size=3em] +%%\tikzstyle{init} = [pin edge={to-,thin,black}] +% +%\begin{tikzpicture}[node distance=2.5cm,auto,>=latex', scale=3] % \node [int] (a) {$\int$}; %\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$}; @@ -173,23 +160,40 @@ Wir labern % \path[->] (b) edge node {$u(t)$} (a); % \path[->] (a) edge node {$y(t)$} (c); % %\draw[->] (c) edge node {$p$} (end) ; -\end{tikzpicture} -\end{figure} -was +%\end{tikzpicture} +%Wir labern +%\begin{figure}[H] +%\begin{tikzpicture}[node distance=2.5cm,auto,>=latex'] +%\draw (0,0) -- (1.5, 0); \draw (0,0) -- ( 0,1.5); +%% \node [int] (a) {$\int$}; %\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(t)=\int u(t)dt;~~G_I(s)=\frac{Y(s)}{U(s)} = \frac{1}{s}$}; +%% +%% +%% \node [coordinate] (end) [right of=c, node distance=2cm]{}; +%% \path[->] (b) edge node {$u(t)$} (a); +%% \path[->] (a) edge node {$y(t)$} (c); +%% %\draw[->] (c) edge node {$p$} (end) ; +%\end{tikzpicture} +%\end{figure} +%was -\begin{filecontents}{data.dat} - n xn --2 0 --1 0 - 0 1.0 - 1 1.0 - 2 1.0 - 3 1.0 - 4 1.0 -\end{filecontents} + +%\begin{filecontents}{data.dat} +% n xn +%-2 0 +%-1 0 +% 0 1.0 +% 1 1.0 +% 2 1.0 +% 3 1.0 +% 4 1.0 +%\end{filecontents} %\begin{tikzpicture}[scale=0.8] %\begin{axis} @@ -278,7 +282,7 @@ was %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{tikzpicture} +%\begin{tikzpicture} %%%\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, -1) node[left] {-1} -- (0.1,-1); @@ -292,14 +296,14 @@ was % % % -\draw[->] (0,0) -- (5,0) node[below] {$Re$}; \draw[->] (2.5,-2.5) -- (2.5,2.5) node[above] {s-Ebene}; \draw[->] (2.5,-2.5) -- (2.5,2.5) node[right] {$Im$}; -\draw[->] (6,0) -- (11,0) node[below] {$Re$}; \draw[->] (8.5,-2.5) -- (8.5,2.5) node[above] {z-Ebene}; \draw[->] (8.5,-2.5) -- (8.5,2.5) node[right] {$Im$}; -%\draw[fill=red!20] (-2.5,0)--(2.5,5); -\fill [fill=red!20, fill opacity=0.2] (0,-2.5) rectangle (2.5,2.5); -\fill [fill=red!20, fill opacity=0.2] (8.5,0) circle[radius=1]; -\draw (9.5,-0.1) -- (9.5,0.1) node[below]{1}; +%\draw[->] (0,0) -- (5,0) node[below] {$Re$}; \draw[->] (2.5,-2.5) -- (2.5,2.5) node[above] {s-Ebene}; \draw[->] (2.5,-2.5) -- (2.5,2.5) node[right] {$Im$}; +%\draw[->] (6,0) -- (11,0) node[below] {$Re$}; \draw[->] (8.5,-2.5) -- (8.5,2.5) node[above] {z-Ebene}; \draw[->] (8.5,-2.5) -- (8.5,2.5) node[right] {$Im$}; +%%\draw[fill=red!20] (-2.5,0)--(2.5,5); +%\fill [fill=red!20, fill opacity=0.2] (0,-2.5) rectangle (2.5,2.5); +%\fill [fill=red!20, fill opacity=0.2] (8.5,0) circle[radius=1]; +%\draw (9.5,-0.1) -- (9.5,0.1) node[below]{1}; %[draw, fill=white!20, minimum size=3em] %% \draw[color=blue, domain=0:3, samples=50] plot (\x,{1}) %node[right] {$f(x) = \sin (2\pi x)$} ; % -\end{tikzpicture} +%\end{tikzpicture} diff --git a/2_Grundlagen.tex b/2_Grundlagen.tex index 01e4678..c7c85be 100644 --- a/2_Grundlagen.tex +++ b/2_Grundlagen.tex @@ -31,7 +31,7 @@ Mit der Impulsantwort reagiert das System auf Anregung mit dem Dirac-Impulse =\sigma(t_0)~~. \end{align} Integration über den Dirac-Impuls liefert die Sprungfunktion $\sigma(t)$, auf die das System mit der Sprungantwort -\[h(t)= \int_0^{\infty}g(\tau)d\tau\] +\[h(t)= \int_{-\infty}^{\infty}g(\tau)d\tau\] reagiert. Für stabile Systeme klingt die Impulsantwort ab und die Sprungantwort ist beschränkt.\\ \begin{tikzpicture}[node distance=2.5cm,auto,>=latex', scale=3] @@ -39,15 +39,15 @@ reagiert. Für stabile Systeme klingt die Impulsantwort ab und die Sprungantwort \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] {$u(t)\laplace U(s)$;~~$y(t)\laplace Y(s)$;~~}; + \node (e) [right of=d] {$u(t)~~\laplace ~~U(s)$;~~$y(t)~~\laplace~~ Y(s)$;~~}; \node [coordinate] (end) [right of=c, node distance=2cm]{}; \path[->] (b) edge node {$u(t)$} (a); \path[->] (a) edge node {$y(t)$} (c); \end{tikzpicture} -Das Ausgangssignal $y(t)$ ergibt sich durch das Faltungsintegral der Gewichtsfunktion mit einem beliebigen Eingang $u(t)$ nach +Das Ausgangssignal $y(t)$ ergibt sich durch die Faltung (Faltungsintegral) der Gewichtsfunktion mit einem beliebigen Eingang $u(t)$ nach \[ -y(t) = u(t)\ast g(t) = \int_{t}^t u(\tau) g(t-\tau) d\tau~~. +y(t) = u(t)\ast g(t) = \int_{-\infty}^t u(\tau) g(t-\tau) d\tau~~. \] Die Übertragungsfuktion als Bruch zweier Polynome in $s$ \[ @@ -74,7 +74,7 @@ Durch Abtastung beschränkter, kontinuierlicher Signale mit der Abtastzeit $T$ e y^*(t)=\sum_{-\infty}^\infty \rho(t-kT) \underbrace{u(kT)}_{u_k(kT) =u_d(k)} \] welche den Übergang zur Folge $u_d(k)$ nahelegt. Dieser Übergang wird unter dem Begriff der Abtastung oft verstanden. -Beispielsweise resultiert Sprungfolge $\sigma(k)$ für $k\in \mathds{Z}$ aus Abtastung der Sprungfunktion +Beispielsweise resultiert die diskrete Sprungfolge $\sigma(k)$ für $k\in \mathds{Z}$ aus Abtastung der Sprungfunktion \[ \sigma_d(k) = \sigma_k(kT)~~, \] @@ -86,9 +86,9 @@ L\{y^*(t)\}&= =&\sum_{0}^\infty u(kT) \int_0^\infty \rho(t-kT) e^{-st} dt\\ =&\sum_{0}^\infty u(kT) e^{-skT} \end{align} -motiviert den Übergang zur z-Transformation durch ersetzen von $z=e^{-sT}$ für diskrete Folgen $u_d(k)$ +motiviert den Übergang zur z-Transformation durch Ersetzen von $z=e^{sT}$ für diskrete Folgen $u_d(k)$ \begin{align} -Z\{u(k)\}=\sum_{0}^\infty u(k) z^{k} = U(z) +Z\{u(k)\}=\sum_{0}^\infty u(k) z^{-k} = U(z) \end{align} Zu beachten ist, dass der Einheitsimpuls @@ -104,12 +104,11 @@ Zu beachten ist, dass der Einheitsimpuls nicht aus der Abtastung des Dirac-Impulses hervorgeht, da dieser bei null nicht beschränkt ist. Die Bedeutung des diskreten Impulses ist also eine etwas andere, nämlich dass alle diskreten Folgen eine Summe von gewichteten Impulsen darstellen, verschoben um den Zeitindex $k$. %Ersetz man in der Laplace-Transformation , so entsteht die z-Transformation, über welche -Die diskrete Impulsantwort als Reaktion diskreten Impuls $\rho(k)$ und die diskrete Übertragungsfunktion bilden ein z-Transformationspaar +Die diskrete Impulsantwort als Reaktion auf den diskreten Impuls $\rho(k)$ und die diskrete Übertragungsfunktion bilden ein z-Transformationspaar \[g(k)~~\laplace~~ G(z) = \frac{Y(z)}{U(z)} = \frac{\Pi_{i=1}^q (z-z_{0i})}{\Pi_{i=1}^n (z-z_i)}~~,\] -womit sich ähnliche Darstellungen und Zusammenhänge wie im Kontinuierlichen ergeben (siehe nächste Seite +womit sich ähnliche Darstellungen und Zusammenhänge wie im Kontinuierlichen ergeben (siehe auch Seite 8). %\pageref{ref:pdfuebersicht} funktionieren nicht %\ref{ref:pdfuebersicht} -). Über die diskrete Faltung \[ y(k) = u(k)\ast g(k) = \sum_{j=-\infty}^k u(j) g(k-j) @@ -119,7 +118,7 @@ ergibt sich die Systemantwort im Zeitbereich. %\label{ref:pdfuebersicht} \includepdf[pages=-]{bilder/Systemantworten} -Die Abbildung $z=e^{-sT}$ aus der $s$-Ebene in die $z$-Ebene ist in Bild \ref{fig:s-z} dargestellt. Tatsächlich wird die linke Halbebene in den Einheitskreis abgebildet und die Pole stabiler, diskreter Systeme müssen sich auch in diesem befinden. +Die Abbildung $z=e^{sT}$ aus der $s$-Ebene in die $z$-Ebene ist in Bild \ref{fig:s-z} dargestellt. Tatsächlich wird die linke Halbebene in den Einheitskreis abgebildet. Stabile Pole diskreter Systeme liegen im Einheitskreis. \begin{figure}[H] \begin{center} @@ -154,20 +153,20 @@ Aufgelöst nach $\jv X(s)$ und eingesetzt in die transformiert Ausgabegleichung \begin{align*} {\jv G}(s) &= \jv C(s\jv I - \jv A)^{-1} \jv B +\jv D;~~~~\jv K_s=\jv G(0) = -\jv C \jv A^{-1} \jv B +\jv D \end{align*} -Für $s=0$ (bzw. $\dot{\jv x}(t)=0$) ergibt sich die statische Verstärkung $K_s$. +Für $s=0$ (bzw. $\dot{\jv x}(t)=0$) ergibt sich die statische Verstärkung $K_s$, bzw, hier als Matrix $\jv K_s$. Analog dazu ist mit dem platzsparenderem Zeitindex ($u(k)=u_k$) \begin{align}\label{ZRM_disk} \jv x_{k+1}&=\jv A_d \jv x_k+\jv B_d \jv u_k,~~\jv x_0\\ \jv y_k &= \jv C_d \jv x_k + \jv D_d \jv u_k\nonumber \end{align} -ein lineare, diskretes ZRM mit Zustandsübergangsmatrix $\jv A_d$ in der Zustandsgleichung und entsprechenden Ein- und Ausgangsmatrizen. Die Auswertung erfordert immer die Kenntnis des Anfangszustands $\jv x_0$. Die hier verwendete Schreibweise umfasst offensichtlich Mehrgrößensysteme mit Ein- und Ausgangsvektoren $\jv u, \jv y$. Im Eingrößenfall wird der Durchgriff $d$ skalar und anstelle von Matrizen bleibt ein Eingangsvektor $\jv b$ und ein Ausgangsvektor $\jv c^T$. Umgekehrt kann man die Beschreibung mit Übertragungs- oder Gewichtsfunktionen leicht auf Matrizen für den Mehrgrößenfall erweitern, deren Elemente jeweils Eingrößenbeschreibungen darstellen (z. B. $G_{2,3}(s)=Y_3(s)/U_2(s)$). +ein lineares, diskretes ZRM mit Zustandsübergangsmatrix $\jv A_d$ in der Zustandsgleichung und entsprechenden Ein- und Ausgangsmatrizen $\jv B_d$ und $\jv C_d$. Die Auswertung erfordert immer die Kenntnis des Anfangszustands $\jv x_0$. Die hier verwendete Schreibweise umfasst offensichtlich Mehrgrößensysteme mit Ein- und Ausgangsvektoren $\jv u, \jv y$. Im Eingrößenfall wird der Durchgriff $d$ skalar und anstelle von Matrizen bleibt ein Eingangsvektor $\jv b$ und ein Ausgangsvektor $\jv c^T$. Umgekehrt kann man die Beschreibung mit Übertragungs- oder Gewichtsfunktionen leicht auf Matrizen für den Mehrgrößenfall erweitern, deren Elemente jeweils Eingrößenbeschreibungen darstellen (z. B. $G_{2,3}(s)=Y_3(s)/U_2(s)$). Die Verschiebungseigenschaft der Z-Transformation zeigt sich bei Anwendung z. B. auf $x(k+1)$, \begin{align*} -\jv x(k+1) \laplace zX(z)~~, +x(k+1)~~ \laplace~~ zX(z)~~. \end{align*} -identifiziert $z^{-1}$ +Man identifiziert $z^{-1}$ als Verzögerungsoperator, welcher dementsprechend im Signalflussgraphen digitaler Filter als Speichersymbol für eine Zeitschritt Verwendung findet. \begin{tikzpicture}[node distance=2.5cm,auto,>=latex', scale=3] @@ -183,21 +182,34 @@ als Verzögerungsoperator, welcher dementsprechend im Signalflussgraphen digital Damit kann die entsprechende Transformation der Zustandsgleichung des diskreten ZRM durchgeführt werden, \begin{align*} - z\cdot \jv X(z)=\jv A \jv X(z) \jv B\jv U(z) ~~, + z\cdot \jv X(z)=\jv A \jv X(z) + \jv B\jv U(z) ~~, \end{align*} nach $\jv X(z)$ aufgelöst und in die Ausgabegleichung eingesetzt werden, um die Übertragungsfunktion und die statische Verstärkung \begin{align*} {\jv G}(z) &= \jv C(z\jv I - \jv A)^{-1} \jv B +\jv D;~~~~\jv K_s=\jv G(1) = -\jv C \jv (\jv I - \jv A)^{-1} \jv B +\jv D \end{align*} -zu ermitteln. Letztere unterscheidet sich formal da im diskreten Fall der statische Zustand für $z=e^{0\cdot T}=1$ oder aus $\jv x(k+1) = \jv x(k)$ ermittelt wird. +zu ermitteln. Letztere unterscheidet sich formal, da im diskreten Fall der statische Zustand für $z=e^{0\cdot T}=1$ oder im Zeitbereich mit dem Ansatz $\jv x(k+1) = \jv x(k)$ ermittelt wird. +Zur Klasse der linearen Systeme gehören auch Totzeitsystem, welche Verzögerungen um die Totzeit $T_t$ erfassen. +\begin{align*} + y(t) = u(t-T_t) +\end{align*} +Im der Übertragungsfunktion wird der gebrochen rationale Teil um Faktoren +\begin{align*} + G_t(s)=e^{-sT_t} +\end{align*} +ergänzt. Wenn die Totzeit ein Vielfaches der Abtastzeit $T_t= m\cdot T$ beträgt, entspricht dem im zeitdiskreten exakt $G_t(z)=z^{-m}$ die m-fache Verzögerung, welche im ZRM durch $m$ zusätzliche Zeilen erfasst wird. Eine beliebige Totzeit kann zumeist nur approximiert werden, auch hier indem die Systemordnung erhöht wird. In MATLAB\texttrademark~ wird die Thiran Approximation verwendet, siehe \cite{mathworks}, um Totzeitglieder zu approximieren. +\begin{verbatim} +sys = thiran(tau, Ts) % tau =T_t; Ts ist die Abtastzeit +\end{verbatim} +Auch wenn Systemen Einagangs- und Ausgangsverzögerungen (Totzeiten) hinzugefügt werden und mit beliebigem Verfahren diskretisiert werden, kommt Thiran-Approximation automatisch zum Einsatz. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Halteglieder (ZOH und FOH) in Theorie und Praxis% \label{sec:GrundlagenHalteglieder}} -\textbf{ZOH (Zero-Order-Hold).} Um mit einer praktischen, algorithmischen Beschreibung zu beginnen, sei das Verhalten des ZOH-Block aus MATLAB/Simulink\texttrademark beschrieben: Der ZOH-Block nimmt zu Beginn der Abtastperiode den Eingangswert und hält ihn konstant für eine Periodendauer $T$. Bezogen auf ein kontinuierliches Eingangssignal $u(t)$ wird damit ein Abtast-Halteglied (sample-and-hold) realisiert. Ein kontinuierliches Eingangssignal $u(t)$ wird in ein stufenförmiges, aber kontinuierliches Signal $y(t)$ in transformiert. Die Höhe der Stufen ist durch die Werte von $u(t)$ zu den Abtastzeitpunkten $kT$ gegeben und wird für eine Periode $T$ gehalten. Das stufenförmige Signal $y(t)$ stimmt \textit{links} mit $u(t)$ überein. Die Hintereinander-Schaltung zweier (oder mehrerer) ZOH-Blöcke mit identischer Abtastperiode ist dementsprechend völlig wirkungslos. Zum Abtastzeitpunkt propagiert der Eingangssignalwert durch alle Blöcke und wird am Ausgang für eine Periode gehalten. +\textbf{ZOH (Zero-Order-Hold).} Um mit einer praktischen, algorithmischen Beschreibung zu beginnen, sei das Verhalten des ZOH-Block aus MATLAB/Simulink\texttrademark~ dargestellt: Der ZOH-Block nimmt zu Beginn der Abtastperiode den Eingangswert und hält ihn konstant für eine Periodendauer $T$. Bezogen auf ein kontinuierliches Eingangssignal $u(t)$ wird damit ein Abtast-Halteglied (sample-and-hold) realisiert. Ein kontinuierliches Eingangssignal $u(t)$ wird in ein stufenförmiges, aber kontinuierliches Signal $y(t)$ in transformiert. Die Höhe der Stufen ist durch die Werte von $u(t)$ zu den Abtastzeitpunkten $kT$ gegeben und wird für eine Periode $T$ gehalten. Das stufenförmige Signal $y(t)$ stimmt \textit{links} mit $u(t)$ überein. Die Hintereinander-Schaltung zweier (oder mehrerer) ZOH-Blöcke mit identischer Abtastperiode ist dementsprechend völlig wirkungslos. Zum Abtastzeitpunkt propagiert der Eingangssignalwert durch alle Blöcke und wird am Ausgang für eine Periode gehalten. \begin{tikzpicture}[node distance=2.5cm,auto,>=latex', scale=3] \node [int] (a) {$z^{-1}$}; %\node [int, pin={[init]above:$v_0$}] (a) {$\int$}; @@ -213,10 +225,10 @@ 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. +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. \begin{minipage}[c]{0.49\linewidth} \begin{align*} @@ -233,7 +245,7 @@ g_{ZOH}(t)& = \sigma(t) - \sigma(t-T) \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[-] (1, -0.1) node[below] {$T$} -- (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)$}; @@ -245,7 +257,7 @@ g_{ZOH}(t)& = \sigma(t) - \sigma(t-T) \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)) +g_{FOH}(t) = \frac{1}{T}(t\sigma(t) - 2(t-T)\sigma(t-T) +(t-2T)\sigma(t-2T)) \end{align*} \end{minipage} \begin{minipage}[c]{0.49\linewidth} @@ -257,7 +269,8 @@ g_{FOH}(t) = \frac{1}{T}(t\sigma(t) - 2t\sigma(t-T) +t\sigma(t-2T)) %\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[-] (1, -0.1) node[below] {$T$} -- (1,0.1); +\draw[-] (2, -0.1) node[below] {$2T$} -- (2,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} @@ -265,16 +278,36 @@ g_{FOH}(t) = \frac{1}{T}(t\sigma(t) - 2t\sigma(t-T) +t\sigma(t-2T)) \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$ +\textbf{FOH (First-Order-Hold).} Dieses Halteglied 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))\\ +g_{FOH}(t) &= \frac{1}{T}(t\sigma(t) - 2(t-T)\sigma(t-T) +(t-2T)\sigma(t-2T))\\ &\laplace\\ -G_{FOH}(s) &= \frac{1}{Ts^2} (1-2e^{-sT}+e^{-2sT} +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) +g_{FOH}(t) =\frac{1}{T} g_{ZOH}(t) * g_{ZOH}(t)~~ \laplace~~ G_{ZOH}^2(s) =\frac{1}{T}\cdot G_{FOH}(s) +\end{align*} + mdl. zeigt die Realisierung in MATLAB/Simulink\texttrademark. + +\textbf{Nicht-kausale Halteglieder.} In theoretischen Überlegungen spielen nicht-kausale, und damit ja nicht realisierbare, Systeme manchmal eine Rolle. +Für das symmetrische Halteglied erster Ordnung +\begin{align*} +g_{ZOH,sym}(t) = \sigma(t+T/2) - \sigma(t-T/2) ~~\laplace~~ G_{ZOH,sym}(s) = \frac{e^{-sT/2}-e^{sT/2}}{s} \end{align*} - mdl. zeigt die Realisierung in MATLAB/Simulink\texttrademark +gilt dies hier nicht, aber für das symmetrische FOH-Glied. + -\textbf{Nicht-kausale Halteglieder.} \ No newline at end of file +Für das FOH-Glied erzielt man durch Multiplikation mit $e^{sT}$ eine symmetrische Übertragungsfunktion +\begin{align*} +%g_{FOH}(t) &= \frac{1}{T}(t\sigma(t) - 2t\sigma(t-T) +t\sigma(t-2T))\\ +% &\laplace\\ +G_{FOH,sym}(s) &= \frac{1}{Ts^2} (e^{sT}-2+e^{-sT}) = G_{FOH}(s)\cdot e^{sT}~~, +\end{align*} +was im Zeitbereich der Verschiebung um $T$ nach links entspricht. Das System antwortet bereits zum Zeitpukt $t=-T$, wenn die Rampe beginnt, auf einen erst bei $t=0$ erfolgenden Impuls. +\begin{align*} +g_{FOH,sym}(t) &= \frac{1}{T}((t+T)\sigma(t+T) - 2t\sigma(t) +(t-T)\sigma(t-T))~~. +% &\laplace\\ +%G_{FOH,sym}(s) &= \frac{1}{Ts^2} (e^{sT}-2+e^{-sT}) = G_{FOH}(s)\cdot e^{sT}~~, +\end{align*} +Im Kontext der FOH-Diskretisierung hat dieses Halteglied hier eine Bedeutung. \ No newline at end of file diff --git a/4_ZOH-Diskretisierung.tex b/4_ZOH-Diskretisierung.tex index 79219bb..931e97d 100644 --- a/4_ZOH-Diskretisierung.tex +++ b/4_ZOH-Diskretisierung.tex @@ -119,7 +119,7 @@ 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) \} ~~. +G_{d,ZOH}\{ G(s) \} = 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} @@ -135,7 +135,7 @@ G_{d,ZOH}(z)= Z\{ L^{-1}\{ \frac{1-e^{-sT}}{s} \cdot G(s)\}|_{t=kT} \}~~. \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 +Aus Tabelle \ref{table:impuls} 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} \] diff --git a/5_Impulse-Diskretisierung.tex b/5_Impulse-Diskretisierung.tex index f3ad01d..fb93f5e 100644 --- a/5_Impulse-Diskretisierung.tex +++ b/5_Impulse-Diskretisierung.tex @@ -28,6 +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}{s^3}$ & $1/2 t^2$ & $1/2\cdot(kT)^2$& $\frac{T^2}{2}\frac{z(z+1)}{(z-1)^3}$ \\ $\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 diff --git a/6_FOH-Diskretisierung.tex b/6_FOH-Diskretisierung.tex index 40885c5..5ffade1 100644 --- a/6_FOH-Diskretisierung.tex +++ b/6_FOH-Diskretisierung.tex @@ -1,9 +1,127 @@ \subsection{FOH-Diskretisierung \label{sec:FOH-Diskretisierung}} +Regt man ein System mit einer rampenförmigen Funktion $u(t)=m\cdot t$ an, dann wollen wir die Systemantwort bis auf die Steigung im Folgenden als Rampenantwort $r_k(t)$ bezeichnen. +\begin{minipage}[c]{0.49\linewidth} +\begin{align*} +t = \int_0^t\sigma(\tau) d\tau +\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} + +Analog zur Abtastung der Impuls- oder Sprungantwort sei jetzt gefordert, dass das diskrete System bei Anregung mit der abgetasteten Rampe $\gamma(k)=kT$ +so antwortet, dass die $y(k)=r_d(k)$ auf der kontinuierlichen Rampenantwort liegen: +\begin{align}\label{Ramp:bed} +r_k(kT) =r_d (k)~~\laplace ~~R(z)~~ +\end{align} +Um aus der z-Transformierten der diskreten Rampenantwort $R(z)$ auf die Übertragungsfunktion zu schließen, erinnern wir uns zunächst an den folgenden Zusammenhang +\begin{align*}%\label{Ramp:bed} +h(k) = \sum_0^\infty g(k) +\end{align*} +basierend auf der Linarität des Systems, da die Sprungfunktion auch eine Summe von Impulsen darstellt. Daraus läst sich +\begin{align*}%\label{Ramp:bed} +H(z) = \sum_0^\infty z^{-k}G(z) = G(z) \sum_0^\infty z^{-k} =G(z) \frac{z}{z-1} +\end{align*} +herleiten. + +Die diskrete Rampenfuntkion lautet wie folgt: +\begin{minipage}[c]{0.49\linewidth} +\begin{align*} +\gamma (k) = kT = T\sum_{k=1} \infty \sigma(k) = T(\sum_{k=0} \infty \sigma(k) - 1) +\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} +Die Summierung von Sprungfunktionen darf erst bei $k=1$ beginnen. Dementsprechend gilt +\begin{align} +R(z) =Tz^{-1} \frac{z}{z-1} H(z)= \frac{T}{z-1} H(z) +\end{align} + + + +Für ein System $G(s)$ lautet die Laplace-Transformierte der Rampenantwort +\begin{align}\label{eq:Hvons} +R(s) = \frac{1}{s^2} G(s) \Laplace r(t)~~, +\end{align} +da sie aus der zweifachen Integration des Dirac-Inpulses entsteht. +Eien Entsprechung im z-Bereich $R(z)$ kann eventuell einer Korrespondeztabelle entnommen bzw. mit deren Hilfe ermittelt werden. Über den Zusammenhang +\[ +R(z) = \frac{T}{z-1}H(z) +\] +erhalten wir in unserem Fall +\[ +G_{FOH}(z) = \frac{T}{z-1} \frac{z}{z-1} R(z)~~. +\] + + +\textit{\textbf{Beispiel: Die Übertragungsfunktion des Integrators lautet $G(s)=1/s$. Wir suchen nach der Z-Transformierten der Abtastung von $R(s)=1/s^3$. +Tabell \ref{table:impuls} liefert uns +\[R(z)=\frac{T^2}{2}\frac{z(z+1)}{(z-1)^3} +\] +woraus wir +\[ +G_{ZOH}(z) = R(z) \frac{z-1}{z} \frac{z-1}{T} =\frac{T}{2}\frac{z+1}{z-1} +\] +ermitteln. +} +} + +Interpretieren und berechnen kann man die FOH-Diskretisierung als Reihenschaltung eines nicht-kausalen FOH-Gliedes mit dem Originalsystem, welche dann Impuls-Diskretisiert wird. Die Antwort auf den Impuls bzw. eine Impulsfolge trifft das diskrete System exakt. Das Originalsystem wird derweil mit einer linearen Interpolation der Impulse, also mit einer Aneinanderreihung von rampenförmigen Signalen angeregt. +Die Schreibweise +\begin{align*} +G_{d,FOH}\{ G(s) \} = G_{d,Impuls}\{ G_{FOH,sym}(s) \cdot G(s) \} ~~ +\end{align*} +soll den Zusammenhang darstellen, wobei die diskreten Systeme als Operatoren auf kontinuierlichen Systemen zu verstehen sind. +Eine andere Notation erklärt sich schrittweise von Innen nach Außen +\begin{enumerate} +\item Multiplikation der Übertragungsfunktionen von System und nicht kausalem FOH-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,FOH}(z)$ +\end{enumerate} +\begin{align*} +G_{d,ZOH}(z)= Z\{ L^{-1}\{ \frac{1}{Ts^2} (e^{sT} + 2 + e^{-sT})\cdot G(s)\}|_{t=kT} \}~~. +\end{align*} +\textit{\textbf{Beispiel: Für den Integrator erhalten wir +\[G_{FOH}(s)\cdot G(s) = \frac{1}{Ts^3} (e^{sT} + 2 + e^{-sT}) +\] +Mit Hilfe von Tabelle \ref{table:impuls} erhält man direkt die zugehörige z-Übertragungsfunktion für $1/s^3$ und damit +\[ +G_{d,FOH}(z) =\frac{1}{T}\frac{T^2}{2} \frac{z(z+1)}{(z-1)^3}(z-2+z^{-1}) =\frac{T}{2}\frac{z+1}{z-1} +\] +}} \textbf{Zutandsraummodell.} Betrachtet man die Rechenvorschrift zur Ermittlung eines diskreten ZRM aus dem kontinuierlichen ZRM erkennt man, dass in der Regel eine Durchgriff $\jv D_d \neq \jv 0$ entsteht, obwohl das kontinuierliche System keinen Durchgriff $\jv D_k = \jv 0$ hat. Es ergibt sich außerdem die gleiche Systemmatrix und damit die gleichen Eigenwerte, wie die folgende Zusammenfassung zeigt: diff --git a/7_Tustin-Diskretisierung.tex b/7_Tustin-Diskretisierung.tex index 33fb832..c1d7c67 100644 --- a/7_Tustin-Diskretisierung.tex +++ b/7_Tustin-Diskretisierung.tex @@ -76,6 +76,8 @@ s &= \frac{2}{T}\left(\frac{z-1}{z+1} + \frac{1}{3} (\frac{z-1}{z+1})^3 + \frac{ \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*} diff --git a/Matlab/ZOHundFOHblocks.slx b/Matlab/ZOHundFOHblocks.slx new file mode 100644 index 0000000000000000000000000000000000000000..5785a759eb8f00743910de78b4a2effdc85cf5a7 GIT binary patch literal 28109 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 literal 0 HcmV?d00001 diff --git a/Regelungstechnik.tex b/Regelungstechnik.tex index 4249dbd..e69de29 100644 --- a/Regelungstechnik.tex +++ b/Regelungstechnik.tex @@ -1,108 +0,0 @@ -%\section{Grundlagen% - % \label{sec:Grundlagen}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\subsection{Systemtheorie -- eine Auswahl% - %\label{sec:GrundlagenST}} - % -%Betrachtet werden lineare, zeitinvariante Systeme, deren Übertragungsverhalten aufgrund der Linearität im Frequenzbereich durch die Übertragungsfunktion $G(s)$ beschrieben werden kann. Im Zeitbereich wird das System vollständig durch charakteristische Funktionen wie die Impulsantwort $g(t)$ beschrieben, welches mit der Übertragungsfunktion ein Laplace-Transformationspaar bildet: -%\[g(t)~~\laplace~~ G(s)=\frac{Y(s)}{U(s)} = \frac{\Pi_{i=1}^q (s-s_{0i})}{\Pi_{i=1}^n (s-s_i)}\] -%Mit der Impulsantwort reagiert das System auf Anregung mit dem Dirac-Impulse -%\begin{align} -%\rho(t)= -%\left\{ -%\begin{array}{l} -%0~~\text{für}~t \neq 0\\ -%\infty ~~\text{für}~t = 0 -%\end{array} -%\right.;~~ -%\int_{-\infty}^{t_0} \rho(t)dt = -%\left\{ -%\begin{array}{l} -%0~~\text{für}~t_0<0 \\ -%1~~\text{für}~t_0\geq0 \neq 0\\ -%\end{array} -%\right. -%=\sigma(t_0) -%\end{align} -% -%Das Ausgangssignal $y(t)$ ergibt sich durch das Faltungsintegral des Eingangs $u(t)$ mit der Gewichtsfunktion -%\[ -%y(t) = u(t)\ast g(t) = \int_{-\infty}^t u(\tau) g(t-\tau) d\tau~~. -%\] -% -%Integration über den Dirac-Impuls liefert die Sprungfunktion, auf die das System mit der Sprungantwort $h(t)$ reagiert. Für stabile Systeme klingt die Impulsantwort ab und die Sprungantwort ist beschränkt.\\ -% -%Durch Abtastung beschränkter kontinuierlicher Signale mit der Abtastzeit $T$ erhält man Folgen, wie beispielsweise die Sprungfolge $\sigma(k)$ für $k\in \mathds{Z}$ aus der Sprungfunktion. Zu beachten ist, dass der Einheitsimpuls -%\begin{align} -%\rho(k)= -%\left\{ -%\begin{array}{l} -%0~~\text{für}~k \neq 0\\ -%1 ~~\text{für}~k = 0 -%\end{array} -%\right. =\sigma(k)-\sigma(k+1)~~ -%\end{align} -%nicht aus der Abtastung des Dirac-Impulses hervorgeht, da dieser bei null nicht beschränkt ist. Die Bedeutung des diskreten Impulses ist also eine völlig andere, nämlich dass alle diskreten Folgen, im weiteren auch Signale genannt, eine Summe von gewichteten Impulsen darstellen, verschoben um den Zeitindex $k$. -% -%Ersetz man in der Laplace-Transformation $z=e^{-sT}$, so entsteht die z-Transformation, über welche die diskrete Impulsantwort und die diskrete Übertragungsfunktion ein z-Transformationspaar bilden -%\[g(k)~~\laplace~~ G(z) = \frac{Y(z)}{U(z)} = \frac{\Pi_{i=1}^q (z-z_{0i})}{\Pi_{i=1}^n (z-z_i)}\] -%und sich ähnliche Zusammenhänge wie im Kontinuierlichen ergeben (siehe Seite \ref{ref:pdfuebersicht}). -%Über die diskrete Faltung -%\[ -%y(k) = u(k)\ast g(k) = \sum_{j=-\infty}^k u(j) g(k-j) -%\] -%ergibt sich die Systemantwort im Zeitbereich. -%\includepdf[pages=-]{bilder/Systemantworten}\label{ref:pdfuebersicht} -% -%Die Abbildung $z=e^{-sT}$ aus der $s$-Ebene in die $z$-Ebene ist in Bild \ref{fig:s-z} dargestellt. Tatsächlich wird die linke Halbebene in den Einheitskreis abgebildet und die Pole stabiler, diskreter Systeme müssen sich auch in diesem befinden. -% -%\begin{figure}[H] -%\begin{center} -%\begin{tikzpicture} -% -%\draw[->] (0,0) -- (5,0) node[below] {$Re$}; \draw[->] (2.5,-2.5) -- (2.5,2.5) node[above] {s-Ebene}; \draw[->] (2.5,-2.5) -- (2.5,2.5) node[right] {$Im$}; -%\draw[->] (6,0) -- (11,0) node[below] {$Re$}; \draw[->] (8.5,-2.5) -- (8.5,2.5) node[above] {z-Ebene}; \draw[->] (8.5,-2.5) -- (8.5,2.5) node[right] {$Im$}; -%%\draw[fill=red!20] (-2.5,0)--(2.5,5); -%\fill [fill=red!20, fill opacity=0.5] (0,-2.5) rectangle (2.5,2.5); -%\fill [dashed, fill=red!20, fill opacity=0.5] (8.5,0) circle[radius=1]; -%\draw [dashed] (8.5,0) circle[radius=1]; -% -%\draw (9.5,-0.1) -- (9.5,0.1) node[below]{1}; -% -%\end{tikzpicture} -%\caption{Korrespondenz von $s$-Ebene und $z$-Ebene\label{fig:s-z}} -%\end{center} -%\end{figure} -% -%Im Zeitbereich entstehen Modelle aus Differenzialgleichungen, welche im linearen Fall zumeist in Form eines Zustandsraummodells (ZRM) dargestellt werden können: -%\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 -%\end{align} -%Darin bezeichnet $\jv x$ den Zustandsvektor. Über die Matrix $\jv A_k$ wird ein System von Differenzialgleichungen erster Ordnung formuliert. $\jv D_k$ wird als Durchgriff bezeichnet, da es die direkte Wirkung eines Eingangssignals $\jv u(t)$ (z. B. P-Anteil beim Regler) auf den Ausgang ohne Integration beschreibt. -%Die Laplace-Transformierte der Zustandsgleichung lautet -%\begin{align*} - %s{\jv X}(s) &= \jv A_k \jv X(s) + \jv B_k \jv U(s)~~. -%\end{align*} -%Aufgelöst nach $\jv X(s)$ und eingesetzt in die Ausganbegleichung ermöglicht die Angabe der Übertragungsfunktion in Abhängigkeit von den Matrizen des ZRMs -%\begin{align*} - %{\jv G}(s) &= \jv C(s\jv I - A_k)^{-1} \jv B_k +\jv D;~~\jv K_s=\jv G(0) = -\jv C \jv A^{-1} \jv B +D -%\end{align*} -%Für $s=0$ ergibt sich die statische Verstärkung. -% -%Analog dazu ist -%\begin{align}\label{ZRM_disk} -%\jv x(k+1)&=\jv A_d \jv x(k)+\jv B_d \jv u(k),~~\jv x(0)=\jv x_0\\ -%\jv y(k) &= \jv C_d \jv x(k) + \jv D_d \jv u(k)\nonumber -%\end{align} -%ein diskretes ZRM mit Zustandsübergangs- und Ausgabegleichung . Die Auswertung erfordert immer die Kenntnis des Anfangszustands $\jv x_0$. Die hier verwendete Schreibweise wird für Mehrgrößensysteme verwendet. Im Eingrößenfall wird der Durchgriff $d$ skalar und anstelle von Matrizen bleibt ein Eingangsvektor $\jv b$ und ein Ausgangsvektor $\jv c^T$. Mit dem Verzögerungsoperator $z$ kann die entsprechende Transformation der Zustandsgleichung mit -%\begin{align*} -%x(x+1) \laplace zX(z) -%\end{align*} -%analog zum kontinuierlichen ZRM durchgeführt werden, um die Übertragungsfunktion und die statische Verstärkung -%\begin{align*} - %{\jv G}(z) &= \jv C(z\jv I - A_k)^{-1} \jv B_k +\jv D;~~\jv K_s=\jv G(1) = -\jv C \jv (\jv I - A)^{-1} \jv B +D -%\end{align*} -%zu ermitteln. Diese ergibt sich im diskreten Fall für $z=e^{0\cdot T}=1$. Übertragungs- oder Gewichtsfunktionen können im Mehrgrößenfall einfach als Matrizen geschrieben werden. -- GitLab