exponenta event banner

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] Хигард, Крис и Стивен Б. Викер, Turbo Coding, Boston, Kluwer Academic Publishers, 1999.

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