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

EngeeComms.ConvolutionalInterleaver

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

Библиотека

EngeeComms

Блок

Convolutional Interleaver

Описание

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

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

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

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

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

Синтаксис

Создание

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

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

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

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

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

intrlvseq = ConvInterleaver(inputseq)

Аргументы

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

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

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

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

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

Details

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

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

Типы данных

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

Свойства

# RegisterLengthStep — шаг длины регистра
Скаляр / массив вещественных чисел

Details

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

Типы данных

Float64

# NumRegisters — количество сдвиговых регистров
Скаляр / массив вещественных чисел

Details

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

Типы данных

Float64

# InitialConditions — начальные значения сдвиговых регистров
Скаляр / массив вещественных и/или комплексных чисел

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.