Initial Commit and Notes from HS24
This commit is contained in:
79
zusammenfassung/digitaltechnik/sections/codes.tex
Normal file
79
zusammenfassung/digitaltechnik/sections/codes.tex
Normal file
@@ -0,0 +1,79 @@
|
||||
\section{Codes}
|
||||
|
||||
\subsection{Tetraden-Codes}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{BCD}: Häufig benutzt, keine Rundungsfehler!
|
||||
\item \textbf{Excess-3 und Aiken}: Ziffern liegen symmetrisch im Binärfeld, günstige Verteilung für dezimale Rechenwerke
|
||||
\item \textbf{4-2-2-1}: Interessante Gewichtung für A/D Wandler
|
||||
\item \textbf{Gray und O'Brien}: Einschrittige Codes (Schwächere Auswirkung von Übertragungsfehlern), keine Fehlinformation bei Übergängen (Winkelkodierung)
|
||||
\end{itemize}
|
||||
|
||||
\begin{center}
|
||||
\includegraphics[width = 0.32\textwidth]{images/TetradenCodes.jpg}
|
||||
\end{center}
|
||||
|
||||
|
||||
\subsection{Parity-Bits}
|
||||
|
||||
Redundante Kodierung, welche Übertragungsfehler erkennen kann, solange \emph{höchstens} ein Fehler pro Bitgruppe geschieht. \medskip
|
||||
|
||||
Bitgruppe wird durch ein Parity-Bit ergänzt, welches die Bitgruppe auf geradzähligkeit ($P_E$) oder ungeradzähligkeit ($P_O$) überprüft. Der Datenempfänger kann so die Richtigkeit der Datenübertragung überprüfen.
|
||||
|
||||
\begin{center}
|
||||
\begin{minipage}{0.45\linewidth}
|
||||
\subsubsection{Korrekt mit $P_E$}
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
\begin{pgfonlayer}{l1}
|
||||
\matrix (pm) [
|
||||
matrix of nodes,
|
||||
nodes in empty cells
|
||||
]{
|
||||
0 & 1 & 0 & 1 & 0 \\
|
||||
1 & 1 & 0 & 1 & 1 \\
|
||||
1 & 0 & 1 & 1 & 1 \\
|
||||
0 & 0 & 1 & 0 & 1 \\
|
||||
0 & 0 & 0 & 1 & 1 \\
|
||||
};
|
||||
\end{pgfonlayer}
|
||||
\begin{pgfonlayer}{l1}
|
||||
\draw[] (pm-4-1.south west) -- (pm-4-4.south east) -- (pm-1-4.north east);
|
||||
\end{pgfonlayer}
|
||||
\fill[draw, thick, darkgreen!80, rounded corners = 3pt, fill opacity = 0.3] ($(pm-5-1.north west) + (1.5pt, -1.5pt)$) rectangle ($(pm-5-5.south east) + (-1.5pt, 1.5pt)$);
|
||||
\begin{pgfonlayer}{bg}
|
||||
\fill[draw, thick, blue!80, rounded corners = 3pt, fill opacity = 0.3] ($(pm-1-5.north west) + (1.5pt, -1.5pt)$) rectangle ($(pm-5-5.south east) + (-1.5pt, 1.5pt)$);
|
||||
\end{pgfonlayer}
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
\end{minipage}
|
||||
\begin{minipage}{0.45\linewidth}
|
||||
\subsubsection{Fehler mit $P_E$}
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
\begin{pgfonlayer}{l2}
|
||||
\matrix (pm) [
|
||||
matrix of nodes,
|
||||
nodes in empty cells
|
||||
]{
|
||||
0 & 1 & 0 & 1 & 0 \\
|
||||
1 & 1 & 1 & 1 & \node[text = blue] {\bfseries 1}; \\
|
||||
1 & 0 & 1 & 1 & 1 \\
|
||||
0 & 0 & 1 & 0 & 1 \\
|
||||
0 & 0 & \node[text = blue] {\bfseries 0}; & 1 & 1 \\
|
||||
};
|
||||
\end{pgfonlayer}
|
||||
\begin{pgfonlayer}{l1}
|
||||
\draw[] (pm-4-1.south west) -- (pm-4-4.south east) -- (pm-1-4.north east);
|
||||
\end{pgfonlayer}
|
||||
\begin{pgfonlayer}{bg}
|
||||
\fill[mred, draw, thick, fill opacity = 0.3, rounded corners = 3pt] (pm-1-3.north west) rectangle (pm-5-3.south east);
|
||||
\fill[mred, draw, thick, fill opacity = 0.3, rounded corners = 3pt] (pm-2-1.north west) rectangle (pm-2-5.south east);
|
||||
\end{pgfonlayer}
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
\end{minipage}
|
||||
\end{center}
|
||||
\vfill
|
||||
|
||||
Für eine Fehlerkorrektur muss zusätzlich ein Prüfwort übertragen werden, welches Spaltenweise ein Parity-Bit bildet. Der Empfänger kann so das fehlerbehaftete Bit in der Matrixdarstellung (siehe Bsp.) erkennen und korrigieren.
|
Reference in New Issue
Block a user