Communications Blockset | ![]() ![]() |
Create a convolutional code from binary data
Library
Convolutional sublibrary of Channel Coding
Description
The Convolutional Encoder block encodes a sequence of binary input vectors to produce a sequence of binary output vectors. This block can process multiple symbols at a time.
Input and Output Sizes
If the encoder takes k input bit streams (that is, can receive 2k possible input symbols), then this block's input vector length is L*k for some positive integer L. Similarly, if the encoder produces n output bit streams (that is, can produce 2n possible output symbols), then this block's output vector length is L*n.
The input can be a sample-based vector with L = 1, or a frame-based column vector with any positive integer for L.
Specifying the Encoder
To define the convolutional encoder, use the Trellis structure parameter. This parameter is a MATLAB structure whose format is described in the section, Trellis Description of a Convolutional Encoder," in the Communications Toolbox User's Guide. You can use this parameter field in two ways:
poly2trellis
command within the Trellis structure field. For example, to use an encoder with a constraint length of 7, code generator polynomials of 171 and 133 (in octal numbers), and a feedback connection of 171 (in octal), set the Trellis structure parameter to
The encoder registers begin in the all-zeros state. You can configure the encoder so that it resets its registers to the all-zeros state during the course of the simulation. To do this, use one of these values of the Reset parameter:
Rst
. The signal at the Rst
port is a scalar signal. When it is nonzero, the encoder resets before processing the data at the first input port.
Dialog Box
Rst
.See Also
References
[1] Clark, George C. Jr. and J. Bibb Cain. Error-Correction Coding for Digital Communications. New York: Plenum Press, 1981.
[2] Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein. Data Communications Principles. New York: Plenum, 1992.
![]() | Convolutional Deinterleaver | Convolutional Interleaver | ![]() |