From 88de7e8d421d3d7395840fdf916bbd015254d43c Mon Sep 17 00:00:00 2001 From: JODBaer Date: Mon, 19 Jul 2021 16:30:45 +0200 Subject: update --- buch/papers/reedsolomon/dtf.tex | 14 ++++---- buch/papers/reedsolomon/einleitung.tex | 10 +++--- buch/papers/reedsolomon/idee.tex | 60 +++++++++++++++++++++------------- 3 files changed, 50 insertions(+), 34 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index 025be3a..d276760 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -3,13 +3,17 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Diskrete Fourien Transformation +\section{Diskrete Fourier Transformation \label{reedsolomon:section:dtf}} \rhead{Umwandlung mit DTF} Um die Polynominterpolation zu umgehen, gehen wir nun über in die Fourientransformation. 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ütlich ist. +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 \subsection{Übertragungsabfolge \label{reedsolomon:subsection:Übertragungsabfolge}} @@ -22,9 +26,7 @@ Kommen nuun drei Fehler... hinzu zu diesem codierten Signal sind diese nicht zu 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. -\subsection{Diskrete Fourientransformation Zusamenhang -\label{reedsolomon:subsection:dtfzusamenhang}} -Die Diskrete Fourientransformation ist definiert als -.... + + diff --git a/buch/papers/reedsolomon/einleitung.tex b/buch/papers/reedsolomon/einleitung.tex index 3d40db1..2b1d878 100644 --- a/buch/papers/reedsolomon/einleitung.tex +++ b/buch/papers/reedsolomon/einleitung.tex @@ -6,13 +6,13 @@ \section{Einleitung \label{reedsolomon:section:einleitung}} \rhead{Einleitung} -Der Reed-Solomon-Code ist entstaden im ... vom .. um, -das Problem der Daten Übertragung zu lösen. -In deiesem Abschnitt wird möglichst verständlich die mathematische Abfolge, Funktion oder Algorithmus erklärt. +Der Reed-Solomon-Code ist entstanden um, +das Problem der Fehler, bei der Datenübertragung, zu lösen. +In diesem Abschnitt wird möglichst verständlich die mathematische Abfolge, Funktion oder Algorithmus erklärt. Es wird jedoch nicht auf die technische Umsetzung oder Implementierung eingegangen. -Um beim Daten Übertragen fehler zu erkennen könnte man die Daten jeweils doppelt senden, +Um beim Datenübertragen Fehler zu erkennen, könnte man die Daten jeweils doppelt senden, und so jeweilige Fehler zu erkennen. -Doch dies braucht schnell unmengen an Daten, wenn man nach vielen Fehler absichern möchte. +Doch nur schon um weinige Fehler zu erkennen werden überproportional viele Daten doppelt und dreifach gesendet. Der Reed-Solomon-Code macht dies auf eine andere, clevere Weise. diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 4a7716a..b0a772e 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -8,51 +8,65 @@ \rhead{Problemstellung} Das Problem liegt darin Informationen, Zahlen, zu Übertragen und Fehler zu erkennen. -Beim Reed-Solomon-Code kann man nicht nur Fehler erkenen, +Beim Reed-Solomon-Code kann man nicht nur Fehler erkennen, man kann sogar einige Fehler korrigieren. \rhead{Polynom-Ansatz} -Eine Idee ist die Daten, -ein Polynom zu bilden und dieses dann mit bestimmten Punkten überträgt. +Eine Idee ist aus den Daten +ein Polynom zu bilden. +Diese Polynomfunktion bei bestimmten Werten, ausrechnet und diese Punkte dann überträgt. Nehmen wir als beisbiel die Zahlen \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5}, welche uns dann das Polynom \begin{equation} p(x) = -2x^2 + 1x + 5 +\textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} \label{reedsolomon:equation1} \end{equation} ergeben. -Übertragen werden nun die stellen 1, 2, 3\dots 7 dieses Polynomes. -Grafisch sieht man dies dann im Abbild //TODO -Wenn ein Fehler sich in die Übertragung eingeschlichen hatt, muss der Leser/Empfänger erkennen, welches das Richtige Polynom ist. -Der Leser/Empfänger weiss, mit welchem Grad das Polynom entwickelt wurde. +Übertragen werden nun die Werte an den stellen 1, 2, 3\dots 7 dieses Polynomes. +Grafisch sieht man dies dann in Abbildung % TODO +Wenn ein Fehler sich in die Übertragung eingeschlichen hatt, 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. \subsection{Beispiel} -Für das Beispeil aus der Gleichung \ref{reedsolomon:equation1}, +Für das Beispeil aus der Gleichung \eqref{reedsolomon:equation1}, ist ein Polynome zweiten Grades durch drei Punkte eindeutig bestimmbar. Hat es Fehler in der Übertragunge gegeben, kann man diese erkennen, da alle Punkte, die korrekt sind, auf dem Polynom liegen müssen. 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. -Werden es mehr Fehler kann nur erkennt werden das das Polynom nicht stimmt. -Das Orginale Polynom kann aber nicht mehr gefunden werden. -Dabei sollten mehr Übertragungspunkte gegeben werden. +Werden es mehr Fehler kann nur erkennt werden, dass das Polynom nicht stimmt. +Das orginale Polynom kann aber nicht mehr gefunden werden. +Dafür sind mehr übertragene Werte nötig. \section{Fehlerbestimmung \label{reedsolomon:section:Fehlerbestimmmung}} So wird ein Muster indentifiziert, welches genau vorherbestimmen kann, wie gross das Polynom sein muss und wie viele Übertragungspunkte gegeben werden müssen. -Durch ein klein wenig Überlegung ist klar das die anzahl Zahlen (Daten, ab hier verwenden wir das Wort Nutzlast), -die dan Entschlüsselt werden sollen den Grad des Polynoms minus 1 ergeben. +Um zu bestimmen wie viel Fehler erkennt und korriegiert werden können. +Die Anzahl Zahlen (Daten, ab hier verwenden wir das Wort Nutzlast), +die Entschlüsselt werden sollen, brauchen die gleiche Anzahl an Polynomgraden, beginnend bei Grad 0. ( \( k-1 \) ) Für die Anzahl an Übertragungspunkte, muss bestimmt werden wieviel Fehler erkennt und korrigiert werden sollen. -Mit Hilfe der Tabelle.... sieht man das es bei $$t$$ Fehlern und $$k$$ Nutzlast, -für das Übertragen $$k+2t$$ Punkte gegben werden müssen. - -Ein toller Nebeneffekt ist das dadurch auch $$2t$$ Fehler erkannt werden. -um zurück auf unser Beispiel zu kommen, -können von den 7 Übertragungspunkten bis zu $$2t = 2*2 = 4 $$ Punkten falsch liegen -und es wird kein eindeutiges Polynom 2ten Grades erkannt, und somit die Nutzlast Daten als fehlerhaft deklariert. - -Ein Polynom durch Punkt mit Polynom Interpolation zu rekonstruieren ist schwierig und Fehleranfällig. +Mit Hilfe der Tabelle, sieht man das es bei $t$ Fehlern und $k$ Nutzlast Zahlen, +$k+2t$ Punkte übertragen werden müssen. +\begin{center} + \begin{tabular}{ c c c } + \hline + Nutzlas & Fehler & Übertragen \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 3 & 9 Werte eines Polynoms vom Grad 2 \\ + \hline + $k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\ + \hline + \end{tabular} +\end{center} +Ein toller Nebeneffekt ist das dadurch auch $2t$ Fehler erkannt werden. +Um zurück auf unser Beispiel zu kommen, +können von den 7 Übertragungspunkten bis zu $2t = 2\cdot2 = 4 $ Punkten falsch liegen +und es wird kein eindeutiges Polynom zweiten Grades erkannt, und somit die Nutzlast Daten als fehlerhaft deklariert. +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. -- cgit v1.2.1 From 997e5ae44bcb81c81fbbf0c4fa29269ffe93fc24 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Mon, 19 Jul 2021 16:55:45 +0200 Subject: try to add picture --- buch/papers/reedsolomon/idee.tex | 10 +++++- buch/papers/reedsolomon/images/polynom2.tex | 51 +++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 buch/papers/reedsolomon/images/polynom2.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index b0a772e..28b65bd 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -25,9 +25,17 @@ p(x) \end{equation} ergeben. Übertragen werden nun die Werte an den stellen 1, 2, 3\dots 7 dieses Polynomes. -Grafisch sieht man dies dann in Abbildung % TODO +Grafisch sieht man dies dann in Abbildung Wenn ein Fehler sich in die Übertragung eingeschlichen hatt, 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. + +\begin{figure} + \centering + \includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/polynom2.pdf} + \caption{Polynom \eqref{reedsolomon:equation1}} + \label{fig:polynom} +\end{figure} + \subsection{Beispiel} Für das Beispeil aus der Gleichung \eqref{reedsolomon:equation1}, ist ein Polynome zweiten Grades durch drei Punkte eindeutig bestimmbar. diff --git a/buch/papers/reedsolomon/images/polynom2.tex b/buch/papers/reedsolomon/images/polynom2.tex new file mode 100644 index 0000000..be9a65e --- /dev/null +++ b/buch/papers/reedsolomon/images/polynom2.tex @@ -0,0 +1,51 @@ +% polynome2 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} +% Übertragen von den Zahlen +% \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} +% als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline +% Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, +% \textcolor{green}{15}, \textcolor{green}{26}, +% \textcolor{green}{ 41}, \textcolor{green}{60}, +% \textcolor{green}{83}, \textcolor{green}{110})$ + + + \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]; + } + \punkt{(1,8/\teiler)} + %\punkt{(2,15/\teiler)} + %\punkt{(3,26/\teiler)} + \punkt{(4,41/\teiler)} + \punkt{(5,60/\teiler)} + \punkt{(6,83/\teiler)} + \punkt{(7,110/\teiler)} + \draw[color=gray,line width=1pt,dashed] + plot[domain=0.5:7, samples=100] + ({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); + \def\erpunkt#1{ + \fill[color=red] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \erpunkt{(2,50/\teiler)} + \erpunkt{(3,0.9414)} + + \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; + \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; + \end{tikzpicture} +\end{document} -- cgit v1.2.1 From faf8fab3819a2b1eeb5529866716d545b52f6285 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Mon, 19 Jul 2021 17:36:11 +0200 Subject: another try --- buch/papers/reedsolomon/experiments/codiert.txt | 96 +++++++++++++++++++++++ buch/papers/reedsolomon/experiments/decodiert.txt | 96 +++++++++++++++++++++++ buch/papers/reedsolomon/experiments/empfangen.txt | 96 +++++++++++++++++++++++ buch/papers/reedsolomon/experiments/f.m | 22 ++++-- buch/papers/reedsolomon/experiments/fehler.txt | 96 +++++++++++++++++++++++ buch/papers/reedsolomon/experiments/locator.txt | 96 +++++++++++++++++++++++ buch/papers/reedsolomon/experiments/signal.txt | 96 +++++++++++++++++++++++ buch/papers/reedsolomon/experiments/syndrom.txt | 96 +++++++++++++++++++++++ buch/papers/reedsolomon/idee.tex | 7 +- buch/papers/reedsolomon/images/polynom2.tex | 32 ++++---- buch/papers/reedsolomon/packages.tex | 2 + 11 files changed, 712 insertions(+), 23 deletions(-) create mode 100644 buch/papers/reedsolomon/experiments/codiert.txt create mode 100644 buch/papers/reedsolomon/experiments/decodiert.txt create mode 100644 buch/papers/reedsolomon/experiments/empfangen.txt create mode 100644 buch/papers/reedsolomon/experiments/fehler.txt create mode 100644 buch/papers/reedsolomon/experiments/locator.txt create mode 100644 buch/papers/reedsolomon/experiments/signal.txt create mode 100644 buch/papers/reedsolomon/experiments/syndrom.txt (limited to 'buch') diff --git a/buch/papers/reedsolomon/experiments/codiert.txt b/buch/papers/reedsolomon/experiments/codiert.txt new file mode 100644 index 0000000..a57fb3e --- /dev/null +++ b/buch/papers/reedsolomon/experiments/codiert.txt @@ -0,0 +1,96 @@ +305 +114.502535214877 +86.2532974498148 +10.2450106137816 +68.1373455525487 +12.2281691909479 +3.18633753309102 +20.0196562371296 +12.2767246322969 +11.7216140392957 +24.8752690882777 +16.2978466490127 +23.2518118214845 +16.5845482358975 +15.6140674930647 +33.396205039034 +20.7846096908265 +19.3528753492232 +16.3850575123207 +20.9502842499826 +17.064465004608 +11.7252100463969 +31.1005540675575 +29.4336965143315 +26.6270539113887 +18.0164813754079 +24.7444243500799 +7.51007272621331 +4.06984153366859 +27.215173252412 +17.2339815787965 +23.5539874432174 +22.2710574513201 +14.7961619823174 +25.5530773949688 +33.4185813747547 +11.5478676394508 +21.0691619228239 +28.7948800016184 +12.3795084046074 +17.0082930449459 +19.7473571196866 +18.4490385219626 +12.2195365467659 +7.58568158110485 +6.02300839250873 +14.565530706253 +3.78959213976527 +21 +3.78959213976527 +14.565530706253 +6.02300839250873 +7.58568158110485 +12.2195365467659 +18.4490385219626 +19.7473571196866 +17.0082930449459 +12.3795084046074 +28.7948800016184 +21.0691619228239 +11.5478676394508 +33.4185813747547 +25.5530773949688 +14.7961619823174 +22.2710574513201 +23.5539874432174 +17.2339815787965 +27.215173252412 +4.06984153366859 +7.51007272621331 +24.7444243500799 +18.0164813754079 +26.6270539113887 +29.4336965143315 +31.1005540675575 +11.7252100463969 +17.064465004608 +20.9502842499826 +16.3850575123207 +19.3528753492232 +20.7846096908265 +33.396205039034 +15.6140674930647 +16.5845482358975 +23.2518118214845 +16.2978466490127 +24.8752690882777 +11.7216140392957 +12.2767246322969 +20.0196562371296 +3.18633753309102 +12.2281691909479 +68.1373455525487 +10.2450106137816 +86.2532974498148 +114.502535214877 diff --git a/buch/papers/reedsolomon/experiments/decodiert.txt b/buch/papers/reedsolomon/experiments/decodiert.txt new file mode 100644 index 0000000..5295e2a --- /dev/null +++ b/buch/papers/reedsolomon/experiments/decodiert.txt @@ -0,0 +1,96 @@ +5.05208333333333 +4.02603841132848 +3.9866906905523 +2.98928833660435 +5.01944413899123 +5.01851886476838 +7.97795274966527 +7.9523893732277 +5.97396514457618 +4.00519657776884 +8.0006276895628 +4.97630831658918 +3.97918030102376 +9.01298821331865 +9.03553822210758 +6.02435577439403 +6.005269315244 +6.00739475784899 +2.02214193521707 +3.02175993431401 +5.00158984940366 +1.98176205240977 +7.97728830439693 +1.98491220960989 +1.98958333333333 +1.98491220960989 +1.97728880273589 +3.98152108172961 +3.00171929847136 +9.02175649397959 +4.02211963444795 +2.00740795901169 +9.00524899981178 +10.0243555198185 +4.03562322003676 +1.01362103081199 +2.97918487756672 +3.97630844288113 +6.00063199465927 +3.00522617023784 +5.97396514457618 +6.95239288504068 +1.97810392013073 +1.01862378300238 +3.0194483612015 +2.98928833660435 +3.9866906905523 +5.02603060999077 +1.05208333333333 +3.02605136876764 +7.9866590265379 +0.0177592928994289 +9.01944131204563 +7.01851125156932 +4.97798278395618 +5.95239757681758 +1.97397894668217 +5.00517880987882 +10.0006251063956 +4.97630831658918 +4.97917756274958 +2.01326692505463 +5.0355927170407 +6.02435577439403 +0.0275599094902566 +0.0115837187254189 +0.0258777610142382 +0.0224618032819705 +0.0441059468994403 +0.0474504002669344 +0.0227694695500614 +0.0271436638090525 +0.0104166666666661 +0.027143663809052 +0.0227694695500605 +0.0474504002669342 +0.04410594689944 +0.0224618032819704 +0.0258777610142386 +0.0115837187254188 +0.027559909490256 +0.0245124379481791 +0.0499782237195213 +0.0401432022864264 +0.023292374765623 +0.0237974288564093 +0.0143895905726623 +0.0271745729691686 +0.0275599094902561 +0.051550167218498 +0.0358255004834538 +0.0247005083663728 +0.0210194725405181 +0.0177592928994299 +0.0261327016093146 +0.0314909067039408 diff --git a/buch/papers/reedsolomon/experiments/empfangen.txt b/buch/papers/reedsolomon/experiments/empfangen.txt new file mode 100644 index 0000000..326dd83 --- /dev/null +++ b/buch/papers/reedsolomon/experiments/empfangen.txt @@ -0,0 +1,96 @@ +305 +114.502535214877 +86.2532974498148 +10.2450106137816 +68.1373455525487 +12.2281691909479 +4.75208293424194 +20.0196562371296 +12.2767246322969 +11.7216140392957 +24.8752690882777 +16.2978466490127 +23.2518118214845 +16.5845482358975 +15.6140674930647 +33.396205039034 +20.7846096908265 +19.3528753492232 +16.3850575123207 +20.9502842499826 +19.0535931901409 +11.7252100463969 +31.1005540675575 +29.4336965143315 +26.6270539113887 +18.0164813754079 +24.7444243500799 +7.51007272621331 +4.06984153366859 +27.215173252412 +17.2339815787965 +23.5539874432174 +22.2710574513201 +14.7961619823174 +25.5530773949688 +33.4185813747547 +11.5478676394508 +21.0691619228239 +28.7948800016184 +12.3795084046074 +17.0082930449459 +19.7473571196866 +18.4490385219626 +12.2195365467659 +7.58568158110485 +6.02300839250873 +14.565530706253 +3.78959213976527 +21 +3.78959213976527 +14.565530706253 +6.02300839250873 +7.58568158110485 +12.2195365467659 +18.4490385219626 +19.7473571196866 +17.0082930449459 +12.3795084046074 +28.7948800016184 +21.0691619228239 +11.5478676394508 +33.4185813747547 +25.5530773949688 +14.7961619823174 +22.2710574513201 +23.5539874432174 +17.2339815787965 +27.215173252412 +4.06984153366859 +7.51007272621331 +24.7444243500799 +18.0164813754079 +26.6270539113887 +29.4336965143315 +30.3915028428898 +11.7252100463969 +17.064465004608 +20.9502842499826 +16.3850575123207 +19.3528753492232 +20.7846096908265 +33.396205039034 +15.6140674930647 +16.5845482358975 +23.2518118214845 +16.2978466490127 +24.8752690882777 +11.7216140392957 +12.2767246322969 +20.0196562371296 +3.18633753309102 +12.2281691909479 +68.1373455525487 +10.2450106137816 +86.2532974498148 +114.502535214877 diff --git a/buch/papers/reedsolomon/experiments/f.m b/buch/papers/reedsolomon/experiments/f.m index 6bdc741..5e4da85 100644 --- a/buch/papers/reedsolomon/experiments/f.m +++ b/buch/papers/reedsolomon/experiments/f.m @@ -1,8 +1,8 @@ -# -# f.m -- Reed-Solomon-Visualisierung mit FFT -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# +% +% f.m -- Reed-Solomon-Visualisierung mit FFT +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule + N = 64; b = 32; l = N + b; @@ -59,3 +59,15 @@ plot(locator); xlim([1, l]); title("Locator"); pause() + +writematrix(abs(signal), 'signal.txt') +writematrix(abs(codiert), 'codiert.txt') +writematrix(fehler, 'fehler.txt') +writematrix(abs(empfangen), 'empfangen.txt') +writematrix(abs(decodiert), 'decodiert.txt') +writematrix(abs(syndrom), 'syndrom.txt') +writematrix(locator, 'locator.txt') + + + + diff --git a/buch/papers/reedsolomon/experiments/fehler.txt b/buch/papers/reedsolomon/experiments/fehler.txt new file mode 100644 index 0000000..b8f9afb --- /dev/null +++ b/buch/papers/reedsolomon/experiments/fehler.txt @@ -0,0 +1,96 @@ +0 +0 +0 +0 +0 +0 +2 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +2 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/buch/papers/reedsolomon/experiments/locator.txt b/buch/papers/reedsolomon/experiments/locator.txt new file mode 100644 index 0000000..421d36e --- /dev/null +++ b/buch/papers/reedsolomon/experiments/locator.txt @@ -0,0 +1,96 @@ +0.0301224340566959 +0.141653026854878 +0.138226631799375 +0.0339903276086926 +0.310585462557496 +0.551427312631386 +0.628514858396816 +0.511023862515591 +0.275861355940448 +0.0502396354182231 +0.0901855025475772 +0.110759344849757 +0.0684618905062958 +0.0362855426992255 +0.0697096919781522 +0.109288539370249 +0.0923187999496619 +0.0512198536768151 +0.274192386987786 +0.513496149536541 +0.633154426602464 +0.553283743533939 +0.307840573214511 +0.0341664350328389 +0.140270857956999 +0.138527177682829 +0.0296375477361526 +0.0816962563186064 +0.0944383203811072 +0.0263932110686224 +0.058588134840207 +0.0737117341600011 +0.0239973937701886 +0.0464215468420024 +0.0616218854220982 +0.0221963086695035 +0.0390764778127614 +0.0537637218396927 +0.0208333333333355 +0.0343107696069015 +0.0483441215964522 +0.0198077862118787 +0.0311207395968709 +0.0444955089373439 +0.0190533549944134 +0.0290049795038704 +0.0417536642697542 +0.0185261550443044 +0.0277059929762204 +0.0398606084144781 +0.0181978813094801 +0.0271098219177536 +0.0386836665079658 +0.018051861104682 +0.0272138992557153 +0.0381891287148298 +0.0180809085252426 +0.0281418959420076 +0.0384596362516644 +0.0182864418432244 +0.0302250788423177 +0.0397874837986374 +0.0186786556701704 +0.0342489348284176 +0.0429932815348636 +0.0192777878591794 +0.0422808966932026 +0.0506815964680558 +0.0201167847752232 +0.0615048274405276 +0.074495389450843 +0.0212460545964937 +0.142602265816219 +0.273502052865438 +0.325309673287598 +0.272705389655347 +0.149074257381343 +0.0247199397628717 +0.0680137859566989 +0.0753882708734869 +0.0273637831604916 +0.0407867704453288 +0.0632964886441987 +0.0309749128751131 +0.0315202035072016 +0.0627625211892194 +0.0360843918243526 +0.0279492055149482 +0.0677921493367224 +0.0437167157553051 +0.0270640150996341 +0.0783380025231665 +0.0561293738314322 +0.0278742033265804 +0.0981443889498686 +0.0794543457386637 diff --git a/buch/papers/reedsolomon/experiments/signal.txt b/buch/papers/reedsolomon/experiments/signal.txt new file mode 100644 index 0000000..202dd02 --- /dev/null +++ b/buch/papers/reedsolomon/experiments/signal.txt @@ -0,0 +1,96 @@ +5 +4 +4 +3 +5 +5 +8 +8 +6 +4 +8 +5 +4 +9 +9 +6 +6 +6 +2 +3 +5 +2 +8 +2 +2 +2 +2 +4 +3 +9 +4 +2 +9 +10 +4 +1 +3 +4 +6 +3 +6 +7 +2 +1 +3 +3 +4 +5 +1 +3 +8 +0 +9 +7 +5 +6 +2 +5 +10 +5 +5 +2 +5 +6 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/buch/papers/reedsolomon/experiments/syndrom.txt b/buch/papers/reedsolomon/experiments/syndrom.txt new file mode 100644 index 0000000..59b9dc4 --- /dev/null +++ b/buch/papers/reedsolomon/experiments/syndrom.txt @@ -0,0 +1,96 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0275599094902566 +0.0115837187254189 +0.0258777610142382 +0.0224618032819705 +0.0441059468994403 +0.0474504002669344 +0.0227694695500614 +0.0271436638090525 +0.0104166666666661 +0.027143663809052 +0.0227694695500605 +0.0474504002669342 +0.04410594689944 +0.0224618032819704 +0.0258777610142386 +0.0115837187254188 +0.027559909490256 +0.0245124379481791 +0.0499782237195213 +0.0401432022864264 +0.023292374765623 +0.0237974288564093 +0.0143895905726623 +0.0271745729691686 +0.0275599094902561 +0.051550167218498 +0.0358255004834538 +0.0247005083663728 +0.0210194725405181 +0.0177592928994299 +0.0261327016093146 +0.0314909067039408 diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 28b65bd..5e91559 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -31,7 +31,8 @@ Der Leser/Empfänger weiss, den Grad des Polynoms und dessen Werte übermittelt \begin{figure} \centering - \includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/polynom2.pdf} + %\includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/polynom2} + %\input{papers/reedsolomon/images/polynom2.tex} \caption{Polynom \eqref{reedsolomon:equation1}} \label{fig:polynom} \end{figure} @@ -43,7 +44,7 @@ Hat es Fehler in der Übertragunge gegeben, kann man diese erkennen, da alle Punkte, die korrekt sind, auf dem Polynom liegen müssen. 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. +gegenüber dem mit 5 Punkten falsch liegt.\ref{fig:polynom} Werden es mehr Fehler kann nur erkennt werden, dass das Polynom nicht stimmt. Das orginale Polynom kann aber nicht mehr gefunden werden. Dafür sind mehr übertragene Werte nötig. @@ -58,6 +59,7 @@ die Entschlüsselt werden sollen, brauchen die gleiche Anzahl an Polynomgraden, Für die Anzahl an Übertragungspunkte, muss bestimmt werden wieviel Fehler erkennt und korrigiert werden sollen. Mit Hilfe der Tabelle, sieht man das es bei $t$ Fehlern und $k$ Nutzlast Zahlen, $k+2t$ Punkte übertragen werden müssen. + \begin{center} \begin{tabular}{ c c c } \hline @@ -71,6 +73,7 @@ $k+2t$ Punkte übertragen werden müssen. \hline \end{tabular} \end{center} + Ein toller Nebeneffekt ist das dadurch auch $2t$ Fehler erkannt werden. Um zurück auf unser Beispiel zu kommen, können von den 7 Übertragungspunkten bis zu $2t = 2\cdot2 = 4 $ Punkten falsch liegen diff --git a/buch/papers/reedsolomon/images/polynom2.tex b/buch/papers/reedsolomon/images/polynom2.tex index be9a65e..4fdfc81 100644 --- a/buch/papers/reedsolomon/images/polynom2.tex +++ b/buch/papers/reedsolomon/images/polynom2.tex @@ -1,21 +1,21 @@ % polynome2 %------------------- -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} +%\documentclass[tikz]{standalone} +%\usepackage{amsmath} +%\usepackage{times} +%\usepackage{txfonts} +%\usepackage{pgfplots} +%\usepackage{csvsimple} +%\usetikzlibrary{arrows,intersections,math} \newcommand{\teiler}{40} -\begin{document} -% Übertragen von den Zahlen -% \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} -% als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline -% Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, -% \textcolor{green}{15}, \textcolor{green}{26}, -% \textcolor{green}{ 41}, \textcolor{green}{60}, -% \textcolor{green}{83}, \textcolor{green}{110})$ +%\begin{document} + Übertragen von den Zahlen + \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ \begin{tikzpicture}[>=latex,thick] @@ -48,4 +48,4 @@ \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; \end{tikzpicture} -\end{document} +%\end{document} diff --git a/buch/papers/reedsolomon/packages.tex b/buch/papers/reedsolomon/packages.tex index 3643731..4b1ee68 100644 --- a/buch/papers/reedsolomon/packages.tex +++ b/buch/papers/reedsolomon/packages.tex @@ -8,3 +8,5 @@ % following example %\usepackage{packagename} +\usepackage{pgfplots} + -- cgit v1.2.1 From 1a539e1764591e3daf7a254a038f956209e7f942 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Mon, 19 Jul 2021 17:46:05 +0200 Subject: minor changes --- buch/papers/reedsolomon/idee.tex | 2 +- buch/papers/reedsolomon/main.tex | 2 +- buch/papers/reedsolomon/teil2.tex | 40 --------------------------------------- 3 files changed, 2 insertions(+), 42 deletions(-) delete mode 100644 buch/papers/reedsolomon/teil2.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 5e91559..08864cf 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -33,7 +33,7 @@ Der Leser/Empfänger weiss, den Grad des Polynoms und dessen Werte übermittelt \centering %\includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/polynom2} %\input{papers/reedsolomon/images/polynom2.tex} - \caption{Polynom \eqref{reedsolomon:equation1}} + \caption{Polynom } \label{fig:polynom} \end{figure} diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 6bd04f2..18994dc 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -30,7 +30,7 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren % Joshua \input{papers/reedsolomon/einleitung.tex} \input{papers/reedsolomon/idee.tex} -\input{papers/reedsolomon/teil2.tex} +%\input{papers/reedsolomon/teil2.tex} \input{papers/reedsolomon/dtf.tex} % Michael diff --git a/buch/papers/reedsolomon/teil2.tex b/buch/papers/reedsolomon/teil2.tex deleted file mode 100644 index b2adc9f..0000000 --- a/buch/papers/reedsolomon/teil2.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil2.tex -- Beispiel-File für teil2 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 2 -\label{reedsolomon:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - -- cgit v1.2.1 From c8ac17e1f78eca79d8a2a62d0567f5ee02f4575c Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Jul 2021 15:17:21 +0200 Subject: update --- .../RS presentation/images/polynom1 - Kopie.tex | 33 ++++ buch/papers/reedsolomon/dtf.tex | 10 +- buch/papers/reedsolomon/experiments/codiert.txt | 192 ++++++++++----------- buch/papers/reedsolomon/experiments/decodiert.txt | 192 ++++++++++----------- buch/papers/reedsolomon/experiments/empfangen.txt | 192 ++++++++++----------- buch/papers/reedsolomon/experiments/f.m | 17 +- buch/papers/reedsolomon/experiments/fehler.txt | 192 ++++++++++----------- buch/papers/reedsolomon/experiments/locator.txt | 192 ++++++++++----------- buch/papers/reedsolomon/experiments/plot.tex | 91 ++++++++++ buch/papers/reedsolomon/experiments/signal.txt | 192 ++++++++++----------- buch/papers/reedsolomon/experiments/syndrom.txt | 192 ++++++++++----------- buch/papers/reedsolomon/idee.tex | 27 +-- buch/papers/reedsolomon/images/plotfft.tex | 77 +++++++++ buch/papers/reedsolomon/images/polynom2.tex | 88 +++++----- 14 files changed, 946 insertions(+), 741 deletions(-) create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1 - Kopie.tex create mode 100644 buch/papers/reedsolomon/experiments/plot.tex create mode 100644 buch/papers/reedsolomon/images/plotfft.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1 - Kopie.tex b/buch/papers/reedsolomon/RS presentation/images/polynom1 - Kopie.tex new file mode 100644 index 0000000..038e93e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1 - Kopie.tex @@ -0,0 +1,33 @@ +% polynome1 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} + + +\begin{tikzpicture}[>=latex,thick] + + \begin{axis}[ + axis lines = left, + xlabel = \(x\), + ylabel = {\(f(x)\)}, + ] + %Below the red parabola is defined + \addplot[ + color=blue, + ] + coordinates { + (0,23.1)(10,27.5)(20,32)(30,37.8)(40,44.6)(60,61.8)(80,83.8)(100,114) + }; + %Here the blue parabola is defined + + \end{axis} +\end{tikzpicture} +\end{document} + diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index d276760..f011ac3 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -26,7 +26,9 @@ Kommen nuun drei Fehler... hinzu zu diesem codierten Signal sind diese nicht zu 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{figure} + \centering + \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/codiert.txt b/buch/papers/reedsolomon/experiments/codiert.txt index a57fb3e..4a481d8 100644 --- a/buch/papers/reedsolomon/experiments/codiert.txt +++ b/buch/papers/reedsolomon/experiments/codiert.txt @@ -1,96 +1,96 @@ -305 -114.502535214877 -86.2532974498148 -10.2450106137816 -68.1373455525487 -12.2281691909479 -3.18633753309102 -20.0196562371296 -12.2767246322969 -11.7216140392957 -24.8752690882777 -16.2978466490127 -23.2518118214845 -16.5845482358975 -15.6140674930647 -33.396205039034 -20.7846096908265 -19.3528753492232 -16.3850575123207 -20.9502842499826 -17.064465004608 -11.7252100463969 -31.1005540675575 -29.4336965143315 -26.6270539113887 -18.0164813754079 -24.7444243500799 -7.51007272621331 -4.06984153366859 -27.215173252412 -17.2339815787965 -23.5539874432174 -22.2710574513201 -14.7961619823174 -25.5530773949688 -33.4185813747547 -11.5478676394508 -21.0691619228239 -28.7948800016184 -12.3795084046074 -17.0082930449459 -19.7473571196866 -18.4490385219626 -12.2195365467659 -7.58568158110485 -6.02300839250873 -14.565530706253 -3.78959213976527 -21 -3.78959213976527 -14.565530706253 -6.02300839250873 -7.58568158110485 -12.2195365467659 -18.4490385219626 -19.7473571196866 -17.0082930449459 -12.3795084046074 -28.7948800016184 -21.0691619228239 -11.5478676394508 -33.4185813747547 -25.5530773949688 -14.7961619823174 -22.2710574513201 -23.5539874432174 -17.2339815787965 -27.215173252412 -4.06984153366859 -7.51007272621331 -24.7444243500799 -18.0164813754079 -26.6270539113887 -29.4336965143315 -31.1005540675575 -11.7252100463969 -17.064465004608 -20.9502842499826 -16.3850575123207 -19.3528753492232 -20.7846096908265 -33.396205039034 -15.6140674930647 -16.5845482358975 -23.2518118214845 -16.2978466490127 -24.8752690882777 -11.7216140392957 -12.2767246322969 -20.0196562371296 -3.18633753309102 -12.2281691909479 -68.1373455525487 -10.2450106137816 -86.2532974498148 -114.502535214877 +0,284 +1,131.570790435043 +2,41.9840308053375 +3,12.1189172092243 +4,23.8408857476069 +5,69.1793197789512 +6,24.0186013379153 +7,37.3066577242559 +8,18.2010889773887 +9,12.3214904922455 +10,15.6627133315015 +11,24.5237955316204 +12,32.1114345314062 +13,44.9845039238714 +14,13.5324640263625 +15,10.1736266929292 +16,4.58257569495584 +17,23.217268502288 +18,16.5769107917917 +19,6.89948680823017 +20,4.84567134895776 +21,10.4219666223433 +22,43.6179140616243 +23,35.9073375743642 +24,15.0332963783729 +25,21.7594021268945 +26,23.2496572716993 +27,17.9815599423852 +28,11.3577742151117 +29,38.467599433197 +30,28.3035029562577 +31,9.54321919833388 +32,21.377558326432 +33,17.6292439561917 +34,12.6951848921471 +35,20.0667752354841 +36,22.9097309529208 +37,8.78894645948548 +38,13.360682005498 +39,25.1757616314718 +40,38.0357773686457 +41,18.4633287776253 +42,19.0584505869806 +43,10.8631093309173 +44,12.6147770818983 +45,12.5398140021274 +46,34.901983501949 +47,22.3480442021702 +48,6 +49,22.3480442021702 +50,34.901983501949 +51,12.5398140021274 +52,12.6147770818983 +53,10.8631093309173 +54,19.0584505869806 +55,18.4633287776253 +56,38.0357773686457 +57,25.1757616314718 +58,13.360682005498 +59,8.78894645948548 +60,22.9097309529208 +61,20.0667752354841 +62,12.6951848921471 +63,17.6292439561917 +64,21.377558326432 +65,9.54321919833388 +66,28.3035029562577 +67,38.467599433197 +68,11.3577742151117 +69,17.9815599423852 +70,23.2496572716993 +71,21.7594021268945 +72,15.0332963783729 +73,35.9073375743642 +74,43.6179140616243 +75,10.4219666223433 +76,4.84567134895776 +77,6.89948680823017 +78,16.5769107917917 +79,23.217268502288 +80,4.58257569495584 +81,10.1736266929292 +82,13.5324640263625 +83,44.9845039238714 +84,32.1114345314062 +85,24.5237955316204 +86,15.6627133315015 +87,12.3214904922455 +88,18.2010889773887 +89,37.3066577242559 +90,24.0186013379153 +91,69.1793197789512 +92,23.8408857476069 +93,12.1189172092243 +94,41.9840308053375 +95,131.570790435043 diff --git a/buch/papers/reedsolomon/experiments/decodiert.txt b/buch/papers/reedsolomon/experiments/decodiert.txt index 5295e2a..f6221e6 100644 --- a/buch/papers/reedsolomon/experiments/decodiert.txt +++ b/buch/papers/reedsolomon/experiments/decodiert.txt @@ -1,96 +1,96 @@ -5.05208333333333 -4.02603841132848 -3.9866906905523 -2.98928833660435 -5.01944413899123 -5.01851886476838 -7.97795274966527 -7.9523893732277 -5.97396514457618 -4.00519657776884 -8.0006276895628 -4.97630831658918 -3.97918030102376 -9.01298821331865 -9.03553822210758 -6.02435577439403 -6.005269315244 -6.00739475784899 -2.02214193521707 -3.02175993431401 -5.00158984940366 -1.98176205240977 -7.97728830439693 -1.98491220960989 -1.98958333333333 -1.98491220960989 -1.97728880273589 -3.98152108172961 -3.00171929847136 -9.02175649397959 -4.02211963444795 -2.00740795901169 -9.00524899981178 -10.0243555198185 -4.03562322003676 -1.01362103081199 -2.97918487756672 -3.97630844288113 -6.00063199465927 -3.00522617023784 -5.97396514457618 -6.95239288504068 -1.97810392013073 -1.01862378300238 -3.0194483612015 -2.98928833660435 -3.9866906905523 -5.02603060999077 -1.05208333333333 -3.02605136876764 -7.9866590265379 -0.0177592928994289 -9.01944131204563 -7.01851125156932 -4.97798278395618 -5.95239757681758 -1.97397894668217 -5.00517880987882 -10.0006251063956 -4.97630831658918 -4.97917756274958 -2.01326692505463 -5.0355927170407 -6.02435577439403 -0.0275599094902566 -0.0115837187254189 -0.0258777610142382 -0.0224618032819705 -0.0441059468994403 -0.0474504002669344 -0.0227694695500614 -0.0271436638090525 -0.0104166666666661 -0.027143663809052 -0.0227694695500605 -0.0474504002669342 -0.04410594689944 -0.0224618032819704 -0.0258777610142386 -0.0115837187254188 -0.027559909490256 -0.0245124379481791 -0.0499782237195213 -0.0401432022864264 -0.023292374765623 -0.0237974288564093 -0.0143895905726623 -0.0271745729691686 -0.0275599094902561 -0.051550167218498 -0.0358255004834538 -0.0247005083663728 -0.0210194725405181 -0.0177592928994299 -0.0261327016093146 -0.0314909067039408 +0,6.05208333333333 +1,6.02602539785853 +2,0.0261327016093151 +3,5.98927158561317 +4,4.019445724874 +5,0.0247005083663722 +6,4.97798278395618 +7,1.95246440445439 +8,0.974000110512201 +9,2.00528527696027 +10,1.00071804528155 +11,1.97630907888264 +12,0.0232923747656228 +13,6.01302820392331 +14,3.03567381915226 +15,5.02435590137329 +16,7.00526061008995 +17,5.00739608089369 +18,5.02211514480064 +19,4.02175864806658 +20,1.00236543833726 +21,4.98147315261261 +22,8.97728828610336 +23,8.98481304394618 +24,2.98958333333333 +25,1.98491220960989 +26,5.97728835934715 +27,5.98144124907561 +28,4.00163839998525 +29,2.02176249296313 +30,9.02210713874162 +31,1.00742763919872 +32,1.00557258081044 +33,1.02435888848794 +34,2.03577412756745 +35,6.01302820392331 +36,5.97917574041123 +37,0.976310374034338 +38,9.00062625447998 +39,7.00515849238528 +40,6.97396416790894 +41,0.95256880864368 +42,8.97794719866783 +43,9.01850701506487 +44,10.0194409579917 +45,8.98926601525997 +46,7.9866590265379 +47,5.02603060999077 +48,2.05208333333333 +49,4.02603841132848 +50,0.986882897867895 +51,0.0177592928994285 +52,9.01944131204563 +53,3.0185365665612 +54,2.97803642439316 +55,2.95243072164649 +56,4.97396651395488 +57,6.00516695947321 +58,0.0143895905726619 +59,7.97630812771393 +60,5.97917574041123 +61,9.01298821331865 +62,3.03567381915226 +63,4.02435609145793 +64,0.0275599094902563 +65,0.0115837187254191 +66,0.025877761014238 +67,0.0224618032819697 +68,0.04410594689944 +69,0.0474504002669341 +70,0.0227694695500626 +71,0.0271436638090525 +72,0.0104166666666667 +73,0.0271436638090523 +74,0.0227694695500608 +75,0.0474504002669343 +76,0.0441059468994397 +77,0.0224618032819701 +78,0.0258777610142379 +79,0.0115837187254183 +80,0.027559909490256 +81,0.0245124379481793 +82,0.0499782237195209 +83,0.0401432022864265 +84,0.0232923747656228 +85,0.0237974288564099 +86,0.0143895905726624 +87,0.0271745729691685 +88,0.0275599094902567 +89,0.0515501672184983 +90,0.0358255004834542 +91,0.024700508366373 +92,0.0210194725405171 +93,0.0177592928994296 +94,0.0261327016093158 +95,0.0314909067039411 diff --git a/buch/papers/reedsolomon/experiments/empfangen.txt b/buch/papers/reedsolomon/experiments/empfangen.txt index 326dd83..38c13b0 100644 --- a/buch/papers/reedsolomon/experiments/empfangen.txt +++ b/buch/papers/reedsolomon/experiments/empfangen.txt @@ -1,96 +1,96 @@ -305 -114.502535214877 -86.2532974498148 -10.2450106137816 -68.1373455525487 -12.2281691909479 -4.75208293424194 -20.0196562371296 -12.2767246322969 -11.7216140392957 -24.8752690882777 -16.2978466490127 -23.2518118214845 -16.5845482358975 -15.6140674930647 -33.396205039034 -20.7846096908265 -19.3528753492232 -16.3850575123207 -20.9502842499826 -19.0535931901409 -11.7252100463969 -31.1005540675575 -29.4336965143315 -26.6270539113887 -18.0164813754079 -24.7444243500799 -7.51007272621331 -4.06984153366859 -27.215173252412 -17.2339815787965 -23.5539874432174 -22.2710574513201 -14.7961619823174 -25.5530773949688 -33.4185813747547 -11.5478676394508 -21.0691619228239 -28.7948800016184 -12.3795084046074 -17.0082930449459 -19.7473571196866 -18.4490385219626 -12.2195365467659 -7.58568158110485 -6.02300839250873 -14.565530706253 -3.78959213976527 -21 -3.78959213976527 -14.565530706253 -6.02300839250873 -7.58568158110485 -12.2195365467659 -18.4490385219626 -19.7473571196866 -17.0082930449459 -12.3795084046074 -28.7948800016184 -21.0691619228239 -11.5478676394508 -33.4185813747547 -25.5530773949688 -14.7961619823174 -22.2710574513201 -23.5539874432174 -17.2339815787965 -27.215173252412 -4.06984153366859 -7.51007272621331 -24.7444243500799 -18.0164813754079 -26.6270539113887 -29.4336965143315 -30.3915028428898 -11.7252100463969 -17.064465004608 -20.9502842499826 -16.3850575123207 -19.3528753492232 -20.7846096908265 -33.396205039034 -15.6140674930647 -16.5845482358975 -23.2518118214845 -16.2978466490127 -24.8752690882777 -11.7216140392957 -12.2767246322969 -20.0196562371296 -3.18633753309102 -12.2281691909479 -68.1373455525487 -10.2450106137816 -86.2532974498148 -114.502535214877 +0,284 +1,131.570790435043 +2,41.9840308053375 +3,12.1189172092243 +4,23.8408857476069 +5,69.1793197789512 +6,23.6290258699579 +7,37.3066577242559 +8,18.2010889773887 +9,12.3214904922455 +10,15.6627133315015 +11,24.5237955316204 +12,32.1114345314062 +13,44.9845039238714 +14,13.5324640263625 +15,10.1736266929292 +16,4.58257569495584 +17,23.217268502288 +18,16.5769107917917 +19,6.89948680823017 +20,5.55320238736303 +21,10.4219666223433 +22,43.6179140616243 +23,35.9073375743642 +24,15.0332963783729 +25,21.7594021268945 +26,23.2496572716993 +27,17.9815599423852 +28,11.3577742151117 +29,38.467599433197 +30,28.3035029562577 +31,9.54321919833388 +32,21.377558326432 +33,17.6292439561917 +34,12.6951848921471 +35,20.0667752354841 +36,22.9097309529208 +37,8.78894645948548 +38,13.360682005498 +39,25.1757616314718 +40,38.0357773686457 +41,18.4633287776253 +42,19.0584505869806 +43,10.8631093309173 +44,12.6147770818983 +45,12.5398140021274 +46,34.901983501949 +47,22.3480442021702 +48,6 +49,22.3480442021702 +50,34.901983501949 +51,12.5398140021274 +52,12.6147770818983 +53,10.8631093309173 +54,19.0584505869806 +55,18.4633287776253 +56,38.0357773686457 +57,25.1757616314718 +58,13.360682005498 +59,8.78894645948548 +60,22.9097309529208 +61,20.0667752354841 +62,12.6951848921471 +63,17.6292439561917 +64,21.377558326432 +65,9.54321919833388 +66,28.3035029562577 +67,38.467599433197 +68,11.3577742151117 +69,17.9815599423852 +70,23.2496572716993 +71,21.7594021268945 +72,15.0332963783729 +73,35.9073375743642 +74,44.6135417384784 +75,10.4219666223433 +76,4.84567134895776 +77,6.89948680823017 +78,16.5769107917917 +79,23.217268502288 +80,4.58257569495584 +81,10.1736266929292 +82,13.5324640263625 +83,44.9845039238714 +84,32.1114345314062 +85,24.5237955316204 +86,15.6627133315015 +87,12.3214904922455 +88,18.2010889773887 +89,37.3066577242559 +90,24.0186013379153 +91,69.1793197789512 +92,23.8408857476069 +93,12.1189172092243 +94,41.9840308053375 +95,131.570790435043 diff --git a/buch/papers/reedsolomon/experiments/f.m b/buch/papers/reedsolomon/experiments/f.m index 5e4da85..bf2587c 100644 --- a/buch/papers/reedsolomon/experiments/f.m +++ b/buch/papers/reedsolomon/experiments/f.m @@ -51,6 +51,7 @@ syndrom(1:N,1) = zeros(N,1) plot(abs(syndrom)); xlim([1, l]); title("Syndrom"); + pause() locator = abs(fft(syndrom)) @@ -60,14 +61,12 @@ xlim([1, l]); title("Locator"); pause() -writematrix(abs(signal), 'signal.txt') -writematrix(abs(codiert), 'codiert.txt') -writematrix(fehler, 'fehler.txt') -writematrix(abs(empfangen), 'empfangen.txt') -writematrix(abs(decodiert), 'decodiert.txt') -writematrix(abs(syndrom), 'syndrom.txt') -writematrix(locator, 'locator.txt') - - +writematrix([transpose(counter), abs(signal)], 'signal.txt') +writematrix([transpose(counter), abs(codiert)], 'codiert.txt') +writematrix([transpose(counter), fehler], 'fehler.txt') +writematrix([transpose(counter), abs(empfangen)], 'empfangen.txt') +writematrix([transpose(counter), abs(decodiert)], 'decodiert.txt') +writematrix([transpose(counter), abs(syndrom)], 'syndrom.txt') +writematrix([transpose(counter), locator], 'locator.txt') diff --git a/buch/papers/reedsolomon/experiments/fehler.txt b/buch/papers/reedsolomon/experiments/fehler.txt index b8f9afb..23f1a83 100644 --- a/buch/papers/reedsolomon/experiments/fehler.txt +++ b/buch/papers/reedsolomon/experiments/fehler.txt @@ -1,96 +1,96 @@ -0 -0 -0 -0 -0 -0 -2 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -2 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 +0,0 +1,0 +2,0 +3,0 +4,0 +5,0 +6,2 +7,0 +8,0 +9,0 +10,0 +11,0 +12,0 +13,0 +14,0 +15,0 +16,0 +17,0 +18,0 +19,0 +20,2 +21,0 +22,0 +23,0 +24,0 +25,0 +26,0 +27,0 +28,0 +29,0 +30,0 +31,0 +32,0 +33,0 +34,0 +35,0 +36,0 +37,0 +38,0 +39,0 +40,0 +41,0 +42,0 +43,0 +44,0 +45,0 +46,0 +47,0 +48,0 +49,0 +50,0 +51,0 +52,0 +53,0 +54,0 +55,0 +56,0 +57,0 +58,0 +59,0 +60,0 +61,0 +62,0 +63,0 +64,0 +65,0 +66,0 +67,0 +68,0 +69,0 +70,0 +71,0 +72,0 +73,0 +74,1 +75,0 +76,0 +77,0 +78,0 +79,0 +80,0 +81,0 +82,0 +83,0 +84,0 +85,0 +86,0 +87,0 +88,0 +89,0 +90,0 +91,0 +92,0 +93,0 +94,0 +95,0 diff --git a/buch/papers/reedsolomon/experiments/locator.txt b/buch/papers/reedsolomon/experiments/locator.txt index 421d36e..b28988c 100644 --- a/buch/papers/reedsolomon/experiments/locator.txt +++ b/buch/papers/reedsolomon/experiments/locator.txt @@ -1,96 +1,96 @@ -0.0301224340566959 -0.141653026854878 -0.138226631799375 -0.0339903276086926 -0.310585462557496 -0.551427312631386 -0.628514858396816 -0.511023862515591 -0.275861355940448 -0.0502396354182231 -0.0901855025475772 -0.110759344849757 -0.0684618905062958 -0.0362855426992255 -0.0697096919781522 -0.109288539370249 -0.0923187999496619 -0.0512198536768151 -0.274192386987786 -0.513496149536541 -0.633154426602464 -0.553283743533939 -0.307840573214511 -0.0341664350328389 -0.140270857956999 -0.138527177682829 -0.0296375477361526 -0.0816962563186064 -0.0944383203811072 -0.0263932110686224 -0.058588134840207 -0.0737117341600011 -0.0239973937701886 -0.0464215468420024 -0.0616218854220982 -0.0221963086695035 -0.0390764778127614 -0.0537637218396927 -0.0208333333333355 -0.0343107696069015 -0.0483441215964522 -0.0198077862118787 -0.0311207395968709 -0.0444955089373439 -0.0190533549944134 -0.0290049795038704 -0.0417536642697542 -0.0185261550443044 -0.0277059929762204 -0.0398606084144781 -0.0181978813094801 -0.0271098219177536 -0.0386836665079658 -0.018051861104682 -0.0272138992557153 -0.0381891287148298 -0.0180809085252426 -0.0281418959420076 -0.0384596362516644 -0.0182864418432244 -0.0302250788423177 -0.0397874837986374 -0.0186786556701704 -0.0342489348284176 -0.0429932815348636 -0.0192777878591794 -0.0422808966932026 -0.0506815964680558 -0.0201167847752232 -0.0615048274405276 -0.074495389450843 -0.0212460545964937 -0.142602265816219 -0.273502052865438 -0.325309673287598 -0.272705389655347 -0.149074257381343 -0.0247199397628717 -0.0680137859566989 -0.0753882708734869 -0.0273637831604916 -0.0407867704453288 -0.0632964886441987 -0.0309749128751131 -0.0315202035072016 -0.0627625211892194 -0.0360843918243526 -0.0279492055149482 -0.0677921493367224 -0.0437167157553051 -0.0270640150996341 -0.0783380025231665 -0.0561293738314322 -0.0278742033265804 -0.0981443889498686 -0.0794543457386637 +0,0.0301224340567056 +1,0.141653026854885 +2,0.138226631799377 +3,0.0339903276086929 +4,0.310585462557496 +5,0.551427312631385 +6,0.628514858396814 +7,0.51102386251559 +8,0.275861355940449 +9,0.0502396354182268 +10,0.090185502547573 +11,0.110759344849756 +12,0.0684618905063001 +13,0.0362855426992259 +14,0.0697096919781468 +15,0.109288539370248 +16,0.0923187999496653 +17,0.0512198536768088 +18,0.274192386987782 +19,0.51349614953654 +20,0.633154426602466 +21,0.553283743533942 +22,0.307840573214514 +23,0.0341664350328392 +24,0.140270857957 +25,0.138527177682831 +26,0.029637547736156 +27,0.0816962563186052 +28,0.0944383203811073 +29,0.0263932110686261 +30,0.0585881348402056 +31,0.0737117341599984 +32,0.0239973937701886 +33,0.0464215468420038 +34,0.0616218854220964 +35,0.0221963086695009 +36,0.0390764778127646 +37,0.0537637218396934 +38,0.0208333333333332 +39,0.0343107696069045 +40,0.0483441215964552 +41,0.0198077862118806 +42,0.0311207395968725 +43,0.0444955089373458 +44,0.0190533549944159 +45,0.0290049795038723 +46,0.0417536642697558 +47,0.0185261550443084 +48,0.0277059929762261 +49,0.0398606084144816 +50,0.0181978813094817 +51,0.0271098219177584 +52,0.0386836665079729 +53,0.0180518611046889 +54,0.0272138992557141 +55,0.0381891287148314 +56,0.0180809085252469 +57,0.0281418959420061 +58,0.0384596362516637 +59,0.0182864418432272 +60,0.0302250788423173 +61,0.0397874837986351 +62,0.0186786556701694 +63,0.0342489348284216 +64,0.0429932815348666 +65,0.0192777878591759 +66,0.0422808966931999 +67,0.0506815964680563 +68,0.0201167847752226 +69,0.0615048274405271 +70,0.0744953894508454 +71,0.021246054596492 +72,0.142602265816215 +73,0.273502052865436 +74,0.325309673287599 +75,0.272705389655349 +76,0.149074257381345 +77,0.0247199397628712 +78,0.0680137859566976 +79,0.075388270873485 +80,0.0273637831604903 +81,0.0407867704453274 +82,0.0632964886441949 +83,0.0309749128751093 +84,0.0315202035072035 +85,0.0627625211892184 +86,0.0360843918243497 +87,0.02794920551495 +88,0.0677921493367236 +89,0.0437167157553067 +90,0.0270640150996317 +91,0.0783380025231622 +92,0.0561293738314281 +93,0.0278742033265809 +94,0.0981443889498639 +95,0.0794543457386548 diff --git a/buch/papers/reedsolomon/experiments/plot.tex b/buch/papers/reedsolomon/experiments/plot.tex new file mode 100644 index 0000000..bf9aadc --- /dev/null +++ b/buch/papers/reedsolomon/experiments/plot.tex @@ -0,0 +1,91 @@ +% polynome1 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usepackage{pgfplotstable} +\usepackage{filecontents} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\x}{10} +\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}}; \\ + + &\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}};\\ +}; + %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} +\end{document} + diff --git a/buch/papers/reedsolomon/experiments/signal.txt b/buch/papers/reedsolomon/experiments/signal.txt index 202dd02..c4fa5f8 100644 --- a/buch/papers/reedsolomon/experiments/signal.txt +++ b/buch/papers/reedsolomon/experiments/signal.txt @@ -1,96 +1,96 @@ -5 -4 -4 -3 -5 -5 -8 -8 -6 -4 -8 -5 -4 -9 -9 -6 -6 -6 -2 -3 -5 -2 -8 -2 -2 -2 -2 -4 -3 -9 -4 -2 -9 -10 -4 -1 -3 -4 -6 -3 -6 -7 -2 -1 -3 -3 -4 -5 -1 -3 -8 -0 -9 -7 -5 -6 -2 -5 -10 -5 -5 -2 -5 -6 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 +0,6 +1,6 +2,0 +3,6 +4,4 +5,0 +6,5 +7,2 +8,1 +9,2 +10,1 +11,2 +12,0 +13,6 +14,3 +15,5 +16,7 +17,5 +18,5 +19,4 +20,1 +21,5 +22,9 +23,9 +24,3 +25,2 +26,6 +27,6 +28,4 +29,2 +30,9 +31,1 +32,1 +33,1 +34,2 +35,6 +36,6 +37,1 +38,9 +39,7 +40,7 +41,1 +42,9 +43,9 +44,10 +45,9 +46,8 +47,5 +48,2 +49,4 +50,1 +51,0 +52,9 +53,3 +54,3 +55,3 +56,5 +57,6 +58,0 +59,8 +60,6 +61,9 +62,3 +63,4 +64,0 +65,0 +66,0 +67,0 +68,0 +69,0 +70,0 +71,0 +72,0 +73,0 +74,0 +75,0 +76,0 +77,0 +78,0 +79,0 +80,0 +81,0 +82,0 +83,0 +84,0 +85,0 +86,0 +87,0 +88,0 +89,0 +90,0 +91,0 +92,0 +93,0 +94,0 +95,0 diff --git a/buch/papers/reedsolomon/experiments/syndrom.txt b/buch/papers/reedsolomon/experiments/syndrom.txt index 59b9dc4..8ca9eed 100644 --- a/buch/papers/reedsolomon/experiments/syndrom.txt +++ b/buch/papers/reedsolomon/experiments/syndrom.txt @@ -1,96 +1,96 @@ -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0.0275599094902566 -0.0115837187254189 -0.0258777610142382 -0.0224618032819705 -0.0441059468994403 -0.0474504002669344 -0.0227694695500614 -0.0271436638090525 -0.0104166666666661 -0.027143663809052 -0.0227694695500605 -0.0474504002669342 -0.04410594689944 -0.0224618032819704 -0.0258777610142386 -0.0115837187254188 -0.027559909490256 -0.0245124379481791 -0.0499782237195213 -0.0401432022864264 -0.023292374765623 -0.0237974288564093 -0.0143895905726623 -0.0271745729691686 -0.0275599094902561 -0.051550167218498 -0.0358255004834538 -0.0247005083663728 -0.0210194725405181 -0.0177592928994299 -0.0261327016093146 -0.0314909067039408 +0,0 +1,0 +2,0 +3,0 +4,0 +5,0 +6,0 +7,0 +8,0 +9,0 +10,0 +11,0 +12,0 +13,0 +14,0 +15,0 +16,0 +17,0 +18,0 +19,0 +20,0 +21,0 +22,0 +23,0 +24,0 +25,0 +26,0 +27,0 +28,0 +29,0 +30,0 +31,0 +32,0 +33,0 +34,0 +35,0 +36,0 +37,0 +38,0 +39,0 +40,0 +41,0 +42,0 +43,0 +44,0 +45,0 +46,0 +47,0 +48,0 +49,0 +50,0 +51,0 +52,0 +53,0 +54,0 +55,0 +56,0 +57,0 +58,0 +59,0 +60,0 +61,0 +62,0 +63,0 +64,0.0275599094902563 +65,0.0115837187254191 +66,0.025877761014238 +67,0.0224618032819697 +68,0.04410594689944 +69,0.0474504002669341 +70,0.0227694695500626 +71,0.0271436638090525 +72,0.0104166666666667 +73,0.0271436638090523 +74,0.0227694695500608 +75,0.0474504002669343 +76,0.0441059468994397 +77,0.0224618032819701 +78,0.0258777610142379 +79,0.0115837187254183 +80,0.027559909490256 +81,0.0245124379481793 +82,0.0499782237195209 +83,0.0401432022864265 +84,0.0232923747656228 +85,0.0237974288564099 +86,0.0143895905726624 +87,0.0271745729691685 +88,0.0275599094902567 +89,0.0515501672184983 +90,0.0358255004834542 +91,0.024700508366373 +92,0.0210194725405171 +93,0.0177592928994296 +94,0.0261327016093158 +95,0.0314909067039411 diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 08864cf..39adbbf 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -25,23 +25,20 @@ p(x) \end{equation} ergeben. Übertragen werden nun die Werte an den stellen 1, 2, 3\dots 7 dieses Polynomes. -Grafisch sieht man dies dann in Abbildung +Grafisch sieht man dies dann in Abbildung \ref{fig:polynom}, +mit den Punkten, $p(1),p(2),...,p(7) = (\textcolor{green}{8}, +\textcolor{green}{15}, \textcolor{green}{26}, +\textcolor{green}{41}, \textcolor{green}{60}, +\textcolor{green}{83}, \textcolor{green}{110})$ Wenn ein Fehler sich in die Übertragung eingeschlichen hatt, 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. -\begin{figure} - \centering - %\includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/polynom2} - %\input{papers/reedsolomon/images/polynom2.tex} - \caption{Polynom } - \label{fig:polynom} -\end{figure} - \subsection{Beispiel} Für das Beispeil aus der Gleichung \eqref{reedsolomon:equation1}, ist ein Polynome zweiten Grades durch drei Punkte eindeutig bestimmbar. -Hat es Fehler in der Übertragunge gegeben, kann man diese erkennen, -da alle Punkte, die korrekt sind, auf dem Polynom liegen müssen. +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{green}{grünen Punkte}) 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} @@ -49,6 +46,14 @@ Werden es mehr Fehler kann nur erkennt werden, dass das Polynom nicht stimmt. Das orginale Polynom kann aber nicht mehr gefunden werden. Dafür sind mehr übertragene Werte nötig. +\begin{figure} + \centering + %\includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/polynom2} + \input{papers/reedsolomon/images/polynom2.tex} + \caption{Polynom $p(x)$ \eqref{reedsolomon:equation1}} + \label{fig:polynom} +\end{figure} + \section{Fehlerbestimmung \label{reedsolomon:section:Fehlerbestimmmung}} So wird ein Muster indentifiziert, welches genau vorherbestimmen kann, diff --git a/buch/papers/reedsolomon/images/plotfft.tex b/buch/papers/reedsolomon/images/plotfft.tex new file mode 100644 index 0000000..e6d3b47 --- /dev/null +++ b/buch/papers/reedsolomon/images/plotfft.tex @@ -0,0 +1,77 @@ +% +% 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]{ + \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}}; \\ + + &\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}};\\ +}; +%------------------------------------------------------------- + %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 diff --git a/buch/papers/reedsolomon/images/polynom2.tex b/buch/papers/reedsolomon/images/polynom2.tex index 4fdfc81..288b51c 100644 --- a/buch/papers/reedsolomon/images/polynom2.tex +++ b/buch/papers/reedsolomon/images/polynom2.tex @@ -1,51 +1,49 @@ -% polynome2 +% polynome %------------------- -%\documentclass[tikz]{standalone} -%\usepackage{amsmath} -%\usepackage{times} -%\usepackage{txfonts} -%\usepackage{pgfplots} -%\usepackage{csvsimple} -%\usetikzlibrary{arrows,intersections,math} +% Teiler für das Skalieren der Grafik /40 \newcommand{\teiler}{40} -%\begin{document} - Übertragen von den Zahlen - \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} - als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ + + +%////////////////////////////////////// + +\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 #1 circle[radius=0.07]; + } + + \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)} + \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}); - \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]; - } - \punkt{(1,8/\teiler)} - %\punkt{(2,15/\teiler)} - %\punkt{(3,26/\teiler)} - \punkt{(4,41/\teiler)} - \punkt{(5,60/\teiler)} - \punkt{(6,83/\teiler)} - \punkt{(7,110/\teiler)} - \draw[color=gray,line width=1pt,dashed] - plot[domain=0.5:7, samples=100] - ({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); - \def\erpunkt#1{ - \fill[color=red] #1 circle[radius=0.08]; - \draw #1 circle[radius=0.07]; - } - \erpunkt{(2,50/\teiler)} - \erpunkt{(3,0.9414)} + \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} + \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; + \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; +\end{tikzpicture} %\end{document} -- cgit v1.2.1 From 3e112e15ffe65ede9c2a13077e358e9efe565d03 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Jul 2021 15:26:35 +0200 Subject: txt files to images ordner --- buch/papers/reedsolomon/images/codiert.txt | 96 ++++++++++++++++++++++++++++ buch/papers/reedsolomon/images/decodiert.txt | 96 ++++++++++++++++++++++++++++ buch/papers/reedsolomon/images/empfangen.txt | 96 ++++++++++++++++++++++++++++ buch/papers/reedsolomon/images/fehler.txt | 96 ++++++++++++++++++++++++++++ buch/papers/reedsolomon/images/locator.txt | 96 ++++++++++++++++++++++++++++ buch/papers/reedsolomon/images/signal.txt | 96 ++++++++++++++++++++++++++++ buch/papers/reedsolomon/images/syndrom.txt | 96 ++++++++++++++++++++++++++++ 7 files changed, 672 insertions(+) create mode 100644 buch/papers/reedsolomon/images/codiert.txt create mode 100644 buch/papers/reedsolomon/images/decodiert.txt create mode 100644 buch/papers/reedsolomon/images/empfangen.txt create mode 100644 buch/papers/reedsolomon/images/fehler.txt create mode 100644 buch/papers/reedsolomon/images/locator.txt create mode 100644 buch/papers/reedsolomon/images/signal.txt create mode 100644 buch/papers/reedsolomon/images/syndrom.txt (limited to 'buch') diff --git a/buch/papers/reedsolomon/images/codiert.txt b/buch/papers/reedsolomon/images/codiert.txt new file mode 100644 index 0000000..4a481d8 --- /dev/null +++ b/buch/papers/reedsolomon/images/codiert.txt @@ -0,0 +1,96 @@ +0,284 +1,131.570790435043 +2,41.9840308053375 +3,12.1189172092243 +4,23.8408857476069 +5,69.1793197789512 +6,24.0186013379153 +7,37.3066577242559 +8,18.2010889773887 +9,12.3214904922455 +10,15.6627133315015 +11,24.5237955316204 +12,32.1114345314062 +13,44.9845039238714 +14,13.5324640263625 +15,10.1736266929292 +16,4.58257569495584 +17,23.217268502288 +18,16.5769107917917 +19,6.89948680823017 +20,4.84567134895776 +21,10.4219666223433 +22,43.6179140616243 +23,35.9073375743642 +24,15.0332963783729 +25,21.7594021268945 +26,23.2496572716993 +27,17.9815599423852 +28,11.3577742151117 +29,38.467599433197 +30,28.3035029562577 +31,9.54321919833388 +32,21.377558326432 +33,17.6292439561917 +34,12.6951848921471 +35,20.0667752354841 +36,22.9097309529208 +37,8.78894645948548 +38,13.360682005498 +39,25.1757616314718 +40,38.0357773686457 +41,18.4633287776253 +42,19.0584505869806 +43,10.8631093309173 +44,12.6147770818983 +45,12.5398140021274 +46,34.901983501949 +47,22.3480442021702 +48,6 +49,22.3480442021702 +50,34.901983501949 +51,12.5398140021274 +52,12.6147770818983 +53,10.8631093309173 +54,19.0584505869806 +55,18.4633287776253 +56,38.0357773686457 +57,25.1757616314718 +58,13.360682005498 +59,8.78894645948548 +60,22.9097309529208 +61,20.0667752354841 +62,12.6951848921471 +63,17.6292439561917 +64,21.377558326432 +65,9.54321919833388 +66,28.3035029562577 +67,38.467599433197 +68,11.3577742151117 +69,17.9815599423852 +70,23.2496572716993 +71,21.7594021268945 +72,15.0332963783729 +73,35.9073375743642 +74,43.6179140616243 +75,10.4219666223433 +76,4.84567134895776 +77,6.89948680823017 +78,16.5769107917917 +79,23.217268502288 +80,4.58257569495584 +81,10.1736266929292 +82,13.5324640263625 +83,44.9845039238714 +84,32.1114345314062 +85,24.5237955316204 +86,15.6627133315015 +87,12.3214904922455 +88,18.2010889773887 +89,37.3066577242559 +90,24.0186013379153 +91,69.1793197789512 +92,23.8408857476069 +93,12.1189172092243 +94,41.9840308053375 +95,131.570790435043 diff --git a/buch/papers/reedsolomon/images/decodiert.txt b/buch/papers/reedsolomon/images/decodiert.txt new file mode 100644 index 0000000..f6221e6 --- /dev/null +++ b/buch/papers/reedsolomon/images/decodiert.txt @@ -0,0 +1,96 @@ +0,6.05208333333333 +1,6.02602539785853 +2,0.0261327016093151 +3,5.98927158561317 +4,4.019445724874 +5,0.0247005083663722 +6,4.97798278395618 +7,1.95246440445439 +8,0.974000110512201 +9,2.00528527696027 +10,1.00071804528155 +11,1.97630907888264 +12,0.0232923747656228 +13,6.01302820392331 +14,3.03567381915226 +15,5.02435590137329 +16,7.00526061008995 +17,5.00739608089369 +18,5.02211514480064 +19,4.02175864806658 +20,1.00236543833726 +21,4.98147315261261 +22,8.97728828610336 +23,8.98481304394618 +24,2.98958333333333 +25,1.98491220960989 +26,5.97728835934715 +27,5.98144124907561 +28,4.00163839998525 +29,2.02176249296313 +30,9.02210713874162 +31,1.00742763919872 +32,1.00557258081044 +33,1.02435888848794 +34,2.03577412756745 +35,6.01302820392331 +36,5.97917574041123 +37,0.976310374034338 +38,9.00062625447998 +39,7.00515849238528 +40,6.97396416790894 +41,0.95256880864368 +42,8.97794719866783 +43,9.01850701506487 +44,10.0194409579917 +45,8.98926601525997 +46,7.9866590265379 +47,5.02603060999077 +48,2.05208333333333 +49,4.02603841132848 +50,0.986882897867895 +51,0.0177592928994285 +52,9.01944131204563 +53,3.0185365665612 +54,2.97803642439316 +55,2.95243072164649 +56,4.97396651395488 +57,6.00516695947321 +58,0.0143895905726619 +59,7.97630812771393 +60,5.97917574041123 +61,9.01298821331865 +62,3.03567381915226 +63,4.02435609145793 +64,0.0275599094902563 +65,0.0115837187254191 +66,0.025877761014238 +67,0.0224618032819697 +68,0.04410594689944 +69,0.0474504002669341 +70,0.0227694695500626 +71,0.0271436638090525 +72,0.0104166666666667 +73,0.0271436638090523 +74,0.0227694695500608 +75,0.0474504002669343 +76,0.0441059468994397 +77,0.0224618032819701 +78,0.0258777610142379 +79,0.0115837187254183 +80,0.027559909490256 +81,0.0245124379481793 +82,0.0499782237195209 +83,0.0401432022864265 +84,0.0232923747656228 +85,0.0237974288564099 +86,0.0143895905726624 +87,0.0271745729691685 +88,0.0275599094902567 +89,0.0515501672184983 +90,0.0358255004834542 +91,0.024700508366373 +92,0.0210194725405171 +93,0.0177592928994296 +94,0.0261327016093158 +95,0.0314909067039411 diff --git a/buch/papers/reedsolomon/images/empfangen.txt b/buch/papers/reedsolomon/images/empfangen.txt new file mode 100644 index 0000000..38c13b0 --- /dev/null +++ b/buch/papers/reedsolomon/images/empfangen.txt @@ -0,0 +1,96 @@ +0,284 +1,131.570790435043 +2,41.9840308053375 +3,12.1189172092243 +4,23.8408857476069 +5,69.1793197789512 +6,23.6290258699579 +7,37.3066577242559 +8,18.2010889773887 +9,12.3214904922455 +10,15.6627133315015 +11,24.5237955316204 +12,32.1114345314062 +13,44.9845039238714 +14,13.5324640263625 +15,10.1736266929292 +16,4.58257569495584 +17,23.217268502288 +18,16.5769107917917 +19,6.89948680823017 +20,5.55320238736303 +21,10.4219666223433 +22,43.6179140616243 +23,35.9073375743642 +24,15.0332963783729 +25,21.7594021268945 +26,23.2496572716993 +27,17.9815599423852 +28,11.3577742151117 +29,38.467599433197 +30,28.3035029562577 +31,9.54321919833388 +32,21.377558326432 +33,17.6292439561917 +34,12.6951848921471 +35,20.0667752354841 +36,22.9097309529208 +37,8.78894645948548 +38,13.360682005498 +39,25.1757616314718 +40,38.0357773686457 +41,18.4633287776253 +42,19.0584505869806 +43,10.8631093309173 +44,12.6147770818983 +45,12.5398140021274 +46,34.901983501949 +47,22.3480442021702 +48,6 +49,22.3480442021702 +50,34.901983501949 +51,12.5398140021274 +52,12.6147770818983 +53,10.8631093309173 +54,19.0584505869806 +55,18.4633287776253 +56,38.0357773686457 +57,25.1757616314718 +58,13.360682005498 +59,8.78894645948548 +60,22.9097309529208 +61,20.0667752354841 +62,12.6951848921471 +63,17.6292439561917 +64,21.377558326432 +65,9.54321919833388 +66,28.3035029562577 +67,38.467599433197 +68,11.3577742151117 +69,17.9815599423852 +70,23.2496572716993 +71,21.7594021268945 +72,15.0332963783729 +73,35.9073375743642 +74,44.6135417384784 +75,10.4219666223433 +76,4.84567134895776 +77,6.89948680823017 +78,16.5769107917917 +79,23.217268502288 +80,4.58257569495584 +81,10.1736266929292 +82,13.5324640263625 +83,44.9845039238714 +84,32.1114345314062 +85,24.5237955316204 +86,15.6627133315015 +87,12.3214904922455 +88,18.2010889773887 +89,37.3066577242559 +90,24.0186013379153 +91,69.1793197789512 +92,23.8408857476069 +93,12.1189172092243 +94,41.9840308053375 +95,131.570790435043 diff --git a/buch/papers/reedsolomon/images/fehler.txt b/buch/papers/reedsolomon/images/fehler.txt new file mode 100644 index 0000000..23f1a83 --- /dev/null +++ b/buch/papers/reedsolomon/images/fehler.txt @@ -0,0 +1,96 @@ +0,0 +1,0 +2,0 +3,0 +4,0 +5,0 +6,2 +7,0 +8,0 +9,0 +10,0 +11,0 +12,0 +13,0 +14,0 +15,0 +16,0 +17,0 +18,0 +19,0 +20,2 +21,0 +22,0 +23,0 +24,0 +25,0 +26,0 +27,0 +28,0 +29,0 +30,0 +31,0 +32,0 +33,0 +34,0 +35,0 +36,0 +37,0 +38,0 +39,0 +40,0 +41,0 +42,0 +43,0 +44,0 +45,0 +46,0 +47,0 +48,0 +49,0 +50,0 +51,0 +52,0 +53,0 +54,0 +55,0 +56,0 +57,0 +58,0 +59,0 +60,0 +61,0 +62,0 +63,0 +64,0 +65,0 +66,0 +67,0 +68,0 +69,0 +70,0 +71,0 +72,0 +73,0 +74,1 +75,0 +76,0 +77,0 +78,0 +79,0 +80,0 +81,0 +82,0 +83,0 +84,0 +85,0 +86,0 +87,0 +88,0 +89,0 +90,0 +91,0 +92,0 +93,0 +94,0 +95,0 diff --git a/buch/papers/reedsolomon/images/locator.txt b/buch/papers/reedsolomon/images/locator.txt new file mode 100644 index 0000000..b28988c --- /dev/null +++ b/buch/papers/reedsolomon/images/locator.txt @@ -0,0 +1,96 @@ +0,0.0301224340567056 +1,0.141653026854885 +2,0.138226631799377 +3,0.0339903276086929 +4,0.310585462557496 +5,0.551427312631385 +6,0.628514858396814 +7,0.51102386251559 +8,0.275861355940449 +9,0.0502396354182268 +10,0.090185502547573 +11,0.110759344849756 +12,0.0684618905063001 +13,0.0362855426992259 +14,0.0697096919781468 +15,0.109288539370248 +16,0.0923187999496653 +17,0.0512198536768088 +18,0.274192386987782 +19,0.51349614953654 +20,0.633154426602466 +21,0.553283743533942 +22,0.307840573214514 +23,0.0341664350328392 +24,0.140270857957 +25,0.138527177682831 +26,0.029637547736156 +27,0.0816962563186052 +28,0.0944383203811073 +29,0.0263932110686261 +30,0.0585881348402056 +31,0.0737117341599984 +32,0.0239973937701886 +33,0.0464215468420038 +34,0.0616218854220964 +35,0.0221963086695009 +36,0.0390764778127646 +37,0.0537637218396934 +38,0.0208333333333332 +39,0.0343107696069045 +40,0.0483441215964552 +41,0.0198077862118806 +42,0.0311207395968725 +43,0.0444955089373458 +44,0.0190533549944159 +45,0.0290049795038723 +46,0.0417536642697558 +47,0.0185261550443084 +48,0.0277059929762261 +49,0.0398606084144816 +50,0.0181978813094817 +51,0.0271098219177584 +52,0.0386836665079729 +53,0.0180518611046889 +54,0.0272138992557141 +55,0.0381891287148314 +56,0.0180809085252469 +57,0.0281418959420061 +58,0.0384596362516637 +59,0.0182864418432272 +60,0.0302250788423173 +61,0.0397874837986351 +62,0.0186786556701694 +63,0.0342489348284216 +64,0.0429932815348666 +65,0.0192777878591759 +66,0.0422808966931999 +67,0.0506815964680563 +68,0.0201167847752226 +69,0.0615048274405271 +70,0.0744953894508454 +71,0.021246054596492 +72,0.142602265816215 +73,0.273502052865436 +74,0.325309673287599 +75,0.272705389655349 +76,0.149074257381345 +77,0.0247199397628712 +78,0.0680137859566976 +79,0.075388270873485 +80,0.0273637831604903 +81,0.0407867704453274 +82,0.0632964886441949 +83,0.0309749128751093 +84,0.0315202035072035 +85,0.0627625211892184 +86,0.0360843918243497 +87,0.02794920551495 +88,0.0677921493367236 +89,0.0437167157553067 +90,0.0270640150996317 +91,0.0783380025231622 +92,0.0561293738314281 +93,0.0278742033265809 +94,0.0981443889498639 +95,0.0794543457386548 diff --git a/buch/papers/reedsolomon/images/signal.txt b/buch/papers/reedsolomon/images/signal.txt new file mode 100644 index 0000000..c4fa5f8 --- /dev/null +++ b/buch/papers/reedsolomon/images/signal.txt @@ -0,0 +1,96 @@ +0,6 +1,6 +2,0 +3,6 +4,4 +5,0 +6,5 +7,2 +8,1 +9,2 +10,1 +11,2 +12,0 +13,6 +14,3 +15,5 +16,7 +17,5 +18,5 +19,4 +20,1 +21,5 +22,9 +23,9 +24,3 +25,2 +26,6 +27,6 +28,4 +29,2 +30,9 +31,1 +32,1 +33,1 +34,2 +35,6 +36,6 +37,1 +38,9 +39,7 +40,7 +41,1 +42,9 +43,9 +44,10 +45,9 +46,8 +47,5 +48,2 +49,4 +50,1 +51,0 +52,9 +53,3 +54,3 +55,3 +56,5 +57,6 +58,0 +59,8 +60,6 +61,9 +62,3 +63,4 +64,0 +65,0 +66,0 +67,0 +68,0 +69,0 +70,0 +71,0 +72,0 +73,0 +74,0 +75,0 +76,0 +77,0 +78,0 +79,0 +80,0 +81,0 +82,0 +83,0 +84,0 +85,0 +86,0 +87,0 +88,0 +89,0 +90,0 +91,0 +92,0 +93,0 +94,0 +95,0 diff --git a/buch/papers/reedsolomon/images/syndrom.txt b/buch/papers/reedsolomon/images/syndrom.txt new file mode 100644 index 0000000..8ca9eed --- /dev/null +++ b/buch/papers/reedsolomon/images/syndrom.txt @@ -0,0 +1,96 @@ +0,0 +1,0 +2,0 +3,0 +4,0 +5,0 +6,0 +7,0 +8,0 +9,0 +10,0 +11,0 +12,0 +13,0 +14,0 +15,0 +16,0 +17,0 +18,0 +19,0 +20,0 +21,0 +22,0 +23,0 +24,0 +25,0 +26,0 +27,0 +28,0 +29,0 +30,0 +31,0 +32,0 +33,0 +34,0 +35,0 +36,0 +37,0 +38,0 +39,0 +40,0 +41,0 +42,0 +43,0 +44,0 +45,0 +46,0 +47,0 +48,0 +49,0 +50,0 +51,0 +52,0 +53,0 +54,0 +55,0 +56,0 +57,0 +58,0 +59,0 +60,0 +61,0 +62,0 +63,0 +64,0.0275599094902563 +65,0.0115837187254191 +66,0.025877761014238 +67,0.0224618032819697 +68,0.04410594689944 +69,0.0474504002669341 +70,0.0227694695500626 +71,0.0271436638090525 +72,0.0104166666666667 +73,0.0271436638090523 +74,0.0227694695500608 +75,0.0474504002669343 +76,0.0441059468994397 +77,0.0224618032819701 +78,0.0258777610142379 +79,0.0115837187254183 +80,0.027559909490256 +81,0.0245124379481793 +82,0.0499782237195209 +83,0.0401432022864265 +84,0.0232923747656228 +85,0.0237974288564099 +86,0.0143895905726624 +87,0.0271745729691685 +88,0.0275599094902567 +89,0.0515501672184983 +90,0.0358255004834542 +91,0.024700508366373 +92,0.0210194725405171 +93,0.0177592928994296 +94,0.0261327016093158 +95,0.0314909067039411 -- cgit v1.2.1 From 93db2b408895beda3ec4d06ff3f81180ca3c7377 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Jul 2021 15:47:40 +0200 Subject: to fix --- buch/papers/reedsolomon/dtf.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index f011ac3..27c6150 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -28,7 +28,7 @@ Filtert man nur diese Punkte heraus und Transformiert sie mit Fourier erhält ma \begin{figure} \centering - \input{papers/reedsolomon/images/plotfft.tex} + %\input{papers/reedsolomon/images/plotfft.tex} \caption{Übertragungsabfolge \ref{reedsolomon:subsection:Übertragungsabfolge}} \label{fig:sendorder} \end{figure} \ No newline at end of file -- cgit v1.2.1 From 5397a77e20a23338279ffe4faa59453104be5b95 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Jul 2021 21:18:31 +0200 Subject: update --- buch/papers/reedsolomon/dtf.tex | 41 ++++++--- buch/papers/reedsolomon/experiments/plot.tex | 130 +++++++++++++++------------ buch/papers/reedsolomon/images/plotfft.tex | 68 ++++++++------ buch/papers/reedsolomon/packages.tex | 2 +- 4 files changed, 143 insertions(+), 98 deletions(-) (limited to 'buch') 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} -- cgit v1.2.1