comm.gpu.ViterbiDecoder
Decode convolutionally encoded data using Viterbi algorithm with GPU
To use this object, you must install Parallel Computing Toolbox™ and have access to a supported GPU. If the host computer has a GPU configured, processing uses the GPU. Otherwise, processing uses the CPU. For more information about GPUs, see GPU Computing (Parallel Computing Toolbox).
Description
The comm.gpu.ViterbiDecoder
System object™ decodes convolutionally encoded input symbols to produce binary output symbols
by using Viterbi algorithm with a graphics processing unit (GPU).
To decode convolutionally encoded data using the Viterbi algorithm:
Create the
comm.gpu.ViterbiDecoder
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 GPU-based Viterbi decoder System object.gpuViterbiDec
= comm.gpu.ViterbiDecoder
sets the gpuViterbiDec
= comm.gpu.ViterbiDecoder(trellis)TrellisStructure
property to trellis
.
sets properties using one or more name-value arguments in addition to any of the input
argument combinations in previous syntaxes. For example, gpuViterbiDec
= comm.gpu.ViterbiDecoder(___,Name
,Value
)gpuViterbiDec =
comm.gpu.ViterbiDecoder(TerminationMethod="Continuous")
specifies the
termination method as continuous and saves the internal state metric at the end of each
frame for use with the next frame.
Properties
Usage
Description
specifies the input to reset the internal states of the decoder. To enable this syntax,
set the decmsg
= gpuViterbiDec(codeword
,resetstate
)TerminationMethod
property to "Continuous"
and the
ResetInputPort
property to true
.
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] Sklar, Bernard. Digital Communications: Fundamentals and Applications. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[2] 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.
[3] Fettweis, G., and H. Meyr. “Feedforward Architectures for Parallel Viterbi Decoding.” Journal of VLSI Signal Processing Systems for Signal, Image and Video Technology 3, no. 1–2 (June 1991): 105–19. https://doi.org/10.1007/BF00927838.
Extended Capabilities
Version History
Introduced in R2012a
See Also
Functions
distspec
|poly2trellis
|istrellis
|vitdec
|convenc
Objects
comm.ConvolutionalEncoder
|comm.ViterbiDecoder
|comm.gpu.ConvolutionalEncoder
|gpuArray
(Parallel Computing Toolbox)
Topics
- GPU Arrays Support List for System Objects
- GPU Computing (Parallel Computing Toolbox)
- Accelerate Simulation Using GPUs