exponenta event banner

comm.gpu. BlockDeinterleaver

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

Описание

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

Примечание

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

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

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

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

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

  1. Определите и настройте объект обращенного перемежителя блоков. См. раздел Строительство.

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

Примечание

Начиная с R2016b, вместо использования step для выполнения операции, определенной объектом System, можно вызвать объект с аргументами, как если бы это была функция. Например, 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