bchgenpoly - Generator polynomial of BCH code

Syntax

genpoly = bchgenpoly(n,k)
genpoly = bchgenpoly(n,k,prim_poly)
[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. The output genpoly is a Galois row vector in GF(2) 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 is the least common multiple, m_i(x) is the minimum polynomial corresponding to αi, α is a root of the default primitive polynomial for the field GF(n+1), and t is the error-correcting capability of the code.

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 A as a root. prim_poly is an integer whose binary representation indicates the coefficients of the primitive polynomial. To use the default primitive polynomial for GF(n+1), set prim_poly to [].

[genpoly,t] = bchgenpoly(...) returns t, the error-correction capability of the code.

Examples

The results below show that a [15,11] BCH code can correct one error and has a generator polynomial X4 + X + 1.

m = 4;
n = 2^m-1; % Codeword length
k = 11; % Message length
% Get generator polynomial and error-correction capability.
[genpoly,t] = bchgenpoly(n,k)

The output is

genpoly = GF(2) array. 
 
Array elements = 
 
     1     0     0     1     1


t =

     1

Limitations

The maximum allowable value of n is 511.

See Also

bchenc, bchdec, bchnumerr, Block Coding

References

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

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS