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) использует валлийский-Costas метод. В валлийском-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] Heegard, Крис, и Стивен Б. Викер, турбокодирование, Бостон, Kluwer академические издатели, 1999.

[2] Takeshita, O. Y. и Д. Дж. Костелло младший, “Новые Классы Алгебраического Interleavers для Турбокодов”, Proc. 1 998 IEEE Международный Симпозиум по Теории информации, Бостону, 16-21 августа 1998. p. 419.

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

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

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

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