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) использует метод Уэлча-Костаса. В методе Уэлча-Костаса num+1 должно быть простым числом. alph - целое число от 1 до num который представляет примитивный элемент конечного поля GF (num+1).

Чтобы использовать эту функцию как обратную algintrlv function, используйте одинаковые входы в обеих функциях, кроме 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] Heegard, Chris, and Stephen B. Wicker, Turbo Coding, Boston, Kluwer Academic Publishers, 1999.

[2] Takeshita, O. Y., and D. J. Costello, Jr., «Новые классы алгебраических перемежителей для турбокодов», Proc. 1998 IEEE International Symposium on Information Theory, Boston, 16-21 августа 1998 года. с. 419.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

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