Переставьте символы с помощью сдвиговых регистров с заданными задержками
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
вывод от предыдущего вызова до этой той же функции и не связан с соответствующим deinterleaver.
Примеры в Сверточном Чередовании и Устранении чередования Используя Последовательность Последовательных Целых чисел в MATLAB и на странице с описанием для функции convintrlv
используют muxintrlv
.
Пример на странице с описанием для muxdeintrlv
иллюстрирует, как использовать state
вывод и вход init_state
с этой функцией; процесс аналогичен для этой функции.
[1] Heegard, Крис, и Стивен Б. Викер, турбокодирование, Бостон, Kluwer академические издатели, 1999.