EngeeComms.ConvolutionalDeinterleaver
Восстановление порядка следования символов, переставленных с помощью сдвиговых регистров.
Библиотека |
EngeeComms |
Блок |
Описание
Системный объект EngeeComms.ConvolutionalDeinterleaver восстанавливает порядок символов во входной последовательности с помощью набора сдвиговых регистров, каждый из которых имеет свое собственное значение задержки. Объект comm.ConvolutionalDeinterleaver должен иметь такое же количество регистров, как и соответствующий перемежитель.
Подробнее о задержках см. в Подробнее о задержке сверточного перемежения и деперемежения (восстановления).
Чтобы выполнить восстановление порядка символов с помощью набора сдвиговых регистров с заданными задержками, выполните следующие действия:
-
Создайте объект EngeeComms.ConvolutionalDeinterleaver и установите его свойства.
-
Вызовите объект с аргументами, как если бы это была функция.
Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.
Синтаксис
Создание
-
ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver()
создает системный объект для восстановления порядка символов со свойствами по умолчанию. Пример:ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver()
-
ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver(Name=Value)
создает системный объект для восстановления порядка символов с каждым указанным свойством Name (имя), установленным на указанное Value (значение). Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1
=Value1
,…,NameN
=ValueN
). Пример:# восстанавливает порядок символов во входной последовательности с помощью набора из 10 сдвиговых регистров ConvDeinterleaver = EngeeComms.ConvolutionalDeinterleaver(NumRegisters=10)
Аргументы
Входные аргументы
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
Дополнительно
Подробнее о задержке сверточного перемежения и деперемежения (восстановления)
Details
Общая задержка методов сверточного перемежения-деперемежения равна
,
где
-
— количество регистров, равно значению свойства NumRegisters;
-
— шаг длины регистра, равно значению свойства RegisterLengthStep.
На диаграмме ниже показана структура общего перемежителя, состоящего из набора сдвиговых регистров, каждый из которых имеет заданную задержку, обозначаемую как , и коммутатора для переключения входных и выходных символов через регистры. -й регистр сдвига содержит символов, где и имеет значение задержки, равное . С каждым новым входным символом коммутатор переключается на новый регистр и вводит новый символ, одновременно удаляя самый старый символ в этом регистре. Когда коммутатор достигает -го регистра, при следующем новом вводе коммутатор возвращается к первому регистру.
Литература
-
Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.
-
Forney, G., D., Jr. "Burst-Correcting Codes for the Classic Bursty Channel." IEEE Transactions on Communications, vol. COM-19, October 1971. 772-781.
-
Ramsey, J. L. "Realization of Optimum Interleavers." IEEE Transactions on Information Theory, IT-16 (3), май 1970. 338-345.