BCH code: Difference between revisions

Content deleted Content added
Dysprosia (talk | contribs)
m fmt and finish
Dysprosia (talk | contribs)
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 &alpha; 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 &alpha; 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> +'''e'''<sub>''j''</sub>
then
:''S''<sub>1</sub>=''R''(&alpha;)=''C''(&alpha;)+&alpha;<sup>''i''</sup>+&alpha;<sup>''j''</sup>
:''S''<sub>3</sub>=''R''(&alpha;<sup>3</sup>)=C(&alpha;<sup>3</sup>)+(&alpha;<sup>3</sup>)<sup>''i''</sup>+(&alpha;<sup>3</sup>)<sup>''j''</sup>
:: = (&alpha;<sup>3</sup>)<sup>''i''</sup>+(&alpha;<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.