| Communications Blockset™ | ![]() |
Create BCH code from binary vector data
Block sublibrary of Channel Coding
This block supports punctures (Shortening, Puncturing, and Erasures provides a tutorial).
The BCH Encoder block creates a BCH code with message length K and codeword length (N - number of punctures). You specify both N and K directly in the dialog box.
The input must be a frame-based column vector with an integer multiple of K elements. Each group of K input elements represents one message word to be encoded.
If the encoder is processing multiple codewords per frame, then the same puncture pattern holds for all codewords.
For a given codeword length N, only specific
message lengths K are valid for a BCH code. For
a full length BCH code, N must be of the form
2M-1, where
. If N is
less than 2M-1, the
block assumes that the code has been shortened by length 2M - 1 - N. However, if N is greater than or equal to
2M-1, Primitive
polynomial must be specified to appropriately set the value
of M.
No known analytic formula describes the relationship among the codeword length, message length, and error-correction capability. For a list of some valid values of K corresponding to values of N up to 511, see the bchenc reference page in the Communications Toolbox™ documentation.
This block supports double and boolean data types.
The primitive and generator polynomials may be specified in their respective fields, which appear after selecting their corresponding check boxes.
Note For a puncture vector, a 1 means that the data symbol is passed unaltered, and a 0 means that the data symbol is punctured (i.e., removed) from the data stream. This convention is carried for both the encoder and the decoder. |

The codeword length.
The message length.
Selecting this check box enables the field Primitive polynomial.
This field is available only when Specify primitive polynomial is selected.
A row vector that represents the binary coefficients of the primitive polynomial in order of descending powers.
The default value is de2bi(primpoly(4, 'nodisplay'), 'left-msb'), corresponding to a (15,5) code.
Selecting this check box enables the field Generator polynomial.
This field is available only when Specify generator polynomial is selected.
A row vector that represents the binary coefficients of the generator polynomial in order of descending powers.
The length of the Generator polynomial must be N-K+1.
The default value is bchgenpoly(15,5).
Selecting this check box enables the field Puncture vector.
This field is available only when Puncture code is selected.
A column vector of length N-K. A value of 1 in the Puncture vector corresponds to a bit that is not punctured, and a 0 corresponds to a bit that is punctured.
The default value is [ones(8,1); zeros(2,1)].
bchenc (in Communications Toolbox documentation)
![]() | BCH Decoder | Bernoulli Binary Generator | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |