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, seeGPU Computing(Parallel Computing Toolbox).
Description
A GPU-based System object™ accepts typical MATLAB®arrays or objects created using thegpuArray
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, seeEstablish Arrays on a GPU(Parallel Computing Toolbox).
Thecomm.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, seeBelief 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, seeWhat 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 thegpu_ldpcdecoder
= comm.gpu.LDPCDecoder(parity
)ParityCheckMatrix
property toparity
and creates a GPU-based LDPC decoder System object. Theparity
input must be specified as described by theParityCheckMatrix
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 typedouble
. 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 namedobj
, use this syntax:
release(obj)
Examples
Algorithms
References
[1]Gallager, Robert G.Low-Density Parity-Check Codes. Cambridge, MA: MIT Press, 1963.