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

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