Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Быстрое декодирование кодов Голда



Пусть - матрица размера 22k× n, строками которой являются нулевая последовательность и все последовательности Голда; А - матрица, получен­ная из преобразованием 0→1 1→-1;M1 и М2 - последовательности максимальной длины с проверочными полиномами h1(X) и h2(X), выбран­ные для образования кода Голда. Обозначим К1 и К2 соответствующие коды максимальной длины. Каждый код состоит из нулевой последовательности и всех циклических перестановок последовательности максимальной длины. Ансамбль последовательности Голда является прямым произведением мно­жеств K1 и К2.

Упорядочим эти последовательности в матрице следующим образом. В строках с номерами 1, 2k ∙ j +1,j=1,2,…,2K-1, разместим слова кода К1 в порядке возрастания информационной части (первые k символов), т.е. в пер­вой строке запишется слово из нулей A0 в строке с номером 2K+1 - слово A1, первые k символов которого образуют число 1, а в строке с номером 2*2+1 - слово А2, первые к символов которого образуют число 2, и т.д. Эти строки называют образующими. В остальных строках матрицы запишем суммы по модулю два элементов кода К2 с соответствующей образующей строкой Аj. Построенная таким образом матрица имеет следующий вид:

Матрица представляет собой разложение кода Голда на смежные клас­сы по подкоду К2.

Для реализации декодирования кодов Голда по методу максимального правдоподобия необходимо вычислить векторно-матричное произведение.

Для реализации декодирования кодов Голда по методу максимального правдоподобия необходимо вычислить векторно-матричное произведение (ВМП) кодовой матрицы и входного вектор-сигнала. Для декодирования ко­дов Голда применяют два алгоритма вычисления ВМП, которые различают­ся по способу факторизации кодовой матрицы.

Переставим столбцы матрицы при помощи подстановки и по­лучим матрицу Адамара. Известно, что для матриц Адамара справедливо ре­куррентное соотношение

Из чего следует, что матрицу А можно представить в виде:

где В1 - матрица размера 22к-1х(2k-1-1), а В2 - матрица размером

22k-1х2k-1. Эта процедура деления может быть продолжена рекурсивно с матрицами B1 и В2.

Разобьем вектор входного сигнала на две части X = (Х12)T, где Х1 имеет длину 2k-1-1, a X2 - длину 2k-1. Тогда:

Y = А∙X = (В1Х1 + В2Х21Х1 - В2Х2)T.

Если известны произведения В1Х1, В2Х2, то для вычисления АХ гре- буется выполнить 2k операций. Эти вычисления сводятся к умножению вектора Yk-1 = (В1Х12Х2)T на матрицу:

Ск = Н2⨂I2⨂.... ⨂I2,

где I2 - единичная матрица порядка два, а знак ⨂обозначает прямое произ­ведение матриц. Для вычисления произведения В1Х1 и B2X2 можно снова воспользоваться структурными свойствами матриц В1 и В2, а именно:

Блок I1 имеет размер 22k-2 х(2к-2-1), а блоки l 2, q1,q2 - размер

22k-2x2k-2. Аналогично предыдущему выполнение этих операций эквива­лентно умножению на матрицу:

Ск-1 = I2 ⨂Н2 ⨂I2 ⨂....⨂I2.

Эта итеративная процедура закончится на i-м шаге, где i равно мини­мальному решению неравенства 2k-i≥2k-i

Неравенство определяет размер блочных подматриц, на которые делит­ся матрица А.. Блоки первого столбца имеют размер 22к-iх(2k-i -1), а ос­тальные блоки - размер 22k-iх2k-i. Все они образуются первыми 22k-i стро­ками матрицы А. Число различных блоков равно 2i. Обозначим их γ01,…,γ2i-1. Характерной чертой матриц γj,j=1,..., 2i-1, является то, что

в своих строках они содержат либо полный код, либо часть слов полного ко­да с повторениями. Поэтому умножение на эти матрицы не сложнее, чем ум­ножение на матрицу полного кода.

Исходная матрица теперь может быть записана в следующей факторизованной форме:

Умножение вектора на любую их матриц γj не сложнее, чем умноже­ние на матрицу полного кода. Поэтому количество операций для вычисле­ний не превышает 22ks(2k-i), где s(2k-i)≈0.5.


39. Код с проверкой на четность итеративные коды.

Код с проверкой на четность

1. Такой код образуется путем добавления к передаваемой комбинации, состоящей из к информационных символов неизбыточного кода, одного контрольного символа (0 или 1), так чтобы общее число единиц в передаваемой комбинации было четным. Таким образом, общее число символов n в передаваемой комбинации:

n=k+ 1 В первом столбце приведены примеры

k m n = k+m
    11011 0 11011 1 00010 1 11101 0 11111 1

передачи отдельных комбинаций пятиразрядного двоичного кода на все сочетания (k - символы).

Во втором столбце к этим комбинациям приписывается контрольный символ 1, если сумма единиц в кодовой комбинации нечетная, или 0, если сумма единиц четная. В нашем примере длина исходной кодовой комбинации k =5 позволяет при таком числе разрядов передать N =25=32 кодовые комбинации. И хотя приписывание контрольного символа и увеличивает разрядность кода до n =6, число передаваемых комбинаций остается прежним. Поэтому общее число комбинаций.

N=2n-1

Таким образом, этот код обладает избыточностью, т.к. в нашем примере вместо N =26=64 комбинаций может быть послано только N =26-1=32 комбинаций.

В кодировании избыточности определяется отношением контрольных символов m к информационным k в одном слове:

(3-8)

Для пятиразрядного кода с проверкой на четность И=1/5. Очевидно, что чем длиннее кодовая комбинация, тем меньше избыточность и больше экономичность кода. Добавление контрольного символа увеличивает кодовое расстояние в передаваемых комбинациях от d =1 до dmin= 2.

На приемной стороне производится так называемая проверка на четность. В принятых комбинациях подсчитывается количество единиц: если оно четное, считается, что искажений не было. Тогда последний контрольный символ отбрасывается и записывается первоначальная комбинация. Очевидно, что четное число искажений такой код обнаружить не может, т.к. число единиц при этом снова будет четным.

В то же время этот код может обнаружить не только одиночные, но и тройные и пятерные ошибки и т.д. ошибки, т.е. любое возможное нечетное число ошибок, т.к. сумма единиц в принятой кодовой комбинации становится нечетной. Однако если велика вероятность появления многократных ошибок, такой код использовать нецелесообразно, т.к. несмотря на то, что можно обнаружить все слова с нечетным количеством ошибок, число кодовых комбинаций с четным числом ошибок окажется велико, и передача будет сопровождаться большими искажениями.

По изложенному принципу строится код с проверкой на нечетность.

2 итеративные коды






Дата публикования: 2015-01-26; Прочитано: 668 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.118 с)...