aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/reedsolomon
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--buch/papers/reedsolomon/dtf.tex111
-rw-r--r--buch/papers/reedsolomon/figures/plotfft.pdfbin59617 -> 59617 bytes
-rw-r--r--buch/papers/reedsolomon/idee.tex75
-rw-r--r--buch/papers/reedsolomon/standalone/standalone.pdfbin1835615 -> 1835758 bytes
-rw-r--r--buch/papers/reedsolomon/tikz/plotfft.tex4
-rw-r--r--buch/papers/reedsolomon/tikz/plotfftraw.tex80
-rw-r--r--buch/papers/reedsolomon/tikz/polynom2.tex2
-rw-r--r--buch/papers/reedsolomon/tikz/polynomraw.tex50
8 files changed, 231 insertions, 91 deletions
diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex
index e9aacfb..4552bed 100644
--- a/buch/papers/reedsolomon/dtf.tex
+++ b/buch/papers/reedsolomon/dtf.tex
@@ -1,74 +1,85 @@
%
-% teil3.tex -- Beispiel-File für Teil 3
+% dtf.tex -- Idee mit DFT
%
-% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
-%
-\section{Übertragung mit hilfe der Diskrete Fourier Transformation
+\section{Übertragung mit Hilfe der Diskrten Fourientransformation
\label{reedsolomon:section:dtf}}
\rhead{Umwandlung mit DTF}
-Um die Polynominterpolation zu umgehen, gehen wir nun über in die Fourientransformation.
+Um die Polynominterpolation zu umgehen, gehen wir nun über in die Fourietransformation.
Dies wird weder eine Erklärung der Forientransorfmation, noch ein genauer gebrauch für den Reed-Solomon-Code.
-Dieser Abschnitt zeigt nur wie die Fourientransformation auf Fehler reagiert.
-wobei sie dann bei späteren Berchnungen ganz nützlich ist.
+Dieser Abschnitt zeigt nur wie die Fourietransformation auf Fehler reagiert.
+Das ganze zeigen wir mit einem Beispiel einer Übertragung von Zahlen mit Hilfe der Fourietransformation.
\subsection{Diskrete Fourietransformation Zusamenhang
\label{reedsolomon:subsection:dtfzusamenhang}}
Mit hilfe der Fourietransformation werden die \textcolor{blue}{blauen Datenpunkte} transformiert,
zu den \textcolor{darkgreen}{grünen Übertragungspunkten}.
Durch eine Rücktransformation könnnen die \textcolor{blue}{blauen Datenpunkte} wieder rekonstruiert werden.
-Nun zur definition der Diskrete Fourietransformation, diese ist definiert als
-\begin{equation}
- \hat{c}_{k}
- = \frac{1}{N} \sum_{n=0}^{N-1}
- {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn}
- ,\label{reedsolomon:DFT}
-\end{equation}
-wenn man nun
-\begin{equation}
- w =
- e^{-\frac{2\pi j}{N} k}
- \label{reedsolomon:DFT_summand}
-\end{equation}
-ersetzte, und $N$ konstantbleibt, erhält man
-\begin{equation}
- \hat{c}_{k}=
- \frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N)
- \label{reedsolomon:DFT_polynom}
-\end{equation}
-was überaust ähnlich zu unserem Polynomidee ist.
-\subsection{Beispiel
+\subsubsection{Beispiel einer Übertragung
\label{reedsolomon:subsection:Übertragungsabfolge}}
Der Auftrag ist nun 64 Daten zu übertragen und nach 32 Fehler abzusicheren,
16 Fehler erkennen und rekonstruieren.
-Dieser Auftrag soll mittels Fouriertransformation bewerkstelligt werden.
-In der Abbildung \ref{reedsolomon:subsection:Übertragungsabfolge} sieht man dies Schritt für schritt,
+Dieser Auftrag soll mittels Fouriertransformation bewerkstelligt werden.
+In der Abbildung \ref{reedsolomon:subsection:Übertragungsabfolge} sieht man dies Schritt für Schritt,
und hier werden die einzelne Schritte erklärt:
\begin{enumerate}[(1)]
-\item Das Signal hat 64 die Daten, Zahlen welche übertragen werden sollen.
-Dabei zusätzlich nach 16 Fehler abgesichert, macht insgesamt 96 Übertragungszahlen.
-(siehe Abschnitt \externaldocument{papers/reedsolomon/idee}\ref{reedsolomon:section:Fehlerkorrekturstellen})
-Die 32 Fehlerkorrekturstellen werden als Null Übertragen
-\item Nun wurde mittels der diskreten Fourientransformation diese 96 codiert.
-Das heisst alle Informationen ist in alle Zahlenvorhanden. (Auch die Fehlerkorrekturstellen Null)
-\item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75.(die Skala ist Rechts)
-Die Fehler können auf den ganzen 96 Übertragungswerten liegen, wie die 75 zeigt.
-\item Dieses wird nun Empfangen und mittels inversen diskreten Fourientransormation, wieder rücktransformiert.(Iklusive der Fehler)
-\item Nun sieht man den Fehler im Decodieren in den Übertragungsstellen 64 bis 96, da es dort nicht mehr Null ist.
-\item Nimmt man nun nur diese Stellen 64 bis 96, dies definieren wir als Syndrom, und transformiert nur dieses Syndrom.
-\item Bekommt man die Fehlerstellen wieder, zwar nichtso genau, dennoch erkennt man wo die Fehler stattgefunden haben.
-Dies definieren wir als Locator.
-\end{enumerate}
-Nun haben wir mit Hilfe der Fourietransformation die 3 Fehlerstellen durch das Syndrom lokalisiert,
-jetzt gilt es nur noch diese zu korrigieren und wir haben unser originales Signal wieder.
-
+ \item Das Signal hat 64 die Daten $k$, hier zufällige Zahlen, welche übertragen werden sollen.
+ Zusätzlich soll nach 16 Fehler $t$, die rekonstruierbar sind abgesichert werden.
+ Das macht dann insgesamt $k + 2t =
+ 64 +2 \cdot 16= 96$ Übertragungszahlen.
+ (siehe Abschnitt \externaldocument{papers/reedsolomon/idee}\ref{reedsolomon:section:Fehlerkorrekturstellen})
+ Die 32 Fehlerkorrekturstellen werden als Nullzahlen Übertragen.
+ \item Nun werden mittels der diskreten Fourietransformation diese 96 codiert, transformiert.
+ Das heisst alle Informationen ist in alle Zahlenvorhanden, auch die Fehlerkorrekturstellen Nullzahlen.
+ \item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75.
+ Die Fehler können auf den ganzen 96 Übertragungswerten liegen, wie die 75 zeigt.
+Zu Beachten ist auch noch, dass der Fehler um das 20- bis 150-Fache kleiner ist.Die Fehlerskala ist rechts.
+ \item Dieses wird nun Empfangen, man kann keine Fehler erkennen, da diese soviel kleiner sind.
+ Für das Decodieren wird die Inverse Fourietransformation angewendet, und alle Fehler werden mittransformiert.
+ \item Nun sieht man die Fehler im decodierten Signal in den Übertragungszahlen.
+ Von den Übertragungsstellen 64 bis 96 erkennt man, das diese nicht mehr Null sind.
+ \item Diese Fehlerkorrekturstellen 64 bis 96, dies definieren wir als Syndrom.
+ In diesem Syndrom ist die Fehlerinformation gespeichert und muss nur noch transformiert werden.
+ \item Hier sieht man genau wo die Fehler stattgefunden haben.
+ Leider nicht mehr mit der Qualtiätt der Ursprünglichen Fehler, sie sind nur noch 0.6 oder 0.4 gross.
+ Obwohl der Fehler um das 20Fache kleiner ist erkennt man im Locator die Fehlerstellen wieder.
+ \end{enumerate}
+ Nun haben wir mit Hilfe der Fourietransformation die 3 Fehlerstellen durch das Syndrom lokalisiert,
+ jetzt gilt es nur noch diese zu korrigieren und wir haben unser originales Signal wieder.
\begin{figure}
\centering
- \resizebox{\textwidth}{!}{
+ \resizebox{1.1\textwidth}{!}{
\includegraphics[width=\textwidth]{papers/reedsolomon/figures/plotfft}
- %\input{papers/reedsolomon/images/plotfft.tex}
+ %\input{papers/reedsolomon/tikz/plotfftraw.tex}
}
\caption{Übertragungsabfolge \ref{reedsolomon:subsection:Übertragungsabfolge}}
\label{fig:sendorder}
-\end{figure} \ No newline at end of file
+\end{figure}
+
+Nun zur Definition der Diskrete Fourietransformation, diese ist definiert als
+ \begin{equation}
+ \hat{c}_{k}
+ = \frac{1}{N} \sum_{n=0}^{N-1}
+ {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn}.
+ ,\label{reedsolomon:DFT}
+ \end{equation}
+ Wenn man nun
+ \begin{equation}
+ w =
+ e^{-\frac{2\pi j}{N} k}
+ \label{reedsolomon:DFT_summand}
+ \end{equation}
+ ersetzte, und $N$ konstantbleibt, erhält man
+ \begin{equation}
+ \hat{c}_{k}=
+ \frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N)
+ \label{reedsolomon:DFT_polynom}
+ \end{equation}
+ was überaust ähnlich zu unserem Polynomidee ist.
+Die Polynominterpolation und die Fourietransformation rechnen beide mit reelen Zahlen.
+Wenn die Fehlerabweichung sehr sehr klein ist, erkennt man diese irgendwann nicht mehr.
+Zusätzlich muss mann immer Grenzen bestimmen auf wieviel Stellen gerechnet wird und wie die Fehler erkannt werden im Locator.
+Deshalb haben Mathematiker einen neuen Körper gesucht und ihn in der Endlichkeit gefunden,
+dies wird nun im nächsten Abschnitt genauer erklärt.
+
diff --git a/buch/papers/reedsolomon/figures/plotfft.pdf b/buch/papers/reedsolomon/figures/plotfft.pdf
index c5e21e3..80d17d2 100644
--- a/buch/papers/reedsolomon/figures/plotfft.pdf
+++ b/buch/papers/reedsolomon/figures/plotfft.pdf
Binary files differ
diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex
index 8ad3d27..41e0d4c 100644
--- a/buch/papers/reedsolomon/idee.tex
+++ b/buch/papers/reedsolomon/idee.tex
@@ -1,8 +1,6 @@
%
% idee.tex -- Polynom Idee
%
-% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
-%
\section{Idee
\label{reedsolomon:section:idee}}
\rhead{Problemstellung}
@@ -12,20 +10,20 @@ Doch nur schon um Fehler zu erkennen werden überproportional viele Daten doppel
Der Reed-Solomon-Code macht dies auf eine andere, clevere Weise.
Das Problem liegt darin Informationen, Zahlen,
zu Übertragen und Fehler zu erkennen.
-Beim Reed-Solomon-Code kann man nicht nur Fehler erkennen,
+Speziell beim Reed-Solomon-Code kann man nicht nur Fehler erkennen,
man kann sogar einige Fehler korrigieren.
-Der unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage beantwortet wird mit: Ist die Übertragung fehlerhaft oder nicht?
-Beim Korrigieren werden Fehler erkennt und dann zusätzlich noch den original Wert rekonstruieren.
-Auch eine Variante wäre es die Daten nach einem Fehler nachdem Fehlerhaften senden, nochmals versenden(auch hier wieder doppelt und dreifach Sendung),
+Der Unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage beantwortet wird: Ist die Übertragung fehlerhaft oder nicht?
+Beim Korrigieren werden Fehler erkannt und dann zusätzlich noch den original Wert rekonstruieren.
+Auch eine Variante wäre die Daten nach einer Fehlerhaften sendung, nochmals zum senden auffordern(auch hier wird doppelt und dreifach gesendung),
was bei Reed-Solomon-Code-Anwendungen nicht immer sinnvoll ist.
-\externaldocument{papers/reedsolomon/anwendungen}
-\ref{reedsolomon:section:anwendung}
+Anwendungen finden sind im Abchnitt \externaldocument{papers/reedsolomon/anwendungen}
+\ref{reedsolomon:section:anwendung} beschrieben.
\subsection{Polynom-Ansatz
\label{reedsolomon:section:polynomansatz}}
\rhead{Polynom-Ansatz}
-Eine Idee ist aus den Daten ein Polynom zu bilden.
-Diese Polynomfunktion bei bestimmten Werten, ausrechnet und diese Punkte dann überträgt.
+Eine Idee ist, aus den Daten ein Polynom zu bilden.
+Diese Polynomfunktion bei bestimmten Werten errechnet und diese Punkte dann überträgt.
\begin{beispiel} Nehmen wir die Zahlen \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5},
welche uns dann das Polynom
\begin{equation}
@@ -43,54 +41,55 @@ mit den Punkten, $p(1),p(2),...,p(7) = (\textcolor{darkgreen}{8},
\textcolor{darkgreen}{41}, \textcolor{darkgreen}{60},
\textcolor{darkgreen}{83}, \textcolor{darkgreen}{110})$
Wenn ein Fehler sich in die Übertragung eingeschlichen hat, muss der Leser/Empfänger diesen erkennen und das Polynom rekonstruieren.
-Der Leser/Empfänger weiss, den Grad des Polynoms und dessen Werte übermittelt wurden.
+Der Leser/Empfänger weiss, den Grad des Polynoms und dessen \textcolor{darkgreen}{Werte} übermittelt wurden.
Die Farbe blau brauchen wir für die \textcolor{blue}{Daten} welche wir mit der Farbe grün \textcolor{darkgreen}{Übermitteln}.
\end{beispiel}
\begin{beispiel}
-Aus der Gleichung \eqref{reedsolomon:equation1},
-ist ein Polynome zweiten Grades durch drei Punkte eindeutig bestimmbar.
-Hat es Fehler in der Übertragunge gegeben,(Bei Abbildung \ref{fig:polynom}\textcolor{red}{roten Punkte}) kann man diese erkennen,
-da alle Punkte, die korrekt sind, auf dem Polynom liegen müssen.
-(Bei Abbildung \ref{fig:polynom}\textcolor{darkgreen}{grünen Punkte})
+Ein Polynome zweiten Grades ist durch drei Punkte eindeutig bestimmbar.
+Hat es Fehler in der Übertragunge gegeben,in der Abbilbung \ref{fig:polynom} die \textcolor{red}{roten Punkte}).
+Erkennt man diese Fehler, da alle korrekten Punkte auf der Parabel liegen müssen.
+Die \textcolor{darkgreen}{grünen Punkte} bestimmen die Parabel, und die Fehler können zu den
+\textcolor{gray}{Orginalpunkte} rekonstruiert werden.
Ab wie vielen Fehler ist das Polynom nicht mehr erkennbar beim Übertragen von 7 Punkten?
Bei 2 Fehlern kann man noch eindeutig bestimmen, dass das Polynom mit 4 Punkten,
-gegenüber dem mit 5 Punkten falsch liegt.\ref{fig:polynom}
-Werden es mehr Fehler kann nur erkennt werden, dass das Polynom nicht stimmt.
+gegenüber dem mit 5 Punkten falsch liegt. \ref{fig:polynom}
+Werden es mehr Fehler kann nur erkannt werden, dass das Polynom nicht stimmt.
Das orginale Polynom kann aber nicht mehr gefunden werden.
-Da das Konkurenzpolynom, grau gestrichelt in Abbildung \ref{fig:polynom}, das orginal fehlleited.
-Um das Konkurenzpolynom auszuschliessen, währen mehr \textcolor{darkgreen}{Übertragungspunkte} nötig.
+Da andere Polynome oder das Konkurrenzpolynom, grau gestrichelt in Abbildung \ref{fig:polynom}, das orginal fehlleitet.
+Um das Konkurrenzpolynom auszuschliessen, währen mehr \textcolor{darkgreen}{Übertragungspunkte} nötig.
\end{beispiel}
-\begin{figure}
+\begin{figure}%[!ht]
\centering
- \includegraphics[width=\textwidth]{papers/reedsolomon/figures/polynom2}
- %\input{papers/reedsolomon/tikz/polynom2.tex}
+ %\includegraphics[width=\textwidth]{papers/reedsolomon/figures/polynom2}
+ \input{papers/reedsolomon/tikz/polynomraw.tex}
\caption{Polynom $p(x)$ von der Gleichung\eqref{reedsolomon:equation1}}
\label{fig:polynom}
\end{figure}
\section{Fehlerkorekturstellen bestimmen
\label{reedsolomon:section:Fehlerkorrekturstellen}}
-Um zu bestimmen wieviel zusätzliche \textcolor{darkgreen}{Übertragungspunkte} notwendig sind, die dann Fehler korrigieren,
-muss man zuerst Wissen wieviel \textcolor{blue}{Daten} gesendet und wieviel \textcolor{red}{Fehler} erkennt werden sollen.
+Um zu bestimmen wieviel zusätzliche \textcolor{darkgreen}{Übertragungspunkte} notwendig sind, um die Fehler zu korrigieren,
+muss man zuerst wissen, wieviel \textcolor{blue}{Daten} gesendet und wieviel \textcolor{red}{Fehler} erkennt werden sollen.
Die Anzahl \textcolor{blue}{Daten} (ab hier verwenden wir das Wort Nutzlast), die als Polynomkoeffizente $k$ übergeben werden,
-brauchen die gleiche Anzahl an Polynomgraden, beginnend bei Grad 0 somit ergibt sich der Polynomgrad mit $k-1$.
+brauchen die gleiche Anzahl an Polynomkoeffizententräger, beginnend bei Grad 0 somit ergibt sich der Polynomgrad mit $k-1$.
Für die Anzahl der Fehler $t$, welche korrigiert werden können, gehen wir zum Beispiel.
-\begin{beispiel} von den Polynom \ref{reedsolomon:equation1} in, welchem wir 7 \textcolor{darkgreen}{Übertragungspunkte} senden.
-Durch 3 Punkte wird das Polyom eindeutig bestimmt, nun haben wir mehrere Konkurenzpolynome, doch mit maximal 2 Fehler liegen auf einem Konkurenzpolynom,
-maximal 4 Punkte und auf unserem orginal 5 Punkte. Ansonsten hatt es mehr Fehler oder unser Konkurenzpolynom ist das gleiche wie das Original.
+\begin{beispiel} von den Polynom \ref{reedsolomon:equation1} in, welchem wir \textcolor{darkgreen}{7 Übertragungspunkte} senden.
+Durch 3 Punkte wird das Polyom eindeutig bestimmt, nun haben wir mehrere Konkurrenzpolynome, doch mit maximal 2 Fehler liegen auf einem Konkurrenzpolynom,
+maximal 4 Punkte und auf unserem orginal 5 Punkte. Ansonsten hatt es mehr Fehler oder unser Konkurrenzpolynom ist das gleiche wie das Original.
Somit können wir nun bestimmen, dass von den \textcolor{darkgreen}{7 Übertragungspunkten$u$} bis zu 2 Fehler korrigiert werden können und 4 Übertragungspunkte zusätzlich gesendet werden müssen.
\end{beispiel}
-Durch das erkennen des Schemas in der Tabelle\ref{tabel:fehlerkorrekturstellen}
+Man könnte auch dies in der Tabelle \ref{tab:fehlerkorrekturstellen} erkennen, doch mit dieser Gleichung
\begin{equation}
\frac{\textcolor{darkgreen}{u}-\textcolor{blue}{k}}{\textcolor{red}{t}}
=2
\label{reedsolomon:equation2}
\end{equation}
-zeigt sich das es $k+2t$ Übertragungspunkte braucht.
+zeigt sich, dass es $k+2t$ Übertragungspunkte braucht.
-\begin{center}
+\begin{table}
+ \centering
\begin{tabular}{ c c | c}
\hline
Nutzlas & Fehler & Übertragen \\
@@ -102,11 +101,11 @@ zeigt sich das es $k+2t$ Übertragungspunkte braucht.
$k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\
\hline
\end{tabular}
- Fehlerkorrekturstellen Bestimmung TODO: Tabellenreferenz
- \label{tabel:fehlerkorrekturstellen}
-\end{center}
+ \caption{ Fehlerkorrekturstellen Bestimmung.}
+ \label{tab:fehlerkorrekturstellen}
+\end{table}
-Ein Nebeneffekt ist das dadurch auch $2t$ Fehler erkannt werden können, nicht aber korrigiert.
-Um aus den Übertragenen Zahlen wieder die Nutzlastzahlen zu bekommen könnte man eine Polynominterpolation anwenden,
-doch die Punkte mit Polynominterpolation zu einem Polynom zu rekonstruieren ist schwierig und Fehleranfällig.
+Ein Nebeneffekt ist, dass dadurch auch $2t$ Fehler erkannt werden können, nicht aber korrigiert.
+Um aus den übertragenen Zahlen wieder die Nutzlastzahlen zu bekommen könnte man eine Polynominterpolation anwenden,
+doch die Punkte mit Polynominterpolation zu einem Polynom zu rekonstruieren ist schwierig und fehleranfällig.
diff --git a/buch/papers/reedsolomon/standalone/standalone.pdf b/buch/papers/reedsolomon/standalone/standalone.pdf
index 1f2f0b9..4a44333 100644
--- a/buch/papers/reedsolomon/standalone/standalone.pdf
+++ b/buch/papers/reedsolomon/standalone/standalone.pdf
Binary files differ
diff --git a/buch/papers/reedsolomon/tikz/plotfft.tex b/buch/papers/reedsolomon/tikz/plotfft.tex
index 14af683..bb74dfb 100644
--- a/buch/papers/reedsolomon/tikz/plotfft.tex
+++ b/buch/papers/reedsolomon/tikz/plotfft.tex
@@ -69,9 +69,9 @@
%FFT & IFFT deskription
\draw[thin,gray,dashed] (0,9) to (0,-9);
- \node(IFFT) [scale=0.8] at (0,9.3) {IFFT};
+ \node(IFFT) [scale=0.9] at (0,9.3) {IFFT};
\draw[stealth-](IFFT.south west)--(IFFT.south east);
- \node(FFT) [scale=0.8, above of=IFFT] {FFT};
+ \node(FFT) [scale=0.9, above of=IFFT] {FFT};
\draw[-stealth](FFT.north west)--(FFT.north east);
\draw[thick, ->,] (codiert)++(-1,0) +(0.05,0.5) -- +(-0.1,-0.1) -- +(0.1,0.1) -- +(0,-0.5);
diff --git a/buch/papers/reedsolomon/tikz/plotfftraw.tex b/buch/papers/reedsolomon/tikz/plotfftraw.tex
new file mode 100644
index 0000000..141d2ce
--- /dev/null
+++ b/buch/papers/reedsolomon/tikz/plotfftraw.tex
@@ -0,0 +1,80 @@
+\begin{tikzpicture}[]
+
+ %---------------------------------------------------------------
+ %Knote
+ \matrix(m) [draw = none, column sep=25mm, row sep=2mm]{
+
+ \node(signal) [] {
+ \begin{tikzpicture}
+ \begin{axis}
+ [title = {\Large {Signal}},
+ xtick={0,20,40,64,80,98}]
+ \addplot[blue] table[col sep=comma] {tikz/signal.txt};
+ \end{axis}
+ \end{tikzpicture}}; &
+
+ \node(codiert) [] {
+ \begin{tikzpicture}[]
+ \begin{axis}[ title = {\Large {Codiert \space + \space Fehler}},
+ xtick={0,40,60,100}, axis y line*=left]
+ \addplot[green] table[col sep=comma] {tikz/codiert.txt};
+ \end{axis}
+ \begin{axis}[xtick={7,21,75}, axis y line*=right]
+ \addplot[red] table[col sep=comma] {tikz/fehler.txt};
+ \end{axis}
+ \end{tikzpicture}}; \\
+
+ \node(decodiert) [] {
+ \begin{tikzpicture}
+ \begin{axis}[title = {\Large {Decodiert}}]
+ \addplot[blue] table[col sep=comma] {tikz/decodiert.txt};
+ \end{axis}
+ \end{tikzpicture}}; &
+
+ \node(empfangen) [] {
+ \begin{tikzpicture}
+ \begin{axis}[title = {\Large {Empfangen}}]
+ \addplot[green] table[col sep=comma] {tikz/empfangen.txt};
+ \end{axis}
+ \end{tikzpicture}};\\
+
+ \node(syndrom) [] {
+ \begin{tikzpicture}
+ \begin{axis}[title = {\Large {Syndrom}}]
+ \addplot[black] table[col sep=comma] {tikz/syndrom.txt};
+ \end{axis}
+ \end{tikzpicture}}; &
+
+ \node(locator) [] {
+ \begin{tikzpicture}
+ \begin{axis}[title = {\Large {Locator}}]
+ \addplot[gray] table[col sep=comma] {tikz/locator.txt};
+ \end{axis}
+ \end{tikzpicture}};\\
+ };
+ %-------------------------------------------------------------
+ %FFT & IFFT deskription
+
+ \draw[thin,gray,dashed] (0,9) to (0,-9);
+ \node(IFFT) [scale=0.9] at (0,9.3) {IFFT};
+ \draw[stealth-](IFFT.south west)--(IFFT.south east);
+ \node(FFT) [scale=0.9, above of=IFFT] {FFT};
+ \draw[-stealth](FFT.north west)--(FFT.north east);
+
+ \draw[thick, ->,] (codiert)++(-1,0) +(0.05,0.5) -- +(-0.1,-0.1) -- +(0.1,0.1) -- +(0,-0.5);
+ %Arrows
+ \draw[thick, ->] (signal.east) to (codiert.west);
+ \draw[thick, ->] (codiert.south) to (empfangen.north);
+ \draw[thick, ->] (empfangen.west) to (decodiert.east);
+ \draw[thick, ->] (syndrom.east) to (locator.west);
+ \draw[thick](decodiert.south east)++(-1.8,1) ellipse (1.3cm and 0.8cm) ++(-1.3,0) coordinate(zoom) ;
+ \draw[thick, ->] (zoom) to[out=180, in=90] (syndrom.north);
+
+ %item
+ \node[circle, draw, fill =lightgray] at (signal.north west) {1};
+ \node[circle, draw, fill =lightgray] at (codiert.north west) {2+3};
+ \node[circle, draw, fill =lightgray] at (empfangen.north west) {4};
+ \node[circle, draw, fill =lightgray] at (decodiert.north west) {5};
+ \node[circle, draw, fill =lightgray] at (syndrom.north west) {6};
+ \node[circle, draw, fill =lightgray] at (locator.north west) {7};
+\end{tikzpicture} \ No newline at end of file
diff --git a/buch/papers/reedsolomon/tikz/polynom2.tex b/buch/papers/reedsolomon/tikz/polynom2.tex
index 47dc679..80557fb 100644
--- a/buch/papers/reedsolomon/tikz/polynom2.tex
+++ b/buch/papers/reedsolomon/tikz/polynom2.tex
@@ -14,7 +14,7 @@
%//////////////////////////////////////
-\begin{tikzpicture}[>=latex,thick]
+\begin{tikzpicture}[>=latex,thick,]
\draw[color=blue, line width=1.4pt]
plot[domain=0:8, samples=100]
({\x},{(2*\x^2+1*\x+5)/\teiler});
diff --git a/buch/papers/reedsolomon/tikz/polynomraw.tex b/buch/papers/reedsolomon/tikz/polynomraw.tex
new file mode 100644
index 0000000..02968fd
--- /dev/null
+++ b/buch/papers/reedsolomon/tikz/polynomraw.tex
@@ -0,0 +1,50 @@
+% polynomraw
+
+\newcommand{\teiler}{40}
+
+
+%//////////////////////////////////////
+
+\begin{tikzpicture}[>=latex,thick,]
+ \draw[color=blue, line width=1.4pt]
+ plot[domain=0:8, samples=100]
+ ({\x},{(2*\x^2+1*\x+5)/\teiler});
+
+ \draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}];
+ \draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}];
+
+ \def\punkt#1{
+ \fill[color=green] #1 circle[radius=0.08];
+ \draw #1 circle[radius=0.07];
+ }
+
+ \def\hellpunkt#1{
+ \fill[color=lightgray] #1 circle[radius=0.08];
+ \draw[gray] #1 circle[ radius=0.07];
+ }
+
+ \draw[color=gray,line width=1pt,dashed]
+ plot[domain=0.5:7, samples=100]
+ ({\x},{(7.832*\x^2-51.5*\x+121.668)/\teiler});
+
+
+ \punkt{(1,8/\teiler)}
+ \hellpunkt{(2,15/\teiler)}
+ \hellpunkt{(3,26/\teiler)}
+ \punkt{(4,41/\teiler)}
+ \punkt{(5,60/\teiler)}
+ \punkt{(6,83/\teiler)}
+ \punkt{(7,110/\teiler)}
+
+
+
+ \def\erpunkt#1{
+ \fill[color=red] #1 circle[radius=0.08];
+ \draw #1 circle[radius=0.07];
+ }
+ \erpunkt{(2,50/\teiler)}
+ \erpunkt{(3,37.66/\teiler)}
+
+ \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}];
+ \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}];
+\end{tikzpicture} \ No newline at end of file