comm.TurboEncoder
Encode input signal using turbo encoder parallel concatenated encoding scheme
Description
The comm.TurboEncoder
System object™ applies a parallel concatenated encoding scheme to a binary input message.
This coding scheme uses two convolutional encoders and appends the termination bits at
the end of the encoded data bit stream. For more information, see Parallel Concatenated Convolutional Encoding Scheme.
To encode a binary input message using a parallel concatenated encoding scheme:
Create the
comm.TurboEncoder
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 turbo encoder System object. This object performs turbo encoding using the default object
configuration.turboenc
= comm.TurboEncoder
sets properties using one or more name-value pairs. For example,
turboenc
= comm.TurboEncoder(Name
,Value
)comm.TurboEncoder('InterleaverIndicesSource','Input
port')
configures a turbo encoder System object with the interleaver indices to be supplied as an input argument
to the System object when it is called. Enclose each property name in quotes.
creates a turbo encoder System object with the turboenc
= comm.TurboEncoder(trellis
,interlvrindices
)TrellisStructure
and InterleaverIndices
properties set to
trellis
and interlvrindices
,
respectively. The trellis
input must be specified as
described by the TrellisStructure
property. The interlvrindices
input must be specified as
described by the InterleaverIndices
property.
Properties
Usage
Syntax
Description
encodes the input message using the parallel concatenated convolutional encoding
scheme specified by the trellis structure and interleaver indices.
codeword
= turboenc(message
)turboenc
returns the binary 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). For more
information, see Parallel Concatenated Convolutional Encoding Scheme.
additionally specifies the interleaver indices.
codeword
= turboenc(message
,interlvrindices
)interlvrindices
must be a column vector containing
integers in the range [1, L] with no repeated values.
L is the length of the binary input message,
message
. This syntax applies when the InterleaverIndicesSource property is set to 'Input
port'
. The interleaver indices define the mapping used to permute
the input bits at the encoder.
additionally specifies the bit ordering and puncturing used when encoding the
message data. To enable this syntax, set the OutputIndicesSource property to codeword
= turboenc(message
,interlvrindices
,outindices
)'Input port'
.
The output indices vector values must be relative to the fully encoded data for
the coding scheme, including the tail bits for all streams.
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] Berrou, C., A. Glavieux, and P. Thitimajshima. “Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes.” Proceedings of ICC 93 - IEEE® International Conference on Communications, 2: 1064–70. Geneva, Switzerland: IEEE, 1993. https://doi.org/10.1109/icc.1993.397441.
[2] Benedetto, S., G. Montorsi, D. Divsalar, and F. Pollara. "A Soft-Input Soft-Output Maximum A Posterior (MAP) Module to Decode Parallel and Serial Concatenated Codes." Jet Propulsion Lab TDA Progress Report (November 1996): 42–127.
[3] Schlegel, Christian, and Lance Perez. Trellis and Turbo Coding. IEEE Press Series on Digital & Mobile Communication. Piscataway, NJ; Hoboken, NJ: IEEE Press; Wiley-Interscience, 2004.
[4] 3GPP TS 36.212. "Multiplexing and channel coding." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA).
Extended Capabilities
Version History
Introduced in R2012a