Транспозиция символов с использованием регистров сдвига с заданными задержками
intrlved = muxintrlv(data,delay)
[intrlved,state] = muxintrlv(data,delay)
[intrlved,state] = muxintrlv(data,delay,init_state)
intrlved = muxintrlv(data,delay)
транспозиция элементов в data
при помощи внутренних регистров сдвига каждый со своим значением задержки. delay
вектор, значения которого указывают, сколько символов может иметь каждый регистр сдвига. Длина delay
- количество регистров сдвига. Прежде чем функция начнет обрабатывать данные, она инициализирует все регистры сдвига с нулями. Если data
является матрицей с несколькими строками и столбцами, функция обрабатывает столбцы независимо.
[intrlved,state] = muxintrlv(data,delay)
возвращает структуру, которая содержит окончательное состояние регистров сдвига. state.value
хранит любые нешифрованные символы. state.index
- индекс следующего регистра, который будет сдвинут.
[intrlved,state] = muxintrlv(data,delay,init_state)
инициализирует регистры сдвига с символами, содержащимися в init_state.value
и направляет первый входной символ в регистр сдвига, на который ссылаются init_state.index
. Структура init_state
обычно является state
выход от предыдущего вызова этой же функции, и не связан с соответствующим обратным перемежителем.
Примеры в сверточном перемежении и обращении с перемежением с использованием последовательности последовательных целых чисел в MATLAB и на странице с описанием для convintrlv
использование функции muxintrlv
.
Пример на странице с описанием для muxdeintrlv
иллюстрирует, как использовать state
выход и init_state
вход этой функцией; процесс аналогичен для этой функции.
[1] Heegard, Chris, and Stephen B. Wicker, Turbo Coding, Boston, Kluwer Academic Publishers, 1999.