comm.ConvolutionalDeinterleaver

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

Описание

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

Чтобы восстановить сверточно перемеженные двоичные данные:

  1. Определите и настройте объект сверточного обратного перемежителя. См. «Конструкция».

  2. Функции step сверточно перемежать в соответствии со свойствами comm.ConvolutionalDeinterleaver. Поведение step характерен для каждого объекта в тулбоксе.

Примечание

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

Конструкция

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

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

Свойства

NumRegisters

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

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

RegisterLengthStep

Различие символьной емкости каждого последующего регистра сдвига

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

InitialConditions

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

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

Методы

шагВосстановите упорядоченное расположение символов с помощью регистров сдвига
Общий для всех системных объектов
release

Разрешить изменение значения свойства системного объекта

reset

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

Примеры

свернуть все

Создайте сверточные объекты перемежителя и обратного перемежителя.

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

Сгенерируйте данные и передайте данные через сверточный перемежитель. Передайте перемеженные данные через сверточный обратный перемежитель.

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

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

[data intrlvData deintrlvData]
ans = 21×3

     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
      ⋮

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

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

Алгоритмы

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

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

.
Введенный в R2012a