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.
Note:
Although the |
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.