comm.ConvolutionalInterleaver

Транспозиция входных символов с помощью регистров сдвига с теми же значениями свойств

Описание

The ConvolutionalInterleaver объект переставляет символы в входном сигнале. Внутри этого класса используется набор регистров сдвига.

Для сверточного чередования двоичных данных:

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

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

Примечание

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

Конструкция

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

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

Свойства

NumRegisters

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

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

RegisterLengthStep

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

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

InitialConditions

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

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

Методы

шагТранспозиция входных символов с помощью регистров сдвига
Общий для всех системных объектов
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 Interleaver блочных страниц с описанием. Свойства объекта соответствуют параметрам блоков.

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

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