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 topoly2trellis(7,[171 133],171)
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
Clark, George C. Jr. and J. Bibb Cain. Error-Correction Coding for Digital Communications. New York: Plenum Press, 1981.
Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein. Data Communications Principles. New York: Plenum, 1992.
![]() | Convolutional Deinterleaver | Convolutional Interleaver | ![]() |