add Digitaltechnik and Lineare Algebra
This commit is contained in:
commit
b872f672ae
27 changed files with 940 additions and 0 deletions
202
Digitaltechnik/inhalt/01_Codierung.tex
Normal file
202
Digitaltechnik/inhalt/01_Codierung.tex
Normal file
|
@ -0,0 +1,202 @@
|
|||
\section{Codierung}
|
||||
|
||||
\subsection{Arten von Codierungen}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Zeichencodierung:} Darstellung von Schriftzeichen
|
||||
\item \textbf{Zahlencodierung:} Darstellung von Zahlenwerten
|
||||
\item \textbf{Anwendungscodierung:} Darstellung von Informationen einer Anwendung
|
||||
\item \textbf{Verschlüsselung:} Umcodierung, sodass die Daten nur mit zusätzlichen Informationen entschlüsselt werden können
|
||||
\item \textbf{Komprimierung:} Reduzierung der Datenmenge durch Umcodierung
|
||||
\item \textbf{Signalcodierung:} Darstellung abstrakter Info als \\Signal/Signalfolge
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Zeichencodierung}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{ASCII:} 7-Bit-Zeichensatz, viele nationale Zeichen nicht enthalten
|
||||
\item \textbf{ISO 8859-X:} 8-Bit-Zeichensatz, erweitert ASCII um nationale Zeichen
|
||||
\item \textbf{Unicode:} 8/16/32-Bit-Zeichensatz, enthält fast alle Schriftzeichen, enthält Fortsetzungszeichen
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Zahlencodierung}
|
||||
|
||||
\subsubsection{Abzählsysteme}
|
||||
|
||||
Jedes Symbol hat einen Symbolwert, aufaddieren der Symbolwerte ergibt den Zahlenwert.
|
||||
|
||||
\subsubsection{Fingerabzählsystem}
|
||||
|
||||
$A = \{\mathrm{Finger}\}$ \\
|
||||
$S(\mathrm{Finger}) = 1$ \\
|
||||
Wertebereich $[0, 10[$ \\
|
||||
Keine negativen Zahlen möglich, sehr einfach
|
||||
|
||||
\subsubsection{Einfache Strichliste}
|
||||
|
||||
$A = \{\mid\}$ \\
|
||||
$S(\mid) = 1$ \\
|
||||
Wertebereich $[0, \infty[$ \\
|
||||
Keine negativen Zahlen möglich, sehr einfach, keine Subtraktion möglich, Übersichtlich bis ca. $10$
|
||||
|
||||
\subsubsection{erweiterte Strichliste}
|
||||
|
||||
$A = \{\mid, \cancel{\mid\mid\mid\mid}\}$ \\
|
||||
$S(\mid) = 1$ \\
|
||||
$S(\cancel{\mid\mid\mid\mid}) = 5$ \\
|
||||
Wertebereich $[0, \infty[$ \\
|
||||
Sortieren und zusammenfassen wenn möglich \\
|
||||
Keine negativen Zahlen möglich, einfach, keine Subtraktion möglich, Übersichtlich bis ca. $50$
|
||||
|
||||
\subsubsection{Römisches Zahlensystem}
|
||||
|
||||
$A = \{I, V, X, L, C, D, M\}$ \\
|
||||
$S(I) = 1$ \\
|
||||
$S(V) = 5$ \\
|
||||
$S(X) = 10$ \\
|
||||
$S(L) = 50$ \\
|
||||
$S(C) = 100$ \\
|
||||
$S(D) = 500$ \\
|
||||
$S(M) = 1000$ \\
|
||||
Wertebereich $[0, 3999]$ \\
|
||||
Keine negativen Zahlen möglich, keine Subtraktion möglich, wenig verständlich, nicht einfach
|
||||
|
||||
\subsection{Stellenwertsysteme}
|
||||
|
||||
Gängige Stellenwertsysteme:
|
||||
|
||||
\begin{itemize}
|
||||
\item Dezimalsystem: Basis 10
|
||||
\item Binärsystem: Basis 2
|
||||
\item Oktalsystem: Basis 8
|
||||
\item Hexadezimalsystem: Basis 16
|
||||
\end{itemize}
|
||||
|
||||
Darstellung von negativen Zahlen:
|
||||
|
||||
\begin{itemize}
|
||||
\item Vorzeichen und Betrag
|
||||
\item Einerkomplement
|
||||
\item Zweierkomplement
|
||||
\end{itemize}
|
||||
|
||||
Darstellung von Kommazahlen:
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Bruchdarstellung:} Unendlich viele Möglichkeiten
|
||||
\item \textbf{Festkommadarstellung:} Feste Anzahl an Nachkommastellen (Verschiebung des Kommas)
|
||||
\item \textbf{Gleitkommadarstellung:} Mantisse und Exponent
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{IEEE 754}
|
||||
|
||||
Sign Bit $S$ statt 2er Komplement. Manitisse $M$ und Exponent $E$. \\
|
||||
$S \cdot M \cdot 2^E$
|
||||
|
||||
\paragraph{Normalisierte Darstellung} \ \\
|
||||
\textbf{Zwei Optionen:} \\
|
||||
Mantisse mit genau einer Ziffer vor dem Komma ODER
|
||||
Manitisse mit $0$ vor dem Komma und erstem Nachkommastellenzeichen $1$
|
||||
|
||||
\paragraph{reservierte Bitmuster} \ \\
|
||||
Exponent $0$: keine Normalisierung, kein Hidden Bit $\to$ Exponent = 1 - Bias \\
|
||||
$\to$ Mantisse $0$: $\pm 0$ \\
|
||||
Exponent $2^e - 1$: Zahl nicht darstellbar \\
|
||||
$\to$ Mantisse $0$: $\pm \infty$ \\
|
||||
$\to$ Mantisste $\neq 0$: NaN
|
||||
|
||||
\paragraph{Umrechnung}
|
||||
\begin{enumerate}
|
||||
\item Vorzeichen merken, weiter mit Betrag
|
||||
\item Darstellung als Festkommazahl also Exponent (Basis 10) = 0
|
||||
\item Umrechnung als Festkommazahl ins Binärsystem (Mantisse (bei 16 Bit → 10) Stellen nach der 1. “1” berechnen)
|
||||
\item Bestimmung von Exponent real durch Kommaverschiebung bei der Mantisse hinter die erste “1” (Normalisierung)
|
||||
\item Bestimmung von Exponent gespeichert (Exponent reals + Bias)
|
||||
\item Umrechnung Exponent gespeichert ins Binärsystem
|
||||
\item Notation des Bitmusters (fehlende Stellen bei Exponent mit führenden “0”, bei Mantisse mit “0” am ende auffüllen, bei zu großen Zahlen → Bitmuster für Unendlich)
|
||||
\end{enumerate}
|
||||
|
||||
\subsubsection{Codierungsmethoden}
|
||||
|
||||
\begin{itemize}
|
||||
\item Wertecodierung: Wert wird insgesamt codiert
|
||||
\item Zifferncodierng: Ziffern werden einzeln codiert
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{BCD (Binary Coded Decimal)} \ \\
|
||||
4-Bit-Code für jede Dezimalziffer, 0-9 codiert, 1010-1111 reserviert
|
||||
|
||||
\paragraph{Gray-Code} \ \\
|
||||
Wechsel nur einer Bitstelle bei aufeinanderfolgenden Zahlen, um lesefehler zu vermindern.\\
|
||||
Beginend mit $0\dots0$ je das rechteste Bit invertieren, sodass ein bislang nicht vorkommender Code entsteht.
|
||||
|
||||
\subsection{Signalcodierung}
|
||||
|
||||
Mögliche Signalarten:
|
||||
|
||||
\begin{itemize}
|
||||
\item elektrische Signale (z.B. in Computern verwendet)
|
||||
\item optische Signale
|
||||
\item mechanische Signale
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{NRZ (Non Return to Zero)}
|
||||
|
||||
symmetrische oder single-ended Pegel \\
|
||||
Während eines Bitintervalls wird ein Signalpegel gehalten.
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{TRG}: Bei jedem Pegelwechsel ist Taktrückgewinnung möglich
|
||||
\item \textbf{GSF}: Nur bei symmetrischen Pegel und gleichverteiltung von 0 und 1 Gleichstromfrei.
|
||||
\item \textbf{SSH}: Störsicherheit optimal, da nur 2 Pegel
|
||||
\item \textbf{BBB}: Halbe Schrittweite, also optimaler Bandbreitenbedarf
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{RZ (Return to Zero)}
|
||||
|
||||
symmetrische oder single-ended Pegel \\
|
||||
Während eines Bitintervalls wird ein Signalpegel gehalten, in der Mitte des Intervalls wird der Pegel auf 0 zurückgesetzt.
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{TRG}: Bei jeder 1 ist Taktrückgewinnung möglich
|
||||
\item \textbf{GSF}: in der Praxis nie Gleichstromfrei.
|
||||
\item \textbf{SSH}: Störsicherheit optimal, da nur 2 Pegel
|
||||
\item \textbf{BBB}: schlecht (vorallem bei vielen 1)
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{AMI (Alternate Mark Inversion)}
|
||||
|
||||
symmetrische Pegel + 0-Pegel. \\
|
||||
Zwei Signalpegel für die $1$-Darstellung. \\
|
||||
Die beiden Signalpegel wechseln sich ab.
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{TRG}: Bei jeder 1 ist Taktrückgewinnung möglich
|
||||
\item \textbf{GSF}: nach jeder 2ten 1 Gleichstromfrei (in der Praxis immer)
|
||||
\item \textbf{SSH}: Störsicherheit schlecht, da 3 Pegel
|
||||
\item \textbf{BBB}: Halbe Schrittweite, also optimaler Bandbreitenbedarf
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Manchester}
|
||||
|
||||
symmetrische Pegel \\
|
||||
Darstellung eines Bits mithilfe eines Pegelwechsels in der Mitte des Bitintervalls.\\
|
||||
z.B. $0 \to 01$ und $1 \to 10$
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{TRG}: immer Taktrückgewinnung möglich
|
||||
\item \textbf{GSF}: immer Gleichstromfrei
|
||||
\item \textbf{SSH}: optimal, da nur 2 Pegel
|
||||
\item \textbf{BBB}: schlecht
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{TRG ermöglichen}
|
||||
|
||||
\begin{enumerate}
|
||||
\item \textbf{Startbitsequenz}: \\
|
||||
Vor jedem Datenblock eine Startbitsequenz, die eine Taktrückgewinnung ermöglicht.
|
||||
\item \textbf{Bit-Stuffing}: \\
|
||||
Wenn zu viele gleiche Bits hintereinander auftreten, wird ein zusätzliches Bit eingefügt.
|
||||
\item \textbf{Blockcodierung}: \\
|
||||
Daten werden in Blöcke der länge n+1 umcodiert, die eine Taktrückgewinnung ermöglichen.
|
||||
\end{enumerate}
|
Loading…
Add table
Add a link
Reference in a new issue