Note: This page has been translated by MathWorks. Please click here

To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

Generator polynomial of BCH code

`genpoly = bchgenpoly(n,k)`

genpoly = bchgenpoly(n,k,prim_poly)

genpoly = bchgenpoly(n,k,prim_poly,outputFormat)

[genpoly,t] = bchgenpoly(...)

`genpoly = bchgenpoly(n,k)`

returns
the narrow-sense generator polynomial of a BCH code with codeword
length `n`

and message length `k`

.
The codeword length `n`

must have the form 2^{m}-1
for some integer m between 3 and 16. The output `genpoly`

is
a Galois row vector that represents the coefficients of the generator
polynomial in order of descending powers. The narrow-sense generator
polynomial is LCM[m_1(x), m_2(x), ..., m_2t(x)], where:

LCM represents the least common multiple,

m_i(x) represents the minimum polynomial corresponding to α

^{i}, α is a root of the default primitive polynomial for the field GF(`n+1`

),and t represents the error-correcting capability of the code.

Although the `bchgenpoly`

function performs
intermediate computations in GF(`n+1`

), the final
polynomial has binary coefficients. The output from `bchgenpoly`

is
a Galois vector in GF(2) rather than in GF(`n+1`

).

`genpoly = bchgenpoly(n,k,prim_poly)`

is
the same as the syntax above, except that `prim_poly`

specifies
the primitive polynomial for GF(`n+1`

) that has Alpha
as a root. `prim_poly`

is either a polynomial
character vector or an integer whose binary representation
indicates the coefficients of the primitive polynomial in order of
descending powers. To use the default primitive polynomial for GF(`n+1`

),
set `prim_poly`

to `[]`

.

`genpoly = bchgenpoly(n,k,prim_poly,outputFormat)`

is
the same as the previous syntax, except that `outputFormat`

specifies
output data type. The value of `outputFormat`

can
be ‘`gf`

' or '`double`

' corresponding
to Galois field and double data types respectively. The default value
of `outputFormat`

is '`gf`

'.

`[genpoly,t] = bchgenpoly(...)`

returns `t`

,
the error-correction capability of the code.

The maximum allowable value of `n`

is 65535.

[1] Peterson, W. Wesley, and E. J. Weldon, Jr., *Error-Correcting Codes*, 2nd ed., Cambridge,
MA, MIT Press, 1972.

Was this topic helpful?