comm.gpu.ConvolutionalDeinterleaver

Восстановите упорядоченное расположение символов, используя сдвиг регистров на графическом процессоре

Описание

The GPU ConvolutionalDeinterleaver объект восстанавливает сигнал, который был перемежен с использованием объекта сверточного перемежителя на основе GPU. Параметры в двух блоках должны иметь одинаковые значения.

Примечание

Чтобы использовать этот объект, необходимо установить лицензию Parallel Computing Toolbox™ и иметь доступ к соответствующему графическому процессору. Для получения дополнительной информации о графических процессорах см. раздел «Графические процессоры» (Parallel Computing Toolbox).

Система на базе GPU, object™ принимает типовой MATLAB® массивы или объекты, созданные с помощью gpuArray класс. Объект System на основе GPU поддерживает входные сигналы с типами данных двойной или одинарной точности. Сигнал выхода наследует свой тип данных от входного сигнала.

  • Если входной сигнал является массивом MATLAB, системный объект обрабатывает передачу данных между центральным процессором и графическим процессором. Сигнал выхода является массивом MATLAB.

  • Если входной сигнал является gpuArray, данные остаются на графическом процессоре. Выходной сигнал является gpuArray. Когда объекту задается gpuArrayвычисления происходят полностью на графическом процессоре, и передача данных не происходит. Передача gpuArray аргументы обеспечивают увеличение эффективности за счет сокращения времени симуляции. Для получения дополнительной информации смотрите Установка массивов на графическом процессоре (Parallel Computing Toolbox).

Чтобы восстановить сверточно перемеженные двоичные данные:

  1. Определите и настройте объект сверточного обратного перемежителя. См. «Конструкция».

  2. Функции step сверточно перемежать в соответствии со свойствами comm.gpu.ConvolutionalDeinterleaver. Поведение step характерен для каждого объекта в тулбоксе.

Примечание

Начиная с R2016b, вместо использования step метод для выполнения операции, заданной системным объектом, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Конструкция

H = comm.gpu.ConvolutionalDeinterleaver создает сверточный обратный перемежитель на основе GPU Системного объекта, H. Этот объект восстанавливает исходное упорядоченное расположение последовательности, которая была перемежена с помощью сверточного перемежителя.

H = comm.gpu.ConvolutionalDeinterleaver(Name,Value) создает сверточный обратный перемежитель на основе GPU Системного объекта, H, с заданным именем свойства установлено заданное значение. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

H = comm.gpu.ConvolutionalDeinterleaver(M,B,IC) создает сверточный обратный перемежитель Системного объекта H, с NumRegisters значение свойства установлено в M, а RegisterLengthStep значение свойства установлено в B, и InitialConditions значение свойства установлено в IC. M, B, и IC являются аргументами только для значений. Чтобы задать аргумент только для значения, необходимо также задать все предыдущие аргументы только для значения.

Свойства

NumRegisters

Количество внутренних регистров сдвига

Задайте количество внутренних регистров сдвига как скалярное, положительное целое число. Значение по умолчанию является 6.

RegisterLengthStep

Количество дополнительных символов, которые помещаются в каждом последующем регистре сдвига

Задайте количество дополнительных символов, которые помещаются в каждом последующем регистре сдвига как положительное, скалярное целое число. Значение по умолчанию является 2. Первый регистр содержит нулевые символы.

InitialConditions

Начальные условия сдвига регистров

Задайте значения, которые первоначально хранятся в каждом регистре сдвига (кроме первого регистра сдвига, который имеет нулевую задержку) в виде числа или вектора. Значение по умолчанию является 0. Если вы задаете это свойство скаляром, то все регистры сдвига, кроме первого, хранят то же заданное значение. Если вы устанавливаете его в вектор-столбец с длиной, равной значению NumRegistersсвойство, тогда i-й регистр сдвига хранит i-й элемент заданного вектора. Значение первого элемента этого свойства неважно, поскольку первый регистр сдвига имеет нулевую задержку.

Методы

шагТранспозиция входных символов с помощью регистров сдвига
Общий для всех системных объектов
release

Разрешить изменение значения свойства системного объекта

reset

Сброс внутренних состояний Системного объекта

Примеры

свернуть все

Создайте сверточные объекты перемежителя и обратного перемежителя.

interleaver = comm.gpu.ConvolutionalInterleaver('NumRegisters',2, ...
    'RegisterLengthStep',3);
deinterleaver = comm.gpu.ConvolutionalDeinterleaver('NumRegisters',2, ...
    'RegisterLengthStep',3);

Сгенерируйте данные и передайте данные через сверточный перемежитель. Передайте перемеженные данные через сверточный обратный перемежитель.

data = (0:20)';
intrlvData = interleaver(data);
deintrlvData = deinterleaver(intrlvData);

Отобразите исходную последовательность, чередующуюся последовательность и восстановленную последовательность.

[data intrlvData deintrlvData]
ans =

     0     0     0
     1     0     0
     2     2     0
     3     0     0
     4     4     0
     5     0     0
     6     6     0
     7     1     1
     8     8     2
     9     3     3
    10    10     4
    11     5     5
    12    12     6
    13     7     7
    14    14     8
    15     9     9
    16    16    10
    17    11    11
    18    18    12
    19    13    13
    20    20    14

Задержка через пару перемежителя и обратного перемежителя равна продукту NumRegisters и RegisterLengthStep свойства. После учета этой задержки подтвердите, что исходные и перемеженные данные идентичны.

intrlvDelay = interleaver.NumRegisters * interleaver.RegisterLengthStep
numSymErrors = symerr(data(1:end-intrlvDelay),deintrlvData(1+intrlvDelay:end))
intrlvDelay =

     6


numSymErrors =

     0

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на Convolutional Deinterleaver блочных страниц с описанием. Свойства объекта соответствуют параметрам блоков.

Расширенные возможности

Введенный в R2012a