bchgenpoly
Generator polynomial of BCH code
Syntax
genpoly = bchgenpoly(n,k)
genpoly = bchgenpoly(n,k,prim_poly)
genpoly = bchgenpoly(n,k,prim_poly,outputFormat)
[genpoly,t] = bchgenpoly(...)
Description
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 2m-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 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.
Examples
Limitations
The maximum allowable value of n
is 65535.
References
[1] Peterson, W. Wesley, and E. J. Weldon, Jr., Error-Correcting Codes, 2nd ed., Cambridge, MA, MIT Press, 1972.
Extended Capabilities
Version History
Introduced before R2006a