BCH kód: Porovnání verzí

Smazaný obsah Přidaný obsah
Hippo.69 (diskuse | příspěvky)
Zdůvodnění algoritmu i pro případ nečitelných znaků
Hippo.69 (diskuse | příspěvky)
m drobné opravy
Řádek 395:
Po nahrazením <math>S(x)</math> pomocí <math>S(x)\Gamma(x)</math> pak proto budeme hledat shodu u koeficientů <math>k,\ldots,d-2</math>.
 
Obdobně jako odstraňování vlivu nečitelných znaků můžeme vnímat i hledání chybných pozic. Pokud najdeme <math>v</math> souřadnic tak, že odstranění jejich vlivu povede k tomu, že zbylé syndromy budou nulové, existuje chybový vektor jenž má nenulové souřadnicehodnoty pouze v těchto souřadnicích. Pokud označíme <math>\Lambda(x)</math> polynom odstraňující vliv těchto souřadnic, dostaneme <math>S(x)\Gamma(x)\Lambda(x){\textstyle{\{k+v,\ldots,\,d-2\}\atop =}}0</math>.
 
V Euklidově algoritmu se snažíme odstranit nejvýš <math>(d-1-k)/2</math> chyb (na čitelných místech), protože při větším počtu chyb může být více kódových slov od přijatého slova stejně daleko. Proto musí pro hledané <math>\Lambda(x)</math> nastat ve výše uvedeném vztahu rovnost u všech souřadnic počínaje <math>k+\lfloor(d-1-k)/2\rfloor</math>.
 
Ve Forney algoritmu na(pro nelezení velikosti chyb) nezáleželo na tom, zda je <math>\Lambda(x)</math> vynásobena nenulovou konstantou, proto je podmínka <math>\lambda_0=1</math> zbytečná.
Může se stát, že Euklidův algoritmus najde <math>\Lambda(x)</math> stupně většího než <math>(d-1-k)/2</math>, který má tolik různých kořenů, jako je jeho stupeň, a pomocí Fourney algoritmu bude možno opravit chyby v polohách všech jeho kořenů., Přestopřesto opravovat takto nalezené chyby je nebezpečné. Obvykle při nalezení <math>\Lambda(x)</math> většího stupně odmítáme chyby opravovat. Stejně tak oprava chyb selže, pokud má <math>\Lambda(x)</math> vícenásobné kořeny či jejich počet neodpovídá stupni <math>\Lambda(x)</math>. Selhání také může detekovat to, když Forney algoritmus vrátí chybu z rozdílu těles <math>B\setminus A</math>.
 
=== Příklad dekódování ===