comm.gpu. BlockInterleaver

Создайте чередованную последовательность блока с графическим процессором

Описание

Объект GPU BlockInterleaver переставляет символы во входном сигнале с помощью графического процессора (GPU).

Примечание

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

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

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

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

Чередовать входной сигнал:

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

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

Примечание

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

Конструкция

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

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

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

Свойства

PermutationVector

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

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

Методы

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

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

Алгоритм

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

Примеры

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

Создайте объекты 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