Content deleted Content added
m fmt and finish |
m finish fmt |
||
Line 5:
BCH codes make use of [[field theory]] and polynomials over that field. The way the check polynomial is constructed provides the key to indicating that an error has occured.
If we wish to construct a BCH code to detect and correct 2 errors we use the [[field]] GF(16) or '''Z'''<sub>2</sub>[''x'']/<''x''<sup>4</sup>+''x''+1>
Now if we have α a root of ''x''<sup>4</sup>+''x''+1, ''m''<sub>1</sub>(''x'')=''x''<sup>4</sup>+''x''+1. Now ''m''<sub>1</sub> is minimal for α since
Line 42:
For example, if we are to encode (1,1,0,0,1,1,0)
: ''C''<sub>I</sub>=''x''<sup>14</sup>+''x''<sup>13</sup>+''x''<sup>10</sup>+''x''<sup>9</sup>
and using polynomial long division of ''m''<sub>1,3</sub>(''x'') and ''C''<sub>I</sub> to get ''C''<sub>R</sub>(''x''), in '''Z'''<sub>2</sub> we obtain ''C''<sub>R</sub> to be
: ''x''<sup>3</sup>+1
So then the codeword to send is
Line 61:
If there are two errors
:'''r'''='''c'''+'''e'''<sub>''i''</sub>
then
:''S''<sub>1</sub>=''R''(α)=''C''(α)+α<sup>''i''</sup>+α<sup>''j''</sup>
:''S''<sub>3</sub>=''R''(α<sup>3</sup>)=C(α<sup>3</sup>)+(α<sup>3</sup>)<sup>''i''</sup>+(α<sup>3</sup>)<sup>''j''</sup>
:: = (α<sup>3</sup>)<sup>''i''</sup>+(α<sup>3</sup>)<sup>''j''</sup>
which is '''not''' the same as ''S''<sub>1</sub><sup>3</sup> so we can recognize ''two'' errors. Further algebra <!-- add when have time --> can aid us in correcting these two errors.
|