diff options
author | JODBaer <JODBaer@github.com> | 2021-07-21 21:18:31 +0200 |
---|---|---|
committer | JODBaer <JODBaer@github.com> | 2021-07-21 21:18:31 +0200 |
commit | 5397a77e20a23338279ffe4faa59453104be5b95 (patch) | |
tree | 945227f4a22626f7618e838e57cba0eaf777cdc4 /buch/papers/reedsolomon | |
parent | Merge remote-tracking branch 'upstream/master' into Baer (diff) | |
download | SeminarMatrizen-5397a77e20a23338279ffe4faa59453104be5b95.tar.gz SeminarMatrizen-5397a77e20a23338279ffe4faa59453104be5b95.zip |
update
Diffstat (limited to 'buch/papers/reedsolomon')
-rw-r--r-- | buch/papers/reedsolomon/dtf.tex | 41 | ||||
-rw-r--r-- | buch/papers/reedsolomon/experiments/plot.tex | 130 | ||||
-rw-r--r-- | buch/papers/reedsolomon/images/plotfft.tex | 68 | ||||
-rw-r--r-- | buch/papers/reedsolomon/packages.tex | 2 |
4 files changed, 143 insertions, 98 deletions
diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index 27c6150..a111527 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -14,21 +14,42 @@ wobei sie dann bei späteren Berchnungen ganz nützlich ist. \subsection{Diskrete Fourientransformation Zusamenhang \label{reedsolomon:subsection:dtfzusamenhang}} Die Diskrete Fourientransformation ist definiert als - + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \] +, wenn man nun + \[ + w = e^{-\frac{2\pi j}{N} k} + \] +ersetzte, und $N$ konstantbleibt, erhält man + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] +was überaust ähnlich zu unserem Polynomidee ist. \subsection{Übertragungsabfolge \label{reedsolomon:subsection:Übertragungsabfolge}} -Das Signal.... sind die Daten, Zahlen welche übertragen werden sollen. -Das speziell ist das wir 100 Punkte übertragen und von 64 bis 100, -werden nur Null Punkte übertragen, dies weiss auch unser Empfänger. -Nun wird das Signal in Abbildung... codiert... -Somit wird die Information jedes Punktes auf das ganze spektrum von 0 bis 100 übertragen. -Kommen nuun drei Fehler... hinzu zu diesem codierten Signal sind diese nicht zu erkennen. -Nach dem Empfangen... und decodieren ... erkennt man die fehlerhafte information in den Punkten 64 bis 100. -Filtert man nur diese Punkte heraus und Transformiert sie mit Fourier erhält man die stellen an denen die Fehler sich eingeschlichen haben. + +\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. +\item Nun wurde mittels der schnellen diskreten Fourientransformation diese 96 codiert. +Das heisst alle information ist in alle Zahlenvorhanden. +\item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75. +\item Dieses wird nun Empfangen und mittels inversen diskreten Fourientransormation, wieder rücktransformiert. +\item Nun sieht man den Fehler im Decodieren in den Übertragungsstellen 64 bis 96. +\item Nimmt man nun nur diese Stellen 64 bis 96, auch Syndrom genannt, und Transformiert diese. +\item Bekommt man die Fehlerstellen im Locator wieder, zwar nichtso genau, dennoch erkkent man wo die Fehler stattgefunden haben. +\end{enumerate} \begin{figure} \centering - %\input{papers/reedsolomon/images/plotfft.tex} + \resizebox{0.9\textwidth}{!}{ + %\includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/plot.pdf} + \input{papers/reedsolomon/images/plotfft.tex} + } \caption{Übertragungsabfolge \ref{reedsolomon:subsection:Übertragungsabfolge}} \label{fig:sendorder} \end{figure}
\ No newline at end of file diff --git a/buch/papers/reedsolomon/experiments/plot.tex b/buch/papers/reedsolomon/experiments/plot.tex index bf9aadc..2196c82 100644 --- a/buch/papers/reedsolomon/experiments/plot.tex +++ b/buch/papers/reedsolomon/experiments/plot.tex @@ -13,69 +13,73 @@ \newcommand{\y}{-8} \begin{document} -\tikzset{ - node/.style={rectangle, draw=black!100, thick, on grid}, % on grid added - dangling node/.style={node, fill=black!30} -} \begin{tikzpicture}[] - -\filldraw[red] (0,0) circle (5mm); - %Knote -\matrix[draw = none, column sep=20mm, row sep=20mm]{ - \node(signal) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Signal}}] - \addplot[] table[col sep=comma] {signal.txt}; - \end{axis} - \end{tikzpicture}}; & - \node(codiert) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Codiert}}] - \addplot[] table[col sep=comma] {codiert.txt}; - \end{axis} - \end{tikzpicture}}; \\ + %--------------------------------------------------------------- + %Knote + \matrix[draw = none, column sep=20mm, row sep=4mm]{ + \node(signal) [] { + \begin{tikzpicture} + \begin{axis}[ + title = {\Large {Signal}}, + xlabel={Anzahl Übertragene Zahlen}, + xtick={0,20,40,64,80,98},] + \addplot[blue] table[col sep=comma] {signal.txt}; + \end{axis} + \end{tikzpicture}}; & - &\node(fehler) [] { - \begin{tikzpicture} - \begin{axis}[scale=0.6, title = {\Large {Fehler}}] - \addplot[] table[col sep=comma] {fehler.txt}; - \end{axis} - \end{tikzpicture}};\\ - - \node(decodiert) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Decodiert}}] - \addplot[] table[col sep=comma] {decodiert.txt}; - \end{axis} - \end{tikzpicture}}; & - - \node(empfangen) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Empfangen}}] - \addplot[] table[col sep=comma] {empfangen.txt}; - \end{axis} - \end{tikzpicture}};\\ - - \node(syndrom) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Syndrom}}] - \addplot[] table[col sep=comma] {syndrom.txt}; - \end{axis} - \end{tikzpicture}}; & - - \node(locator) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Locator}}] - \addplot[] table[col sep=comma] {locator.txt}; - \end{axis} - \end{tikzpicture}};\\ -}; + \node(codiert) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Codiert}}] + \addplot[] table[col sep=comma] {codiert.txt}; + \end{axis} + \end{tikzpicture}}; \\ + + &\node(fehler) [] { + \begin{tikzpicture} + \begin{axis}[scale=0.6, title = {\Large {Fehler}}] + \addplot[red] table[col sep=comma] {fehler.txt}; + \end{axis} + \end{tikzpicture}};\\ + + \node(decodiert) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Decodiert}}] + \addplot[blue] table[col sep=comma] {decodiert.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(empfangen) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Empfangen}}] + \addplot[] table[col sep=comma] {empfangen.txt}; + \end{axis} + \end{tikzpicture}};\\ + + \node(syndrom) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Syndrom}}] + \addplot[blue] table[col sep=comma] {syndrom.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(locator) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Locator}}] + \addplot[] table[col sep=comma] {locator.txt}; + \end{axis} + \end{tikzpicture}};\\ + }; + %------------------------------------------------------------- %FFT & IFFT deskription - - \draw[thin,gray,dashed] (0,15) to (0,-15); - \node(FFT) [ scale=0.7] at (0,15.3) {FFT IFFT}; + \draw[thin,gray,dashed] (0,12) to (0,-12); + \node(IFFT) [scale=0.7] at (0,12.3) {IFFT}; + \draw[<-](IFFT.south west)--(IFFT.south east); + \node(FFT) [scale=0.7, above of=IFFT] {FFT}; + \draw[->](FFT.north west)--(FFT.north east); + + \draw[thick, ->,] (fehler.west)++(-1,0) +(0.05,0.5) -- +(-0.1,-0.1) -- +(0.1,0.1) -- +(0,-0.5); %Arrows \draw[ultra thick, ->] (signal.east) to (codiert.west); \draw[ultra thick, ->] (codiert.south) to (fehler.north); @@ -85,7 +89,15 @@ \draw(decodiert.south east)++(-1.8,1) ellipse (1.3cm and 0.8cm) ++(-1.3,0) coordinate(zoom) ; \draw[ultra thick, ->] (zoom) to[out=180, in=90] (syndrom.north); + %item + \node[circle, draw, fill =lightgray] at (signal.north west)+(1,0) {1}; + \node[circle, draw, fill =lightgray] at (codiert.north west) {2}; + \node[circle, draw, fill =lightgray] at (fehler.north west) {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} +\end{tikzpicture} \end{document} diff --git a/buch/papers/reedsolomon/images/plotfft.tex b/buch/papers/reedsolomon/images/plotfft.tex index e6d3b47..83a89eb 100644 --- a/buch/papers/reedsolomon/images/plotfft.tex +++ b/buch/papers/reedsolomon/images/plotfft.tex @@ -1,77 +1,89 @@ % -% Plot der èbertrangungsabfolge ins FFT und zurück mit IFFT +% Plot der Übertrangungsabfolge ins FFT und zurück mit IFFT % -\tikzset{ - node/.style={rectangle, draw=black!100, thick, on grid}, % on grid added - dangling node/.style={node, fill=black!30} -} \begin{tikzpicture}[] %--------------------------------------------------------------- %Knote -\matrix[draw = none, column sep=20mm, row sep=20mm]{ +\matrix[draw = none, column sep=25mm, row sep=2mm]{ \node(signal) [] { \begin{tikzpicture} - \begin{axis}[title = {\Large {Signal}}] - \addplot[] table[col sep=comma] {signal.txt}; + \begin{axis} + [title = {\Large {Signal}}, + xlabel={Anzahl Übertragene Zahlen}, + xtick={0,20,40,64,80,98},] + \addplot[blue] table[col sep=comma] {papers/reedsolomon/images/signal.txt}; \end{axis} \end{tikzpicture}}; & \node(codiert) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Codiert}}] - \addplot[] table[col sep=comma] {codiert.txt}; + \addplot[] table[col sep=comma] {papers/reedsolomon/images/codiert.txt}; \end{axis} \end{tikzpicture}}; \\ &\node(fehler) [] { \begin{tikzpicture} - \begin{axis}[scale=0.6, title = {\Large {Fehler}}] - \addplot[] table[col sep=comma] {fehler.txt}; + \begin{axis}[scale=0.6, title = {\Large {Fehler}}, + xtick={7,21,75}] + \addplot[red] table[col sep=comma] {papers/reedsolomon/images/fehler.txt}; \end{axis} \end{tikzpicture}};\\ \node(decodiert) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Decodiert}}] - \addplot[] table[col sep=comma] {decodiert.txt}; + \addplot[blue] table[col sep=comma] {papers/reedsolomon/images/decodiert.txt}; \end{axis} \end{tikzpicture}}; & \node(empfangen) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Empfangen}}] - \addplot[] table[col sep=comma] {empfangen.txt}; + \addplot[] table[col sep=comma] {papers/reedsolomon/images/empfangen.txt}; \end{axis} \end{tikzpicture}};\\ \node(syndrom) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Syndrom}}] - \addplot[] table[col sep=comma] {syndrom.txt}; + \addplot[blue] table[col sep=comma] {papers/reedsolomon/images/syndrom.txt}; \end{axis} \end{tikzpicture}}; & \node(locator) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Locator}}] - \addplot[] table[col sep=comma] {locator.txt}; + \addplot[] table[col sep=comma] {papers/reedsolomon/images/locator.txt}; \end{axis} \end{tikzpicture}};\\ }; %------------------------------------------------------------- %FFT & IFFT deskription - \draw[thin,gray,dashed] (0,15) to (0,-15); - \node(FFT) [ scale=0.7] at (0,15.3) {FFT IFFT}; - - %Arrows - \draw[ultra thick, ->] (signal.east) to (codiert.west); - \draw[ultra thick, ->] (codiert.south) to (fehler.north); - \draw[ultra thick, ->] (fehler.south) to (empfangen.north); - \draw[ultra thick, ->] (empfangen.west) to (decodiert.east); - \draw[ultra thick, ->] (syndrom.east) to (locator.west); - \draw(decodiert.south east)++(-1.8,1) ellipse (1.3cm and 0.8cm) ++(-1.3,0) coordinate(zoom) ; - \draw[ultra thick, ->] (zoom) to[out=180, in=90] (syndrom.north); - - \end{tikzpicture}
\ No newline at end of file +\draw[thin,gray,dashed] (0,12) to (0,-12); +\node(IFFT) [scale=0.7] at (0,12.3) {IFFT}; +\draw[<-](IFFT.south west)--(IFFT.south east); +\node(FFT) [scale=0.7, above of=IFFT] {FFT}; +\draw[->](FFT.north west)--(FFT.north east); + +\draw[thick, ->,] (fehler.west)++(-1,0) +(0.05,0.5) -- +(-0.1,-0.1) -- +(0.1,0.1) -- +(0,-0.5); +%Arrows +\draw[ultra thick, ->] (signal.east) to (codiert.west); +\draw[ultra thick, ->] (codiert.south) to (fehler.north); +\draw[ultra thick, ->] (fehler.south) to (empfangen.north); +\draw[ultra thick, ->] (empfangen.west) to (decodiert.east); +\draw[ultra thick, ->] (syndrom.east) to (locator.west); +\draw(decodiert.south east)++(-1.8,1) ellipse (1.3cm and 0.8cm) ++(-1.3,0) coordinate(zoom) ; +\draw[ultra 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}; +\node[circle, draw, fill =lightgray] at (fehler.north west) {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/packages.tex b/buch/papers/reedsolomon/packages.tex index 4b1ee68..b84e228 100644 --- a/buch/papers/reedsolomon/packages.tex +++ b/buch/papers/reedsolomon/packages.tex @@ -9,4 +9,4 @@ %\usepackage{packagename} \usepackage{pgfplots} - +\usepackage{filecontents} |