comm.gpu.BlockDeinterleaver

Восстановите исходное упорядоченное расположение чередования блоков с помощью графический процессор

Описание

The BlockDeinterleaver Система object™ восстанавливает исходное упорядоченное расположение последовательности, которая была перемежена с помощью Системного объекта перемежителя блоков.

Примечание

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

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

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

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

Для устранения перемежения вектора входа:

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

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

Примечание

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

Конструкция

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

H = comm.gpu.BlockDeinterleaver(Name,Value) создает объект обратного перемежения блоков на основе GPU, H, с заданным именем свойства, установленным на заданное значение.

H = comm.gpu.BlockDeinterleaver(PERMVEC) создает объект обратного перемежения блоков на основе GPU, H, с PermutationVector значение свойства установлено в PERMVEC.

Свойства

PermutationVector

Вектор сочетания

Задайте отображение, используемую для транспозиции символов входа, как вектор-столбец целых чисел. Значение по умолчанию является [5;4;3;2;1]. Отображением является вектор, где количество элементов равно длине, N, входного входа шагового метода. Каждый элемент должен быть целым числом между 1 и N, без повторных значений.

Методы

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

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

Алгоритм

Этот объект использует тот же алгоритм, что и comm.BlockDeinterleaver Системный объект. См. Алгоритмы на comm.BlockDeinterleaver страница справки для получения дополнительной информации.

Примеры

свернуть все

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

interleaver = comm.gpu.BlockInterleaver([3 4 1 2]');
deinterleaver = comm.gpu.BlockDeinterleaver([3 4 1 2]');

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

data = randi(7,4,1);
intData = interleaver(data);
deIntData = deinterleaver(intData);

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

[data intData deIntData]
ans =

     6     1     6
     7     7     7
     1     6     1
     7     7     7

Подтвердите, что исходные и перемеженные данные идентичны.

isequal(data,deIntData)
ans =

     1

Сгенерируйте случайный вектор уникальных целых чисел как вектор сочетания.

permVec = randperm(7)';

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

interleaver = comm.gpu.BlockInterleaver(permVec);
deinterleaver = comm.gpu.BlockDeinterleaver(permVec);

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

data = randi(10,7,1);
intData = interleaver(data);
deIntData = deinterleaver(intData);

Подтвердите, что исходные и перемеженные данные идентичны.

isequal(data,deIntData)
ans =

     1

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

Введенный в R2012a