⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rs.html

📁 reed-solomon编码的java实现
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<FONT SIZE=4>= </FONT></FONT><FONT SIZE=4><FONT FACE="Symbol">a</FONT></FONT><FONT FACE="Arial"><SUP>i</SUP>(</FONT><FONT SIZE=4><FONT FACE="Symbol">a</FONT></FONT><FONT FACE="Arial"><SUP>q-1</SUP><FONT SIZE=4>= 1</FONT>)<FONT SIZE=4>, la position de l&#146;erreur sera alorsdonn&eacute; par p = q-1-i qui est positif et que l&#146;on connait,puisque l&#146;on connait b = </FONT></FONT><FONT SIZE=4><FONT FACE="Symbol">a</FONT></FONT><FONT FACE="Arial"><SUP>i</SUP><FONT SIZE=4>,racine de l(x). Il nous faudra donc chercher toutes les racines del(x). Il ne faut pas oublier que </FONT></FONT><FONT SIZE=4><FONT FACE="Symbol">a</FONT><FONT FACE="Arial">est un &eacute;l&eacute;ment primitif, et que tout &eacute;l&eacute;mentde GF(2</FONT></FONT><FONT FACE="Arial"><SUP>k</SUP><FONT SIZE=4>)<SUP>*</SUP>s&#146;exprime comme une puissance de l&#146;&eacute;l&eacute;mentprimitif, qui est un g&eacute;n&eacute;rateur du groupe GF(2</FONT><SUP>k</SUP><FONT SIZE=4>)<SUP>*</SUP>.</FONT></FONT></P><P STYLE="margin-bottom: 0in; page-break-before: always"><FONT FACE="Arial"><FONT SIZE=6><B>4.1<U>Equation fondamentale</U></B></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Ilnous reste encore &agrave; calculer l(x). Pour cela, on fait usage dela relation fondamentale suivante :</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4><B>l(x). s(x) = w(x) + u(x) . x<SUP>2t</SUP></B></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>Commel&#146;on travaille dans GF(2</FONT><SUP>k</SUP><FONT SIZE=4>), onpeut l&#146;&eacute;crire sous la forme</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><B><FONT SIZE=4>l(x). s(x) + u(x) . x<SUP>2t</SUP> = w(x)</FONT></B></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>On peutvoir cette &eacute;quation comme la relation de Bezout avec desnombres, soit</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>v . b +u . a = w</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>o&ugrave;a et b sont des nombres donn&eacute;s, et w est le plus granddiviseur commun des nombres a et b. u et v sont deux nombres quisatisfont cette relation. Notre &eacute;quation ci-dessus estidentique, sauf qu&#146;elle s&#146;applique &agrave; des polyn&ocirc;me.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>On poseb = s(x), a = x</FONT><FONT SIZE=2><SUP>2t</SUP></FONT><FONT SIZE=4>et on applique l&#146;algorithme d&#146;Euclide pour trouveru(x),l(x),w(x), et les racines de l(x) sont utilis&eacute;es pourtrouver la position de l&#146;erreur. Soit b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>une racine de l(x), la valeur de l&#146;erreur &agrave; la positionp</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4> se calcule dela mani&egrave;re suivante :</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>e</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>= w(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>) / l&#146;(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>)  o&ugrave; l&#146;(x) est la d&eacute;riv&eacute;e du polyn&ocirc;mel(x).</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>Enfait, l&#146;algorithme d&#146;Euclide ne donne pas l(x),v(x),w(x)mais K.l(x), K.v(x), K.w(x), c&#146;est-&agrave;-dire &agrave; uneconstante K pr&egrave;s. Mais pour trouver les racines de l(x), qu&#146;onaie l(x) ou K.l(x) cela nous donne le m&ecirc;me r&eacute;sultat, etcomme la valeur de l&#146;erreur est calcul&eacute;e par le rapportK.w(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>) /K.l&#146;(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>), onobtient le bon r&eacute;sultat.</FONT></FONT></P><P STYLE="margin-bottom: 0in; page-break-before: always"><FONT FACE="Arial"><FONT SIZE=6><B>4.2<U>Algorithme d&#146;Euclide</U></B></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Onrappelle ici, le principe de l&#146;algorithme d&#146;Euclideappliqu&eacute; &agrave; l&#146;&eacute;quation v . b + u . a = w.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>I)	<U>Initialisation</U></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	q</FONT><FONT SIZE=2><SUB>0</SUB></FONT><FONT SIZE=4>= -	r</FONT><FONT SIZE=2><SUB>0</SUB></FONT><FONT SIZE=4> =a	u</FONT><FONT SIZE=2><SUB>0</SUB></FONT><FONT SIZE=4>=1	v</FONT><FONT SIZE=2><SUB>0</SUB></FONT><FONT SIZE=4>=0</FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	q</FONT><FONT SIZE=2><SUB>1</SUB></FONT><FONT SIZE=4>= -	r</FONT><FONT SIZE=2><SUB>1</SUB></FONT><FONT SIZE=4> =b	u</FONT><FONT SIZE=2><SUB>1</SUB></FONT><FONT SIZE=4>=0	v</FONT><FONT SIZE=2><SUB>1</SUB></FONT><FONT SIZE=4>=1</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>II)	<U>Calcul de q</U></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Ondivise r</FONT><FONT SIZE=2><SUB>i-1</SUB></FONT><FONT SIZE=4> parr</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>, ce qui nousdonne un quotient q et un reste r, soit r</FONT><FONT SIZE=2><SUB>i-1</SUB></FONT><FONT SIZE=4>= q . r</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4> + r et onpose q</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4> = q. </FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>III)	<U>Calculs</U></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	r</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4>= r</FONT><FONT SIZE=2><SUB>i-1</SUB></FONT><FONT SIZE=4> - q</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4>. r</FONT><FONT SIZE=2><SUB>i</SUB></FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	u</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4>= u</FONT><FONT SIZE=2><SUB>i-1</SUB></FONT><FONT SIZE=4> - q</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4>. u</FONT><FONT SIZE=2><SUB>i</SUB></FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	v</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4>= v</FONT><FONT SIZE=2><SUB>i-1</SUB></FONT><FONT SIZE=4> - q</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4>. v</FONT><FONT SIZE=2><SUB>i</SUB></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>IV)	<U>Test</U></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Sir</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4> est diff&eacute;rentde 0, on incr&eacute;mente i et on retourne au point II, et si  r</FONT><FONT SIZE=2><SUB>i+1</SUB></FONT><FONT SIZE=4>= 0 l&#146;agorithme est termin&eacute;.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>On aalors,</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>a)  r</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>est le plus grand diviseur commun entre a et b. </FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>b)  r</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>= v</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4> . b + u</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>. a.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>Enfait, la relation b) est valable pour tout i.</FONT></FONT></P><P STYLE="margin-bottom: 0in; page-break-before: always"><FONT FACE="Arial"><FONT SIZE=6><B>4.3<U>Reed-Solomon algorithme</U></B></FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	L&#146;algorithmede d&eacute;codage des codes de Reed-Solomon sera le suivant :</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4><B>1)</B>	Calculdu polyn&ocirc;me syndrome s(x).</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Sis(x) = 0, il n&#146;y a pas d&#146;erreurs : <B>STOP</B>.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4><B>2)</B>	Onapplique l&#146;algorithme d&#146;Euclide avec</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	a(x) =x</FONT><SUP>2t</SUP><FONT SIZE=4> et b(x) = s(x).</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	L&#146;algorithmese termine d&egrave;s que  le degr&eacute; de r</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>(x)est &lt; t.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Sir</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>(x) = 0, il y aplus que t erreurs : <B>STOP</B>.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4><B>3)</B>	Onpose L(x) = K . l(x) = v</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>(x).</FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Oncherche toutes les racines de L(x) : b</FONT><FONT SIZE=2><SUB>1</SUB></FONT><FONT SIZE=4>,..., b</FONT><FONT SIZE=2><SUB>r</SUB></FONT><FONT SIZE=4>.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4><B>4)</B>	Pourchaque racine b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4> = </FONT></FONT><FONT SIZE=4><FONT FACE="Symbol">a</FONT></FONT><FONT FACE="Arial"><SUP>j</SUP><FONT SIZE=4>,la position p</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4> del&#146;erreur est</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	p</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>= q - j - 1 = 2</FONT><SUP>k</SUP><FONT SIZE=4> - j - 1.</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4><B>5)</B>	Onpose W(x) = K . w(x) = r</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>(x).</FONT></FONT></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Lavaleur de l&#146;erreur &agrave; la position p</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>est donn&eacute;e par</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	e</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>= W(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>) / L&#146;(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>)= K . w(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>) / K .l&#146;(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>) =w(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>) / l&#146;(b</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>).</FONT></FONT></P><P STYLE="margin-bottom: 0in"><BR></P><P STYLE="margin-bottom: 0in"><FONT FACE="Arial"><FONT SIZE=4>	Lanouvelle valeur &agrave; la position p</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>sera alors c</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4> = d</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>+ e</FONT><FONT SIZE=2><SUB>i</SUB></FONT><FONT SIZE=4>.</FONT></FONT></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -