comm.gpu. BlockDeinterleaver

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

Описание

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

Примечание

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

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

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

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

Устранять чередование входного вектора:

  1. Задайте и настройте свой блок deinterleaver объект. Смотрите Конструкцию.

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

Примечание

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

Конструкция

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

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

H = comm.gpu.BlockDeinterleaver(PERMVEC) создает основанный на графическом процессоре блок deinterleaver объект, H, с набором свойств PermutationVector к PERMVEC.

Свойства

PermutationVector

Вектор перестановки

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

Методы

шагУстраните чередование входной последовательности
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Алгоритм

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

Примеры

развернуть все

Создайте объекты deinterleaver и interleaver.

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

Передайте случайные данные через interleaver и deinterleaver.

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 как вектор перестановки для объектов deinterleaver и interleaver.

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

Передайте случайные данные через interleaver и deinterleaver.

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

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

isequal(data,deIntData)
ans =

     1

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

Представленный в R2012a