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 (X - A1)(X - A2)...(X- An-k) where A is a root of the default primitive polynomial for the field 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 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 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, Block Coding

References

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


© 1994-2005 The MathWorks, Inc.