comm.gpu.LDPCDecoder
Decode binary low-density parity-check (LDPC) code 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
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).
The comm.gpu.LDPCDecoder
System object uses the belief propagation algorithm to decode a binary LDPC code, which is
input to the object as the soft-decision output (log-likelihood ratio of received bits) from
demodulation. The object decodes generic binary LDPC codes where no patterns in the
parity-check matrix are assumed. For more information, see Belief Propagation Decoding.
To decode an LDPC-encoded signal:
Create the
comm.gpu.LDPCDecoder
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 binary LDPC decoder System object. This object performs LDPC decoding based on the specified parity-check
matrix.gpu_ldpcdecoder
= comm.gpu.LDPCDecoder
sets the gpu_ldpcdecoder
= comm.gpu.LDPCDecoder(parity
)ParityCheckMatrix
property to parity
and
creates a GPU-based LDPC decoder System object. The parity
input must be specified as described by the
ParityCheckMatrix
property.
sets properties using one or more name-value pairs, in addition to inputs from any of the
prior syntaxes. For example, gpu_ldpcdecoder
= comm.gpu.LDPCDecoder(___,Name
,Value
)comm.LDPCDecoder('DecisionMethod','Soft
decision')
configures an LDPC decoder System object to decode data using the soft-decision method and output log-likelihood
ratios of data type double
. Enclose each property name in
quotes.
Properties
Usage
Syntax
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)
Examples
Algorithms
References
[1] Gallager, Robert G. Low-Density Parity-Check Codes. Cambridge, MA: MIT Press, 1963.