comm.gpu. ConvolutionalInterleaver

Переставьте вводимые символы с помощью сдвиговых регистров с графическим процессором

Описание

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

Примечание

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

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

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

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

convolutionally чередовать двоичные данные:

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

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

Примечание

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

Конструкция

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

H = comm.gpu.ConvolutionalInterleaver(Name,Value) создает основанный на графическом процессоре сверточный interleaver Системный объект, H, с заданным набором свойства Name к заданному Value. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

H = comm.gpu.ConvolutionalInterleaver(M,B,IC) создает основанный на графическом процессоре сверточный interleaver Системный объект H, с набором свойств NumRegisters к M, набором свойств RegisterLengthStep к B и набором свойств InitialConditions к IC. M, B и IC являются аргументами только для значения. Чтобы задать аргумент только для значения, необходимо также задать все предыдущие аргументы только для значения.

Свойства

NumRegisters

Количество внутренних сдвиговых регистров

Задайте количество внутренних сдвиговых регистров как скаляр, положительное целое число. Значением по умолчанию является 6.

RegisterLengthStep

Количество дополнительных символов, которые помещаются в каждый регистр последовательного сдвига

Задайте количество дополнительных символов, которые помещаются в каждый регистр последовательного сдвига как в положительное, скалярное целое число. Значением по умолчанию является 2. Первый регистр содержит нулевые символы.

InitialConditions

Начальные условия сдвиговых регистров

Задайте значения, которые первоначально хранятся в каждом сдвиговом регистре в виде числа или вектора. Вы не должны задавать значение для первого сдвигового регистра, который имеет нулевую задержку. Значением по умолчанию является 0. Значение первого элемента этого свойства неважно, потому что первый сдвиговый регистр имеет нулевую задержку. Если вы устанавливаете это свойство на скаляр, то все сдвиговые регистры, кроме первого, хранят то же заданное значение. Если вы устанавливаете его на вектор-столбец с длиной, равной значению свойства NumRegisters, то i-th сдвиговый регистр хранит i-th элемент заданного вектора.

Методы

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

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

Примеры

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

Создайте сверточный interleaver и объекты deinterleaver.

interleaver = comm.gpu.ConvolutionalInterleaver('NumRegisters',2, ...
    'RegisterLengthStep',3);
deinterleaver = comm.gpu.ConvolutionalDeinterleaver('NumRegisters',2, ...
    'RegisterLengthStep',3);

Сгенерируйте данные и передайте данные через сверточный interleaver. Передайте чередованные данные через сверточный deinterleaver.

data = (0:20)';
intrlvData = interleaver(data);
deintrlvData = deinterleaver(intrlvData);

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

[data intrlvData deintrlvData]
ans =

     0     0     0
     1     0     0
     2     2     0
     3     0     0
     4     4     0
     5     0     0
     6     6     0
     7     1     1
     8     8     2
     9     3     3
    10    10     4
    11     5     5
    12    12     6
    13     7     7
    14    14     8
    15     9     9
    16    16    10
    17    11    11
    18    18    12
    19    13    13
    20    20    14

Задержка через interleaver и deinterleaver пару равна продукту свойств NumRegisters и RegisterLengthStep. После составления этой задержки подтвердите, что исходные и устраненные чередование данные идентичны.

intrlvDelay = interleaver.NumRegisters * interleaver.RegisterLengthStep
numSymErrors = symerr(data(1:end-intrlvDelay),deintrlvData(1+intrlvDelay:end))
intrlvDelay =

     6


numSymErrors =

     0

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока Convolutional Interleaver. Свойства объектов соответствуют параметрам блоков.

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

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

Для просмотра документации необходимо авторизоваться на сайте