Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
BCH code
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
====Peterson–Gorenstein–Zierler algorithm==== <!-- this confuses t (max number of errors that can be corrected) with ν (actual number of errors) --> Peterson's algorithm is the step 2 of the generalized BCH decoding procedure. Peterson's algorithm is used to calculate the error locator polynomial coefficients <math> \lambda_1 , \lambda_2, \dots, \lambda_{v} </math> of a polynomial : <math> \Lambda(x) = 1 + \lambda_1 x + \lambda_2 x^2 + \cdots + \lambda_v x^v .</math> Now the procedure of the Peterson–Gorenstein–Zierler algorithm.<ref>{{Harvnb|Gorenstein|Peterson|Zierler|1960}}</ref> Expect we have at least 2''t'' syndromes ''s''<sub>''c''</sub>, …, ''s''<sub>''c''+2''t''−1</sub>. Let ''v'' = ''t''. {{ordered list | Start by generating the <math>S_{v\times v}</math> matrix with elements that are syndrome values : <math>S_{v \times v}=\begin{bmatrix}s_c&s_{c+1}&\dots&s_{c+v-1}\\ s_{c+1}&s_{c+2}&\dots&s_{c+v}\\ \vdots&\vdots&\ddots&\vdots\\ s_{c+v-1}&s_{c+v}&\dots&s_{c+2v-2}\end{bmatrix}. </math> | Generate a <math>c_{v \times 1}</math> vector with elements : <math>C_{v \times 1}=\begin{bmatrix}s_{c+v}\\ s_{c+v+1}\\ \vdots\\ s_{c+2v-1}\end{bmatrix}. </math> | Let <math>\Lambda</math> denote the unknown polynomial coefficients, which are given by : <math>\Lambda_{v \times 1} = \begin{bmatrix}\lambda_{v}\\ \lambda_{v-1}\\ \vdots\\ \lambda_{1}\end{bmatrix}. </math> | Form the matrix equation : <math>S_{v \times v} \Lambda_{v \times 1} = -C_{v \times 1\,} .</math> | If the determinant of matrix <math>S_{v \times v}</math> is nonzero, then we can actually find an inverse of this matrix and solve for the values of unknown <math>\Lambda</math> values. | If <math>\det\left(S_{v \times v}\right) = 0,</math> then follow if <math>v = 0</math> then declare an empty error locator polynomial stop Peterson procedure. end set <math>v \leftarrow v -1</math> continue from the beginning of Peterson's decoding by making smaller <math>S_{v \times v}</math> | After you have values of <math>\Lambda</math>, you have the error locator polynomial. | Stop Peterson procedure. }}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)