Документация Engee

EngeeComms.ConvolutionalDeinterleaver

Восстановление порядка следования символов, переставленных с помощью сдвиговых регистров.

Библиотека

EngeeComms

Блок

Convolutional Deinterleaver

Описание

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

Чтобы выполнить восстановление порядка символов с помощью набора сдвиговых регистров с заданными задержками, выполните следующие действия:

  1. Создайте объект EngeeComms.ConvolutionalDeinterleaver и установите его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.

Синтаксис

Создание

  • ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver() создает системный объект для восстановления порядка символов со свойствами по умолчанию. Пример:

    ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver()
  • ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver(Name=Value) создает системный объект для восстановления порядка символов с каждым указанным свойством Name (имя), установленным на указанное Value (значение). Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1=Value1,…​,NameN=ValueN). Пример:

    # восстанавливает порядок символов во входной последовательности с помощью набора из 10 сдвиговых регистров
    ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver(NumRegisters=10)

Использование

deintrlvseq = ConvDeinterleaver(intrlvseq) – восстанавливает входную последовательность символов, используя набор сдвиговых регистров. Объект выводит восстановленную последовательность символов.

deintrlvseq = ConvDeinterleaver(intrlvseq)

Аргументы

Входные аргументы

intrlvseq — последовательность символов
вектор-столбец

Details

Входная последовательность, в которой нужно восстановить последовательность переставленных символов.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выходные аргументы

deintrlvseq — восстановленная последовательность символов
скаляр | вектор | матрица

Details

Выходная восстановленная последовательность символов.

Тип и размер выходной последовательность соответствует типу и размеру intrlvseq.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Свойства

NumRegisters — количество сдвиговых регистров
6 (по умолчанию) | целое положительное число

Details

Количество сдвиговых регистров, которые блок использует внутри себя.

Типы данных: Float64

RegisterLengthStep — шаг длины регистра
2 (по умолчанию) | целое положительное число

Details

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

Типы данных: Float64

InitialConditions — начальные значения сдвиговых регистров
0 (по умолчанию) | скаляр | вектор-столбец

Details

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

  • Если свойство InitialConditions является скаляром, то его значение заполняет все сдвиговые регистры, кроме последнего.

  • Если свойство InitialConditions является вектором-столбцом, длина которого равна параметру NumRegisters, то -тый элемент этого вектора заполняет собой весь -тый сдвиговый регистр..

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

Типы данных: Float64

Методы

Общие для всех системных объектов

step!

Запустить алгоритм работы системного объекта

release!

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

reset!

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

Дополнительно

Подробнее о задержке сверточного перемежения и деперемежения (восстановления)

Details

Общая задержка методов сверточного перемежения-деперемежения равна

,

где

  • — количество регистров, равно значению свойства NumRegisters;

  • — шаг длины регистра, равно значению свойства RegisterLengthStep.

На диаграмме ниже показана структура общего перемежителя, состоящего из набора сдвиговых регистров, каждый из которых имеет заданную задержку, обозначаемую как , и коммутатора для переключения входных и выходных символов через регистры. -й регистр сдвига содержит символов, где и имеет значение задержки, равное . С каждым новым входным символом коммутатор переключается на новый регистр и вводит новый символ, одновременно удаляя самый старый символ в этом регистре. Когда коммутатор достигает -го регистра, при следующем новом вводе коммутатор возвращается к первому регистру.

convolutional interleaver 1

Литература

  1. Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.

  2. Forney, G., D., Jr. "Burst-Correcting Codes for the Classic Bursty Channel." IEEE Transactions on Communications, vol. COM-19, October 1971. 772-781.

  3. Ramsey, J. L. "Realization of Optimum Interleavers." IEEE Transactions on Information Theory, IT-16 (3), май 1970. 338-345.