This model shows how to define and use a trellis that describes a convolutional code. The particular code in this example cannot be described by a set of generator and feedback connection polynomials. As a result, the code's trellis cannot be created by the poly2trellis function, which expects generator and feedback connection polynomials as input arguments.
Below is a block diagram representing the convolutional code.
The major components in this example are
On top, a representation of the convolutional encoder using low-level delay and sum (XOR) blocks. This representation looks very similar to the block diagram of the encoder.
On the bottom, a representation of the same convolutional encoder using the Convolutional Encoder block in the Communications System Toolbox™. In this case, the description of the encoder is within the block's Trellis structure parameter. See CreateTrellis for details on how the Trellis structure parameter is defined. This portion of the model also includes the Viterbi Decoder block, which decodes the convolutional code.
When you run the simulation, the block Compare Encoder checks that the two representations of the encoder yield the same result. The block Compare Encoder - Decoder checks that the encoder and decoder in the Communications System Toolbox work properly as a pair. Each Display block in the model shows an error rate of zero, as expected.