Переставьте символы с помощью сдвиговых регистров
intrlved = convintrlv(data,nrows,slope)
[intrlved,state] = convintrlv(data,nrows,slope)
[intrlved,state] = convintrlv(data,nrows,slope,init_state)
intrlved = convintrlv(data,nrows,slope)
переставляет элементы в data
при помощи набора nrows
внутренние сдвиговые регистры. Значением задержки k-ого сдвигового регистра является (k-1)*slope
, где k = 1, 2, 3... nrows
. Прежде чем функция начинает обрабатывать данные, она инициализирует все сдвиговые регистры нулями. Если data
матрица с несколькими строками и столбцами, функциональные процессы столбцы независимо.
[intrlved,state] = convintrlv(data,nrows,slope)
возвращает структуру, которая содержит конечное состояние сдвиговых регистров. state.value
хранилища любые непереключенные символы. state.index
индекс следующего регистра, который будет смещен.
[intrlved,state] = convintrlv(data,nrows,slope,init_state)
инициализирует сдвиговые регистры символами, содержавшимися в init_state.value
и направляет первый вводимый символ к сдвиговому регистру, на который ссылается init_state.index
. Структура init_state
обычно state
выведите от предыдущего вызова до этой той же функции, и не связано с соответствующим deinterleaver.
Пример ниже показов, что convintrlv
особый случай более общего функционального muxintrlv
. Обе функции приводят к тем же числовым результатам.
x = randi([0 1],100,1); % Original data nrows = 5; % Use 5 shift registers slope = 3; % Delays are 0, 3, 6, 9, and 12. y = convintrlv(x,nrows,slope); % Interleaving using convintrlv. delay = [0:3:12]; % Another way to express set of delays y1 = muxintrlv(x,delay); % Interleave using muxintrlv. isequal(y,y1)
Выход ниже показов, что y
, полученное использование convintrlv
, и y1
, полученное использование muxintrlv
, то же самое.
ans = 1
Другой пример с помощью этой функции имеет в действительности Задержки на Восстановлении Convolutionally Чередованные Данные Используя MATLAB.
Пример на muxdeintrlv
страница с описанием иллюстрирует, как использовать state
выведите и init_state
введите с этой функцией; процесс аналогичен для этой функции.
[1] Heegard, Крис, и Стивен Б. Викер, турбокодирование, Бостон, Kluwer академические издатели, 1999.