BCH kód
BCH (Bose-Chaudhuri-Hochquenghem) kód je multilevel, cyklický, chyba- korigovat, různě dlouhý digitální kód napravil omyly nahoru k přibližně 25 % úplného množství číslic.Poznámka: BCH kódy nejsou omezené na binární kódy, ale smět být používán s multilevel fáze-posunout spojení klínem kdykoli množství úrovní je prvočíslo nebo síla prvočísla, takový jak 2, 3, 4, 5, 7, 8, 11, a 13. BCH kód v 11 úrovních byl použitý reprezentovat 10 desítkových číslic plus znamení číslice.
BCH kódy použijí teorii pole a polynomials přes to pole. Cesta polynomial kontroly je postaven poskytuje klíč k indikování že chyba nastala.
Jestliže my přejeme si postavit BCH kód odhalit a opravit 2 chyby my používáme pole GF (16) nebo Z2[x] /x4+x+ 1 >
Nyní jestliže my máme a alpha; kořen x4+x+ 1, m1(x) =x4+x+ 1. Nyní m1 je minimální pro a alpha; protože
- m1(x) = (x- a alpha;) (x- a alpha;2) (x- a alpha;4) (x- a alpha;8) =x4+x+ 1.
- C(x) a equiv; 0 (mod m1(x))
Toto nedovolí nám vybrat si mnoho kódových slov - tak my hledáme minimální polynomial pro chybějící sílu a alpha; seshora - a alpha;3, a pak minimální polynomial pro toto je
- m3(x) =x4+x3+x2+x+ 1.
My trváme kódová slova mít všechny tito jako kořeny, tak my tvoříme polynomial
- m1,3(x) =m1(x)m3(x) =x8+x7+x6+x4+1
- C(x) a equiv; 0 (mod m1,3(x))
Nyní v GF (16) my máme 15 nonzero elementů a tak naše polynomial budou míry 14 s 8 kontrolou a 7 jednotek informace - my máme 8 kontrolních bitů od té doby, co my máme (*). Kódování
Budovat naše kódové slovo informací jak
- (c14, c13,..., c8)
- c14+c13+... +c8
My pak chceme objevit CR takový to CR=CI (mod m1,3(x)) =c7+c6+... +c0
Tak my máme následující kódové slovo posílat C(x) = CI+CR (mod m1,3(x)) = 0
Například, jestliže my máme kódovat (1, 1, 0, 0, 1, 1, 0)
- CI=x14+x13+x10+x9
- x3+1
- (1,1,1,0,0,1,1,0, 0,0,0,0,1,0,0,1)
Dekódování
Předpokládat, že my přijmeme vektor kódového slova r (polynomial R(x)).Jestliže není tam žádná chyba R (a alpha;) = R (a alpha;3)=0
Jestliže je tam jeden chyba, ie r=c+ei kde ei reprezentuje ith vektor základu pro R14
Tak pak
- S1=R(a alpha;) =C(a alpha;) + a alpha;i= a alpha;i
- S3=R(a alpha;3) = C (a alpha;3) + (a alpha;3)i
- = (a alpha;i)3=S13
Jestliže jsou tam dva chyby
- r=c+ei+ej
- S1=R(a alpha;) =C(a alpha;) + a alpha;i+ a alpha;j
- S3=R(a alpha;3) = C (a alpha;3) + (a alpha;3)i+ (a alpha;3)j
- = (a alpha;3)i+ (a alpha;3)j
Původní pramen (nejprve dva odstavce) od Federálních standardních 1037C