convintrlv

Транспозиция символов с помощью регистров сдвига

Синтаксис

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 выход от предыдущего вызова этой же функции, и не связан с соответствующим обратным перемежителем.

Примеры

Пример ниже показывает, что 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

Другой пример, использующий эту функцию, находится в действии задержек на восстановление сверточно чередующихся данных с использованием MATLAB.

Пример на muxdeintrlv страница с описанием иллюстрирует, как использовать state выход и init_state вход этой функцией; процесс аналогичен для этой функции.

Ссылки

[1] Heegard, Chris, and Stephen B. Wicker, Turbo Coding, Boston, Kluwer Academic Publishers, 1999.

Представлено до R2006a