comm.gpu.ConvolutionalDeinterleaver

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

Описание

GPU ConvolutionalDeinterleaver объект восстанавливает сигнал, который был чередован с помощью основанного на графическом процессоре сверточного объекта interleaver. Параметры в двух блоках должны иметь те же значения.

Примечание

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

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

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

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

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

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

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

Примечание

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

Конструкция

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

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

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

Свойства

NumRegisters

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

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

RegisterLengthStep

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

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

InitialConditions

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

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

Методы

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

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

reset

Сбросьте внутренние состояния Системного объекта

Примеры

свернуть все

Создайте сверточный 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 Deinterleaver. Свойства объектов соответствуют параметрам блоков.

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

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