exponenta event banner

algdeintrlv

Восстановление порядка символов с помощью таблицы алгебраически производных перестановок

Синтаксис

deintrlvd = algdeintrlv(data,num,'takeshita-costello',k,h)
deintrlvd = algdeintrlv(data,num,'welch-costas',alph)

Описание

deintrlvd = algdeintrlv(data,num,'takeshita-costello',k,h) восстанавливает исходный порядок элементов в data используя таблицу перестановок, которая алгебраически выводится с помощью метода Такэситы-Костелло. num - количество элементов в data если data является вектором или числом строк data если data является матрицей с несколькими столбцами. В методе Такэситы-Костелло num должна быть силой 2. Мультипликативный коэффициент, k, должно быть нечетным целым числом, меньшим numи циклический сдвиг, h, должно быть неотрицательным целым числом менее num. Если data является матрицей с несколькими строками и столбцами, функция обрабатывает столбцы независимо.

deintrlvd = algdeintrlv(data,num,'welch-costas',alph) использует метод Welch-Costas. В методе Уэлча-Костаса num+1 должно быть простым числом. alph является целым числом от 1 до num который представляет примитивный элемент конечного поля GF (num+1).

Использование этой функции в качестве инверсии algintrlv используйте одни и те же входы в обеих функциях, за исключением data вход. В этом случае две функции являются обратными в том смысле, что применение algintrlv за которым следует algdeintrlv оставляет данные без изменений.

Примеры

свернуть все

В этом примере используется метод Такэситы-Костелло algintrlv и algdeintrlv.

Создание случайных символов данных для чередования. Количество строк входных данных, num, должно быть, сила двух.

num = 16; 
ncols = 3; 
data = rand(num,ncols)
data = 16×3

    0.8147    0.4218    0.2769
    0.9058    0.9157    0.0462
    0.1270    0.7922    0.0971
    0.9134    0.9595    0.8235
    0.6324    0.6557    0.6948
    0.0975    0.0357    0.3171
    0.2785    0.8491    0.9502
    0.5469    0.9340    0.0344
    0.9575    0.6787    0.4387
    0.9649    0.7577    0.3816
      ⋮

Перемежайте символы с помощью метода Такэситы-Костелло. Установите мультипликативный коэффициент, k, до нечетного целого числа, меньшего, чем numи циклический сдвиг, h, на неотрицательное целое число, меньшее, чем num.

k = 3;
h = 4;
intdata = algintrlv(data,num,'takeshita-costello',k,h)
intdata = 16×3

    0.9572    0.6555    0.1869
    0.2785    0.8491    0.9502
    0.1576    0.7431    0.7655
    0.0975    0.0357    0.3171
    0.8147    0.4218    0.2769
    0.1270    0.7922    0.0971
    0.9058    0.9157    0.0462
    0.9575    0.6787    0.4387
    0.5469    0.9340    0.0344
    0.1419    0.0318    0.6463
      ⋮

Отмените перемежение символов для получения исходного порядка.

deintdata = algdeintrlv(intdata,num,'takeshita-costello',k,h)
deintdata = 16×3

    0.8147    0.4218    0.2769
    0.9058    0.9157    0.0462
    0.1270    0.7922    0.0971
    0.9134    0.9595    0.8235
    0.6324    0.6557    0.6948
    0.0975    0.0357    0.3171
    0.2785    0.8491    0.9502
    0.5469    0.9340    0.0344
    0.9575    0.6787    0.4387
    0.9649    0.7577    0.3816
      ⋮

Ссылки

[1] Хигард, Крис и Стивен Б. Викер, Turbo Coding, Boston, Kluwer Academic Publishers, 1999.

[2] Такешита, О. Я., и Д. Дж. Костелло, младший, «Новые классы алгебраических перемежителей для турбокодов», Proc. 1998 IEEE Международный симпозиум по теории информации, Бостон, 16-21 августа 1998 года. с. 419.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

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