comm.gpu.TurboDecoder
Decode input signal using turbo decoding with GPU
To use this object, you must install Parallel Computing Toolbox™ and have access to an appropriate GPU. For more about GPUs, see GPU Computing (Parallel Computing Toolbox).
Description
The comm.gpu.TurboDecoder
System object™ decodes the input signal by using a parallel concatenated decoding scheme
with a graphics processing unit (GPU). This decoding scheme uses the a-posteriori
probability (APP) decoder as the constituent decoder. The constituent decoders use the
same trellis structure and algorithm.
A GPU-based System object accepts typical MATLAB® arrays or objects created using the gpuArray
class. A GPU-based
System object supports input signals with double- or single-precision data types. The output
signal inherits its data type from the input signal.
If the input signal is a MATLAB array, the System object handles data transfer between the CPU and the GPU. The output signal is a MATLAB array.
If the input signal is a
gpuArray
, the data remains on the GPU. The output signal is agpuArray
. When the object is given agpuArray
, calculations take place entirely on the GPU, and no data transfer occurs. PassinggpuArray
arguments provides increased performance by reducing simulation time. For more information, see Establish Arrays on a GPU (Parallel Computing Toolbox).
To decode an input signal using a turbo decoding scheme with GPU:
Create the
comm.gpu.TurboDecoder
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 turbo decoder System object. This object uses an APP constituent decoder to iteratively decode
the parallel-concatenated convolutionally encoded input data.gpuTurboDec
= comm.gpu.TurboDecoder
sets the gpuTurboDec
= comm.gpu.TurboDecoder(trellis,interlvrIndices,numIter)TrellisStructure
property to trellis
, the
InterleaverIndices
property to
interlvrIndices
, and the NumIterations
property to numIter
.
sets Properties using one or more name-value arguments in
addition to any of the input argument combinations in previous syntaxes. For
example, gpuTurboDec
= comm.gpu.TurboDecoder(___,Name
,Value
)'NumIterations',10
specifies the number of decoding
iterations used for each call to the System object.
Properties
Usage
Description
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)