| Communications Toolbox | ![]() |
Generator polynomial of BCH code
genpoly = bchgenpoly(n,k)
genpoly = bchgenpoly(n,k,prim_poly)
[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 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).
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 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.
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
The maximum allowable value of n is 511.
[1] Peterson, W. Wesley, and E. J. Weldon, Jr., Error-correcting Codes, 2nd ed., Cambridge, Mass., MIT Press, 1972.
| bchenc | berawgn | ![]() |
© 1994-2005 The MathWorks, Inc.