comm.ConvolutionalEncoder
Convolutionally encode binary data
Description
The comm.ConvolutionalEncoder
System object™ encodes a sequence of binary input vectors to produce a sequence of binary
output vectors.
To convolutionally encode binary data:
Create the
comm.ConvolutionalEncoder
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Syntax
Description
creates a convolutional encoder System object.convencoder
= comm.ConvolutionalEncoder
sets the convencoder
= comm.ConvolutionalEncoder(trellis)TrellisStructure
property to trellis
.
sets Properties using one or more name-value arguments in addition to
any argument combinations in previous syntaxes. For example,
convencoder
= comm.ConvolutionalEncoder(___,Name
=Value
)comm.ConvolutionalEncoder(TerminationMethod='Continuous')
specifies
the termination method as continuous to retain the encoder states at the end of each input
vector for use with the next input vector.
Properties
Usage
Syntax
Description
encodes the input message using the convolutional encoding scheme specified by the trellis
structure. codeword
= convencoder(message
)codeword
is the encoded codeword.
message
and codeword
are column vectors of
numeric, logical, or unsigned fixed-point values with word length 1 (fi (Fixed-Point
Designer) object).
specifies the initial state of the encoder for each input vector. To enable this syntax,
set the codeword
= convencoder(message
,initstate
)TerminationMethod
property to 'Truncated'
and the
InitialStateInputPort
property to 1
(true
).
specifies the input to reset the internal states of the encoder. To enable this syntax,
set the codeword
= convencoder(message
,resetstate
)TerminationMethod
property to 'Continuous'
and the
ResetInputPort
property to 1
(true
).
[
also returns the final state of the encoder. To enable this syntax, set the codeword
,finalstate
] = convencoder(message
)FinalStateOutputPort
property to 1
(true
) and the TerminationMethod
property to 'Continuous'
or
'Truncated'
.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
More About
References
[1] Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.
[2] Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein. Data Communications Principles. Applications of Communications Theory. New York: Plenum Press, 1992.
[3] Yasuda, Y., K. Kashiki, and Y. Hirata. “High-Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding.” IEEE® Transactions on Communications 32, no. 3 (March 1984): 315–19. https://doi.org/10.1109/TCOM.1984.1096047.
[4] Haccoun, D., and G. Begin. “High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.” IEEE Transactions on Communications 37, no. 11 (November 1989): 1113–25. https://doi.org/10.1109/26.46505.
[5] Begin, G., D. Haccoun, and C. Paquin. “Further Results on High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.” IEEE Transactions on Communications 38, no. 11 (November 1990): 1922–28. https://doi.org/10.1109/26.61470.
[6] Moision, B. "A Truncation Depth Rule of Thumb for Convolutional Codes." In Information Theory and Applications Workshop (January 27 2008-February 1 2008, San Diego, California), 555-557. New York: IEEE, 2008.
Extended Capabilities
Version History
Introduced in R2012a