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 внутренние сдвиговые регистры. Значением задержки kth сдвигового регистра является (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.

Смотрите также

| |

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