Восстановите упорядоченное расположение символов с помощью сдвиговых регистров
deintrlved = convdeintrlv(data,nrows,slope)
[deintrlved,state] = convdeintrlv(data,nrows,slope)
[deintrlved,state] = convdeintrlv(data,nrows,slope,init_state)
deintrlved = convdeintrlv(data,nrows,slope)
восстанавливает упорядоченное расположение элементов в data
при помощи набора nrows
внутренние сдвиговые регистры. Значением задержки kth сдвигового регистра является (nrows-k)*slope
, где k = 1, 2, 3..., nrows
. Прежде чем функция начинает обрабатывать данные, она инициализирует все сдвиговые регистры с нулями. Если data
является матрицей с несколькими строками и столбцами, функциональные процессы столбцы независимо.
[deintrlved,state] = convdeintrlv(data,nrows,slope)
возвращает структуру, которая содержит конечное состояние сдвиговых регистров. state.value
хранит любые непереключенные символы. state.index
является индексом следующего регистра, который будет переключен.
[deintrlved,state] = convdeintrlv(data,nrows,slope,init_state)
инициализирует сдвиговые регистры с символами, содержавшимися в init_state.value
, и направляет первый вводимый символ к сдвиговому регистру, на который ссылается init_state.index
. Структура init_state
обычно является state
вывод от предыдущего вызова до этой той же функции и не связан с соответствующим interleaver.
Чтобы использовать эту функцию в качестве инверсии функции convintrlv
, используйте тот же nrows
и входные параметры slope
в обеих функциях. В этом случае две функции являются инверсиями в том смысле, что применение convintrlv
, сопровождаемого convdeintrlv
, оставляет данные без изменений, после того, как вы принимаете их объединенную задержку во внимание nrows*(nrows-1)*slope
. Чтобы узнать больше о задержках сверточного interleavers, смотрите Задержки Сверточного Interleavers.
Пример в действительности Задержек на Восстановлении Convolutionally Чередованные Данные Используя MATLAB используют convdeintrlv
и иллюстрируют, как можно обработать задержку interleaver/deinterleaver пары при восстановлении данных.
Пример на странице с описанием для muxdeintrlv
иллюстрирует, как использовать state
вывод и вход init_state
с этой функцией; процесс аналогичен для этой функции.
[1] Heegard, Крис, и Стивен Б. Викер, турбокодирование, Бостон, Kluwer академические издатели, 1999.