comm.gpu.ConvolutionalInterleaver
Permute input symbols using shift registers 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.ConvolutionalInterleaver
System object™ permutes the symbols in the input sequence with a graphics processing unit
(GPU).
A GPU-based System object accepts typical MATLAB® arrays or objects created using the gpuArray
class. 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 permute the symbols in the input sequence with GPU:
Create the
comm.gpu.ConvolutionalInterleaver
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 convolutional interleaver System object.intrlvr
= comm.gpu.ConvolutionalInterleaver
sets Properties using one or more name-value arguments. For example,
intrlvr
= comm.gpu.ConvolutionalInterleaver(Name=Value
)NumRegisters=10
specifies the number of internal shift
registers.
sets the intrlvr
= comm.gpu.ConvolutionalInterleaver(m
,b
,ic
)NumRegisters
property to m
, the RegisterLengthStep
property to b
, and the InitialConditions
property to ic
.
Properties
Usage
Description
permutes the input sequence of symbols intrlvseq
= intrlvr(inputseq
)inputseq
by using a set of
shift registers. If the host computer has a GPU configured, processing uses the GPU.
Otherwise, processing uses the CPU. The output is the interleaved sequence.
The object consists of N registers, each with a specified delay.
N is the total number of shift registers. The object sets the delay
value of the kth shift register to ((k-1) ✕
RegisterLengthStep
). With each new input symbol, the System object switches the commutator to a new register and shifts in the new symbol while
shifting out the oldest symbol in that register. When the commutator reaches the
Nth register, upon the next new input, the commutator returns to the
first register.
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)