From 23326eb7047812366848812919aebf85c04f589e Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 20 Apr 2021 12:30:50 +0200 Subject: Presentation added --- buch/papers/reedsolomon/RS presentation/RS.aux | 30 + buch/papers/reedsolomon/RS presentation/RS.log | 956 +++++++++++++++++++++ buch/papers/reedsolomon/RS presentation/RS.nav | 9 + buch/papers/reedsolomon/RS presentation/RS.out | 0 buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 0 -> 53965 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 0 .../reedsolomon/RS presentation/RS.synctex.gz | Bin 0 -> 3637 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 25 + buch/papers/reedsolomon/RS presentation/RS.toc | 1 + buch/papers/reedsolomon/RS presentation/Thumbs.db | Bin 0 -> 89088 bytes 10 files changed, 1021 insertions(+) create mode 100644 buch/papers/reedsolomon/RS presentation/RS.aux create mode 100644 buch/papers/reedsolomon/RS presentation/RS.log create mode 100644 buch/papers/reedsolomon/RS presentation/RS.nav create mode 100644 buch/papers/reedsolomon/RS presentation/RS.out create mode 100644 buch/papers/reedsolomon/RS presentation/RS.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/RS.snm create mode 100644 buch/papers/reedsolomon/RS presentation/RS.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/RS.tex create mode 100644 buch/papers/reedsolomon/RS presentation/RS.toc create mode 100644 buch/papers/reedsolomon/RS presentation/Thumbs.db (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux new file mode 100644 index 0000000..17ce46b --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -0,0 +1,30 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\@nameuse{bbl@beforestart} +\catcode `"\active +\babel@aux{ngerman}{} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {2}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {2}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log new file mode 100644 index 0000000..f7dc931 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -0,0 +1,956 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.11.30) 20 APR 2021 12:21 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**RS.tex +(./RS.tex +LaTeX2e <2019-10-01> patch level 3 +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls +Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count80 +) +\beamer@tempbox=\box27 +\beamer@tempcount=\count81 +\c@beamerpauses=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +\beamer@slideinframe=\count83 +\beamer@minimum=\count84 +\beamer@decode@box=\box28 +) +\beamer@commentbox=\box29 +\beamer@modecount=\count85 +) +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifpdf.sty +Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2019/11/07 v1.0c TeX engine tests +)) +\headdp=\dimen102 +\footheight=\dimen103 +\sidebarheight=\dimen104 +\beamer@tempdim=\dimen105 +\beamer@finalheight=\dimen106 +\beamer@animht=\dimen107 +\beamer@animdp=\dimen108 +\beamer@animwd=\dimen109 +\beamer@leftmargin=\dimen110 +\beamer@rightmargin=\dimen111 +\beamer@leftsidebar=\dimen112 +\beamer@rightsidebar=\dimen113 +\beamer@boxsize=\dimen114 +\beamer@vboxoffset=\dimen115 +\beamer@descdefault=\dimen116 +\beamer@descriptionwidth=\dimen117 +\beamer@lastskip=\skip41 +\beamer@areabox=\box30 +\beamer@animcurrent=\box31 +\beamer@animshowbox=\box32 +\beamer@sectionbox=\box33 +\beamer@logobox=\box34 +\beamer@linebox=\box35 +\beamer@sectioncount=\count86 +\beamer@subsubsectionmax=\count87 +\beamer@subsectionmax=\count88 +\beamer@sectionmax=\count89 +\beamer@totalheads=\count90 +\beamer@headcounter=\count91 +\beamer@partstartpage=\count92 +\beamer@sectionstartpage=\count93 +\beamer@subsectionstartpage=\count94 +\beamer@animationtempa=\count95 +\beamer@animationtempb=\count96 +\beamer@xpos=\count97 +\beamer@ypos=\count98 +\beamer@ypos@offset=\count99 +\beamer@showpartnumber=\count100 +\beamer@currentsubsection=\count101 +\beamer@coveringdepth=\count102 +\beamer@sectionadjust=\count103 +\beamer@tocsectionnumber=\count104 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +\beamer@paperwidth=\skip42 +\beamer@paperheight=\skip43 + +(c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2018/04/16 v5.8 Page Geometry + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +) +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty +Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +) +\Gm@cnth=\count105 +\Gm@cntv=\count106 +\c@Gm@tempcnt=\count107 +\Gm@bindingoffset=\dimen118 +\Gm@wd@mp=\dimen119 +\Gm@odd@mp=\dimen120 +\Gm@even@mp=\dimen121 +\Gm@layoutwidth=\dimen122 +\Gm@layoutheight=\dimen123 +\Gm@layouthoffset=\dimen124 +\Gm@layoutvoffset=\dimen125 +\Gm@dimlist=\toks15 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2019/10/25 v1.4k Standard LaTeX file (size option) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen126 +\Gin@req@width=\dimen127 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen128 +\pgfutil@tempdimb=\dimen129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box36 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen130 +\pgf@y=\dimen131 +\pgf@xa=\dimen132 +\pgf@ya=\dimen133 +\pgf@xb=\dimen134 +\pgf@yb=\dimen135 +\pgf@xc=\dimen136 +\pgf@yc=\dimen137 +\pgf@xd=\dimen138 +\pgf@yd=\dimen139 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count108 +\c@pgf@countb=\count109 +\c@pgf@countc=\count110 +\c@pgf@countd=\count111 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count112 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-pdftex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +File: pgfsys-pdftex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count113 +\pgfsyssoftpath@bigbuffer@items=\count114 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen140 +\pgfmath@count=\count115 +\pgfmath@box=\box37 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count116 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen141 +\pgf@picmaxx=\dimen142 +\pgf@picminy=\dimen143 +\pgf@picmaxy=\dimen144 +\pgf@pathminx=\dimen145 +\pgf@pathmaxx=\dimen146 +\pgf@pathminy=\dimen147 +\pgf@pathmaxy=\dimen148 +\pgf@xx=\dimen149 +\pgf@xy=\dimen150 +\pgf@yx=\dimen151 +\pgf@yy=\dimen152 +\pgf@zx=\dimen153 +\pgf@zy=\dimen154 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen155 +\pgf@path@lasty=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen157 +\pgf@shorten@start@additional=\dimen158 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box38 +\pgf@hbox=\box39 +\pgf@layerbox@main=\box40 +\pgf@picture@serial@count=\count117 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen159 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen160 +\pgf@pt@y=\dimen161 +\pgf@pt@temp=\dimen162 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen163 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen164 +\pgf@sys@shading@range@num=\count118 +\pgf@shadingcount=\count119 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box41 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +Package: xxcolor 2003/10/24 ver 0.1 +\XC@nummixins=\count120 +\XC@countmixins=\count121 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +)) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2019/11/10 v7.00c Hypertext links for LaTeX + +(c:/texlive/2019/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty +Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. +))) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/pdfescape.sty +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hycolor.sty +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty +Package: xcolor-patch 2016/05/16 xcolor patch + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hopatch.sty +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +))) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/letltxmacro.sty +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen165 +\Hy@linkcounter=\count122 +\Hy@pagecounter=\count123 + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2019/11/10 v7.00c Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/intcalc.sty +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +) +\Hy@SavedSpaceFactor=\count124 + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `bookmarks' set `true' on input line 4409. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4409. +Package hyperref Info: Option `implicit' set `false' on input line 4409. +Package hyperref Info: Hyper figures OFF on input line 4535. +Package hyperref Info: Link nesting OFF on input line 4540. +Package hyperref Info: Hyper index ON on input line 4543. +Package hyperref Info: Plain pages OFF on input line 4550. +Package hyperref Info: Backreferencing OFF on input line 4555. +Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. +Package hyperref Info: Bookmarks ON on input line 4788. +\c@Hy@tempcnt=\count125 + +(c:/texlive/2019/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5147. +\XeTeXLinkMargin=\dimen166 + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bitset.sty +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bigintcalc.sty +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count126 +\Field@Width=\dimen167 +\Fld@charsize=\dimen168 +Package hyperref Info: Hyper figures OFF on input line 6418. +Package hyperref Info: Link nesting OFF on input line 6423. +Package hyperref Info: Hyper index ON on input line 6426. +Package hyperref Info: backreferencing OFF on input line 6433. +Package hyperref Info: Link coloring OFF on input line 6438. +Package hyperref Info: Link coloring with OCG OFF on input line 6443. +Package hyperref Info: PDF/A mode OFF on input line 6448. +LaTeX Info: Redefining \ref on input line 6488. +LaTeX Info: Redefining \pageref on input line 6492. +\Hy@abspage=\count127 + + +Package hyperref Message: Stopped early. + +) +Package hyperref Info: Driver (autodetected): hpdftex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2019/11/10 v7.00c Hyperref driver for pdfTeX + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/atveryend.sty +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +) +\Fld@listcount=\count128 +\c@bookmark@seq@number=\count129 + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/uniquecounter.sty +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +85. +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks26 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(c:/texlive/2019/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +Package: sansmathaccent 2013/03/28 + +(c:/texlive/2019/texmf-dist/tex/latex/filehook/filehook.sty +Package: filehook 2019/10/03 v0.6 Hooks for input files +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator.sty +Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +\beamer@argscount=\count130 +\beamer@lastskipcover=\skip44 +\beamer@trivlistdepth=\count131 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty +\c@lecture=\count132 +\c@part=\count133 +\c@section=\count134 +\c@subsection=\count135 +\c@subsubsection=\count136 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +\beamer@framebox=\box42 +\beamer@frametitlebox=\box43 +\beamer@zoombox=\box44 +\beamer@zoomcount=\count137 +\beamer@zoomframecount=\count138 +\beamer@frametextheight=\dimen169 +\c@subsectionslide=\count139 +\beamer@frametopskip=\skip45 +\beamer@framebottomskip=\skip46 +\beamer@frametopskipautobreak=\skip47 +\beamer@framebottomskipautobreak=\skip48 +\beamer@envbody=\toks27 +\framewidth=\dimen170 +\c@framenumber=\count140 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +\beamer@verbatimfileout=\write4 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +\beamer@splitbox=\box45 +\beamer@autobreakcount=\count141 +\beamer@autobreaklastheight=\dimen171 +\beamer@frametitletoks=\toks28 +\beamer@framesubtitletoks=\toks29 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +\beamer@footins=\box46 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +\beamer@frameboxcopy=\box47 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +\beamer@sbttoks=\toks30 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +\bmb@box=\box48 +\bmb@colorbox=\box49 +\bmb@boxshadow=\box50 +\bmb@boxshadowball=\box51 +\bmb@boxshadowballlarge=\box52 +\bmb@temp=\dimen172 +\bmb@dima=\dimen173 +\bmb@dimb=\dimen174 +\bmb@prevheight=\dimen175 +) +\beamer@blockheadheight=\dimen176 +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +(c:/texlive/2019/texmf-dist/tex/latex/tools/enumerate.sty +Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) +\@enLab=\toks31 +) +\c@figure=\count142 +\c@table=\count143 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +\beamer@section@min@dim=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/11/16 v2.17d AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks32 +\ex@=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen179 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count144 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count145 +\leftroot@=\count146 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count147 +\DOTSCASE@=\count148 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box53 +\strutbox@=\box54 +\big@size=\dimen180 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count149 +\c@MaxMatrixCols=\count150 +\dotsspace@=\muskip11 +\c@parentequation=\count151 +\dspbrk@lvl=\count152 +\tag@help=\toks33 +\row@=\count153 +\column@=\count154 +\maxfields@=\count155 +\andhelp@=\toks34 +\eqnshift@=\dimen181 +\alignsep@=\dimen182 +\tagshift@=\dimen183 +\tagwidth@=\dimen184 +\totwidth@=\dimen185 +\lineht@=\dimen186 +\@envbody=\toks35 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks36 +LaTeX Info: Redefining \[ on input line 2858. +LaTeX Info: Redefining \] on input line 2859. +) +(c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2017/10/31 v2.20.4 +\thm@style=\toks37 +\thm@bodyfont=\toks38 +\thm@headfont=\toks39 +\thm@notefont=\toks40 +\thm@headpunct=\toks41 +\thm@preskip=\skip54 +\thm@postskip=\skip55 +\thm@headsep=\skip56 +\dth@everypar=\toks42 +) +\c@theorem=\count156 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty +\beamer@dima=\dimen187 +\beamer@dimb=\dimen188 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) +(c:/texlive/2019/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks43 +\inpenc@posthook=\toks44 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + +(c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) +(c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2019/11/14 3.36 The Babel package + +(c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2019/11/14 3.36 Babel switching mechanism +) +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra +phy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr +aphy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2019/11/14 3.36 Babel common definitions +\babel@savecnt=\count157 +\U@D=\dimen189 + +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def) +LaTeX Info: Redefining \textlatin on input line 2250. +\bbl@dirlevel=\count158 +) +Package babel Info: Making " an active character on input line 121. +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen190 +\beamer@headheight=\dimen191 +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +7. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) +(./RS.aux) +\openout1 = `RS.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. + +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(59.22636pt, 381.79135pt, 14.22636pt) +* v-part:(T,H,B)=(0.0pt, 256.0748pt, 0.0pt) +* \paperwidth=455.24408pt +* \paperheight=256.0748pt +* \textwidth=381.79135pt +* \textheight=227.62207pt +* \oddsidemargin=-13.04362pt +* \evensidemargin=-13.04362pt +* \topmargin=-72.26999pt +* \headheight=14.22636pt +* \headsep=0.0pt +* \topskip=11.0pt +* \footskip=14.22636pt +* \marginparwidth=4.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +(c:/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count159 +\scratchdimen=\dimen192 +\scratchbox=\box55 +\nofMPsegments=\count160 +\nofMParguments=\count161 +\everyMPshowfont=\toks45 +\MPscratchCnt=\count162 +\MPscratchDim=\dimen193 +\MPnumerator=\count163 +\makeMPintoPDFobject=\count164 +\everyMPtoPDFconversion=\toks46 +) (c:/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2019/11/27 v2.8 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +ABD: EveryShipout initializing macros +\AtBeginShipoutBox=\box56 +Package hyperref Info: Link coloring OFF on input line 7. + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/refcount.sty +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count165 +) +LaTeX Info: Redefining \ref on input line 7. +LaTeX Info: Redefining \pageref on input line 7. +LaTeX Info: Redefining \nameref on input line 7. + (./RS.out) (./RS.out) +\@outlinefile=\write5 +\openout5 = `RS.out'. + +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 7. +\symnumbers=\mathgroup6 +\sympureletters=\mathgroup7 +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 7. + +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En +glish.dict +Dictionary: translator-basic-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-bibliography-dictio +nary-English.dict +Dictionary: translator-bibliography-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-environment-diction +ary-English.dict +Dictionary: translator-environment-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-months-dictionary-E +nglish.dict +Dictionary: translator-months-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-numbers-dictionary- +English.dict +Dictionary: translator-numbers-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-theorem-dictionary- +English.dict +Dictionary: translator-theorem-dictionary, Language: English +) (./RS.nav) + +Package hyperref Warning: Option `pdfauthor' has already been used, +(hyperref) setting the option has no effect on input line 8. + + +Package hyperref Warning: Option `pdfsubject' has already been used, +(hyperref) setting the option has no effect on input line 14. + +[1 + +{c:/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 + +] +\tf@nav=\write6 +\openout6 = `RS.nav'. + +\tf@toc=\write7 +\openout7 = `RS.toc'. + +\tf@snm=\write8 +\openout8 = `RS.snm'. + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 25. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 25. + (./RS.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 25. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 25. +Package rerunfilecheck Info: File `RS.out' has not changed. +(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. + ) +Here is how much of TeX's memory you used: + 18359 strings out of 492164 + 341776 string characters out of 6129087 + 431862 words of memory out of 5000000 + 22272 multiletter control sequences out of 15000+600000 + 19654 words of font info for 23 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 58i,12n,57p,796b,459s stack positions out of 5000i,500n,10000p,200000b,80000s +{c:/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc} +Output written on RS.pdf (2 pages, 53965 bytes). +PDF statistics: + 42 PDF objects out of 1000 (max. 8388607) + 28 compressed objects within 1 object stream + 5 named destinations out of 1000 (max. 500000) + 43 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav new file mode 100644 index 0000000..9033d8b --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -0,0 +1,9 @@ +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\headcommand {\beamer@framepages {1}{1}} +\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\headcommand {\beamer@framepages {2}{2}} +\headcommand {\beamer@partpages {1}{2}} +\headcommand {\beamer@subsectionpages {1}{2}} +\headcommand {\beamer@sectionpages {1}{2}} +\headcommand {\beamer@documentpages {2}} +\headcommand {\gdef \inserttotalframenumber {2}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf new file mode 100644 index 0000000..459d7e8 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz new file mode 100644 index 0000000..fe8adf5 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex new file mode 100644 index 0000000..3d2be8f --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -0,0 +1,25 @@ +\documentclass[11pt,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[ngerman]{babel} +\usetheme{Hannover} +\begin{document} + \author{Joshua Bär und Michael Steiner} + \title{Reed-Solomon-Code} + \subtitle{} + \logo{} + \institute{OST Ostschweizer Fachhochschule} + \date{26.04.2021} + \subject{Mathematisches Seminar} + \setbeamercovered{transparent} + \setbeamertemplate{navigation symbols}{} + \begin{frame}[plain] + \maketitle + \end{frame} + + \begin{frame} + \frametitle{Test} + Ich mag Züge. + \end{frame} +\end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc new file mode 100644 index 0000000..4cd1c86 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -0,0 +1 @@ +\babel@toc {ngerman}{} diff --git a/buch/papers/reedsolomon/RS presentation/Thumbs.db b/buch/papers/reedsolomon/RS presentation/Thumbs.db new file mode 100644 index 0000000..1626e26 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/Thumbs.db differ -- cgit v1.2.1 From 4301a062125a31b0466acf6527a01b1682cf60c5 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 08:59:22 +0200 Subject: slides introduction#1 --- buch/papers/reedsolomon/RS presentation/RS.bbl | 0 .../reedsolomon/RS presentation/images/fig1.pdf | Bin 0 -> 3071 bytes .../RS presentation/images/fig1.pdf_tex | 81 ++++++++++ .../reedsolomon/RS presentation/images/fig1.png | Bin 0 -> 27373 bytes .../reedsolomon/RS presentation/images/fig1.svg | 180 +++++++++++++++++++++ .../reedsolomon/RS presentation/images/fig2.png | Bin 0 -> 30489 bytes .../reedsolomon/RS presentation/images/fig2.svg | 163 +++++++++++++++++++ .../reedsolomon/RS presentation/images/fig3.png | Bin 0 -> 16007 bytes .../reedsolomon/RS presentation/images/fig3.svg | 180 +++++++++++++++++++++ .../reedsolomon/RS presentation/images/fig4.png | Bin 0 -> 27548 bytes .../reedsolomon/RS presentation/images/fig4.svg | 164 +++++++++++++++++++ .../reedsolomon/RS presentation/images/fig5.png | Bin 0 -> 30167 bytes .../reedsolomon/RS presentation/images/fig5.svg | 121 ++++++++++++++ .../reedsolomon/RS presentation/images/fig6.png | Bin 0 -> 22604 bytes .../reedsolomon/RS presentation/images/fig6.svg | 158 ++++++++++++++++++ .../reedsolomon/RS presentation/images/fig7.png | Bin 0 -> 28677 bytes .../reedsolomon/RS presentation/images/fig7.svg | 163 +++++++++++++++++++ 17 files changed, 1210 insertions(+) create mode 100644 buch/papers/reedsolomon/RS presentation/RS.bbl create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.svg (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.bbl b/buch/papers/reedsolomon/RS presentation/RS.bbl new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf new file mode 100644 index 0000000..5cff7fe Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex new file mode 100644 index 0000000..cb323ae --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex @@ -0,0 +1,81 @@ +%% Creator: Inkscape 1.0.2 (e86c870879, 2021-01-15, custom), www.inkscape.org +%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 +%% Accompanies image file 'fig1.pdf' (pdf, eps, ps) +%% +%% To include the image in your LaTeX document, write +%% \input{.pdf_tex} +%% instead of +%% \includegraphics{.pdf} +%% To scale the image, write +%% \def\svgwidth{} +%% \input{.pdf_tex} +%% instead of +%% \includegraphics[width=]{.pdf} +%% +%% Images with a different path to the parent latex file can +%% be accessed with the `import' package (which may need to be +%% installed) using +%% \usepackage{import} +%% in the preamble, and then including the image with +%% \import{}{.pdf_tex} +%% Alternatively, one can specify +%% \graphicspath{{/}} +%% +%% For more information, please see info/svg-inkscape on CTAN: +%% http://tug.ctan.org/tex-archive/info/svg-inkscape +%% +\begingroup% + \makeatletter% + \providecommand\color[2][]{% + \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% + \renewcommand\color[2][]{}% + }% + \providecommand\transparent[1]{% + \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% + \renewcommand\transparent[1]{}% + }% + \providecommand\rotatebox[2]{#2}% + \newcommand*\fsize{\dimexpr\f@size pt\relax}% + \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% + \ifx\svgwidth\undefined% + \setlength{\unitlength}{420bp}% + \ifx\svgscale\undefined% + \relax% + \else% + \setlength{\unitlength}{\unitlength * \real{\svgscale}}% + \fi% + \else% + \setlength{\unitlength}{\svgwidth}% + \fi% + \global\let\svgwidth\undefined% + \global\let\svgscale\undefined% + \makeatother% + \begin{picture}(1,0.75)% + \lineheight{1}% + \setlength\tabcolsep{0pt}% + \put(0,0){\includegraphics[width=\unitlength,page=1]{fig1.pdf}}% + \put(0.19038536,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% + \put(0.27196429,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}20\end{tabular}}}}% + \put(0.35354321,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}30\end{tabular}}}}% + \put(0.43512214,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}40\end{tabular}}}}% + \put(0.51670107,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}50\end{tabular}}}}% + \put(0.59828,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}60\end{tabular}}}}% + \put(0.67985893,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}70\end{tabular}}}}% + \put(0.76143804,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}80\end{tabular}}}}% + \put(0.84301696,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}90\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=2]{fig1.pdf}}% + \put(0.10654768,0.07232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}% + \put(0.10654768,0.13357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1\end{tabular}}}}% + \put(0.10654768,0.19482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2\end{tabular}}}}% + \put(0.10654768,0.25607143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}3\end{tabular}}}}% + \put(0.10654768,0.31732143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}4\end{tabular}}}}% + \put(0.10654768,0.37857143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}5\end{tabular}}}}% + \put(0.10654768,0.43982143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}6\end{tabular}}}}% + \put(0.10654768,0.50107143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}7\end{tabular}}}}% + \put(0.10654768,0.56232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}8\end{tabular}}}}% + \put(0.10654768,0.62357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}9\end{tabular}}}}% + \put(0.09404768,0.68482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% + \put(0.47857196,0.70669643){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}\textbf{Signal}\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=3]{fig1.pdf}}% + \end{picture}% +\endgroup% diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.png b/buch/papers/reedsolomon/RS presentation/images/fig1.png new file mode 100644 index 0000000..a0395d7 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig1.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.svg b/buch/papers/reedsolomon/RS presentation/images/fig1.svg new file mode 100644 index 0000000..8682b56 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig1.svg @@ -0,0 +1,180 @@ + + +102030405060708090012345678910Signal diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.png b/buch/papers/reedsolomon/RS presentation/images/fig2.png new file mode 100644 index 0000000..bd8faa0 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig2.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.svg b/buch/papers/reedsolomon/RS presentation/images/fig2.svg new file mode 100644 index 0000000..e66bd95 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig2.svg @@ -0,0 +1,163 @@ + + +102030405060708090050100150200250300350Codiert diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.png b/buch/papers/reedsolomon/RS presentation/images/fig3.png new file mode 100644 index 0000000..e14358d Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig3.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.svg b/buch/papers/reedsolomon/RS presentation/images/fig3.svg new file mode 100644 index 0000000..e0c7072 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig3.svg @@ -0,0 +1,180 @@ + + +10203040506070809000.20.40.60.811.21.41.61.82Fehler diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.png b/buch/papers/reedsolomon/RS presentation/images/fig4.png new file mode 100644 index 0000000..1821c3b Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig4.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.svg b/buch/papers/reedsolomon/RS presentation/images/fig4.svg new file mode 100644 index 0000000..4bf2864 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig4.svg @@ -0,0 +1,164 @@ + + +102030405060708090050100150200250300350Empfangen diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.png b/buch/papers/reedsolomon/RS presentation/images/fig5.png new file mode 100644 index 0000000..e4abbaa Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig5.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.svg b/buch/papers/reedsolomon/RS presentation/images/fig5.svg new file mode 100644 index 0000000..7cfdb10 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig5.svg @@ -0,0 +1,121 @@ + + + diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.png b/buch/papers/reedsolomon/RS presentation/images/fig6.png new file mode 100644 index 0000000..5447949 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig6.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.svg b/buch/papers/reedsolomon/RS presentation/images/fig6.svg new file mode 100644 index 0000000..f8f8369 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig6.svg @@ -0,0 +1,158 @@ + + +10203040506070809000.010.020.030.040.050.06Syndrom diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.png b/buch/papers/reedsolomon/RS presentation/images/fig7.png new file mode 100644 index 0000000..a850402 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig7.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.svg b/buch/papers/reedsolomon/RS presentation/images/fig7.svg new file mode 100644 index 0000000..27c7622 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig7.svg @@ -0,0 +1,163 @@ + + +10203040506070809000.10.20.30.40.50.60.7Locator -- cgit v1.2.1 From a9001166bb9bef3dcef3ea2d19a552f9eeb74324 Mon Sep 17 00:00:00 2001 From: JODBaer <55744603+JODBaer@users.noreply.github.com> Date: Wed, 21 Apr 2021 11:31:56 +0200 Subject: Creat gitignor --- buch/papers/reedsolomon/.gitignor | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 buch/papers/reedsolomon/.gitignor (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor new file mode 100644 index 0000000..5f0787b --- /dev/null +++ b/buch/papers/reedsolomon/.gitignor @@ -0,0 +1,12 @@ +RS*.aux +RS*.bbl +RS*.bib +RS*.blg +RS*.idx +RS*.ilg +RS*.ind +RS*.log +RS*.out +RS*.pdf +RS*.run.xml +RS*.toc -- cgit v1.2.1 From b804afc336594a0c0a1ecec56c96d02bb97427f4 Mon Sep 17 00:00:00 2001 From: JODBaer <55744603+JODBaer@users.noreply.github.com> Date: Wed, 21 Apr 2021 12:39:57 +0200 Subject: update gitignor --- buch/papers/reedsolomon/.gitignor | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor index 5f0787b..466d238 100644 --- a/buch/papers/reedsolomon/.gitignor +++ b/buch/papers/reedsolomon/.gitignor @@ -10,3 +10,15 @@ RS*.out RS*.pdf RS*.run.xml RS*.toc +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb -- cgit v1.2.1 From 44b5dcffb75c9f7dc0d28fd5af9794608cd9b395 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 12:47:00 +0200 Subject: Presentation#1 --- buch/papers/reedsolomon/RS presentation/RS.aux | 29 +- buch/papers/reedsolomon/RS presentation/RS.bbl | 0 buch/papers/reedsolomon/RS presentation/RS.log | 698 +++++++++++-------- buch/papers/reedsolomon/RS presentation/RS.nav | 19 +- buch/papers/reedsolomon/RS presentation/RS.out | 1 + buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 53965 -> 117082 bytes .../reedsolomon/RS presentation/RS.synctex.gz | Bin 3637 -> 6763 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 50 +- buch/papers/reedsolomon/RS presentation/RS.toc | 1 + buch/papers/reedsolomon/RS presentation/Thumbs.db | Bin 89088 -> 0 bytes .../reedsolomon/RS presentation/images/fig1.pdf | Bin 3071 -> 11898 bytes .../RS presentation/images/fig1.pdf_tex | 81 --- .../reedsolomon/RS presentation/images/fig1.png | Bin 27373 -> 0 bytes .../reedsolomon/RS presentation/images/fig2.pdf | Bin 0 -> 13901 bytes .../reedsolomon/RS presentation/images/fig2.png | Bin 30489 -> 0 bytes .../reedsolomon/RS presentation/images/fig3.pdf | Bin 0 -> 13099 bytes .../reedsolomon/RS presentation/images/fig3.png | Bin 16007 -> 0 bytes .../reedsolomon/RS presentation/images/fig4.pdf | Bin 0 -> 14995 bytes .../reedsolomon/RS presentation/images/fig4.png | Bin 27548 -> 0 bytes .../reedsolomon/RS presentation/images/fig5.pdf | Bin 0 -> 13298 bytes .../reedsolomon/RS presentation/images/fig5.png | Bin 30167 -> 0 bytes .../reedsolomon/RS presentation/images/fig6.pdf | Bin 0 -> 13688 bytes .../reedsolomon/RS presentation/images/fig6.png | Bin 22604 -> 0 bytes .../reedsolomon/RS presentation/images/fig7.pdf | Bin 0 -> 13278 bytes .../reedsolomon/RS presentation/images/fig7.png | Bin 28677 -> 0 bytes .../RS presentation/images/polynom1.aux | 1 + .../RS presentation/images/polynom1.log | 747 +++++++++++++++++++++ .../RS presentation/images/polynom1.pdf | Bin 0 -> 5938 bytes .../RS presentation/images/polynom1.synctex.gz | Bin 0 -> 2399 bytes .../RS presentation/images/polynom1.tex | 59 ++ .../RS presentation/images/polynom2.aux | 1 + .../RS presentation/images/polynom2.log | 747 +++++++++++++++++++++ .../RS presentation/images/polynom2.pdf | Bin 0 -> 6995 bytes .../RS presentation/images/polynom2.synctex.gz | Bin 0 -> 2410 bytes .../RS presentation/images/polynom2.tex | 57 ++ 35 files changed, 2127 insertions(+), 364 deletions(-) delete mode 100644 buch/papers/reedsolomon/RS presentation/RS.bbl delete mode 100644 buch/papers/reedsolomon/RS presentation/Thumbs.db delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.aux create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.log create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.tex create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.aux create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.log create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 17ce46b..fff632d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -14,17 +14,28 @@ \fi} \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\@nameuse{bbl@beforestart} +\providecommand*\HyPL@Entry[1]{} +\bbl@beforestart \catcode `"\active +\HyPL@Entry{0<>} \babel@aux{ngerman}{} \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} -\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} +\HyPL@Entry{1<>} +\@writefile{toc}{\beamer@sectionintoc {1}{Introduction}{2}{0}{1}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {2}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {2}}} +\HyPL@Entry{2<>} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{9}}} +\HyPL@Entry{9<>} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{11}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {11}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {4}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.bbl b/buch/papers/reedsolomon/RS presentation/RS.bbl deleted file mode 100644 index e69de29..0000000 diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index f7dc931..824b9b5 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,10 +1,10 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.11.30) 20 APR 2021 12:21 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:30 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **RS.tex (./RS.tex -LaTeX2e <2019-10-01> patch level 3 +LaTeX2e <2019-10-01> patch level 1 (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty @@ -24,12 +24,9 @@ Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) \beamer@commentbox=\box29 \beamer@modecount=\count85 ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifpdf.sty -Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. - -(c:/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2019/11/07 v1.0c TeX engine tests -)) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) \headdp=\dimen102 \footheight=\dimen103 \sidebarheight=\dimen104 @@ -84,11 +81,12 @@ Package: keyval 2014/10/28 v1.15 key=value parser (DPC) (c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty Package: geometry 2018/04/16 v5.8 Page Geometry -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional ) \Gm@cnth=\count105 \Gm@cntv=\count106 @@ -104,14 +102,14 @@ Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. \Gm@dimlist=\toks15 ) (c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo -File: size11.clo 2019/10/25 v1.4k Standard LaTeX file (size option) +File: size11.clo 2019/08/27 v1.4j Standard LaTeX file (size option) ) (c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR) +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty Package: trig 2016/01/03 v1.10 sin cos tan (DPC) @@ -119,10 +117,10 @@ Package: trig 2016/01/03 v1.10 sin cos tan (DPC) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) -Package graphics Info: Driver file: pdftex.def on input line 105. +Package graphics Info: Driver file: xetex.def on input line 105. -(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex )) \Gin@req@height=\dimen126 \Gin@req@width=\dimen127 @@ -178,18 +176,23 @@ Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) ) -Driver file for pgf: pgfsys-pdftex.def +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def -File: pgfsys-pdftex.def 2019/08/03 v3.1.4b (3.1.4b) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count113 ))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) -\pgfsyssoftpath@smallbuffer@items=\count113 -\pgfsyssoftpath@bigbuffer@items=\count114 +\pgfsyssoftpath@smallbuffer@items=\count114 +\pgfsyssoftpath@bigbuffer@items=\count115 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -199,9 +202,8 @@ Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg File: color.cfg 2016/01/02 v1.6 sample color configuration ) -Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Driver file: xetex.def on input line 225. Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. Package xcolor Info: Model `RGB' extended on input line 1364. Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. @@ -218,7 +220,7 @@ Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex \pgfmath@dimen=\dimen140 -\pgfmath@count=\count115 +\pgfmath@count=\count116 \pgfmath@box=\box37 \pgfmath@toks=\toks23 \pgfmath@stack@operand=\toks24 @@ -242,7 +244,7 @@ x) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm etics.code.tex))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count116 +\c@pgfmathroundto@lastzeros=\count117 )) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex @@ -279,7 +281,7 @@ File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgfpic=\box38 \pgf@hbox=\box39 \pgf@layerbox@main=\box40 -\pgf@picture@serial@count=\count117 +\pgf@picture@serial@count=\count118 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code .tex @@ -310,8 +312,8 @@ File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgf@max=\dimen164 -\pgf@sys@shading@range@num=\count118 -\pgf@shadingcount=\count119 +\pgf@sys@shading@range@num=\count119 +\pgf@shadingcount=\count120 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -333,8 +335,8 @@ File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) ))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty Package: xxcolor 2003/10/24 ver 0.1 -\XC@nummixins=\count120 -\XC@countmixins=\count121 +\XC@nummixins=\count121 +\XC@countmixins=\count122 ) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) @@ -346,41 +348,46 @@ Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) )) (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2019/11/10 v7.00c Hypertext links for LaTeX +Package: hyperref 2019/09/28 v7.00a Hypertext links for LaTeX -(c:/texlive/2019/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty -Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. -))) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO ) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/pdfescape.sty +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: pdfTeX >= 1.30 not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO ) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hycolor.sty -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty -Package: xcolor-patch 2016/05/16 xcolor patch - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hopatch.sty -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) -))) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/letltxmacro.sty +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) ) (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) @@ -389,85 +396,79 @@ Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) ) \@linkdim=\dimen165 -\Hy@linkcounter=\count122 -\Hy@pagecounter=\count123 +\Hy@linkcounter=\count123 +\Hy@pagecounter=\count124 (c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2019/11/10 v7.00c Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/intcalc.sty -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +File: pd1enc.def 2019/09/28 v7.00a Hyperref: PDFDocEncoding definition (HO) ) -\Hy@SavedSpaceFactor=\count124 +\Hy@SavedSpaceFactor=\count125 (c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive ) -Package hyperref Info: Option `bookmarks' set `true' on input line 4409. -Package hyperref Info: Option `bookmarksopen' set `true' on input line 4409. -Package hyperref Info: Option `implicit' set `false' on input line 4409. -Package hyperref Info: Hyper figures OFF on input line 4535. -Package hyperref Info: Link nesting OFF on input line 4540. -Package hyperref Info: Hyper index ON on input line 4543. -Package hyperref Info: Plain pages OFF on input line 4550. -Package hyperref Info: Backreferencing OFF on input line 4555. +Package hyperref Info: Option `bookmarks' set `true' on input line 4414. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4414. +Package hyperref Info: Option `implicit' set `false' on input line 4414. +Package hyperref Info: Hyper figures OFF on input line 4540. +Package hyperref Info: Link nesting OFF on input line 4545. +Package hyperref Info: Hyper index ON on input line 4548. +Package hyperref Info: Plain pages OFF on input line 4555. +Package hyperref Info: Backreferencing OFF on input line 4560. Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. -Package hyperref Info: Bookmarks ON on input line 4788. -\c@Hy@tempcnt=\count125 +Package hyperref Info: Bookmarks ON on input line 4793. +\c@Hy@tempcnt=\count126 (c:/texlive/2019/texmf-dist/tex/latex/url/url.sty \Urlmuskip=\muskip10 Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. ) -LaTeX Info: Redefining \url on input line 5147. +LaTeX Info: Redefining \url on input line 5152. \XeTeXLinkMargin=\dimen166 - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bitset.sty -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bigintcalc.sty -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO -) -)) -\Fld@menulength=\count126 +\Fld@menulength=\count127 \Field@Width=\dimen167 \Fld@charsize=\dimen168 -Package hyperref Info: Hyper figures OFF on input line 6418. -Package hyperref Info: Link nesting OFF on input line 6423. -Package hyperref Info: Hyper index ON on input line 6426. -Package hyperref Info: backreferencing OFF on input line 6433. -Package hyperref Info: Link coloring OFF on input line 6438. -Package hyperref Info: Link coloring with OCG OFF on input line 6443. -Package hyperref Info: PDF/A mode OFF on input line 6448. -LaTeX Info: Redefining \ref on input line 6488. -LaTeX Info: Redefining \pageref on input line 6492. -\Hy@abspage=\count127 +Package hyperref Info: Hyper figures OFF on input line 6423. +Package hyperref Info: Link nesting OFF on input line 6428. +Package hyperref Info: Hyper index ON on input line 6431. +Package hyperref Info: backreferencing OFF on input line 6438. +Package hyperref Info: Link coloring OFF on input line 6443. +Package hyperref Info: Link coloring with OCG OFF on input line 6448. +Package hyperref Info: PDF/A mode OFF on input line 6453. +LaTeX Info: Redefining \ref on input line 6493. +LaTeX Info: Redefining \pageref on input line 6497. +\Hy@abspage=\count128 Package hyperref Message: Stopped early. ) -Package hyperref Info: Driver (autodetected): hpdftex. - (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2019/11/10 v7.00c Hyperref driver for pdfTeX +Package hyperref Info: Driver (autodetected): hxetex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2019/09/28 v7.00a Hyperref driver for XeTeX -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/atveryend.sty -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2019/09/28 v7.00a Hyperref: PDF Unicode definition (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty +Package: stringenc 2016/05/16 v1.11 Convert strings between diff. encodings (HO ) -\Fld@listcount=\count128 -\c@bookmark@seq@number=\count129 +) +\pdfm@box=\box42 +\c@Hy@AnnotLevel=\count129 +\HyField@AnnotCount=\count130 +\Fld@listcount=\count131 +\c@bookmark@seq@number=\count132 (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/uniquecounter.sty -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) -) Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -85. +82. )) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-ascii-print.def +File: se-ascii-print.def 2016/05/16 v1.11 stringenc: Printable ASCII characters + +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty @@ -496,50 +497,50 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty -\beamer@argscount=\count130 +\beamer@argscount=\count133 \beamer@lastskipcover=\skip44 -\beamer@trivlistdepth=\count131 +\beamer@trivlistdepth=\count134 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty -\c@lecture=\count132 -\c@part=\count133 -\c@section=\count134 -\c@subsection=\count135 -\c@subsubsection=\count136 +\c@lecture=\count135 +\c@part=\count136 +\c@section=\count137 +\c@subsection=\count138 +\c@subsubsection=\count139 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty -\beamer@framebox=\box42 -\beamer@frametitlebox=\box43 -\beamer@zoombox=\box44 -\beamer@zoomcount=\count137 -\beamer@zoomframecount=\count138 +\beamer@framebox=\box43 +\beamer@frametitlebox=\box44 +\beamer@zoombox=\box45 +\beamer@zoomcount=\count140 +\beamer@zoomframecount=\count141 \beamer@frametextheight=\dimen169 -\c@subsectionslide=\count139 +\c@subsectionslide=\count142 \beamer@frametopskip=\skip45 \beamer@framebottomskip=\skip46 \beamer@frametopskipautobreak=\skip47 \beamer@framebottomskipautobreak=\skip48 \beamer@envbody=\toks27 \framewidth=\dimen170 -\c@framenumber=\count140 +\c@framenumber=\count143 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty \beamer@verbatimfileout=\write4 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty -\beamer@splitbox=\box45 -\beamer@autobreakcount=\count141 +\beamer@splitbox=\box46 +\beamer@autobreakcount=\count144 \beamer@autobreaklastheight=\dimen171 \beamer@frametitletoks=\toks28 \beamer@framesubtitletoks=\toks29 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty -\beamer@footins=\box46 +\beamer@footins=\box47 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty -\beamer@frameboxcopy=\box47 +\beamer@frameboxcopy=\box48 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty @@ -547,11 +548,11 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty -\bmb@box=\box48 -\bmb@colorbox=\box49 -\bmb@boxshadow=\box50 -\bmb@boxshadowball=\box51 -\bmb@boxshadowballlarge=\box52 +\bmb@box=\box49 +\bmb@colorbox=\box50 +\bmb@boxshadow=\box51 +\bmb@boxshadowball=\box52 +\bmb@boxshadowballlarge=\box53 \bmb@temp=\dimen172 \bmb@dima=\dimen173 \bmb@dimb=\dimen174 @@ -564,8 +565,8 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) \@enLab=\toks31 ) -\c@figure=\count142 -\c@table=\count143 +\c@figure=\count145 +\c@table=\count146 \abovecaptionskip=\skip49 \belowcaptionskip=\skip50 ) @@ -574,7 +575,7 @@ Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2019/11/16 v2.17d AMS math features +Package: amsmath 2019/04/01 v2.17c AMS math features \@mathmargin=\skip51 For additional information on amsmath, use the `?' option. @@ -593,30 +594,30 @@ Package: amsbsy 1999/11/29 v1.2d Bold Symbols (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty Package: amsopn 2016/03/08 v2.02 operator names ) -\inf@bad=\count144 +\inf@bad=\count147 LaTeX Info: Redefining \frac on input line 227. -\uproot@=\count145 -\leftroot@=\count146 +\uproot@=\count148 +\leftroot@=\count149 LaTeX Info: Redefining \overline on input line 389. -\classnum@=\count147 -\DOTSCASE@=\count148 +\classnum@=\count150 +\DOTSCASE@=\count151 LaTeX Info: Redefining \ldots on input line 486. LaTeX Info: Redefining \dots on input line 489. LaTeX Info: Redefining \cdots on input line 610. -\Mathstrutbox@=\box53 -\strutbox@=\box54 +\Mathstrutbox@=\box54 +\strutbox@=\box55 \big@size=\dimen180 LaTeX Font Info: Redeclaring font encoding OML on input line 733. LaTeX Font Info: Redeclaring font encoding OMS on input line 734. -\macc@depth=\count149 -\c@MaxMatrixCols=\count150 +\macc@depth=\count152 +\c@MaxMatrixCols=\count153 \dotsspace@=\muskip11 -\c@parentequation=\count151 -\dspbrk@lvl=\count152 +\c@parentequation=\count154 +\dspbrk@lvl=\count155 \tag@help=\toks33 -\row@=\count153 -\column@=\count154 -\maxfields@=\count155 +\row@=\count156 +\column@=\count157 +\maxfields@=\count158 \andhelp@=\toks34 \eqnshift@=\dimen181 \alignsep@=\dimen182 @@ -628,8 +629,8 @@ LaTeX Font Info: Redeclaring font encoding OMS on input line 734. \multlinegap=\skip52 \multlinetaggap=\skip53 \mathdisplay@stack=\toks36 -LaTeX Info: Redefining \[ on input line 2858. -LaTeX Info: Redefining \] on input line 2859. +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. ) (c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty Package: amsthm 2017/10/31 v2.20.4 @@ -643,7 +644,7 @@ Package: amsthm 2017/10/31 v2.20.4 \thm@headsep=\skip56 \dth@everypar=\toks42 ) -\c@theorem=\count156 +\c@theorem=\count159 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty @@ -658,13 +659,22 @@ Package: amsthm 2017/10/31 v2.20.4 Package: inputenc 2018/08/11 v1.3c Input encoding file \inpenc@prehook=\toks43 \inpenc@posthook=\toks44 -) -(c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty + + +Package inputenc Warning: inputenc package ignored with utf8 based engines. + +) (c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty Package: fontenc 2018/08/11 v2.0j Standard LaTeX package (c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +05. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern )) (c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts @@ -702,10 +712,10 @@ LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' (Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. ) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2019/11/14 3.36 The Babel package +Package: babel 2019/10/15 3.35 The Babel package (c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def -File: switch.def 2019/11/14 3.36 Babel switching mechanism +File: switch.def 2019/10/15 3.35 Babel switching mechanism ) (c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra @@ -716,50 +726,122 @@ Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr aphy) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2019/11/14 3.36 Babel common definitions -\babel@savecnt=\count157 +File: babel.def 2019/10/15 3.35 Babel common definitions +\babel@savecnt=\count160 \U@D=\dimen189 -(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def) -LaTeX Info: Redefining \textlatin on input line 2250. -\bbl@dirlevel=\count158 +(c:/texlive/2019/texmf-dist/tex/generic/babel/xebabel.def +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def)) +LaTeX Info: Redefining \textlatin on input line 2185. +\bbl@dirlevel=\count161 ) Package babel Info: Making " an active character on input line 121. ))) -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty -\beamer@sidebarwidth=\dimen190 -\beamer@headheight=\dimen191 -LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 -7. +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd -File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box56 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen190 +\pgf@nodesepend=\dimen191 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen192 +\pgffor@skip=\dimen193 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 )) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count162 +\pgfplotmarksize=\dimen194 +) +\tikz@lastx=\dimen195 +\tikz@lasty=\dimen196 +\tikz@lastxsaved=\dimen197 +\tikz@lastysaved=\dimen198 +\tikz@lastmovetox=\dimen199 +\tikz@lastmovetoy=\dimen256 +\tikzleveldistance=\dimen257 +\tikzsiblingdistance=\dimen258 +\tikz@figbox=\box57 +\tikz@figbox@bg=\box58 +\tikz@tempbox=\box59 +\tikz@tempbox@bg=\box60 +\tikztreelevel=\count163 +\tikznumberofchildren=\count164 +\tikznumberofcurrentchild=\count165 +\tikz@fig@count=\count166 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count167 +\pgfmatrixcurrentcolumn=\count168 +\pgf@matrix@numberofcolumns=\count169 +) +\tikz@expandcount=\count170 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen259 +\beamer@headheight=\dimen260 +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) (./RS.aux) \openout1 = `RS.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. *geometry* driver: auto-detecting -*geometry* detected driver: pdftex +*geometry* detected driver: xetex *geometry* verbose mode - [ preamble ] result: -* driver: pdftex +* driver: xetex * paper: custom * layout: * layoutoffset:(h,v)=(0.0pt,0.0pt) @@ -790,96 +872,71 @@ LaTeX Font Info: ... okay on input line 7. * \@reversemarginfalse * (1in=72.27pt=25.4mm, 1cm=28.453pt) -(c:/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count159 -\scratchdimen=\dimen192 -\scratchbox=\box55 -\nofMPsegments=\count160 -\nofMParguments=\count161 -\everyMPshowfont=\toks45 -\MPscratchCnt=\count162 -\MPscratchDim=\dimen193 -\MPnumerator=\count163 -\makeMPintoPDFobject=\count164 -\everyMPtoPDFconversion=\toks46 -) (c:/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty -Package: epstopdf-base 2019/11/27 v2.8 Base part for package epstopdf -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -85. - -(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) ABD: EveryShipout initializing macros -\AtBeginShipoutBox=\box56 -Package hyperref Info: Link coloring OFF on input line 7. +\AtBeginShipoutBox=\box61 +Package hyperref Info: Link coloring OFF on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/refcount.sty -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) -) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) ) -\c@section@level=\count165 +\c@section@level=\count171 ) -LaTeX Info: Redefining \ref on input line 7. -LaTeX Info: Redefining \pageref on input line 7. -LaTeX Info: Redefining \nameref on input line 7. +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. (./RS.out) (./RS.out) \@outlinefile=\write5 \openout5 = `RS.out'. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 7. +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 7. +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 7. +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 9. \symnumbers=\mathgroup6 \sympureletters=\mathgroup7 LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 7. +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 7. +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathit on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 7. +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 7. +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 7. +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En glish.dict @@ -907,15 +964,135 @@ Dictionary: translator-theorem-dictionary, Language: English ) (./RS.nav) Package hyperref Warning: Option `pdfauthor' has already been used, -(hyperref) setting the option has no effect on input line 8. +(hyperref) setting the option has no effect on input line 10. Package hyperref Warning: Option `pdfsubject' has already been used, -(hyperref) setting the option has no effect on input line 14. +(hyperref) setting the option has no effect on input line 16. [1 -{c:/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 +] [2 + +] +File: images/fig1.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[3 + +] +File: images/fig2.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[4 + +] +File: images/fig3.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[5 + +] +File: images/fig4.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[6 + +] +File: images/fig5.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[7 + +] +File: images/fig6.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[8 + +] +File: images/fig7.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[9 + +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +66. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 6 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +66. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +66. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 66. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 66. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 66. +LaTeX Font Info: Trying to load font information for U+msa on input line 66. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 66. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +File: images/polynom1.pdf Graphic file (type pdf) + + [10 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [11 ] \tf@nav=\write6 @@ -927,30 +1104,21 @@ Package hyperref Warning: Option `pdfsubject' has already been used, \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 25. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 25. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 68. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 68. (./RS.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 25. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 25. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 68. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 68. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. +(rerunfilecheck) Checksum: 4CA0FF56E3EE124326A4720E136735D1. ) Here is how much of TeX's memory you used: - 18359 strings out of 492164 - 341776 string characters out of 6129087 - 431862 words of memory out of 5000000 - 22272 multiletter control sequences out of 15000+600000 - 19654 words of font info for 23 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 58i,12n,57p,796b,459s stack positions out of 5000i,500n,10000p,200000b,80000s -{c:/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc} -Output written on RS.pdf (2 pages, 53965 bytes). -PDF statistics: - 42 PDF objects out of 1000 (max. 8388607) - 28 compressed objects within 1 object stream - 5 named destinations out of 1000 (max. 500000) - 43 words of extra memory for PDF output out of 10000 (max. 10000000) + 24329 strings out of 492483 + 450480 string characters out of 6132858 + 528380 words of memory out of 5000000 + 28307 multiletter control sequences out of 15000+600000 + 37892 words of font info for 41 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 58i,15n,57p,796b,539s stack positions out of 5000i,500n,10000p,200000b,80000s +Output written on RS.pdf (11 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 9033d8b..3edba3c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -1,9 +1,16 @@ \headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} \headcommand {\beamer@framepages {1}{1}} -\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\headcommand {\beamer@sectionpages {1}{1}} +\headcommand {\beamer@subsectionpages {1}{1}} +\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}} +\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} -\headcommand {\beamer@partpages {1}{2}} -\headcommand {\beamer@subsectionpages {1}{2}} -\headcommand {\beamer@sectionpages {1}{2}} -\headcommand {\beamer@documentpages {2}} -\headcommand {\gdef \inserttotalframenumber {2}} +\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} +\headcommand {\beamer@framepages {3}{9}} +\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} +\headcommand {\beamer@framepages {10}{11}} +\headcommand {\beamer@partpages {1}{11}} +\headcommand {\beamer@subsectionpages {2}{11}} +\headcommand {\beamer@sectionpages {2}{11}} +\headcommand {\beamer@documentpages {11}} +\headcommand {\gdef \inserttotalframenumber {4}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index e69de29..dec2d7d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -0,0 +1 @@ +\BOOKMARK [2][]{Outline0.1}{Introduction}{}% 1 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 459d7e8..10719b7 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index fe8adf5..2fe95de 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 3d2be8f..fb822da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -3,7 +3,9 @@ \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[ngerman]{babel} +\usepackage{tikz} \usetheme{Hannover} + \begin{document} \author{Joshua Bär und Michael Steiner} \title{Reed-Solomon-Code} @@ -17,9 +19,51 @@ \begin{frame}[plain] \maketitle \end{frame} - + \section{Introduction} + \begin{frame} + \frametitle{Idee} + + \end{frame} + \begin{frame} - \frametitle{Test} - Ich mag Züge. + \begin{figure} + \only<1>{ + \includegraphics[width=0.9\linewidth]{images/fig1.pdf} + } + \only<2>{ + \includegraphics[width=0.9\linewidth]{images/fig2.pdf} + } + \only<3>{ + \includegraphics[width=0.9\linewidth]{images/fig3.pdf} + } + \only<4>{ + \includegraphics[width=0.9\linewidth]{images/fig4.pdf} + } + \only<5>{ + \includegraphics[width=0.9\linewidth]{images/fig5.pdf} + } + \only<6>{ + \includegraphics[width=0.9\linewidth]{images/fig6.pdf} + } + \only<7>{ + \includegraphics[width=0.9\linewidth]{images/fig7.pdf} + } + \end{figure} \end{frame} + + \begin{frame} + Ü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})$ + \only<1>{ + \includegraphics[]{images/polynom1.pdf}} + \only<2>{ + \includegraphics[]{images/polynom2.pdf}} + \end{frame} + + \end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 4cd1c86..32e7e8d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1 +1,2 @@ \babel@toc {ngerman}{} +\beamer@sectionintoc {1}{Introduction}{2}{0}{1} diff --git a/buch/papers/reedsolomon/RS presentation/Thumbs.db b/buch/papers/reedsolomon/RS presentation/Thumbs.db deleted file mode 100644 index 1626e26..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/Thumbs.db and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf index 5cff7fe..abde60c 100644 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf and b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex deleted file mode 100644 index cb323ae..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex +++ /dev/null @@ -1,81 +0,0 @@ -%% Creator: Inkscape 1.0.2 (e86c870879, 2021-01-15, custom), www.inkscape.org -%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 -%% Accompanies image file 'fig1.pdf' (pdf, eps, ps) -%% -%% To include the image in your LaTeX document, write -%% \input{.pdf_tex} -%% instead of -%% \includegraphics{.pdf} -%% To scale the image, write -%% \def\svgwidth{} -%% \input{.pdf_tex} -%% instead of -%% \includegraphics[width=]{.pdf} -%% -%% Images with a different path to the parent latex file can -%% be accessed with the `import' package (which may need to be -%% installed) using -%% \usepackage{import} -%% in the preamble, and then including the image with -%% \import{}{.pdf_tex} -%% Alternatively, one can specify -%% \graphicspath{{/}} -%% -%% For more information, please see info/svg-inkscape on CTAN: -%% http://tug.ctan.org/tex-archive/info/svg-inkscape -%% -\begingroup% - \makeatletter% - \providecommand\color[2][]{% - \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% - \renewcommand\color[2][]{}% - }% - \providecommand\transparent[1]{% - \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% - \renewcommand\transparent[1]{}% - }% - \providecommand\rotatebox[2]{#2}% - \newcommand*\fsize{\dimexpr\f@size pt\relax}% - \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% - \ifx\svgwidth\undefined% - \setlength{\unitlength}{420bp}% - \ifx\svgscale\undefined% - \relax% - \else% - \setlength{\unitlength}{\unitlength * \real{\svgscale}}% - \fi% - \else% - \setlength{\unitlength}{\svgwidth}% - \fi% - \global\let\svgwidth\undefined% - \global\let\svgscale\undefined% - \makeatother% - \begin{picture}(1,0.75)% - \lineheight{1}% - \setlength\tabcolsep{0pt}% - \put(0,0){\includegraphics[width=\unitlength,page=1]{fig1.pdf}}% - \put(0.19038536,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.27196429,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}20\end{tabular}}}}% - \put(0.35354321,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}30\end{tabular}}}}% - \put(0.43512214,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}40\end{tabular}}}}% - \put(0.51670107,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}50\end{tabular}}}}% - \put(0.59828,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}60\end{tabular}}}}% - \put(0.67985893,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}70\end{tabular}}}}% - \put(0.76143804,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}80\end{tabular}}}}% - \put(0.84301696,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}90\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=2]{fig1.pdf}}% - \put(0.10654768,0.07232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}% - \put(0.10654768,0.13357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1\end{tabular}}}}% - \put(0.10654768,0.19482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2\end{tabular}}}}% - \put(0.10654768,0.25607143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}3\end{tabular}}}}% - \put(0.10654768,0.31732143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}4\end{tabular}}}}% - \put(0.10654768,0.37857143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}5\end{tabular}}}}% - \put(0.10654768,0.43982143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}6\end{tabular}}}}% - \put(0.10654768,0.50107143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}7\end{tabular}}}}% - \put(0.10654768,0.56232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}8\end{tabular}}}}% - \put(0.10654768,0.62357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}9\end{tabular}}}}% - \put(0.09404768,0.68482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.47857196,0.70669643){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}\textbf{Signal}\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=3]{fig1.pdf}}% - \end{picture}% -\endgroup% diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.png b/buch/papers/reedsolomon/RS presentation/images/fig1.png deleted file mode 100644 index a0395d7..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig1.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.pdf b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf new file mode 100644 index 0000000..8281ce7 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.png b/buch/papers/reedsolomon/RS presentation/images/fig2.png deleted file mode 100644 index bd8faa0..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig2.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.pdf b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf new file mode 100644 index 0000000..7d29d1e Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.png b/buch/papers/reedsolomon/RS presentation/images/fig3.png deleted file mode 100644 index e14358d..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig3.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.pdf b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf new file mode 100644 index 0000000..394a673 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.png b/buch/papers/reedsolomon/RS presentation/images/fig4.png deleted file mode 100644 index 1821c3b..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig4.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.pdf b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf new file mode 100644 index 0000000..37416a9 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.png b/buch/papers/reedsolomon/RS presentation/images/fig5.png deleted file mode 100644 index e4abbaa..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig5.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.pdf b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf new file mode 100644 index 0000000..61cbc01 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.png b/buch/papers/reedsolomon/RS presentation/images/fig6.png deleted file mode 100644 index 5447949..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig6.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.pdf b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf new file mode 100644 index 0000000..7397ffe Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.png b/buch/papers/reedsolomon/RS presentation/images/fig7.png deleted file mode 100644 index a850402..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig7.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.aux b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.log b/buch/papers/reedsolomon/RS presentation/images/polynom1.log new file mode 100644 index 0000000..183eaea --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:27 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom1.tex +(./polynom1.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom1.aux) +\openout1 = `polynom1.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom1.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25076 strings out of 492483 + 634297 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29148 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom1.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf new file mode 100644 index 0000000..1f632d8 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz new file mode 100644 index 0000000..578f2a3 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.tex b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex new file mode 100644 index 0000000..db83daa --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex @@ -0,0 +1,59 @@ +% polynome1 +%------------------- +\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)} +%\punkt{(4,41/\teiler)} +%\punkt{(5,60/\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} +\end{document} + diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.aux b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.log b/buch/papers/reedsolomon/RS presentation/images/polynom2.log new file mode 100644 index 0000000..169203e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:28 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom2.tex +(./polynom2.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom2.aux) +\openout1 = `polynom2.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom2.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25292 strings out of 492483 + 638772 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29364 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom2.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf new file mode 100644 index 0000000..05f4ba0 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz new file mode 100644 index 0000000..24859aa Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.tex b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex new file mode 100644 index 0000000..aa792ce --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex @@ -0,0 +1,57 @@ +% 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 10f3cdb829c001c341ea31415efb44ff6a2878b8 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 17:30:50 +0200 Subject: Persentation stand 17:30 --- buch/papers/reedsolomon/RS presentation/RS.aux | 37 +++++- buch/papers/reedsolomon/RS presentation/RS.log | 145 +++++++++++---------- buch/papers/reedsolomon/RS presentation/RS.nav | 26 +++- buch/papers/reedsolomon/RS presentation/RS.out | 4 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 117082 -> 132691 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 1 + .../reedsolomon/RS presentation/RS.synctex.gz | Bin 6763 -> 19501 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 109 ++++++++++++++-- buch/papers/reedsolomon/RS presentation/RS.toc | 4 +- 9 files changed, 235 insertions(+), 91 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index fff632d..6294c05 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -22,10 +22,10 @@ \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} \HyPL@Entry{1<>} -\@writefile{toc}{\beamer@sectionintoc {1}{Introduction}{2}{0}{1}} +\@writefile{toc}{\beamer@sectionintoc {1}{Einführung}{2}{0}{1}} \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} -\@writefile{nav}{\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} \@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} \HyPL@Entry{2<>} @@ -34,8 +34,33 @@ \HyPL@Entry{9<>} \@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{11}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\HyPL@Entry{11<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2}} \@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {11}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}}} +\@writefile{snm}{\beamer@slide {ft_discrete}{12}} +\newlabel{ft_discrete}{{5}{12}{Polynom Ansatz}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} +\HyPL@Entry{12<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{15}}} +\HyPL@Entry{15<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} +\HyPL@Entry{16<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {12}{16}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {12}{16}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{17}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {17}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {9}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 824b9b5..342b031 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:30 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 17:27 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -972,13 +972,61 @@ Package hyperref Warning: Option `pdfsubject' has already been used, [1 -] [2 +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +31. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +31. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +31. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 31. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 31. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 31. +LaTeX Font Info: Trying to load font information for U+msa on input line 31. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 31. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. + [2 ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [3 @@ -987,7 +1035,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [4 @@ -996,7 +1044,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [5 @@ -1005,7 +1053,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [6 @@ -1014,7 +1062,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [7 @@ -1023,7 +1071,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [8 @@ -1032,67 +1080,32 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [9 -] -LaTeX Font Info: Trying to load font information for OT1+lmss on input line -66. - (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd -File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 6 -6. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd -File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -66. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd -File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMX+lmex on input line -66. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd -File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 66. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 66. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 66. -LaTeX Font Info: Trying to load font information for U+msa on input line 66. +] [10 +] [11 -(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Trying to load font information for U+msb on input line 66. +] [12 +] [13 -(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +] File: images/polynom1.pdf Graphic file (type pdf) - [10 + [14 ] File: images/polynom2.pdf Graphic file (type pdf) - [11 + [15 + +] [16 + +] [17 ] \tf@nav=\write6 @@ -1104,21 +1117,21 @@ File: images/polynom2.pdf Graphic file (type pdf) \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 68. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 68. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 154. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 154. (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 68. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 68. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 154. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 154. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 4CA0FF56E3EE124326A4720E136735D1. +(rerunfilecheck) Checksum: 488F938CBAD5E8FAC29F906360775E5F. ) Here is how much of TeX's memory you used: - 24329 strings out of 492483 - 450480 string characters out of 6132858 - 528380 words of memory out of 5000000 - 28307 multiletter control sequences out of 15000+600000 + 24397 strings out of 492483 + 452001 string characters out of 6132858 + 533692 words of memory out of 5000000 + 28375 multiletter control sequences out of 15000+600000 37892 words of font info for 41 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 - 58i,15n,57p,796b,539s stack positions out of 5000i,500n,10000p,200000b,80000s + 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (11 pages). +Output written on RS.pdf (17 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 3edba3c..22ae94a 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -2,15 +2,31 @@ \headcommand {\beamer@framepages {1}{1}} \headcommand {\beamer@sectionpages {1}{1}} \headcommand {\beamer@subsectionpages {1}{1}} -\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}} +\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} \headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} \headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} \headcommand {\beamer@framepages {3}{9}} \headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} \headcommand {\beamer@framepages {10}{11}} -\headcommand {\beamer@partpages {1}{11}} -\headcommand {\beamer@subsectionpages {2}{11}} \headcommand {\beamer@sectionpages {2}{11}} -\headcommand {\beamer@documentpages {11}} -\headcommand {\gdef \inserttotalframenumber {4}} +\headcommand {\beamer@subsectionpages {2}{11}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}} +\headcommand {\beamer@framepages {12}{12}} +\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}} +\headcommand {\beamer@framepages {14}{15}} +\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}} +\headcommand {\beamer@framepages {16}{16}} +\headcommand {\beamer@sectionpages {12}{16}} +\headcommand {\beamer@subsectionpages {12}{16}} +\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}} +\headcommand {\beamer@framepages {17}{17}} +\headcommand {\beamer@partpages {1}{17}} +\headcommand {\beamer@subsectionpages {17}{17}} +\headcommand {\beamer@sectionpages {17}{17}} +\headcommand {\beamer@documentpages {17}} +\headcommand {\gdef \inserttotalframenumber {9}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index dec2d7d..597a5f8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1 +1,3 @@ -\BOOKMARK [2][]{Outline0.1}{Introduction}{}% 1 +\BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 +\BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourien\040Transformation}{}% 3 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 10719b7..f49671f 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index e69de29..8b82641 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -0,0 +1 @@ +\beamer@slide {ft_discrete}{12} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 2fe95de..96af4cc 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index fb822da..9bdf947 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -19,10 +19,15 @@ \begin{frame}[plain] \maketitle \end{frame} - \section{Introduction} + \section{Einführung} \begin{frame} \frametitle{Idee} - + \begin{itemize} + \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten + und deren Fehler Erkennung. + \item Idee Fourier Transformieren und dann senden. + \item Danach Empfangen und Rücktransformieren. + \end{itemize} \end{frame} \begin{frame} @@ -50,20 +55,100 @@ } \end{figure} \end{frame} + \begin{frame} - Ü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})$ + \uncover<1->{ + Wie ist die Anzahl 0 definiert zum mitgeben? + Indem die Polymereigenschaft genutzt werden. + } + \uncover<2->{ + Wie wird der Fehler lokalisiert? + Indem in einem Endlichen Körper gerechnet wird. + } + + \end{frame} + +\section{Polynom Ansatz} + \begin{frame} + Die Diskrite Fouren Transformation ist so gegeben + \[ + \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} + \]. + + \[ + w = e^{-\frac{2\pi j}{N} k} + \] + Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] + \end{frame} + + \begin{frame} + Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \end{frame} + \begin{frame} + Übertragen von + ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + \only<1>{ - \includegraphics[]{images/polynom1.pdf}} + 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})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} \only<2>{ - \includegraphics[]{images/polynom2.pdf}} + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} + + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + "Nutzlast" & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + &&\\ + k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ + \hline + \end{tabular} + \end{center} + \end{frame} +\section{Diskrete Fourien Transformation} + \begin{frame} + \[ + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^n \\ + w^0 & w^2 &w^4 & \dots &w^{2n} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{5} \\ + \textcolor{blue}{1} \\ + \textcolor{blue}{2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} + \] \end{frame} - \end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 32e7e8d..ff200c6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,2 +1,4 @@ \babel@toc {ngerman}{} -\beamer@sectionintoc {1}{Introduction}{2}{0}{1} +\beamer@sectionintoc {1}{Einführung}{2}{0}{1} +\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3} -- cgit v1.2.1 From 7c0937851938305c2bb760f3cd4c2084c4493217 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:18:22 +0200 Subject: Presentation neu arangiert --- buch/papers/reedsolomon/RS presentation/RS.tex | 186 +++++++++++++------------ 1 file changed, 96 insertions(+), 90 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 9bdf947..1a1cefd 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -21,12 +21,60 @@ \end{frame} \section{Einführung} \begin{frame} - \frametitle{Idee} + \frametitle{Einführung} \begin{itemize} \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten und deren Fehler Erkennung. - \item Idee Fourier Transformieren und dann senden. - \item Danach Empfangen und Rücktransformieren. + \end{itemize} + \end{frame} +\section{Polynom Ansatz} + \begin{frame} + Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \end{frame} + \begin{frame} + Übertragen von + ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + + \only<1>{ + 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})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<2>{ + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} + + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + "Nutzlast" & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + &&\\ + k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ + \hline + \end{tabular} + \end{center} + + Ausserdem können bis zu 2t Fehler erkannt werden! + \end{frame} +\section{Fourier Transformation} + \begin{frame} + \frametitle{Idee} + \begin{itemize} + \item Idee mit Fourier Transformieren und dann senden. + \item Danach Empfangen und Rücktransformieren. \end{itemize} \end{frame} @@ -56,99 +104,57 @@ \end{figure} \end{frame} - +\section{Diskrete Fourier Transformation} \begin{frame} - \uncover<1->{ - Wie ist die Anzahl 0 definiert zum mitgeben? - Indem die Polymereigenschaft genutzt werden. - } - \uncover<2->{ - Wie wird der Fehler lokalisiert? - Indem in einem Endlichen Körper gerechnet wird. - } - + \frametitle{Diskrete Fourier Transformation} + Die Diskrete Fourier Transformation ist so gegeben: + \[ + \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} + \]. + + \[ + w = e^{-\frac{2\pi j}{N} k} + \] + Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] \end{frame} -\section{Polynom Ansatz} - \begin{frame} - Die Diskrite Fouren Transformation ist so gegeben - \[ - \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} - \]. - - \[ - w = e^{-\frac{2\pi j}{N} k} - \] - Wenn $N$ konstant: - \[ - \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \] - \end{frame} - - \begin{frame} - Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. - \end{frame} - \begin{frame} - Übertragen von - ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} - als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - \only<1>{ - 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})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} - \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} - \end{frame} - - \begin{frame} - \frametitle{Parameter} - \begin{center} - \begin{tabular}{ c c c } - \hline - "Nutzlast" & Fehler & Versenden \\ - \hline - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - &&\\ - k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ - \hline - \end{tabular} - \end{center} - \end{frame} -\section{Diskrete Fourien Transformation} \begin{frame} + \frametitle{Diskrete Fourier Transformation} \[ - \begin{pmatrix} - \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n - \end{pmatrix} - = - \begin{pmatrix} - w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^n \\ - w^0 & w^2 &w^4 & \dots &w^{2n} \\ - \vdots & \vdots &\vdots &\ddots &\vdots \\ - w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ - \end{pmatrix} - \begin{pmatrix} - \textcolor{blue}{5} \\ - \textcolor{blue}{1} \\ - \textcolor{blue}{2} \\ - \vdots \\ - 0 \\ - \end{pmatrix} + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^n \\ + w^0 & w^2 &w^4 & \dots &w^{2n} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{f_0} \\ + \textcolor{blue}{f_1} \\ + \textcolor{blue}{f_2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} \] \end{frame} - +\section{Probleme und Fragen} + \begin{frame} + \frametitle{Probleme und Fragen} + + Wie wird der Fehler lokalisiert? + \only<2>{ + Indem in einem Endlichen Körper gerechnet wird. + } + \end{frame} \end{document} \ No newline at end of file -- cgit v1.2.1 From 264bd585ba37fcf0a8fed6c83b38edfe2495daef Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:19:54 +0200 Subject: gitignor angepasst --- buch/papers/reedsolomon/.gitignor | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor index 466d238..52a02ac 100644 --- a/buch/papers/reedsolomon/.gitignor +++ b/buch/papers/reedsolomon/.gitignor @@ -1,15 +1,15 @@ -RS*.aux -RS*.bbl -RS*.bib -RS*.blg -RS*.idx -RS*.ilg -RS*.ind -RS*.log -RS*.out -RS*.pdf -RS*.run.xml -RS*.toc +RS.aux +RS.bbl +RS.bib +RS.blg +RS.idx +RS.ilg +RS.ind +RS.log +RS.out +RS.pdf +RS.run.xml +RS.toc *.aux *.lof *.log -- cgit v1.2.1 From 66a49562a720d4aae3b89603589df79abd0962cd Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:20:24 +0200 Subject: automatisch generierte Files --- buch/papers/reedsolomon/RS presentation/RS.aux | 79 +++++++------- buch/papers/reedsolomon/RS presentation/RS.log | 113 +++++++++++---------- buch/papers/reedsolomon/RS presentation/RS.nav | 56 +++++----- buch/papers/reedsolomon/RS presentation/RS.out | 4 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 132691 -> 135643 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 2 +- .../reedsolomon/RS presentation/RS.synctex.gz | Bin 19501 -> 22450 bytes buch/papers/reedsolomon/RS presentation/RS.toc | 6 +- 8 files changed, 143 insertions(+), 117 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 6294c05..005172f 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -29,38 +29,49 @@ \@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} \HyPL@Entry{2<>} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {3}{9}}} -\HyPL@Entry{9<>} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} -\HyPL@Entry{11<>} -\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}}} -\@writefile{snm}{\beamer@slide {ft_discrete}{12}} -\newlabel{ft_discrete}{{5}{12}{Polynom Ansatz}{Doc-Start}{}} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} -\HyPL@Entry{12<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} -\HyPL@Entry{13<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {14}{15}}} -\HyPL@Entry{15<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}}} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} +\HyPL@Entry{3<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {4}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} +\HyPL@Entry{6<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} +\HyPL@Entry{7<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {8}{14}}} +\HyPL@Entry{14<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}}} +\@writefile{snm}{\beamer@slide {ft_discrete}{15}} +\newlabel{ft_discrete}{{8}{15}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} +\HyPL@Entry{15<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} -\HyPL@Entry{16<>} -\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {12}{16}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {12}{16}}} -\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}}} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{17}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {17}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {9}}} +\HyPL@Entry{16<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {18}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 342b031..4e1c806 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 17:27 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 18:18 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -974,139 +974,142 @@ Package hyperref Warning: Option `pdfsubject' has already been used, ] LaTeX Font Info: Trying to load font information for OT1+lmss on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern ) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 -1. +LaTeX Font Info: Trying to load font information for OML+lmm on input line 2 +9. (c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMX+lmex on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 31. +(Font) <10.95> on input line 29. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 31. +(Font) <8> on input line 29. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 31. -LaTeX Font Info: Trying to load font information for U+msa on input line 31. +(Font) <6> on input line 29. +LaTeX Font Info: Trying to load font information for U+msa on input line 29. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 31. +LaTeX Font Info: Trying to load font information for U+msb on input line 29. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. [2 +] [3 + +] +File: images/polynom1.pdf Graphic file (type pdf) + + [4 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [5 + +] +[6 + +] [7 + ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[3 +[8 ] File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[4 +[9 ] File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[5 +[10 ] File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[6 +[11 ] File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[7 +[12 ] File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[8 +[13 ] File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[9 - -] [10 +[14 -] [11 - -] [12 - -] [13 - -] -File: images/polynom1.pdf Graphic file (type pdf) - - [14 - -] -File: images/polynom2.pdf Graphic file (type pdf) - - [15 +] [15 ] [16 ] [17 +] [18 + ] \tf@nav=\write6 \openout6 = `RS.nav'. @@ -1117,21 +1120,21 @@ File: images/polynom2.pdf Graphic file (type pdf) \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 154. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 154. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 160. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 160. (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 154. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 154. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 160. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 160. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 488F938CBAD5E8FAC29F906360775E5F. +(rerunfilecheck) Checksum: 74C688051BF542B3A11E9793A97790F4. ) Here is how much of TeX's memory you used: - 24397 strings out of 492483 - 452001 string characters out of 6132858 - 533692 words of memory out of 5000000 - 28375 multiletter control sequences out of 15000+600000 + 24400 strings out of 492483 + 451960 string characters out of 6132858 + 534889 words of memory out of 5000000 + 28378 multiletter control sequences out of 15000+600000 37892 words of font info for 41 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (17 pages). +Output written on RS.pdf (18 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 22ae94a..1d67391 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -5,28 +5,36 @@ \headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} \headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} -\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} -\headcommand {\beamer@framepages {3}{9}} -\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} -\headcommand {\beamer@framepages {10}{11}} -\headcommand {\beamer@sectionpages {2}{11}} -\headcommand {\beamer@subsectionpages {2}{11}} -\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}} -\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}} -\headcommand {\beamer@framepages {12}{12}} -\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}} -\headcommand {\beamer@framepages {13}{13}} -\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}} -\headcommand {\beamer@framepages {14}{15}} -\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}} +\headcommand {\beamer@sectionpages {2}{2}} +\headcommand {\beamer@subsectionpages {2}{2}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} +\headcommand {\beamer@framepages {3}{3}} +\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}} +\headcommand {\beamer@framepages {4}{5}} +\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}} +\headcommand {\beamer@framepages {6}{6}} +\headcommand {\beamer@sectionpages {3}{6}} +\headcommand {\beamer@subsectionpages {3}{6}} +\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}} +\headcommand {\beamer@framepages {7}{7}} +\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}} +\headcommand {\beamer@framepages {8}{14}} +\headcommand {\beamer@sectionpages {7}{14}} +\headcommand {\beamer@subsectionpages {7}{14}} +\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}} +\headcommand {\beamer@framepages {15}{15}} +\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}} \headcommand {\beamer@framepages {16}{16}} -\headcommand {\beamer@sectionpages {12}{16}} -\headcommand {\beamer@subsectionpages {12}{16}} -\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}} -\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}} -\headcommand {\beamer@framepages {17}{17}} -\headcommand {\beamer@partpages {1}{17}} -\headcommand {\beamer@subsectionpages {17}{17}} -\headcommand {\beamer@sectionpages {17}{17}} -\headcommand {\beamer@documentpages {17}} -\headcommand {\gdef \inserttotalframenumber {9}} +\headcommand {\beamer@sectionpages {15}{16}} +\headcommand {\beamer@subsectionpages {15}{16}} +\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}} +\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}} +\headcommand {\beamer@framepages {17}{18}} +\headcommand {\beamer@partpages {1}{18}} +\headcommand {\beamer@subsectionpages {17}{18}} +\headcommand {\beamer@sectionpages {17}{18}} +\headcommand {\beamer@documentpages {18}} +\headcommand {\gdef \inserttotalframenumber {10}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index 597a5f8..32b9a2c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1,3 +1,5 @@ \BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 \BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 -\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourien\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.3}{Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Diskrete\040Fourier\040Transformation}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Probleme\040und\040Fragen}{}% 5 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index f49671f..913bc42 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index 8b82641..6607ea8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -1 +1 @@ -\beamer@slide {ft_discrete}{12} +\beamer@slide {ft_discrete}{15} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 96af4cc..001b5c8 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index ff200c6..44c06ab 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,4 +1,6 @@ \babel@toc {ngerman}{} \beamer@sectionintoc {1}{Einführung}{2}{0}{1} -\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2} -\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3} +\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} +\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3} +\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4} +\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5} -- cgit v1.2.1 From 308c797ad63e094b1553d6417d477b4b7e792358 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Wed, 21 Apr 2021 22:53:22 +0200 Subject: Update RS.tex --- buch/papers/reedsolomon/RS presentation/RS.tex | 708 ++++++++++++++++++++++++- 1 file changed, 707 insertions(+), 1 deletion(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 3d2be8f..400e654 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -17,9 +17,715 @@ \begin{frame}[plain] \maketitle \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Test} Ich mag Züge. \end{frame} + + \begin{frame} + \frametitle{Reed-Solomon in Endlichen Körpern} + + \begin{itemize} + \item Warum Endliche Körper? + + \qquad bessere Laufzeit + + \vspace{10pt} + + \item Nachricht = Nutzdaten + Fehlerkorrekturteil + + \vspace{10pt} + + \item den Fehlerkorrekturteil brauchen wir im Optimalfall nicht + + \vspace{10pt} + + \item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die Fehlerhaften Stellen beinhaltet + +% Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet + + \end{itemize} + +% TODO + +% erklärung und einführung der endlichen körper, was wollen wir erreichen? + +% wir versenden im endefekt mehr daten als unsere nachricht umfasst, damit die korrektur sichergestellt werden kann + +% sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Definition eines Beispiels} + + \begin{itemize} + + \item Endlicher Körper $q = 11$ + + \only<1->{ist eine Primzahl} + + \only<1->{beinhaltet die Zahlen $\mathbb{Z}_{11} = [0,1,2,3,4,5,6,7,8,9,10]$} + + \vspace{10pt} + + \only<1->{\item Nachrichtenblock $n = q-1$} + + wird an den Empfänger gesendet + + \vspace{10pt} + + \only<1->{\item max. Fehler $z = 2$} + + maximale Anzahl von Fehler, die wir noch korrigieren können + + \vspace{10pt} + + \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} + + Fehlerstellen $2t = 4$ Zahlen + + \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} + + \only<1->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Ansatz aus den Komplexen Zahlen mit der Fouriertransformation + + \vspace{10pt} + + \item $\mathrm{e}$ existiert nicht in $\mathbb{Z}_{11}$ + + \vspace{10pt} + + \item wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{Z}_{11}$ abdeckt + + $\mathbb{Z}_{11}\setminus\{0\} = [a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9]$ + + \vspace{10pt} + + \item wir wählen $a = 8$ + + $\mathbb{Z}_{11}\setminus\{0\} = [1,8,9,6,4,10,3,2,5,7]$ + + 8 ist eine Primitive Einheitswurzel + + \vspace{10pt} + + \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + + $\Rightarrow$ \qquad können wir auch als Matrix schreiben + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Übertragungsvektor $V$ + + \item $V = A \cdot m$ + + \end{itemize} + + \[ + V = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung ohne Fehler} + + \begin{itemize} + \item Der Empfänger erhält den unveränderten Vektor $V = [5,3,6,5,2,10,2,7,10,4]$ + + \vspace{10pt} + + \item Wir suchen die Inverse der Matrix A + + \end{itemize} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Inverse der Fouriertransformation + \vspace{10pt} + \[ + F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt + \] + \vspace{10pt} + \[ + f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \] + + \end{column} + \begin{column}{0.50\textwidth} + + Inverse von a + \vspace{10pt} + \[ + 8^{1} \Rightarrow 8^{-1} + \] + + Inverse finden wir über den Eulkidischen Algorithmus + \vspace{10pt} + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Recap aus der Vorlesung: + + Gegeben $a \in \mathbb{F}_p$, finde $b = a^{-1} \in \mathbb{F}_p$ + + \begin{tabular}{rcl} + $a b$ &$\equiv$& $1 \mod p$\\ + $a b$ &$=$& $1 + n p$\\ + $a b - n p$ &$=$& $1$\\ + &&\\ + $\operatorname{ggT}(a,p)$&$=$& $1$\\ + $sa + tp$&$=$& $1$\\ + $b$&$=$&$s$\\ + $n$&$=$&$-t$ + \end{tabular} + + \end{column} + \begin{column}{0.50\textwidth} + + \begin{center} + + \begin{tabular}{| c | c c | c | c c |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& $-4$& $3$\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline + \end{tabular} + + \vspace{10pt} + + \begin{tabular}{rcl} + $-4\cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + + \end{tabular} + + \end{center} + + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodirung mit Inverser Matrix} + + \begin{itemize} + \item $V = [5,3,6,5,2,10,2,7,10,4]$ + + \item $m = 1/10 \cdot A^{-1} \cdot V$ + + \item $m = 10 \cdot A^{-1} \cdot V$ + + \end{itemize} + + \[ + m = \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung mit Fehler - Ansatz} + + \begin{itemize} + \item Gesendet: $V = [5,3,6,5,2,10,2,7,10,4]$ + + \item Empfangen: $W = [5,3,6,8,2,10,2,7,1,4]$ + + \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerstellen}5,4,5,7,6,7]$ + \end{itemize} + + Wie finden wir die Fehler? + + \begin{itemize} + \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + + \item $e(X) = r(X) - m(X)$ + \end{itemize} + + \begin{center} + + \begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline + \end{tabular} + + \end{center} + + \begin{itemize} + \item Alle Stellen, die nicht Null sind, sind Fehler + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + + \vspace{10pt} + + $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + + $= d(X) \cdot e(X)$ + + \vspace{10pt} + + \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{kennen wir $e$?} + + \begin{itemize} + + \item $e$ ist unbekannt auf der Empfängerseite + + \vspace{10pt} + + \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + + \vspace{10pt} + + \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + + \vspace{10pt} + + \item daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + + \vspace{10pt} + + \item $f(X) = X^{10} - 1 = X^{10} + 10$ + + \vspace{10pt} + + \item jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus (nochmal)} + + $\operatorname{ggT}(f(X),e(X))$ hat den Grad 8 + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ + \end{array} + \] + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ + \end{array} + \] + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + + \vspace{10pt} + + $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Erweiterte Euklidische Algorithmus} + + \begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & $2X^2 + 0X + 5$& $10X + 3$\\ + \hline + \end{tabular} + + \end{center} + + \vspace{10pt} + + \begin{tabular}{ll} + Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ + Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ + Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \end{tabular} + + \vspace{10pt} + + \begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$ + \end{center} + + $D = [3,8]$ + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \begin{itemize} + + \item $W = [5,3,6,8,2,10,2,7,1,4]$ + + \item $D = [3,8]$ + + \end{itemize} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 8 \\ 2 \\ 10 \\ 2 \\ 7 \\ 1 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Fehlerstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Nullstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix in eine Quadratische Form bringen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix Invertieren + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \begin{center} + $\Downarrow$ + \end{center} + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- \end{document} \ No newline at end of file -- cgit v1.2.1 From 8473571bc77425cd198b4bba515a3f5fe10c8cd2 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 22:53:49 +0200 Subject: Style verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 1a1cefd..65f8431 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -64,12 +64,16 @@ &&\\ k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ \hline + &&\\ + &&\\ + &Ausserdem können bis zu 2t Fehler erkannt werden!\\ \end{tabular} \end{center} - Ausserdem können bis zu 2t Fehler erkannt werden! + + \end{frame} -\section{Fourier Transformation} +\section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} \begin{itemize} @@ -104,7 +108,7 @@ \end{figure} \end{frame} -\section{Diskrete Fourier Transformation} + \begin{frame} \frametitle{Diskrete Fourier Transformation} Die Diskrete Fourier Transformation ist so gegeben: @@ -134,10 +138,10 @@ = \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^n \\ - w^0 & w^2 &w^4 & \dots &w^{2n} \\ + w^0 & w^1 &w^2 & \dots &w^N \\ + w^0 & w^2 &w^4 & \dots &w^{2N} \\ \vdots & \vdots &\vdots &\ddots &\vdots \\ - w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ \end{pmatrix} \begin{pmatrix} \textcolor{blue}{f_0} \\ @@ -154,6 +158,7 @@ Wie wird der Fehler lokalisiert? \only<2>{ + \newline Indem in einem Endlichen Körper gerechnet wird. } \end{frame} -- cgit v1.2.1 From 38d0c69842308be5f096375ff070c5233b395c4c Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 16:01:46 +0200 Subject: kleine korrekturen --- buch/papers/reedsolomon/RS presentation/RS.tex | 45 +++++++++++++++----------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index eecd66b..618121c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -19,14 +19,18 @@ \begin{frame}[plain] \maketitle \end{frame} - \section{Einführung} +%------------------------------------------------------------------------------- +\section{Einführung} \begin{frame} \frametitle{Einführung} \begin{itemize} \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten und deren Fehler Erkennung. + \item Wird verwendet in: + \only<2>{CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} +%------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. @@ -50,7 +54,7 @@ \includegraphics[scale = 1.2]{images/polynom2.pdf} \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Parameter} \begin{center} @@ -59,20 +63,24 @@ "Nutzlast" & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ +\only<2->{3}& +\only<2->{2}& +\only<2->{7 Werte eines Polynoms vom Grad 2} \\ &&\\ - k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ +\only<3->{k} & +\only<3->{t} & +\only<3->{k+2t Werte eines Polynoms vom Grad k-1} \\ \hline &&\\ &&\\ - &Ausserdem können bis zu 2t Fehler erkannt werden!\\ + \multicolumn{3}{l} { + \only<4>{Ausserdem können bis zu 2t Fehler erkannt werden!} + } \end{tabular} - \end{center} - - - + \end{center} \end{frame} +%------------------------------------------------------------------------------- \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -81,7 +89,7 @@ \item Danach Empfangen und Rücktransformieren. \end{itemize} \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \begin{figure} \only<1>{ @@ -107,8 +115,7 @@ } \end{figure} \end{frame} - - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} Die Diskrete Fourier Transformation ist so gegeben: @@ -117,8 +124,8 @@ \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \]. - + \] + Ersetzten als: \[ w = e^{-\frac{2\pi j}{N} k} \] @@ -128,14 +135,14 @@ \] \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} \[ \begin{pmatrix} \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n \end{pmatrix} - = + = \frac{1}{N} \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ w^0 & w^1 &w^2 & \dots &w^N \\ @@ -152,7 +159,7 @@ \end{pmatrix} \] \end{frame} - +%------------------------------------------------------------------------------- \section{Probleme und Fragen} \begin{frame} \frametitle{Probleme und Fragen} @@ -163,7 +170,7 @@ Indem in einem Endlichen Körper gerechnet wird. } \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} -- cgit v1.2.1 From 9ce4fb55792c297989d1c001a621793303f31689 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 22:13:29 +0200 Subject: Verbesserungen und anmerkungen umgesetzt --- buch/papers/reedsolomon/RS presentation/RS.tex | 56 ++++++++++++++------------ 1 file changed, 31 insertions(+), 25 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 618121c..9811cf6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -22,36 +22,38 @@ %------------------------------------------------------------------------------- \section{Einführung} \begin{frame} - \frametitle{Einführung} + \frametitle{Reed-Solomon-Code:} \begin{itemize} - \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten - und deren Fehler Erkennung. - \item Wird verwendet in: - \only<2>{CD, QR-Codes, Voyager-Sonde, etc.} + \item \only<1>{Für Übertragung von Daten} + \item \only<2->{Ermöglicht Korrektur von Übertragungsfehler} + \item \only<3->{Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} %------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} - Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \begin{itemize} + \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \end{itemize} \end{frame} \begin{frame} Übertragen von - ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. \only<1>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{41}, \textcolor{green}{60}, \textcolor{green}{83}, \textcolor{green}{110})$ \includegraphics[scale = 1.2]{images/polynom1.pdf}} \only<2>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{41}, \textcolor{green}{60}, \textcolor{green}{83}, \textcolor{green}{110})$ \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} %------------------------------------------------------------------------------- @@ -60,22 +62,22 @@ \begin{center} \begin{tabular}{ c c c } \hline - "Nutzlast" & Fehler & Versenden \\ + ``Nutzlas´´ & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ \only<2->{3}& -\only<2->{2}& -\only<2->{7 Werte eines Polynoms vom Grad 2} \\ +\only<2->{3}& +\only<3->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\only<3->{k} & -\only<3->{t} & -\only<3->{k+2t Werte eines Polynoms vom Grad k-1} \\ +\only<4->{$k$} & +\only<4->{$t$} & +\only<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \only<4>{Ausserdem können bis zu 2t Fehler erkannt werden!} + \only<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -85,8 +87,9 @@ \begin{frame} \frametitle{Idee} \begin{itemize} - \item Idee mit Fourier Transformieren und dann senden. - \item Danach Empfangen und Rücktransformieren. + \item Fourier-transformieren + \item Übertragung + \item Rücktransformieren \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -118,14 +121,16 @@ %------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} - Die Diskrete Fourier Transformation ist so gegeben: + \begin{itemize} + \item Diskrete Fourier-Transformation gegeben durch: + \[ \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} \] - Ersetzten als: + \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} \] @@ -133,6 +138,7 @@ \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) \] + \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -145,8 +151,8 @@ = \frac{1}{N} \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^N \\ - w^0 & w^2 &w^4 & \dots &w^{2N} \\ + w^0 & w^1 &w^2 & \dots &w^{N-1} \\ + w^0 & w^2 &w^4 & \dots &w^{2(N-1)} \\ \vdots & \vdots &\vdots &\ddots &\vdots \\ w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ \end{pmatrix} @@ -167,7 +173,7 @@ Wie wird der Fehler lokalisiert? \only<2>{ \newline - Indem in einem Endlichen Körper gerechnet wird. + Indem in einem endlichen Körper gerechnet wird. } \end{frame} %------------------------------------------------------------------------------- -- cgit v1.2.1 From 5bca0960f8c9635375d2ca53c93d2bc5a2e37c10 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 22:59:07 +0200 Subject: Animation verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 37 ++++++++++++++------------ 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 9811cf6..732cee5 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -24,9 +24,9 @@ \begin{frame} \frametitle{Reed-Solomon-Code:} \begin{itemize} - \item \only<1>{Für Übertragung von Daten} - \item \only<2->{Ermöglicht Korrektur von Übertragungsfehler} - \item \only<3->{Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \visible<1->{\item Für Übertragung von Daten} + \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} + \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -37,6 +37,7 @@ \end{itemize} \end{frame} \begin{frame} + \frametitle{Beispiel} Übertragen von ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. @@ -66,18 +67,18 @@ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\only<2->{3}& -\only<2->{3}& -\only<3->{9 Werte eines Polynoms vom Grad 2} \\ +\visible<2->{3}& +\visible<2->{3}& +\visible<3->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\only<4->{$k$} & -\only<4->{$t$} & -\only<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ +\visible<4->{$k$} & +\visible<4->{$t$} & +\visible<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \only<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + \visible<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -123,21 +124,23 @@ \frametitle{Diskrete Fourier Transformation} \begin{itemize} \item Diskrete Fourier-Transformation gegeben durch: - + \visible<1->{ \[ \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} - \] + \]} + \visible<2->{ \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} - \] - Wenn $N$ konstant: + \]} + \visible<3->{ + \item Wenn $N$ konstant: \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \] + \]} \end{itemize} \end{frame} @@ -166,12 +169,12 @@ \] \end{frame} %------------------------------------------------------------------------------- -\section{Probleme und Fragen} + \begin{frame} \frametitle{Probleme und Fragen} Wie wird der Fehler lokalisiert? - \only<2>{ + \visible<2>{ \newline Indem in einem endlichen Körper gerechnet wird. } -- cgit v1.2.1 From 967ff1f33d3faaa1e344ff687aff6c07cde29b77 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 22 Apr 2021 23:33:02 +0200 Subject: Update RS.tex --- buch/papers/reedsolomon/RS presentation/RS.tex | 288 ++++++++++++++----------- 1 file changed, 165 insertions(+), 123 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 732cee5..61324f7 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -15,6 +15,7 @@ \date{26.04.2021} \subject{Mathematisches Seminar} \setbeamercovered{transparent} + %\setbeamercovered{invisible} \setbeamertemplate{navigation symbols}{} \begin{frame}[plain] \maketitle @@ -83,7 +84,11 @@ \end{tabular} \end{center} \end{frame} +<<<<<<< Updated upstream %------------------------------------------------------------------------------- +======= + +>>>>>>> Stashed changes \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -179,26 +184,38 @@ Indem in einem endlichen Körper gerechnet wird. } \end{frame} +<<<<<<< Updated upstream %------------------------------------------------------------------------------- +======= + +\section{Reed-Solomon in Endlichen Körpern} + +>>>>>>> Stashed changes \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} \begin{itemize} - \item Warum Endliche Körper? + \onslide<1->{\item Warum endliche Körper?} - \qquad bessere Laufzeit + \onslide<1->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} - \vspace{10pt} + \onslide<1->{\qquad digitale Fehlerkorrektur} - \item Nachricht = Nutzdaten + Fehlerkorrekturteil + \onslide<1->{\qquad bessere Laufzeit} \vspace{10pt} - \item den Fehlerkorrekturteil brauchen wir im Optimalfall nicht + \onslide<1->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} \vspace{10pt} - \item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die Fehlerhaften Stellen beinhaltet + \onslide<1->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} + + \onslide<1->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} + +% \vspace{10pt} + +% \onslide<1->{\item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die fehlerhaften Stellen beinhaltet} % Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet @@ -212,35 +229,35 @@ % sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Definition eines Beispiels} \begin{itemize} - \item Endlicher Körper $q = 11$ + \only<1->{\item endlicher Körper $q = 11$} \only<1->{ist eine Primzahl} - \only<1->{beinhaltet die Zahlen $\mathbb{Z}_{11} = [0,1,2,3,4,5,6,7,8,9,10]$} + \only<1->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item Nachrichtenblock $n = q-1$} + \only<1->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen - wird an den Empfänger gesendet + $n = q - 1 = 10$ Zahlen} \vspace{10pt} - \only<1->{\item max. Fehler $z = 2$} + \only<1->{\item Max.~Fehler $z = 2$ - maximale Anzahl von Fehler, die wir noch korrigieren können + maximale Anzahl von Fehler, die wir noch korrigieren können} \vspace{10pt} \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} - Fehlerstellen $2t = 4$ Zahlen + \only<1->{Fehlerkorrkturstellen $2t = 4$ Zahlen} \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} @@ -250,52 +267,54 @@ \end{frame} %------------------------------------------------------------------------------- +\section{Codierung eines Beispiels} \begin{frame} \frametitle{Codierung} \begin{itemize} - \item Ansatz aus den Komplexen Zahlen mit der Fouriertransformation + \only<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} \vspace{10pt} - \item $\mathrm{e}$ existiert nicht in $\mathbb{Z}_{11}$ + \only<1->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} \vspace{10pt} - \item wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{Z}_{11}$ abdeckt + \only<1->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken - $\mathbb{Z}_{11}\setminus\{0\} = [a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9]$ + $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} \vspace{10pt} - \item wir wählen $a = 8$ + \only<1->{\item Wir wählen $a = 8$} - $\mathbb{Z}_{11}\setminus\{0\} = [1,8,9,6,4,10,3,2,5,7]$ + \only<1->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} - 8 ist eine Primitive Einheitswurzel + \only<1->{$8$ ist eine primitive Einheitswurzel} \vspace{10pt} - \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + \only<1->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} - $\Rightarrow$ \qquad können wir auch als Matrix schreiben + \only<1->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} \end{itemize} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Codierung} \begin{itemize} - \item Übertragungsvektor $V$ + \only<1->{\item Übertragungsvektor $v$} - \item $V = A \cdot m$ + \only<1->{\item $v = A \cdot m$} \end{itemize} \[ - V = \begin{pmatrix} + \only<1->{ + v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ @@ -311,29 +330,34 @@ \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} + } \] - + \only<1->{ \begin{itemize} - \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \item $v = [5,3,6,5,2,10,2,7,10,4]$ \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- +\section{Decodierung ohne Fehler} \begin{frame} \frametitle{Decodierung ohne Fehler} \begin{itemize} - \item Der Empfänger erhält den unveränderten Vektor $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item Der Empfänger erhält den unveränderten Vektor + $v = [5,3,6,5,2,10,2,7,10,4]$} \vspace{10pt} - \item Wir suchen die Inverse der Matrix A + \only<1->{\item Wir suchen die Inverse der Matrix $A$} + + \vspace{10pt} \end{itemize} \begin{columns}[t] \begin{column}{0.50\textwidth} - + \only<1->{ Inverse der Fouriertransformation \vspace{10pt} \[ @@ -341,25 +365,26 @@ \] \vspace{10pt} \[ - f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega \] - + } \end{column} \begin{column}{0.50\textwidth} - - Inverse von a + \only<1->{ + Inverse von $a$} \vspace{10pt} + \only<1->{ \[ 8^{1} \Rightarrow 8^{-1} \] - - Inverse finden wir über den Eulkidischen Algorithmus + } + \only<1->{Inverse finden wir über den Eulkidischen Algorithmus} \vspace{10pt} \end{column} \end{columns} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Der Euklidische Algorithmus} @@ -385,8 +410,8 @@ \begin{column}{0.50\textwidth} \begin{center} - - \begin{tabular}{| c | c c | c | c c |} + \only<1->{ + \begin{tabular}{| c | c c | c | r r |} \hline $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ \hline @@ -395,17 +420,17 @@ $1$& $11$& $8$& $1$& $1$& $0$\\ $2$& $8$& $3$& $2$& $-1$& $1$\\ $3$& $3$& $2$& $1$& $3$& $-2$\\ - $4$& $2$& $1$& $2$& $-4$& $3$\\ + $4$& $2$& $1$& $2$& \textcolor<3->{blue}{$-4$}& \textcolor<3->{red}{$3$}\\ $5$& $1$& $0$& & $11$& $-8$\\ \hline \end{tabular} - + } \vspace{10pt} \begin{tabular}{rcl} - $-4\cdot 8 + 3 \cdot 11$ &$=$& $1$\\ - $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ - $8^{-1}$ &$=$& $7$ + \only<1->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ + \only<1->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ + \only<1->{$8^{-1}$ &$=$& $7$} \end{tabular} @@ -417,17 +442,17 @@ \end{frame} %------------------------------------------------------------------------------- \begin{frame} - \frametitle{Decodirung mit Inverser Matrix} + \frametitle{Decodierung mit Inverser Matrix} \begin{itemize} - \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} - \item $m = 1/10 \cdot A^{-1} \cdot V$ + \only<1->{\item $m = 1/10 \cdot A^{-1} \cdot v$} - \item $m = 10 \cdot A^{-1} \cdot V$ + \only<1->{\item $m = 10 \cdot A^{-1} \cdot v$} \end{itemize} - + \only<1->{ \[ m = \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ @@ -446,85 +471,95 @@ 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ \end{pmatrix} \] - + } + \only<1->{ \begin{itemize} \item $m = [0,0,0,0,4,7,2,5,8,1]$ \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- +\section{Decodierung mit Fehler} \begin{frame} \frametitle{Decodierung mit Fehler - Ansatz} \begin{itemize} - \item Gesendet: $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} - \item Empfangen: $W = [5,3,6,8,2,10,2,7,1,4]$ + \only<1->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} + + \only<1->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} - \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerstellen}5,4,5,7,6,7]$ \end{itemize} - Wie finden wir die Fehler? + \only<1->{Wie finden wir die Fehler?} + \only<1->{ \begin{itemize} \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + %\only<7->{\item $e(X) = r(X) - m(X)$} + \item $e(X) = r(X) - m(X)$ + \end{itemize} - + } + \begin{center} - + \only<1->{ \begin{tabular}{c c c c c c c c c c c} \hline $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ \hline - $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ - $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ - $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + $r(a^{i})$& \only<1->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ + $m(a^{i})$& \only<1->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ + $e(a^{i})$& \only<1->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ \hline \end{tabular} - + } \end{center} - + + \only<1->{ \begin{itemize} \item Alle Stellen, die nicht Null sind, sind Fehler \end{itemize} - + } + \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Nullstellen des Fehlerpolynoms finden} \begin{itemize} - \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + \only<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + \only<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + \only<1->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} \vspace{10pt} - $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$} \end{itemize} @@ -574,33 +609,33 @@ \end{frame} %------------------------------------------------------------------------------- \begin{frame} - \frametitle{kennen wir $e$?} + \frametitle{Kennen wir $e(X)$?} \begin{itemize} - \item $e$ ist unbekannt auf der Empfängerseite + \only<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} \vspace{10pt} - \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + \only<1->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} \vspace{10pt} - \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + \only<1->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ - In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat} \vspace{10pt} - \item daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + \only<1->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} \vspace{10pt} - \item $f(X) = X^{10} - 1 = X^{10} + 10$ + \only<1->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} \vspace{10pt} - \item jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \only<1->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} \end{itemize} \end{frame} @@ -608,8 +643,8 @@ \begin{frame} \frametitle{Der Euklidische Algorithmus (nochmal)} - $\operatorname{ggT}(f(X),e(X))$ hat den Grad 8 - + \only<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} + \only<1->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -620,7 +655,8 @@ & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ \end{array} \] - + } + \only<1->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -629,14 +665,14 @@ && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ \end{array} \] - + } \vspace{10pt} - $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + \only<1->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} \vspace{10pt} - $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + \only<1->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } \end{frame} @@ -653,7 +689,7 @@ & & $0$& $1$\\ $0$& $9X + 5$& $1$& $0$\\ $1$& $10X + 3$& $9X+5$& $1$\\ - $2$& & $2X^2 + 0X + 5$& $10X + 3$\\ + $2$& & \textcolor<2->{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ \hline \end{tabular} @@ -662,49 +698,54 @@ \vspace{10pt} \begin{tabular}{ll} - Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ - Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ - Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \only<1->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} + \only<1->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} + \only<1->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} \end{tabular} \vspace{10pt} - + \only<1->{ \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ $a^i = 6 \qquad \Rightarrow \qquad i = 8$ \end{center} - - $D = [3,8]$ + } + \only<1->{$d(X) = (X-a^3)(X-a^8)$} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Nachricht Rekonstruieren} \begin{frame} \frametitle{Rekonstruktion der Nachricht} \begin{itemize} - \item $W = [5,3,6,8,2,10,2,7,1,4]$ + \only<1->{\item $w = [5,3,6,8,2,10,2,7,1,4]$} - \item $D = [3,8]$ + \only<1->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} \end{itemize} - + \only<1->{ \[ + \textcolor{gray}{ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 8 \\ 2 \\ 10 \\ 2 \\ 7 \\ 1 \\ 4 \\ + a^0 \\ a^1 \\ a^2 \\ \textcolor<4->{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor<4->{red}{a^8} \\ a^9 \\ + \end{pmatrix}} + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor<4->{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor<4->{red}{1} \\ 4 \\ \end{pmatrix} = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ - 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + \textcolor<4->{red}{8^0}& \textcolor<4->{red}{8^3}& \textcolor<4->{red}{8^6}& \textcolor<4->{red}{8^9}& \textcolor<4->{red}{8^{12}}& \textcolor<4->{red}{8^{15}}& \textcolor<4->{red}{8^{18}}& \textcolor<4->{red}{8^{21}}& \textcolor<4->{red}{8^{24}}& \textcolor<4->{red}{8^{27}}\\ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ - 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + \textcolor<4->{red}{8^0}& \textcolor<4->{red}{8^8}& \textcolor<4->{red}{8^{16}}& \textcolor<4->{red}{8^{24}}& \textcolor<4->{red}{8^{32}}& \textcolor<4->{red}{8^{40}}& \textcolor<4->{red}{8^{48}}& \textcolor<4->{red}{8^{56}}& \textcolor<4->{red}{8^{64}}& \textcolor<4->{red}{8^{72}}\\ 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ \end{pmatrix} \cdot @@ -712,13 +753,14 @@ m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ \end{pmatrix} \] - + } + \only<1->{ \begin{itemize} \item Fehlerstellen entfernen \end{itemize} - + } \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Rekonstruktion der Nachricht} @@ -728,25 +770,25 @@ \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<3->{green}{8^6}& \textcolor<3->{green}{8^7}& \textcolor<3->{green}{8^8}& \textcolor<3->{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<3->{green}{8^{12}}& \textcolor<3->{green}{8^{14}}& \textcolor<3->{green}{8^{16}}& \textcolor<3->{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<3->{green}{8^{24}}& \textcolor<3->{green}{8^{28}}& \textcolor<3->{green}{8^{32}}& \textcolor<3->{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<3->{green}{8^{30}}& \textcolor<3->{green}{8^{35}}& \textcolor<3->{green}{8^{40}}& \textcolor<3->{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<3->{green}{8^{36}}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{48}}& \textcolor<3->{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{49}}& \textcolor<3->{green}{8^{56}}& \textcolor<3->{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<3->{green}{8^{54}}& \textcolor<3->{green}{8^{63}}& \textcolor<3->{green}{8^{72}}& \textcolor<3->{green}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} - m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor<2->{green}{m_6} \\ \textcolor<2->{green}{m_7} \\ \textcolor<2->{green}{m_8} \\ \textcolor<2->{green}{m_9} \\ \end{pmatrix} \] - + \only<1->{ \begin{itemize} \item Nullstellen entfernen \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -754,7 +796,7 @@ \[ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<2->{red}{7} \\ \textcolor<2->{red}{4} \\ \end{pmatrix} = \begin{pmatrix} @@ -764,8 +806,8 @@ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}\\ + \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^7}& \textcolor<2->{red}{8^{14}}& \textcolor<2->{red}{8^{21}}& \textcolor<2->{red}{8^{28}}& \textcolor<2->{red}{8^{35}}\\ + \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^9}& \textcolor<2->{red}{8^{18}}& \textcolor<2->{red}{8^{27}}& \textcolor<2->{red}{8^{36}}& \textcolor<2->{red}{8^{45}}\\ \end{pmatrix} \cdot \begin{pmatrix} @@ -774,11 +816,11 @@ \] \vspace{5pt} - + \only<1->{ \begin{itemize} \item Matrix in eine Quadratische Form bringen \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- \begin{frame} -- cgit v1.2.1 From 8c6a8e56c125c238dc64c21d1269fcdc7542c5cd Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 23:45:32 +0200 Subject: =?UTF-8?q?merge=20lines=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/reedsolomon/RS presentation/RS.tex | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 61324f7..943f2da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -84,11 +84,9 @@ \end{tabular} \end{center} \end{frame} -<<<<<<< Updated upstream + %------------------------------------------------------------------------------- -======= ->>>>>>> Stashed changes \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -184,13 +182,12 @@ Indem in einem endlichen Körper gerechnet wird. } \end{frame} -<<<<<<< Updated upstream + %------------------------------------------------------------------------------- -======= + \section{Reed-Solomon in Endlichen Körpern} ->>>>>>> Stashed changes \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} -- cgit v1.2.1 From 179ea16b001b6640e9b720d53ffc06f3e2389ff2 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 00:30:36 +0200 Subject: appostroph verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 943f2da..d09d77d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -64,7 +64,7 @@ \begin{center} \begin{tabular}{ c c c } \hline - ``Nutzlas´´ & Fehler & Versenden \\ + ``Nutzlast'' & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -- cgit v1.2.1 From ded210e33924d4c078e5a0d899c0585d7f987565 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 12:58:40 +0200 Subject: Folien Verbesserungen animation --- buch/papers/reedsolomon/RS presentation/RS.aux | 167 +++++++++++----- buch/papers/reedsolomon/RS presentation/RS.log | 212 ++++++++++++++++----- buch/papers/reedsolomon/RS presentation/RS.nav | 117 ++++++++---- buch/papers/reedsolomon/RS presentation/RS.out | 9 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 135643 -> 207741 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 2 +- .../reedsolomon/RS presentation/RS.synctex.gz | Bin 22450 -> 203648 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 24 +-- buch/papers/reedsolomon/RS presentation/RS.toc | 11 +- 9 files changed, 388 insertions(+), 154 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 005172f..065ba66 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -26,52 +26,121 @@ \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} \@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} -\HyPL@Entry{2<>} -\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} -\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} -\HyPL@Entry{3<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {4}{5}}} -\HyPL@Entry{5<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} -\HyPL@Entry{6<>} -\@writefile{toc}{\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{6}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{6}}} -\@writefile{nav}{\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}}} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} -\HyPL@Entry{7<>} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {8}{14}}} -\HyPL@Entry{14<>} -\@writefile{toc}{\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {7}{14}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {7}{14}}} -\@writefile{nav}{\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}}} -\@writefile{snm}{\beamer@slide {ft_discrete}{15}} -\newlabel{ft_discrete}{{8}{15}{Diskrete Fourier Transformation}{Doc-Start}{}} -\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} -\HyPL@Entry{15<>} -\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} -\HyPL@Entry{16<>} -\@writefile{toc}{\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {15}{16}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {15}{16}}} -\@writefile{nav}{\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}}} -\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {18}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/4}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{4}}} +\HyPL@Entry{4<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{5}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{4}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{5}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{5/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{6/8}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{8}}} +\HyPL@Entry{8<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{9/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {9}{12}}} +\HyPL@Entry{12<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{13}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {5}{12}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {5}{12}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{13}{Diskrete Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{14/20}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{20}}} +\HyPL@Entry{20<>} +\@writefile{snm}{\beamer@slide {ft_discrete}{21}} +\newlabel{ft_discrete}{{8}{21}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{3}{21/23}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {21}{23}}} +\HyPL@Entry{23<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{4}{24/24}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {24}{24}}} +\HyPL@Entry{24<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{5}{25/26}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {25}{26}}} +\HyPL@Entry{26<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{27}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {13}{26}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {13}{26}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{27}{Reed-Solomon in Endlichen Körpern}{0}}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{27/27}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}} +\HyPL@Entry{27<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{28/28}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {28}{28}}} +\HyPL@Entry{28<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Codierung eines Beispiels}{29}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {27}{28}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {27}{28}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Codierung eines Beispiels}{29}{Codierung eines Beispiels}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{29/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {29}{29}}} +\HyPL@Entry{29<>} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{2}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\HyPL@Entry{30<>} +\@writefile{toc}{\beamer@sectionintoc {6}{Decodierung ohne Fehler}{31}{0}{6}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {29}{30}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {29}{30}}} +\@writefile{nav}{\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{31}{Decodierung ohne Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{1}{31/31}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} +\HyPL@Entry{31<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{2}{32/34}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {32}{34}}} +\HyPL@Entry{34<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{3}{35/35}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {35}{35}}} +\HyPL@Entry{35<>} +\@writefile{toc}{\beamer@sectionintoc {7}{Decodierung mit Fehler}{36}{0}{7}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {31}{35}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {31}{35}}} +\@writefile{nav}{\headcommand {\sectionentry {7}{Decodierung mit Fehler}{36}{Decodierung mit Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{1}{36/36}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {36}{36}}} +\HyPL@Entry{36<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{2}{37/37}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {37}{37}}} +\HyPL@Entry{37<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{3}{38/38}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {38}{38}}} +\HyPL@Entry{38<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{4}{39/39}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {39}{39}}} +\HyPL@Entry{39<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{5}{40/40}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {40}{40}}} +\HyPL@Entry{40<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{6}{41/42}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {41}{42}}} +\HyPL@Entry{42<>} +\@writefile{toc}{\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{43}{0}{8}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {36}{42}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {36}{42}}} +\@writefile{nav}{\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{43}{Nachricht Rekonstruieren}{0}}} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{1}{43/46}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {43}{46}}} +\HyPL@Entry{46<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{2}{47/49}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {47}{49}}} +\HyPL@Entry{49<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{3}{50/51}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {50}{51}}} +\HyPL@Entry{51<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{4}{52/52}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {52}{52}}} +\HyPL@Entry{52<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{5}{53/53}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {53}{53}}} +\HyPL@Entry{53<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{6}{54/54}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {54}{54}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{54}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {43}{54}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {43}{54}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {54}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {29}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 4e1c806..6042adc 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 18:18 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 23 APR 2021 10:48 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -974,141 +974,252 @@ Package hyperref Warning: Option `pdfsubject' has already been used, ] LaTeX Font Info: Trying to load font information for OT1+lmss on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern ) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 2 -9. +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +2. (c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMX+lmex on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 29. +(Font) <10.95> on input line 32. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 29. +(Font) <8> on input line 32. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 29. -LaTeX Font Info: Trying to load font information for U+msa on input line 29. +(Font) <6> on input line 32. +LaTeX Font Info: Trying to load font information for U+msa on input line 32. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 29. +LaTeX Font Info: Trying to load font information for U+msb on input line 32. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. [2 ] [3 +] [4 + +] [5 + +] +[6 + ] File: images/polynom1.pdf Graphic file (type pdf) - [4 + [7 ] File: images/polynom2.pdf Graphic file (type pdf) - [5 + [8 -] -[6 +] [9 -] [7 +] [10 + +] [11 + +] [12 + +] [13 ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[8 +[14 ] File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[9 +[15 ] File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[10 +[16 ] File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[11 +[17 ] File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[12 +[18 ] File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[13 +[19 ] File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[14 +[20 + +] [21 + +] [22 + +] [23 + +] [24 + +] [25 + +] [26 + +] [27 + +] [28 + +] +LaTeX Font Info: Trying to load font information for T1+lmr on input line 30 +0. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) [29 + +] [30 + +] +LaTeX Font Info: Trying to load font information for U+euf on input line 383 +. + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/ueuf.fd +File: ueuf.fd 2013/01/14 v3.01 Euler Fraktur +) +Overfull \hbox (1.42268pt too wide) detected at line 383 +\U/euf/m/n/10.95 F[]\OT1/lmss/m/n/10.95 (\T1/lmss/m/sl/10.95 F\OT1/lmss/m/n/10. +95 (\OML/lmm/m/it/10.95 !\OT1/lmss/m/n/10.95 )) = \T1/lmss/m/sl/10.95 f\OT1/lms +s/m/n/10.95 (\T1/lmss/m/sl/10.95 t\OT1/lmss/m/n/10.95 ) = [] [][] \T1/lmss/m/sl +/10.95 F\OT1/lmss/m/n/10.95 (\OML/lmm/m/it/10.95 !\OT1/lmss/m/n/10.95 )\T1/lmr/ +m/n/10.95 e[]\T1/lmss/m/sl/10.95 d\OML/lmm/m/it/10.95 ! + [] + +[31 -] [15 +] [32 -] [16 +] [33 -] [17 +] [34 -] [18 +] [35 + +] [36 + +] [37 + +] [38 + +] +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <14.4> on input line 638. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 638. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <14.4> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <7> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. + [39 + +] +Overfull \hbox (2.91844pt too wide) detected at line 674 +[] + [] + +[40 + +] [41 + +] [42 + +] [43 + +] [44 + +] [45 + +] [46 + +] [47 + +] [48 + +] [49 + +] [50 + +] [51 + +] [52 + +] [53 + +] [54 ] \tf@nav=\write6 @@ -1120,21 +1231,22 @@ Overfull \vbox (14.63716pt too high) detected at line 105 \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 160. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 160. - (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 160. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 160. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 928. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 928. + +(./RS.aux) +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 928. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 928. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 74C688051BF542B3A11E9793A97790F4. +(rerunfilecheck) Checksum: CBEDF1F633104E8EE4EB074E401487DA. ) Here is how much of TeX's memory you used: - 24400 strings out of 492483 - 451960 string characters out of 6132858 - 534889 words of memory out of 5000000 - 28378 multiletter control sequences out of 15000+600000 - 37892 words of font info for 41 fonts, out of 8000000 for 9000 + 24528 strings out of 492483 + 453801 string characters out of 6132858 + 557615 words of memory out of 5000000 + 28488 multiletter control sequences out of 15000+600000 + 82614 words of font info for 73 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 - 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s + 58i,15n,61p,796b,566s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (18 pages). +Output written on RS.pdf (54 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 1d67391..f288963 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -3,38 +3,85 @@ \headcommand {\beamer@sectionpages {1}{1}} \headcommand {\beamer@subsectionpages {1}{1}} \headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} -\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} -\headcommand {\beamer@framepages {2}{2}} -\headcommand {\beamer@sectionpages {2}{2}} -\headcommand {\beamer@subsectionpages {2}{2}} -\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} -\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} -\headcommand {\beamer@framepages {3}{3}} -\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}} -\headcommand {\beamer@framepages {4}{5}} -\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}} -\headcommand {\beamer@framepages {6}{6}} -\headcommand {\beamer@sectionpages {3}{6}} -\headcommand {\beamer@subsectionpages {3}{6}} -\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}} -\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}} -\headcommand {\beamer@framepages {7}{7}} -\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}} -\headcommand {\beamer@framepages {8}{14}} -\headcommand {\beamer@sectionpages {7}{14}} -\headcommand {\beamer@subsectionpages {7}{14}} -\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}} -\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}} -\headcommand {\beamer@framepages {15}{15}} -\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}} -\headcommand {\beamer@framepages {16}{16}} -\headcommand {\beamer@sectionpages {15}{16}} -\headcommand {\beamer@subsectionpages {15}{16}} -\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}} -\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}} -\headcommand {\beamer@framepages {17}{18}} -\headcommand {\beamer@partpages {1}{18}} -\headcommand {\beamer@subsectionpages {17}{18}} -\headcommand {\beamer@sectionpages {17}{18}} -\headcommand {\beamer@documentpages {18}} -\headcommand {\gdef \inserttotalframenumber {10}} +\headcommand {\slideentry {1}{0}{1}{2/4}{}{0}} +\headcommand {\beamer@framepages {2}{4}} +\headcommand {\beamer@sectionpages {2}{4}} +\headcommand {\beamer@subsectionpages {2}{4}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{5}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{5/5}{}{0}} +\headcommand {\beamer@framepages {5}{5}} +\headcommand {\slideentry {2}{0}{2}{6/8}{}{0}} +\headcommand {\beamer@framepages {6}{8}} +\headcommand {\slideentry {2}{0}{3}{9/12}{}{0}} +\headcommand {\beamer@framepages {9}{12}} +\headcommand {\beamer@sectionpages {5}{12}} +\headcommand {\beamer@subsectionpages {5}{12}} +\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{13}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {3}{0}{2}{14/20}{}{0}} +\headcommand {\beamer@framepages {14}{20}} +\headcommand {\slideentry {3}{0}{3}{21/23}{}{0}} +\headcommand {\beamer@framepages {21}{23}} +\headcommand {\slideentry {3}{0}{4}{24/24}{}{0}} +\headcommand {\beamer@framepages {24}{24}} +\headcommand {\slideentry {3}{0}{5}{25/26}{}{0}} +\headcommand {\beamer@framepages {25}{26}} +\headcommand {\beamer@sectionpages {13}{26}} +\headcommand {\beamer@subsectionpages {13}{26}} +\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{27}{Reed-Solomon in Endlichen Körpern}{0}} +\headcommand {\slideentry {4}{0}{1}{27/27}{}{0}} +\headcommand {\beamer@framepages {27}{27}} +\headcommand {\slideentry {4}{0}{2}{28/28}{}{0}} +\headcommand {\beamer@framepages {28}{28}} +\headcommand {\beamer@sectionpages {27}{28}} +\headcommand {\beamer@subsectionpages {27}{28}} +\headcommand {\sectionentry {5}{Codierung eines Beispiels}{29}{Codierung eines Beispiels}{0}} +\headcommand {\slideentry {5}{0}{1}{29/29}{}{0}} +\headcommand {\beamer@framepages {29}{29}} +\headcommand {\slideentry {5}{0}{2}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\beamer@sectionpages {29}{30}} +\headcommand {\beamer@subsectionpages {29}{30}} +\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{31}{Decodierung ohne Fehler}{0}} +\headcommand {\slideentry {6}{0}{1}{31/31}{}{0}} +\headcommand {\beamer@framepages {31}{31}} +\headcommand {\slideentry {6}{0}{2}{32/34}{}{0}} +\headcommand {\beamer@framepages {32}{34}} +\headcommand {\slideentry {6}{0}{3}{35/35}{}{0}} +\headcommand {\beamer@framepages {35}{35}} +\headcommand {\beamer@sectionpages {31}{35}} +\headcommand {\beamer@subsectionpages {31}{35}} +\headcommand {\sectionentry {7}{Decodierung mit Fehler}{36}{Decodierung mit Fehler}{0}} +\headcommand {\slideentry {7}{0}{1}{36/36}{}{0}} +\headcommand {\beamer@framepages {36}{36}} +\headcommand {\slideentry {7}{0}{2}{37/37}{}{0}} +\headcommand {\beamer@framepages {37}{37}} +\headcommand {\slideentry {7}{0}{3}{38/38}{}{0}} +\headcommand {\beamer@framepages {38}{38}} +\headcommand {\slideentry {7}{0}{4}{39/39}{}{0}} +\headcommand {\beamer@framepages {39}{39}} +\headcommand {\slideentry {7}{0}{5}{40/40}{}{0}} +\headcommand {\beamer@framepages {40}{40}} +\headcommand {\slideentry {7}{0}{6}{41/42}{}{0}} +\headcommand {\beamer@framepages {41}{42}} +\headcommand {\beamer@sectionpages {36}{42}} +\headcommand {\beamer@subsectionpages {36}{42}} +\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{43}{Nachricht Rekonstruieren}{0}} +\headcommand {\slideentry {8}{0}{1}{43/46}{}{0}} +\headcommand {\beamer@framepages {43}{46}} +\headcommand {\slideentry {8}{0}{2}{47/49}{}{0}} +\headcommand {\beamer@framepages {47}{49}} +\headcommand {\slideentry {8}{0}{3}{50/51}{}{0}} +\headcommand {\beamer@framepages {50}{51}} +\headcommand {\slideentry {8}{0}{4}{52/52}{}{0}} +\headcommand {\beamer@framepages {52}{52}} +\headcommand {\slideentry {8}{0}{5}{53/53}{}{0}} +\headcommand {\beamer@framepages {53}{53}} +\headcommand {\slideentry {8}{0}{6}{54/54}{}{0}} +\headcommand {\beamer@framepages {54}{54}} +\headcommand {\beamer@partpages {1}{54}} +\headcommand {\beamer@subsectionpages {43}{54}} +\headcommand {\beamer@sectionpages {43}{54}} +\headcommand {\beamer@documentpages {54}} +\headcommand {\gdef \inserttotalframenumber {29}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index 32b9a2c..364319e 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1,5 +1,8 @@ \BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 \BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 -\BOOKMARK [2][]{Outline0.3}{Fourier\040Transformation}{}% 3 -\BOOKMARK [2][]{Outline0.4}{Diskrete\040Fourier\040Transformation}{}% 4 -\BOOKMARK [2][]{Outline0.5}{Probleme\040und\040Fragen}{}% 5 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Reed-Solomon in Endlichen Körpern}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Codierung\040eines\040Beispiels}{}% 5 +\BOOKMARK [2][]{Outline0.6}{Decodierung\040ohne\040Fehler}{}% 6 +\BOOKMARK [2][]{Outline0.7}{Decodierung\040mit\040Fehler}{}% 7 +\BOOKMARK [2][]{Outline0.8}{Nachricht\040Rekonstruieren}{}% 8 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 913bc42..d9d6693 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index 6607ea8..86859c9 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -1 +1 @@ -\beamer@slide {ft_discrete}{15} +\beamer@slide {ft_discrete}{21} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 001b5c8..04bd239 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index d09d77d..7b2c4da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -43,18 +43,18 @@ ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - \only<1>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} + + Versende $ (p(1),p(2),\dots,p(7))$ + \visible<2->{ = (\textcolor{green}{8},} + \only<2>{\textcolor{green}{15},} + \only<3>{\textcolor{red}{50},} + \only<2>{\textcolor{green}{26},} + \only<3>{\textcolor{red}{37},} + \visible<2->{\textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})} + \only<2>{\includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<3>{\includegraphics[scale = 1.2]{images/polynom2.pdf}} + \visible<3>{ \newline \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 44c06ab..095b5e6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,6 +1,9 @@ \babel@toc {ngerman}{} \beamer@sectionintoc {1}{Einführung}{2}{0}{1} -\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} -\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3} -\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4} -\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5} +\beamer@sectionintoc {2}{Polynom Ansatz}{5}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{13}{0}{3} +\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{27}{0}{4} +\beamer@sectionintoc {5}{Codierung eines Beispiels}{29}{0}{5} +\beamer@sectionintoc {6}{Decodierung ohne Fehler}{31}{0}{6} +\beamer@sectionintoc {7}{Decodierung mit Fehler}{36}{0}{7} +\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{43}{0}{8} -- cgit v1.2.1 From 0a80be4477602e2d909e5eda40dae485ec6acd56 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 13:02:38 +0200 Subject: Read me erstellt --- buch/papers/reedsolomon/RS presentation/README.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 buch/papers/reedsolomon/RS presentation/README.txt (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/README.txt b/buch/papers/reedsolomon/RS presentation/README.txt new file mode 100644 index 0000000..4d0620f --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/README.txt @@ -0,0 +1 @@ +Dies ist die Presentation des Reed-Solomon-Code \ No newline at end of file -- cgit v1.2.1 From d1b6d92a02d9c44b3860b73d5660c5c6863de0df Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Fri, 23 Apr 2021 21:19:34 +0200 Subject: handout added --- buch/papers/reedsolomon/RS presentation/RS.tex | 290 +++---- .../reedsolomon/RS presentation/RS_handout.tex | 921 +++++++++++++++++++++ 2 files changed, 1069 insertions(+), 142 deletions(-) create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 943f2da..c215e66 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -14,8 +14,8 @@ \institute{OST Ostschweizer Fachhochschule} \date{26.04.2021} \subject{Mathematisches Seminar} - \setbeamercovered{transparent} - %\setbeamercovered{invisible} + %\setbeamercovered{transparent} + \setbeamercovered{invisible} \setbeamertemplate{navigation symbols}{} \begin{frame}[plain] \maketitle @@ -64,22 +64,22 @@ \begin{center} \begin{tabular}{ c c c } \hline - ``Nutzlas´´ & Fehler & Versenden \\ + Nutzlas & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\visible<2->{3}& -\visible<2->{3}& -\visible<3->{9 Werte eines Polynoms vom Grad 2} \\ +\visible<1->{3}& +\visible<1->{3}& +\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\visible<4->{$k$} & -\visible<4->{$t$} & -\visible<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ +\visible<1->{$k$} & +\visible<1->{$t$} & +\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \visible<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -194,21 +194,21 @@ \begin{itemize} \onslide<1->{\item Warum endliche Körper?} - \onslide<1->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} + \onslide<2->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} - \onslide<1->{\qquad digitale Fehlerkorrektur} + \onslide<3->{\qquad digitale Fehlerkorrektur} - \onslide<1->{\qquad bessere Laufzeit} + %\onslide<4->{\qquad bessere Laufzeit} \vspace{10pt} - \onslide<1->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} + \onslide<4->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} \vspace{10pt} - \onslide<1->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} + \onslide<5->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} - \onslide<1->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} + \onslide<6->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} % \vspace{10pt} @@ -232,33 +232,33 @@ \begin{itemize} - \only<1->{\item endlicher Körper $q = 11$} + \onslide<1->{\item endlicher Körper $q = 11$} - \only<1->{ist eine Primzahl} + \onslide<2->{ist eine Primzahl} - \only<1->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} + \onslide<3->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen + \onslide<4->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen} - $n = q - 1 = 10$ Zahlen} + \onslide<5->{$n = q - 1 = 10$ Zahlen} \vspace{10pt} - \only<1->{\item Max.~Fehler $z = 2$ + \onslide<6->{\item Max.~Fehler $t = 2$} - maximale Anzahl von Fehler, die wir noch korrigieren können} + \onslide<7->{maximale Anzahl von Fehler, die wir noch korrigieren können} \vspace{10pt} - \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} + \onslide<8->{\item Nutzlast $k = n -2t = 6$ Zahlen} - \only<1->{Fehlerkorrkturstellen $2t = 4$ Zahlen} + \onslide<9->{Fehlerkorrkturstellen $2t = 4$ Zahlen} - \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} + \onslide<10->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} - \only<1->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} + \onslide<11->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} \end{itemize} @@ -269,31 +269,31 @@ \frametitle{Codierung} \begin{itemize} - \only<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} + \onslide<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} \vspace{10pt} - \only<1->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} + \onslide<2->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} \vspace{10pt} - \only<1->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken + \onslide<3->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken} - $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} + \onslide<4->{$\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} \vspace{10pt} - \only<1->{\item Wir wählen $a = 8$} + \onslide<5->{\item Wir wählen $a = 8$} - \only<1->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} + \onslide<6->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} - \only<1->{$8$ ist eine primitive Einheitswurzel} + \onslide<7->{$8$ ist eine primitive Einheitswurzel} \vspace{10pt} - \only<1->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} + \onslide<8->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} - \only<1->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} + \onslide<9->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} \end{itemize} @@ -303,14 +303,14 @@ \frametitle{Codierung} \begin{itemize} - \only<1->{\item Übertragungsvektor $v$} + \onslide<1->{\item Übertragungsvektor $v$} - \only<1->{\item $v = A \cdot m$} + \onslide<2->{\item $v = A \cdot m$} \end{itemize} \[ - \only<1->{ + \onslide<3->{ v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ @@ -329,11 +329,11 @@ \end{pmatrix} } \] - \only<1->{ + \begin{itemize} - \item $v = [5,3,6,5,2,10,2,7,10,4]$ + \onslide<4->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \section{Decodierung ohne Fehler} @@ -341,41 +341,44 @@ \frametitle{Decodierung ohne Fehler} \begin{itemize} - \only<1->{\item Der Empfänger erhält den unveränderten Vektor - $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item Der Empfänger erhält den unveränderten Vektor $v = [5,3,6,5,2,10,2,7,10,4]$} \vspace{10pt} - \only<1->{\item Wir suchen die Inverse der Matrix $A$} + \onslide<2->{\item Wir suchen die Inverse der Matrix $A$} \vspace{10pt} \end{itemize} \begin{columns}[t] - \begin{column}{0.50\textwidth} - \only<1->{ - Inverse der Fouriertransformation + \begin{column}{0.55\textwidth} + \onslide<3->{ Inverse der Fouriertransformation} \vspace{10pt} + \onslide<4->{ \[ F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \] + } \vspace{10pt} + \onslide<5->{ \[ \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega \] } \end{column} - \begin{column}{0.50\textwidth} - \only<1->{ - Inverse von $a$} + \begin{column}{0.45\textwidth} + \onslide<6->{Inverse von $a$} + \vspace{10pt} - \only<1->{ + + \onslide<7->{ \[ 8^{1} \Rightarrow 8^{-1} \] } - \only<1->{Inverse finden wir über den Eulkidischen Algorithmus} + + \onslide<8->{Inverse finden wir über den Eulkidischen Algorithmus} \vspace{10pt} \end{column} \end{columns} @@ -407,7 +410,7 @@ \begin{column}{0.50\textwidth} \begin{center} - \only<1->{ + \onslide<1->{ \begin{tabular}{| c | c c | c | r r |} \hline $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ @@ -417,17 +420,18 @@ $1$& $11$& $8$& $1$& $1$& $0$\\ $2$& $8$& $3$& $2$& $-1$& $1$\\ $3$& $3$& $2$& $1$& $3$& $-2$\\ - $4$& $2$& $1$& $2$& \textcolor<3->{blue}{$-4$}& \textcolor<3->{red}{$3$}\\ + $4$& $2$& $1$& $2$& \textcolor<2->{blue}{$-4$}& \textcolor<2->{red}{$3$}\\ $5$& $1$& $0$& & $11$& $-8$\\ \hline \end{tabular} } + \vspace{10pt} \begin{tabular}{rcl} - \only<1->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ - \only<1->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ - \only<1->{$8^{-1}$ &$=$& $7$} + \onslide<3->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ + \onslide<4->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ + \onslide<5->{$8^{-1}$ &$=$& $7$} \end{tabular} @@ -442,16 +446,16 @@ \frametitle{Decodierung mit Inverser Matrix} \begin{itemize} - \only<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} - \only<1->{\item $m = 1/10 \cdot A^{-1} \cdot v$} + \onslide<2->{\item $m = 1/10 \cdot A^{-1} \cdot v$} - \only<1->{\item $m = 10 \cdot A^{-1} \cdot v$} + \onslide<3->{\item $m = 10 \cdot A^{-1} \cdot v$} \end{itemize} - \only<1->{ + \onslide<4->{ \[ - m = \begin{pmatrix} + m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ @@ -469,11 +473,11 @@ \end{pmatrix} \] } - \only<1->{ + \begin{itemize} - \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \onslide<5->{\item $m = [0,0,0,0,4,7,2,5,8,1]$} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \section{Decodierung mit Fehler} @@ -481,48 +485,46 @@ \frametitle{Decodierung mit Fehler - Ansatz} \begin{itemize} - \only<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} - \only<1->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} + \onslide<2->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} - \only<1->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} + \onslide<3->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} \end{itemize} - \only<1->{Wie finden wir die Fehler?} + \onslide<4->{Wie finden wir die Fehler?} - \only<1->{ \begin{itemize} - \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + \onslide<5->{\item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} - \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + \onslide<6->{\item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$} %\only<7->{\item $e(X) = r(X) - m(X)$} - \item $e(X) = r(X) - m(X)$ + \onslide<7->{\item $e(X) = r(X) - m(X)$} \end{itemize} - } \begin{center} - \only<1->{ + \onslide<8->{ \begin{tabular}{c c c c c c c c c c c} \hline $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ \hline - $r(a^{i})$& \only<1->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ - $m(a^{i})$& \only<1->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ - $e(a^{i})$& \only<1->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ + $r(a^{i})$& \onslide<9->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ + $m(a^{i})$& \onslide<10->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ + $e(a^{i})$& \onslide<11->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ \hline \end{tabular} } \end{center} - \only<1->{ + \begin{itemize} - \item Alle Stellen, die nicht Null sind, sind Fehler + \onslide<12->{\item Alle Stellen, die nicht Null sind, sind Fehler} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- @@ -530,31 +532,31 @@ \frametitle{Nullstellen des Fehlerpolynoms finden} \begin{itemize} - \only<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} + \onslide<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \only<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} + \onslide<2->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<3->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \only<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<4->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \only<1->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} + \onslide<5->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} \vspace{10pt} - \only<1->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<6->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$} @@ -567,39 +569,39 @@ \begin{itemize} - \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + \onslide<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + \onslide<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$} \vspace{10pt} - \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + \onslide<1->{\item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können} \vspace{10pt} - $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + \onslide<2->{$\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ - \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$} - $= d(X) \cdot e(X)$ + \onslide<3->{$= d(X) \cdot e(X)$} \vspace{10pt} - \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + \onslide<4->{\item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$} \end{itemize} @@ -610,29 +612,29 @@ \begin{itemize} - \only<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} + \onslide<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} \vspace{10pt} - \only<1->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} + \onslide<2->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} \vspace{10pt} - \only<1->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + \onslide<3->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat} \vspace{10pt} - \only<1->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} + \onslide<4->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} \vspace{10pt} - \only<1->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} + \onslide<5->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} \vspace{10pt} - \only<1->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} + \onslide<6->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} \end{itemize} \end{frame} @@ -640,8 +642,8 @@ \begin{frame} \frametitle{Der Euklidische Algorithmus (nochmal)} - \only<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} - \only<1->{ + \onslide<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} + \onslide<2->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -653,7 +655,7 @@ \end{array} \] } - \only<1->{ + \onslide<3->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -665,11 +667,11 @@ } \vspace{10pt} - \only<1->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} + \onslide<4->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} \vspace{10pt} - \only<1->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } + \onslide<5->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } \end{frame} @@ -695,20 +697,22 @@ \vspace{10pt} \begin{tabular}{ll} - \only<1->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} - \only<1->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} - \only<1->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} + \onslide<3->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} + \onslide<4->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} + \onslide<5->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} \end{tabular} \vspace{10pt} - \only<1->{ + + \onslide<6->{ \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ $a^i = 6 \qquad \Rightarrow \qquad i = 8$ \end{center} - } - \only<1->{$d(X) = (X-a^3)(X-a^8)$} + } + + \onslide<7->{$d(X) = (X-a^3)(X-a^8)$} \end{frame} %------------------------------------------------------------------------------- @@ -718,12 +722,12 @@ \begin{itemize} - \only<1->{\item $w = [5,3,6,8,2,10,2,7,1,4]$} + \onslide<1->{\item $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} - \only<1->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} + \onslide<2->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} \end{itemize} - \only<1->{ + \onslide<3->{ \[ \textcolor{gray}{ \begin{pmatrix} @@ -751,11 +755,11 @@ \end{pmatrix} \] } - \only<1->{ + \begin{itemize} - \item Fehlerstellen entfernen + \onslide<5->{\item Fehlerstellen entfernen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -767,25 +771,25 @@ \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<3->{green}{8^6}& \textcolor<3->{green}{8^7}& \textcolor<3->{green}{8^8}& \textcolor<3->{green}{8^9}\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<3->{green}{8^{12}}& \textcolor<3->{green}{8^{14}}& \textcolor<3->{green}{8^{16}}& \textcolor<3->{green}{8^{18}}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<3->{green}{8^{24}}& \textcolor<3->{green}{8^{28}}& \textcolor<3->{green}{8^{32}}& \textcolor<3->{green}{8^{36}}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<3->{green}{8^{30}}& \textcolor<3->{green}{8^{35}}& \textcolor<3->{green}{8^{40}}& \textcolor<3->{green}{8^{45}}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<3->{green}{8^{36}}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{48}}& \textcolor<3->{green}{8^{54}}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{49}}& \textcolor<3->{green}{8^{56}}& \textcolor<3->{green}{8^{63}}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<3->{green}{8^{54}}& \textcolor<3->{green}{8^{63}}& \textcolor<3->{green}{8^{72}}& \textcolor<3->{green}{8^{81}}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<4->{green}{8^6}& \textcolor<4->{green}{8^7}& \textcolor<4->{green}{8^8}& \textcolor<4->{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<4->{green}{8^{12}}& \textcolor<4->{green}{8^{14}}& \textcolor<4->{green}{8^{16}}& \textcolor<4->{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<4->{green}{8^{24}}& \textcolor<4->{green}{8^{28}}& \textcolor<4->{green}{8^{32}}& \textcolor<4->{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<4->{green}{8^{30}}& \textcolor<4->{green}{8^{35}}& \textcolor<4->{green}{8^{40}}& \textcolor<4->{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<4->{green}{8^{36}}& \textcolor<4->{green}{8^{42}}& \textcolor<4->{green}{8^{48}}& \textcolor<4->{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<4->{green}{8^{42}}& \textcolor<4->{green}{8^{49}}& \textcolor<4->{green}{8^{56}}& \textcolor<4->{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<4->{green}{8^{54}}& \textcolor<4->{green}{8^{63}}& \textcolor<4->{green}{8^{72}}& \textcolor<4->{green}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor<2->{green}{m_6} \\ \textcolor<2->{green}{m_7} \\ \textcolor<2->{green}{m_8} \\ \textcolor<2->{green}{m_9} \\ \end{pmatrix} \] - \only<1->{ + \begin{itemize} - \item Nullstellen entfernen + \onslide<3->{\item Nullstellen entfernen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -793,7 +797,7 @@ \[ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<2->{red}{7} \\ \textcolor<2->{red}{4} \\ + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<3->{red}{7} \\ \textcolor<3->{red}{4} \\ \end{pmatrix} = \begin{pmatrix} @@ -803,8 +807,8 @@ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ - \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^7}& \textcolor<2->{red}{8^{14}}& \textcolor<2->{red}{8^{21}}& \textcolor<2->{red}{8^{28}}& \textcolor<2->{red}{8^{35}}\\ - \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^9}& \textcolor<2->{red}{8^{18}}& \textcolor<2->{red}{8^{27}}& \textcolor<2->{red}{8^{36}}& \textcolor<2->{red}{8^{45}}\\ + \textcolor<3->{red}{8^0}& \textcolor<3->{red}{8^7}& \textcolor<3->{red}{8^{14}}& \textcolor<3->{red}{8^{21}}& \textcolor<3->{red}{8^{28}}& \textcolor<3->{red}{8^{35}}\\ + \textcolor<3->{red}{8^0}& \textcolor<3->{red}{8^9}& \textcolor<3->{red}{8^{18}}& \textcolor<3->{red}{8^{27}}& \textcolor<3->{red}{8^{36}}& \textcolor<3->{red}{8^{45}}\\ \end{pmatrix} \cdot \begin{pmatrix} @@ -813,11 +817,11 @@ \] \vspace{5pt} - \only<1->{ + \begin{itemize} - \item Matrix in eine Quadratische Form bringen + \onslide<2->{\item Matrix in eine Quadratische Form bringen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -845,7 +849,7 @@ \vspace{5pt} \begin{itemize} - \item Matrix Invertieren + \onslide<2->{\item Matrix Invertieren} \end{itemize} \end{frame} @@ -873,9 +877,10 @@ \] \begin{center} - $\Downarrow$ + \onslide<2->{$\Downarrow$} \end{center} \[ + \onslide<3->{ \begin{pmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \end{pmatrix} @@ -892,6 +897,7 @@ \begin{pmatrix} 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \end{pmatrix} + } \] \end{frame} @@ -919,7 +925,7 @@ \] \begin{itemize} - \item $m = [4,7,2,5,8,1]$ + \onslide<2->{\item $m = [4,7,2,5,8,1]$} \end{itemize} \end{frame} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.tex b/buch/papers/reedsolomon/RS presentation/RS_handout.tex new file mode 100644 index 0000000..863b3a2 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.tex @@ -0,0 +1,921 @@ +\documentclass[11pt,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[ngerman]{babel} +\usepackage{tikz} +\usetheme{Hannover} + +\begin{document} + \author{Joshua Bär und Michael Steiner} + \title{Reed-Solomon-Code} + \subtitle{} + \logo{} + \institute{OST Ostschweizer Fachhochschule} + \date{26.04.2021} + \subject{Mathematisches Seminar} + %\setbeamercovered{transparent} + \setbeamercovered{invisible} + \setbeamertemplate{navigation symbols}{} + \begin{frame}[plain] + \maketitle + \end{frame} +%------------------------------------------------------------------------------- +\section{Einführung} + \begin{frame} + \frametitle{Reed-Solomon-Code:} + \begin{itemize} + \visible<1->{\item Für Übertragung von Daten} + \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} + \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \end{itemize} + \end{frame} +%------------------------------------------------------------------------------- +\section{Polynom Ansatz} + \begin{frame} + \begin{itemize} + \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Beispiel} + Übertragen von + ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + + \only<1>{ + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<2>{ + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + Nutzlas & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ +\visible<1->{3}& +\visible<1->{3}& +\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ + &&\\ +\visible<1->{$k$} & +\visible<1->{$t$} & +\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ + \hline + &&\\ + &&\\ + \multicolumn{3}{l} { + \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + } + \end{tabular} + \end{center} + \end{frame} + +%------------------------------------------------------------------------------- + +\section{Diskrete Fourier Transformation} + \begin{frame} + \frametitle{Idee} + \begin{itemize} + \item Fourier-transformieren + \item Übertragung + \item Rücktransformieren + \end{itemize} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \begin{figure} + \only<1>{ + \includegraphics[width=0.9\linewidth]{images/fig1.pdf} + } + \only<2>{ + \includegraphics[width=0.9\linewidth]{images/fig2.pdf} + } + \only<3>{ + \includegraphics[width=0.9\linewidth]{images/fig3.pdf} + } + \only<4>{ + \includegraphics[width=0.9\linewidth]{images/fig4.pdf} + } + \only<5>{ + \includegraphics[width=0.9\linewidth]{images/fig5.pdf} + } + \only<6>{ + \includegraphics[width=0.9\linewidth]{images/fig6.pdf} + } + \only<7>{ + \includegraphics[width=0.9\linewidth]{images/fig7.pdf} + } + \end{figure} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + \begin{itemize} + \item Diskrete Fourier-Transformation gegeben durch: + \visible<1->{ + \[ + \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} + \]} + \visible<2->{ + \item Ersetzte + \[ + w = e^{-\frac{2\pi j}{N} k} + \]} + \visible<3->{ + \item Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \]} + \end{itemize} + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + \[ + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = \frac{1}{N} + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^{N-1} \\ + w^0 & w^2 &w^4 & \dots &w^{2(N-1)} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{f_0} \\ + \textcolor{blue}{f_1} \\ + \textcolor{blue}{f_2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} + \] + \end{frame} +%------------------------------------------------------------------------------- + + \begin{frame} + \frametitle{Probleme und Fragen} + + Wie wird der Fehler lokalisiert? + \visible<2>{ + \newline + Indem in einem endlichen Körper gerechnet wird. + } + \end{frame} + +%------------------------------------------------------------------------------- + + +\section{Reed-Solomon in Endlichen Körpern} + + \begin{frame} + \frametitle{Reed-Solomon in Endlichen Körpern} + + \begin{itemize} + \item Warum endliche Körper? + + \qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler + + \qquad digitale Fehlerkorrektur + + %\onslide<4->{\qquad bessere Laufzeit} + + \vspace{10pt} + + \item Nachricht = Nutzdaten + Fehlerkorrekturteil + + \vspace{10pt} + + \item aus Fehlerkorrekturteil die Fehlerstellen finden + + \qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom + +% \vspace{10pt} + +% \onslide<1->{\item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die fehlerhaften Stellen beinhaltet} + +% Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet + + \end{itemize} + +% TODO + +% erklärung und einführung der endlichen körper, was wollen wir erreichen? + +% wir versenden im endefekt mehr daten als unsere nachricht umfasst, damit die korrektur sichergestellt werden kann + +% sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Definition eines Beispiels} + + \begin{itemize} + + \item endlicher Körper $q = 11$ + + ist eine Primzahl + + beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$ + + \vspace{10pt} + + \item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen + + $n = q - 1 = 10$ Zahlen + + \vspace{10pt} + + \item Max.~Fehler $t = 2$ + + maximale Anzahl von Fehler, die wir noch korrigieren können + + \vspace{10pt} + + \item Nutzlast $k = n -2t = 6$ Zahlen + + Fehlerkorrkturstellen $2t = 4$ Zahlen + + Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$ + + als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Codierung eines Beispiels} + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation + + \vspace{10pt} + + \item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$ + + \vspace{10pt} + + \item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken + + $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$ + + \vspace{10pt} + + \item Wir wählen $a = 8$ + + $\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$ + + $8$ ist eine primitive Einheitswurzel + + \vspace{10pt} + + \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + + $\Rightarrow$ \qquad können wir auch als Matrix schreiben + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Übertragungsvektor $v$ + + \item $v = A \cdot m$ + + \end{itemize} + + \[ + v = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $v = [5,3,6,5,2,10,2,7,10,4]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Decodierung ohne Fehler} + \begin{frame} + \frametitle{Decodierung ohne Fehler} + + \begin{itemize} + \item Der Empfänger erhält den unveränderten Vektor $v = [5,3,6,5,2,10,2,7,10,4]$ + + \vspace{10pt} + + \item Wir suchen die Inverse der Matrix $A$ + + \vspace{10pt} + + \end{itemize} + + \begin{columns}[t] + \begin{column}{0.55\textwidth} + Inverse der Fouriertransformation + \vspace{10pt} + + \[ + F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt + \] + + \vspace{10pt} + + \[ + \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \] + + \end{column} + \begin{column}{0.45\textwidth} + Inverse von $a$ + + \vspace{10pt} + + \[ + 8^{1} \Rightarrow 8^{-1} + \] + + Inverse finden wir über den Eulkidischen Algorithmus + \vspace{10pt} + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Recap aus der Vorlesung: + + Gegeben $a \in \mathbb{F}_p$, finde $b = a^{-1} \in \mathbb{F}_p$ + + \begin{tabular}{rcl} + $a b$ &$\equiv$& $1 \mod p$\\ + $a b$ &$=$& $1 + n p$\\ + $a b - n p$ &$=$& $1$\\ + &&\\ + $\operatorname{ggT}(a,p)$&$=$& $1$\\ + $sa + tp$&$=$& $1$\\ + $b$&$=$&$s$\\ + $n$&$=$&$-t$ + \end{tabular} + + \end{column} + \begin{column}{0.50\textwidth} + + \begin{center} + + \begin{tabular}{| c | c c | c | r r |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& \textcolor{blue}{$-4$}& \textcolor{red}{$3$}\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline + \end{tabular} + + + \vspace{10pt} + + \begin{tabular}{rcl} + $\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + + \end{tabular} + + \end{center} + + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung mit Inverser Matrix} + + \begin{itemize} + \item $v = [5,3,6,5,2,10,2,7,10,4]$ + + \item $m = 1/10 \cdot A^{-1} \cdot v$ + + \item $m = 10 \cdot A^{-1} \cdot v$ + + \end{itemize} + + \[ + m = 10 \cdot \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Decodierung mit Fehler} + \begin{frame} + \frametitle{Decodierung mit Fehler - Ansatz} + + \begin{itemize} + \item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$ + + \item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$ + + \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$ + + \end{itemize} + + Wie finden wir die Fehler? + + \begin{itemize} + \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + + \item $e(X) = r(X) - m(X)$ + + \end{itemize} + + \begin{center} + + \begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline + \end{tabular} + + \end{center} + + \begin{itemize} + \item Alle Stellen, die nicht Null sind, sind Fehler + \end{itemize} + + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + + \vspace{10pt} + + $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + + $= d(X) \cdot e(X)$ + + \vspace{10pt} + + \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Kennen wir $e(X)$?} + + \begin{itemize} + + \item $e(X)$ ist unbekannt auf der Empfängerseite + + \vspace{10pt} + + \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + + \vspace{10pt} + + \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + + \vspace{10pt} + + \item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + + \vspace{10pt} + + \item $f(X) = X^{10} - 1 = X^{10} + 10$ + + \vspace{10pt} + + \item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus (nochmal)} + + $\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$ + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ + \end{array} + \] + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ + \end{array} + \] + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + + \vspace{10pt} + + $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Erweiterte Euklidische Algorithmus} + + \begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & \textcolor{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ + \hline + \end{tabular} + + \end{center} + + \vspace{10pt} + + \begin{tabular}{ll} + Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ + Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ + Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \end{tabular} + + \vspace{10pt} + + \begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$ + \end{center} + + + $d(X) = (X-a^3)(X-a^8)$ + + \end{frame} +%------------------------------------------------------------------------------- +\section{Nachricht Rekonstruieren} + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \begin{itemize} + + \item $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$ + + \item $d(X) = (X-\textcolor{red}{a^3})(X-\textcolor{red}{a^8})$ + + \end{itemize} + + \[ + \textcolor{gray}{ + \begin{pmatrix} + a^0 \\ a^1 \\ a^2 \\ \textcolor{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor{red}{a^8} \\ a^9 \\ + \end{pmatrix}} + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor{red}{1} \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^3}& \textcolor{red}{8^6}& \textcolor{red}{8^9}& \textcolor{red}{8^{12}}& \textcolor{red}{8^{15}}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{27}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^8}& \textcolor{red}{8^{16}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{32}}& \textcolor{red}{8^{40}}& \textcolor{red}{8^{48}}& \textcolor{red}{8^{56}}& \textcolor{red}{8^{64}}& \textcolor{red}{8^{72}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Fehlerstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Nullstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^7}& \textcolor{red}{8^{14}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{28}}& \textcolor{red}{8^{35}}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^9}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{27}}& \textcolor{red}{8^{36}}& \textcolor{red}{8^{45}}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix in eine Quadratische Form bringen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix Invertieren + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \begin{center} + $\Downarrow$ + \end{center} + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + +\end{document} -- cgit v1.2.1 From df810d1315cfb1c4b876d5145846d6ea70753141 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Sat, 24 Apr 2021 15:27:05 +0200 Subject: Handout animation deleted --- .../reedsolomon/RS presentation/RS_handout.aux | 143 +++ .../reedsolomon/RS presentation/RS_handout.log | 1198 ++++++++++++++++++++ .../reedsolomon/RS presentation/RS_handout.nav | 85 ++ .../reedsolomon/RS presentation/RS_handout.out | 8 + .../reedsolomon/RS presentation/RS_handout.pdf | Bin 0 -> 172860 bytes .../reedsolomon/RS presentation/RS_handout.snm | 1 + .../RS presentation/RS_handout.synctex.gz | Bin 0 -> 132775 bytes .../reedsolomon/RS presentation/RS_handout.tex | 58 +- .../reedsolomon/RS presentation/RS_handout.toc | 9 + 9 files changed, 1466 insertions(+), 36 deletions(-) create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.aux create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.log create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.nav create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.out create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.snm create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.toc (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.aux b/buch/papers/reedsolomon/RS presentation/RS_handout.aux new file mode 100644 index 0000000..41ccfb5 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.aux @@ -0,0 +1,143 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand*\HyPL@Entry[1]{} +\bbl@beforestart +\catcode `"\active +\HyPL@Entry{0<>} +\babel@aux{ngerman}{} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} +\HyPL@Entry{1<>} +\@writefile{toc}{\beamer@sectionintoc {1}{Einführung}{2}{0}{1}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} +\HyPL@Entry{2<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} +\HyPL@Entry{3<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/4}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {4}{4}}} +\HyPL@Entry{4<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{5}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{4}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{5}{Diskrete Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{5/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{6/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{12}}} +\HyPL@Entry{12<>} +\@writefile{snm}{\beamer@slide {ft_discrete}{13}} +\newlabel{ft_discrete}{{7}{13}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{3}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{4}{14/14}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{14}}} +\HyPL@Entry{14<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{5}{15/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} +\HyPL@Entry{15<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{16}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {5}{15}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {5}{15}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{16}{Reed-Solomon in Endlichen Körpern}{0}}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{16/16}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} +\HyPL@Entry{16<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{17/17}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} +\HyPL@Entry{17<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Codierung eines Beispiels}{18}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {16}{17}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {16}{17}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Codierung eines Beispiels}{18}{Codierung eines Beispiels}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{18/18}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {18}{18}}} +\HyPL@Entry{18<>} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{2}{19/19}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {19}{19}}} +\HyPL@Entry{19<>} +\@writefile{toc}{\beamer@sectionintoc {6}{Decodierung ohne Fehler}{20}{0}{6}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {18}{19}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {18}{19}}} +\@writefile{nav}{\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{20}{Decodierung ohne Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{1}{20/20}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {20}{20}}} +\HyPL@Entry{20<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{2}{21/21}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} +\HyPL@Entry{21<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{3}{22/22}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {22}{22}}} +\HyPL@Entry{22<>} +\@writefile{toc}{\beamer@sectionintoc {7}{Decodierung mit Fehler}{23}{0}{7}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {20}{22}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {20}{22}}} +\@writefile{nav}{\headcommand {\sectionentry {7}{Decodierung mit Fehler}{23}{Decodierung mit Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{1}{23/23}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {23}{23}}} +\HyPL@Entry{23<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{2}{24/24}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {24}{24}}} +\HyPL@Entry{24<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{3}{25/25}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {25}{25}}} +\HyPL@Entry{25<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{4}{26/26}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {26}{26}}} +\HyPL@Entry{26<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{5}{27/27}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}} +\HyPL@Entry{27<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{6}{28/28}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {28}{28}}} +\HyPL@Entry{28<>} +\@writefile{toc}{\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{29}{0}{8}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {23}{28}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {23}{28}}} +\@writefile{nav}{\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{29}{Nachricht Rekonstruieren}{0}}} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{1}{29/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {29}{29}}} +\HyPL@Entry{29<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{2}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\HyPL@Entry{30<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{3}{31/31}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} +\HyPL@Entry{31<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{4}{32/32}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {32}{32}}} +\HyPL@Entry{32<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{5}{33/33}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {33}{33}}} +\HyPL@Entry{33<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{6}{34/34}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {34}{34}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{34}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {29}{34}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {29}{34}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {34}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {28}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.log b/buch/papers/reedsolomon/RS presentation/RS_handout.log new file mode 100644 index 0000000..988a7c5 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.log @@ -0,0 +1,1198 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 24 APR 2021 15:25 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**RS_handout.tex +(./RS_handout.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls +Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count80 +) +\beamer@tempbox=\box27 +\beamer@tempcount=\count81 +\c@beamerpauses=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +\beamer@slideinframe=\count83 +\beamer@minimum=\count84 +\beamer@decode@box=\box28 +) +\beamer@commentbox=\box29 +\beamer@modecount=\count85 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +\headdp=\dimen102 +\footheight=\dimen103 +\sidebarheight=\dimen104 +\beamer@tempdim=\dimen105 +\beamer@finalheight=\dimen106 +\beamer@animht=\dimen107 +\beamer@animdp=\dimen108 +\beamer@animwd=\dimen109 +\beamer@leftmargin=\dimen110 +\beamer@rightmargin=\dimen111 +\beamer@leftsidebar=\dimen112 +\beamer@rightsidebar=\dimen113 +\beamer@boxsize=\dimen114 +\beamer@vboxoffset=\dimen115 +\beamer@descdefault=\dimen116 +\beamer@descriptionwidth=\dimen117 +\beamer@lastskip=\skip41 +\beamer@areabox=\box30 +\beamer@animcurrent=\box31 +\beamer@animshowbox=\box32 +\beamer@sectionbox=\box33 +\beamer@logobox=\box34 +\beamer@linebox=\box35 +\beamer@sectioncount=\count86 +\beamer@subsubsectionmax=\count87 +\beamer@subsectionmax=\count88 +\beamer@sectionmax=\count89 +\beamer@totalheads=\count90 +\beamer@headcounter=\count91 +\beamer@partstartpage=\count92 +\beamer@sectionstartpage=\count93 +\beamer@subsectionstartpage=\count94 +\beamer@animationtempa=\count95 +\beamer@animationtempb=\count96 +\beamer@xpos=\count97 +\beamer@ypos=\count98 +\beamer@ypos@offset=\count99 +\beamer@showpartnumber=\count100 +\beamer@currentsubsection=\count101 +\beamer@coveringdepth=\count102 +\beamer@sectionadjust=\count103 +\beamer@tocsectionnumber=\count104 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +\beamer@paperwidth=\skip42 +\beamer@paperheight=\skip43 + +(c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2018/04/16 v5.8 Page Geometry + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count105 +\Gm@cntv=\count106 +\c@Gm@tempcnt=\count107 +\Gm@bindingoffset=\dimen118 +\Gm@wd@mp=\dimen119 +\Gm@odd@mp=\dimen120 +\Gm@even@mp=\dimen121 +\Gm@layoutwidth=\dimen122 +\Gm@layoutheight=\dimen123 +\Gm@layouthoffset=\dimen124 +\Gm@layoutvoffset=\dimen125 +\Gm@dimlist=\toks15 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen126 +\Gin@req@width=\dimen127 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen128 +\pgfutil@tempdimb=\dimen129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box36 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen130 +\pgf@y=\dimen131 +\pgf@xa=\dimen132 +\pgf@ya=\dimen133 +\pgf@xb=\dimen134 +\pgf@yb=\dimen135 +\pgf@xc=\dimen136 +\pgf@yc=\dimen137 +\pgf@xd=\dimen138 +\pgf@yd=\dimen139 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count108 +\c@pgf@countb=\count109 +\c@pgf@countc=\count110 +\c@pgf@countd=\count111 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count112 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count113 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count114 +\pgfsyssoftpath@bigbuffer@items=\count115 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen140 +\pgfmath@count=\count116 +\pgfmath@box=\box37 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count117 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen141 +\pgf@picmaxx=\dimen142 +\pgf@picminy=\dimen143 +\pgf@picmaxy=\dimen144 +\pgf@pathminx=\dimen145 +\pgf@pathmaxx=\dimen146 +\pgf@pathminy=\dimen147 +\pgf@pathmaxy=\dimen148 +\pgf@xx=\dimen149 +\pgf@xy=\dimen150 +\pgf@yx=\dimen151 +\pgf@yy=\dimen152 +\pgf@zx=\dimen153 +\pgf@zy=\dimen154 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen155 +\pgf@path@lasty=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen157 +\pgf@shorten@start@additional=\dimen158 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box38 +\pgf@hbox=\box39 +\pgf@layerbox@main=\box40 +\pgf@picture@serial@count=\count118 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen159 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen160 +\pgf@pt@y=\dimen161 +\pgf@pt@temp=\dimen162 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen163 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen164 +\pgf@sys@shading@range@num=\count119 +\pgf@shadingcount=\count120 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box41 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +Package: xxcolor 2003/10/24 ver 0.1 +\XC@nummixins=\count121 +\XC@countmixins=\count122 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +)) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2019/09/28 v7.00a Hypertext links for LaTeX + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: pdfTeX >= 1.30 not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen165 +\Hy@linkcounter=\count123 +\Hy@pagecounter=\count124 + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2019/09/28 v7.00a Hyperref: PDFDocEncoding definition (HO) +) +\Hy@SavedSpaceFactor=\count125 + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `bookmarks' set `true' on input line 4414. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4414. +Package hyperref Info: Option `implicit' set `false' on input line 4414. +Package hyperref Info: Hyper figures OFF on input line 4540. +Package hyperref Info: Link nesting OFF on input line 4545. +Package hyperref Info: Hyper index ON on input line 4548. +Package hyperref Info: Plain pages OFF on input line 4555. +Package hyperref Info: Backreferencing OFF on input line 4560. +Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. +Package hyperref Info: Bookmarks ON on input line 4793. +\c@Hy@tempcnt=\count126 + +(c:/texlive/2019/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5152. +\XeTeXLinkMargin=\dimen166 +\Fld@menulength=\count127 +\Field@Width=\dimen167 +\Fld@charsize=\dimen168 +Package hyperref Info: Hyper figures OFF on input line 6423. +Package hyperref Info: Link nesting OFF on input line 6428. +Package hyperref Info: Hyper index ON on input line 6431. +Package hyperref Info: backreferencing OFF on input line 6438. +Package hyperref Info: Link coloring OFF on input line 6443. +Package hyperref Info: Link coloring with OCG OFF on input line 6448. +Package hyperref Info: PDF/A mode OFF on input line 6453. +LaTeX Info: Redefining \ref on input line 6493. +LaTeX Info: Redefining \pageref on input line 6497. +\Hy@abspage=\count128 + + +Package hyperref Message: Stopped early. + +) +Package hyperref Info: Driver (autodetected): hxetex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2019/09/28 v7.00a Hyperref driver for XeTeX + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2019/09/28 v7.00a Hyperref: PDF Unicode definition (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty +Package: stringenc 2016/05/16 v1.11 Convert strings between diff. encodings (HO +) +) +\pdfm@box=\box42 +\c@Hy@AnnotLevel=\count129 +\HyField@AnnotCount=\count130 +\Fld@listcount=\count131 +\c@bookmark@seq@number=\count132 + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +)) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-ascii-print.def +File: se-ascii-print.def 2016/05/16 v1.11 stringenc: Printable ASCII characters + +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks26 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(c:/texlive/2019/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +Package: sansmathaccent 2013/03/28 + +(c:/texlive/2019/texmf-dist/tex/latex/filehook/filehook.sty +Package: filehook 2019/10/03 v0.6 Hooks for input files +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator.sty +Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +\beamer@argscount=\count133 +\beamer@lastskipcover=\skip44 +\beamer@trivlistdepth=\count134 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty +\c@lecture=\count135 +\c@part=\count136 +\c@section=\count137 +\c@subsection=\count138 +\c@subsubsection=\count139 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +\beamer@framebox=\box43 +\beamer@frametitlebox=\box44 +\beamer@zoombox=\box45 +\beamer@zoomcount=\count140 +\beamer@zoomframecount=\count141 +\beamer@frametextheight=\dimen169 +\c@subsectionslide=\count142 +\beamer@frametopskip=\skip45 +\beamer@framebottomskip=\skip46 +\beamer@frametopskipautobreak=\skip47 +\beamer@framebottomskipautobreak=\skip48 +\beamer@envbody=\toks27 +\framewidth=\dimen170 +\c@framenumber=\count143 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +\beamer@verbatimfileout=\write4 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +\beamer@splitbox=\box46 +\beamer@autobreakcount=\count144 +\beamer@autobreaklastheight=\dimen171 +\beamer@frametitletoks=\toks28 +\beamer@framesubtitletoks=\toks29 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +\beamer@footins=\box47 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +\beamer@frameboxcopy=\box48 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +\beamer@sbttoks=\toks30 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +\bmb@box=\box49 +\bmb@colorbox=\box50 +\bmb@boxshadow=\box51 +\bmb@boxshadowball=\box52 +\bmb@boxshadowballlarge=\box53 +\bmb@temp=\dimen172 +\bmb@dima=\dimen173 +\bmb@dimb=\dimen174 +\bmb@prevheight=\dimen175 +) +\beamer@blockheadheight=\dimen176 +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +(c:/texlive/2019/texmf-dist/tex/latex/tools/enumerate.sty +Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) +\@enLab=\toks31 +) +\c@figure=\count145 +\c@table=\count146 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +\beamer@section@min@dim=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks32 +\ex@=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen179 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count147 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count148 +\leftroot@=\count149 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count150 +\DOTSCASE@=\count151 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box54 +\strutbox@=\box55 +\big@size=\dimen180 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count152 +\c@MaxMatrixCols=\count153 +\dotsspace@=\muskip11 +\c@parentequation=\count154 +\dspbrk@lvl=\count155 +\tag@help=\toks33 +\row@=\count156 +\column@=\count157 +\maxfields@=\count158 +\andhelp@=\toks34 +\eqnshift@=\dimen181 +\alignsep@=\dimen182 +\tagshift@=\dimen183 +\tagwidth@=\dimen184 +\totwidth@=\dimen185 +\lineht@=\dimen186 +\@envbody=\toks35 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks36 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2017/10/31 v2.20.4 +\thm@style=\toks37 +\thm@bodyfont=\toks38 +\thm@headfont=\toks39 +\thm@notefont=\toks40 +\thm@headpunct=\toks41 +\thm@preskip=\skip54 +\thm@postskip=\skip55 +\thm@headsep=\skip56 +\dth@everypar=\toks42 +) +\c@theorem=\count159 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty +\beamer@dima=\dimen187 +\beamer@dimb=\dimen188 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) +(c:/texlive/2019/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks43 +\inpenc@posthook=\toks44 + + +Package inputenc Warning: inputenc package ignored with utf8 based engines. + +) (c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + +(c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +05. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +)) +(c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2019/10/15 3.35 The Babel package + +(c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2019/10/15 3.35 Babel switching mechanism +) +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra +phy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr +aphy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2019/10/15 3.35 Babel common definitions +\babel@savecnt=\count160 +\U@D=\dimen189 + +(c:/texlive/2019/texmf-dist/tex/generic/babel/xebabel.def +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def)) +LaTeX Info: Redefining \textlatin on input line 2185. +\bbl@dirlevel=\count161 +) +Package babel Info: Making " an active character on input line 121. +))) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box56 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen190 +\pgf@nodesepend=\dimen191 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen192 +\pgffor@skip=\dimen193 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count162 +\pgfplotmarksize=\dimen194 +) +\tikz@lastx=\dimen195 +\tikz@lasty=\dimen196 +\tikz@lastxsaved=\dimen197 +\tikz@lastysaved=\dimen198 +\tikz@lastmovetox=\dimen199 +\tikz@lastmovetoy=\dimen256 +\tikzleveldistance=\dimen257 +\tikzsiblingdistance=\dimen258 +\tikz@figbox=\box57 +\tikz@figbox@bg=\box58 +\tikz@tempbox=\box59 +\tikz@tempbox@bg=\box60 +\tikztreelevel=\count163 +\tikznumberofchildren=\count164 +\tikznumberofcurrentchild=\count165 +\tikz@fig@count=\count166 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count167 +\pgfmatrixcurrentcolumn=\count168 +\pgf@matrix@numberofcolumns=\count169 +) +\tikz@expandcount=\count170 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen259 +\beamer@headheight=\dimen260 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) +(./RS_handout.aux) +\openout1 = `RS_handout.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +*geometry* driver: auto-detecting +*geometry* detected driver: xetex +*geometry* verbose mode - [ preamble ] result: +* driver: xetex +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(59.22636pt, 381.79135pt, 14.22636pt) +* v-part:(T,H,B)=(0.0pt, 256.0748pt, 0.0pt) +* \paperwidth=455.24408pt +* \paperheight=256.0748pt +* \textwidth=381.79135pt +* \textheight=227.62207pt +* \oddsidemargin=-13.04362pt +* \evensidemargin=-13.04362pt +* \topmargin=-72.26999pt +* \headheight=14.22636pt +* \headsep=0.0pt +* \topskip=11.0pt +* \footskip=14.22636pt +* \marginparwidth=4.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +ABD: EveryShipout initializing macros +\AtBeginShipoutBox=\box61 +Package hyperref Info: Link coloring OFF on input line 9. + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count171 +) +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. + +(./RS_handout.out) (./RS_handout.out) +\@outlinefile=\write5 +\openout5 = `RS_handout.out'. + +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 9. +\symnumbers=\mathgroup6 +\sympureletters=\mathgroup7 +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 9. + +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En +glish.dict +Dictionary: translator-basic-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-bibliography-dictio +nary-English.dict +Dictionary: translator-bibliography-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-environment-diction +ary-English.dict +Dictionary: translator-environment-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-months-dictionary-E +nglish.dict +Dictionary: translator-months-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-numbers-dictionary- +English.dict +Dictionary: translator-numbers-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-theorem-dictionary- +English.dict +Dictionary: translator-theorem-dictionary, Language: English +) (./RS_handout.nav) + +Package hyperref Warning: Option `pdfauthor' has already been used, +(hyperref) setting the option has no effect on input line 10. + + +Package hyperref Warning: Option `pdfsubject' has already been used, +(hyperref) setting the option has no effect on input line 16. + +[1 + +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +32. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +2. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +32. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +32. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 32. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 32. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 32. +LaTeX Font Info: Trying to load font information for U+msa on input line 32. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 32. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. + [2 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [3 + +] [4 + +] [5 + +] +File: images/fig1.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[6 + +] +File: images/fig2.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[7 + +] +File: images/fig3.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[8 + +] +File: images/fig4.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[9 + +] +File: images/fig5.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[10 + +] +File: images/fig6.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[11 + +] +File: images/fig7.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[12 + +] [13 + +] [14 + +] [15 + +] [16 + +] [17 + +] +LaTeX Font Info: Trying to load font information for T1+lmr on input line 28 +6. + (c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) [18 + +] [19 + +] +LaTeX Font Info: Trying to load font information for U+euf on input line 368 +. + (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/ueuf.fd +File: ueuf.fd 2013/01/14 v3.01 Euler Fraktur +) [20 + +] +[21 + +] [22 + +] [23 + +] [24 + +] [25 + +] +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <14.4> on input line 618. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 618. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <14.4> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <7> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. + [26 + +] +Overfull \hbox (2.91844pt too wide) detected at line 653 +[] + [] + +[27 + +] [28 + +] [29 + +] [30 + +] [31 + +] [32 + +] [33 + +] [34 + +] +\tf@nav=\write6 +\openout6 = `RS_handout.nav'. + +\tf@toc=\write7 +\openout7 = `RS_handout.toc'. + +\tf@snm=\write8 +\openout8 = `RS_handout.snm'. + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 907. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 907. + (./RS_handout.aux) +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 907. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 907. +Package rerunfilecheck Info: File `RS_handout.out' has not changed. +(rerunfilecheck) Checksum: CBEDF1F633104E8EE4EB074E401487DA. + ) +Here is how much of TeX's memory you used: + 24519 strings out of 492483 + 453771 string characters out of 6132858 + 551669 words of memory out of 5000000 + 28480 multiletter control sequences out of 15000+600000 + 82614 words of font info for 73 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 58i,15n,61p,804b,549s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on RS_handout.pdf (34 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.nav b/buch/papers/reedsolomon/RS presentation/RS_handout.nav new file mode 100644 index 0000000..b6e8a36 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.nav @@ -0,0 +1,85 @@ +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\headcommand {\beamer@framepages {1}{1}} +\headcommand {\beamer@sectionpages {1}{1}} +\headcommand {\beamer@subsectionpages {1}{1}} +\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} +\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} +\headcommand {\beamer@framepages {2}{2}} +\headcommand {\beamer@sectionpages {2}{2}} +\headcommand {\beamer@subsectionpages {2}{2}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} +\headcommand {\beamer@framepages {3}{3}} +\headcommand {\slideentry {2}{0}{2}{4/4}{}{0}} +\headcommand {\beamer@framepages {4}{4}} +\headcommand {\beamer@sectionpages {3}{4}} +\headcommand {\beamer@subsectionpages {3}{4}} +\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{5}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{5/5}{}{0}} +\headcommand {\beamer@framepages {5}{5}} +\headcommand {\slideentry {3}{0}{2}{6/12}{}{0}} +\headcommand {\beamer@framepages {6}{12}} +\headcommand {\slideentry {3}{0}{3}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {3}{0}{4}{14/14}{}{0}} +\headcommand {\beamer@framepages {14}{14}} +\headcommand {\slideentry {3}{0}{5}{15/15}{}{0}} +\headcommand {\beamer@framepages {15}{15}} +\headcommand {\beamer@sectionpages {5}{15}} +\headcommand {\beamer@subsectionpages {5}{15}} +\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{16}{Reed-Solomon in Endlichen Körpern}{0}} +\headcommand {\slideentry {4}{0}{1}{16/16}{}{0}} +\headcommand {\beamer@framepages {16}{16}} +\headcommand {\slideentry {4}{0}{2}{17/17}{}{0}} +\headcommand {\beamer@framepages {17}{17}} +\headcommand {\beamer@sectionpages {16}{17}} +\headcommand {\beamer@subsectionpages {16}{17}} +\headcommand {\sectionentry {5}{Codierung eines Beispiels}{18}{Codierung eines Beispiels}{0}} +\headcommand {\slideentry {5}{0}{1}{18/18}{}{0}} +\headcommand {\beamer@framepages {18}{18}} +\headcommand {\slideentry {5}{0}{2}{19/19}{}{0}} +\headcommand {\beamer@framepages {19}{19}} +\headcommand {\beamer@sectionpages {18}{19}} +\headcommand {\beamer@subsectionpages {18}{19}} +\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{20}{Decodierung ohne Fehler}{0}} +\headcommand {\slideentry {6}{0}{1}{20/20}{}{0}} +\headcommand {\beamer@framepages {20}{20}} +\headcommand {\slideentry {6}{0}{2}{21/21}{}{0}} +\headcommand {\beamer@framepages {21}{21}} +\headcommand {\slideentry {6}{0}{3}{22/22}{}{0}} +\headcommand {\beamer@framepages {22}{22}} +\headcommand {\beamer@sectionpages {20}{22}} +\headcommand {\beamer@subsectionpages {20}{22}} +\headcommand {\sectionentry {7}{Decodierung mit Fehler}{23}{Decodierung mit Fehler}{0}} +\headcommand {\slideentry {7}{0}{1}{23/23}{}{0}} +\headcommand {\beamer@framepages {23}{23}} +\headcommand {\slideentry {7}{0}{2}{24/24}{}{0}} +\headcommand {\beamer@framepages {24}{24}} +\headcommand {\slideentry {7}{0}{3}{25/25}{}{0}} +\headcommand {\beamer@framepages {25}{25}} +\headcommand {\slideentry {7}{0}{4}{26/26}{}{0}} +\headcommand {\beamer@framepages {26}{26}} +\headcommand {\slideentry {7}{0}{5}{27/27}{}{0}} +\headcommand {\beamer@framepages {27}{27}} +\headcommand {\slideentry {7}{0}{6}{28/28}{}{0}} +\headcommand {\beamer@framepages {28}{28}} +\headcommand {\beamer@sectionpages {23}{28}} +\headcommand {\beamer@subsectionpages {23}{28}} +\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{29}{Nachricht Rekonstruieren}{0}} +\headcommand {\slideentry {8}{0}{1}{29/29}{}{0}} +\headcommand {\beamer@framepages {29}{29}} +\headcommand {\slideentry {8}{0}{2}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\slideentry {8}{0}{3}{31/31}{}{0}} +\headcommand {\beamer@framepages {31}{31}} +\headcommand {\slideentry {8}{0}{4}{32/32}{}{0}} +\headcommand {\beamer@framepages {32}{32}} +\headcommand {\slideentry {8}{0}{5}{33/33}{}{0}} +\headcommand {\beamer@framepages {33}{33}} +\headcommand {\slideentry {8}{0}{6}{34/34}{}{0}} +\headcommand {\beamer@framepages {34}{34}} +\headcommand {\beamer@partpages {1}{34}} +\headcommand {\beamer@subsectionpages {29}{34}} +\headcommand {\beamer@sectionpages {29}{34}} +\headcommand {\beamer@documentpages {34}} +\headcommand {\gdef \inserttotalframenumber {28}} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.out b/buch/papers/reedsolomon/RS presentation/RS_handout.out new file mode 100644 index 0000000..364319e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.out @@ -0,0 +1,8 @@ +\BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 +\BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Reed-Solomon in Endlichen Körpern}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Codierung\040eines\040Beispiels}{}% 5 +\BOOKMARK [2][]{Outline0.6}{Decodierung\040ohne\040Fehler}{}% 6 +\BOOKMARK [2][]{Outline0.7}{Decodierung\040mit\040Fehler}{}% 7 +\BOOKMARK [2][]{Outline0.8}{Nachricht\040Rekonstruieren}{}% 8 diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.pdf b/buch/papers/reedsolomon/RS presentation/RS_handout.pdf new file mode 100644 index 0000000..382049d Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS_handout.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.snm b/buch/papers/reedsolomon/RS presentation/RS_handout.snm new file mode 100644 index 0000000..1796304 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.snm @@ -0,0 +1 @@ +\beamer@slide {ft_discrete}{13} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz new file mode 100644 index 0000000..c28a28a Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.tex b/buch/papers/reedsolomon/RS presentation/RS_handout.tex index 863b3a2..1cbb6ef 100644 --- a/buch/papers/reedsolomon/RS presentation/RS_handout.tex +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.tex @@ -25,38 +25,29 @@ \begin{frame} \frametitle{Reed-Solomon-Code:} \begin{itemize} - \visible<1->{\item Für Übertragung von Daten} - \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} - \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \item Für Übertragung von Daten + \item Ermöglicht Korrektur von Übertragungsfehler + \item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc. \end{itemize} \end{frame} %------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} \begin{itemize} - \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \item $2, 1, 5$ versenden und auf 2 Fehler absichern \end{itemize} - \end{frame} - \begin{frame} \frametitle{Beispiel} Übertragen von ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - - \only<1>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} - \newline - \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \newline + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern. \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -68,18 +59,14 @@ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\visible<1->{3}& -\visible<1->{3}& -\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ + 3& 3& 9 Werte eines Polynoms vom Grad 2 \\ &&\\ -\visible<1->{$k$} & -\visible<1->{$t$} & -\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ + $k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + Ausserdem können bis zu $2t$ Fehler erkannt werden! } \end{tabular} \end{center} @@ -127,23 +114,23 @@ \frametitle{Diskrete Fourier Transformation} \begin{itemize} \item Diskrete Fourier-Transformation gegeben durch: - \visible<1->{ + \[ \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} - \]} - \visible<2->{ + \] + \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} - \]} - \visible<3->{ + \] + \item Wenn $N$ konstant: \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \]} + \] \end{itemize} \end{frame} @@ -177,10 +164,9 @@ \frametitle{Probleme und Fragen} Wie wird der Fehler lokalisiert? - \visible<2>{ \newline Indem in einem endlichen Körper gerechnet wird. - } + \end{frame} %------------------------------------------------------------------------------- diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.toc b/buch/papers/reedsolomon/RS presentation/RS_handout.toc new file mode 100644 index 0000000..ce1bdc2 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.toc @@ -0,0 +1,9 @@ +\babel@toc {ngerman}{} +\beamer@sectionintoc {1}{Einführung}{2}{0}{1} +\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{5}{0}{3} +\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{16}{0}{4} +\beamer@sectionintoc {5}{Codierung eines Beispiels}{18}{0}{5} +\beamer@sectionintoc {6}{Decodierung ohne Fehler}{20}{0}{6} +\beamer@sectionintoc {7}{Decodierung mit Fehler}{23}{0}{7} +\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{29}{0}{8} -- cgit v1.2.1 From dd7bd6ca3b6517435dfc6b740ab96f51aa15ac2e Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Sun, 16 May 2021 16:03:36 +0200 Subject: edit main.tex add chapters --- buch/papers/reedsolomon/main.tex | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 8219b63..a7485cd 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -3,7 +3,7 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:reedsolomon}} +\chapter{Reed-Solomon-Code\label{chapter:reedsolomon}} \lhead{Thema} \begin{refsection} \chapterauthor{Joshua Bär und Michael Steiner} @@ -27,10 +27,18 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. \end{itemize} +% Joshua \input{papers/reedsolomon/teil0.tex} \input{papers/reedsolomon/teil1.tex} \input{papers/reedsolomon/teil2.tex} \input{papers/reedsolomon/teil3.tex} +% Michael +\input{papers/reedsolomon/endlichekoerper} +\input{papers/reedsolomon/codebsp} +\input{papers/reedsolomon/decohnefehler} +\input{papers/reedsolomon/decmitfehler} +\input{papers/reedsolomon/rekonstruktion} + \printbibliography[heading=subbibliography] \end{refsection} -- cgit v1.2.1 From 898274b6cb5f825fe710eec58349799cdc5f6bc3 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Sun, 16 May 2021 16:04:13 +0200 Subject: create endlichekoerper.tex added chapter description --- buch/papers/reedsolomon/endlichekoerper.tex | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 buch/papers/reedsolomon/endlichekoerper.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/endlichekoerper.tex b/buch/papers/reedsolomon/endlichekoerper.tex new file mode 100644 index 0000000..8ccd918 --- /dev/null +++ b/buch/papers/reedsolomon/endlichekoerper.tex @@ -0,0 +1,23 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Reed-Solomon in Endlichen Körpern +\label{reedsolomon:section:endlichekoerper}} +\rhead{Problemstellung} + +TODO: + +Das rechnen in endlichen Körpern bietet einige Vorteile: + +\begin{itemize} + \item Konkrete Zahlen: In endlichen Körpern gibt es weder rationale noch komplexe Zahlen. Zudem beschränken sich die möglichen Rechenoperationen auf das Addieren und Multiplizieren. Somit können wir nur ganze Zahlen als Resultat erhalten. + + \item Digitale Fehlerkorrektur: lässt sich nur in endlichen Körpern umsetzen. + +\end{itemize} + +Um jetzt eine Nachricht in den endlichen Körpern zu konstruieren legen wir fest, dass diese Nachricht aus einem Nutzdatenteil und einem Fehlerkorrekturteil bestehen muss. Somit ist die zu übertragende Nachricht immer grösser als die Daten, die wir übertragen wollen. Zudem müssen wir einen Weg finden, den Fehlerkorrekturteil so aus den Nutzdaten zu berechnen, dass wir die Nutzdaten auf der Empfängerseite wieder rekonstruieren können, sollte es zu einer fehlerhaften Übertragung kommen. + +Nun stellt sich die Frage, wie wir eine Fehlerhafte Nachricht korrigieren können, ohne ihren ursprünglichen Inhalt zu kennen. Der Reed-Solomon-Code erzielt dies, indem aus dem Fehlerkorrekturteil ein sogenanntes "Lokatorpolynom" generiert werden kann. Dieses Polynom gibt dem Emfänger an, welche Stellen in der Nachricht feherhaft sind. -- cgit v1.2.1 From 46fa4763d730b1312741eefb8a2981c73389ccae Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 17 May 2021 19:32:32 +0200 Subject: update of codebsp started, restetabelle 1&2 created --- buch/papers/reedsolomon/codebsp.tex | 71 +++++++++++++++++++++++++++++++ buch/papers/reedsolomon/restetabelle1.tex | 24 +++++++++++ buch/papers/reedsolomon/restetabelle2.tex | 24 +++++++++++ 3 files changed, 119 insertions(+) create mode 100644 buch/papers/reedsolomon/codebsp.tex create mode 100644 buch/papers/reedsolomon/restetabelle1.tex create mode 100644 buch/papers/reedsolomon/restetabelle2.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex new file mode 100644 index 0000000..e9359f9 --- /dev/null +++ b/buch/papers/reedsolomon/codebsp.tex @@ -0,0 +1,71 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Codierung eines Beispiels +\label{reedsolomon:section:codebsp}} +\rhead{Koerper Festlegen} + +Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. +Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. +Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. +Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. + +% die beiden Restetabellen von F_11 +%\input{papers/reedsolomon/restetabelle1} +%\input{papers/reedsolomon/restetabelle2} + + + + + +\textbf{DUMP} + +Da Körper laut der \textcolor{red}{Definition 4.6} eine Primzahl sein muss, + + +Dieser Körper sollte jedoch über eine nullteilerfreie Restetabelle verfügen. Somit kommen nur Primzahlen als Körper in frage. + + + Für das Beispiel wählen wir die Zahl $11$. + + uns zu aller erst auf ein sochen Körper festlegen. + +Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir dies anhand eines Beispiels betrachten. + +Um die Nachfolgende Rechenwege besser zu verstehen, werden wir die einzelnen Rechenschritte anhand eines Beispiels betrachten. + + + + +Als erstes muss festgelegt werden, in welchem endlichen Körper gerechnet werden soll. +Da die Restetabelle eines Körpers nullteilerfrei sein soll, kommen so nur Primzahlen in Frage. +Für das Beispiel verwenden wir den Körper $\mathbb{F}_{11}$. So wählen wir + + +$q = 11$ + + +und beinhaltet die Zahlen + + +$Z_{11} = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]$ + +\subsection{De finibus bonorum et malorum +\label{reedsolomon:subsection:malorum}} +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. + + diff --git a/buch/papers/reedsolomon/restetabelle1.tex b/buch/papers/reedsolomon/restetabelle1.tex new file mode 100644 index 0000000..a5055c0 --- /dev/null +++ b/buch/papers/reedsolomon/restetabelle1.tex @@ -0,0 +1,24 @@ +% created by Michael Steiner +% +% Restetabelle von F_11: Addition +\begin{figure} +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline ++&0&1&2&3&4&5&6&7&8&9&10\\ +\hline +0&0&1&2&3&4&5&6&7&8&9&10\\ +1&1&2&3&4&5&6&7&8&9&10&0\\ +2&2&3&4&5&6&7&8&9&10&0&1\\ +3&3&4&5&6&7&8&9&10&0&1&2\\ +4&4&5&6&7&8&9&10&0&1&2&3\\ +5&5&6&7&8&9&10&0&1&2&3&4\\ +6&6&7&8&9&10&0&1&2&3&4&5\\ +7&7&8&9&10&0&1&2&3&4&5&6\\ +8&8&9&10&0&1&2&3&4&5&6&7\\ +9&9&10&0&1&2&3&4&5&6&7&8\\ +10&10&0&1&2&3&4&5&6&7&8&9\\ +\hline +\end{tabular} +\end{center} +\end{figure} \ No newline at end of file diff --git a/buch/papers/reedsolomon/restetabelle2.tex b/buch/papers/reedsolomon/restetabelle2.tex new file mode 100644 index 0000000..887c981 --- /dev/null +++ b/buch/papers/reedsolomon/restetabelle2.tex @@ -0,0 +1,24 @@ +% created by Michael Steiner +% +% Restetabelle von F_11: Multiplikation +\begin{figure} +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline +\cdot&0&1&2&3&4&5&6&7&8&9&10\\ +\hline +0&0&0&0&0&0&0&0&0&0&0&0\\ +1&0&1&2&3&4&5&6&7&8&9&10\\ +2&0&2&4&6&8&10&1&3&5&7&9\\ +3&0&3&6&9&1&4&7&10&2&5&8\\ +4&0&4&8&1&5&9&2&6&10&3&7\\ +5&0&5&10&4&9&3&8&2&7&1&6\\ +6&0&6&1&7&2&8&3&9&4&10&5\\ +7&0&7&3&10&6&2&9&5&1&8&4\\ +8&0&8&5&2&10&7&4&1&9&6&3\\ +9&0&9&7&5&3&1&10&8&6&4&2\\ +10&0&10&9&8&7&6&5&4&3&2&1\\ +\hline +\end{tabular} +\end{center} +\end{figure} \ No newline at end of file -- cgit v1.2.1 From 55fc006b2133da4f79eb6eb5179d584c130824a2 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 18 May 2021 18:29:59 +0200 Subject: updated codebsp.tex, created decohnefehler.tex (with blindtext) --- buch/papers/reedsolomon/codebsp.tex | 174 +++++++++++++++++++++--------- buch/papers/reedsolomon/decohnefehler.tex | 40 +++++++ 2 files changed, 161 insertions(+), 53 deletions(-) create mode 100644 buch/papers/reedsolomon/decohnefehler.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index e9359f9..5b67c43 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -11,61 +11,129 @@ Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir di Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. +Aus den Tabellen folgt auch, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen. % die beiden Restetabellen von F_11 %\input{papers/reedsolomon/restetabelle1} %\input{papers/reedsolomon/restetabelle2} - - - - -\textbf{DUMP} - -Da Körper laut der \textcolor{red}{Definition 4.6} eine Primzahl sein muss, - - -Dieser Körper sollte jedoch über eine nullteilerfreie Restetabelle verfügen. Somit kommen nur Primzahlen als Körper in frage. - - - Für das Beispiel wählen wir die Zahl $11$. - - uns zu aller erst auf ein sochen Körper festlegen. - -Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir dies anhand eines Beispiels betrachten. - -Um die Nachfolgende Rechenwege besser zu verstehen, werden wir die einzelnen Rechenschritte anhand eines Beispiels betrachten. - - - - -Als erstes muss festgelegt werden, in welchem endlichen Körper gerechnet werden soll. -Da die Restetabelle eines Körpers nullteilerfrei sein soll, kommen so nur Primzahlen in Frage. -Für das Beispiel verwenden wir den Körper $\mathbb{F}_{11}$. So wählen wir - - -$q = 11$ - - -und beinhaltet die Zahlen - - -$Z_{11} = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]$ - -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -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. - - +Die grösse des endlichen Körpers legt auch fest, wie gross unsere Nachricht $n$ bestehend aus Nutzdatenteil und Fehlerkorrekturteil sein kann und beträgt in unserem Beispiel +\[ +n = q - 1 = 10 \text{ Zahlen}. +\] + +Im nächsten Schritt bestimmen wir, wie viele Fehler $t$ maximal während der Übertragung auftreten dürfen, damit wir sie noch korrigieren können. +Unser Beispielcode sollte in der Lage sein +\[ +t = 2 +\] +Fehlerstellen korrigieren zu können. + +Die Grösse des Nutzdatenteils hängt von der Grösse der Nachricht sowie der Anzahl der Fehlerkorrekturstellen. Je robuster der Code sein muss, desto weniger Platz für Nutzdaten $k$ bleibt in der Nachricht übrig. +Bei maximal 2 Fehler können wir noch +\[ +k = n - 2t = 6\text{ Zahlen} +\] +übertragen. + +Zusammenfassend haben wir einen Codeblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten rekonstruieren kann. Zudem werden wir im weiteren feststellen, dass dieser Code maximal 4 Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. + +Wir legen nun die Nachricht +\[ +m = [0,0,0,0,4,7,2,5,8,1] +\] +fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Nullstellen für die Fehlerkorrektur zuständig sind. +Die Nachricht können wir auch als Polynom +\[ +m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 +\] +darstellen. + +\subsection{Der Ansatz der diskreten Fouriertransformation + \label{reedsolomon:subsection:diskFT}} + +In einem vorherigen Kapitel (???) haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $\mathrm{e}$ in $\mathbb{F}_{11}$ nicht existiert. +Wir suchen also eine Zahl $a^i$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. +Dazu schreiben wir +\[ +\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} +\] +um in +\[ +\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. +\] + +Wenn wir alle möglichen Werte für $a$ einsetzen, also + +%\begin{align} +%a = 0 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ +%a = 1 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\} \\ +%a = 2 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\} \\ +%a = 3 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\} \\ +%a = 4 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\} \\ +%a = 5 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\} \\ +%a = 6 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\} \\ +%a = 7 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\} \\ +%a = 8 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\} \\ +%a = 9 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\} \\ +%a = 10 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\} +%\end{align} + +\begin{center} +\begin{tabular}{c r c l} +%$a = 0 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\}$ \\ +$a = 1 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\}$ \\ +$a = 2 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\}$ \\ +$a = 3 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\}$ \\ +$a = 4 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\}$ \\ +$a = 5 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\}$ \\ +$a = 6 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\}$ \\ +$a = 7 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\}$ \\ +$a = 8 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\}$ \\ +$a = 9 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\}$ \\ +$a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ +\end{tabular} +\end{center} + +so fällt uns auf, dass die Zahlen $2,6,7,8$ tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. +Für das Beispiel wählen wir die Zahl $a^i = 8$. +Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. + +\begin{center} + \begin{tabular}{c} + $m(8^0) = 4 \cdot 1 + 7 \cdot 1 + 2 \cdot 1 + 5 \cdot 1 + 8 \cdot 1 + 1 = 5$ \\ + $m(8^1) = 4 \cdot 8 + 7 \cdot 8 + 2 \cdot 8 + 5 \cdot 8 + 8 \cdot 8 + 1 = 3$ \\ + \vdots + \end{tabular} +\end{center} + +Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unser Nachrichtenvektor, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. + +\[ +v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ +\end{pmatrix} +\] + +Somit bekommen wir für unseren Übertragungsvektor +\[ +v = [5,3,6,5,2,10,2,7,10,4], +\] +den wir jetzt über einen beliebigen Nachrichtenkanal versenden können. + +\textbf{NOTES} + +warum wird 0 weggelassen? diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex new file mode 100644 index 0000000..832d63f --- /dev/null +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -0,0 +1,40 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Decodierung ohne Fehler +\label{reedsolomon:section:decohnefehler}} +\rhead{Teil 3} +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:malorum}} +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 9c25485518e7f80050a8ee2a12b94abb009c9a58 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 18 May 2021 21:14:36 +0200 Subject: finished first final version of decohnefehler.tex --- buch/papers/reedsolomon/decohnefehler.tex | 128 ++++++++++++++++++++++-------- 1 file changed, 97 insertions(+), 31 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 832d63f..90f8ba8 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -5,36 +5,102 @@ % \section{Decodierung ohne Fehler \label{reedsolomon:section:decohnefehler}} -\rhead{Teil 3} -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:malorum}} -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. +\rhead{fehlerlose rekonstruktion} +Im ersten Teil zur Decodierung des Übertragungsvektor betrachten wir den Übertragungskanal als fehlerfrei. +Wir erhalten also unseren Übertragungsvektor +\[ +v = [5,3,6,5,2,10,2,7,10,4]. +\] +Gesucht ist nun einen Weg, mit dem wir auf unseren Nachrichtenvektor zurückrechnen können. +Ein banaler Ansatz ist das Invertieren der Glechung +\[ +v = A \cdot m \qquad \Rightarrow \qquad m = A^{-1} \cdot v. +\] +Nur stellt sich dann die Frage, wie wir auf die Inverse der Matix $A$ kommen. +Dazu können wir wiederum den Ansatz der Fouriertransformation uns zur Hilfe nehmen, +jedoch betrachten wir jetzt deren Inverse. +Definiert ist sie als +\[ +F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \qquad \Rightarrow \qquad \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega. +\] + +In unserem Fall suchen wir also eine inverse für die Primitive Einheitswurzel $a$, also +\[ +8^1 \qquad \Rightarrow \qquad 8^{-1}. +\] + +Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. + +\subsection{Der Euklidische Algorithmus +\label{reedsolomon:subsection:eukAlgo}} + +Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \textcolor{red}{4.1} ausführlich beschrieben. +Für unsere Anwendung wählen wir die Parameter $a_i = 8$ und $b_i = 11$. +Daraus erhalten wir + +\begin{center} + +\begin{tabular}{| c | c c | c | r r |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& \textcolor{blue}{$-4$}& \textcolor{red}{$3$}\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline +\end{tabular} + +\end{center} +\begin{center} + +\begin{tabular}{rcl} + $\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + +\end{tabular} + +\end{center} + +als Inverse der Primitiven Einheitswurzel. + +Nun haben wir fast alles für die Rücktransformation beisammen. Wie auch bei der Inversen Fouriertransformation haben wir nun einen Vorfaktor +\[ +m = \textcolor{red}{s} \cdot A^{-1} \cdot v +\] +den wir noch bestimmen müssen. +Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformation bestimmen und beträgt +\[ +s = \frac{1}{10}. +\] +Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. +Somit lässt sich den Nachrichtenvektor einfach bestimmen mit +\[ +m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ +\end{pmatrix} +\] +und wir erhalten +\[ +m = [0,0,0,0,4,7,2,5,8,1] +\] +als unsere Nachricht zurück. \ No newline at end of file -- cgit v1.2.1 From 5294c40d558e93a034d43846e98176291fb32692 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 14:28:24 +0200 Subject: update decohnefehler.tex, create decmitfehler.tex --- buch/papers/reedsolomon/decmitfehler.tex | 16 ++++++++++++++++ buch/papers/reedsolomon/decohnefehler.tex | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 buch/papers/reedsolomon/decmitfehler.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex new file mode 100644 index 0000000..fead10e --- /dev/null +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -0,0 +1,16 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Decodierung mit Fehler +\label{reedsolomon:section:decmitfehler}} +\rhead{fehlerhafte rekonstruktion} +moin + + +\subsection{Der Satz von Fermat +\label{reedsolomon:subsection:fermat}} +wer ist fermat? + + diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 90f8ba8..6ca577a 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -80,7 +80,7 @@ Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformat s = \frac{1}{10}. \] Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. -Somit lässt sich den Nachrichtenvektor einfach bestimmen mit +Somit lässt sich der Nachrichtenvektor einfach bestimmen mit \[ m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ -- cgit v1.2.1 From 60bfb41261f51cf20ce65a9242c2624b31d74e75 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 17:17:56 +0200 Subject: decmitfehler.tex updated --- buch/papers/reedsolomon/decmitfehler.tex | 185 ++++++++++++++++++++++++++++++- 1 file changed, 183 insertions(+), 2 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index fead10e..923c1c5 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -6,11 +6,192 @@ \section{Decodierung mit Fehler \label{reedsolomon:section:decmitfehler}} \rhead{fehlerhafte rekonstruktion} -moin +Im zweiten Teil zur Decodierung betrachten wir den Fall, dass unser Übertragungskanal nicht fehlerfrei ist. +Wir legen daher den Fehlervektor +\[ +u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] +\] +fest, den wir zu unserem Übertragungsvektor als Fehler dazu addieren und somit +\begin{center} + +\begin{tabular}{c | c r } + $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ + $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ + \hline + $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ +\end{tabular} + +% alternative design +%\begin{tabular}{c | c cccccccccccc } +% $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ +% $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ +% \hline +% $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ +%\end{tabular} + +\end{center} +als Übertragungsvektor auf der Empfängerseite erhalten. + +Wenn wir den Übertragungsvektor jetzt Rücktransformieren wie im vorherigen Kapitel erhalten wir +\[ +r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. +\] +Im Vergleich zum vorherigen Kapitel sind die Fehlerkorrekturstellen jetzt $\neq 0$, was bedeutet, dass wir diesen Übertragungsvektor fehlerhaft empfangen haben und sich die Nachricht jetzt nicht mehr so einfach decodieren lässt. + +% warum wir die fehler suchen +Da Reed-Solomon-Codes in der Lage sind, eine Nachricht aus weniger Stellen zu rekonstruieren als wir ursprünglich haben, so müssen wir nur die Fehlerhaften Stellen finden und eliminieren, damit wir unsere Nutzdaten rekonstruieren können. +Damit stellt sich die Frage, wie wir die Fehlerstellen $e$ finden. +Dafür wählen wir einen Primitiven Ansatz mit +\begin{align} + m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ + r(X) & = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7 \\ + e(X) & = r(X) - m(X). +\end{align} +Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir +\begin{center} +\begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline +\end{tabular} +\end{center} +und damit die Information, dass an allen Stellen, die nicht Null sind, Fehler enthalten. +Um jetzt alle nicht Nullstellen zu finden, wenden wir den Satz von Fermat an. \subsection{Der Satz von Fermat \label{reedsolomon:subsection:fermat}} -wer ist fermat? +Der Satz von Fermat besagt, dass für +\[ +f(X) = X^{q-1} -1 = 0 +\] +gilt, egal was wir für $q$ einsetzen. + +Für unser Beispiel erhalten wir +\[ +f(X) = X^{10}-1 = 0 \qquad \text{für } X = \{1,2,3,4,5,6,7,8,9,10\} +\] +und können $f(X)$ auch umschreiben in +\[ +f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9). +\] +Zur Überprüfung können wir unsere Einheitswurzel in $a$ einsetzen und werden sehen, dass wir für $f(X) = 0$ erhalten werden. +Nach der gleichen Überlegung können wir jetzt auch $e(X)$ darstellen als +\[ +e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) \cdot p(x), +\] +wobei $p(X)$ das Restpolynom ist und die Fehlerstellen beinhaltet. +Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen, so erhalten wir mit +\[ +\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) +\] +eine Liste von Nullstellen, an denen es keine Fehler gegeben hat. +Da wir uns jedoch für eine Liste mit Nullstellen interessieren, an denen es Fehler gegeben hat berechnen wir stattdessen das kgV von $f(X)$ und $e(X)$ als +\[ +\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9) \cdot q(X). +\] +Wir können das Resultat noch zerlegen in +\[ +\operatorname{kgV}(f(X),e(X)) = d(X) \cdot e(X). +\] +Somit muss $d(X)$ eine Liste von Nullstellen enthalten an denen es Fehler gegeben hat. +\[ +d(X) = (X-a^3)(X-a^8) +\] + + +und ist damit unser gesuchtes Lokatorpolynom. + +Das einzige Problem was jetzt noch bleibt ist, dass wir $e(X)$ berechnet haben aus +\[ +e(X) = r(X) - m(X), +\] +wobei $m(X)$ auf der Empfängerseite unbekannt ist. +Es sieht danach aus, das wir diesen Lösungsansatz nicht verwenden können, da uns ein entscheidender Teil fehlt. +Bei einer näheren Betrachtung von $m(X)$ fällt uns aber auf, dass wir doch etwas über $m(X)$ wissen. +Wir kennen nämlich die ersten vier Stellen, da diese für die Fehlerkorrektur zuständig sind und daher Null sein müssen. +\[ +m = [0,0,0,0,?,?,?,?,?,?] +\] +An genau diesen Stellen liegt auch die Information, wo unsere Fehlerstellen liegen, was uns ermöglicht, den Teil von $e(X)$ zu berechnen, der uns auch interessiert. + +Wir können $e(X)$ also bestimmen als +\[ +e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) +\] +wobei $p(X)$ wiederum ein unbekanntes Restpolynom ist und +\[ +f(X) = X^{10} - 1 = X^{10} + 10 +\] +ist können wir so in einer ersten Instanz den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen. +Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berechnen so + +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ +\end{array} +\] + +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ +\end{array} +\] +und erhalten +\[ +\operatorname{ggT}(f(X),e(X)) = 6X^8 +\] +Mit den Resultaten, die wir vom Rechenweg des grössten gemeinsamen Teiler erhalten haben können wir jetzt auch das kleinste Gemeinsame Vielfache berechnen. Eine detailliertere Vorgehensweise findet man in Kapitel ???. +Aus diesem erweiterten Euklidischen Algorithmus erhalten wir +\begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & \textcolor{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ + \hline + \end{tabular} + +\end{center} +und erhalten auf diesem Weg den Faktor +\[ +d(X) = 2X^2 + 5, +\] +den wir in +\[ +d(X) = 2(X-5)(X-6) +\] +zerlegen können. +Da die unbekannten Stellen im Lokatorpolynom +\[ +d(X) = (X-a^i)(X-a^i) +\] +sind, müssen wir nur noch $i$ berechnen als +\begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$. +\end{center} +Somit erhalten wir schliesslich +\[ +d(X) = (X-a^3)(X-a^8) +\] +als unser Lokatorpolynom mit den Fehlerhaften Stellen. \ No newline at end of file -- cgit v1.2.1 From 81527bd39cb20969fa3a84c85a843bca511dcb51 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 17:18:21 +0200 Subject: created rekonstruktion.tex --- buch/papers/reedsolomon/rekonstruktion.tex | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 buch/papers/reedsolomon/rekonstruktion.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex new file mode 100644 index 0000000..a3edba4 --- /dev/null +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -0,0 +1,40 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Nachricht Rekonstruieren +\label{reedsolomon:section:rekonstruktion}} +\rhead{Teil 3} +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:malorum}} +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 e86e0ad0e4415450a9c8b28917024ee6d0d77da5 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Fri, 28 May 2021 15:23:51 +0200 Subject: text added --- buch/papers/reedsolomon/rekonstruktion.tex | 204 ++++++++++++++++++++++++----- 1 file changed, 174 insertions(+), 30 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index a3edba4..8cb7744 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -5,36 +5,180 @@ % \section{Nachricht Rekonstruieren \label{reedsolomon:section:rekonstruktion}} -\rhead{Teil 3} -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? +\rhead{Rekonstruktion} +Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die Fehlerhaften Stellen lokalisieren können. +Mit diesen Stellen soll es uns nun möglich sein, aus dem fehlerhaften empfangenen Nachrichtenvektor wieder unsere Nachricht zu rekonstruieren. +Das Lokatorpolynom +\[ +d(X) = (X - a^3)(X-a^8) +\] +markiert dabei diese Fehlerhaften Stellen im Übertragungsvektor +\[ +w = [5,3,6,8,2,10,2,7,1,4]. +\] +Als Ausgangslage verwenden wir die Matrix, mit der wir den Nachrichtenvektor ursprünglich codiert haben. +Unser Ziel ist es wie auch schon im Kapitel X.X (Rekonstuktion ohne Fehler) eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. +Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Kapitel X.X angewendet haben. -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -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. +Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen. +\[ +\textcolor{gray}{ + \begin{pmatrix} + a^0 \\ a^1 \\ a^2 \\ \textcolor{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor{red}{a^8} \\ a^9 \\ +\end{pmatrix}} +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor{red}{1} \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^3}& \textcolor{red}{8^6}& \textcolor{red}{8^9}& \textcolor{red}{8^{12}}& \textcolor{red}{8^{15}}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{27}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^8}& \textcolor{red}{8^{16}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{32}}& \textcolor{red}{8^{40}}& \textcolor{red}{8^{48}}& \textcolor{red}{8^{56}}& \textcolor{red}{8^{64}}& \textcolor{red}{8^{72}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ +\end{pmatrix} +\] +Die rot markierten Stellen im Übertragungsvektor enthalten Fehler und bringt uns daher kein weiterer Nutzen. +Aus diesem Grund werden diese Stellen aus dem Vektor entfernt, was wir hier ohne Probleme machen können, da dieser Code ja über Fehlerkorrekturstellen verfügt, deren Aufgabe es ist, eine bestimmte Anzahl an Fehler kompensieren zu können. +Die dazugehörigen Zeilen in der Matrix werden ebenfalls entfernt, da die Matrix gleich viele Zeilen wie im Übertragungsvektor aufweisen muss, damit man ihn decodieren kann. +Daraus resultiert +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ +\end{pmatrix} +. +\] +Die Matrix ist jedoch nicht mehr quadratisch, was eine Rekonstruktion durch Inversion ausschliesst. +Um die quadratische Form wieder herzustellen müssen wir zwei Spalten aus der Matrix entfernen. +Wir kennen aber das Resultat aus den letzten vier Spalten, da wir wissen, das die Nachricht aus Nutzdatenteil und Fehlerkorrekturteil besteht, wobei der letzteres bekanntlich aus lauter Nullstellen besteht. +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ +\end{pmatrix} +\] +Wir nehmen die Entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^7}& \textcolor{red}{8^{14}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{28}}& \textcolor{red}{8^{35}}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^9}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{27}}& \textcolor{red}{8^{36}}& \textcolor{red}{8^{45}}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +. +\] +Die roten Zeilen können wir aufgrund der Überbestimmtheit ebenfalls entfernen und erhalten so die gesuchte quadratische Matrix +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +. +\] +Nun können wir den Gauss-Algorithmus anwenden um die Matrix zu Invertieren. +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} += +\begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +\qquad +\Rightarrow +\qquad +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} += +\begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} +\] +Multiplizieren wir nun aus, erhalten wir unseren Nutzdatenteil +\[ +m = [4,7,2,5,8,1] +\] +zurück, den wir ursprünglich versendet haben. -- cgit v1.2.1 From 72c6e0954eb2acd262a7db6701ed1d04bb8943c5 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 8 Jun 2021 15:34:22 +0200 Subject: created Hilfstabellen.tex, reworked codebsp.tex --- buch/papers/reedsolomon/codebsp.tex | 94 ++++++++++++++++++++++--------- buch/papers/reedsolomon/hilfstabellen.tex | 21 +++++++ 2 files changed, 87 insertions(+), 28 deletions(-) create mode 100644 buch/papers/reedsolomon/hilfstabellen.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 5b67c43..818078e 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -8,19 +8,35 @@ \rhead{Koerper Festlegen} Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. -Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. -Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. -Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. -Aus den Tabellen folgt auch, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen. +Da wir in Endlichen Körpern Rechnen werden wir zuerst solch einen Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6 (wie verweist man auf eine definition?)} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. +Wir legen für unser Beispiel den endlichen Körper mit $q = 11$ fest. +Zur Hilfestellung können dazu die beiden Tabellen \ref{reedsolomon:subsection:adtab} und +\ref{reedsolomon:subsection:mptab} hinzugezogen werden. Diese Tabellen enthalten sämtliche Resultate aller gültigen Operationen \textcolor{red}{(Notiz: nach meinem Wissen gibt es ja nur addition und multiplikation als gültige operationen)}, die in diesem Körper durchgeführt werden können. +Aus der Definition der Endlichen Körper (ersichtlich auch in den Tabellen) folgt, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur verfügung stehen und somit $11 = 0$ gelten muss. + +% OLD TEXT +%Alle folgenden Berechnungen wurden mit den beiden Restetabellen \ref{reedsolomon:subsection:adtab} und \ref{reedsolomon:subsection:mptab} durchgeführt. +%Aus den Tabellen folgt auch, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen. % die beiden Restetabellen von F_11 %\input{papers/reedsolomon/restetabelle1} %\input{papers/reedsolomon/restetabelle2} -Die grösse des endlichen Körpers legt auch fest, wie gross unsere Nachricht $n$ bestehend aus Nutzdatenteil und Fehlerkorrekturteil sein kann und beträgt in unserem Beispiel +Anhand der Menge uns zur Verfügung stehenden Zahlen wird auch festgelegt, wie viele Zahlen ein Nachrichtenblock $n$, bestehend aus Nutzdatenteil und Fehlerkorrekturteil, umfassen kann. +Der Nachrichtenblock im Beispiel besteht aus \[ -n = q - 1 = 10 \text{ Zahlen}. +n = q - 1 = 10 \text{ Zahlen}, \] +wobei die null weggelassen wird. Wenn wir versuchen würden, mit der null zu codieren, so stellen wir fest, dass wir wieder null an der gleichen Stelle erhalten und somit wäre die Codierung nicht eindeutig. + +% Notes +%Da bei allen Codes, die codiert werden wird an der gleichen Stelle eine Nullstelle auftreten. + +% Old Text +%Die grösse des endlichen Körpers legt auch fest, wie gross unsere Nachricht $n$ bestehend aus Nutzdatenteil und Fehlerkorrekturteil sein kann und beträgt in unserem Beispiel +%\[ +%n = q - 1 = 10 \text{ Zahlen}. +%\] Im nächsten Schritt bestimmen wir, wie viele Fehler $t$ maximal während der Übertragung auftreten dürfen, damit wir sie noch korrigieren können. Unser Beispielcode sollte in der Lage sein @@ -29,41 +45,63 @@ t = 2 \] Fehlerstellen korrigieren zu können. -Die Grösse des Nutzdatenteils hängt von der Grösse der Nachricht sowie der Anzahl der Fehlerkorrekturstellen. Je robuster der Code sein muss, desto weniger Platz für Nutzdaten $k$ bleibt in der Nachricht übrig. +Die Grösse des Nutzdatenteils hängt von der Grösse des Nachrichtenblocks sowie der Anzahl der Fehlerkorrekturstellen ab. Je robuster der Code sein muss, desto weniger Platz für Nutzdaten $k$ bleibt in der Nachricht übrig. Bei maximal 2 Fehler können wir noch \[ k = n - 2t = 6\text{ Zahlen} \] übertragen. -Zusammenfassend haben wir einen Codeblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten rekonstruieren kann. Zudem werden wir im weiteren feststellen, dass dieser Code maximal 4 Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. +Zusammenfassend haben wir einen Nachrichtenblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten zu rekonstruieren. Zudem werden wir im weiteren feststellen, dass dieser Code maximal vier Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. Wir legen nun die Nachricht \[ m = [0,0,0,0,4,7,2,5,8,1] \] -fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Nullstellen für die Fehlerkorrektur zuständig sind. -Die Nachricht können wir auch als Polynom +fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Stellen für die Fehlerkorrektur zuständig sind. +Solange diese Stellen vor dem Codieren und nach dem Decodieren den Wert null haben, so ist die Nachricht Fehlerfrei übertragen worden. + +Da wir in den folgenden Abschnitten mit Polynomen arbeiten, stellen wir die Nachicht auch noch als Polynom \[ m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \] -darstellen. +dar. + +% Old Text +%Die Nachricht können wir auch als Polynom +%\[ +%m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 +%\] +%darstellen. \subsection{Der Ansatz der diskreten Fouriertransformation \label{reedsolomon:subsection:diskFT}} -In einem vorherigen Kapitel (???) haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $\mathrm{e}$ in $\mathbb{F}_{11}$ nicht existiert. -Wir suchen also eine Zahl $a^i$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. -Dazu schreiben wir +In einem vorherigen Kapitel \textcolor{red}{(???)} haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $e$ in endlichen Körpern nicht existiert. +Wir legen deshalb die Zahl $a$ fest. Diese Zahl soll die gleichen aufgaben haben, wie $e^{\frac{j}{2 \pi}}$ in der Diskreten Fouriertransformation, nur mit dem Unterschied, dass $a$ in $\mathbb{F}_{11}$ existiert. Dazu soll $a$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken, um \[ \mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} \] -um in +in \[ \mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. \] - -Wenn wir alle möglichen Werte für $a$ einsetzen, also +umzuschreiben. + +Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen + +% Old Text +%Wir suchen also eine Zahl $a$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. +%Dazu schreiben wir +%\[ +%\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} +%\] +%um in +%\[ +%\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. +%\] +% +%Wenn wir alle möglichen Werte für $a$ einsetzen, also %\begin{align} %a = 0 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ @@ -94,21 +132,26 @@ $a = 9 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 9, 4, 3, 5, 1, 9, $a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ \end{tabular} \end{center} +so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. +Wenden wir diese Vorgehensweise auch für andere Endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. -so fällt uns auf, dass die Zahlen $2,6,7,8$ tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. Für das Beispiel wählen wir die Zahl $a^i = 8$. Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. \begin{center} \begin{tabular}{c} - $m(8^0) = 4 \cdot 1 + 7 \cdot 1 + 2 \cdot 1 + 5 \cdot 1 + 8 \cdot 1 + 1 = 5$ \\ - $m(8^1) = 4 \cdot 8 + 7 \cdot 8 + 2 \cdot 8 + 5 \cdot 8 + 8 \cdot 8 + 1 = 3$ \\ - \vdots + $m(8^0) = 4 \cdot 1^5 + 7 \cdot 1^4 + 2 \cdot 1^3 + 5 \cdot 1^2 + 8 \cdot 1^1 + 1 = 5$ \\ + $m(8^1) = 4 \cdot 8^5 + 7 \cdot 8^4 + 2 \cdot 8^3 + 5 \cdot 8^2 + 8 \cdot 8^1 + 1 = 3$ \\ + \vdots \\ + $m(8^9) = 4 \cdot 7^5 + 7 \cdot 7^4 + 2 \cdot 7^3 + 5 \cdot 7^2 + 8 \cdot 7^1 + 1 = 4$ \end{tabular} \end{center} -Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unser Nachrichtenvektor, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. - + +\subsection{Allgemeine Codierung + \label{reedsolomon:subsection:algCod}} + +Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unsere Nachricht, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. \[ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ @@ -127,13 +170,8 @@ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} \] - Somit bekommen wir für unseren Übertragungsvektor \[ v = [5,3,6,5,2,10,2,7,10,4], \] den wir jetzt über einen beliebigen Nachrichtenkanal versenden können. - -\textbf{NOTES} - -warum wird 0 weggelassen? diff --git a/buch/papers/reedsolomon/hilfstabellen.tex b/buch/papers/reedsolomon/hilfstabellen.tex new file mode 100644 index 0000000..10e4fd1 --- /dev/null +++ b/buch/papers/reedsolomon/hilfstabellen.tex @@ -0,0 +1,21 @@ +% +% hilfstabellen.tex +% Autor: Michael Steiner +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{$\mathbb{F}_{11}$ Hilfstabellen + \label{reedsolomon:section:hilfstabellen}} +\rhead{Hilfstabellen} + +\textbf{TODO}: gibt es eine besser darstellungsart der tabellen? (\& platzierung der subsections) + +Um das rechnen zu erleichtern findet man in diesem Abschnitt die Resultate, die bei der Addition und der Multiplikation in $\mathbb{F}_{11}$ resultieren. + +\subsection{Additionstabelle + \label{reedsolomon:subsection:adtab}} +\input{papers/reedsolomon/restetabelle1.tex} + +\subsection{Multiplikationstabelle + \label{reedsolomon:subsection:mptab}} +\input{papers/reedsolomon/restetabelle2.tex} \ No newline at end of file -- cgit v1.2.1 From d408309e04a27315a2ce8788872095334dbea183 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 8 Jun 2021 17:33:56 +0200 Subject: updated codebsp.tex and decohnefehler.tex --- buch/papers/reedsolomon/codebsp.tex | 24 ++++++++------ buch/papers/reedsolomon/decohnefehler.tex | 54 ++++++++++++++++++------------- 2 files changed, 46 insertions(+), 32 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 818078e..262297e 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -87,9 +87,6 @@ in \mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. \] umzuschreiben. - -Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen - % Old Text %Wir suchen also eine Zahl $a$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. %Dazu schreiben wir @@ -102,7 +99,6 @@ Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen %\] % %Wenn wir alle möglichen Werte für $a$ einsetzen, also - %\begin{align} %a = 0 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ %a = 1 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\} \\ @@ -117,6 +113,10 @@ Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen %a = 10 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\} %\end{align} +\subsubsection{Die primitiven Einheitswurzeln + \label{reedsolomon:subsection:primsqrt}} + +Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen \begin{center} \begin{tabular}{c r c l} %$a = 0 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\}$ \\ @@ -133,11 +133,15 @@ $a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, \end{tabular} \end{center} so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. -Wenden wir diese Vorgehensweise auch für andere Endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. +Wenden wir diese Vorgehensweise auch für andere Endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. Für das Beispiel wählen wir die Zahl $a^i = 8$. -Für das Beispiel wählen wir die Zahl $a^i = 8$. -Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. +\subsubsection{Bildung einer Transformationsmatrix + \label{reedsolomon:subsection:transMat}} +Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu Codieren. Daraus sollen wir dann einen Übertragungsvektor $v$ erhalten, den wir an den Empfänger schicken können. Für die Codierung müssen wir alle $a^i$ in das Polynom $m(X)$ einsetzen. Da wir $a^i = 8^i$ gewählt haben ergibt sich daraus +% +%Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. +% \begin{center} \begin{tabular}{c} $m(8^0) = 4 \cdot 1^5 + 7 \cdot 1^4 + 2 \cdot 1^3 + 5 \cdot 1^2 + 8 \cdot 1^1 + 1 = 5$ \\ @@ -146,12 +150,12 @@ Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetz $m(8^9) = 4 \cdot 7^5 + 7 \cdot 7^4 + 2 \cdot 7^3 + 5 \cdot 7^2 + 8 \cdot 7^1 + 1 = 4$ \end{tabular} \end{center} - +unser Übertragungsvektor. Um das ganze noch ein wenig übersichtlicher zu gestalten können wir die Polynome zu einer Matrix zusammenfassen und bildet so unsere Transformationsmatrix $A$. \subsection{Allgemeine Codierung \label{reedsolomon:subsection:algCod}} -Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unsere Nachricht, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. +Für die Codierung benötigen wir die Nachricht $m$, die Codiert werden soll sowie die Transformationsmatrix $A$. Daraus erhalten wir den Übertragungsvektor $v$. Setzen wir die Zahlen aus dem Beispiel ein erhalten wir folgende Darstellung. \[ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ @@ -170,7 +174,7 @@ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} \] -Somit bekommen wir für unseren Übertragungsvektor +Für unseren Übertragungsvektor resultiert \[ v = [5,3,6,5,2,10,2,7,10,4], \] diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 6ca577a..3b709f3 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -3,41 +3,50 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Decodierung ohne Fehler +\section{Decodierung: Ansatz ohne Fehler \label{reedsolomon:section:decohnefehler}} \rhead{fehlerlose rekonstruktion} -Im ersten Teil zur Decodierung des Übertragungsvektor betrachten wir den Übertragungskanal als fehlerfrei. -Wir erhalten also unseren Übertragungsvektor + +In diesem Abschnitt betrachten wie die Überlegung, wie wir auf der Empfängerseite die Nachricht aus dem empfangenen Übertragungsvektor erhalten. Nach einer einfachen Überlegung müssen wir den Übertragungsvektor decodieren, was auf den ersten Blick nicht allzu kompliziert sein sollte, solange wir davon ausgehen können, dass es während der Übertragung keine Fehler gegeben hat. Wir betrachten deshalb den Übertragungskanal als fehlerfrei. + +Der Übertragungsvektor empfangen wir also als \[ v = [5,3,6,5,2,10,2,7,10,4]. \] - -Gesucht ist nun einen Weg, mit dem wir auf unseren Nachrichtenvektor zurückrechnen können. -Ein banaler Ansatz ist das Invertieren der Glechung +% Old Text +%Im ersten Teil zur Decodierung des Übertragungsvektor betrachten wir den Übertragungskanal als fehlerfrei. +%Wir erhalten also unseren Übertragungsvektor +%\[ +%v = [5,3,6,5,2,10,2,7,10,4]. +%\] +Nach einem banalen Ansatz ist die Decodierung die Inverse der Codierung. Dank der Matrixschreibweise lässt sich dies relativ einfach umsetzen. +% Old Text +%Gesucht ist nun einen Weg, mit dem wir auf unseren Nachrichtenvektor zurückrechnen können. +%Ein banaler Ansatz ist das Invertieren der Glechung \[ -v = A \cdot m \qquad \Rightarrow \qquad m = A^{-1} \cdot v. +v = A \cdot m \qquad \Rightarrow \qquad m = A^{-1} \cdot v \] - -Nur stellt sich dann die Frage, wie wir auf die Inverse der Matix $A$ kommen. +Nur stellt sich jetzt die Frage, wie wir die Inverse von $A$ berechnen. Dazu können wir wiederum den Ansatz der Fouriertransformation uns zur Hilfe nehmen, jedoch betrachten wir jetzt deren Inverse. Definiert ist sie als \[ F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \qquad \Rightarrow \qquad \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega. \] - -In unserem Fall suchen wir also eine inverse für die Primitive Einheitswurzel $a$, also +Damit beschäftigen wir uns im Abschnitt \ref{reedsolomon:subsection:algdec} weiter, konkret suchen wir momentan aber eine Inverse für unsere primitive Einheitswurzel $a$. \[ -8^1 \qquad \Rightarrow \qquad 8^{-1}. +8^1 \qquad \rightarrow \qquad 8^{-1} \] +Mit einem solchen Problem haben wir uns bereits in Abschnitt \ref{buch:section:euklid} befasst und so den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. -Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. +% Old Text +%Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. -\subsection{Der Euklidische Algorithmus -\label{reedsolomon:subsection:eukAlgo}} +\subsection{Inverse der primitiven Einheitswurzel +\label{reedsolomon:subsection:invEinh}} -Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \textcolor{red}{4.1} ausführlich beschrieben. -Für unsere Anwendung wählen wir die Parameter $a_i = 8$ und $b_i = 11$. +Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \ref{buch:section:euklid} ausführlich beschrieben. +Für unsere Anwendung wählen wir die Parameter $a = 8$ und $b = 11$ ($\mathbb{F}_{11}$). Daraus erhalten wir \begin{center} @@ -67,20 +76,21 @@ Daraus erhalten wir \end{tabular} \end{center} +als Inverse der primitiven Einheitswurzel. Die inverse Transformationsmatrix $A^{-1}$ bilden wir indem wir jetzt die inverse primitive Einheitswurzel anstelle der primitiven Einheitswurzel in die Matrix einsetzen. -als Inverse der Primitiven Einheitswurzel. +\subsection{Allgemeine Decodierung + \label{reedsolomon:subsection:algdec}} -Nun haben wir fast alles für die Rücktransformation beisammen. Wie auch bei der Inversen Fouriertransformation haben wir nun einen Vorfaktor +Wir haben jetzt fast alles für eine erfolgreiche Rücktransformation beisammen. Wir haben aber noch nicht alle Aspekte der inversen diskreten Fouriertransformation befolgt, so fehlt uns noch einen Vorfaktor \[ m = \textcolor{red}{s} \cdot A^{-1} \cdot v \] den wir noch bestimmen müssen. -Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformation bestimmen und beträgt +Glücklicherweise lässt der sich analog wie bei der inversen diskreten Fouriertransformation bestimmen und beträgt \[ s = \frac{1}{10}. \] -Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. -Somit lässt sich der Nachrichtenvektor einfach bestimmen mit +Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ in $\mathbb{F}_{11}$ ergibt. Somit lässt sich der Nachrichtenvektor einfach bestimmen mit \[ m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ -- cgit v1.2.1 From 73d5c3d4df0f73e96c1bac2ae1ce3b4dfcdc9d90 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 10 Jun 2021 12:23:57 +0200 Subject: updated a lot --- buch/papers/reedsolomon/decmitfehler.tex | 292 +++++++++++++++++++--------- buch/papers/reedsolomon/endlichekoerper.tex | 6 +- buch/papers/reedsolomon/main.tex | 7 + buch/papers/reedsolomon/references.bib | 69 ++++--- buch/papers/reedsolomon/rekonstruktion.tex | 33 ++-- 5 files changed, 275 insertions(+), 132 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index 923c1c5..db6e586 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -3,52 +3,109 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Decodierung mit Fehler +\section{Decodierung: Ansatz mit Fehlerkorrektur \label{reedsolomon:section:decmitfehler}} \rhead{fehlerhafte rekonstruktion} -Im zweiten Teil zur Decodierung betrachten wir den Fall, dass unser Übertragungskanal nicht fehlerfrei ist. -Wir legen daher den Fehlervektor +Bisher haben wir die Decodierung unter der Bedingung durchgeführt, dass der Übertragungsvektor fehlerlos versendet und empfangen wurde. +In der realen Welt müssen wir uns jedoch damit abfinden, dass kein Übertragungskanal garantiert fehlerfrei ist und das wir früher oder später mit Fehlern rechnen müssen. +Genau für dieses Problem wurden Fehler korrigierende Codes, wie der Reed-Solomon-Code, entwickelt. +In diesem Abschnitt betrachten wir somit die Idee der Fehlerkorrektur und wie wir diese auf unser Beispiel anwenden können. +Der Übertragungskanal im Beispiel weisst jetzt den Fehlervektor \[ u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] \] -fest, den wir zu unserem Übertragungsvektor als Fehler dazu addieren und somit +auf. +Senden wir jetzt unser Übertragungsvektor $v$ durch diesen Kanal addiert sich der Fehlervektor $u$ auf unsere Übertragung und wir erhalten \begin{center} - -\begin{tabular}{c | c r } - $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ - $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ - \hline - $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ -\end{tabular} - -% alternative design -%\begin{tabular}{c | c cccccccccccc } -% $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ -% $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ + + \begin{tabular}{c | c r } + $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ + $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ + \hline + $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ + \end{tabular} + + % alternative design + %\begin{tabular}{c | c cccccccccccc } + % $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ + % $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ + % \hline + % $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ + %\end{tabular} + +\end{center} +als neuen, fehlerbehafteten Übertragungsvektor $w$ auf der Empfängerseite. +% Old Text +%In diesem Abschnitt gehen wir genauer darauf ein, wie der Reed-Solomon-Code eine solche Feherkorrektur vornimt. +% +%In diesem Abschnitt betrachten wir das Problem, dass während der Übertragung des Übertragungsvektors von unserem Beispiel +% +% +%Zu diesem Zweck wurden Fehler korrigierende Codes entwickelt. +% +%Dieser Optimalfall kann jedoch mit keinem Übertragungskanal garantiert werden +% +% +%Im zweiten Teil zur Decodierung betrachten wir den Fall, dass unser Übertragungskanal nicht fehlerfrei ist. +%Wir legen daher den Fehlervektor +%\[ +%u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] +%\] +%fest, den wir zu unserem Übertragungsvektor als Fehler dazu addieren und somit +% +%\begin{center} +% +%\begin{tabular}{c | c r } +% $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ +% $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ % \hline -% $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ +% $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ %\end{tabular} - -\end{center} -als Übertragungsvektor auf der Empfängerseite erhalten. - -Wenn wir den Übertragungsvektor jetzt Rücktransformieren wie im vorherigen Kapitel erhalten wir +% +%% alternative design +%%\begin{tabular}{c | c cccccccccccc } +%% $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ +%% $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ +%% \hline +%% $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ +%%\end{tabular} +% +%\end{center} +%als Übertragungsvektor auf der Empfängerseite erhalten. +Wir jetzt als Empfänger wissen jedoch nicht, dass der erhaltene Übertragungsvektor jetzt fehlerbehaftet ist und werden dementsprechend den Ansatz aus Abschnitt \ref{reedsolomon:section:decohnefehler} anwenden. +Wir stellen jedoch recht schnell fest, dass am decodierten Nachrichtenblock \[ -r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. +r = [\underbrace{5,7,4,10,}_{\text{Syndrom}}5,4,5,7,6,7]. \] -Im Vergleich zum vorherigen Kapitel sind die Fehlerkorrekturstellen jetzt $\neq 0$, was bedeutet, dass wir diesen Übertragungsvektor fehlerhaft empfangen haben und sich die Nachricht jetzt nicht mehr so einfach decodieren lässt. +etwas nicht in Ordnung ist, denn die vorderen vier Fehlerkorrekturstellen haben nicht mehr den Wert null. +Der Nachrichtenblock weisst jetzt ein \em Syndrom \em auf, welches anzeigt, dass der Übertragungsvektor fehlerhaft empfangen wurde. +% Old Text +%Wenn wir den Übertragungsvektor jetzt Rücktransformieren wie im vorherigen Kapitel erhalten wir +%\[ +%r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. +%\] +Jetzt stellt sich natürlich die Frage, wie wir daraus den ursprünglich gesendeten Nachrichtenvektor zurückerhalten sollen. Laut der Definition über die Funktionsweise eines Reed-Solomon-Codes können wir aus den Fehlerkorrekturstellen ein ``Lokatorpolynom'' berechnen, welches die Information enthält, welche stellen innerhalb des empfangenen Übertragungsvektors fehlerhaft sind. -% warum wir die fehler suchen -Da Reed-Solomon-Codes in der Lage sind, eine Nachricht aus weniger Stellen zu rekonstruieren als wir ursprünglich haben, so müssen wir nur die Fehlerhaften Stellen finden und eliminieren, damit wir unsere Nutzdaten rekonstruieren können. -Damit stellt sich die Frage, wie wir die Fehlerstellen $e$ finden. -Dafür wählen wir einen Primitiven Ansatz mit -\begin{align} - m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ - r(X) & = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7 \\ - e(X) & = r(X) - m(X). -\end{align} -Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir +\subsection{Das Fehlerstellenpolynom $d(X)$ + \label{reedsolomon:subsection:fehlerpolynom}} +Bevor wir unser Lokatorpolynom berechnen können, müssen wir zuerst eine Möglichkeit finden, die Fehlerhaften von den Korrekten Stellen im Übertragungsvektor unterscheiden zu können. In einem ersten Versuch könnten wir $d$ berechnen mit +\begin{center} +\begin{tabular}{r c l} + $m(X)$ & $=$ & $4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ \\ + $r(X)$ & $=$ & $5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ \\ + $d(X)$ & $=$ & $r(X) - m(X)$. +\end{tabular} +\end{center} +TODO (rewrite sentence): Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, \textcolor{red}{die werden wir jedoch zu einem späteren Zeitpunkt betrachten (todo: verweis auf kapitel?)}. +Setzen wir jetzt noch unsere Einheitswurzel aus dem Beispiel ein so erhalten wir +% Old Text +%\begin{align} +% m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ +% r(X) & = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7 \\ +% e(X) & = r(X) - m(X). +%\end{align} +%Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir \begin{center} \begin{tabular}{c c c c c c c c c c c} \hline @@ -56,80 +113,137 @@ Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir \hline $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ - $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + $d(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ \hline \end{tabular} \end{center} -und damit die Information, dass an allen Stellen, die nicht Null sind, Fehler enthalten. -Um jetzt alle nicht Nullstellen zu finden, wenden wir den Satz von Fermat an. +und damit die Information, dass allen Stellen, die nicht Null sind, Fehler enthalten. +Aus der Tabelle lesen wir, das in unserem Beispiel die Fehler an der Stelle drei und acht zu finden sind. + +Für das einfache Bestimmen von Hand mag dies ja noch ausreichen, jedoch können wir mit diesen Stellen nicht das Lokatorpolynom bestimmen, denn dafür bräuchten wir alle Nullstellen, an denen es Fehler gegeben hat (also sozusagen genau das umgekehrte). Um dies zu erreichen wenden wir eine andere Herangehensweise und nehmen uns den Satz von Fermat sowie den kleinsten gemeinsamen Teiler zur Hilfe. -\subsection{Der Satz von Fermat -\label{reedsolomon:subsection:fermat}} -Der Satz von Fermat besagt, dass für +\subsection{Mit dem grössten gemeinsamen Teiler auf Nullstellenjagd +\label{reedsolomon:subsection:ggT}} + +Zuerst betrachten wir mal den Satz von Fermat deren Funktionsweise wir in Abschnitt \ref{buch:section:galoiskoerper} kennengelernt haben. Der besagt, dass für \[ f(X) = X^{q-1} -1 = 0 \] -gilt, egal was wir für $q$ einsetzen. - -Für unser Beispiel erhalten wir +wobei dies für jedes $q$ gilt. Setzen wir also das $q$ von unserem Beispiel ein \[ f(X) = X^{10}-1 = 0 \qquad \text{für } X = \{1,2,3,4,5,6,7,8,9,10\} \] -und können $f(X)$ auch umschreiben in +und stellen dies als Nullstellenform (\textcolor{red}{richtiger name für die Schreibweise?}) dar. So ergibt sich die Darstellung \[ f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9). \] Zur Überprüfung können wir unsere Einheitswurzel in $a$ einsetzen und werden sehen, dass wir für $f(X) = 0$ erhalten werden. -Nach der gleichen Überlegung können wir jetzt auch $e(X)$ darstellen als + +Wir können jetzt auch $d(X)$ nach der gleichen Überlegung darstellen als \[ -e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) \cdot p(x), +d(X) = (X-a^0)(X-a^1)(X-a^2)\textcolor{gray!40}{(X-a^3)}(X-a^4)(X-a^5)(X-a^6)(X-a^7)\textcolor{gray!40}{(X-a^8)}(X-a^9) \cdot p(x), \] -wobei $p(X)$ das Restpolynom ist und die Fehlerstellen beinhaltet. -Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen, so erhalten wir mit +wobei diese Darstellung nicht mehr alle Nullstellen umfasst wie es noch in $f(X)$ der Fall war. +Dies liegt daran, dass wir ja zwei Fehlerstellen (grau markiert) haben, die nicht Null sind. Diese fassen wir zum Restpolynom $p(X)$ (\textcolor{red}{eventuell farblich kennzeichnen?}) zusammen. +Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $d(X)$ berechnen, so erhalten wir mit \[ -\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) +\operatorname{ggT}(f(X),d(X)) = (X-a^0)(X-a^1)(X-a^2)\textcolor{gray!40}{(X-a^3)}(X-a^4)(X-a^5)(X-a^6)(X-a^7)\textcolor{gray!40}{(X-a^8)}(X-a^9) \] eine Liste von Nullstellen, an denen es keine Fehler gegeben hat. -Da wir uns jedoch für eine Liste mit Nullstellen interessieren, an denen es Fehler gegeben hat berechnen wir stattdessen das kgV von $f(X)$ und $e(X)$ als +Dies scheint zuerst nicht sehr hilfreich zu sein, da wir für das Lokatorpolynom ja eine Liste der Nullstellen suchen, an denen es Fehler gegeben hat. Aus diesem Grund berechnen wir im nächsten Schritt das kleinste gemeinsame Vielfache von $f(X)$ und $d(X)$. + +%Wir werden auch feststellen, das unsere Bemühungen bisher nicht umsonst waren. + +\subsection{Mit dem kgV fehlerhafte Nullstellen finden + \label{reedsolomon:subsection:kgV}} + +Das kgV hat nämlich die Eigenschaft sämtliche Nullstellen zu finden, also nicht nur die fehlerhaften sondern auch die korrekten, was in \[ -\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9) \cdot q(X). +\operatorname{kgV}(f(X),d(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9) \cdot q(X). \] -Wir können das Resultat noch zerlegen in +ersichtlich ist. +Aus dem vorherigen Abschnitt wissen wir auch, dass $d(X)$ alle korrekten Nullstellen beinhaltet. Teilen wir das kgV jetzt auf in \[ -\operatorname{kgV}(f(X),e(X)) = d(X) \cdot e(X). +\operatorname{kgV}(f(X),d(X)) = d(X) \cdot l(X) \] -Somit muss $d(X)$ eine Liste von Nullstellen enthalten an denen es Fehler gegeben hat. +sollten wir für $l(X)$ eine Liste mit allen fehlerhaften Nullstellen erhalten. +Somit ist \[ -d(X) = (X-a^3)(X-a^8) +l(X) = (X-a^3)(X-a^8) \] +unser gesuchtes Lokatorpolynom. +Es scheint so als müssten wir nur noch an den besagten Stellen den Übertragungsvektor korrigieren und wir währen fertig mit der Fehlerkorrektur. +Jedoch haben wir noch ein grundlegendes Problem, dass zu beginn aufgetaucht ist, wir aber beiseite geschoben haben. Die Rede ist natürlich vom Nachrichtenvektor $m(X)$, mit dem wir in erster Linie das wichtige Fehlerstellenpolynom $d(X)$ berechnet haben. +\subsection{Der problematische Nachrichtenvektor $m(X)$ + \label{reedsolomon:subsection:nachrichtenvektor}} -und ist damit unser gesuchtes Lokatorpolynom. - -Das einzige Problem was jetzt noch bleibt ist, dass wir $e(X)$ berechnet haben aus +In Abschnitt \ref{reedsolomon:section:decmitfehler} haben wir \[ -e(X) = r(X) - m(X), +d(X) = r(X) - m(X) \] -wobei $m(X)$ auf der Empfängerseite unbekannt ist. -Es sieht danach aus, das wir diesen Lösungsansatz nicht verwenden können, da uns ein entscheidender Teil fehlt. -Bei einer näheren Betrachtung von $m(X)$ fällt uns aber auf, dass wir doch etwas über $m(X)$ wissen. -Wir kennen nämlich die ersten vier Stellen, da diese für die Fehlerkorrektur zuständig sind und daher Null sein müssen. +in Abhängigkeit von $m(X)$ berechnet. +Jedoch haben wir ausser acht gelassen, dass $m(X)$ auf der Empfängerseite nicht existiert und somit gänzlich unbekannt ist. +Es scheint so als würde dieser Lösungsansatz, den wir bisher verfolgt haben, nicht funktioniert. +Wir könnten uns höchstens noch fragen, ob wir tatsächlich nichts über den Nachrichtenvektor im Beispiel wissen. Wenn wir noch einmal den Vektor betrachten als \[ -m = [0,0,0,0,?,?,?,?,?,?] +m = [0,0,0,0,4,7,2,5,8,1] \] -An genau diesen Stellen liegt auch die Information, wo unsere Fehlerstellen liegen, was uns ermöglicht, den Teil von $e(X)$ zu berechnen, der uns auch interessiert. - -Wir können $e(X)$ also bestimmen als +fällt uns aber auf, dass wir doch etwas über diesen Vektor wissen, nämlich den Wert der ersten 2t (im Beispiel vier) stellen. +Im Normalfall sollen diese nämlich den Wert null betragen und somit sind nur die letzten k stellen (im Beispiel sechs) für uns unbekannt, dargestellt als \[ -e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) +m = [0,0,0,0,?,?,?,?,?,?]. \] -wobei $p(X)$ wiederum ein unbekanntes Restpolynom ist und +Wie der Zufall es so will liegt an diesen vier Stellen auch die Information, wo die Fehlerstellen liegen. Daher reicht es auch aus +% darum werden die stellen auch als fehlerkorrekturstellen bezeichnet \[ -f(X) = X^{10} - 1 = X^{10} + 10 +d(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) \] -ist können wir so in einer ersten Instanz den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen. -Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berechnen so +so zu berechnen, dass wir die wichtigen vier Stellen kennen, der Rest des Polynoms jedoch im unbekannten Restpolynom $p(X)$ enthalten ist. + +\textcolor{red}{ist das wechseln zwischen 2t,k aus dem allgemeinfall und vier,sechs aus dem beispiel zu verwirrend?} + +\subsection{Die Berechnung der Fehlerstellen + \label{reedsolomon:subsection:nachrichtenvektor}} + +Um die Fehlerstellen zu berechnen wenden wir die gleiche Vorgehensweise wie zuvor an, also zuerst den ggT, danach berechnen wir das kgV um am Ende das Lokatorpolynom zu erhalten. + +\subsubsection{Schritt 1: ggT} +Wir berechnen den ggT von $f(X)$ und $d(X)$ mit +\begin{center} +\begin{tabular}{r c l} + $f(X)$ & $=$ & $X^{10} - 1 = X^{10} + 10$ \\ + $d(X)$ & $=$ & $5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ +\end{tabular} +\end{center} +% +% +% +%Das einzige Problem was jetzt noch bleibt ist, dass wir $e(X)$ berechnet haben aus +%\[ +%e(X) = r(X) - m(X), +%\] +%wobei $m(X)$ auf der Empfängerseite unbekannt ist. +%Es sieht danach aus, das wir diesen Lösungsansatz nicht verwenden können, da uns ein entscheidender Teil fehlt. +%Bei einer näheren Betrachtung von $m(X)$ fällt uns aber auf, dass wir doch etwas über $m(X)$ wissen. +%Wir kennen nämlich die ersten vier Stellen, da diese für die Fehlerkorrektur zuständig sind und daher Null sein müssen. +%\[ +%m = [0,0,0,0,?,?,?,?,?,?] +%\] +%An genau diesen Stellen liegt auch die Information, wo unsere Fehlerstellen liegen, was uns ermöglicht, den Teil von $e(X)$ zu berechnen, der uns auch interessiert. +% +%Wir können $e(X)$ also bestimmen als +%\[ +%e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) +%\] +%wobei $p(X)$ wiederum ein unbekanntes Restpolynom ist und +%\[ +%f(X) = X^{10} - 1 = X^{10} + 10 +%\] +%ist können wir so in einer ersten Instanz den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen. +%Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berechnen so +% \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -151,11 +265,16 @@ Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berech \] und erhalten \[ -\operatorname{ggT}(f(X),e(X)) = 6X^8 +\operatorname{ggT}(f(X),e(X)) = 6X^8. \] -Mit den Resultaten, die wir vom Rechenweg des grössten gemeinsamen Teiler erhalten haben können wir jetzt auch das kleinste Gemeinsame Vielfache berechnen. Eine detailliertere Vorgehensweise findet man in Kapitel ???. -Aus diesem erweiterten Euklidischen Algorithmus erhalten wir +\subsubsection{Schritt 2: kgV} + +Mit dem Resultat das wir vom ggT erhalten haben können wir jetzt das kgV berechnen. Dazu können wir jetzt den erweiterten Euklidischen Algorithmus verwenden, den wir in Abschnitt \ref{buch:subsection:daskgv} kennengelernt haben. +% +%Mit den Resultaten, die wir vom Rechenweg des grössten gemeinsamen Teiler erhalten haben können wir jetzt auch das kleinste Gemeinsame Vielfache berechnen. Eine detailliertere Vorgehensweise findet man in Kapitel ???. +% +%Aus diesem erweiterten Euklidischen Algorithmus erhalten wir \begin{center} \begin{tabular}{| c | c | c c |} @@ -170,28 +289,23 @@ Aus diesem erweiterten Euklidischen Algorithmus erhalten wir \end{tabular} \end{center} -und erhalten auf diesem Weg den Faktor +Daraus erhalten wir die Faktoren \[ -d(X) = 2X^2 + 5, +l(X) = 2X^2 + 5 \qquad \rightarrow \qquad l(X) = 2(X-5)(X-6). \] -den wir in +Unser gesuchtes Lokatorpolynom hat also die Form \[ -d(X) = 2(X-5)(X-6) +l(X) = (X-a^i)(X-a^j). \] -zerlegen können. -Da die unbekannten Stellen im Lokatorpolynom -\[ -d(X) = (X-a^i)(X-a^i) -\] -sind, müssen wir nur noch $i$ berechnen als +Also brauchen wir nur noch $i$ und $j$ zu berechnen und wir haben unsere gesuchten Fehlerstellen. +Diese bekommen wir recht einfach mit \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ - $a^i = 6 \qquad \Rightarrow \qquad i = 8$. + $a^j = 6 \qquad \Rightarrow \qquad j = 8$. \end{center} - -Somit erhalten wir schliesslich +Schlussendlich erhalten wir \[ d(X) = (X-a^3)(X-a^8) \] -als unser Lokatorpolynom mit den Fehlerhaften Stellen. \ No newline at end of file +als unser Lokatorpolynom mit den fehlerhaften Stellen. diff --git a/buch/papers/reedsolomon/endlichekoerper.tex b/buch/papers/reedsolomon/endlichekoerper.tex index 8ccd918..146067a 100644 --- a/buch/papers/reedsolomon/endlichekoerper.tex +++ b/buch/papers/reedsolomon/endlichekoerper.tex @@ -7,9 +7,9 @@ \label{reedsolomon:section:endlichekoerper}} \rhead{Problemstellung} -TODO: +\textcolor{red}{TODO: (warten auf den 1. Teil)} -Das rechnen in endlichen Körpern bietet einige Vorteile: +Das Rechnen in endlichen Körpern bietet einige Vorteile: \begin{itemize} \item Konkrete Zahlen: In endlichen Körpern gibt es weder rationale noch komplexe Zahlen. Zudem beschränken sich die möglichen Rechenoperationen auf das Addieren und Multiplizieren. Somit können wir nur ganze Zahlen als Resultat erhalten. @@ -20,4 +20,4 @@ Das rechnen in endlichen Körpern bietet einige Vorteile: Um jetzt eine Nachricht in den endlichen Körpern zu konstruieren legen wir fest, dass diese Nachricht aus einem Nutzdatenteil und einem Fehlerkorrekturteil bestehen muss. Somit ist die zu übertragende Nachricht immer grösser als die Daten, die wir übertragen wollen. Zudem müssen wir einen Weg finden, den Fehlerkorrekturteil so aus den Nutzdaten zu berechnen, dass wir die Nutzdaten auf der Empfängerseite wieder rekonstruieren können, sollte es zu einer fehlerhaften Übertragung kommen. -Nun stellt sich die Frage, wie wir eine Fehlerhafte Nachricht korrigieren können, ohne ihren ursprünglichen Inhalt zu kennen. Der Reed-Solomon-Code erzielt dies, indem aus dem Fehlerkorrekturteil ein sogenanntes "Lokatorpolynom" generiert werden kann. Dieses Polynom gibt dem Emfänger an, welche Stellen in der Nachricht feherhaft sind. +Nun stellt sich die Frage, wie wir eine fehlerhafte Nachricht korrigieren können, ohne ihren ursprünglichen Inhalt zu kennen. Der Reed-Solomon-Code erzielt dies, indem aus dem Fehlerkorrekturteil ein sogenanntes ``Lokatorpolynom'' generiert werden kann. Dieses Polynom gibt dem Emfänger an, welche Stellen in der Nachricht feherhaft sind. diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index a7485cd..9822d25 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -39,6 +39,13 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \input{papers/reedsolomon/decohnefehler} \input{papers/reedsolomon/decmitfehler} \input{papers/reedsolomon/rekonstruktion} +\input{papers/reedsolomon/hilfstabellen} +%\input{papers/reedsolomon/glossar} -> geplant zur besseren orientierung +%\input{papers/reedsolomon/anwendungen} -> geplant + +\nocite{reedsolomon:weitz} +\nocite{reedsolomon:informationkommunikation} +%\nocite{reedsolomon:mendezmueller} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/reedsolomon/references.bib b/buch/papers/reedsolomon/references.bib index 38613bd..4c1d17a 100644 --- a/buch/papers/reedsolomon/references.bib +++ b/buch/papers/reedsolomon/references.bib @@ -4,32 +4,53 @@ % (c) 2020 Autor, Hochschule Rapperswil % -@online{reedsolomon:bibtex, - title = {BibTeX}, - url = {https://de.wikipedia.org/wiki/BibTeX}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} +@online{reedsolomon:weitz, + title = {Fehlerkorrektur mit Reed-Solomon-Codes}, + url = {https://youtu.be/uOLW43OIZJ0}, + date = {2021-06-10}, + year = {2021}, + month = {6}, + day = {10} } -@book{reedsolomon:numerical-analysis, - title = {Numerical Analysis}, - author = {David Kincaid and Ward Cheney}, - publisher = {American Mathematical Society}, - year = {2002}, - isbn = {978-8-8218-4788-6}, - inseries = {Pure and applied undegraduate texts}, - volume = {2} -} +% https://link.springer.com/chapter/10.1007%2F978-3-8351-9077-1_9 -@article{reedsolomon:mendezmueller, - author = { Tabea Méndez and Andreas Müller }, - title = { Noncommutative harmonic analysis and image registration }, - journal = { Appl. Comput. Harmon. Anal.}, - year = 2019, - volume = 47, - pages = {607--627}, - url = {https://doi.org/10.1016/j.acha.2017.11.004} +@book{reedsolomon:informationkommunikation, + title = {Information und Kommunikation}, + author = {Markus Hufschmid}, + publisher = {Teubner}, + year = {2007}, + isbn = {978-3-8351-0122-7}, + inseries = {}, + volume = {1} } +% Beispiele +%@online{reedsolomon:bibtex, +% title = {BibTeX}, +% url = {https://de.wikipedia.org/wiki/BibTeX}, +% date = {2020-02-06}, +% year = {2020}, +% month = {2}, +% day = {6} +%} +% +%@book{reedsolomon:numerical-analysis, +% title = {Numerical Analysis}, +% author = {David Kincaid and Ward Cheney}, +% publisher = {American Mathematical Society}, +% year = {2002}, +% isbn = {978-8-8218-4788-6}, +% inseries = {Pure and applied undegraduate texts}, +% volume = {2} +%} +% +%@article{reedsolomon:mendezmueller, +% author = { Tabea Méndez and Andreas Müller }, +% title = { Noncommutative harmonic analysis and image registration }, +% journal = { Appl. Comput. Harmon. Anal.}, +% year = 2019, +% volume = 47, +% pages = {607--627}, +% url = {https://doi.org/10.1016/j.acha.2017.11.004} +%} \ No newline at end of file diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index 8cb7744..89a700f 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -1,24 +1,25 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% rekonstruktion.tex +% Autor: Michael Steiner % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Nachricht Rekonstruieren \label{reedsolomon:section:rekonstruktion}} \rhead{Rekonstruktion} -Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die Fehlerhaften Stellen lokalisieren können. +Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die fehlerhaften Stellen lokalisieren können. Mit diesen Stellen soll es uns nun möglich sein, aus dem fehlerhaften empfangenen Nachrichtenvektor wieder unsere Nachricht zu rekonstruieren. Das Lokatorpolynom \[ -d(X) = (X - a^3)(X-a^8) +l(X) = (X - a^3)(X-a^8) \] -markiert dabei diese Fehlerhaften Stellen im Übertragungsvektor +markiert dabei diese fehlerhaften Stellen im Übertragungsvektor \[ w = [5,3,6,8,2,10,2,7,1,4]. \] Als Ausgangslage verwenden wir die Matrix, mit der wir den Nachrichtenvektor ursprünglich codiert haben. -Unser Ziel ist es wie auch schon im Kapitel X.X (Rekonstuktion ohne Fehler) eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. -Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Kapitel X.X angewendet haben. +Unser Ziel ist es wie auch schon im Abschnitt \ref{reedsolomon:section:decohnefehler} eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. +Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Abschnitt \ref{reedsolomon:section:decohnefehler} angewendet haben. Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen. \[ @@ -82,21 +83,21 @@ Wir kennen aber das Resultat aus den letzten vier Spalten, da wir wissen, das di \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{darkgreen}{8^0}& \textcolor{darkgreen}{8^0}& \textcolor{darkgreen}{8^0}& \textcolor{darkgreen}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{darkgreen}{8^6}& \textcolor{darkgreen}{8^7}& \textcolor{darkgreen}{8^8}& \textcolor{darkgreen}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{darkgreen}{8^{12}}& \textcolor{darkgreen}{8^{14}}& \textcolor{darkgreen}{8^{16}}& \textcolor{darkgreen}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{darkgreen}{8^{24}}& \textcolor{darkgreen}{8^{28}}& \textcolor{darkgreen}{8^{32}}& \textcolor{darkgreen}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{darkgreen}{8^{30}}& \textcolor{darkgreen}{8^{35}}& \textcolor{darkgreen}{8^{40}}& \textcolor{darkgreen}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{darkgreen}{8^{36}}& \textcolor{darkgreen}{8^{42}}& \textcolor{darkgreen}{8^{48}}& \textcolor{darkgreen}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{darkgreen}{8^{42}}& \textcolor{darkgreen}{8^{49}}& \textcolor{darkgreen}{8^{56}}& \textcolor{darkgreen}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{darkgreen}{8^{54}}& \textcolor{darkgreen}{8^{63}}& \textcolor{darkgreen}{8^{72}}& \textcolor{darkgreen}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} - m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{darkgreen}{m_6} \\ \textcolor{darkgreen}{m_7} \\ \textcolor{darkgreen}{m_8} \\ \textcolor{darkgreen}{m_9} \\ \end{pmatrix} \] -Wir nehmen die Entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem +Wir nehmen die entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem \[ \begin{pmatrix} 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ -- cgit v1.2.1 From 82672c8b82f0d082daa05cfc212a1b05a7f79650 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 10 Jun 2021 15:22:44 +0200 Subject: hilfstabellen updated --- buch/papers/reedsolomon/hilfstabellen.tex | 2 - buch/papers/reedsolomon/restetabelle1.tex | 190 ++++++++++++++++++++++++++--- buch/papers/reedsolomon/restetabelle2.tex | 192 ++++++++++++++++++++++++++---- 3 files changed, 343 insertions(+), 41 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/hilfstabellen.tex b/buch/papers/reedsolomon/hilfstabellen.tex index 10e4fd1..4e39de5 100644 --- a/buch/papers/reedsolomon/hilfstabellen.tex +++ b/buch/papers/reedsolomon/hilfstabellen.tex @@ -8,8 +8,6 @@ \label{reedsolomon:section:hilfstabellen}} \rhead{Hilfstabellen} -\textbf{TODO}: gibt es eine besser darstellungsart der tabellen? (\& platzierung der subsections) - Um das rechnen zu erleichtern findet man in diesem Abschnitt die Resultate, die bei der Addition und der Multiplikation in $\mathbb{F}_{11}$ resultieren. \subsection{Additionstabelle diff --git a/buch/papers/reedsolomon/restetabelle1.tex b/buch/papers/reedsolomon/restetabelle1.tex index a5055c0..3969ef2 100644 --- a/buch/papers/reedsolomon/restetabelle1.tex +++ b/buch/papers/reedsolomon/restetabelle1.tex @@ -1,24 +1,176 @@ % created by Michael Steiner % % Restetabelle von F_11: Addition -\begin{figure} + +% alternatives design +%\begin{figure} +%\begin{center} +%\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +%\hline +%+&0&1&2&3&4&5&6&7&8&9&10\\ +%\hline +%0&0&1&2&3&4&5&6&7&8&9&10\\ +%1&1&2&3&4&5&6&7&8&9&10&0\\ +%2&2&3&4&5&6&7&8&9&10&0&1\\ +%3&3&4&5&6&7&8&9&10&0&1&2\\ +%4&4&5&6&7&8&9&10&0&1&2&3\\ +%5&5&6&7&8&9&10&0&1&2&3&4\\ +%6&6&7&8&9&10&0&1&2&3&4&5\\ +%7&7&8&9&10&0&1&2&3&4&5&6\\ +%8&8&9&10&0&1&2&3&4&5&6&7\\ +%9&9&10&0&1&2&3&4&5&6&7&8\\ +%10&10&0&1&2&3&4&5&6&7&8&9\\ +%\hline +%\end{tabular} +%\end{center} +%\end{figure} + \begin{center} -\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline -+&0&1&2&3&4&5&6&7&8&9&10\\ -\hline -0&0&1&2&3&4&5&6&7&8&9&10\\ -1&1&2&3&4&5&6&7&8&9&10&0\\ -2&2&3&4&5&6&7&8&9&10&0&1\\ -3&3&4&5&6&7&8&9&10&0&1&2\\ -4&4&5&6&7&8&9&10&0&1&2&3\\ -5&5&6&7&8&9&10&0&1&2&3&4\\ -6&6&7&8&9&10&0&1&2&3&4&5\\ -7&7&8&9&10&0&1&2&3&4&5&6\\ -8&8&9&10&0&1&2&3&4&5&6&7\\ -9&9&10&0&1&2&3&4&5&6&7&8\\ -10&10&0&1&2&3&4&5&6&7&8&9\\ -\hline -\end{tabular} + +\begin{tikzpicture}[>=latex,thick,scale=0.45] +\fill[color=gray!40] (0,0) rectangle (18,-1.5); +\fill[color=gray!40] (0,0) rectangle (1.5,-18); +\draw[step = 1.5, gray,very thin] (0,0) grid (18,-18); +\draw[very thick] (0,0) rectangle (18,-18); +\draw[very thick] (0,-1.5) -- (18,-1.5); +\draw[very thick] (1.5,0) -- (1.5,-18); +\node at (0.75,-0.75) {$+$}; +\foreach \x in {0,...,10} + \node at (2.25+\x*1.5,-0.75) {$\x$}; +\foreach \y in {0,...,10} + \node at (0.75,-2.25+\y*-1.5) {$\y$}; +% Row 0 +\node at ( 2.25,-2.25) {$0$}; +\node at ( 3.75,-2.25) {$1$}; +\node at ( 5.25,-2.25) {$2$}; +\node at ( 6.75,-2.25) {$3$}; +\node at ( 8.25,-2.25) {$4$}; +\node at ( 9.75,-2.25) {$5$}; +\node at (11.25,-2.25) {$6$}; +\node at (12.75,-2.25) {$7$}; +\node at (14.25,-2.25) {$8$}; +\node at (15.75,-2.25) {$9$}; +\node at (17.25,-2.25) {$10$}; +% Row 1 +\node at ( 2.25,-3.75) {$1$}; +\node at ( 3.75,-3.75) {$2$}; +\node at ( 5.25,-3.75) {$3$}; +\node at ( 6.75,-3.75) {$4$}; +\node at ( 8.25,-3.75) {$5$}; +\node at ( 9.75,-3.75) {$6$}; +\node at (11.25,-3.75) {$7$}; +\node at (12.75,-3.75) {$8$}; +\node at (14.25,-3.75) {$9$}; +\node at (15.75,-3.75) {$10$}; +\node at (17.25,-3.75) {$0$}; +% Row 2 +\node at ( 2.25,-5.25) {$2$}; +\node at ( 3.75,-5.25) {$3$}; +\node at ( 5.25,-5.25) {$4$}; +\node at ( 6.75,-5.25) {$5$}; +\node at ( 8.25,-5.25) {$6$}; +\node at ( 9.75,-5.25) {$7$}; +\node at (11.25,-5.25) {$8$}; +\node at (12.75,-5.25) {$9$}; +\node at (14.25,-5.25) {$10$}; +\node at (15.75,-5.25) {$0$}; +\node at (17.25,-5.25) {$1$}; +% Row 3 +\node at ( 2.25,-6.75) {$3$}; +\node at ( 3.75,-6.75) {$4$}; +\node at ( 5.25,-6.75) {$5$}; +\node at ( 6.75,-6.75) {$6$}; +\node at ( 8.25,-6.75) {$7$}; +\node at ( 9.75,-6.75) {$8$}; +\node at (11.25,-6.75) {$9$}; +\node at (12.75,-6.75) {$10$}; +\node at (14.25,-6.75) {$0$}; +\node at (15.75,-6.75) {$1$}; +\node at (17.25,-6.75) {$2$}; +% Row 4 +\node at ( 2.25,-8.25) {$4$}; +\node at ( 3.75,-8.25) {$5$}; +\node at ( 5.25,-8.25) {$6$}; +\node at ( 6.75,-8.25) {$7$}; +\node at ( 8.25,-8.25) {$8$}; +\node at ( 9.75,-8.25) {$9$}; +\node at (11.25,-8.25) {$10$}; +\node at (12.75,-8.25) {$0$}; +\node at (14.25,-8.25) {$1$}; +\node at (15.75,-8.25) {$2$}; +\node at (17.25,-8.25) {$3$}; +% Row 5 +\node at ( 2.25,-9.75) {$5$}; +\node at ( 3.75,-9.75) {$6$}; +\node at ( 5.25,-9.75) {$7$}; +\node at ( 6.75,-9.75) {$8$}; +\node at ( 8.25,-9.75) {$9$}; +\node at ( 9.75,-9.75) {$10$}; +\node at (11.25,-9.75) {$0$}; +\node at (12.75,-9.75) {$1$}; +\node at (14.25,-9.75) {$2$}; +\node at (15.75,-9.75) {$3$}; +\node at (17.25,-9.75) {$4$}; +% Row 6 +\node at ( 2.25,-11.25) {$6$}; +\node at ( 3.75,-11.25) {$7$}; +\node at ( 5.25,-11.25) {$8$}; +\node at ( 6.75,-11.25) {$9$}; +\node at ( 8.25,-11.25) {$10$}; +\node at ( 9.75,-11.25) {$0$}; +\node at (11.25,-11.25) {$1$}; +\node at (12.75,-11.25) {$2$}; +\node at (14.25,-11.25) {$3$}; +\node at (15.75,-11.25) {$4$}; +\node at (17.25,-11.25) {$5$}; +% Row 7 +\node at ( 2.25,-12.75) {$7$}; +\node at ( 3.75,-12.75) {$8$}; +\node at ( 5.25,-12.75) {$9$}; +\node at ( 6.75,-12.75) {$10$}; +\node at ( 8.25,-12.75) {$0$}; +\node at ( 9.75,-12.75) {$1$}; +\node at (11.25,-12.75) {$2$}; +\node at (12.75,-12.75) {$3$}; +\node at (14.25,-12.75) {$4$}; +\node at (15.75,-12.75) {$5$}; +\node at (17.25,-12.75) {$6$}; +% Row 8 +\node at ( 2.25,-14.25) {$8$}; +\node at ( 3.75,-14.25) {$9$}; +\node at ( 5.25,-14.25) {$10$}; +\node at ( 6.75,-14.25) {$0$}; +\node at ( 8.25,-14.25) {$1$}; +\node at ( 9.75,-14.25) {$2$}; +\node at (11.25,-14.25) {$3$}; +\node at (12.75,-14.25) {$4$}; +\node at (14.25,-14.25) {$5$}; +\node at (15.75,-14.25) {$6$}; +\node at (17.25,-14.25) {$7$}; +% Row 9 +\node at ( 2.25,-15.75) {$9$}; +\node at ( 3.75,-15.75) {$10$}; +\node at ( 5.25,-15.75) {$0$}; +\node at ( 6.75,-15.75) {$1$}; +\node at ( 8.25,-15.75) {$2$}; +\node at ( 9.75,-15.75) {$3$}; +\node at (11.25,-15.75) {$4$}; +\node at (12.75,-15.75) {$5$}; +\node at (14.25,-15.75) {$6$}; +\node at (15.75,-15.75) {$7$}; +\node at (17.25,-15.75) {$8$}; +% Row 10 +\node at ( 2.25,-17.25) {$10$}; +\node at ( 3.75,-17.25) {$0$}; +\node at ( 5.25,-17.25) {$1$}; +\node at ( 6.75,-17.25) {$2$}; +\node at ( 8.25,-17.25) {$3$}; +\node at ( 9.75,-17.25) {$4$}; +\node at (11.25,-17.25) {$5$}; +\node at (12.75,-17.25) {$6$}; +\node at (14.25,-17.25) {$7$}; +\node at (15.75,-17.25) {$8$}; +\node at (17.25,-17.25) {$9$}; +\end{tikzpicture} + \end{center} -\end{figure} \ No newline at end of file diff --git a/buch/papers/reedsolomon/restetabelle2.tex b/buch/papers/reedsolomon/restetabelle2.tex index 887c981..1a9815c 100644 --- a/buch/papers/reedsolomon/restetabelle2.tex +++ b/buch/papers/reedsolomon/restetabelle2.tex @@ -1,24 +1,176 @@ % created by Michael Steiner % % Restetabelle von F_11: Multiplikation -\begin{figure} + +% alternatives design +%\begin{figure} +%\begin{center} +%\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +%\hline +%\cdot&0&1&2&3&4&5&6&7&8&9&10\\ +%\hline +%0&0&0&0&0&0&0&0&0&0&0&0\\ +%1&0&1&2&3&4&5&6&7&8&9&10\\ +%2&0&2&4&6&8&10&1&3&5&7&9\\ +%3&0&3&6&9&1&4&7&10&2&5&8\\ +%4&0&4&8&1&5&9&2&6&10&3&7\\ +%5&0&5&10&4&9&3&8&2&7&1&6\\ +%6&0&6&1&7&2&8&3&9&4&10&5\\ +%7&0&7&3&10&6&2&9&5&1&8&4\\ +%8&0&8&5&2&10&7&4&1&9&6&3\\ +%9&0&9&7&5&3&1&10&8&6&4&2\\ +%10&0&10&9&8&7&6&5&4&3&2&1\\ +%\hline +%\end{tabular} +%\end{center} +%\end{figure} + \begin{center} -\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline -\cdot&0&1&2&3&4&5&6&7&8&9&10\\ -\hline -0&0&0&0&0&0&0&0&0&0&0&0\\ -1&0&1&2&3&4&5&6&7&8&9&10\\ -2&0&2&4&6&8&10&1&3&5&7&9\\ -3&0&3&6&9&1&4&7&10&2&5&8\\ -4&0&4&8&1&5&9&2&6&10&3&7\\ -5&0&5&10&4&9&3&8&2&7&1&6\\ -6&0&6&1&7&2&8&3&9&4&10&5\\ -7&0&7&3&10&6&2&9&5&1&8&4\\ -8&0&8&5&2&10&7&4&1&9&6&3\\ -9&0&9&7&5&3&1&10&8&6&4&2\\ -10&0&10&9&8&7&6&5&4&3&2&1\\ -\hline -\end{tabular} -\end{center} -\end{figure} \ No newline at end of file + + \begin{tikzpicture}[>=latex,thick,scale=0.45] + \fill[color=gray!40] (0,0) rectangle (18,-1.5); + \fill[color=gray!40] (0,0) rectangle (1.5,-18); + \draw[step = 1.5, gray,very thin] (0,0) grid (18,-18); + \draw[very thick] (0,0) rectangle (18,-18); + \draw[very thick] (0,-1.5) -- (18,-1.5); + \draw[very thick] (1.5,0) -- (1.5,-18); + \node at (0.75,-0.75) {$\cdot$}; + \foreach \x in {0,...,10} + \node at (2.25+\x*1.5,-0.75) {$\x$}; + \foreach \y in {0,...,10} + \node at (0.75,-2.25+\y*-1.5) {$\y$}; + % Row 0 + \node at ( 2.25,-2.25) {$0$}; + \node at ( 3.75,-2.25) {$0$}; + \node at ( 5.25,-2.25) {$0$}; + \node at ( 6.75,-2.25) {$0$}; + \node at ( 8.25,-2.25) {$0$}; + \node at ( 9.75,-2.25) {$0$}; + \node at (11.25,-2.25) {$0$}; + \node at (12.75,-2.25) {$0$}; + \node at (14.25,-2.25) {$0$}; + \node at (15.75,-2.25) {$0$}; + \node at (17.25,-2.25) {$0$}; + % Row 1 + \node at ( 2.25,-3.75) {$0$}; + \node at ( 3.75,-3.75) {$1$}; + \node at ( 5.25,-3.75) {$2$}; + \node at ( 6.75,-3.75) {$3$}; + \node at ( 8.25,-3.75) {$4$}; + \node at ( 9.75,-3.75) {$5$}; + \node at (11.25,-3.75) {$6$}; + \node at (12.75,-3.75) {$7$}; + \node at (14.25,-3.75) {$8$}; + \node at (15.75,-3.75) {$9$}; + \node at (17.25,-3.75) {$10$}; + % Row 2 + \node at ( 2.25,-5.25) {$0$}; + \node at ( 3.75,-5.25) {$2$}; + \node at ( 5.25,-5.25) {$4$}; + \node at ( 6.75,-5.25) {$6$}; + \node at ( 8.25,-5.25) {$8$}; + \node at ( 9.75,-5.25) {$10$}; + \node at (11.25,-5.25) {$1$}; + \node at (12.75,-5.25) {$3$}; + \node at (14.25,-5.25) {$5$}; + \node at (15.75,-5.25) {$7$}; + \node at (17.25,-5.25) {$9$}; + % Row 3 + \node at ( 2.25,-6.75) {$0$}; + \node at ( 3.75,-6.75) {$3$}; + \node at ( 5.25,-6.75) {$6$}; + \node at ( 6.75,-6.75) {$9$}; + \node at ( 8.25,-6.75) {$1$}; + \node at ( 9.75,-6.75) {$4$}; + \node at (11.25,-6.75) {$7$}; + \node at (12.75,-6.75) {$10$}; + \node at (14.25,-6.75) {$2$}; + \node at (15.75,-6.75) {$5$}; + \node at (17.25,-6.75) {$8$}; + % Row 4 + \node at ( 2.25,-8.25) {$0$}; + \node at ( 3.75,-8.25) {$4$}; + \node at ( 5.25,-8.25) {$8$}; + \node at ( 6.75,-8.25) {$1$}; + \node at ( 8.25,-8.25) {$5$}; + \node at ( 9.75,-8.25) {$9$}; + \node at (11.25,-8.25) {$2$}; + \node at (12.75,-8.25) {$6$}; + \node at (14.25,-8.25) {$10$}; + \node at (15.75,-8.25) {$3$}; + \node at (17.25,-8.25) {$7$}; + % Row 5 + \node at ( 2.25,-9.75) {$0$}; + \node at ( 3.75,-9.75) {$5$}; + \node at ( 5.25,-9.75) {$10$}; + \node at ( 6.75,-9.75) {$4$}; + \node at ( 8.25,-9.75) {$9$}; + \node at ( 9.75,-9.75) {$3$}; + \node at (11.25,-9.75) {$8$}; + \node at (12.75,-9.75) {$2$}; + \node at (14.25,-9.75) {$7$}; + \node at (15.75,-9.75) {$1$}; + \node at (17.25,-9.75) {$6$}; + % Row 6 + \node at ( 2.25,-11.25) {$0$}; + \node at ( 3.75,-11.25) {$6$}; + \node at ( 5.25,-11.25) {$1$}; + \node at ( 6.75,-11.25) {$7$}; + \node at ( 8.25,-11.25) {$2$}; + \node at ( 9.75,-11.25) {$8$}; + \node at (11.25,-11.25) {$3$}; + \node at (12.75,-11.25) {$9$}; + \node at (14.25,-11.25) {$4$}; + \node at (15.75,-11.25) {$10$}; + \node at (17.25,-11.25) {$5$}; + % Row 7 + \node at ( 2.25,-12.75) {$0$}; + \node at ( 3.75,-12.75) {$7$}; + \node at ( 5.25,-12.75) {$3$}; + \node at ( 6.75,-12.75) {$10$}; + \node at ( 8.25,-12.75) {$6$}; + \node at ( 9.75,-12.75) {$2$}; + \node at (11.25,-12.75) {$9$}; + \node at (12.75,-12.75) {$5$}; + \node at (14.25,-12.75) {$1$}; + \node at (15.75,-12.75) {$8$}; + \node at (17.25,-12.75) {$4$}; + % Row 8 + \node at ( 2.25,-14.25) {$0$}; + \node at ( 3.75,-14.25) {$8$}; + \node at ( 5.25,-14.25) {$5$}; + \node at ( 6.75,-14.25) {$2$}; + \node at ( 8.25,-14.25) {$10$}; + \node at ( 9.75,-14.25) {$7$}; + \node at (11.25,-14.25) {$4$}; + \node at (12.75,-14.25) {$1$}; + \node at (14.25,-14.25) {$9$}; + \node at (15.75,-14.25) {$6$}; + \node at (17.25,-14.25) {$3$}; + % Row 9 + \node at ( 2.25,-15.75) {$0$}; + \node at ( 3.75,-15.75) {$9$}; + \node at ( 5.25,-15.75) {$7$}; + \node at ( 6.75,-15.75) {$5$}; + \node at ( 8.25,-15.75) {$3$}; + \node at ( 9.75,-15.75) {$1$}; + \node at (11.25,-15.75) {$10$}; + \node at (12.75,-15.75) {$8$}; + \node at (14.25,-15.75) {$6$}; + \node at (15.75,-15.75) {$4$}; + \node at (17.25,-15.75) {$2$}; + % Row 10 + \node at ( 2.25,-17.25) {$0$}; + \node at ( 3.75,-17.25) {$10$}; + \node at ( 5.25,-17.25) {$9$}; + \node at ( 6.75,-17.25) {$8$}; + \node at ( 8.25,-17.25) {$7$}; + \node at ( 9.75,-17.25) {$6$}; + \node at (11.25,-17.25) {$5$}; + \node at (12.75,-17.25) {$4$}; + \node at (14.25,-17.25) {$3$}; + \node at (15.75,-17.25) {$2$}; + \node at (17.25,-17.25) {$1$}; + \end{tikzpicture} + +\end{center} \ No newline at end of file -- cgit v1.2.1 From d15eaa234f3f1622289e2486db54fe0ce7309b8f Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 10 Jun 2021 18:22:35 +0200 Subject: nachschlagewerk created --- buch/papers/reedsolomon/decmitfehler.tex | 3 ++- buch/papers/reedsolomon/main.tex | 2 +- buch/papers/reedsolomon/nachschlagewerk.tex | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 buch/papers/reedsolomon/nachschlagewerk.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index db6e586..feaa027 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -97,7 +97,8 @@ Bevor wir unser Lokatorpolynom berechnen können, müssen wir zuerst eine Mögli $d(X)$ & $=$ & $r(X) - m(X)$. \end{tabular} \end{center} -TODO (rewrite sentence): Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, \textcolor{red}{die werden wir jedoch zu einem späteren Zeitpunkt betrachten (todo: verweis auf kapitel?)}. +Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, wir werden werden deshalb erst in Abschnitt \ref{reedsolomon:subsection:nachrichtenvektor} darauf zurückkommen. + Setzen wir jetzt noch unsere Einheitswurzel aus dem Beispiel ein so erhalten wir % Old Text %\begin{align} diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 9822d25..fa20936 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -39,8 +39,8 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \input{papers/reedsolomon/decohnefehler} \input{papers/reedsolomon/decmitfehler} \input{papers/reedsolomon/rekonstruktion} +\input{papers/reedsolomon/nachschlagewerk} \input{papers/reedsolomon/hilfstabellen} -%\input{papers/reedsolomon/glossar} -> geplant zur besseren orientierung %\input{papers/reedsolomon/anwendungen} -> geplant \nocite{reedsolomon:weitz} diff --git a/buch/papers/reedsolomon/nachschlagewerk.tex b/buch/papers/reedsolomon/nachschlagewerk.tex new file mode 100644 index 0000000..60b857e --- /dev/null +++ b/buch/papers/reedsolomon/nachschlagewerk.tex @@ -0,0 +1,4 @@ +\section{Nachschlagewerk + \label{reedsolomon:section:nachschlagen}} +\rhead{nachschlagewerk} +todo: auflistung von z.b nachrichtenvektor, übertragungsvektor usw. inklusiver erklärung was es ist falls man beim lesen den faden verliert \ No newline at end of file -- cgit v1.2.1 From 09ca369b5a078dae6d55cc21e85452ac04a4a939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 11 Jun 2021 08:30:04 +0200 Subject: Fix references.bib --- buch/papers/reedsolomon/references.bib | 31 ------------------------------- 1 file changed, 31 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/references.bib b/buch/papers/reedsolomon/references.bib index 4c1d17a..731bd35 100644 --- a/buch/papers/reedsolomon/references.bib +++ b/buch/papers/reedsolomon/references.bib @@ -13,8 +13,6 @@ day = {10} } -% https://link.springer.com/chapter/10.1007%2F978-3-8351-9077-1_9 - @book{reedsolomon:informationkommunikation, title = {Information und Kommunikation}, author = {Markus Hufschmid}, @@ -25,32 +23,3 @@ volume = {1} } -% Beispiele -%@online{reedsolomon:bibtex, -% title = {BibTeX}, -% url = {https://de.wikipedia.org/wiki/BibTeX}, -% date = {2020-02-06}, -% year = {2020}, -% month = {2}, -% day = {6} -%} -% -%@book{reedsolomon:numerical-analysis, -% title = {Numerical Analysis}, -% author = {David Kincaid and Ward Cheney}, -% publisher = {American Mathematical Society}, -% year = {2002}, -% isbn = {978-8-8218-4788-6}, -% inseries = {Pure and applied undegraduate texts}, -% volume = {2} -%} -% -%@article{reedsolomon:mendezmueller, -% author = { Tabea Méndez and Andreas Müller }, -% title = { Noncommutative harmonic analysis and image registration }, -% journal = { Appl. Comput. Harmon. Anal.}, -% year = 2019, -% volume = 47, -% pages = {607--627}, -% url = {https://doi.org/10.1016/j.acha.2017.11.004} -%} \ No newline at end of file -- cgit v1.2.1 From f04279543c41d828b0684fe603e09cfb4f9ed8b1 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Wed, 23 Jun 2021 20:00:21 +0200 Subject: several changes --- buch/papers/reedsolomon/codebsp.tex | 72 ++++++++++++++++++----------- buch/papers/reedsolomon/decmitfehler.tex | 2 +- buch/papers/reedsolomon/endlichekoerper.tex | 8 ++-- buch/papers/reedsolomon/main.tex | 2 +- buch/papers/reedsolomon/rekonstruktion.tex | 2 +- 5 files changed, 51 insertions(+), 35 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 262297e..6ab792a 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -5,14 +5,14 @@ % \section{Codierung eines Beispiels \label{reedsolomon:section:codebsp}} -\rhead{Koerper Festlegen} +\rhead{Codierung eines Beispiels} Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. -Da wir in Endlichen Körpern Rechnen werden wir zuerst solch einen Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6 (wie verweist man auf eine definition?)} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. -Wir legen für unser Beispiel den endlichen Körper mit $q = 11$ fest. +Da wir in endlichen Körpern rechnen, werden wir zuerst solch einen Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6 (verweis auf eine Definition im Buch ohne label)} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. +Wir legen für unser Beispiel den endlichen Körper $\mathbb{F}_{q}$ mit $q = 11$ fest. Zur Hilfestellung können dazu die beiden Tabellen \ref{reedsolomon:subsection:adtab} und -\ref{reedsolomon:subsection:mptab} hinzugezogen werden. Diese Tabellen enthalten sämtliche Resultate aller gültigen Operationen \textcolor{red}{(Notiz: nach meinem Wissen gibt es ja nur addition und multiplikation als gültige operationen)}, die in diesem Körper durchgeführt werden können. -Aus der Definition der Endlichen Körper (ersichtlich auch in den Tabellen) folgt, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur verfügung stehen und somit $11 = 0$ gelten muss. +\ref{reedsolomon:subsection:mptab} hinzugezogen werden. Diese Tabellen enthalten die Resultate der arithmetischen Operationen im Körper $\mathbb{F}_{11}$, die durchgeführt werden können. +Aus der Definition der endlichen Körper (ersichtlich auch in den Tabellen) folgt, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen und somit $11 = 0$ gelten muss. % OLD TEXT %Alle folgenden Berechnungen wurden mit den beiden Restetabellen \ref{reedsolomon:subsection:adtab} und \ref{reedsolomon:subsection:mptab} durchgeführt. @@ -22,7 +22,7 @@ Aus der Definition der Endlichen Körper (ersichtlich auch in den Tabellen) folg %\input{papers/reedsolomon/restetabelle1} %\input{papers/reedsolomon/restetabelle2} -Anhand der Menge uns zur Verfügung stehenden Zahlen wird auch festgelegt, wie viele Zahlen ein Nachrichtenblock $n$, bestehend aus Nutzdatenteil und Fehlerkorrekturteil, umfassen kann. +Die Menge uns zur Verfügung stehender Zahlen legt auch fest, wie viele Zahlen ein Nachrichtenblock $n$, bestehend aus Nutzdatenteil und Fehlerkorrekturteil, umfassen kann. Der Nachrichtenblock im Beispiel besteht aus \[ n = q - 1 = 10 \text{ Zahlen}, @@ -52,16 +52,16 @@ k = n - 2t = 6\text{ Zahlen} \] übertragen. -Zusammenfassend haben wir einen Nachrichtenblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten zu rekonstruieren. Zudem werden wir im weiteren feststellen, dass dieser Code maximal vier Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. +Zusammenfassend haben wir einen Nachrichtenblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist, aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten zu rekonstruieren. Zudem werden wir im weiteren feststellen, dass dieser Code maximal vier Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. -Wir legen nun die Nachricht +Wir legen nun für das Beispiel die Nachricht \[ m = [0,0,0,0,4,7,2,5,8,1] \] fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Stellen für die Fehlerkorrektur zuständig sind. -Solange diese Stellen vor dem Codieren und nach dem Decodieren den Wert null haben, so ist die Nachricht Fehlerfrei übertragen worden. +Solange diese Stellen vor dem Codieren und nach dem Decodieren den Wert null haben, so ist die Nachricht fehlerfrei übertragen worden. -Da wir in den folgenden Abschnitten mit Polynomen arbeiten, stellen wir die Nachicht auch noch als Polynom +Da wir in den folgenden Abschnitten mit Polynomen arbeiten, stellen wir die Nachricht auch noch als Polynom \[ m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \] @@ -77,8 +77,8 @@ dar. \subsection{Der Ansatz der diskreten Fouriertransformation \label{reedsolomon:subsection:diskFT}} -In einem vorherigen Kapitel \textcolor{red}{(???)} haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $e$ in endlichen Körpern nicht existiert. -Wir legen deshalb die Zahl $a$ fest. Diese Zahl soll die gleichen aufgaben haben, wie $e^{\frac{j}{2 \pi}}$ in der Diskreten Fouriertransformation, nur mit dem Unterschied, dass $a$ in $\mathbb{F}_{11}$ existiert. Dazu soll $a$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken, um +In einem vorherigen Abschnitt \textcolor{red}{(???)} haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $e$ in endlichen Körpern nicht existiert. +Wir wählen deshalb eine Zahl $a$, die die gleichen Aufgaben haben soll wie $e^{\frac{j}{2 \pi}}$ in der diskreten Fouriertransformation, nur mit dem Unterschied, dass $a$ in $\mathbb{F}_{11}$ ist. Dazu soll die Potenz von $a$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken, um \[ \mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} \] @@ -118,22 +118,36 @@ umzuschreiben. Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen \begin{center} -\begin{tabular}{c r c l} -%$a = 0 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\}$ \\ -$a = 1 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\}$ \\ -$a = 2 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\}$ \\ -$a = 3 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\}$ \\ -$a = 4 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\}$ \\ -$a = 5 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\}$ \\ -$a = 6 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\}$ \\ -$a = 7 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\}$ \\ -$a = 8 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\}$ \\ -$a = 9 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\}$ \\ -$a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ +\begin{tabular}{c c c c c c c} +$a = 1$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 2$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\}$ & $ = $ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 3$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 4$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 5$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 6$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\}$ & $ = $ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 7$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\}$ & $ = $ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 8$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\}$ & $ = $ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 9$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 10$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ \end{tabular} \end{center} -so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. -Wenden wir diese Vorgehensweise auch für andere Endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. Für das Beispiel wählen wir die Zahl $a^i = 8$. +%\begin{center} +%\begin{tabular}{c r c l} +%%$a = 0 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\}$ \\ +%$a = 1 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\}$ \\ +%$a = 2 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\}$ \\ +%$a = 3 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\}$ \\ +%$a = 4 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\}$ \\ +%$a = 5 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\}$ \\ +%$a = 6 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\}$ \\ +%$a = 7 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\}$ \\ +%$a = 8 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\}$ \\ +%$a = 9 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\}$ \\ +%$a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ +%\end{tabular} +%\end{center} +so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em primitive Einheitswurzel \em genannt. +Wenden wir diese Vorgehensweise auch für andere endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. Für das Beispiel wählen wir die Zahl $a = 8$. \subsubsection{Bildung einer Transformationsmatrix \label{reedsolomon:subsection:transMat}} @@ -150,12 +164,13 @@ Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu $m(8^9) = 4 \cdot 7^5 + 7 \cdot 7^4 + 2 \cdot 7^3 + 5 \cdot 7^2 + 8 \cdot 7^1 + 1 = 4$ \end{tabular} \end{center} -unser Übertragungsvektor. Um das ganze noch ein wenig übersichtlicher zu gestalten können wir die Polynome zu einer Matrix zusammenfassen und bildet so unsere Transformationsmatrix $A$. +unser Übertragungsvektor. \subsection{Allgemeine Codierung \label{reedsolomon:subsection:algCod}} +Um das Ganze noch ein wenig übersichtlicher zu gestalten können wir die Polynome zu einer Matrix zusammenfassen, die unsere Transformationsmatrix $A$ bildet. -Für die Codierung benötigen wir die Nachricht $m$, die Codiert werden soll sowie die Transformationsmatrix $A$. Daraus erhalten wir den Übertragungsvektor $v$. Setzen wir die Zahlen aus dem Beispiel ein erhalten wir folgende Darstellung. +Für die allgemeine Codierung benötigen wir die Nachricht $m$, die codiert werden soll, sowie die Transformationsmatrix $A$. Daraus erhalten wir den Übertragungsvektor $v$. Setzen wir die Zahlen aus dem Beispiel ein erhalten wir folgende Darstellung: \[ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ @@ -173,6 +188,7 @@ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} +. \] Für unseren Übertragungsvektor resultiert \[ diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index feaa027..1f195e9 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -5,7 +5,7 @@ % \section{Decodierung: Ansatz mit Fehlerkorrektur \label{reedsolomon:section:decmitfehler}} -\rhead{fehlerhafte rekonstruktion} +\rhead{Decodierung mit Fehler} Bisher haben wir die Decodierung unter der Bedingung durchgeführt, dass der Übertragungsvektor fehlerlos versendet und empfangen wurde. In der realen Welt müssen wir uns jedoch damit abfinden, dass kein Übertragungskanal garantiert fehlerfrei ist und das wir früher oder später mit Fehlern rechnen müssen. Genau für dieses Problem wurden Fehler korrigierende Codes, wie der Reed-Solomon-Code, entwickelt. diff --git a/buch/papers/reedsolomon/endlichekoerper.tex b/buch/papers/reedsolomon/endlichekoerper.tex index 146067a..19e5dd4 100644 --- a/buch/papers/reedsolomon/endlichekoerper.tex +++ b/buch/papers/reedsolomon/endlichekoerper.tex @@ -5,10 +5,10 @@ % \section{Reed-Solomon in Endlichen Körpern \label{reedsolomon:section:endlichekoerper}} -\rhead{Problemstellung} - -\textcolor{red}{TODO: (warten auf den 1. Teil)} - +\rhead{Reed-Solomon in endlichen Körpern} +\[ +\textcolor{red}{\text{TODO: (warten auf den 1. Teil)}} +\] Das Rechnen in endlichen Körpern bietet einige Vorteile: \begin{itemize} diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index fa20936..b4899cb 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -4,7 +4,7 @@ % (c) 2020 Hochschule Rapperswil % \chapter{Reed-Solomon-Code\label{chapter:reedsolomon}} -\lhead{Thema} +\lhead{Reed-Solomon-Code} \begin{refsection} \chapterauthor{Joshua Bär und Michael Steiner} diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index 89a700f..40919d7 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -6,7 +6,7 @@ % \section{Nachricht Rekonstruieren \label{reedsolomon:section:rekonstruktion}} -\rhead{Rekonstruktion} +\rhead{Rekonstruktion der Nachricht} Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die fehlerhaften Stellen lokalisieren können. Mit diesen Stellen soll es uns nun möglich sein, aus dem fehlerhaften empfangenen Nachrichtenvektor wieder unsere Nachricht zu rekonstruieren. Das Lokatorpolynom -- cgit v1.2.1 From fa0d3a4ead1df4b8587035b8b62b42375f970ba9 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 24 Jun 2021 18:47:13 +0200 Subject: all files updated and corrected --- buch/papers/reedsolomon/codebsp.tex | 6 +- buch/papers/reedsolomon/decmitfehler.tex | 43 ++++++----- buch/papers/reedsolomon/decohnefehler.tex | 115 +++++++++++++++++++++++++--- buch/papers/reedsolomon/hilfstabellen.tex | 2 +- buch/papers/reedsolomon/main.tex | 6 +- buch/papers/reedsolomon/nachschlagewerk.tex | 4 - buch/papers/reedsolomon/rekonstruktion.tex | 9 ++- buch/papers/reedsolomon/zusammenfassung.tex | 15 ++++ 8 files changed, 156 insertions(+), 44 deletions(-) delete mode 100644 buch/papers/reedsolomon/nachschlagewerk.tex create mode 100644 buch/papers/reedsolomon/zusammenfassung.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 6ab792a..0339d9c 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -147,12 +147,12 @@ $a = 10$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 10, 1, 10, 1 %\end{tabular} %\end{center} so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em primitive Einheitswurzel \em genannt. -Wenden wir diese Vorgehensweise auch für andere endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. Für das Beispiel wählen wir die Zahl $a = 8$. +Wenden wir diese Vorgehensweise auch für andere endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzel auszuwählen, mit der wir weiter rechnen wollen. Für das Beispiel wählen wir die Zahl $a = 8$. \subsubsection{Bildung einer Transformationsmatrix \label{reedsolomon:subsection:transMat}} -Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu Codieren. Daraus sollen wir dann einen Übertragungsvektor $v$ erhalten, den wir an den Empfänger schicken können. Für die Codierung müssen wir alle $a^i$ in das Polynom $m(X)$ einsetzen. Da wir $a^i = 8^i$ gewählt haben ergibt sich daraus +Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu Codieren. Daraus sollen wir dann einen Übertragungsvektor $v$ erhalten, den wir an den Empfänger schicken können. Für die Codierung müssen wir alle $a^i$ in das Polynom $m(X)$ einsetzen. Da wir $a^i = 8^i$ gewählt haben, ergibt sich daraus % %Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. % @@ -164,7 +164,7 @@ Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu $m(8^9) = 4 \cdot 7^5 + 7 \cdot 7^4 + 2 \cdot 7^3 + 5 \cdot 7^2 + 8 \cdot 7^1 + 1 = 4$ \end{tabular} \end{center} -unser Übertragungsvektor. +als unser Übertragungsvektor. \subsection{Allgemeine Codierung \label{reedsolomon:subsection:algCod}} diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index 1f195e9..a46d7da 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -10,12 +10,12 @@ Bisher haben wir die Decodierung unter der Bedingung durchgeführt, dass der Üb In der realen Welt müssen wir uns jedoch damit abfinden, dass kein Übertragungskanal garantiert fehlerfrei ist und das wir früher oder später mit Fehlern rechnen müssen. Genau für dieses Problem wurden Fehler korrigierende Codes, wie der Reed-Solomon-Code, entwickelt. In diesem Abschnitt betrachten wir somit die Idee der Fehlerkorrektur und wie wir diese auf unser Beispiel anwenden können. + Der Übertragungskanal im Beispiel weisst jetzt den Fehlervektor \[ u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] \] auf. - Senden wir jetzt unser Übertragungsvektor $v$ durch diesen Kanal addiert sich der Fehlervektor $u$ auf unsere Übertragung und wir erhalten \begin{center} @@ -73,10 +73,10 @@ als neuen, fehlerbehafteten Übertragungsvektor $w$ auf der Empfängerseite. % %\end{center} %als Übertragungsvektor auf der Empfängerseite erhalten. -Wir jetzt als Empfänger wissen jedoch nicht, dass der erhaltene Übertragungsvektor jetzt fehlerbehaftet ist und werden dementsprechend den Ansatz aus Abschnitt \ref{reedsolomon:section:decohnefehler} anwenden. +Als Empfänger wissen wir jedoch nicht, dass der erhaltene Übertragungsvektor jetzt fehlerbehaftet ist und werden dementsprechend den Ansatz aus Abschnitt \ref{reedsolomon:section:decohnefehler} anwenden. Wir stellen jedoch recht schnell fest, dass am decodierten Nachrichtenblock \[ -r = [\underbrace{5,7,4,10,}_{\text{Syndrom}}5,4,5,7,6,7]. +r = [\underbrace{5,7,4,10,}_{\text{Syndrom}}5,4,5,7,6,7] \] etwas nicht in Ordnung ist, denn die vorderen vier Fehlerkorrekturstellen haben nicht mehr den Wert null. Der Nachrichtenblock weisst jetzt ein \em Syndrom \em auf, welches anzeigt, dass der Übertragungsvektor fehlerhaft empfangen wurde. @@ -85,21 +85,29 @@ Der Nachrichtenblock weisst jetzt ein \em Syndrom \em auf, welches anzeigt, dass %\[ %r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. %\] -Jetzt stellt sich natürlich die Frage, wie wir daraus den ursprünglich gesendeten Nachrichtenvektor zurückerhalten sollen. Laut der Definition über die Funktionsweise eines Reed-Solomon-Codes können wir aus den Fehlerkorrekturstellen ein ``Lokatorpolynom'' berechnen, welches die Information enthält, welche stellen innerhalb des empfangenen Übertragungsvektors fehlerhaft sind. +Jetzt stellt sich natürlich die Frage, wie wir daraus den ursprünglich gesendeten Nachrichtenvektor zurückerhalten sollen. Laut der Definition über die Funktionsweise eines Reed-Solomon-Codes können wir aus den Fehlerkorrekturstellen ein ``Lokatorpolynom'' berechnen, welches die Information enthält, welche Stellen innerhalb des empfangenen Übertragungsvektors fehlerhaft sind. \subsection{Das Fehlerstellenpolynom $d(X)$ \label{reedsolomon:subsection:fehlerpolynom}} -Bevor wir unser Lokatorpolynom berechnen können, müssen wir zuerst eine Möglichkeit finden, die Fehlerhaften von den Korrekten Stellen im Übertragungsvektor unterscheiden zu können. In einem ersten Versuch könnten wir $d$ berechnen mit +Bevor wir unser Lokatorpolynom berechnen können, müssen wir zuerst eine Möglichkeit finden, die fehlerhaften von den korrekten Stellen im Übertragungsvektor unterscheiden zu können. +In einem ersten Versuch berechnen wir die Differenz $d$ des empfangenen und dem gesendeten Übertragungsvektor mit +%Alle Stellen in $d$, die nicht null sind sind demnach fehler. +% +%In einem ersten Versuch könnten wir $d$ berechnen mit \begin{center} \begin{tabular}{r c l} $m(X)$ & $=$ & $4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ \\ $r(X)$ & $=$ & $5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ \\ - $d(X)$ & $=$ & $r(X) - m(X)$. + $d(X)$ & $=$ & $r(X) - m(X)$ \end{tabular} \end{center} -Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, wir werden werden deshalb erst in Abschnitt \ref{reedsolomon:subsection:nachrichtenvektor} darauf zurückkommen. +und nennen $d(X)$ als unseres Fehlerstellenpolynom. Dieses Polynom soll uns sagen, welche Stellen korrekt und welche fehlerhaft sind. -Setzen wir jetzt noch unsere Einheitswurzel aus dem Beispiel ein so erhalten wir +Durch das verwenden von $m(X)$ stossen wir auf weitere Probleme, da wir den Nachrichtenvektor auf der Empfängerseite nicht kennen (unser Ziel ist es ja genau diesen zu finden). Dieses Problem betrachten wir im Abschnitt \ref{reedsolomon:subsection:nachrichtenvektor} genauer. Um die Überlegungen in den folgenden Abschnitten besser zu verstehen sei $m(X)$ bekannt auf der Empfängerseite. + +%Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, wir werden werden deshalb erst in Abschnitt \ref{reedsolomon:subsection:nachrichtenvektor} darauf zurückkommen. + +Setzen wir jetzt unsere Einheitswurzel aus dem Beispiel ein so erhalten wir % Old Text %\begin{align} % m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ @@ -126,15 +134,15 @@ Für das einfache Bestimmen von Hand mag dies ja noch ausreichen, jedoch können \subsection{Mit dem grössten gemeinsamen Teiler auf Nullstellenjagd \label{reedsolomon:subsection:ggT}} -Zuerst betrachten wir mal den Satz von Fermat deren Funktionsweise wir in Abschnitt \ref{buch:section:galoiskoerper} kennengelernt haben. Der besagt, dass für +Zuerst betrachten wir den Satz von Fermat, dessen Funktionsweise wir in Abschnitt \ref{buch:section:galoiskoerper} kennengelernt haben. Der besagt, dass \[ f(X) = X^{q-1} -1 = 0 \] -wobei dies für jedes $q$ gilt. Setzen wir also das $q$ von unserem Beispiel ein +gilt für jedes $X$. Setzen wir das $q$ von unserem Beispiel ein \[ f(X) = X^{10}-1 = 0 \qquad \text{für } X = \{1,2,3,4,5,6,7,8,9,10\} \] -und stellen dies als Nullstellenform (\textcolor{red}{richtiger name für die Schreibweise?}) dar. So ergibt sich die Darstellung +und stellen dies als Faktorisierung dar. So ergibt sich die Darstellung \[ f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9). \] @@ -145,7 +153,7 @@ Wir können jetzt auch $d(X)$ nach der gleichen Überlegung darstellen als d(X) = (X-a^0)(X-a^1)(X-a^2)\textcolor{gray!40}{(X-a^3)}(X-a^4)(X-a^5)(X-a^6)(X-a^7)\textcolor{gray!40}{(X-a^8)}(X-a^9) \cdot p(x), \] wobei diese Darstellung nicht mehr alle Nullstellen umfasst wie es noch in $f(X)$ der Fall war. -Dies liegt daran, dass wir ja zwei Fehlerstellen (grau markiert) haben, die nicht Null sind. Diese fassen wir zum Restpolynom $p(X)$ (\textcolor{red}{eventuell farblich kennzeichnen?}) zusammen. +Dies liegt daran, dass wir ja zwei Fehlerstellen (grau markiert) haben, die nicht Null sind. Diese fassen wir zum Restpolynom $p(X)$ zusammen. Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $d(X)$ berechnen, so erhalten wir mit \[ \operatorname{ggT}(f(X),d(X)) = (X-a^0)(X-a^1)(X-a^2)\textcolor{gray!40}{(X-a^3)}(X-a^4)(X-a^5)(X-a^6)(X-a^7)\textcolor{gray!40}{(X-a^8)}(X-a^9) @@ -174,7 +182,7 @@ l(X) = (X-a^3)(X-a^8) \] unser gesuchtes Lokatorpolynom. Es scheint so als müssten wir nur noch an den besagten Stellen den Übertragungsvektor korrigieren und wir währen fertig mit der Fehlerkorrektur. -Jedoch haben wir noch ein grundlegendes Problem, dass zu beginn aufgetaucht ist, wir aber beiseite geschoben haben. Die Rede ist natürlich vom Nachrichtenvektor $m(X)$, mit dem wir in erster Linie das wichtige Fehlerstellenpolynom $d(X)$ berechnet haben. +Jedoch haben wir noch ein grundlegendes Problem, dass zu Beginn aufgetaucht ist, wir aber beiseite geschoben haben. Die Rede ist natürlich vom Nachrichtenvektor $m(X)$, mit dem wir in erster Linie das wichtige Fehlerstellenpolynom $d(X)$ berechnet haben, auf der Empfängerseite aber nicht kennen. \subsection{Der problematische Nachrichtenvektor $m(X)$ \label{reedsolomon:subsection:nachrichtenvektor}} @@ -190,20 +198,18 @@ Wir könnten uns höchstens noch fragen, ob wir tatsächlich nichts über den Na \[ m = [0,0,0,0,4,7,2,5,8,1] \] -fällt uns aber auf, dass wir doch etwas über diesen Vektor wissen, nämlich den Wert der ersten 2t (im Beispiel vier) stellen. -Im Normalfall sollen diese nämlich den Wert null betragen und somit sind nur die letzten k stellen (im Beispiel sechs) für uns unbekannt, dargestellt als +fällt uns aber auf, dass wir doch etwas über diesen Vektor wissen, nämlich den Wert der ersten $2t$ (im Beispiel vier) stellen. +Im Normalfall sollen diese nämlich den Wert null betragen und somit sind nur die letzten $k$ stellen (im Beispiel sechs) für uns unbekannt, dargestellt als \[ m = [0,0,0,0,?,?,?,?,?,?]. \] -Wie der Zufall es so will liegt an diesen vier Stellen auch die Information, wo die Fehlerstellen liegen. Daher reicht es auch aus +Nach der Definition des Reed-Solomon-Codes soll an genau diesen vier Stellen auch die Information befinden, wo die Fehlerstellen liegen. Daher reicht es auch aus % darum werden die stellen auch als fehlerkorrekturstellen bezeichnet \[ d(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) \] so zu berechnen, dass wir die wichtigen vier Stellen kennen, der Rest des Polynoms jedoch im unbekannten Restpolynom $p(X)$ enthalten ist. -\textcolor{red}{ist das wechseln zwischen 2t,k aus dem allgemeinfall und vier,sechs aus dem beispiel zu verwirrend?} - \subsection{Die Berechnung der Fehlerstellen \label{reedsolomon:subsection:nachrichtenvektor}} @@ -294,6 +300,7 @@ Daraus erhalten wir die Faktoren \[ l(X) = 2X^2 + 5 \qquad \rightarrow \qquad l(X) = 2(X-5)(X-6). \] +\subsubsection{Schritt 3: Fehlerstellen bestimmen} Unser gesuchtes Lokatorpolynom hat also die Form \[ l(X) = (X-a^i)(X-a^j). diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 3b709f3..0470db0 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -5,7 +5,7 @@ % \section{Decodierung: Ansatz ohne Fehler \label{reedsolomon:section:decohnefehler}} -\rhead{fehlerlose rekonstruktion} +\rhead{Decodierung ohne Fehler} In diesem Abschnitt betrachten wie die Überlegung, wie wir auf der Empfängerseite die Nachricht aus dem empfangenen Übertragungsvektor erhalten. Nach einer einfachen Überlegung müssen wir den Übertragungsvektor decodieren, was auf den ersten Blick nicht allzu kompliziert sein sollte, solange wir davon ausgehen können, dass es während der Übertragung keine Fehler gegeben hat. Wir betrachten deshalb den Übertragungskanal als fehlerfrei. @@ -33,7 +33,7 @@ Definiert ist sie als \[ F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \qquad \Rightarrow \qquad \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega. \] -Damit beschäftigen wir uns im Abschnitt \ref{reedsolomon:subsection:algdec} weiter, konkret suchen wir momentan aber eine Inverse für unsere primitive Einheitswurzel $a$. +Damit beschäftigen wir uns im Abschnitt \ref{reedsolomon:subsection:sfaktor} weiter, konkret suchen wir momentan aber eine Inverse für unsere primitive Einheitswurzel $a$. \[ 8^1 \qquad \rightarrow \qquad 8^{-1} \] @@ -45,7 +45,7 @@ Mit einem solchen Problem haben wir uns bereits in Abschnitt \ref{buch:section:e \subsection{Inverse der primitiven Einheitswurzel \label{reedsolomon:subsection:invEinh}} -Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \ref{buch:section:euklid} ausführlich beschrieben. +Die Funktionsweise des euklidischen Algorithmus ist im Abschnitt \ref{buch:section:euklid} ausführlich beschrieben. Für unsere Anwendung wählen wir die Parameter $a = 8$ und $b = 11$ ($\mathbb{F}_{11}$). Daraus erhalten wir @@ -76,21 +76,112 @@ Daraus erhalten wir \end{tabular} \end{center} -als Inverse der primitiven Einheitswurzel. Die inverse Transformationsmatrix $A^{-1}$ bilden wir indem wir jetzt die inverse primitive Einheitswurzel anstelle der primitiven Einheitswurzel in die Matrix einsetzen. +als Inverse der primitiven Einheitswurzel. Die inverse Transformationsmatrix $A^{-1}$ bilden wir, indem wir jetzt die inverse primitive Einheitswurzel anstelle der primitiven Einheitswurzel in die Matrix einsetzen: +\[ +\begin{pmatrix} + 8^0 & 8^0 & 8^0 & 8^0 & \dots & 8^0 \\ + 8^0 & 8^{-1} & 8^{-2} & 8^{-3} & \dots & 8^{-9} \\ + 8^0 & 8^{-2} & 8^{-4} & 8^{-6} & \dots & 8^{-18} \\ + 8^0 & 8^{-3} & 8^{-6} & 8^{-9} & \dots & 8^{-27} \\ + \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\ + 8^0 & 8^{-9} & 8^{-18} & 8^{-27} & \dots & 8^{-81} \\ +\end{pmatrix} +\qquad +\Rightarrow +\qquad +\begin{pmatrix} + 7^0 & 7^0 & 7^0 & 7^0 & \dots & 7^0 \\ + 7^0 & 7^{1} & 7^{2} & 7^{3} & \dots & 7^{9} \\ + 7^0 & 7^{2} & 7^{4} & 7^{6} & \dots & 7^{18} \\ + 7^0 & 7^{3} & 7^{6} & 7^{9} & \dots & 7^{27} \\ + \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\ + 7^0 & 7^{9} & 7^{18} & 7^{27} & \dots & 7^{81} \\ +\end{pmatrix} +\] -\subsection{Allgemeine Decodierung - \label{reedsolomon:subsection:algdec}} +\subsection{Der Faktor $s$ + \label{reedsolomon:subsection:sfaktor}} +Die diskrete Fouriertransformation benötigt für die Inverse einen Vorfaktor von $\frac{1}{2\pi}$. +Primitiv nehmen wir an, dass wir für die Inverse Transformationsmatrix ebenfalls einen benötigen. +Nur stellt sich jetzt die Frage, wie wir diesen Vorfaktor in unserem Fall ermitteln können. +Dafür betrachten wir eine Regel aus der Linearen Algebra, nämlich dass -Wir haben jetzt fast alles für eine erfolgreiche Rücktransformation beisammen. Wir haben aber noch nicht alle Aspekte der inversen diskreten Fouriertransformation befolgt, so fehlt uns noch einen Vorfaktor \[ -m = \textcolor{red}{s} \cdot A^{-1} \cdot v +A \cdot A^{-1} = E +\] +entsprechen muss. +Ist dies nicht der Fall, so benötigt $A^{-1}$ eben genau diesen Korrekturfaktor und ändert die Gleichung so zu +\begin{equation} + A \cdot s \cdot A^{-1} = E. + \label{reedsolomon:equation:sfaktor} +\end{equation} +%\[ +%A \cdot s \cdot A^{-1} = E. +%\] +Somit sollte es für uns ein leichtes Spiel sein, $s$ für unser Beispiel zu ermitteln: +\[ +\begin{pmatrix} + 8^0 & 8^0 & 8^0 & \dots & 8^0 \\ + 8^0 & 8^1 & 8^2 & \dots & 8^9 \\ + 8^0 & 8^2 & 8^4 & \dots & 8^{18} \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + 8^0 & 8^9 & 8^{18} & \dots & 8^{81} \\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 7^0 & 7^0 & 7^0 & \dots & 7^0 \\ + 7^0 & 7^{1} & 7^{2} & \dots & 7^{9} \\ + 7^0 & 7^{2} & 7^{4} & \dots & 7^{18} \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + 7^0 & 7^{9} & 7^{18} & \dots & 7^{81} \\ +\end{pmatrix} += +\begin{pmatrix} + 10 & 0 & 0 & \dots & 0 \\ + 0 & 10 & 0 & \dots & 0 \\ + 0 & 0 & 10 & \dots & 0 \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + 0 & 0 & 0 & \dots & 10 \\ +\end{pmatrix} \] -den wir noch bestimmen müssen. -Glücklicherweise lässt der sich analog wie bei der inversen diskreten Fouriertransformation bestimmen und beträgt +Aus der letzten Matrix folgt, dass wir \[ -s = \frac{1}{10}. +s = \dfrac{1}{10} \] -Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ in $\mathbb{F}_{11}$ ergibt. Somit lässt sich der Nachrichtenvektor einfach bestimmen mit +als unseren Vorfaktor setzen müssen um die Gleichung \ref{reedsolomon:equation:sfaktor} zu erfüllen. Da wir in $\mathbb{F}_{11}$ nur mit ganzen Zahlen arbeiten schreiben wir $\frac{1}{10}$ in $10^{-1}$ um und bestimmen diese Inverse erneut mit dem euklidischen Algorithmus und erhalten für $10^{-1} = 10$ als unseren Vorfaktor in $\mathbb{F}_{11}$. +% +%erfüllt wird. Wir schreiben den Bruch um in $\frac{1}{10} = 10^{-1}$ und wenden darauf erneut den euklidischen Algorithmus an und erhalten somit den Vorfaktor $10^{-1} = 10 = s$ in $\mathbb{F}_{11}$. +% +%Um $s$ eindeutig zu bestimmen müssen wir $\frac{1}{10}$ nur noch in den Bereich von $\mathbb{F}_{11}$ verschieben. Wie sich herausstellt können wir das recht einfach bewerkstelligen, da $\frac{1}{10} = 10^{-1}$ entspricht. Daraus können wir $s$ mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ in $\mathbb{F}_{11}$ ergibt. +% +%Da $s$ jetzt ein Bruch ist brauchen wir ihn nur noch in $\mathbb{F}_{11}$ zu schieben. Praktischerweise können wir $\frac{1}{10} = 10^{-1}$ darstellen +% +%Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ in $\mathbb{F}_{11}$ ergibt. +% +%Daher nehmen wir an, dass wir für die Inverse Transformationsmatrix ebenfalls ein solcher Vorfaktor benötigen. Dieser Faktor hat seinen Ursprung in der Gleichung +%\[ +%A \cdot A^{-1} = E. +%\] +%Sollte diese Gleichung nicht aufgehen, so muss die Inverse mit +\subsection{Allgemeine Decodierung + \label{reedsolomon:subsection:algdec}} + +Wir haben jetzt alles für eine erfolgreiche Rücktransformation vom empfangenen Nachrichtenvektor beisammen. Die allgemeine Gleichung für die Rücktransformation lautet +\[ +m = s \cdot A^{-1} \cdot v. +\] +Setzen wir nun die Werte ein in +% +%Wir haben aber noch nicht alle Aspekte der inversen diskreten Fouriertransformation befolgt, so fehlt uns noch einen Vorfaktor +%\[ +%m = \textcolor{red}{s} \cdot A^{-1} \cdot v +%\] +%den wir noch bestimmen müssen. +%Glücklicherweise lässt der sich analog wie bei der inversen diskreten Fouriertransformation bestimmen und beträgt +%\[ +%s = \frac{1}{10}. +%\] +%Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ in $\mathbb{F}_{11}$ ergibt. Somit lässt sich der Nachrichtenvektor einfach bestimmen mit \[ m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ diff --git a/buch/papers/reedsolomon/hilfstabellen.tex b/buch/papers/reedsolomon/hilfstabellen.tex index 4e39de5..b006f21 100644 --- a/buch/papers/reedsolomon/hilfstabellen.tex +++ b/buch/papers/reedsolomon/hilfstabellen.tex @@ -4,7 +4,7 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{$\mathbb{F}_{11}$ Hilfstabellen +\section{Hilfstabellen für $\mathbb{F}_{11}$ \label{reedsolomon:section:hilfstabellen}} \rhead{Hilfstabellen} diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index b4899cb..4e2fd60 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -1,7 +1,7 @@ % % main.tex -- Paper zum Thema % -% (c) 2020 Hochschule Rapperswil +% (c) 2021 Joshua Bär und Michael Steiner, Hochschule Rapperswil % \chapter{Reed-Solomon-Code\label{chapter:reedsolomon}} \lhead{Reed-Solomon-Code} @@ -39,9 +39,9 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \input{papers/reedsolomon/decohnefehler} \input{papers/reedsolomon/decmitfehler} \input{papers/reedsolomon/rekonstruktion} -\input{papers/reedsolomon/nachschlagewerk} -\input{papers/reedsolomon/hilfstabellen} +\input{papers/reedsolomon/zusammenfassung} %\input{papers/reedsolomon/anwendungen} -> geplant +\input{papers/reedsolomon/hilfstabellen} \nocite{reedsolomon:weitz} \nocite{reedsolomon:informationkommunikation} diff --git a/buch/papers/reedsolomon/nachschlagewerk.tex b/buch/papers/reedsolomon/nachschlagewerk.tex deleted file mode 100644 index 60b857e..0000000 --- a/buch/papers/reedsolomon/nachschlagewerk.tex +++ /dev/null @@ -1,4 +0,0 @@ -\section{Nachschlagewerk - \label{reedsolomon:section:nachschlagen}} -\rhead{nachschlagewerk} -todo: auflistung von z.b nachrichtenvektor, übertragungsvektor usw. inklusiver erklärung was es ist falls man beim lesen den faden verliert \ No newline at end of file diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index 40919d7..04e748c 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -7,7 +7,7 @@ \section{Nachricht Rekonstruieren \label{reedsolomon:section:rekonstruktion}} \rhead{Rekonstruktion der Nachricht} -Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die fehlerhaften Stellen lokalisieren können. +Im letzten Abschnitt haben wir eine Möglichkeit gefunden, wie wir die fehlerhaften Stellen lokalisieren können. Mit diesen Stellen soll es uns nun möglich sein, aus dem fehlerhaften empfangenen Nachrichtenvektor wieder unsere Nachricht zu rekonstruieren. Das Lokatorpolynom \[ @@ -21,7 +21,7 @@ Als Ausgangslage verwenden wir die Matrix, mit der wir den Nachrichtenvektor urs Unser Ziel ist es wie auch schon im Abschnitt \ref{reedsolomon:section:decohnefehler} eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Abschnitt \ref{reedsolomon:section:decohnefehler} angewendet haben. -Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen. +Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen: \[ \textcolor{gray}{ \begin{pmatrix} @@ -47,8 +47,9 @@ Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen. \begin{pmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ \end{pmatrix} +. \] -Die rot markierten Stellen im Übertragungsvektor enthalten Fehler und bringt uns daher kein weiterer Nutzen. +Die rot markierten Stellen im Übertragungsvektor enthalten Fehler und bringt uns daher keinen weiterer Nutzen. Aus diesem Grund werden diese Stellen aus dem Vektor entfernt, was wir hier ohne Probleme machen können, da dieser Code ja über Fehlerkorrekturstellen verfügt, deren Aufgabe es ist, eine bestimmte Anzahl an Fehler kompensieren zu können. Die dazugehörigen Zeilen in der Matrix werden ebenfalls entfernt, da die Matrix gleich viele Zeilen wie im Übertragungsvektor aufweisen muss, damit man ihn decodieren kann. @@ -183,3 +184,5 @@ m = [4,7,2,5,8,1] \] zurück, den wir ursprünglich versendet haben. +Wir möchten noch anmerken, dass es mehrere Wege für die Rekonstruktion des Nutzdatenteils gibt, diese aber alle auf dem Lokatorpolynom basieren. + diff --git a/buch/papers/reedsolomon/zusammenfassung.tex b/buch/papers/reedsolomon/zusammenfassung.tex new file mode 100644 index 0000000..568356f --- /dev/null +++ b/buch/papers/reedsolomon/zusammenfassung.tex @@ -0,0 +1,15 @@ +\section{Zusammenfassung + \label{reedsolomon:section:zf}} +\rhead{Zusammenfassung} +Dieser Abschnitt beinhaltet eine Übersicht über die Funktionsweise eines Reed-Solomon-Codes für beliebige endliche Körper. + +TODO: + +\subsubsection{Schritt 1: primitives Element} + +\subsubsection{Schritt 2: Codierung} + +\subsubsection{Schritt 3: Decodierung ohne Fehler} + +\subsubsection{Schritt 4: Decodierung mit Fehler} + -- cgit v1.2.1 From fa98365df7c1cda53ce96152c65a698c3474d049 Mon Sep 17 00:00:00 2001 From: Andreas Mueller Date: Mon, 12 Jul 2021 11:30:40 +0200 Subject: fix error in Debian, triggered by tab before \label --- buch/papers/reedsolomon/zusammenfassung.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/zusammenfassung.tex b/buch/papers/reedsolomon/zusammenfassung.tex index 568356f..3624f16 100644 --- a/buch/papers/reedsolomon/zusammenfassung.tex +++ b/buch/papers/reedsolomon/zusammenfassung.tex @@ -1,5 +1,5 @@ -\section{Zusammenfassung - \label{reedsolomon:section:zf}} +\section{Zusammenfassung +\label{reedsolomon:section:zf}} \rhead{Zusammenfassung} Dieser Abschnitt beinhaltet eine Übersicht über die Funktionsweise eines Reed-Solomon-Codes für beliebige endliche Körper. -- cgit v1.2.1 From 240e1143007363a796ec6fdf6438186de778e002 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Mon, 12 Jul 2021 19:00:39 +0200 Subject: divisions created --- buch/papers/reedsolomon/dtf.tex | 40 +++++++++++++++++++++++++ buch/papers/reedsolomon/einleitung.tex | 15 ++++++++++ buch/papers/reedsolomon/idee.tex | 53 ++++++++++++++++++++++++++++++++ buch/papers/reedsolomon/main.tex | 6 ++-- buch/papers/reedsolomon/teil0.tex | 22 -------------- buch/papers/reedsolomon/teil1.tex | 55 ---------------------------------- buch/papers/reedsolomon/teil3.tex | 40 ------------------------- 7 files changed, 111 insertions(+), 120 deletions(-) create mode 100644 buch/papers/reedsolomon/dtf.tex create mode 100644 buch/papers/reedsolomon/einleitung.tex create mode 100644 buch/papers/reedsolomon/idee.tex delete mode 100644 buch/papers/reedsolomon/teil0.tex delete mode 100644 buch/papers/reedsolomon/teil1.tex delete mode 100644 buch/papers/reedsolomon/teil3.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex new file mode 100644 index 0000000..00281fb --- /dev/null +++ b/buch/papers/reedsolomon/dtf.tex @@ -0,0 +1,40 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Diskrete Fourien Transformation +\label{reedsolomon:section:dtf}} +\rhead{Umwandlung mit DTF} +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:malorum}} +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. + + diff --git a/buch/papers/reedsolomon/einleitung.tex b/buch/papers/reedsolomon/einleitung.tex new file mode 100644 index 0000000..809f58a --- /dev/null +++ b/buch/papers/reedsolomon/einleitung.tex @@ -0,0 +1,15 @@ +% +% einleitung.tex -- Beispiel-File für die Einleitung +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\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. +Es wird jedoch nicht auf die technische Umsetzung oder Implementierung eingegangen. + + + diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex new file mode 100644 index 0000000..497e2d5 --- /dev/null +++ b/buch/papers/reedsolomon/idee.tex @@ -0,0 +1,53 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Idee +\label{reedsolomon:section:idee}} +\rhead{Problemstellung} +Das Problem liegt darin Informationen, Zahlen, +zu Übertragen und Fehler zu erkennen. + +\rhead{Idee} +Eine +\begin{equation} +\int_a^b x^2\, dx += +\left[ \frac1312 x^3 \right]_a^b += +\frac{b^3-a^3}3. +\label{reedsolomon:equation1} +\end{equation} +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:finibus}} +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 \eqref{000tempmlate:equation1}. + +Et harum quidem rerum facilis est et expedita distinctio +\ref{reedsolomon:section:loesung}. +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 +\ref{reedsolomon:section:folgerung}. +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. + + diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 4e2fd60..ec8fa22 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -28,10 +28,10 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \end{itemize} % Joshua -\input{papers/reedsolomon/teil0.tex} -\input{papers/reedsolomon/teil1.tex} +\input{papers/reedsolomon/einleitung.tex} +\input{papers/reedsolomon/idee.tex} \input{papers/reedsolomon/teil2.tex} -\input{papers/reedsolomon/teil3.tex} +\input{papers/reedsolomon/dtf.tex} % Michael \input{papers/reedsolomon/endlichekoerper} diff --git a/buch/papers/reedsolomon/teil0.tex b/buch/papers/reedsolomon/teil0.tex deleted file mode 100644 index b7ae971..0000000 --- a/buch/papers/reedsolomon/teil0.tex +++ /dev/null @@ -1,22 +0,0 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 0\label{reedsolomon:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{reedsolomon:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. - - diff --git a/buch/papers/reedsolomon/teil1.tex b/buch/papers/reedsolomon/teil1.tex deleted file mode 100644 index 0aa9b41..0000000 --- a/buch/papers/reedsolomon/teil1.tex +++ /dev/null @@ -1,55 +0,0 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{reedsolomon:section:teil1}} -\rhead{Problemstellung} -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 -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{reedsolomon:equation1} -\end{equation} -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:finibus}} -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 \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{reedsolomon:section:loesung}. -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 -\ref{reedsolomon:section:folgerung}. -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. - - diff --git a/buch/papers/reedsolomon/teil3.tex b/buch/papers/reedsolomon/teil3.tex deleted file mode 100644 index 91a8d4e..0000000 --- a/buch/papers/reedsolomon/teil3.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil3.tex -- Beispiel-File für Teil 3 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 3 -\label{reedsolomon:section:teil3}} -\rhead{Teil 3} -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:malorum}} -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 60d4a3350dc813cbd17c8dd8cf0a4b50b0f84346 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Wed, 14 Jul 2021 17:01:21 +0200 Subject: various chapters updated, zusammenfassung filld with content --- buch/papers/reedsolomon/codebsp.tex | 26 ++++++++------- buch/papers/reedsolomon/decmitfehler.tex | 18 +++++----- buch/papers/reedsolomon/decohnefehler.tex | 17 ++++++---- buch/papers/reedsolomon/rekonstruktion.tex | 7 ++-- buch/papers/reedsolomon/zusammenfassung.tex | 52 +++++++++++++++++++++++++++-- 5 files changed, 87 insertions(+), 33 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 0339d9c..5661d26 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -7,11 +7,10 @@ \label{reedsolomon:section:codebsp}} \rhead{Codierung eines Beispiels} -Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. -Da wir in endlichen Körpern rechnen, werden wir zuerst solch einen Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6 (verweis auf eine Definition im Buch ohne label)} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. +Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen, werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. +Da wir in endlichen Körpern rechnen, werden wir zuerst solch einen Körper festlegen. Dabei müssen wir die Definition \ref{buch:endlichekoerper:def:galois-koerper} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. Wir legen für unser Beispiel den endlichen Körper $\mathbb{F}_{q}$ mit $q = 11$ fest. -Zur Hilfestellung können dazu die beiden Tabellen \ref{reedsolomon:subsection:adtab} und -\ref{reedsolomon:subsection:mptab} hinzugezogen werden. Diese Tabellen enthalten die Resultate der arithmetischen Operationen im Körper $\mathbb{F}_{11}$, die durchgeführt werden können. +Zur Hilfestellung zum Rechnen in $\mathbb{F}_{11}$ können die beiden Tabellen \ref{reedsolomon:subsection:adtab} und \ref{reedsolomon:subsection:mptab} hinzugezogen werden. Diese Tabellen enthalten die Resultate der arithmetischen Operationen im Körper $\mathbb{F}_{11}$, die durchgeführt werden können. Aus der Definition der endlichen Körper (ersichtlich auch in den Tabellen) folgt, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen und somit $11 = 0$ gelten muss. % OLD TEXT @@ -78,15 +77,16 @@ dar. \label{reedsolomon:subsection:diskFT}} In einem vorherigen Abschnitt \textcolor{red}{(???)} haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $e$ in endlichen Körpern nicht existiert. -Wir wählen deshalb eine Zahl $a$, die die gleichen Aufgaben haben soll wie $e^{\frac{j}{2 \pi}}$ in der diskreten Fouriertransformation, nur mit dem Unterschied, dass $a$ in $\mathbb{F}_{11}$ ist. Dazu soll die Potenz von $a$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken, um +Wir wählen deshalb eine Zahl $a$, die die gleichen Aufgaben haben soll wie $e^{\frac{j}{2 \pi}}$ in der diskreten Fouriertransformation, nur mit dem Unterschied, dass $a$ in $\mathbb{F}_{11}$ ist. Dazu soll die Potenz von $a$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken. +Dazu ändern wir die Darstellung von \[ \mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} \] -in +in die von $a$ abhängige Schreibweise \[ \mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. \] -umzuschreiben. +%Jetzt brauchen wir nur noch eine geeignete Zahl für $a$ zu finden. % Old Text %Wir suchen also eine Zahl $a$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. %Dazu schreiben wir @@ -116,7 +116,7 @@ umzuschreiben. \subsubsection{Die primitiven Einheitswurzeln \label{reedsolomon:subsection:primsqrt}} -Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen +Wenn wir jetzt Zahlen von $\mathbb{F}_{11}$ an Stelle von $a$ einsetzen, erhalten wir \begin{center} \begin{tabular}{c c c c c c c} $a = 1$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ @@ -128,7 +128,7 @@ $a = 6$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 6, 3, 7, 9, 1 $a = 7$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\}$ & $ = $ & $\mathbb{F}_{11}\setminus\{0\}$ \\ $a = 8$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\}$ & $ = $ & $\mathbb{F}_{11}\setminus\{0\}$ \\ $a = 9$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ -$a = 10$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$ \\ +$a = 10$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ & $\neq$ & $\mathbb{F}_{11}\setminus\{0\}$. \\ \end{tabular} \end{center} %\begin{center} @@ -146,13 +146,15 @@ $a = 10$ & $\Rightarrow$ & $\{a^i | 0 \le i \le 10\}$ & $=$ & $\{1, 10, 1, 10, 1 %$a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ %\end{tabular} %\end{center} -so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em primitive Einheitswurzel \em genannt. +Es fällt auf, dass wir für $a$ die Zahlen $2,6,7,8$ Mengen erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em primitive Einheitswurzel \em genannt. Wenden wir diese Vorgehensweise auch für andere endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzel auszuwählen, mit der wir weiter rechnen wollen. Für das Beispiel wählen wir die Zahl $a = 8$. \subsubsection{Bildung einer Transformationsmatrix \label{reedsolomon:subsection:transMat}} -Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu Codieren. Daraus sollen wir dann einen Übertragungsvektor $v$ erhalten, den wir an den Empfänger schicken können. Für die Codierung müssen wir alle $a^i$ in das Polynom $m(X)$ einsetzen. Da wir $a^i = 8^i$ gewählt haben, ergibt sich daraus +Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu Codieren. Daraus sollen wir dann einen Übertragungsvektor $v$ erhalten, den wir an den Empfänger schicken können. +Für die Codierung setzen wir alle Zahlen in $\mathbb{F}_{11}\setminus\{0\}$ nacheinander in $m(X)$ ein. Da wir zuvor eine von $a$ abhängige Schreibweise gewählt haben setzen wir stattdessen $a^i$ ein mit $a = 8$ als die von uns gewählten primitiven Einheitswurzel. Daraus ergibt sich +%Für die Codierung müssen wir alle $a^i$ in das Polynom $m(X)$ einsetzen. Da wir $a^i = 8^i$ gewählt haben, ergibt sich daraus % %Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. % @@ -168,7 +170,7 @@ als unser Übertragungsvektor. \subsection{Allgemeine Codierung \label{reedsolomon:subsection:algCod}} -Um das Ganze noch ein wenig übersichtlicher zu gestalten können wir die Polynome zu einer Matrix zusammenfassen, die unsere Transformationsmatrix $A$ bildet. +Um das Ganze noch ein wenig übersichtlicher zu gestalten, können wir die Polynome zu einer Matrix zusammenfassen, die unsere Transformationsmatrix $A$ bildet. Für die allgemeine Codierung benötigen wir die Nachricht $m$, die codiert werden soll, sowie die Transformationsmatrix $A$. Daraus erhalten wir den Übertragungsvektor $v$. Setzen wir die Zahlen aus dem Beispiel ein erhalten wir folgende Darstellung: \[ diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index a46d7da..c7c86ad 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -16,7 +16,7 @@ Der Übertragungskanal im Beispiel weisst jetzt den Fehlervektor u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] \] auf. -Senden wir jetzt unser Übertragungsvektor $v$ durch diesen Kanal addiert sich der Fehlervektor $u$ auf unsere Übertragung und wir erhalten +Senden wir jetzt unser Übertragungsvektor $v$ durch diesen Kanal, addiert sich der Fehlervektor $u$ auf unsere Übertragung und wir erhalten \begin{center} \begin{tabular}{c | c r } @@ -127,7 +127,7 @@ Setzen wir jetzt unsere Einheitswurzel aus dem Beispiel ein so erhalten wir \end{tabular} \end{center} und damit die Information, dass allen Stellen, die nicht Null sind, Fehler enthalten. -Aus der Tabelle lesen wir, das in unserem Beispiel die Fehler an der Stelle drei und acht zu finden sind. +Aus der Tabelle lesen wir ab, das in unserem Beispiel die Fehler an der Stelle drei und acht zu finden sind. Für das einfache Bestimmen von Hand mag dies ja noch ausreichen, jedoch können wir mit diesen Stellen nicht das Lokatorpolynom bestimmen, denn dafür bräuchten wir alle Nullstellen, an denen es Fehler gegeben hat (also sozusagen genau das umgekehrte). Um dies zu erreichen wenden wir eine andere Herangehensweise und nehmen uns den Satz von Fermat sowie den kleinsten gemeinsamen Teiler zur Hilfe. @@ -140,7 +140,7 @@ f(X) = X^{q-1} -1 = 0 \] gilt für jedes $X$. Setzen wir das $q$ von unserem Beispiel ein \[ -f(X) = X^{10}-1 = 0 \qquad \text{für } X = \{1,2,3,4,5,6,7,8,9,10\} +f(X) = X^{10}-1 = 0 \qquad \text{für } X \in \{1,2,3,4,5,6,7,8,9,10\} \] und stellen dies als Faktorisierung dar. So ergibt sich die Darstellung \[ @@ -173,7 +173,7 @@ Das kgV hat nämlich die Eigenschaft sämtliche Nullstellen zu finden, also nich ersichtlich ist. Aus dem vorherigen Abschnitt wissen wir auch, dass $d(X)$ alle korrekten Nullstellen beinhaltet. Teilen wir das kgV jetzt auf in \[ -\operatorname{kgV}(f(X),d(X)) = d(X) \cdot l(X) +\operatorname{kgV}(f(X),d(X)) = d(X) \cdot l(X), \] sollten wir für $l(X)$ eine Liste mit allen fehlerhaften Nullstellen erhalten. Somit ist @@ -192,14 +192,16 @@ In Abschnitt \ref{reedsolomon:section:decmitfehler} haben wir d(X) = r(X) - m(X) \] in Abhängigkeit von $m(X)$ berechnet. -Jedoch haben wir ausser acht gelassen, dass $m(X)$ auf der Empfängerseite nicht existiert und somit gänzlich unbekannt ist. +Jedoch haben wir ausser acht gelassen, dass $m(X)$ auf der Empfängerseite nicht verfügbar und somit gänzlich unbekannt ist. Es scheint so als würde dieser Lösungsansatz, den wir bisher verfolgt haben, nicht funktioniert. -Wir könnten uns höchstens noch fragen, ob wir tatsächlich nichts über den Nachrichtenvektor im Beispiel wissen. Wenn wir noch einmal den Vektor betrachten als +Wir könnten uns höchstens noch fragen, ob wir tatsächlich nichts über den Nachrichtenvektor im Beispiel wissen. + +Wenn wir noch einmal den Vektor betrachten als \[ m = [0,0,0,0,4,7,2,5,8,1] \] -fällt uns aber auf, dass wir doch etwas über diesen Vektor wissen, nämlich den Wert der ersten $2t$ (im Beispiel vier) stellen. -Im Normalfall sollen diese nämlich den Wert null betragen und somit sind nur die letzten $k$ stellen (im Beispiel sechs) für uns unbekannt, dargestellt als +fällt uns aber auf, dass wir doch etwas über diesen Vektor wissen, nämlich den Wert der ersten $2t$ (im Beispiel vier) Stellen. +Im Normalfall sollen diese nämlich den Wert $0$ haben und somit sind nur die letzten $k$ Stellen (im Beispiel sechs) für uns unbekannt, dargestellt als \[ m = [0,0,0,0,?,?,?,?,?,?]. \] diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 0470db0..fd616d3 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -33,11 +33,12 @@ Definiert ist sie als \[ F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \qquad \Rightarrow \qquad \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega. \] -Damit beschäftigen wir uns im Abschnitt \ref{reedsolomon:subsection:sfaktor} weiter, konkret suchen wir momentan aber eine Inverse für unsere primitive Einheitswurzel $a$. +Im wesentlichen ändert sich bei der inversen diskreten Fouriertransformation $e^{j/2\pi}$ zu $e^{-j/2\pi}$. Zusätzlich benötigt die inverse noch einen Korrekturfaktor $1/n$. Wir erwarten daher, dass wir auch im endlichen Körper $A$ die Zahl $a$ durch $a^{-1}$ ersetzen können. Mit der primitiven Einheitswurzel ergibt das +%Damit beschäftigen wir uns im Abschnitt \ref{reedsolomon:subsection:sfaktor} weiter, konkret suchen wir momentan aber eine Inverse für unsere primitive Einheitswurzel $a$. \[ -8^1 \qquad \rightarrow \qquad 8^{-1} +8^1 \qquad \rightarrow \qquad 8^{-1}. \] -Mit einem solchen Problem haben wir uns bereits in Abschnitt \ref{buch:section:euklid} befasst und so den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. +Mit einem solchen Problem haben wir uns bereits in Abschnitt \ref{buch:section:euklid} befasst und so den euklidischen Algorithmus kennengelernt, den wir auf diesen Fall anwenden können. % Old Text %Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. @@ -76,7 +77,9 @@ Daraus erhalten wir \end{tabular} \end{center} -als Inverse der primitiven Einheitswurzel. Die inverse Transformationsmatrix $A^{-1}$ bilden wir, indem wir jetzt die inverse primitive Einheitswurzel anstelle der primitiven Einheitswurzel in die Matrix einsetzen: +als Inverse der primitiven Einheitswurzel. +Alternativ können wir das Resultat auch aus der Tabelle \ref{reedsolomon:subsection:mptab} ablesen. +Die inverse Transformationsmatrix $A^{-1}$ bilden wir, indem wir jetzt die inverse primitive Einheitswurzel anstelle der primitiven Einheitswurzel in die Matrix einsetzen: \[ \begin{pmatrix} 8^0 & 8^0 & 8^0 & 8^0 & \dots & 8^0 \\ @@ -102,9 +105,9 @@ als Inverse der primitiven Einheitswurzel. Die inverse Transformationsmatrix $A^ \subsection{Der Faktor $s$ \label{reedsolomon:subsection:sfaktor}} Die diskrete Fouriertransformation benötigt für die Inverse einen Vorfaktor von $\frac{1}{2\pi}$. -Primitiv nehmen wir an, dass wir für die Inverse Transformationsmatrix ebenfalls einen benötigen. +Wir müssen also damit rechnen, dass wir für die Inverse Transformationsmatrix ebenfalls einen solchen Vorfaktor benötigen. Nur stellt sich jetzt die Frage, wie wir diesen Vorfaktor in unserem Fall ermitteln können. -Dafür betrachten wir eine Regel aus der Linearen Algebra, nämlich dass +Dafür betrachten wir eine Regel aus der linearen Algebra, nämlich dass \[ A \cdot A^{-1} = E @@ -148,7 +151,7 @@ Aus der letzten Matrix folgt, dass wir \[ s = \dfrac{1}{10} \] -als unseren Vorfaktor setzen müssen um die Gleichung \ref{reedsolomon:equation:sfaktor} zu erfüllen. Da wir in $\mathbb{F}_{11}$ nur mit ganzen Zahlen arbeiten schreiben wir $\frac{1}{10}$ in $10^{-1}$ um und bestimmen diese Inverse erneut mit dem euklidischen Algorithmus und erhalten für $10^{-1} = 10$ als unseren Vorfaktor in $\mathbb{F}_{11}$. +als unseren Vorfaktor setzen müssen um, die Gleichung \ref{reedsolomon:equation:sfaktor} zu erfüllen. Da wir in $\mathbb{F}_{11}$ nur mit ganzen Zahlen arbeiten, schreiben wir $\frac{1}{10}$ in $10^{-1}$ um und bestimmen diese Inverse erneut mit dem euklidischen Algorithmus. So erhalten wir $10^{-1} = 10$ als Vorfaktor in $\mathbb{F}_{11}$. % %erfüllt wird. Wir schreiben den Bruch um in $\frac{1}{10} = 10^{-1}$ und wenden darauf erneut den euklidischen Algorithmus an und erhalten somit den Vorfaktor $10^{-1} = 10 = s$ in $\mathbb{F}_{11}$. % diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index 04e748c..38d54a2 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -4,7 +4,7 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Nachricht Rekonstruieren +\section{Nachricht rekonstruieren \label{reedsolomon:section:rekonstruktion}} \rhead{Rekonstruktion der Nachricht} Im letzten Abschnitt haben wir eine Möglichkeit gefunden, wie wir die fehlerhaften Stellen lokalisieren können. @@ -49,7 +49,7 @@ Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen: \end{pmatrix} . \] -Die rot markierten Stellen im Übertragungsvektor enthalten Fehler und bringt uns daher keinen weiterer Nutzen. +Die rot markierten Stellen im Übertragungsvektor enthalten Fehler und bringt uns daher keinen weiteren Nutzen. Aus diesem Grund werden diese Stellen aus dem Vektor entfernt, was wir hier ohne Probleme machen können, da dieser Code ja über Fehlerkorrekturstellen verfügt, deren Aufgabe es ist, eine bestimmte Anzahl an Fehler kompensieren zu können. Die dazugehörigen Zeilen in der Matrix werden ebenfalls entfernt, da die Matrix gleich viele Zeilen wie im Übertragungsvektor aufweisen muss, damit man ihn decodieren kann. @@ -78,6 +78,7 @@ Daraus resultiert Die Matrix ist jedoch nicht mehr quadratisch, was eine Rekonstruktion durch Inversion ausschliesst. Um die quadratische Form wieder herzustellen müssen wir zwei Spalten aus der Matrix entfernen. Wir kennen aber das Resultat aus den letzten vier Spalten, da wir wissen, das die Nachricht aus Nutzdatenteil und Fehlerkorrekturteil besteht, wobei der letzteres bekanntlich aus lauter Nullstellen besteht. +Wir nehmen die markierten Spalten in \[ \begin{pmatrix} 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ @@ -98,7 +99,7 @@ Wir kennen aber das Resultat aus den letzten vier Spalten, da wir wissen, das di m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{darkgreen}{m_6} \\ \textcolor{darkgreen}{m_7} \\ \textcolor{darkgreen}{m_8} \\ \textcolor{darkgreen}{m_9} \\ \end{pmatrix} \] -Wir nehmen die entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem +aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem \[ \begin{pmatrix} 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ diff --git a/buch/papers/reedsolomon/zusammenfassung.tex b/buch/papers/reedsolomon/zusammenfassung.tex index 568356f..b4050b8 100644 --- a/buch/papers/reedsolomon/zusammenfassung.tex +++ b/buch/papers/reedsolomon/zusammenfassung.tex @@ -3,13 +3,59 @@ \rhead{Zusammenfassung} Dieser Abschnitt beinhaltet eine Übersicht über die Funktionsweise eines Reed-Solomon-Codes für beliebige endliche Körper. -TODO: - \subsubsection{Schritt 1: primitives Element} +Zu Beginn soll entschieden werden, in welchem endlichen Körper $\mathbb{F}_{q}$ gerechnet werden soll. +Ausserdem muss im gewählten Körper eine primitive Einheitswurzel gefunden, bzw. bestimmt werden. \subsubsection{Schritt 2: Codierung} +Für die Codierung wird die Nachricht als Koeffizienten des Polynoms $m(X)$ geschrieben, anschliessend wird $a^i$ in $m(X)$ eingesetzt. +Daraus ergibt sich die Codierungsmatrix +\[ +A(a) = +\begin{pmatrix} +a^0 & a^0 & a^0 & \dots \\ +a^0 & a^1 & a^2 & \dots \\ +a^0 & a^2 & a^4 & \dots \\ +\vdots&\vdots&\vdots&\ddots +\end{pmatrix} +. +\] +Mit dieser Matrix können wir den Nachrichtenblock zum Übertragungsvektor codieren. \subsubsection{Schritt 3: Decodierung ohne Fehler} +Im ersten Schritt zur Decodierung muss geprüft werden, ob der Übertragungsvektor Fehler beinhaltet. +Ist dies nicht der Fall, so kann die Matrix $A(a)$ invertiert werden mit +\[ +A(a)^{-1} = \frac{1}{q-1} \cdot A(a^{-1}). +\] +Die Codierungsmatrix ändert sich somit zur Decodierungsmatrix +\[ +\begin{pmatrix} + a^0 & a^0 & a^0 & \dots \\ + a^0 & a^1 & a^2 & \dots \\ + a^0 & a^2 & a^4 & \dots \\ + \vdots&\vdots&\vdots &\ddots +\end{pmatrix} += +\frac{1}{q-1} +\cdot +\begin{pmatrix} + a^0 & a^0 & a^0 & \dots \\ + a^0 & a^{-1} & a^{-2} & \dots \\ + a^0 & a^{-2} & a^{-4} & \dots \\ + \vdots&\vdots&\vdots&\ddots +\end{pmatrix} +. +\] +Daraus lässt sich der Nachrichtenblock aus dem Übertragungsvektor rekonstruieren. \subsubsection{Schritt 4: Decodierung mit Fehler} - +Sollte der Übertragungsvektor fehlerhaft empfangen werden, so kann der Nachrichtenblock nicht durch invertieren der Matrix rekonstruiert werden. +Zur Lokalisierung der Fehlerstellen nehmen wir das Polynom $f(X)$ zur Hilfe, welches wir über den Satz von Fermat bestimmt haben. +Berechnen wir daraus das $\operatorname{kgV}$ von $f(X)$ und $d(X)$, so erhalten wir ein Lokatorpolynom. +Durch das bestimmen der Exponenten erhalten wir die Fehlerhaften Stellen im Übertragungsvektor. +Für die Rekonstruktion stellen wir ein Gleichungssystem auf und entfernen daraus die Fehlerhaften Zeilen. +Im Anschluss kann das verkleinerte Gleichungssystem gelöst werden. +Als Resultat erhalten wir die fehlerfreie Nachricht. +%Aus diesem Grund suchen wir nach einem Lokatorpolynom, welches uns die Fehlerhaften Stellen im Übertragungsvektor anzeigt. +%Dazu nehmen wir das Polynom $f(X)$, welches wir durch den Satz von Fermat erhalten, und berechnen so das $\operatorname{kgV}(f(X),d(X))$ und kommen so auf das Lokatorpolynom $l(X)$. Durch das bestimmen von den Exponenten erhalten wir die Fehlerstellen, welche wir aus dem Gleichungssystem entfernen müssen. Übrig bleibt das berechnen dieses Gleichungssystems. -- cgit v1.2.1 From 7f6814025b2f4ca6a2cc04488a92cd484444c4d7 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Wed, 14 Jul 2021 17:31:13 +0200 Subject: file description updated --- buch/papers/reedsolomon/codebsp.tex | 4 ++-- buch/papers/reedsolomon/decmitfehler.tex | 4 ++-- buch/papers/reedsolomon/decohnefehler.tex | 4 ++-- buch/papers/reedsolomon/endlichekoerper.tex | 4 ++-- buch/papers/reedsolomon/hilfstabellen.tex | 5 ++--- buch/papers/reedsolomon/main.tex | 2 +- buch/papers/reedsolomon/rekonstruktion.tex | 5 ++--- buch/papers/reedsolomon/restetabelle1.tex | 6 ++++-- buch/papers/reedsolomon/restetabelle2.tex | 6 ++++-- buch/papers/reedsolomon/zusammenfassung.tex | 5 +++++ 10 files changed, 26 insertions(+), 19 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 5661d26..8430ebd 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -1,7 +1,7 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% codebsp.tex -- Codierung eines Beispiels % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2021 Michael Steiner, Hochschule Rapperswil % \section{Codierung eines Beispiels \label{reedsolomon:section:codebsp}} diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index c7c86ad..598cf68 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -1,7 +1,7 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% decmitfehler.tex -- Decodierung mit Fehler % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2021 Michael Steiner, Hochschule Rapperswil % \section{Decodierung: Ansatz mit Fehlerkorrektur \label{reedsolomon:section:decmitfehler}} diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index fd616d3..50bd8d6 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -1,7 +1,7 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% decohnefehler.tex -- Decodierung ohne Fehler % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2021 Michael Steiner, Hochschule Rapperswil % \section{Decodierung: Ansatz ohne Fehler \label{reedsolomon:section:decohnefehler}} diff --git a/buch/papers/reedsolomon/endlichekoerper.tex b/buch/papers/reedsolomon/endlichekoerper.tex index 19e5dd4..1d196fd 100644 --- a/buch/papers/reedsolomon/endlichekoerper.tex +++ b/buch/papers/reedsolomon/endlichekoerper.tex @@ -1,7 +1,7 @@ % -% teil1.tex -- Beispiel-File für das Paper +% endlichekoerper.tex -- endliche Körper % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2021 Michael Steiner, Hochschule Rapperswil % \section{Reed-Solomon in Endlichen Körpern \label{reedsolomon:section:endlichekoerper}} diff --git a/buch/papers/reedsolomon/hilfstabellen.tex b/buch/papers/reedsolomon/hilfstabellen.tex index b006f21..24fabdf 100644 --- a/buch/papers/reedsolomon/hilfstabellen.tex +++ b/buch/papers/reedsolomon/hilfstabellen.tex @@ -1,8 +1,7 @@ % -% hilfstabellen.tex -% Autor: Michael Steiner +% hilfstabellen.tex -- Hilfstabellen % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2021 Michael Steiner, Hochschule Rapperswil % \section{Hilfstabellen für $\mathbb{F}_{11}$ \label{reedsolomon:section:hilfstabellen}} diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 4e2fd60..6676670 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -40,7 +40,7 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \input{papers/reedsolomon/decmitfehler} \input{papers/reedsolomon/rekonstruktion} \input{papers/reedsolomon/zusammenfassung} -%\input{papers/reedsolomon/anwendungen} -> geplant +\input{papers/reedsolomon/anwendungen} \input{papers/reedsolomon/hilfstabellen} \nocite{reedsolomon:weitz} diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index 38d54a2..b099e68 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -1,8 +1,7 @@ % -% rekonstruktion.tex -% Autor: Michael Steiner +% rekonstruktion.tex -- Rekonstruktion % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2021 Michael Steiner, Hochschule Rapperswil % \section{Nachricht rekonstruieren \label{reedsolomon:section:rekonstruktion}} diff --git a/buch/papers/reedsolomon/restetabelle1.tex b/buch/papers/reedsolomon/restetabelle1.tex index 3969ef2..b9a0e59 100644 --- a/buch/papers/reedsolomon/restetabelle1.tex +++ b/buch/papers/reedsolomon/restetabelle1.tex @@ -1,6 +1,8 @@ -% created by Michael Steiner % -% Restetabelle von F_11: Addition +% restetabelle1.tex -- Restetabelle von F_11: Addition +% +% (c) 2021 Michael Steiner, Hochschule Rapperswil +% % alternatives design %\begin{figure} diff --git a/buch/papers/reedsolomon/restetabelle2.tex b/buch/papers/reedsolomon/restetabelle2.tex index 1a9815c..3b13ea2 100644 --- a/buch/papers/reedsolomon/restetabelle2.tex +++ b/buch/papers/reedsolomon/restetabelle2.tex @@ -1,6 +1,8 @@ -% created by Michael Steiner % -% Restetabelle von F_11: Multiplikation +% restetabelle2.tex -- Restetabelle von F_11: Multiplikation +% +% (c) 2021 Michael Steiner, Hochschule Rapperswil +% % alternatives design %\begin{figure} diff --git a/buch/papers/reedsolomon/zusammenfassung.tex b/buch/papers/reedsolomon/zusammenfassung.tex index 9b8ea1b..c24fcf3 100644 --- a/buch/papers/reedsolomon/zusammenfassung.tex +++ b/buch/papers/reedsolomon/zusammenfassung.tex @@ -1,3 +1,8 @@ +% +% zusammenfassung.tex -- Zusammenfassung +% +% (c) 2021 Michael Steiner, Hochschule Rapperswil +% \section{Zusammenfassung \label{reedsolomon:section:zf}} \rhead{Zusammenfassung} -- cgit v1.2.1 From 2e3eb61f84ec6fda9d74e2b71bbb680b6a5640f8 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Wed, 14 Jul 2021 21:19:32 +0200 Subject: images folder created --- buch/papers/reedsolomon/anwendungen.tex | 93 +++++++++++++++++++++++ buch/papers/reedsolomon/images/Compact_Disc.png | Bin 0 -> 938930 bytes buch/papers/reedsolomon/images/Voyager_Sonde.png | Bin 0 -> 272068 bytes buch/papers/reedsolomon/images/qrcode_h.png | Bin 0 -> 840 bytes buch/papers/reedsolomon/images/qrcode_l.png | Bin 0 -> 608 bytes 5 files changed, 93 insertions(+) create mode 100644 buch/papers/reedsolomon/anwendungen.tex create mode 100644 buch/papers/reedsolomon/images/Compact_Disc.png create mode 100644 buch/papers/reedsolomon/images/Voyager_Sonde.png create mode 100644 buch/papers/reedsolomon/images/qrcode_h.png create mode 100644 buch/papers/reedsolomon/images/qrcode_l.png (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/anwendungen.tex b/buch/papers/reedsolomon/anwendungen.tex new file mode 100644 index 0000000..83e0f94 --- /dev/null +++ b/buch/papers/reedsolomon/anwendungen.tex @@ -0,0 +1,93 @@ +% +% anwendungen.tex -- Anwendungen des Reed-Solomon-Codes +% +% (c) 2021 Michael Steiner, Hochschule Rapperswil +% +\section{Anwendungen des Reed-Solomon-Codes + \label{reedsolomon:section:anwendung}} +\rhead{Anwendungen} +\textcolor{red}{Platzierung der Bilder? Quellenangabe der Bilder?} + +In den vorherigen Abschnitten haben wir betrachtet, wie Reed-Solomon-Codes in der Theorie Funktionieren. +In diesem Abschnitt werden wir einige Anwendungen vorstellen, bei denen ein Reed-Solomon-Code zum Einsatz kommt. +Obwohl alle diese Codes nach dem gleichen Prinzip arbeiten gibt es starke Unterschiede in deren Funktionsweise. +Dies kommt vor allem daher, da die Codes nur Ressourcen zur Verfügung haben, die von der Hardware bereitstellt wird, auf denen die Codes implementiert wurden. +Diese Codes bedienen sich daher verschiedener Tricks und Optimierungen um möglichst effizient zu arbeiten. +% +%Dies kommt vor allem daher, da diese Codes an ihre Hardware gebunden sind, auf denen sie implementiert worden sind. +%Deshalb wurden diese Codes stark optimiert damit sie möglichst Effizient arbeiten können. +% +%Um diese Hardware möglichst effizient zu nutzen wurden gewisse mathematische tricks angewendet um den Code möglichst effizient zu nutzen. +% +% um mit maximaler Effizienz zu arbeiten. +%Es überrascht daher nicht, dass vor allem ältere Codes im binären Körper $\mathbb{F}_{2}$ arbeiten. +% +% um den Code mit maximaler Effizienz zu nutzen. +% +%Alle diese Anwendungen verfügen über eigene spezifizierten Eigenschaften. +% +%, wobei bei allen dieser Anwendungen jeweils eine unterschiedliche Version des Codes implementiert wurden. +% +%Dies kommt vor allem daher, da diese Codes immer an ihre dementsprechende Hardware gebunden sind, auf denen sie implementiert wurden um den Code mit maximaler Effizienz zu nutzen. +% +% eigene Version des Codes implementiert haben. +% +%Bei einer Technischen Umsetzung eines solchen Codes werden wir auf eine reihe neuer Probleme stossen wie Ressourceneffizienz, Laufzeitoptimierung, usw. +% +%Hinzu kommt, dass für verschiedene Anwendungen verschiedene Versionen des Reed-Solomon-Codes zur Anwendung kommen. +% +%Nachfolgend werden wir ein paar dieser Anwendungen Vorstellen, da sich herausstellt, dass Reed-Solomon-Code sehr +% +%Als letzte Frage stellt sich jetzt nur noch, wo diese Codes eingesetzt werden. +% +%Bisher haben wir +% +%In den letzten abschnitten haben wir uns ausführlich die Funktionsweise des Reed-Solomon-Codes angeschaut. In diesem Abschnitt möchten wir dem Leser ein paar bekannte beispiele vorstellen, in denen Reed-Solomon-Codes zum einsatz kommen. Es sei jedoch angemerkt, dass diese Anwendungen in der Umsetzung oft ein wenig anderst funktionieren als hier vorgestellt. Dies wurde vor allem wegen technischen optimierungen realisiert. (technische tricks und finessen), von der logik jedoch sehr stark an unserem Beispiel orientieren + +\subsection{Raumfahrt} +Obwohl Reed-Solomon-Codes bereits in den 1960er entwickelt wurden fanden sie erstmals Anwendung in der Voyager Raumsonde der NASA. Die Daten der zwei im Jahre 1977 gestarteten Sonden werden mit einem RS(255,233)-Code \textcolor{red}{benötigt das weitere erklärungen, wie z.b. 255: grösse nachrichtenblock, 233: anzahl der nutzbaren daten ?} zusammen mit einem konventionellen Faltungscode übertragen. + +% +% Die zwei im Jahre 1977 gestarteten Sonden senden Daten mit der Hilfe eines RS(255,233)-Code für die digitalen Bilder sowie einem konventionellen Faltungscode. +% +% +%mit der Erde mit einem RS(255,233)-Code für die digitalen Bilder sowie einem konventionellen Faltungscode. + +\begin{figure} + \centering + \includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/Voyager_Sonde} + \caption{Voyager Raumsonde} + \label{fig:voyager} +\end{figure} + +\subsection{CD/DVD} +Compact discs verwenden sogar zwei ineinander verschachtelte Reed-Solomon-Codes, einen (32,28)-Code und einen (28,24)-Code. +Beide Codes sind in der Lage, Fehler aus dem jeweils anderen gelesenen Block zu korrigieren. Dieses spezielle zusammenspielen dieser beiden Codes werden auch Cross-interleaved Reed-Solomon-Codes (CIRC) genannt. +Diese Vorgehensweise erzielt eine hohe Robustheit gegenüber Produktionsfehler oder Verschmutzung auf der Disc. Bei CD's sind diese in der Lage bis zu 4000 fehlerhafte Bits am Stück (ca. $2.5mm$) zu erkennen und zu korrigieren. + +Die Digital Video Disc funktioniert nach dem selben Konzept mit grösseren Codeblöcken. Die DVD verwendet einen (208,192)-Code und einen (182,172)-Code. + +%Beide lesen +% wobei beide Codes auch Fehler aus dem jeweiligen anderen Block korrigieren + +\begin{figure} + \centering + \includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/Compact_Disc} + \caption{Compact Disc} + \label{fig:cd} +\end{figure} + +\subsection{QR-Codes} +Quick Response Codes funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel, nur dass QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Je nach grösse der Codierung ist der QR-Code im Endeffekt robuster gegen Beschädigungen. Bei Low Level Codes können 7\% der Daten Wiederhergestellt werden, beim High Level Code sind das sogar 30\%. + +\begin{figure} + \centering + \subfigure[]{ + \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/qrcode_h} + } + \subfigure[]{ + \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/qrcode_l} + } + \caption{(a) High Level Code, (b) Low Level Code} + \label{fig:qr} +\end{figure} diff --git a/buch/papers/reedsolomon/images/Compact_Disc.png b/buch/papers/reedsolomon/images/Compact_Disc.png new file mode 100644 index 0000000..7e3f870 Binary files /dev/null and b/buch/papers/reedsolomon/images/Compact_Disc.png differ diff --git a/buch/papers/reedsolomon/images/Voyager_Sonde.png b/buch/papers/reedsolomon/images/Voyager_Sonde.png new file mode 100644 index 0000000..e4dc400 Binary files /dev/null and b/buch/papers/reedsolomon/images/Voyager_Sonde.png differ diff --git a/buch/papers/reedsolomon/images/qrcode_h.png b/buch/papers/reedsolomon/images/qrcode_h.png new file mode 100644 index 0000000..4dc5779 Binary files /dev/null and b/buch/papers/reedsolomon/images/qrcode_h.png differ diff --git a/buch/papers/reedsolomon/images/qrcode_l.png b/buch/papers/reedsolomon/images/qrcode_l.png new file mode 100644 index 0000000..69f807f Binary files /dev/null and b/buch/papers/reedsolomon/images/qrcode_l.png differ -- cgit v1.2.1 From aeb1ccab21bfcd1ff7a9a171485353c78cb94495 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 15 Jul 2021 12:32:38 +0200 Subject: short changes --- buch/papers/reedsolomon/einleitung.tex | 4 ++++ buch/papers/reedsolomon/idee.tex | 15 ++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/einleitung.tex b/buch/papers/reedsolomon/einleitung.tex index 809f58a..3d40db1 100644 --- a/buch/papers/reedsolomon/einleitung.tex +++ b/buch/papers/reedsolomon/einleitung.tex @@ -10,6 +10,10 @@ 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. 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, +und so jeweilige Fehler zu erkennen. +Doch dies braucht schnell unmengen an Daten, wenn man nach vielen Fehler absichern möchte. +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 497e2d5..7200425 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -8,9 +8,12 @@ \rhead{Problemstellung} Das Problem liegt darin Informationen, Zahlen, zu Übertragen und Fehler zu erkennen. +Beim Reed-Solomon-Code kann man nicht nur Fehler erkenen, +man kann sogar einige Fehler korrigieren. \rhead{Idee} -Eine +Eine Idee ist mit den Daten, wir nehmen hier die Zahlen .... +ein Polynom \begin{equation} \int_a^b x^2\, dx = @@ -19,15 +22,9 @@ Eine \frac{b^3-a^3}3. \label{reedsolomon:equation1} \end{equation} -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. +zu bilden wie in der abbildung ... dargestellt. -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? +abbildung \subsection{De finibus bonorum et malorum \label{reedsolomon:subsection:finibus}} -- cgit v1.2.1 From 7e4e9082a566369ac00a27f3e3f6d36505907ba9 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Sat, 17 Jul 2021 10:26:02 +0200 Subject: start first rows --- buch/papers/reedsolomon/dtf.tex | 48 ++++++++++++----------------- buch/papers/reedsolomon/idee.tex | 66 ++++++++++++++++++++++------------------ 2 files changed, 56 insertions(+), 58 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index 00281fb..025be3a 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -6,35 +6,25 @@ \section{Diskrete Fourien Transformation \label{reedsolomon:section:dtf}} \rhead{Umwandlung mit DTF} -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? +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. -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -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. +\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. + +\subsection{Diskrete Fourientransformation Zusamenhang +\label{reedsolomon:subsection:dtfzusamenhang}} +Die Diskrete Fourientransformation ist definiert als +.... diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 7200425..4a7716a 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -11,40 +11,48 @@ zu Übertragen und Fehler zu erkennen. Beim Reed-Solomon-Code kann man nicht nur Fehler erkenen, man kann sogar einige Fehler korrigieren. -\rhead{Idee} -Eine Idee ist mit den Daten, wir nehmen hier die Zahlen .... -ein Polynom +\rhead{Polynom-Ansatz} +Eine Idee ist die Daten, +ein Polynom zu bilden und dieses dann mit bestimmten Punkten überträgt. +Nehmen wir als beisbiel die Zahlen \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5}, +welche uns dann das Polynom \begin{equation} -\int_a^b x^2\, dx +p(x) = -\left[ \frac1312 x^3 \right]_a^b -= -\frac{b^3-a^3}3. +2x^2 + 1x + 5 \label{reedsolomon:equation1} \end{equation} -zu bilden wie in der abbildung ... dargestellt. - -abbildung +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. +\subsection{Beispiel} +Für das Beispeil aus der Gleichung \ref{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. -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:finibus}} -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 \eqref{000tempmlate:equation1}. +\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. +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. -Et harum quidem rerum facilis est et expedita distinctio -\ref{reedsolomon:section:loesung}. -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 -\ref{reedsolomon:section:folgerung}. -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. +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. -- cgit v1.2.1 From 47d7b23be51d7a8f362c65881be4a8dd0e100d06 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Sun, 18 Jul 2021 14:57:21 +0200 Subject: file updated --- buch/papers/reedsolomon/anwendungen.tex | 60 ++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 9 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/anwendungen.tex b/buch/papers/reedsolomon/anwendungen.tex index 83e0f94..4b30ec9 100644 --- a/buch/papers/reedsolomon/anwendungen.tex +++ b/buch/papers/reedsolomon/anwendungen.tex @@ -6,14 +6,40 @@ \section{Anwendungen des Reed-Solomon-Codes \label{reedsolomon:section:anwendung}} \rhead{Anwendungen} -\textcolor{red}{Platzierung der Bilder? Quellenangabe der Bilder?} In den vorherigen Abschnitten haben wir betrachtet, wie Reed-Solomon-Codes in der Theorie Funktionieren. In diesem Abschnitt werden wir einige Anwendungen vorstellen, bei denen ein Reed-Solomon-Code zum Einsatz kommt. + +Dabei teilen all diese Anwendungen das gleiche Problem: Die Daten können nur durch einen (höchst Wahrscheinlichen) fehlerbehafteten Kanal empfangen werden. Es gibt keine andere Methode an diese Daten zu kommen als über diesen Kanal. + + +In der Netzwerktechnik zum Beispiel ist es üblich, dass bei Paketverluste oder beschädigt empfangene Datenpakete diese einfach noch einmal inert wenigen Millisekunden angefordert werden können. +In der Raumfahrt ist dies nicht möglich, da aufgrund der beschränkten Speichermöglichkeit die gesammelten Daten so rasch wie möglich zur Erde gesendet werden. +Diese Daten wiederum brauchen aufgrund der grossen Distanz Stunden bis die Daten beim Empfänger ankommen. +Fehlerhafte Daten kann also auf Grund der Zeitverzögerung nicht mehr angefordert werden. + +Bei CDs oder DVDs gibt es zwar kein Zeitliches Problem, jedoch erschweren Kratzer, Verschmutzungen oder Produktionsfehler das Lesen einer solchen Disk. +Da vor allem Produktionsfehler und Kratzer irreversibel sind und die Disk nicht nach jedem Kratzer ersetzt werden muss, so wird die korrekte Ausgabe der gespeicherten Information durch die Fehlerkorrektur sichergestellt. + +Ein ähnlicher Ansatz verfolgen QR-Codes, wobei die Information auch dann noch gelesen werden kann wenn der Code nicht mehr vollständig vorhanden ist. + +%Wie man sieht, eignen sich Reed-Solomon-Codes vor allem für Anwendungen, bei der die Informationen nicht auf einen Anderen Weg beschafft werden kann. +% +% +%, bei denen die Wahrscheinlichkeit hoch ist, dass während der Übertragung +% +%Es ist deshalb umso wichtiger die Daten Codiert zu lesen um so gleich die Lesefehler zu korrigieren. +% +% da aufgrund der grossen Distanz Stunden vergehen können bis gesendete Daten auf der Erde empfangen werden kann. +% + + Obwohl alle diese Codes nach dem gleichen Prinzip arbeiten gibt es starke Unterschiede in deren Funktionsweise. Dies kommt vor allem daher, da die Codes nur Ressourcen zur Verfügung haben, die von der Hardware bereitstellt wird, auf denen die Codes implementiert wurden. Diese Codes bedienen sich daher verschiedener Tricks und Optimierungen um möglichst effizient zu arbeiten. -% + +Um die Fähigkeit eines verwendeten Reed-Solomon-Codes zu beschreiben verwendet man die Notation ($n$,$k$), wobei $n$ die Grösse des Nachrichtenblocks angibt und $k$ die Anzahl der Stellen, die für Nutzdaten gebraucht werden können. + %Dies kommt vor allem daher, da diese Codes an ihre Hardware gebunden sind, auf denen sie implementiert worden sind. %Deshalb wurden diese Codes stark optimiert damit sie möglichst Effizient arbeiten können. % @@ -45,8 +71,17 @@ Diese Codes bedienen sich daher verschiedener Tricks und Optimierungen um mögli %In den letzten abschnitten haben wir uns ausführlich die Funktionsweise des Reed-Solomon-Codes angeschaut. In diesem Abschnitt möchten wir dem Leser ein paar bekannte beispiele vorstellen, in denen Reed-Solomon-Codes zum einsatz kommen. Es sei jedoch angemerkt, dass diese Anwendungen in der Umsetzung oft ein wenig anderst funktionieren als hier vorgestellt. Dies wurde vor allem wegen technischen optimierungen realisiert. (technische tricks und finessen), von der logik jedoch sehr stark an unserem Beispiel orientieren \subsection{Raumfahrt} -Obwohl Reed-Solomon-Codes bereits in den 1960er entwickelt wurden fanden sie erstmals Anwendung in der Voyager Raumsonde der NASA. Die Daten der zwei im Jahre 1977 gestarteten Sonden werden mit einem RS(255,233)-Code \textcolor{red}{benötigt das weitere erklärungen, wie z.b. 255: grösse nachrichtenblock, 233: anzahl der nutzbaren daten ?} zusammen mit einem konventionellen Faltungscode übertragen. - +Obwohl Reed-Solomon-Codes bereits in den 1960er entwickelt wurden fanden sie erstmals Anwendung in der Voyager Raumsonde der NASA. Die Daten der zwei im Jahre 1977 gestarteten Sonden (siehe Abbildung \ref{fig:voyager}) werden mit einem ($255$,$233$)-Code +Codiert. +Der Nachrichtenblock hat somit eine Länge von $255$ Zahlen, wovon $233$ als Nutzlast zur Verfügung stehen. +Damit ist es möglich bis zu $11$ Fehler im Nachrichtenblock zu korrigieren. +Der Codierte Nachrichtenblock wird in kleinere Blöcke aufgeteilt, mit einem Faltungscode erneut Codiert und anschliessend gesendet. Ein Faltungscode ist wie ein Reed-Solomon-Code in der Lage Fehler zu korrigieren, Funktioniert aber nach einem ganz anderen Prinzip. +Durch diese doppelte Codierung wird eine äusserst hohe Übertragungssicherheit garantiert. +% +%Dabei steht die Zahl 255 für grösse des Nachrichtenblocks, der die Anzahl 233 +% +% +% \textcolor{red}{benötigt das weitere Erklärungen, wie z.b. 255: grösse Nachrichtenblock, 233: anzahl der nutzbaren daten ?} zusammen mit einem konventionellen Faltungscode übertragen. Eine von der Sonde gesendete Nachricht hat eine Blockgrösse von 255 Zeichen, wovon 233 für die Nutzdaten gebraucht werden können. Dieser Code ist somit in der Lage 11 Fehler in einem Nachrichtenblock zu korrigieren. % % Die zwei im Jahre 1977 gestarteten Sonden senden Daten mit der Hilfe eines RS(255,233)-Code für die digitalen Bilder sowie einem konventionellen Faltungscode. % @@ -56,14 +91,14 @@ Obwohl Reed-Solomon-Codes bereits in den 1960er entwickelt wurden fanden sie ers \begin{figure} \centering \includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/Voyager_Sonde} - \caption{Voyager Raumsonde} + \caption{Mit einer Entfernung von über 22.8 Milliarden Kilometer ist die Voyager 1 Raumsonde das am weitesten entfernte, von Menschen erschaffene Objekt. Obwohl ihre Schwestersonde Voyager 2 zuerst ins All gestartet wurde befindet Sie sich ``nur'' 19 Milliarden Kilometer weit weg von der Erde. Aufgrund abnehmender Batterieleistung werden die beiden Sonden ihre wissenschaftlichen Aktivitäten etwa 2025 einstellen, bleiben aber bis in die 2030er mit uns in Kontakt.} \label{fig:voyager} \end{figure} \subsection{CD/DVD} Compact discs verwenden sogar zwei ineinander verschachtelte Reed-Solomon-Codes, einen (32,28)-Code und einen (28,24)-Code. -Beide Codes sind in der Lage, Fehler aus dem jeweils anderen gelesenen Block zu korrigieren. Dieses spezielle zusammenspielen dieser beiden Codes werden auch Cross-interleaved Reed-Solomon-Codes (CIRC) genannt. -Diese Vorgehensweise erzielt eine hohe Robustheit gegenüber Produktionsfehler oder Verschmutzung auf der Disc. Bei CD's sind diese in der Lage bis zu 4000 fehlerhafte Bits am Stück (ca. $2.5mm$) zu erkennen und zu korrigieren. +Beide Codes sind in der Lage, Fehler aus dem jeweils anderen gelesenen Block zu korrigieren. Dieses spezielle Zusammenspielen dieser beiden Codes werden auch Cross-interleaved Reed-Solomon-Codes (CIRC) genannt. +Diese Vorgehensweise erzielt eine hohe Robustheit gegenüber Produktionsfehlern oder Verschmutzung auf der Disc. Bei CDs sind diese in der Lage, bis zu 4000 fehlerhafte Bits am Stück (ca. $2.5mm$) zu erkennen und zu korrigieren. Die Digital Video Disc funktioniert nach dem selben Konzept mit grösseren Codeblöcken. Die DVD verwendet einen (208,192)-Code und einen (182,172)-Code. @@ -73,12 +108,19 @@ Die Digital Video Disc funktioniert nach dem selben Konzept mit grösseren Codeb \begin{figure} \centering \includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/Compact_Disc} - \caption{Compact Disc} + \caption{CDs kamen 1982 auf den Markt. Sie funktioniert durch das ``einbrennen'' von Punkten und Strichen, die die Daten repräsentieren. Gelesen werden diese wiederum durch die Reflektion eines Lasers an diesen Punkten und Strichen.} \label{fig:cd} \end{figure} \subsection{QR-Codes} -Quick Response Codes funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel, nur dass QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Je nach grösse der Codierung ist der QR-Code im Endeffekt robuster gegen Beschädigungen. Bei Low Level Codes können 7\% der Daten Wiederhergestellt werden, beim High Level Code sind das sogar 30\%. +Quick Response Codes oder auch QR-Codes funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel der Abschnitte \ref{reedsolomon:section:codebsp} - \ref{reedsolomon:section:rekonstruktion} nur das QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Die Physische Grösse eines Codes ist stark abhängig von der Grösse der Codierung sowie dem Fehlerkorrektur-Level. Es ist so auf dem ersten Blick nicht ersichtlich, wie viel Nutzinformationen ein Qr-Code enthält. Die QR-Codes in Abbildung \ref{fig:qr} zeigen jeweils die Gleiche Information mit unterschiedlichem Fehlerkorrektur-Level. Codes mit einem höheren Korrektur-Level können auch für Desingner-Codes Zweckentfremdet werden. Dabei wird z.B. das Firmenlogo oder einen Schriftzug über den Qr-Code gelegt, ohne das die Funktion des Codes beeinträchtigt wird. Ein Beispiel dazu ist ebenfalls unter Abbildung \ref{fig:qr} \textcolor{red}{(noch nicht erstellt + beschreibung anpassen)} zu finden. + +% + +%So kann auf den ersten Blick nicht +% +% +% funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel, nur dass QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Je nach grösse der Codierung ist der QR-Code im Endeffekt robuster gegen Beschädigungen. Bei Low Level Codes können 7\% der Daten Wiederhergestellt werden, beim High Level Code sind das sogar 30\%. \begin{figure} \centering -- cgit v1.2.1 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/papers/reedsolomon') 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/papers/reedsolomon') 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/papers/reedsolomon') 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/papers/reedsolomon') 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 bb1a2ba9187459d0304e2fa073306c333ae5f236 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 19 Jul 2021 20:47:33 +0200 Subject: final pictures added, sources updated --- buch/papers/reedsolomon/anwendungen.tex | 28 ++++++++++- buch/papers/reedsolomon/images/designer_qrcode.png | Bin 0 -> 163253 bytes .../images/designer_qrcode_ohnelogo.png | Bin 0 -> 133792 bytes buch/papers/reedsolomon/main.tex | 6 +++ buch/papers/reedsolomon/references.bib | 53 +++++++++++++++++++++ 5 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 buch/papers/reedsolomon/images/designer_qrcode.png create mode 100644 buch/papers/reedsolomon/images/designer_qrcode_ohnelogo.png (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/anwendungen.tex b/buch/papers/reedsolomon/anwendungen.tex index 4b30ec9..c03b1a4 100644 --- a/buch/papers/reedsolomon/anwendungen.tex +++ b/buch/papers/reedsolomon/anwendungen.tex @@ -113,7 +113,7 @@ Die Digital Video Disc funktioniert nach dem selben Konzept mit grösseren Codeb \end{figure} \subsection{QR-Codes} -Quick Response Codes oder auch QR-Codes funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel der Abschnitte \ref{reedsolomon:section:codebsp} - \ref{reedsolomon:section:rekonstruktion} nur das QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Die Physische Grösse eines Codes ist stark abhängig von der Grösse der Codierung sowie dem Fehlerkorrektur-Level. Es ist so auf dem ersten Blick nicht ersichtlich, wie viel Nutzinformationen ein Qr-Code enthält. Die QR-Codes in Abbildung \ref{fig:qr} zeigen jeweils die Gleiche Information mit unterschiedlichem Fehlerkorrektur-Level. Codes mit einem höheren Korrektur-Level können auch für Desingner-Codes Zweckentfremdet werden. Dabei wird z.B. das Firmenlogo oder einen Schriftzug über den Qr-Code gelegt, ohne das die Funktion des Codes beeinträchtigt wird. Ein Beispiel dazu ist ebenfalls unter Abbildung \ref{fig:qr} \textcolor{red}{(noch nicht erstellt + beschreibung anpassen)} zu finden. +Quick Response Codes oder auch QR-Codes funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel der Abschnitte \ref{reedsolomon:section:codebsp} - \ref{reedsolomon:section:rekonstruktion} nur das QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Die Physische Grösse eines Codes ist stark abhängig von der Grösse der Codierung sowie dem Fehlerkorrektur-Level. Es ist so auf dem ersten Blick nicht ersichtlich, wie viel Nutzinformationen ein Qr-Code enthält. Die QR-Codes in Abbildung \ref{fig:qr} zeigen jeweils die Gleiche Information mit unterschiedlichem Fehlerkorrektur-Level. Codes mit einem höheren Korrektur-Level können auch für Designer-Codes Zweckentfremdet werden. Dabei wird z.B. das Firmenlogo oder einen Schriftzug über den Qr-Code gelegt, ohne das die Funktion des Codes beeinträchtigt wird. Ein Beispiel dazu ist unter Abbildung \ref{fig:designqr} zu finden. % @@ -130,6 +130,30 @@ Quick Response Codes oder auch QR-Codes funktionieren nach einem sehr ähnlichen \subfigure[]{ \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/qrcode_l} } - \caption{(a) High Level Code, (b) Low Level Code} +% \subfigure[]{ +% \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/designer_qrcode_ohnelogo} +% } +% \subfigure[]{ +% \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/designer_qrcode} +% } + \caption{Anhand der grösse würde man darauf schliessen, dass bei (a) mehr Informationen Codiert sind als bei (b). Tatsächlich aber beinhalten beide Codes die gleiche Information. Das liegt daran, da die Fehlerkorrekturfähigkeit von QR-Codes sich in insgesamt vier Levels aufteilen lassen. Der höchste Fehlerkorrektur-Level, der bei (a) angewendet wurde, ist in der Lage, bis zu 30\% der Daten wiederherzustellen. Der kleinste Level schafft etwa 7\%, der in (b) veranschaulicht wird. Da die Grösse also nichts über die Menge an Daten aussagt, könnte es sich bei (a) auch um einen Code mit viel Nutzdaten und kleinem Fehlerkorrektur-Level handeln. Der Unterschied ist von Auge nicht sichtbar.} \label{fig:qr} \end{figure} + +\begin{figure} + \centering +% \subfigure[]{ +% \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/qrcode_h} +% } +% \subfigure[]{ +% \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/qrcode_l} +% } + \subfigure[]{ + \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/designer_qrcode_ohnelogo} + } + \subfigure[]{ + \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/designer_qrcode} + } + \caption{Während (a) noch ein unveränderter QR-Code repräsentiert, handelt es sich bei (b) nun um einen Designer-QR-Code. Beide Codes verfügen über einen mittleren Fehlerkorrektur-Level von theoretisch 15\%. Da bei (b) jetzt einen Teil des Codes durch ein Logo verdeckt wird, schränkt sich dadurch die Fehlerkorrekturfähigkeit je nach grösse des verdeckten Teils mehr oder weniger stark ein. Unser Designer-Code in (b) ist nur noch in der Lage etwa 9\% des Codes zu rekonstruieren.} + \label{fig:designqr} +\end{figure} \ No newline at end of file diff --git a/buch/papers/reedsolomon/images/designer_qrcode.png b/buch/papers/reedsolomon/images/designer_qrcode.png new file mode 100644 index 0000000..a9e0505 Binary files /dev/null and b/buch/papers/reedsolomon/images/designer_qrcode.png differ diff --git a/buch/papers/reedsolomon/images/designer_qrcode_ohnelogo.png b/buch/papers/reedsolomon/images/designer_qrcode_ohnelogo.png new file mode 100644 index 0000000..fe4251d Binary files /dev/null and b/buch/papers/reedsolomon/images/designer_qrcode_ohnelogo.png differ diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 6bd04f2..a400508 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -45,6 +45,12 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \nocite{reedsolomon:weitz} \nocite{reedsolomon:informationkommunikation} +\nocite{reedsolomon:voyager_programm} +\nocite{reedsolomon:voyager} +\nocite{reedsolomon:cd_wiki} +\nocite{reedsolomon:cd} +\nocite{reedsolomon:qr_wiki} +\nocite{reedsolomon:qr} %\nocite{reedsolomon:mendezmueller} \printbibliography[heading=subbibliography] diff --git a/buch/papers/reedsolomon/references.bib b/buch/papers/reedsolomon/references.bib index 731bd35..e0a75a8 100644 --- a/buch/papers/reedsolomon/references.bib +++ b/buch/papers/reedsolomon/references.bib @@ -23,3 +23,56 @@ volume = {1} } +@online{reedsolomon:voyager_programm, + title = {Information über das Voyager Programm}, + url = {https://de.wikipedia.org/wiki/Voyager-Programm}, + date = {2021-07-19}, + year = {2021}, + month = {7}, + day = {19} +} + +@online{reedsolomon:voyager, + title = {Bild der Voyager Raumsonde}, + url = {https://en.wikipedia.org/wiki/Voyager_1}, + date = {2021-07-19}, + year = {2021}, + month = {7}, + day = {19} +} + +@online{reedsolomon:cd_wiki, + title = {Alles über die CD}, + url = {https://de.wikipedia.org/wiki/Compact_Disc}, + date = {2021-07-19}, + year = {2021}, + month = {7}, + day = {19} +} + +@online{reedsolomon:cd, + title = {Funktionsweise des QR-Codes}, + url = {https://www.stickpng.com/img/electronics/compact-discs/stack-compact-disc}, + date = {2021-07-19}, + year = {2021}, + month = {7}, + day = {19} +} + +@online{reedsolomon:qr_wiki, + title = {Funktionsweise des QR-Codes}, + url = {https://de.wikipedia.org/wiki/QR-Code}, + date = {2021-07-19}, + year = {2021}, + month = {7}, + day = {19} +} + +@online{reedsolomon:qr, + title = {Tool zum erstellen von QR-Codes}, + url = {https://www.qrcode-generator.ch}, + date = {2021-07-19}, + year = {2021}, + month = {7}, + day = {19} +} \ No newline at end of file -- 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/papers/reedsolomon') 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/papers/reedsolomon') 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/papers/reedsolomon') 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/papers/reedsolomon') 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 From cccb51c61e5423ab8bc42ff327bc577dfc5aca24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 22 Jul 2021 10:35:04 +0200 Subject: typo --- buch/papers/reedsolomon/Makefile.inc | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/Makefile.inc b/buch/papers/reedsolomon/Makefile.inc index 6a676f8..ea51f7a 100644 --- a/buch/papers/reedsolomon/Makefile.inc +++ b/buch/papers/reedsolomon/Makefile.inc @@ -6,9 +6,17 @@ dependencies-reedsolomon = \ papers/reedsolomon/packages.tex \ papers/reedsolomon/main.tex \ - papers/reedsolomon/references.bib \ - papers/reedsolomon/teil0.tex \ - papers/reedsolomon/teil1.tex \ - papers/reedsolomon/teil2.tex \ - papers/reedsolomon/teil3.tex + papers/reedsolomon/einleitung.tex \ + papers/reedsolomon/idee.tex \ + papers/reedsolomon/dtf.tex \ + papers/reedsolomon/endlichekoerper.tex \ + papers/reedsolomon/codebsp.tex \ + papers/reedsolomon/decohnefehler.tex \ + papers/reedsolomon/decmitfehler.tex \ + papers/reedsolomon/rekonstruktion.tex \ + papers/reedsolomon/zusammenfassung.tex \ + papers/reedsolomon/anwendungen.tex \ + papers/reedsolomon/hilfstabellen.tex \ + papers/reedsolomon/references.bib + -- cgit v1.2.1 From f12bfc8392b2f09416fb2171a4dd0107ebe16722 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Mon, 26 Jul 2021 14:17:05 +0200 Subject: update some files too --- buch/papers/reedsolomon/Makefile | 50 ++++++++++- buch/papers/reedsolomon/dtf.tex | 29 ++++--- buch/papers/reedsolomon/einleitung.tex | 10 +-- buch/papers/reedsolomon/experiments/plot.tex | 2 +- buch/papers/reedsolomon/figures/plotfft.pdf | Bin 0 -> 60217 bytes buch/papers/reedsolomon/figures/polynom2.pdf | Bin 0 -> 20327 bytes buch/papers/reedsolomon/idee.tex | 13 ++- 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/plotfft.tex | 89 ------------------- buch/papers/reedsolomon/images/polynom2.tex | 49 ----------- buch/papers/reedsolomon/images/signal.txt | 96 --------------------- buch/papers/reedsolomon/images/syndrom.txt | 96 --------------------- buch/papers/reedsolomon/main.tex | 20 ----- buch/papers/reedsolomon/standalone.tex | 30 +++++++ buch/papers/reedsolomon/standalone/standalone.pdf | Bin 0 -> 1782700 bytes buch/papers/reedsolomon/tikz/codiert.txt | 96 +++++++++++++++++++++ buch/papers/reedsolomon/tikz/decodiert.txt | 96 +++++++++++++++++++++ buch/papers/reedsolomon/tikz/empfangen.txt | 96 +++++++++++++++++++++ buch/papers/reedsolomon/tikz/fehler.txt | 96 +++++++++++++++++++++ buch/papers/reedsolomon/tikz/locator.txt | 96 +++++++++++++++++++++ buch/papers/reedsolomon/tikz/plotfft.tex | 99 ++++++++++++++++++++++ buch/papers/reedsolomon/tikz/polynom2.tex | 57 +++++++++++++ buch/papers/reedsolomon/tikz/signal.txt | 96 +++++++++++++++++++++ buch/papers/reedsolomon/tikz/syndrom.txt | 96 +++++++++++++++++++++ 28 files changed, 939 insertions(+), 853 deletions(-) create mode 100644 buch/papers/reedsolomon/figures/plotfft.pdf create mode 100644 buch/papers/reedsolomon/figures/polynom2.pdf delete mode 100644 buch/papers/reedsolomon/images/codiert.txt delete mode 100644 buch/papers/reedsolomon/images/decodiert.txt delete mode 100644 buch/papers/reedsolomon/images/empfangen.txt delete mode 100644 buch/papers/reedsolomon/images/fehler.txt delete mode 100644 buch/papers/reedsolomon/images/locator.txt delete mode 100644 buch/papers/reedsolomon/images/plotfft.tex delete mode 100644 buch/papers/reedsolomon/images/polynom2.tex delete mode 100644 buch/papers/reedsolomon/images/signal.txt delete mode 100644 buch/papers/reedsolomon/images/syndrom.txt create mode 100644 buch/papers/reedsolomon/standalone.tex create mode 100644 buch/papers/reedsolomon/standalone/standalone.pdf create mode 100644 buch/papers/reedsolomon/tikz/codiert.txt create mode 100644 buch/papers/reedsolomon/tikz/decodiert.txt create mode 100644 buch/papers/reedsolomon/tikz/empfangen.txt create mode 100644 buch/papers/reedsolomon/tikz/fehler.txt create mode 100644 buch/papers/reedsolomon/tikz/locator.txt create mode 100644 buch/papers/reedsolomon/tikz/plotfft.tex create mode 100644 buch/papers/reedsolomon/tikz/polynom2.tex create mode 100644 buch/papers/reedsolomon/tikz/signal.txt create mode 100644 buch/papers/reedsolomon/tikz/syndrom.txt (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/Makefile b/buch/papers/reedsolomon/Makefile index 9c96e88..25fd98b 100644 --- a/buch/papers/reedsolomon/Makefile +++ b/buch/papers/reedsolomon/Makefile @@ -4,6 +4,52 @@ # (c) 2020 Prof Dr Andreas Mueller # -images: - @echo "no images to be created in reedsolomon" +SOURCES := \ + anwendungen.tex \ + codebsp.tex \ + decmitfehler.tex \ + decohnefehler.tex \ + dtf.tex \ + einleitung.tex \ + endlichekoerper.tex \ + hilfstabellen.tex \ + idee.tex \ + main.tex \ + packages.tex \ + rekonstruktion.tex \ + restetabelle1.tex \ + restetabelle2.tex \ + standalone.tex \ + zusammenfassung.tex + +TIKZFIGURES := \ + tikz/polynom2.tex \ + tikz/plotfft.tex + +FIGURES := $(patsubst tikz/%.tex, figures/%.pdf, $(TIKZFIGURES)) + + +all: images standalone + + +.PHONY: images +images: $(FIGURES) + +figures/%.pdf: tikz/%.tex + mkdir -p figures + pdflatex --output-directory=figures $< + +.PHONY: standalone +standalone: standalone.tex $(SOURCES) $(FIGURES) + mkdir -p standalone + cd ../..; \ + pdflatex \ + --halt-on-error \ + --shell-escape \ + --output-directory=papers/reedsolomon/standalone \ + papers/reedsolomon/standalone.tex; + cd standalone; \ + bibtex standalone; \ + makeindex standalone; + diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index a111527..62e44cc 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -14,20 +14,27 @@ 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} +\begin{equation} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \] + \label{reedsolomon:DFT} +\end{equation} + , wenn man nun - \[ - w = e^{-\frac{2\pi j}{N} k} - \] +\begin{equation} + w = + e^{-\frac{2\pi j}{N} k} + \label{reedsolomon:DFT_summand} +\end{equation} + 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) - \] +\begin{equation} + \hat{c}_{k}= + \frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \label{reedsolomon:DFT_polynom} +\end{equation} + was überaust ähnlich zu unserem Polynomidee ist. \subsection{Übertragungsabfolge \label{reedsolomon:subsection:Übertragungsabfolge}} @@ -47,8 +54,8 @@ Das heisst alle information ist in alle Zahlenvorhanden. \begin{figure} \centering \resizebox{0.9\textwidth}{!}{ - %\includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/plot.pdf} - \input{papers/reedsolomon/images/plotfft.tex} + \includegraphics[width=\textwidth]{papers/reedsolomon/figures/plotfft} + %\input{papers/reedsolomon/images/plotfft.tex} } \caption{Übertragungsabfolge \ref{reedsolomon:subsection:Übertragungsabfolge}} \label{fig:sendorder} diff --git a/buch/papers/reedsolomon/einleitung.tex b/buch/papers/reedsolomon/einleitung.tex index 2b1d878..074df05 100644 --- a/buch/papers/reedsolomon/einleitung.tex +++ b/buch/papers/reedsolomon/einleitung.tex @@ -7,13 +7,11 @@ \label{reedsolomon:section:einleitung}} \rhead{Einleitung} 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. +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 des Reed-Solomon-Code 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, -und so jeweilige Fehler zu erkennen. -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/experiments/plot.tex b/buch/papers/reedsolomon/experiments/plot.tex index 2196c82..4b156bb 100644 --- a/buch/papers/reedsolomon/experiments/plot.tex +++ b/buch/papers/reedsolomon/experiments/plot.tex @@ -90,7 +90,7 @@ \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 (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}; diff --git a/buch/papers/reedsolomon/figures/plotfft.pdf b/buch/papers/reedsolomon/figures/plotfft.pdf new file mode 100644 index 0000000..27992c9 Binary files /dev/null and b/buch/papers/reedsolomon/figures/plotfft.pdf differ diff --git a/buch/papers/reedsolomon/figures/polynom2.pdf b/buch/papers/reedsolomon/figures/polynom2.pdf new file mode 100644 index 0000000..ae68385 Binary files /dev/null and b/buch/papers/reedsolomon/figures/polynom2.pdf differ diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 39adbbf..e18ccd2 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -1,15 +1,22 @@ % -% teil1.tex -- Beispiel-File für das Paper +% idee.tex -- Beispiel-File für das Paper % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Idee \label{reedsolomon:section:idee}} \rhead{Problemstellung} +Um beim Datenübertragen Fehler zu erkennen, könnte man die Daten jeweils doppelt senden, +und so jeweilige Fehler zu erkennen. +Doch nur schon um Fehler zu erkennen werden überproportional viele Daten doppelt und dreifach gesendet. +Der Reed-Solomon-Code macht dies auf eine andere, clevere Weise. Das Problem liegt darin Informationen, Zahlen, zu Übertragen und Fehler zu erkennen. Beim Reed-Solomon-Code kann man nicht nur Fehler erkennen, man kann sogar einige Fehler korrigieren. +Der unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage kommt hat es Fehler oder keine, +beim korrigieren muss man den Fehler erkennun und dann zusätzlich noch den original Wert rekonstruieren. +Auch eine variante wäre es die Daten nach einem Fehler einfach nochmals zu senden, was bei Reed-Solomon-Code-Anwendungen nicht immer sinnvolll ist. \ref(reedsolomon:section:anwendung) \rhead{Polynom-Ansatz} Eine Idee ist aus den Daten @@ -48,8 +55,8 @@ 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} + \includegraphics[width=\textwidth]{papers/reedsolomon/figures/polynom2} + %\input{papers/reedsolomon/images/polynom2.tex} \caption{Polynom $p(x)$ \eqref{reedsolomon:equation1}} \label{fig:polynom} \end{figure} diff --git a/buch/papers/reedsolomon/images/codiert.txt b/buch/papers/reedsolomon/images/codiert.txt deleted file mode 100644 index 4a481d8..0000000 --- a/buch/papers/reedsolomon/images/codiert.txt +++ /dev/null @@ -1,96 +0,0 @@ -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 deleted file mode 100644 index f6221e6..0000000 --- a/buch/papers/reedsolomon/images/decodiert.txt +++ /dev/null @@ -1,96 +0,0 @@ -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 deleted file mode 100644 index 38c13b0..0000000 --- a/buch/papers/reedsolomon/images/empfangen.txt +++ /dev/null @@ -1,96 +0,0 @@ -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 deleted file mode 100644 index 23f1a83..0000000 --- a/buch/papers/reedsolomon/images/fehler.txt +++ /dev/null @@ -1,96 +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/images/locator.txt b/buch/papers/reedsolomon/images/locator.txt deleted file mode 100644 index b28988c..0000000 --- a/buch/papers/reedsolomon/images/locator.txt +++ /dev/null @@ -1,96 +0,0 @@ -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/plotfft.tex b/buch/papers/reedsolomon/images/plotfft.tex deleted file mode 100644 index 83a89eb..0000000 --- a/buch/papers/reedsolomon/images/plotfft.tex +++ /dev/null @@ -1,89 +0,0 @@ -% -% Plot der Übertrangungsabfolge ins FFT und zurück mit IFFT -% -\begin{tikzpicture}[] - -%--------------------------------------------------------------- - %Knote -\matrix[draw = none, column sep=25mm, row sep=2mm]{ - \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] {papers/reedsolomon/images/signal.txt}; - \end{axis} - \end{tikzpicture}}; & - - \node(codiert) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Codiert}}] - \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}}, - 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[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] {papers/reedsolomon/images/empfangen.txt}; - \end{axis} - \end{tikzpicture}};\\ - - \node(syndrom) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Syndrom}}] - \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] {papers/reedsolomon/images/locator.txt}; - \end{axis} - \end{tikzpicture}};\\ -}; -%------------------------------------------------------------- - %FFT & IFFT deskription - -\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/images/polynom2.tex b/buch/papers/reedsolomon/images/polynom2.tex deleted file mode 100644 index 288b51c..0000000 --- a/buch/papers/reedsolomon/images/polynom2.tex +++ /dev/null @@ -1,49 +0,0 @@ -% polynome -%------------------- -% Teiler für das Skalieren der Grafik /40 -\newcommand{\teiler}{40} - - -%////////////////////////////////////// - -\begin{tikzpicture}[>=latex,thick] - \draw[color=blue, line width=1.4pt] - plot[domain=0:8, samples=100] - ({\x},{(2*\x^2+1*\x+5)/\teiler}); - - \draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; - \draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; - - \def\punkt#1{ - \fill[color=green] #1 circle[radius=0.08]; - \draw #1 circle[radius=0.07]; - } - - \def\hellpunkt#1{ - \fill[color=lightgray] #1 circle[radius=0.08]; - \draw #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}); - - \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} -%\end{document} diff --git a/buch/papers/reedsolomon/images/signal.txt b/buch/papers/reedsolomon/images/signal.txt deleted file mode 100644 index c4fa5f8..0000000 --- a/buch/papers/reedsolomon/images/signal.txt +++ /dev/null @@ -1,96 +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/images/syndrom.txt b/buch/papers/reedsolomon/images/syndrom.txt deleted file mode 100644 index 8ca9eed..0000000 --- a/buch/papers/reedsolomon/images/syndrom.txt +++ /dev/null @@ -1,96 +0,0 @@ -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/main.tex b/buch/papers/reedsolomon/main.tex index e68b947..327d01a 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -8,29 +8,9 @@ \begin{refsection} \chapterauthor{Joshua Bär und Michael Steiner} -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} - % Joshua \input{papers/reedsolomon/einleitung.tex} \input{papers/reedsolomon/idee.tex} -%\input{papers/reedsolomon/teil2.tex} \input{papers/reedsolomon/dtf.tex} % Michael diff --git a/buch/papers/reedsolomon/standalone.tex b/buch/papers/reedsolomon/standalone.tex new file mode 100644 index 0000000..c850d1f --- /dev/null +++ b/buch/papers/reedsolomon/standalone.tex @@ -0,0 +1,30 @@ +\documentclass{book} + +\input{common/packages.tex} + +% additional packages used by the individual papers, add a line for +% each paper +\input{papers/common/addpackages.tex} + +% workaround for biblatex bug +\makeatletter +\def\blx@maxline{77} +\makeatother +\addbibresource{chapters/references.bib} + +% Bibresources for each article +\input{papers/common/addbibresources.tex} + +% make sure the last index starts on an odd page +\AtEndDocument{\clearpage\ifodd\value{page}\else\null\clearpage\fi} +\makeindex + +%\pgfplotsset{compat=1.12} +\setlength{\headheight}{15pt} % fix headheight warning +\DeclareGraphicsRule{*}{mps}{*}{} + +\begin{document} + \input{common/macros.tex} + \def\chapterauthor#1{{\large #1}\bigskip\bigskip} + \input{papers/reedsolomon/main.tex} +\end{document} diff --git a/buch/papers/reedsolomon/standalone/standalone.pdf b/buch/papers/reedsolomon/standalone/standalone.pdf new file mode 100644 index 0000000..80af280 Binary files /dev/null and b/buch/papers/reedsolomon/standalone/standalone.pdf differ diff --git a/buch/papers/reedsolomon/tikz/codiert.txt b/buch/papers/reedsolomon/tikz/codiert.txt new file mode 100644 index 0000000..4a481d8 --- /dev/null +++ b/buch/papers/reedsolomon/tikz/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/tikz/decodiert.txt b/buch/papers/reedsolomon/tikz/decodiert.txt new file mode 100644 index 0000000..f6221e6 --- /dev/null +++ b/buch/papers/reedsolomon/tikz/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/tikz/empfangen.txt b/buch/papers/reedsolomon/tikz/empfangen.txt new file mode 100644 index 0000000..38c13b0 --- /dev/null +++ b/buch/papers/reedsolomon/tikz/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/tikz/fehler.txt b/buch/papers/reedsolomon/tikz/fehler.txt new file mode 100644 index 0000000..23f1a83 --- /dev/null +++ b/buch/papers/reedsolomon/tikz/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/tikz/locator.txt b/buch/papers/reedsolomon/tikz/locator.txt new file mode 100644 index 0000000..b28988c --- /dev/null +++ b/buch/papers/reedsolomon/tikz/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/tikz/plotfft.tex b/buch/papers/reedsolomon/tikz/plotfft.tex new file mode 100644 index 0000000..3036e14 --- /dev/null +++ b/buch/papers/reedsolomon/tikz/plotfft.tex @@ -0,0 +1,99 @@ +% +% Plot der Übertrangungsabfolge ins FFT und zurück mit IFFT +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{pgfplots} +\usepackage{pgfplotstable} +\usepackage{csvsimple} +\usepackage{filecontents} + + +\begin{document} +\begin{tikzpicture}[] + + %--------------------------------------------------------------- + %Knote + \matrix[draw = none, column sep=25mm, row sep=2mm]{ + \node(signal) [] { + \begin{tikzpicture} + \begin{axis} + [title = {\Large {Signal}}, + xtick={0,20,40,64,80,98},] + \addplot[blue] table[col sep=comma] {tikz/signal.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(codiert) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Codiert}}] + \addplot[] table[col sep=comma] {tikz/codiert.txt}; + \end{axis} + \end{tikzpicture}}; \\ + + &\node(fehler) [] { + \begin{tikzpicture} + \begin{axis}[scale=0.6, title = {\Large {Fehler}}, + xtick={7,21,75}] + \addplot[red] table[col sep=comma] {tikz/fehler.txt}; + \end{axis} + \end{tikzpicture}};\\ + + \node(decodiert) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Decodiert}}] + \addplot[blue] table[col sep=comma] {tikz/decodiert.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(empfangen) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Empfangen}}] + \addplot[] table[col sep=comma] {tikz/empfangen.txt}; + \end{axis} + \end{tikzpicture}};\\ + + \node(syndrom) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Syndrom}}] + \addplot[blue] table[col sep=comma] {tikz/syndrom.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(locator) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Locator}}] + \addplot[] table[col sep=comma] {tikz/locator.txt}; + \end{axis} + \end{tikzpicture}};\\ + }; + %------------------------------------------------------------- + %FFT & IFFT deskription + + \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} +\end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/tikz/polynom2.tex b/buch/papers/reedsolomon/tikz/polynom2.tex new file mode 100644 index 0000000..456e067 --- /dev/null +++ b/buch/papers/reedsolomon/tikz/polynom2.tex @@ -0,0 +1,57 @@ +% polynome +%------------------- + +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{pgfplots} + + +\begin{document} +% Teiler für das Skalieren der Grafik /40 +\newcommand{\teiler}{40} + + +%////////////////////////////////////// + +\begin{tikzpicture}[>=latex,thick] + \draw[color=blue, line width=1.4pt] + plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); + + \draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; + \draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; + + \def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + + \def\hellpunkt#1{ + \fill[color=lightgray] #1 circle[radius=0.08]; + \draw #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}); + + \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} +\end{document} diff --git a/buch/papers/reedsolomon/tikz/signal.txt b/buch/papers/reedsolomon/tikz/signal.txt new file mode 100644 index 0000000..c4fa5f8 --- /dev/null +++ b/buch/papers/reedsolomon/tikz/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/tikz/syndrom.txt b/buch/papers/reedsolomon/tikz/syndrom.txt new file mode 100644 index 0000000..8ca9eed --- /dev/null +++ b/buch/papers/reedsolomon/tikz/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 91c10deedee35f5fa673de585c41c06b81248f14 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 26 Jul 2021 20:59:51 +0200 Subject: Bonus-Chapter updated --- buch/papers/reedsolomon/anwendungen.tex | 35 +++++++++++++-------- .../reedsolomon/images/Compact_Disc_zoomed_in.png | Bin 0 -> 45679 bytes buch/papers/reedsolomon/main.tex | 1 + buch/papers/reedsolomon/references.bib | 11 ++++++- 4 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 buch/papers/reedsolomon/images/Compact_Disc_zoomed_in.png (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/anwendungen.tex b/buch/papers/reedsolomon/anwendungen.tex index c03b1a4..b9b1d69 100644 --- a/buch/papers/reedsolomon/anwendungen.tex +++ b/buch/papers/reedsolomon/anwendungen.tex @@ -7,21 +7,20 @@ \label{reedsolomon:section:anwendung}} \rhead{Anwendungen} -In den vorherigen Abschnitten haben wir betrachtet, wie Reed-Solomon-Codes in der Theorie Funktionieren. +In den vorherigen Abschnitten haben wir betrachtet, wie Reed-Solomon-Codes in der Theorie funktionieren. In diesem Abschnitt werden wir einige Anwendungen vorstellen, bei denen ein Reed-Solomon-Code zum Einsatz kommt. -Dabei teilen all diese Anwendungen das gleiche Problem: Die Daten können nur durch einen (höchst Wahrscheinlichen) fehlerbehafteten Kanal empfangen werden. Es gibt keine andere Methode an diese Daten zu kommen als über diesen Kanal. +Dabei teilen all diese Anwendungen das gleiche Problem: Die Daten können nur durch einen (höchst Wahrscheinlichen) fehlerbehafteten Kanal empfangen werden. Es gibt keine andere Methode, an diese Daten zu kommen, als über diesen Kanal. - -In der Netzwerktechnik zum Beispiel ist es üblich, dass bei Paketverluste oder beschädigt empfangene Datenpakete diese einfach noch einmal inert wenigen Millisekunden angefordert werden können. +In der Netzwerktechnik zum Beispiel ist es üblich, dass bei Paketverluste oder beschädigt empfangene Datenpaketen diese einfach noch einmal innert wenigen Millisekunden angefordert werden können. In der Raumfahrt ist dies nicht möglich, da aufgrund der beschränkten Speichermöglichkeit die gesammelten Daten so rasch wie möglich zur Erde gesendet werden. Diese Daten wiederum brauchen aufgrund der grossen Distanz Stunden bis die Daten beim Empfänger ankommen. Fehlerhafte Daten kann also auf Grund der Zeitverzögerung nicht mehr angefordert werden. -Bei CDs oder DVDs gibt es zwar kein Zeitliches Problem, jedoch erschweren Kratzer, Verschmutzungen oder Produktionsfehler das Lesen einer solchen Disk. +Bei CDs oder DVDs gibt es zwar kein zeitliches Problem, jedoch erschweren Kratzer, Verschmutzungen oder Produktionsfehler das Lesen einer solchen Disk. Da vor allem Produktionsfehler und Kratzer irreversibel sind und die Disk nicht nach jedem Kratzer ersetzt werden muss, so wird die korrekte Ausgabe der gespeicherten Information durch die Fehlerkorrektur sichergestellt. -Ein ähnlicher Ansatz verfolgen QR-Codes, wobei die Information auch dann noch gelesen werden kann wenn der Code nicht mehr vollständig vorhanden ist. +Einen ähnlichen Ansatz verfolgen QR-Codes, wobei die Information auch dann noch gelesen werden kann wenn der Code nicht mehr vollständig vorhanden ist. %Wie man sieht, eignen sich Reed-Solomon-Codes vor allem für Anwendungen, bei der die Informationen nicht auf einen Anderen Weg beschafft werden kann. % @@ -33,7 +32,6 @@ Ein ähnlicher Ansatz verfolgen QR-Codes, wobei die Information auch dann noch g % da aufgrund der grossen Distanz Stunden vergehen können bis gesendete Daten auf der Erde empfangen werden kann. % - Obwohl alle diese Codes nach dem gleichen Prinzip arbeiten gibt es starke Unterschiede in deren Funktionsweise. Dies kommt vor allem daher, da die Codes nur Ressourcen zur Verfügung haben, die von der Hardware bereitstellt wird, auf denen die Codes implementiert wurden. Diese Codes bedienen sich daher verschiedener Tricks und Optimierungen um möglichst effizient zu arbeiten. @@ -75,8 +73,14 @@ Obwohl Reed-Solomon-Codes bereits in den 1960er entwickelt wurden fanden sie ers Codiert. Der Nachrichtenblock hat somit eine Länge von $255$ Zahlen, wovon $233$ als Nutzlast zur Verfügung stehen. Damit ist es möglich bis zu $11$ Fehler im Nachrichtenblock zu korrigieren. -Der Codierte Nachrichtenblock wird in kleinere Blöcke aufgeteilt, mit einem Faltungscode erneut Codiert und anschliessend gesendet. Ein Faltungscode ist wie ein Reed-Solomon-Code in der Lage Fehler zu korrigieren, Funktioniert aber nach einem ganz anderen Prinzip. -Durch diese doppelte Codierung wird eine äusserst hohe Übertragungssicherheit garantiert. +Der Codierte Nachrichtenblock wird in kleinere Blöcke aufgeteilt, mit einem Faltungscode erneut Codiert und anschliessend gesendet. +Ein Faltungscode ist wie ein Reed-Solomon-Code in der Lage Fehler zu korrigieren, +Codiert seine Information aber auf eine andere weise. Aus jedem unterteilten Block wird vor dem Versenden ein Paritätsbit erzeugt und dem Block angehängt. Anhand diesem Paritätsbit überprüft der Empfänger, ob bei der Übertragung der Block beschädigt wurde. Ist dies der Fall, wird der Block bei der Decodierung nicht beachtet. Diese so entstandenen ``Lücken'' im Datenstrom werden wiederum vom Reed-Solomon-Code korrigiert. Dieses Zusammenspiel beider Codes garantiert so eine hohe Robustheit gegenüber Übertragungsfeher. + +% +% Funktioniert aber nach einem ganz anderen Prinzip. +% +%Durch diese doppelte Codierung wird eine äusserst hohe Übertragungssicherheit garantiert. % %Dabei steht die Zahl 255 für grösse des Nachrichtenblocks, der die Anzahl 233 % @@ -107,13 +111,18 @@ Die Digital Video Disc funktioniert nach dem selben Konzept mit grösseren Codeb \begin{figure} \centering - \includegraphics[width=0.5\textwidth]{papers/reedsolomon/images/Compact_Disc} - \caption{CDs kamen 1982 auf den Markt. Sie funktioniert durch das ``einbrennen'' von Punkten und Strichen, die die Daten repräsentieren. Gelesen werden diese wiederum durch die Reflektion eines Lasers an diesen Punkten und Strichen.} + \subfigure[]{ + \includegraphics[width=0.45\textwidth]{papers/reedsolomon/images/Compact_Disc} + } + \subfigure[]{ + \includegraphics[width=0.45\textwidth]{papers/reedsolomon/images/Compact_Disc_zoomed_in} + } + \caption{CDs kamen 1982 auf den Markt. Sie funktioniert durch das Einpressen oder Einbrennen von Punkten und Strichen, die die Daten repräsentieren. Gelesen werden diese wiederum durch die Reflektion eines Lasers an diesen Punkten und Strichen.} \label{fig:cd} \end{figure} \subsection{QR-Codes} -Quick Response Codes oder auch QR-Codes funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel der Abschnitte \ref{reedsolomon:section:codebsp} - \ref{reedsolomon:section:rekonstruktion} nur das QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Die Physische Grösse eines Codes ist stark abhängig von der Grösse der Codierung sowie dem Fehlerkorrektur-Level. Es ist so auf dem ersten Blick nicht ersichtlich, wie viel Nutzinformationen ein Qr-Code enthält. Die QR-Codes in Abbildung \ref{fig:qr} zeigen jeweils die Gleiche Information mit unterschiedlichem Fehlerkorrektur-Level. Codes mit einem höheren Korrektur-Level können auch für Designer-Codes Zweckentfremdet werden. Dabei wird z.B. das Firmenlogo oder einen Schriftzug über den Qr-Code gelegt, ohne das die Funktion des Codes beeinträchtigt wird. Ein Beispiel dazu ist unter Abbildung \ref{fig:designqr} zu finden. +Quick Response Codes oder auch QR-Codes funktionieren nach einem sehr ähnlichen Prinzip wie in unserem Beispiel der Abschnitte \ref{reedsolomon:section:codebsp} - \ref{reedsolomon:section:rekonstruktion} nur das QR-Codes in einem $\mathbb{F}_{256}$ Körper arbeiten. Die physische Grösse eines Codes ist stark abhängig von der Menge an codierten Daten sowie dem verwendeten Fehlerkorrektur-Level. Es ist so auf dem ersten Blick nicht ersichtlich, wie viel Nutzinformationen ein Qr-Code enthält. Die QR-Codes in Abbildung \ref{fig:qr} zeigen jeweils die Gleiche Information mit unterschiedlichem Fehlerkorrektur-Level. Codes mit einem höheren Korrektur-Level können auch für Designer-Codes Zweckentfremdet werden. Dabei wird z.B. das Firmenlogo oder einen Schriftzug über den Qr-Code gelegt, ohne das die Funktion des Codes beeinträchtigt wird. Ein Beispiel dazu ist unter Abbildung \ref{fig:designqr} zu finden. % @@ -154,6 +163,6 @@ Quick Response Codes oder auch QR-Codes funktionieren nach einem sehr ähnlichen \subfigure[]{ \includegraphics[width=0.4\textwidth]{papers/reedsolomon/images/designer_qrcode} } - \caption{Während (a) noch ein unveränderter QR-Code repräsentiert, handelt es sich bei (b) nun um einen Designer-QR-Code. Beide Codes verfügen über einen mittleren Fehlerkorrektur-Level von theoretisch 15\%. Da bei (b) jetzt einen Teil des Codes durch ein Logo verdeckt wird, schränkt sich dadurch die Fehlerkorrekturfähigkeit je nach grösse des verdeckten Teils mehr oder weniger stark ein. Unser Designer-Code in (b) ist nur noch in der Lage etwa 9\% des Codes zu rekonstruieren.} + \caption{Während (a) noch einen unveränderten QR-Code repräsentiert, handelt es sich bei (b) nun um einen Designer-QR-Code. Beide Codes verfügen über einen mittleren Fehlerkorrektur-Level von theoretisch 15\%. Da bei (b) jetzt einen Teil des Codes durch ein Logo verdeckt wird, schränkt sich die Fehlerkorrekturfähigkeit je nach Grösse des verdeckten Teils mehr oder weniger stark ein. Unser Designer-Code in (b) ist nur noch in der Lage etwa 9\% des Codes zu rekonstruieren.} \label{fig:designqr} \end{figure} \ No newline at end of file diff --git a/buch/papers/reedsolomon/images/Compact_Disc_zoomed_in.png b/buch/papers/reedsolomon/images/Compact_Disc_zoomed_in.png new file mode 100644 index 0000000..69556d0 Binary files /dev/null and b/buch/papers/reedsolomon/images/Compact_Disc_zoomed_in.png differ diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index e68b947..ab4e4be 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -49,6 +49,7 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \nocite{reedsolomon:voyager} \nocite{reedsolomon:cd_wiki} \nocite{reedsolomon:cd} +\nocite{reedsolomon:strichepunkte} \nocite{reedsolomon:qr_wiki} \nocite{reedsolomon:qr} %\nocite{reedsolomon:mendezmueller} diff --git a/buch/papers/reedsolomon/references.bib b/buch/papers/reedsolomon/references.bib index e0a75a8..b84b5a4 100644 --- a/buch/papers/reedsolomon/references.bib +++ b/buch/papers/reedsolomon/references.bib @@ -51,7 +51,7 @@ } @online{reedsolomon:cd, - title = {Funktionsweise des QR-Codes}, + title = {Abbildung einer CD}, url = {https://www.stickpng.com/img/electronics/compact-discs/stack-compact-disc}, date = {2021-07-19}, year = {2021}, @@ -59,6 +59,15 @@ day = {19} } +@online{reedsolomon:strichepunkte, + title = {Abbildung der Striche und Punkte einer CD}, + url = {https://www.researchgate.net/figure/The-readable-area-of-a-CD-is-magnified-in-order- to-see-the-pit-and-land-sizing-The_fig7_303401629}, + date = {2021-07-26}, + year = {2021}, + month = {7}, + day = {26} +} + @online{reedsolomon:qr_wiki, title = {Funktionsweise des QR-Codes}, url = {https://de.wikipedia.org/wiki/QR-Code}, -- cgit v1.2.1 From 88c208363cf560043f87c2c83fa251177e74cd1b Mon Sep 17 00:00:00 2001 From: JODBaer Date: Tue, 27 Jul 2021 13:20:05 +0200 Subject: save --- buch/papers/reedsolomon/dtf.tex | 2 +- buch/papers/reedsolomon/idee.tex | 18 +++++------ buch/papers/reedsolomon/tikz/plotfft.tex | 55 +++++++++++++++----------------- 3 files changed, 35 insertions(+), 40 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index 62e44cc..ffe98f8 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -53,7 +53,7 @@ Das heisst alle information ist in alle Zahlenvorhanden. \begin{figure} \centering - \resizebox{0.9\textwidth}{!}{ + \resizebox{\textwidth}{!}{ \includegraphics[width=\textwidth]{papers/reedsolomon/figures/plotfft} %\input{papers/reedsolomon/images/plotfft.tex} } diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index e18ccd2..519e642 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -22,7 +22,7 @@ Auch eine variante wäre es die Daten nach einem Fehler einfach nochmals zu send 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}, +Nehmen wir als Beispiel die Zahlen \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5}, welche uns dann das Polynom \begin{equation} p(x) @@ -31,21 +31,21 @@ p(x) \label{reedsolomon:equation1} \end{equation} ergeben. -Übertragen werden nun die Werte an den stellen 1, 2, 3\dots 7 dieses Polynomes. +Übertragen werden nun die Werte dieses Polynomes an den Stellen 1, 2, 3\dots 7 dieses Polynomes. 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. +mit den Punkten, $p(1),p(2),...,p(7) = (\textcolor{darkgreen}{8}, +\textcolor{darkgreen}{15}, \textcolor{darkgreen}{26}, +\textcolor{darkgreen}{41}, \textcolor{darkgreen}{60}, +\textcolor{darkgreen}{83}, \textcolor{darkgreen}{110})$ +Wenn ein Fehler sich in die Übertragung eingeschlichen hat, muss der Leser/Empfänger diesen erkennen und das Polynom rekonstruieren. Der Leser/Empfänger weiss, den Grad des Polynoms und dessen Werte übermittelt wurden. \subsection{Beispiel} -Für das Beispeil aus der Gleichung \eqref{reedsolomon:equation1}, +Für das Beispiel aus der Gleichung \eqref{reedsolomon:equation1}, ist ein Polynome zweiten Grades durch drei Punkte eindeutig bestimmbar. Hat es Fehler in der Übertragunge gegeben,(Bei Abbildung \ref{fig:polynom}\textcolor{red}{roten Punkte}) kann man diese erkennen, da alle Punkte, die korrekt sind, auf dem Polynom liegen müssen. -(Bei Abbildung \ref{fig:polynom}\textcolor{green}{grünen Punkte}) +(Bei Abbildung \ref{fig:polynom}\textcolor{darkgreen}{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} diff --git a/buch/papers/reedsolomon/tikz/plotfft.tex b/buch/papers/reedsolomon/tikz/plotfft.tex index 3036e14..db141a8 100644 --- a/buch/papers/reedsolomon/tikz/plotfft.tex +++ b/buch/papers/reedsolomon/tikz/plotfft.tex @@ -15,30 +15,27 @@ %--------------------------------------------------------------- %Knote - \matrix[draw = none, column sep=25mm, row sep=2mm]{ + \matrix(m) [draw = none, column sep=25mm, row sep=2mm]{ + \node(signal) [] { \begin{tikzpicture} \begin{axis} [title = {\Large {Signal}}, - xtick={0,20,40,64,80,98},] - \addplot[blue] table[col sep=comma] {tikz/signal.txt}; + xtick={0,20,40,64,80,98}] + \addplot[black] table[col sep=comma] {tikz/signal.txt}; \end{axis} \end{tikzpicture}}; & \node(codiert) [] { - \begin{tikzpicture} - \begin{axis}[title = {\Large {Codiert}}] - \addplot[] table[col sep=comma] {tikz/codiert.txt}; + \begin{tikzpicture}[] + \begin{axis}[ title = {\Large {Codiert \space + \space Fehler}}, + xtick={0,40,60,100}, axis y line*=left] + \addplot[green] table[col sep=comma] {tikz/codiert.txt}; \end{axis} - \end{tikzpicture}}; \\ - - &\node(fehler) [] { - \begin{tikzpicture} - \begin{axis}[scale=0.6, title = {\Large {Fehler}}, - xtick={7,21,75}] - \addplot[red] table[col sep=comma] {tikz/fehler.txt}; + \begin{axis}[xtick={7,21,75}, axis y line*=right] + \addplot[red] table[col sep=comma] {tikz/fehler.txt}; \end{axis} - \end{tikzpicture}};\\ + \end{tikzpicture}}; \\ \node(decodiert) [] { \begin{tikzpicture} @@ -50,7 +47,7 @@ \node(empfangen) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Empfangen}}] - \addplot[] table[col sep=comma] {tikz/empfangen.txt}; + \addplot[green] table[col sep=comma] {tikz/empfangen.txt}; \end{axis} \end{tikzpicture}};\\ @@ -71,26 +68,24 @@ %------------------------------------------------------------- %FFT & IFFT deskription - \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[thin,gray,dashed] (0,9) to (0,-9); + \node(IFFT) [scale=0.8] at (0,9.3) {IFFT}; + \draw[stealth-](IFFT.south west)--(IFFT.south east); + \node(FFT) [scale=0.8, above of=IFFT] {FFT}; + \draw[-stealth](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); + \draw[thick, ->,] (codiert)++(-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); + \draw[thick, ->] (signal.east) to (codiert.west); + \draw[thick, ->] (codiert.south) to (empfangen.north); + \draw[thick, ->] (empfangen.west) to (decodiert.east); + \draw[thick, ->] (syndrom.east) to (locator.west); + \draw[thick](decodiert.south east)++(-1.8,1) ellipse (1.3cm and 0.8cm) ++(-1.3,0) coordinate(zoom) ; + \draw[thick, ->] (zoom) to[out=180, in=90] (syndrom.north); %item \node[circle, draw, fill =lightgray] at (signal.north west) {1}; - \node[circle, draw, fill =lightgray] at (codiert.north west) {2}; - \node[circle, draw, fill =lightgray] at (fehler.north west) {3}; + \node[circle, draw, fill =lightgray] at (codiert.north west) {2+3}; \node[circle, draw, fill =lightgray] at (empfangen.north west) {4}; \node[circle, draw, fill =lightgray] at (decodiert.north west) {5}; \node[circle, draw, fill =lightgray] at (syndrom.north west) {6}; -- cgit v1.2.1 From c3c7a6320004974ba56eb98305b5ac9fa13d4a52 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Tue, 27 Jul 2021 17:10:19 +0200 Subject: save --- buch/papers/reedsolomon/dtf.tex | 20 +++-- 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/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/figures/plotfft.pdf | Bin 60217 -> 59617 bytes buch/papers/reedsolomon/figures/polynom2.pdf | Bin 20327 -> 20327 bytes buch/papers/reedsolomon/standalone/standalone.pdf | Bin 1782700 -> 1828186 bytes buch/papers/reedsolomon/tikz/plotfft.tex | 6 +- 12 files changed, 15 insertions(+), 683 deletions(-) delete mode 100644 buch/papers/reedsolomon/experiments/codiert.txt delete mode 100644 buch/papers/reedsolomon/experiments/decodiert.txt delete mode 100644 buch/papers/reedsolomon/experiments/empfangen.txt delete mode 100644 buch/papers/reedsolomon/experiments/fehler.txt delete mode 100644 buch/papers/reedsolomon/experiments/locator.txt delete mode 100644 buch/papers/reedsolomon/experiments/signal.txt delete mode 100644 buch/papers/reedsolomon/experiments/syndrom.txt (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index ffe98f8..73d0d12 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -7,21 +7,21 @@ \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. +Dies wird weder eine erklärung der Forientransorfmation noch ein genauer gebrauchfür den Reed-Solomon-Code. +Dieser Abschnitt zeigt nur wie die Fourientransformation auf Fehler reagiert. wobei sie dann bei späteren Berchnungen ganz nützlich ist. -\subsection{Diskrete Fourientransformation Zusamenhang +\subsection{Diskrete Fourietransformation Zusamenhang \label{reedsolomon:subsection:dtfzusamenhang}} -Die Diskrete Fourientransformation ist definiert als +Die Diskrete Fourietransformation ist definiert als \begin{equation} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \label{reedsolomon:DFT} + ,\label{reedsolomon:DFT} \end{equation} -, wenn man nun +wenn man nun \begin{equation} w = e^{-\frac{2\pi j}{N} k} @@ -38,8 +38,12 @@ ersetzte, und $N$ konstantbleibt, erhält man was überaust ähnlich zu unserem Polynomidee ist. \subsection{Übertragungsabfolge \label{reedsolomon:subsection:Übertragungsabfolge}} - -\begin{enumerate}[1)] +Der Auftrag ist nun 64 Daten zu übertragen und nach 16 Fehler abzusicheren, +16 Fehler erkennen und rekonstruieren. +Dieser Auftrag soll mittels Fouriertransformation bewerkstelligt werden. +In der Abbildung \ref{reedsolomon:subsection:Übertragungsabfolge} sieht man dies Schritt für schritt, +und hier werden die einzelne Schritte erklärt. +\begin{enumerate}[(1)] \item Das Signal hat 64 die Daten, Zahlen welche übertragen werden sollen. Dabei zusätzlich nach 16 Fehler abgesichert, macht insgesamt 96 Übertragungszahlen. \item Nun wurde mittels der schnellen diskreten Fourientransformation diese 96 codiert. diff --git a/buch/papers/reedsolomon/experiments/codiert.txt b/buch/papers/reedsolomon/experiments/codiert.txt deleted file mode 100644 index 4a481d8..0000000 --- a/buch/papers/reedsolomon/experiments/codiert.txt +++ /dev/null @@ -1,96 +0,0 @@ -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 deleted file mode 100644 index f6221e6..0000000 --- a/buch/papers/reedsolomon/experiments/decodiert.txt +++ /dev/null @@ -1,96 +0,0 @@ -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 deleted file mode 100644 index 38c13b0..0000000 --- a/buch/papers/reedsolomon/experiments/empfangen.txt +++ /dev/null @@ -1,96 +0,0 @@ -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/fehler.txt b/buch/papers/reedsolomon/experiments/fehler.txt deleted file mode 100644 index 23f1a83..0000000 --- a/buch/papers/reedsolomon/experiments/fehler.txt +++ /dev/null @@ -1,96 +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 deleted file mode 100644 index b28988c..0000000 --- a/buch/papers/reedsolomon/experiments/locator.txt +++ /dev/null @@ -1,96 +0,0 @@ -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/signal.txt b/buch/papers/reedsolomon/experiments/signal.txt deleted file mode 100644 index c4fa5f8..0000000 --- a/buch/papers/reedsolomon/experiments/signal.txt +++ /dev/null @@ -1,96 +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 deleted file mode 100644 index 8ca9eed..0000000 --- a/buch/papers/reedsolomon/experiments/syndrom.txt +++ /dev/null @@ -1,96 +0,0 @@ -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/figures/plotfft.pdf b/buch/papers/reedsolomon/figures/plotfft.pdf index 27992c9..c5e21e3 100644 Binary files a/buch/papers/reedsolomon/figures/plotfft.pdf and b/buch/papers/reedsolomon/figures/plotfft.pdf differ diff --git a/buch/papers/reedsolomon/figures/polynom2.pdf b/buch/papers/reedsolomon/figures/polynom2.pdf index ae68385..dd6cdd3 100644 Binary files a/buch/papers/reedsolomon/figures/polynom2.pdf and b/buch/papers/reedsolomon/figures/polynom2.pdf differ diff --git a/buch/papers/reedsolomon/standalone/standalone.pdf b/buch/papers/reedsolomon/standalone/standalone.pdf index 80af280..a984f35 100644 Binary files a/buch/papers/reedsolomon/standalone/standalone.pdf and b/buch/papers/reedsolomon/standalone/standalone.pdf differ diff --git a/buch/papers/reedsolomon/tikz/plotfft.tex b/buch/papers/reedsolomon/tikz/plotfft.tex index db141a8..14af683 100644 --- a/buch/papers/reedsolomon/tikz/plotfft.tex +++ b/buch/papers/reedsolomon/tikz/plotfft.tex @@ -22,7 +22,7 @@ \begin{axis} [title = {\Large {Signal}}, xtick={0,20,40,64,80,98}] - \addplot[black] table[col sep=comma] {tikz/signal.txt}; + \addplot[blue] table[col sep=comma] {tikz/signal.txt}; \end{axis} \end{tikzpicture}}; & @@ -54,14 +54,14 @@ \node(syndrom) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Syndrom}}] - \addplot[blue] table[col sep=comma] {tikz/syndrom.txt}; + \addplot[black] table[col sep=comma] {tikz/syndrom.txt}; \end{axis} \end{tikzpicture}}; & \node(locator) [] { \begin{tikzpicture} \begin{axis}[title = {\Large {Locator}}] - \addplot[] table[col sep=comma] {tikz/locator.txt}; + \addplot[gray] table[col sep=comma] {tikz/locator.txt}; \end{axis} \end{tikzpicture}};\\ }; -- cgit v1.2.1 From 5daff6cc906d9abb2a913569588a0666b4d53b4a Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 28 Jul 2021 17:52:37 +0200 Subject: rewrite some texts --- buch/papers/reedsolomon/dtf.tex | 42 ++++++++----- buch/papers/reedsolomon/figures/polynom2.pdf | Bin 20327 -> 20317 bytes buch/papers/reedsolomon/idee.tex | 73 +++++++++++++--------- buch/papers/reedsolomon/packages.tex | 2 + buch/papers/reedsolomon/standalone/standalone.pdf | Bin 1828186 -> 1835615 bytes buch/papers/reedsolomon/tikz/polynom2.tex | 11 ++-- 6 files changed, 79 insertions(+), 49 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index 73d0d12..e9aacfb 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -3,57 +3,65 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Diskrete Fourier Transformation +\section{Übertragung mit hilfe der 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 gebrauchfür den Reed-Solomon-Code. +Dies wird weder eine Erklärung der Forientransorfmation, noch ein genauer gebrauch für den Reed-Solomon-Code. Dieser Abschnitt zeigt nur wie die Fourientransformation auf Fehler reagiert. wobei sie dann bei späteren Berchnungen ganz nützlich ist. \subsection{Diskrete Fourietransformation Zusamenhang \label{reedsolomon:subsection:dtfzusamenhang}} -Die Diskrete Fourietransformation ist definiert als +Mit hilfe der Fourietransformation werden die \textcolor{blue}{blauen Datenpunkte} transformiert, +zu den \textcolor{darkgreen}{grünen Übertragungspunkten}. +Durch eine Rücktransformation könnnen die \textcolor{blue}{blauen Datenpunkte} wieder rekonstruiert werden. +Nun zur definition der Diskrete Fourietransformation, diese ist definiert als \begin{equation} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} ,\label{reedsolomon:DFT} \end{equation} - wenn man nun \begin{equation} w = e^{-\frac{2\pi j}{N} k} \label{reedsolomon:DFT_summand} \end{equation} - ersetzte, und $N$ konstantbleibt, erhält man \begin{equation} \hat{c}_{k}= \frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) \label{reedsolomon:DFT_polynom} \end{equation} - was überaust ähnlich zu unserem Polynomidee ist. -\subsection{Übertragungsabfolge + +\subsection{Beispiel \label{reedsolomon:subsection:Übertragungsabfolge}} -Der Auftrag ist nun 64 Daten zu übertragen und nach 16 Fehler abzusicheren, -16 Fehler erkennen und rekonstruieren. +Der Auftrag ist nun 64 Daten zu übertragen und nach 32 Fehler abzusicheren, +16 Fehler erkennen und rekonstruieren. + Dieser Auftrag soll mittels Fouriertransformation bewerkstelligt werden. In der Abbildung \ref{reedsolomon:subsection:Übertragungsabfolge} sieht man dies Schritt für schritt, -und hier werden die einzelne Schritte erklärt. +und hier werden die einzelne Schritte erklärt: \begin{enumerate}[(1)] \item Das Signal hat 64 die Daten, Zahlen welche übertragen werden sollen. Dabei zusätzlich nach 16 Fehler abgesichert, macht insgesamt 96 Übertragungszahlen. -\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. +(siehe Abschnitt \externaldocument{papers/reedsolomon/idee}\ref{reedsolomon:section:Fehlerkorrekturstellen}) +Die 32 Fehlerkorrekturstellen werden als Null Übertragen +\item Nun wurde mittels der diskreten Fourientransformation diese 96 codiert. +Das heisst alle Informationen ist in alle Zahlenvorhanden. (Auch die Fehlerkorrekturstellen Null) +\item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75.(die Skala ist Rechts) +Die Fehler können auf den ganzen 96 Übertragungswerten liegen, wie die 75 zeigt. +\item Dieses wird nun Empfangen und mittels inversen diskreten Fourientransormation, wieder rücktransformiert.(Iklusive der Fehler) +\item Nun sieht man den Fehler im Decodieren in den Übertragungsstellen 64 bis 96, da es dort nicht mehr Null ist. +\item Nimmt man nun nur diese Stellen 64 bis 96, dies definieren wir als Syndrom, und transformiert nur dieses Syndrom. +\item Bekommt man die Fehlerstellen wieder, zwar nichtso genau, dennoch erkennt man wo die Fehler stattgefunden haben. +Dies definieren wir als Locator. \end{enumerate} +Nun haben wir mit Hilfe der Fourietransformation die 3 Fehlerstellen durch das Syndrom lokalisiert, +jetzt gilt es nur noch diese zu korrigieren und wir haben unser originales Signal wieder. \begin{figure} \centering diff --git a/buch/papers/reedsolomon/figures/polynom2.pdf b/buch/papers/reedsolomon/figures/polynom2.pdf index dd6cdd3..55a50ac 100644 Binary files a/buch/papers/reedsolomon/figures/polynom2.pdf and b/buch/papers/reedsolomon/figures/polynom2.pdf differ diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 519e642..8ad3d27 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -1,5 +1,5 @@ % -% idee.tex -- Beispiel-File für das Paper +% idee.tex -- Polynom Idee % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % @@ -14,15 +14,19 @@ Das Problem liegt darin Informationen, Zahlen, zu Übertragen und Fehler zu erkennen. Beim Reed-Solomon-Code kann man nicht nur Fehler erkennen, man kann sogar einige Fehler korrigieren. -Der unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage kommt hat es Fehler oder keine, -beim korrigieren muss man den Fehler erkennun und dann zusätzlich noch den original Wert rekonstruieren. -Auch eine variante wäre es die Daten nach einem Fehler einfach nochmals zu senden, was bei Reed-Solomon-Code-Anwendungen nicht immer sinnvolll ist. \ref(reedsolomon:section:anwendung) +Der unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage beantwortet wird mit: Ist die Übertragung fehlerhaft oder nicht? +Beim Korrigieren werden Fehler erkennt und dann zusätzlich noch den original Wert rekonstruieren. +Auch eine Variante wäre es die Daten nach einem Fehler nachdem Fehlerhaften senden, nochmals versenden(auch hier wieder doppelt und dreifach Sendung), +was bei Reed-Solomon-Code-Anwendungen nicht immer sinnvoll ist. +\externaldocument{papers/reedsolomon/anwendungen} +\ref{reedsolomon:section:anwendung} +\subsection{Polynom-Ansatz +\label{reedsolomon:section:polynomansatz}} \rhead{Polynom-Ansatz} -Eine Idee ist aus den Daten -ein Polynom zu bilden. +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 Beispiel die Zahlen \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5}, +\begin{beispiel} Nehmen wir die Zahlen \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5}, welche uns dann das Polynom \begin{equation} p(x) @@ -31,7 +35,8 @@ p(x) \label{reedsolomon:equation1} \end{equation} ergeben. -Übertragen werden nun die Werte dieses Polynomes an den Stellen 1, 2, 3\dots 7 dieses Polynomes. +Übertragen werden nun die \textcolor{darkgreen}{grünen Werte} +dieses \textcolor{blue}{blauen Polynomes} an den Stellen 1, 2, 3\dots 7 dieses Polynomes. Grafisch sieht man dies dann in Abbildung \ref{fig:polynom}, mit den Punkten, $p(1),p(2),...,p(7) = (\textcolor{darkgreen}{8}, \textcolor{darkgreen}{15}, \textcolor{darkgreen}{26}, @@ -39,9 +44,11 @@ mit den Punkten, $p(1),p(2),...,p(7) = (\textcolor{darkgreen}{8}, \textcolor{darkgreen}{83}, \textcolor{darkgreen}{110})$ Wenn ein Fehler sich in die Übertragung eingeschlichen hat, muss der Leser/Empfänger diesen erkennen und das Polynom rekonstruieren. Der Leser/Empfänger weiss, den Grad des Polynoms und dessen Werte übermittelt wurden. +Die Farbe blau brauchen wir für die \textcolor{blue}{Daten} welche wir mit der Farbe grün \textcolor{darkgreen}{Übermitteln}. +\end{beispiel} -\subsection{Beispiel} -Für das Beispiel aus der Gleichung \eqref{reedsolomon:equation1}, +\begin{beispiel} +Aus der Gleichung \eqref{reedsolomon:equation1}, ist ein Polynome zweiten Grades durch drei Punkte eindeutig bestimmbar. Hat es Fehler in der Übertragunge gegeben,(Bei Abbildung \ref{fig:polynom}\textcolor{red}{roten Punkte}) kann man diese erkennen, da alle Punkte, die korrekt sind, auf dem Polynom liegen müssen. @@ -51,29 +58,40 @@ Bei 2 Fehlern kann man noch eindeutig bestimmen, dass das Polynom mit 4 Punkten, gegenüber dem mit 5 Punkten falsch liegt.\ref{fig:polynom} Werden es mehr Fehler kann nur erkennt werden, dass das Polynom nicht stimmt. Das orginale Polynom kann aber nicht mehr gefunden werden. -Dafür sind mehr übertragene Werte nötig. +Da das Konkurenzpolynom, grau gestrichelt in Abbildung \ref{fig:polynom}, das orginal fehlleited. +Um das Konkurenzpolynom auszuschliessen, währen mehr \textcolor{darkgreen}{Übertragungspunkte} nötig. +\end{beispiel} \begin{figure} \centering \includegraphics[width=\textwidth]{papers/reedsolomon/figures/polynom2} - %\input{papers/reedsolomon/images/polynom2.tex} - \caption{Polynom $p(x)$ \eqref{reedsolomon:equation1}} + %\input{papers/reedsolomon/tikz/polynom2.tex} + \caption{Polynom $p(x)$ von der Gleichung\eqref{reedsolomon:equation1}} \label{fig:polynom} \end{figure} -\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. -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 Zahlen, -$k+2t$ Punkte übertragen werden müssen. +\section{Fehlerkorekturstellen bestimmen +\label{reedsolomon:section:Fehlerkorrekturstellen}} +Um zu bestimmen wieviel zusätzliche \textcolor{darkgreen}{Übertragungspunkte} notwendig sind, die dann Fehler korrigieren, +muss man zuerst Wissen wieviel \textcolor{blue}{Daten} gesendet und wieviel \textcolor{red}{Fehler} erkennt werden sollen. +Die Anzahl \textcolor{blue}{Daten} (ab hier verwenden wir das Wort Nutzlast), die als Polynomkoeffizente $k$ übergeben werden, +brauchen die gleiche Anzahl an Polynomgraden, beginnend bei Grad 0 somit ergibt sich der Polynomgrad mit $k-1$. +Für die Anzahl der Fehler $t$, welche korrigiert werden können, gehen wir zum Beispiel. +\begin{beispiel} von den Polynom \ref{reedsolomon:equation1} in, welchem wir 7 \textcolor{darkgreen}{Übertragungspunkte} senden. +Durch 3 Punkte wird das Polyom eindeutig bestimmt, nun haben wir mehrere Konkurenzpolynome, doch mit maximal 2 Fehler liegen auf einem Konkurenzpolynom, +maximal 4 Punkte und auf unserem orginal 5 Punkte. Ansonsten hatt es mehr Fehler oder unser Konkurenzpolynom ist das gleiche wie das Original. +Somit können wir nun bestimmen, dass von den \textcolor{darkgreen}{7 Übertragungspunkten$u$} bis zu 2 Fehler korrigiert werden können und 4 Übertragungspunkte zusätzlich gesendet werden müssen. +\end{beispiel} +Durch das erkennen des Schemas in der Tabelle\ref{tabel:fehlerkorrekturstellen} +\begin{equation} + \frac{\textcolor{darkgreen}{u}-\textcolor{blue}{k}}{\textcolor{red}{t}} + =2 + \label{reedsolomon:equation2} +\end{equation} +zeigt sich das es $k+2t$ Übertragungspunkte braucht. \begin{center} - \begin{tabular}{ c c c } + \begin{tabular}{ c c | c} \hline Nutzlas & Fehler & Übertragen \\ \hline @@ -84,12 +102,11 @@ $k+2t$ Punkte übertragen werden müssen. $k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\ \hline \end{tabular} + Fehlerkorrekturstellen Bestimmung TODO: Tabellenreferenz + \label{tabel:fehlerkorrekturstellen} \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. +Ein Nebeneffekt ist das dadurch auch $2t$ Fehler erkannt werden können, nicht aber korrigiert. Um aus den Übertragenen Zahlen wieder die Nutzlastzahlen zu bekommen könnte man eine Polynominterpolation anwenden, doch die Punkte mit Polynominterpolation zu einem Polynom zu rekonstruieren ist schwierig und Fehleranfällig. diff --git a/buch/papers/reedsolomon/packages.tex b/buch/papers/reedsolomon/packages.tex index b84e228..40c6ea3 100644 --- a/buch/papers/reedsolomon/packages.tex +++ b/buch/papers/reedsolomon/packages.tex @@ -10,3 +10,5 @@ \usepackage{pgfplots} \usepackage{filecontents} +\usepackage{xr} + diff --git a/buch/papers/reedsolomon/standalone/standalone.pdf b/buch/papers/reedsolomon/standalone/standalone.pdf index a984f35..1f2f0b9 100644 Binary files a/buch/papers/reedsolomon/standalone/standalone.pdf and b/buch/papers/reedsolomon/standalone/standalone.pdf differ diff --git a/buch/papers/reedsolomon/tikz/polynom2.tex b/buch/papers/reedsolomon/tikz/polynom2.tex index 456e067..47dc679 100644 --- a/buch/papers/reedsolomon/tikz/polynom2.tex +++ b/buch/papers/reedsolomon/tikz/polynom2.tex @@ -29,9 +29,14 @@ \def\hellpunkt#1{ \fill[color=lightgray] #1 circle[radius=0.08]; - \draw #1 circle[radius=0.07]; + \draw[gray] #1 circle[ radius=0.07]; } + \draw[color=gray,line width=1pt,dashed] + plot[domain=0.5:7, samples=100] + ({\x},{(7.832*\x^2-51.5*\x+121.668)/\teiler}); + + \punkt{(1,8/\teiler)} \hellpunkt{(2,15/\teiler)} \hellpunkt{(3,26/\teiler)} @@ -40,9 +45,7 @@ \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}); + \def\erpunkt#1{ \fill[color=red] #1 circle[radius=0.08]; -- cgit v1.2.1 From 8cc6ee76118ec1b446a732b9b7e06147737957d1 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 29 Jul 2021 16:54:19 +0200 Subject: save typos --- buch/papers/reedsolomon/dtf.tex | 57 +++++++++++++++++-------------- buch/papers/reedsolomon/idee.tex | 56 +++++++++++++++--------------- buch/papers/reedsolomon/tikz/polynom2.tex | 2 +- 3 files changed, 60 insertions(+), 55 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index e9aacfb..e9717c8 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -9,35 +9,15 @@ 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ützlich ist. +Das ganze zeigen wir mit einem Beispiel einer Übertragung von Zahlen mit Hilfe der Fourientransformation. \subsection{Diskrete Fourietransformation Zusamenhang \label{reedsolomon:subsection:dtfzusamenhang}} Mit hilfe der Fourietransformation werden die \textcolor{blue}{blauen Datenpunkte} transformiert, zu den \textcolor{darkgreen}{grünen Übertragungspunkten}. Durch eine Rücktransformation könnnen die \textcolor{blue}{blauen Datenpunkte} wieder rekonstruiert werden. -Nun zur definition der Diskrete Fourietransformation, diese ist definiert als -\begin{equation} - \hat{c}_{k} - = \frac{1}{N} \sum_{n=0}^{N-1} - {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - ,\label{reedsolomon:DFT} -\end{equation} -wenn man nun -\begin{equation} - w = - e^{-\frac{2\pi j}{N} k} - \label{reedsolomon:DFT_summand} -\end{equation} -ersetzte, und $N$ konstantbleibt, erhält man -\begin{equation} - \hat{c}_{k}= - \frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \label{reedsolomon:DFT_polynom} -\end{equation} -was überaust ähnlich zu unserem Polynomidee ist. -\subsection{Beispiel +\subsubsection{Beispiel einer Übertragung mit Fourientransformation \label{reedsolomon:subsection:Übertragungsabfolge}} Der Auftrag ist nun 64 Daten zu übertragen und nach 32 Fehler abzusicheren, 16 Fehler erkennen und rekonstruieren. @@ -51,8 +31,8 @@ Dabei zusätzlich nach 16 Fehler abgesichert, macht insgesamt 96 Übertragungsza (siehe Abschnitt \externaldocument{papers/reedsolomon/idee}\ref{reedsolomon:section:Fehlerkorrekturstellen}) Die 32 Fehlerkorrekturstellen werden als Null Übertragen \item Nun wurde mittels der diskreten Fourientransformation diese 96 codiert. -Das heisst alle Informationen ist in alle Zahlenvorhanden. (Auch die Fehlerkorrekturstellen Null) -\item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75.(die Skala ist Rechts) +Das heisst alle Informationen ist in alle Zahlenvorhanden. Auch die Fehlerkorrekturstellen Null. +\item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75. Die Fehler können auf den ganzen 96 Übertragungswerten liegen, wie die 75 zeigt. \item Dieses wird nun Empfangen und mittels inversen diskreten Fourientransormation, wieder rücktransformiert.(Iklusive der Fehler) \item Nun sieht man den Fehler im Decodieren in den Übertragungsstellen 64 bis 96, da es dort nicht mehr Null ist. @@ -71,4 +51,31 @@ jetzt gilt es nur noch diese zu korrigieren und wir haben unser originales Signa } \caption{Übertragungsabfolge \ref{reedsolomon:subsection:Übertragungsabfolge}} \label{fig:sendorder} -\end{figure} \ No newline at end of file +\end{figure} + +Nun zur definition der Diskrete Fourietransformation, diese ist definiert als +\begin{equation} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn}. + ,\label{reedsolomon:DFT} +\end{equation} +Wenn man nun +\begin{equation} + w = + e^{-\frac{2\pi j}{N} k} + \label{reedsolomon:DFT_summand} +\end{equation} +ersetzte, und $N$ konstantbleibt, erhält man +\begin{equation} + \hat{c}_{k}= + \frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \label{reedsolomon:DFT_polynom} +\end{equation} +was überaust ähnlich zu unserem Polynomidee ist. +Die Polynominterpolation und die Fourientransformation rechnen beide mit reelen Zahlen. +Wenn die Fehlerabweichung sehr sehr klein ist, erkennt man diese irgendwann nicht mehr. +Zusätzlich muss mann immer Grenzen bestimmen auf wieviel Stellen gerechnet wird und wie die Fehler erkannt werden im Locator. +Deshalb haben Mathematiker einen neuen Körper gesucht und ihn in der Endlichkeit gefunden, +dies wird nun im nächsten Abschnitt genauer erklärt. + diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index 8ad3d27..d8b8a93 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -14,9 +14,9 @@ Das Problem liegt darin Informationen, Zahlen, zu Übertragen und Fehler zu erkennen. Beim Reed-Solomon-Code kann man nicht nur Fehler erkennen, man kann sogar einige Fehler korrigieren. -Der unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage beantwortet wird mit: Ist die Übertragung fehlerhaft oder nicht? -Beim Korrigieren werden Fehler erkennt und dann zusätzlich noch den original Wert rekonstruieren. -Auch eine Variante wäre es die Daten nach einem Fehler nachdem Fehlerhaften senden, nochmals versenden(auch hier wieder doppelt und dreifach Sendung), +Der Unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage beantwortet wird: Ist die Übertragung fehlerhaft oder nicht? +Beim Korrigieren werden Fehler erkannt und dann zusätzlich noch den original Wert rekonstruieren. +Auch eine Variante wäre die Daten nach einer Fehlerhaften sendung, nochmals zum senden auffordern(auch hier wieder doppelt und dreifach Sendung), was bei Reed-Solomon-Code-Anwendungen nicht immer sinnvoll ist. \externaldocument{papers/reedsolomon/anwendungen} \ref{reedsolomon:section:anwendung} @@ -24,8 +24,8 @@ was bei Reed-Solomon-Code-Anwendungen nicht immer sinnvoll ist. \subsection{Polynom-Ansatz \label{reedsolomon:section:polynomansatz}} \rhead{Polynom-Ansatz} -Eine Idee ist aus den Daten ein Polynom zu bilden. -Diese Polynomfunktion bei bestimmten Werten, ausrechnet und diese Punkte dann überträgt. +Eine Idee ist, aus den Daten ein Polynom zu bilden. +Diese Polynomfunktion bei bestimmten Werten errechnet und diese Punkte dann überträgt. \begin{beispiel} Nehmen wir die Zahlen \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5}, welche uns dann das Polynom \begin{equation} @@ -48,18 +48,17 @@ Die Farbe blau brauchen wir für die \textcolor{blue}{Daten} welche wir mit der \end{beispiel} \begin{beispiel} -Aus der Gleichung \eqref{reedsolomon:equation1}, -ist ein Polynome zweiten Grades durch drei Punkte eindeutig bestimmbar. -Hat es Fehler in der Übertragunge gegeben,(Bei Abbildung \ref{fig:polynom}\textcolor{red}{roten Punkte}) kann man diese erkennen, -da alle Punkte, die korrekt sind, auf dem Polynom liegen müssen. -(Bei Abbildung \ref{fig:polynom}\textcolor{darkgreen}{grünen Punkte}) +Ein Polynome zweiten Grades ist durch drei Punkte eindeutig bestimmbar. +Hat es Fehler in der Übertragunge gegeben,(Bei Abb. \ref{fig:polynom} \textcolor{red}{roten Punkte}), +kann man diese erkennen, da alle Punkte, die korrekt sind, auf der Parabel liegen müssen. +(Bei Abb. \ref{fig:polynom} \textcolor{darkgreen}{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} -Werden es mehr Fehler kann nur erkennt werden, dass das Polynom nicht stimmt. +gegenüber dem mit 5 Punkten falsch liegt. \ref{fig:polynom} +Werden es mehr Fehler kann nur erkannt werden, dass das Polynom nicht stimmt. Das orginale Polynom kann aber nicht mehr gefunden werden. -Da das Konkurenzpolynom, grau gestrichelt in Abbildung \ref{fig:polynom}, das orginal fehlleited. -Um das Konkurenzpolynom auszuschliessen, währen mehr \textcolor{darkgreen}{Übertragungspunkte} nötig. +Da das Konkurrenzpolynom, grau gestrichelt in Abbildung \ref{fig:polynom}, das orginal fehlleitet. +Um das Konkurrenzpolynom auszuschliessen, währen mehr \textcolor{darkgreen}{Übertragungspunkte} nötig. \end{beispiel} \begin{figure} @@ -72,25 +71,25 @@ Um das Konkurenzpolynom auszuschliessen, währen mehr \textcolor{darkgreen}{Übe \section{Fehlerkorekturstellen bestimmen \label{reedsolomon:section:Fehlerkorrekturstellen}} -Um zu bestimmen wieviel zusätzliche \textcolor{darkgreen}{Übertragungspunkte} notwendig sind, die dann Fehler korrigieren, -muss man zuerst Wissen wieviel \textcolor{blue}{Daten} gesendet und wieviel \textcolor{red}{Fehler} erkennt werden sollen. +Um zu bestimmen wieviel zusätzliche \textcolor{darkgreen}{Übertragungspunkte} notwendig sind, um die Fehler zu korrigieren, +muss man zuerst wissen, wieviel \textcolor{blue}{Daten} gesendet und wieviel \textcolor{red}{Fehler} erkennt werden sollen. Die Anzahl \textcolor{blue}{Daten} (ab hier verwenden wir das Wort Nutzlast), die als Polynomkoeffizente $k$ übergeben werden, -brauchen die gleiche Anzahl an Polynomgraden, beginnend bei Grad 0 somit ergibt sich der Polynomgrad mit $k-1$. +brauchen die gleiche Anzahl an Polynomkoeffizententräger, beginnend bei Grad 0 somit ergibt sich der Polynomgrad mit $k-1$. Für die Anzahl der Fehler $t$, welche korrigiert werden können, gehen wir zum Beispiel. -\begin{beispiel} von den Polynom \ref{reedsolomon:equation1} in, welchem wir 7 \textcolor{darkgreen}{Übertragungspunkte} senden. -Durch 3 Punkte wird das Polyom eindeutig bestimmt, nun haben wir mehrere Konkurenzpolynome, doch mit maximal 2 Fehler liegen auf einem Konkurenzpolynom, -maximal 4 Punkte und auf unserem orginal 5 Punkte. Ansonsten hatt es mehr Fehler oder unser Konkurenzpolynom ist das gleiche wie das Original. +\begin{beispiel} von den Polynom \ref{reedsolomon:equation1} in, welchem wir \textcolor{darkgreen}{7 Übertragungspunkte} senden. +Durch 3 Punkte wird das Polyom eindeutig bestimmt, nun haben wir mehrere Konkurrenzpolynome, doch mit maximal 2 Fehler liegen auf einem Konkurrenzpolynom, +maximal 4 Punkte und auf unserem orginal 5 Punkte. Ansonsten hatt es mehr Fehler oder unser Konkurrenzpolynom ist das gleiche wie das Original. Somit können wir nun bestimmen, dass von den \textcolor{darkgreen}{7 Übertragungspunkten$u$} bis zu 2 Fehler korrigiert werden können und 4 Übertragungspunkte zusätzlich gesendet werden müssen. \end{beispiel} -Durch das erkennen des Schemas in der Tabelle\ref{tabel:fehlerkorrekturstellen} +Man könnte auch dies in der Tabelle \ref{tab:fehlerkorrekturstellen} erkennen, doch mit dieser Gleichung \begin{equation} \frac{\textcolor{darkgreen}{u}-\textcolor{blue}{k}}{\textcolor{red}{t}} =2 \label{reedsolomon:equation2} \end{equation} -zeigt sich das es $k+2t$ Übertragungspunkte braucht. +zeigt sich, dass es $k+2t$ Übertragungspunkte braucht. -\begin{center} +\begin{table} \begin{tabular}{ c c | c} \hline Nutzlas & Fehler & Übertragen \\ @@ -102,11 +101,10 @@ zeigt sich das es $k+2t$ Übertragungspunkte braucht. $k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\ \hline \end{tabular} - Fehlerkorrekturstellen Bestimmung TODO: Tabellenreferenz - \label{tabel:fehlerkorrekturstellen} -\end{center} + \caption{\label{tab:fehlerkorrekturstellen} Fehlerkorrekturstellen Bestimmung.} +\end{table} -Ein Nebeneffekt ist das dadurch auch $2t$ Fehler erkannt werden können, nicht aber korrigiert. -Um aus den Übertragenen Zahlen wieder die Nutzlastzahlen zu bekommen könnte man eine Polynominterpolation anwenden, -doch die Punkte mit Polynominterpolation zu einem Polynom zu rekonstruieren ist schwierig und Fehleranfällig. +Ein Nebeneffekt ist, dass dadurch auch $2t$ Fehler erkannt werden können, nicht aber korrigiert. +Um aus den übertragenen Zahlen wieder die Nutzlastzahlen zu bekommen könnte man eine Polynominterpolation anwenden, +doch die Punkte mit Polynominterpolation zu einem Polynom zu rekonstruieren ist schwierig und fehleranfällig. diff --git a/buch/papers/reedsolomon/tikz/polynom2.tex b/buch/papers/reedsolomon/tikz/polynom2.tex index 47dc679..80557fb 100644 --- a/buch/papers/reedsolomon/tikz/polynom2.tex +++ b/buch/papers/reedsolomon/tikz/polynom2.tex @@ -14,7 +14,7 @@ %////////////////////////////////////// -\begin{tikzpicture}[>=latex,thick] +\begin{tikzpicture}[>=latex,thick,] \draw[color=blue, line width=1.4pt] plot[domain=0:8, samples=100] ({\x},{(2*\x^2+1*\x+5)/\teiler}); -- cgit v1.2.1 From 0cd67d0c23d8781999522a05cf2c5c49e76e3326 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 30 Jul 2021 11:41:58 +0200 Subject: save --- buch/papers/reedsolomon/dtf.tex | 86 +++++++++++----------- buch/papers/reedsolomon/figures/plotfft.pdf | Bin 59617 -> 59617 bytes buch/papers/reedsolomon/idee.tex | 31 ++++---- buch/papers/reedsolomon/standalone/standalone.pdf | Bin 1835615 -> 1835758 bytes buch/papers/reedsolomon/tikz/plotfft.tex | 4 +- buch/papers/reedsolomon/tikz/plotfftraw.tex | 80 ++++++++++++++++++++ buch/papers/reedsolomon/tikz/polynomraw.tex | 50 +++++++++++++ 7 files changed, 193 insertions(+), 58 deletions(-) create mode 100644 buch/papers/reedsolomon/tikz/plotfftraw.tex create mode 100644 buch/papers/reedsolomon/tikz/polynomraw.tex (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index e9717c8..5cee77b 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -1,15 +1,13 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% dtf.tex -- Idee mit DFT % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Übertragung mit hilfe der Diskrete Fourier Transformation +\section{Übertragung mit Hilfe der Diskrten Fourientransformation \label{reedsolomon:section:dtf}} \rhead{Umwandlung mit DTF} -Um die Polynominterpolation zu umgehen, gehen wir nun über in die Fourientransformation. +Um die Polynominterpolation zu umgehen, gehen wir nun über in die Fourietransformation. Dies wird weder eine Erklärung der Forientransorfmation, noch ein genauer gebrauch für den Reed-Solomon-Code. -Dieser Abschnitt zeigt nur wie die Fourientransformation auf Fehler reagiert. -Das ganze zeigen wir mit einem Beispiel einer Übertragung von Zahlen mit Hilfe der Fourientransformation. +Dieser Abschnitt zeigt nur wie die Fourietransformation auf Fehler reagiert. +Das ganze zeigen wir mit einem Beispiel einer Übertragung von Zahlen mit Hilfe der Fourietransformation. \subsection{Diskrete Fourietransformation Zusamenhang \label{reedsolomon:subsection:dtfzusamenhang}} @@ -17,63 +15,69 @@ Mit hilfe der Fourietransformation werden die \textcolor{blue}{blauen Datenpunkt zu den \textcolor{darkgreen}{grünen Übertragungspunkten}. Durch eine Rücktransformation könnnen die \textcolor{blue}{blauen Datenpunkte} wieder rekonstruiert werden. -\subsubsection{Beispiel einer Übertragung mit Fourientransformation +\subsubsection{Beispiel einer Übertragung \label{reedsolomon:subsection:Übertragungsabfolge}} Der Auftrag ist nun 64 Daten zu übertragen und nach 32 Fehler abzusicheren, 16 Fehler erkennen und rekonstruieren. -Dieser Auftrag soll mittels Fouriertransformation bewerkstelligt werden. -In der Abbildung \ref{reedsolomon:subsection:Übertragungsabfolge} sieht man dies Schritt für schritt, +Dieser Auftrag soll mittels Fouriertransformation bewerkstelligt werden. +In der Abbildung \ref{reedsolomon:subsection:Übertragungsabfolge} sieht man dies Schritt für Schritt, und hier werden die einzelne Schritte erklärt: \begin{enumerate}[(1)] -\item Das Signal hat 64 die Daten, Zahlen welche übertragen werden sollen. -Dabei zusätzlich nach 16 Fehler abgesichert, macht insgesamt 96 Übertragungszahlen. -(siehe Abschnitt \externaldocument{papers/reedsolomon/idee}\ref{reedsolomon:section:Fehlerkorrekturstellen}) -Die 32 Fehlerkorrekturstellen werden als Null Übertragen -\item Nun wurde mittels der diskreten Fourientransformation diese 96 codiert. -Das heisst alle Informationen ist in alle Zahlenvorhanden. Auch die Fehlerkorrekturstellen Null. -\item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75. -Die Fehler können auf den ganzen 96 Übertragungswerten liegen, wie die 75 zeigt. -\item Dieses wird nun Empfangen und mittels inversen diskreten Fourientransormation, wieder rücktransformiert.(Iklusive der Fehler) -\item Nun sieht man den Fehler im Decodieren in den Übertragungsstellen 64 bis 96, da es dort nicht mehr Null ist. -\item Nimmt man nun nur diese Stellen 64 bis 96, dies definieren wir als Syndrom, und transformiert nur dieses Syndrom. -\item Bekommt man die Fehlerstellen wieder, zwar nichtso genau, dennoch erkennt man wo die Fehler stattgefunden haben. -Dies definieren wir als Locator. -\end{enumerate} -Nun haben wir mit Hilfe der Fourietransformation die 3 Fehlerstellen durch das Syndrom lokalisiert, -jetzt gilt es nur noch diese zu korrigieren und wir haben unser originales Signal wieder. - + \item Das Signal hat 64 die Daten $k$, hier zufällige Zahlen, welche übertragen werden sollen. + Zusätzlich soll nach 16 Fehler $t$, die rekonstruierbar sind abgesichert werden. + Das macht dann insgesamt $k + 2t = + 64 +2 \cdot 16= 96$ Übertragungszahlen. + (siehe Abschnitt \externaldocument{papers/reedsolomon/idee}\ref{reedsolomon:section:Fehlerkorrekturstellen}) + Die 32 Fehlerkorrekturstellen werden als Nullzahlen Übertragen. + \item Nun werden mittels der diskreten Fourietransformation diese 96 codiert, transformiert. + Das heisst alle Informationen ist in alle Zahlenvorhanden, auch die Fehlerkorrekturstellen Nullzahlen. + \item Nun kommen drei Fehler dazu an den Übertragungsstellen 7, 21 und 75. + Die Fehler können auf den ganzen 96 Übertragungswerten liegen, wie die 75 zeigt. +Zu Beachten ist auch noch, dass der Fehler um das 20- bis 150-Fache kleiner ist.Die Fehlerskala ist rechts. + \item Dieses wird nun Empfangen, man kann keine Fehler erkennen, da diese soviel kleiner sind. + Für das Decodieren wird die Inverse Fourietransformation angewendet, und alle Fehler werden mittransformiert. + \item Nun sieht man die Fehler im decodierten Signal in den Übertragungszahlen. + Von den Übertragungsstellen 64 bis 96 erkennt man, das diese nicht mehr Null sind. + \item Diese Fehlerkorrekturstellen 64 bis 96, dies definieren wir als Syndrom. + In diesem Syndrom ist die Fehlerinformation gespeichert und muss nur noch transformiert werden. + \item Hier sieht man genau wo die Fehler stattgefunden haben. + Leider nicht mehr mit der Qualtiätt der Ursprünglichen Fehler, sie sind nur noch 0.6 oder 0.4 gross. + Obwohl der Fehler um das 20Fache kleiner ist erkennt man im Locator die Fehlerstellen wieder. + \end{enumerate} + Nun haben wir mit Hilfe der Fourietransformation die 3 Fehlerstellen durch das Syndrom lokalisiert, + jetzt gilt es nur noch diese zu korrigieren und wir haben unser originales Signal wieder. \begin{figure} \centering - \resizebox{\textwidth}{!}{ - \includegraphics[width=\textwidth]{papers/reedsolomon/figures/plotfft} - %\input{papers/reedsolomon/images/plotfft.tex} + \resizebox{1.1\textwidth}{!}{ + %\includegraphics[width=\textwidth]{papers/reedsolomon/figures/plotfft} + \input{papers/reedsolomon/tikz/plotfftraw.tex} } \caption{Übertragungsabfolge \ref{reedsolomon:subsection:Übertragungsabfolge}} \label{fig:sendorder} \end{figure} -Nun zur definition der Diskrete Fourietransformation, diese ist definiert als -\begin{equation} +Nun zur Definition der Diskrete Fourietransformation, diese ist definiert als + \begin{equation} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn}. ,\label{reedsolomon:DFT} -\end{equation} -Wenn man nun -\begin{equation} + \end{equation} + Wenn man nun + \begin{equation} w = e^{-\frac{2\pi j}{N} k} \label{reedsolomon:DFT_summand} -\end{equation} -ersetzte, und $N$ konstantbleibt, erhält man -\begin{equation} + \end{equation} + ersetzte, und $N$ konstantbleibt, erhält man + \begin{equation} \hat{c}_{k}= \frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) \label{reedsolomon:DFT_polynom} -\end{equation} -was überaust ähnlich zu unserem Polynomidee ist. -Die Polynominterpolation und die Fourientransformation rechnen beide mit reelen Zahlen. + \end{equation} + was überaust ähnlich zu unserem Polynomidee ist. +Die Polynominterpolation und die Fourietransformation rechnen beide mit reelen Zahlen. Wenn die Fehlerabweichung sehr sehr klein ist, erkennt man diese irgendwann nicht mehr. Zusätzlich muss mann immer Grenzen bestimmen auf wieviel Stellen gerechnet wird und wie die Fehler erkannt werden im Locator. Deshalb haben Mathematiker einen neuen Körper gesucht und ihn in der Endlichkeit gefunden, diff --git a/buch/papers/reedsolomon/figures/plotfft.pdf b/buch/papers/reedsolomon/figures/plotfft.pdf index c5e21e3..80d17d2 100644 Binary files a/buch/papers/reedsolomon/figures/plotfft.pdf and b/buch/papers/reedsolomon/figures/plotfft.pdf differ diff --git a/buch/papers/reedsolomon/idee.tex b/buch/papers/reedsolomon/idee.tex index d8b8a93..41e0d4c 100644 --- a/buch/papers/reedsolomon/idee.tex +++ b/buch/papers/reedsolomon/idee.tex @@ -1,8 +1,6 @@ % % idee.tex -- Polynom Idee % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% \section{Idee \label{reedsolomon:section:idee}} \rhead{Problemstellung} @@ -12,14 +10,14 @@ Doch nur schon um Fehler zu erkennen werden überproportional viele Daten doppel Der Reed-Solomon-Code macht dies auf eine andere, clevere Weise. Das Problem liegt darin Informationen, Zahlen, zu Übertragen und Fehler zu erkennen. -Beim Reed-Solomon-Code kann man nicht nur Fehler erkennen, +Speziell beim Reed-Solomon-Code kann man nicht nur Fehler erkennen, man kann sogar einige Fehler korrigieren. Der Unterschied des Fehler erkennen und korrigiren, ist das beim Erkennen nur die Frage beantwortet wird: Ist die Übertragung fehlerhaft oder nicht? Beim Korrigieren werden Fehler erkannt und dann zusätzlich noch den original Wert rekonstruieren. -Auch eine Variante wäre die Daten nach einer Fehlerhaften sendung, nochmals zum senden auffordern(auch hier wieder doppelt und dreifach Sendung), +Auch eine Variante wäre die Daten nach einer Fehlerhaften sendung, nochmals zum senden auffordern(auch hier wird doppelt und dreifach gesendung), was bei Reed-Solomon-Code-Anwendungen nicht immer sinnvoll ist. -\externaldocument{papers/reedsolomon/anwendungen} -\ref{reedsolomon:section:anwendung} +Anwendungen finden sind im Abchnitt \externaldocument{papers/reedsolomon/anwendungen} +\ref{reedsolomon:section:anwendung} beschrieben. \subsection{Polynom-Ansatz \label{reedsolomon:section:polynomansatz}} @@ -43,28 +41,29 @@ mit den Punkten, $p(1),p(2),...,p(7) = (\textcolor{darkgreen}{8}, \textcolor{darkgreen}{41}, \textcolor{darkgreen}{60}, \textcolor{darkgreen}{83}, \textcolor{darkgreen}{110})$ Wenn ein Fehler sich in die Übertragung eingeschlichen hat, muss der Leser/Empfänger diesen erkennen und das Polynom rekonstruieren. -Der Leser/Empfänger weiss, den Grad des Polynoms und dessen Werte übermittelt wurden. +Der Leser/Empfänger weiss, den Grad des Polynoms und dessen \textcolor{darkgreen}{Werte} übermittelt wurden. Die Farbe blau brauchen wir für die \textcolor{blue}{Daten} welche wir mit der Farbe grün \textcolor{darkgreen}{Übermitteln}. \end{beispiel} \begin{beispiel} Ein Polynome zweiten Grades ist durch drei Punkte eindeutig bestimmbar. -Hat es Fehler in der Übertragunge gegeben,(Bei Abb. \ref{fig:polynom} \textcolor{red}{roten Punkte}), -kann man diese erkennen, da alle Punkte, die korrekt sind, auf der Parabel liegen müssen. -(Bei Abb. \ref{fig:polynom} \textcolor{darkgreen}{grünen Punkte}) +Hat es Fehler in der Übertragunge gegeben,in der Abbilbung \ref{fig:polynom} die \textcolor{red}{roten Punkte}). +Erkennt man diese Fehler, da alle korrekten Punkte auf der Parabel liegen müssen. +Die \textcolor{darkgreen}{grünen Punkte} bestimmen die Parabel, und die Fehler können zu den +\textcolor{gray}{Orginalpunkte} rekonstruiert werden. Ab wie vielen Fehler ist das Polynom nicht mehr erkennbar beim Übertragen von 7 Punkten? Bei 2 Fehlern kann man noch eindeutig bestimmen, dass das Polynom mit 4 Punkten, gegenüber dem mit 5 Punkten falsch liegt. \ref{fig:polynom} Werden es mehr Fehler kann nur erkannt werden, dass das Polynom nicht stimmt. Das orginale Polynom kann aber nicht mehr gefunden werden. -Da das Konkurrenzpolynom, grau gestrichelt in Abbildung \ref{fig:polynom}, das orginal fehlleitet. +Da andere Polynome oder das Konkurrenzpolynom, grau gestrichelt in Abbildung \ref{fig:polynom}, das orginal fehlleitet. Um das Konkurrenzpolynom auszuschliessen, währen mehr \textcolor{darkgreen}{Übertragungspunkte} nötig. \end{beispiel} -\begin{figure} +\begin{figure}%[!ht] \centering - \includegraphics[width=\textwidth]{papers/reedsolomon/figures/polynom2} - %\input{papers/reedsolomon/tikz/polynom2.tex} + %\includegraphics[width=\textwidth]{papers/reedsolomon/figures/polynom2} + \input{papers/reedsolomon/tikz/polynomraw.tex} \caption{Polynom $p(x)$ von der Gleichung\eqref{reedsolomon:equation1}} \label{fig:polynom} \end{figure} @@ -90,6 +89,7 @@ Man könnte auch dies in der Tabelle \ref{tab:fehlerkorrekturstellen} erkennen, zeigt sich, dass es $k+2t$ Übertragungspunkte braucht. \begin{table} + \centering \begin{tabular}{ c c | c} \hline Nutzlas & Fehler & Übertragen \\ @@ -101,7 +101,8 @@ zeigt sich, dass es $k+2t$ Übertragungspunkte braucht. $k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\ \hline \end{tabular} - \caption{\label{tab:fehlerkorrekturstellen} Fehlerkorrekturstellen Bestimmung.} + \caption{ Fehlerkorrekturstellen Bestimmung.} + \label{tab:fehlerkorrekturstellen} \end{table} Ein Nebeneffekt ist, dass dadurch auch $2t$ Fehler erkannt werden können, nicht aber korrigiert. diff --git a/buch/papers/reedsolomon/standalone/standalone.pdf b/buch/papers/reedsolomon/standalone/standalone.pdf index 1f2f0b9..4a44333 100644 Binary files a/buch/papers/reedsolomon/standalone/standalone.pdf and b/buch/papers/reedsolomon/standalone/standalone.pdf differ diff --git a/buch/papers/reedsolomon/tikz/plotfft.tex b/buch/papers/reedsolomon/tikz/plotfft.tex index 14af683..bb74dfb 100644 --- a/buch/papers/reedsolomon/tikz/plotfft.tex +++ b/buch/papers/reedsolomon/tikz/plotfft.tex @@ -69,9 +69,9 @@ %FFT & IFFT deskription \draw[thin,gray,dashed] (0,9) to (0,-9); - \node(IFFT) [scale=0.8] at (0,9.3) {IFFT}; + \node(IFFT) [scale=0.9] at (0,9.3) {IFFT}; \draw[stealth-](IFFT.south west)--(IFFT.south east); - \node(FFT) [scale=0.8, above of=IFFT] {FFT}; + \node(FFT) [scale=0.9, above of=IFFT] {FFT}; \draw[-stealth](FFT.north west)--(FFT.north east); \draw[thick, ->,] (codiert)++(-1,0) +(0.05,0.5) -- +(-0.1,-0.1) -- +(0.1,0.1) -- +(0,-0.5); diff --git a/buch/papers/reedsolomon/tikz/plotfftraw.tex b/buch/papers/reedsolomon/tikz/plotfftraw.tex new file mode 100644 index 0000000..141d2ce --- /dev/null +++ b/buch/papers/reedsolomon/tikz/plotfftraw.tex @@ -0,0 +1,80 @@ +\begin{tikzpicture}[] + + %--------------------------------------------------------------- + %Knote + \matrix(m) [draw = none, column sep=25mm, row sep=2mm]{ + + \node(signal) [] { + \begin{tikzpicture} + \begin{axis} + [title = {\Large {Signal}}, + xtick={0,20,40,64,80,98}] + \addplot[blue] table[col sep=comma] {tikz/signal.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(codiert) [] { + \begin{tikzpicture}[] + \begin{axis}[ title = {\Large {Codiert \space + \space Fehler}}, + xtick={0,40,60,100}, axis y line*=left] + \addplot[green] table[col sep=comma] {tikz/codiert.txt}; + \end{axis} + \begin{axis}[xtick={7,21,75}, axis y line*=right] + \addplot[red] table[col sep=comma] {tikz/fehler.txt}; + \end{axis} + \end{tikzpicture}}; \\ + + \node(decodiert) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Decodiert}}] + \addplot[blue] table[col sep=comma] {tikz/decodiert.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(empfangen) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Empfangen}}] + \addplot[green] table[col sep=comma] {tikz/empfangen.txt}; + \end{axis} + \end{tikzpicture}};\\ + + \node(syndrom) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Syndrom}}] + \addplot[black] table[col sep=comma] {tikz/syndrom.txt}; + \end{axis} + \end{tikzpicture}}; & + + \node(locator) [] { + \begin{tikzpicture} + \begin{axis}[title = {\Large {Locator}}] + \addplot[gray] table[col sep=comma] {tikz/locator.txt}; + \end{axis} + \end{tikzpicture}};\\ + }; + %------------------------------------------------------------- + %FFT & IFFT deskription + + \draw[thin,gray,dashed] (0,9) to (0,-9); + \node(IFFT) [scale=0.9] at (0,9.3) {IFFT}; + \draw[stealth-](IFFT.south west)--(IFFT.south east); + \node(FFT) [scale=0.9, above of=IFFT] {FFT}; + \draw[-stealth](FFT.north west)--(FFT.north east); + + \draw[thick, ->,] (codiert)++(-1,0) +(0.05,0.5) -- +(-0.1,-0.1) -- +(0.1,0.1) -- +(0,-0.5); + %Arrows + \draw[thick, ->] (signal.east) to (codiert.west); + \draw[thick, ->] (codiert.south) to (empfangen.north); + \draw[thick, ->] (empfangen.west) to (decodiert.east); + \draw[thick, ->] (syndrom.east) to (locator.west); + \draw[thick](decodiert.south east)++(-1.8,1) ellipse (1.3cm and 0.8cm) ++(-1.3,0) coordinate(zoom) ; + \draw[thick, ->] (zoom) to[out=180, in=90] (syndrom.north); + + %item + \node[circle, draw, fill =lightgray] at (signal.north west) {1}; + \node[circle, draw, fill =lightgray] at (codiert.north west) {2+3}; + \node[circle, draw, fill =lightgray] at (empfangen.north west) {4}; + \node[circle, draw, fill =lightgray] at (decodiert.north west) {5}; + \node[circle, draw, fill =lightgray] at (syndrom.north west) {6}; + \node[circle, draw, fill =lightgray] at (locator.north west) {7}; +\end{tikzpicture} \ No newline at end of file diff --git a/buch/papers/reedsolomon/tikz/polynomraw.tex b/buch/papers/reedsolomon/tikz/polynomraw.tex new file mode 100644 index 0000000..02968fd --- /dev/null +++ b/buch/papers/reedsolomon/tikz/polynomraw.tex @@ -0,0 +1,50 @@ +% polynomraw + +\newcommand{\teiler}{40} + + +%////////////////////////////////////// + +\begin{tikzpicture}[>=latex,thick,] + \draw[color=blue, line width=1.4pt] + plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); + + \draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; + \draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; + + \def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + + \def\hellpunkt#1{ + \fill[color=lightgray] #1 circle[radius=0.08]; + \draw[gray] #1 circle[ radius=0.07]; + } + + \draw[color=gray,line width=1pt,dashed] + plot[domain=0.5:7, samples=100] + ({\x},{(7.832*\x^2-51.5*\x+121.668)/\teiler}); + + + \punkt{(1,8/\teiler)} + \hellpunkt{(2,15/\teiler)} + \hellpunkt{(3,26/\teiler)} + \punkt{(4,41/\teiler)} + \punkt{(5,60/\teiler)} + \punkt{(6,83/\teiler)} + \punkt{(7,110/\teiler)} + + + + \def\erpunkt#1{ + \fill[color=red] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \erpunkt{(2,50/\teiler)} + \erpunkt{(3,37.66/\teiler)} + + \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; + \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; +\end{tikzpicture} \ No newline at end of file -- cgit v1.2.1 From b9cca93f61c5a1200503c75ef548ab12cce21887 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 30 Jul 2021 11:45:36 +0200 Subject: sourc from tikz changed to pdf --- buch/papers/reedsolomon/dtf.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'buch/papers/reedsolomon') diff --git a/buch/papers/reedsolomon/dtf.tex b/buch/papers/reedsolomon/dtf.tex index 5cee77b..4552bed 100644 --- a/buch/papers/reedsolomon/dtf.tex +++ b/buch/papers/reedsolomon/dtf.tex @@ -50,8 +50,8 @@ Zu Beachten ist auch noch, dass der Fehler um das 20- bis 150-Fache kleiner ist. \begin{figure} \centering \resizebox{1.1\textwidth}{!}{ - %\includegraphics[width=\textwidth]{papers/reedsolomon/figures/plotfft} - \input{papers/reedsolomon/tikz/plotfftraw.tex} + \includegraphics[width=\textwidth]{papers/reedsolomon/figures/plotfft} + %\input{papers/reedsolomon/tikz/plotfftraw.tex} } \caption{Übertragungsabfolge \ref{reedsolomon:subsection:Übertragungsabfolge}} \label{fig:sendorder} -- cgit v1.2.1