Digitaltechnik_Roethig/Kapitel/05_Signale.tex

480 lines
19 KiB
TeX

\chapter{Einschrittiger Code}
\begin{description}
\item[Einschrittiger Code] Zahlencode, bei dem sich zwischen zwei jeweils aufeinander folgenden Werten nur genau eine Stelle ändert! Beispiel: Gray-Code\index{Einschrittiger Code}
\end{description}
\section{Gray-Code}\index{Gray-Code}
Der Gray-Code gehört weder zu den Stellenwertsystemen noch zu den Abzählsystemen!
\begin{table}[h]
\centering
\begin{tabular}{c|c}
Gray-Code & Dezimalsystem \\
\midrule
0\textcolor{blue}{000} & 0 \\
0001 & 1 \\
0011 & 2 \\
0010 & 3 \\
0\textcolor{green}{110} & 4 \\
0111 & 5 \\
0101 & 6 \\
0\textcolor{red}{100} & 7 \\
\end{tabular}
\begin{tabular}{c|c}
Gray-Code & Dezimalsystem \\
\midrule
1\textcolor{red}{100} & 8 \\
1101 & 9 \\
1111 & 10 \\
1\textcolor{green}{110} & 11 \\
1010 & 12 \\
1011 & 13 \\
1001 & 14 \\
1\textcolor{blue}{000} & 15 \\
\end{tabular}
\caption{4-stelliger Gray-Code}
\label{tbl:gray_code}
\end{table}
Es gibt zwei Varianten zur Bildung:
\begin{enumerate}[noitemsep]
\item Die Position \enquote{0} wird durch eine Folge von \enquote{0}-Symbolen repräsentiert und die jeweils nächste Position ergibt sich, indem wir die nächste (\enquote{rechteste}) Stelle ändern, bei welcher sich kein bislang verwendetes Bitmuster ergibt.
\item Erweiterung eines n-stelligen Gray-Code auf $n+1$ Stellen, indem bei den ersten $2^n$ Positionen eine \enquote{0} vorangestellt wird und bei den neuen $2^n$ Positionen die bisherigen Bitmuster in umgekehrter Reihenfolge mit vorangestellter \enquote{1} verwendet werden (siehe \autoref{tbl:gray_code}).
\end{enumerate}
\textbf{Anwendung einschrittiger Codes (Gray-Code):} \newline
Immer dann, wenn bei fortlaufenden Zahlenwerten (und deren paralleler Übertragung) falsche Zwischenwerte aufgrund unterschiedlicher Verzögerung der einzelnen Stellen verhindert werden soll, wird Gray-Code verwendet.
\textbf{Nachteil von Gray-Code}:\newline
Die Wertebestimmung ist kompliziert und es gibt keine praktisch sinnvoll anwendbare Rechenregeln.
\chapter{Signalcodierung}
Bei Signalcodierung geht es \textit{nicht} darum, \textit{was} codiert wird, sondern darum, \textit{wie} codiert wird! Und zwar als Signal, \dash als eine physisch messbare Größe.
Mögliche Signale:
\begin{itemize}[noitemsep]
\item Spannung ($V$)
\item Stromstärke ($A$)
\item Licht
\item Schall
\item elektromagnetische Wellen
\item Druck (Pneumatik, Hydraulik)
\item \ldots
\end{itemize}
Insbesondere elektrische Signale, also Spannung und Stromstärke sind für uns interessant.
\section{Elektrische Signale}
\subsection{Spannung}
\begin{figure}[h]
\centering
\begin{tikzpicture}[scale=0.9]
\draw[ultra thick]
(0,1.5) -- (0,2.5) -- (5,2.5) -- (5,1.5) node[below]{Empfänger};
\draw[ultra thick]
(0,1) -- (0,0) -- (5,0) -- (5,1);
\draw
(0,1.5) node[below]{Sender};
\path[thick, ->]
(1,0) edge (1,2.5);
\draw (1,1.25) node[right]{5V};
\end{tikzpicture}
\caption{Elektrische Signale zwischen Sender und Empfänger}
\label{fig:strom_spannung}
\end{figure}
\begin{figure}[h]
\begin{align}
U&=R\cdot I \\
\label{eq:URI}
P&=U\cdot I \\
Q&=C\cdot U
\end{align}\vspace{-7mm}
\caption{Wichtige Formeln für elektrische Signale}
\end{figure}
In \autoref{fig:strom_spannung} beträgt die Spannung zwischen Sender und Empfänger $5V$. Tatsächlich liegt sie aber unter $5V$, da die Leitung selbst ein Widerstand $R$ ist und aus \autoref{eq:URI} hervorgeht, dass diese für die Berechnung der Spannung ausschlaggebend ist, genauso wie der Strom $I$.
Außerdem kann es zu Spannungsänderungen durch elektromagnetische Störstrahlung kommen!
\textit{Doch welche Spannung wird genutzt und welche Werte bedeuten was?}\newline
Hierfür wird \zB der \acs{TTL} Pegel genutzt\footnote{siehe \url{https://de.wikipedia.org/wiki/Transistor-Transistor-Logik}} (eingeführt Anfang der 1960er Jahre von Texas Instruments, um standardisierte Pegelwerte und interoperable Bausteine zu ermöglichen).\newline
\hspace*{5mm}$0 \hat{=} 0V$ \quad und \quad $1 \hat{=} 5V$
Innerhalb des Rechners sind heute eher niedrigere Spannungshübe üblich (\zB $3,3V$, $1,6V$), jedoch sind diese störanfälliger gegen Störeinstrahlung! Der Vorteil ist ein schnelleres Erreichen einer Spannung nahe der Nennspannung (kapazitive Wirkung).\newline
Nachteil größerer Spannungen ist zudem ein höherer Energieverbrauch und damit auch eine höhere Wärmeentwicklung und eine niedrigere Lebenserwartung der Bauteile.
\subsection{Strom}
Dem gegenüber steht der Strom: Es gibt keine Anfälligkeit für Störungen oder Spannungsabfälle durch hohe Leitungswiderstände $\Rightarrow$ beim Empfänger fließt immer der gleiche Strom wie beim Sender (denn in einem geschlossenen Stromkreis ist der Strom $I$ immer gleich).
Nachteil: Es gibt einen viel höheren Energieverbrauch (um den Strom fließen lassen zu können, auch bei hohem Leitungswiderstand ist eine sehr hohe Spannung notwendig, \ldots).
$\Rightarrow$ In Rechnern sind deshalb Spannungen die üblichen Signale (heutzutage kleine Spannungen).
\section{Übertragung von mehr als 1~Bit}
\begin{itemize}[noitemsep]
\item gleichzeitig/parallel: \zB mehrere Leitungen (Raum-Multiplex)
\item sequenziell/nacheinander: \zB getaktete Übertragung. Es kann eine Taktleitung geben, die die Dauer/den Takt für die Übertragung vorgibt (siehe \autoref{fig:takt})
\end{itemize}
\begin{figure}[h]
\centering
\begin{tikzpicture}[scale=0.9]
\draw[ultra thick]
node[left]{Takt} (0,0)--(1,0)--(1,1)--(2,1)--(2,0)--(3,0)
--(3,1)--(4,1)--(4,0)--(5,0)--(5,1)--(6,1)
--(6,0)--(7,0)--(7,1)--(8,1)--(8,0)--(9,0);
\end{tikzpicture}
\begin{tikzpicture}[scale=0.9]
\draw[ultra thick]
node[left]{Daten} (0,0)--(1,0)--(1,1)--(2,1)
--(3,1)--(4,1)--(4,0)--(5,0)--(5,1)--(6,1)
--(6,0)--(7,0)--(8,0)--(9,0);
\draw
(1.25,0.5) node[right]{1}
(2.25,0.5) node[right]{1}
(3.25,0.5) node[right]{1}
(4.25,0.5) node[right]{0}
(5.25,0.5) node[right]{1}
(6.25,0.5) node[right]{0}
(7.25,0.5) node[right]{0}
(8.25,0.5) node[right]{0};
\end{tikzpicture}
\caption{Getaktete Signale}
\label{fig:takt}
\end{figure}
\section{Getaktete Übertragung}
Es werden vier Verfahren zur getakteten Übertragung aufgezeigt. Für jedes Verfahren werden folgende vier Eigenschaften beschrieben:
\begin{description}
\item[a) \acf{TRG}]\footnote{siehe auch \url{https://de.wikipedia.org/wiki/Taktr\%C3\%BCckgewinnung}}\index{Taktrückgewinnung}\hfill\newline
Möglichkeit, beim Empfänger den Takt des Senders nur aus den empfangenen Daten zu resynchronisieren. Grundsätzlich ist dies immer dann möglich, wenn ein Pegelwechsel zu einem vorgegebenen Zeitpunkt stattfindet.
\item[b) \acf{BBB}]\index{Bandbreitenbedarf} \hfill\newline
\textit{Aussage: Jeder Übertragungskanal ist bandbreitenbeschränkt.}
\textbf{Shannon/Nyquist-Theorem}\index{Shannon-Theorem}\newline
Schrittrate $=$ doppelte Bandbreite (bei Datenübertragung/bei Frequenzabtastung).
Der \acf{BBB} gibt an, welche Bandbreite\footnote{siehe auch \url{https://de.wikipedia.org/wiki/Bandbreite}} bei einer bestimmten Schrittrate und Signalcodierungsverfahren auf dem Übertragungskanal benötigt wird (zu ersehen aus der höchsten Frequenz auf der Leitung bei einem beliebigen Bitmuster).
\item[c) \acf{GSF}]\index{Gleichstromfreiheit} \hfill\newline
Im Mittel sollen \enquote{0V} auf der Leitung liegen, um eine Potentialverschiebung beim Empfänger zu verhindern (Pseudoargument für \acs{GSF}: keine Energieübertragung vom Sender zum Empfänger).
Grundvoraussetzung für \acs{GSF} sind (bei fast jedem Verfahren) symmetrische Pegel, \zB $5V\hat{=}1$ und $-5V\hat{=}0$.
\item[d) \acf{SSH}]\index{Störsicherheit} \hfill\newline
Unanfälligkeit des Verfahrens gegenüber Spannungsänderungen auf der Leitung, welche von außen induziert werden $\Rightarrow$ direkt abhängig von der Anzahl zu unterscheidender Spannungspegel.
\end{description}
\subsection{1. \acf{NRZ}}\index{NRZ}
Während der gesamten Takt-/Schritt-/Bitzeit wird der Pegel angelegt, welcher dem zu übertragenden Bit (\enquote{0} oder \enquote{1}) entspricht.
\subsubsection{a) \acl{TRG} bei \acs{NRZ}}
Immer bei \enquote{10}- oder \enquote{01}-Folgen im Datenstrom \newline
Keine \acs{TRG} bei \acs{NRZ}, falls über längere Zeit nur \enquote{0} oder nur \enquote{1} übertragen werden.
Abhilfe, um TRG bei NRZ immer vor einer gewissen Anzahl von Bits zu ermöglichen:
\textit{\uline{1. Startbitsequenz}} \zB \enquote{01} vor jedem Byte/ jeder 8-Bit-Folge
Frage: \textit{Wie genau müssen dann die Uhren laufen?}\newline
Die Uhren dürfen während der gesamten Sequenz (Startbitsequenz + Daten) um maximal $\frac{1}{2}$ Schrittzeit voneinander abweichen.
Jeder der beiden (Sender \& Empfänger) darf jeweils nur um $\frac{1}{4}$ Schrittzeit vom Normaltakt abweichen!
$Abweichung_{erlaubt_{max}} = \frac{\frac{1}{4} Schrittzeit}{(2+8) Schrittzeit} = \frac{\frac{1}{4}}{10} = 2,5\%$
Falls die Uhren ungenauer sind $\Rightarrow$ häufigeres Senden der Startbitsequenz.
Nachteil: kleinere Nettodatenrate (= Verhältnis Nutzdaten zu Schritten).
Schrittrate = Baudrate\footnote{siehe \url{https://de.wikipedia.org/wiki/Baud}} \index{Baudrate} \newline
Nutzrate = Bitrate\index{Nutzrate}
$\text{Bitrate} = \frac{\text{Anzahl Nutzdatenbit}}{\text{Anzahl Schritte}} \cdot \text{Baudrate} = \frac{8}{2+8} = 80\% \cdot \text{Baudrate}$\index{Bitrate}
\textit{\uline{2. Bitstuffing}} (\enquote{Bitstopfen})\footnote{siehe \url{https://de.wikipedia.org/wiki/Bitstopfen}}]\index{Bitstuffing}\hfill\newline
Nach jeweils $n$ ($n$ ist eine feste, vorgegebene Zahl, \zB $n=4$) gleichen Nutzdatenbits wird ein Bit mit dem entgegengesetzten Wert eingefügt (\enquote{eingestopft}).
0010000\uline{1}0011101111\uline{0}1111\uline{0}0000\uline{1}11 \quad $\Rightarrow$ \quad Die unterstrichenen Zahlen werden \enquote{eingestopft}.
Beim Empfänger wird nach $n$ gleichen Bits das nächste empfangene Bit als Stopfbit aus dem Nutzdatenstrom entfernt, sofern es den entgegengesetzten Wert hat.\newline
Bei gleichem Wert $\Rightarrow$ Fehlermeldung!
Vorteil: In jedem Fall bessere Nettodatenrate als bei Startbitsequenz: Im Besten Fall Nettodatenrate = Schrittrate. Im schlechtesten Fall Nettodatenrate = $\frac{n}{n+1}\cdot Schrittrate$
Nachteile:
\begin{itemize}[noitemsep]
\item komplexes Verfahren und damit fehleranfällig
\item keine konstante Nutzdatenrate
\end{itemize}
Bitstuffing wird nicht nur verwendet, um TRG zu ermöglichen, sondern auch, um bestimmte Bitmuster in den Nutzdaten auszuschließen $\Rightarrow$ \enquote{Frame Delimiter} bei Ethernet.
\subsubsection{b) \acl{BBB} bei \acs{NRZ}}
Halbe Schrittrate, also minimal (H. Shannan/Nyquist) -- entspricht der Frequenz beim Bitmuster \enquote{1010101010\ldots}.
\subsubsection{c) \acl{GSF} bei \acs{NRZ}}
Die \acl{GSF} ist bei \acs{NRZ} erfüllt, falls \#\enquote{1} $=$ \#\enquote{0} ist, bzw. falls \enquote{1} und \enquote{0} im Datenstrom gleichverteilt sind und es symmetrische Pegel sind! $\Rightarrow$ Davon können wir oft nicht ausgehen!
\begin{Hinweis}
Bei Verschlüsselung kann davon ausgegangen werden, dass Nullen und Einsen gleich verteilt sind, da dadurch keine Häufigkeitsanalyse möglich ist! Hier wäre eine \acl{GSF} möglich.
\end{Hinweis}
\subsubsection{d) \acl{SSH} bei \acs{NRZ}}
Die \acl{SSH} ist bei \acs{NRZ} optimal, da nur zwei Spannungen unterschieden können werden müssen.
\subsection{2. \acf{RZ}}
\begin{figure}[h]
\centering
\begin{tikzpicture}[scale=0.9]
\draw
(0.25,2) node[right]{1}
(1.25,2) node[right]{0}
(2.25,2) node[right]{1}
(3.25,2) node[right]{0}
(4.25,2) node[right]{1}
(5.25,2) node[right]{1}
(6.25,2) node[right]{1}
(7.25,2) node[right]{0}
(8.25,2) node[right]{0}
(9.25,2) node[right]{0}
(10.25,2) node[right]{0}
(11.25,2) node[right]{1}
(12.25,2) node[right]{1};
\draw[ultra thick]
(0,0.5) node[left]{NRZ} (0,1)--(1,1)--(1,0)--(2,0)--(2,1)--(3,1)--(3,0)--
(4,0)--(4,1)--(5,1)--(7,1)--(7,0)--(11,0)--(11,1)--(13,1)--(13,0);
\draw[ultra thick]
(0,-1.5) node[left]{RZ} (0,-1)--(0.5,-1)--(0.5,-2)--(2,-2)--(2,-1)--
(2.5,-1)--(2.5,-2)--(4,-2)--(4,-1)--(4.5,-1)--(4.5,-2)--(5,-2)--(5,-1)--
(5.5,-1)--(5.5,-2)--(6,-2)--(6,-1)--(6.5,-1)--(6.5,-2)--(11,-2)--(11,-1)--
(11.5,-1)--(11.5,-2)--(12,-2)--(12,-1)--(12.5,-1)--(12.5,-2)--(13,-2);
\path[thick,red!80!black,<->]
(2,0.7) edge (3,0.7)
(1,0.3) edge (3,0.3);
\draw[red!80!black] (2.5,1.1) node[above] {Schrittzeit}
(2,-0.6) node[above] {Periodendauer};
\path[thick,red!80!black,<->]
(4,-1.3) edge (5,-1.3)
(4,-1.7) edge (5,-1.7);
\draw[red!80!black] (4.5,-1) node[above] {Schrittzeit}
(4.5,-2.6) node[above] {Periodendauer};
\end{tikzpicture}
\caption{NRZ und RZ im Vergleich}
\label{fig:nrz_rz_vergleich}
\end{figure}
Im Unterschied zu \acs{NRZ} wird bei \acs{RZ} jede Schrittzeit in zwei Hälften eingeteilt. Während der ersten Hälfte wird derselbe Pegel wie bei \acs{NRZ} übertragen, während der zweiten Hälfte wird jedoch immer der \enquote{0}-Pegel übertragen! Dies wird in \autoref{fig:nrz_rz_vergleich} dargestellt.
\subsubsection{a) \acl{TRG} bei \acs{RZ}}
\acl{TRG} gibt es bei jeder \enquote{1}. Nur bei nur \enquote{0} gibt es keine \acs{TRG}.
\textit{\uline{1. Startbitsequenz}}\newline
Ein einfaches Startbit \enquote{1} reicht aus!
\textit{\uline{2. Bitstuffing}} \newline
Stopfbit nur nach $n$ \enquote{0}-Bit notwendig!
$\Rightarrow$ Jeweils nur noch ungefähr halber Overhead gegenüber Einsatz bei \acs{NRZ}!
\subsubsection{b) \acl{BBB} bei \acs{RZ}}
Ganze Schrittrate, also doppelt so viel wie nötig (entspricht der Frequenz beim Bitmuster \enquote{1111111\ldots}). \newline
\autoref{fig:nrz_rz_vergleich} zeigt beispielhaft die unterschiedliche Schrittzeit und Periodendauer zwischen \acs{NRZ} und \acs{RZ}.
\subsubsection{c) \acl{GSF} bei \acs{RZ}}
\acl{GSF} bei \acs{RZ}:
\begin{itemize}[noitemsep]
\item bei symmetrischem Pegel: nur \enquote{1}
\item bei \enquote{single-ended}-Pegeln: nur \enquote{0}
\item bei \#\enquote{1} $=$ \#\enquote{0}: andere Pegel notwenig, \zB $1\hat{=}7,5V$, $0\hat{=}-2,5V$
\end{itemize}
De facto nie \acs{GSF} bei \acs{RZ}.
\subsubsection{d) \acl{SSH} bei \acs{RZ}}
Die \acl{SSH} ist bei \acs{RZ} optimal, da nur zwei Spannungen unterschieden können werden müssen.
\subsection{3. \acf{AMI}}\index{Alternate Mark Inversion}
\begin{figure}[h]
\centering
\begin{tikzpicture}[scale=0.9]
\draw
(0.25,0.5) node[right]{0}
(1.25,0.5) node[right]{1}
(2.25,0.5) node[right]{0}
(3.25,-0.5) node[right]{1}
(4.25,0.5) node[right]{0}
(5.25,0.5) node[right]{1}
(6.25,-0.5) node[right]{1}
(7.25,0.5) node[right]{1}
(8.25,0.5) node[right]{0}
(9.25,0.5) node[right]{0}
(10.25,0.5) node[right]{0};
\draw[ultra thick]
(0,0) node[left]{AMI} (0,0)--(1,0)--(1,1)--(2,1)--(2,0)--(3,0)--(3,-1)--
(4,-1)--(4,0)--(5,0)--(5,1)--(6,1)--(6,-1)--(7,-1)--(7,1)--(8,1)--(8,0)--
(11,0);
\end{tikzpicture}
\caption{\acl{AMI}}
\label{fig:ami}
\end{figure}
Ähnlich wie \acs{NRZ} mit \enquote{single-ended} Pegeln, aber Einsen (\enquote{1}) werden abwechselnd mit jeweils entgegengesetzten symmetrischen Regeln (\zB $+5V$ und $-5V$) übertragen. \autoref{fig:ami} zeigt dies.
\subsubsection{a) \acl{TRG} bei \acs{AMI}}
Bei jeder \enquote{1} (wie bei \acs{RZ}, entsprechend Startbit bzw. Bitstuffing).
\subsubsection{b) \acl{BBB} bei \acs{AMI}}
Halbe Schrittrate, also minimal (laut H. Shannan/Nyquist).
\subsubsection{c) \acl{GSF} bei \acs{AMI}}
Nach jeder zweiten \enquote{1} (also bei einer geraden Anzahl an Einsen). $\Rightarrow$ Der Gleichstrom-Anteil ist bei entsprechend großer Anzahl Bit vernachlässigbar).
\subsubsection{d) \acl{SSH} bei \acs{AMI}}
Die \acl{SSH} ist bei \acs{AMI} schlecht, da für ein Bit drei Spannungen notwendig sind.
\subsection{4. Manchester-Codierung}
\begin{figure}[h]
\centering
\begin{tikzpicture}[scale=0.9]
\path[black,ultra thick,->]
(0,0) node[left]{Manchester}
(0,0) edge (0.5,1)
(1,1) edge (1.5,0)
(2,0) edge (2.5,1)
(3,1) edge (3.5,0)
(4,0) edge (4.5,1)
(5,0) edge (5.5,1)
(6,1) edge (6.5,0)
(7,1) edge (7.5,0);
\path[blue!50!black,thick,->]
(4.75,1) edge (4.75,0)
(6.75,0) edge (6.75,1);
\end{tikzpicture}
\caption{Manchester-Codierung}
\label{fig:manchester}
\end{figure}
Datenbit wird über einen Pegelwechsel zur Mitte der Schrittzeit definiert.
Steigende Flanke $\hat{=}$ \enquote{1}, Fallende Flanke $\hat{=}$ \enquote{0} (kann auch umgekehrt definiert sein. \textit{Hinweis:} Flanke $=$ Pegelwechsel)
Gegebenenfalls muss ein weiterer Pegelwechsel zu Beginn der Schrittzeit eingefügt werden (siehe blaue Pfeile in \autoref{fig:manchester}).
\subsubsection{a) \acl{TRG} bei Manchester}
Immer (bei allen übertragenen Daten) in jeder Schrittzeit möglich (aber: Abweichung darf insgesamt nur $\frac{1}{4}$~Schrittzeit betragen).
\subsubsection{b) \acl{BBB} bei Manchester}
Entspricht der Schrittrate und damit doppelt so viel wie nötig (Frequenz tritt bei \enquote{111111\ldots} und \enquote{00000\ldots} auf).
\subsubsection{c) \acl{GSF} bei Manchester}
Immer (bei symmetrischen Pegeln), da sich die Pegel in der ersten und zweiten Hälfte jeder Schrittzeit ausgleichen.
\subsubsection{d) \acl{SSH} bei Manchester}
Optimal, da nur zwei Pegel verwendet werden.
\bigskip
\begin{table}[ht]
\subsection{Vergleich der Signalcodierungsverfahren}
\centering
\begin{tabular}{p{20mm}|p{30mm}|p{49mm}|p{19mm}|p{22mm}}
& \acs{TRG}
& \acs{GSF} (Grundvoraussetzung: symmetrische Pegel)
& \acs{BBB}
& \acs{SSH}
\\ \midrule
\acs{NRZ}
& \textcircled{--} \textcircled{--} bei jeder \enquote{01}- oder \enquote{10}-Folge
& \textcircled{--} bei $\#1=\#0$ ($1$ und $0$ gleichverteilt)
& \textcircled{+} halbe Schrittrate
& \textcircled{+} optimal (2 Pegel)
\\ \midrule
\acs{RZ}
& \textcircled{--} bei jeder \enquote{1}
& \textcircled{--}\textcircled{--} nur 1 (bei symmetrischen Pegeln) bzw. nur 0 (bei single-ended Pegel) bzw. komischen Pegelverhältnis (bei $\#1=\#0$)
& \textcircled{--} ganze Schrittrate
& \textcircled{+} optimal (2 Pegel)
\\ \midrule
\acs{AMI}
& \textcircled{--} bei jeder \enquote{1}
& \textcircled{+} bei jeder zweiten $1$, also praktisch immer
& \textcircled{+} halbe Schrittrate
& \textcircled{--} schlechter (3 Pegel)
\\ \midrule
Manchester
& \textcircled{+} immer
& \textcircled{+} \textcircled{+} wirklich immer
& \textcircled{--} ganze Schrittrate
& \textcircled{+} optimal (2 Pegel)
\\
\end{tabular}
\caption{Vergleich der Signalcodierungsverfahren}
\end{table}