Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРИЯ ЦИФР СВЯЗИ ОТВ.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.59 Mб
Скачать

Структурная схема кодера циклического кода (9,5)

Полная структурная схема кодера приведена на следующем рисунке. Она содержит регистр задержки и рассмотренный выше формирователь проверочной группы.

Рассмотрим работу этой схемы

1. На первом этапе К1– замкнут К2 – разомкнут. Идет одновременное заполнение регистров задержки и сдвига информ. элементами (старший вперед!) и через 4 такта старший разряд в ячейке №4

2. Во время пятого такта К2 – замыкается а К1 – размыкается с этого момента в ФПГ формируется остаток. Одновременно из РЗ на выход выталкивается задержание информационные разряды.

За 5 тактов (с 5 по 9 включительно) в линию уйдут все 5-информационных элемента. К этому времени в ФПГ сформируется остаток

3. К2 – размыкается, К1 – замыкается и в след за информационными в линию уйдут элементы проверочной группы.

4. Одновременно идет заполнение регистров новой комбинацией.

Пример декодирования комбинации цк.

Положим, получена комбинация H(х)=111011010

Проанализируем её в соответствии с вышеприведенным алгоритмом.

Реализуя алгоритм определения ошибок, определим остаток от деления вектора соответствующего ошибке в старшем разряде Х8 на производяший полином P(x)=X4+X+1

X8 X2+X+1

X8+X5+X4 x4+x+1

X5+X4

X5+X2+X

X4+X2+X

X4+X+1

X2+1=R0(X)=0101

Разделим принятую комбинацию на образующий полином

Полученный на 9-м такте остаток, как видим, не равен R0(X). Значит необходимо умножить принятую комбинацию на Х и повторить деление. Однако результаты деления с 5 по 9 такты включительно будут такими же, значит необходимо продолжить деление после девятого такта до тех пор, пока в остатке не будет R0(Х). В нашем случае это произойдет на 10 такте, при повышении степени на 1. Значит ошибки во втором разряде.

Декодер циклического кода с исправлением ошибки

Если ошибка в первом разряде, то остаток R0(X)=10101 появления после девятого такта в ячейках ФПГ.

Если во втором по старшинству то после 10го; в третьем по старшинству то после 11го; в четвертом по старшинству то после 12го в пятом по старшинству то после 13го в шестом по старшинству то после 14го в седьмом по старшинству то после 15го в восьмом по старшинству то после 16го в девятом по старшинству то после 17го.

На 10 такте старший разряд покидает регистр задержки и проходит через сумматор по модулю 2.

Если и этому моменту остаток в ФПГ=R0(X), то логическая 1 с выхода дешифратора поступит на второй вход сумматора и старший разряд инвертируется.

В нашем случае инвертируется второй разряд на 11 такте.

17.

Сверточные коды используются для надежной передачи данных: видео, мобильной связи, спутниковой связи. Они используются вместе с кодом Рида Соломона и других кодах подобного типа. До изобретения турбо-кодов такие конструкции были наиболее действенными и удовлетворяли пределу Шеннона. Так же свёрточное кодирование используется в протоколе 802.11a на физическом MAC-уровне для достижения равномерного распределения 0 и 1 после прохождения сигнала через скремблер, вследствие чего количество передаваемых символов увеличивается в два раза и, следовательно, мы можем добиться благоприятного приема на принимающем устройстве.

Алгоритм Витерби реализует оптимальное (максимально правдоподобное) декодирование как рекуррентный поиск на ко­довой решетке пути, ближайшего к принимаемой последователь­ности. На каждой итерации алгоритма Витерби сопоставляются два пути, ведущих в данное состояние (узел решетки). Ближай­ший из них к принятой последовательности сохраняется для дальнейшего анализа как выживший, тогда как другой отбрасы­вается. Таким образом, если игнорировать случаи, когда оба конкурирующих пути равноудалены от принятой последователь­ности (о действиях в подобной ситуации см. ниже), число выжив­ших путей, сохраняемых в памяти, равно числу узлов 2т . Основ­ные операции алгоритма поясним для кода из примера 1.

Пусть передается нулевое кодовое слово, а в канале про­изошла трехкратная ошибка, так что принятая последователь­ность имеет вид 10 10 00 00 10 00 ... 00 .... Результаты поиска ближайшего пути после приема 14 элементарных блоков показа­ны на рис. 4.

На правой части рисунка видны четыре пути, ведущие в каж­дый узел решетки. Рядом проставлены метрики (хэмминговы рас­стояния этих путей от принятой последовательности на отрезке из 14 блоков). Метрика верхнего пути значительно меньше метрик нижних. Поэтому можно предположить, что верхний путь наиболее вероятен. Однако декодер Витерби, не зная следующих фрагмен­тов принимаемой последовательности, вынужден запомнить все четыре пути на время приема L элементарных блоков. Число L на­зывается шириной окна декодирования. Для уменьшения ошибки декодирования величину L следует выбирать достаточно большой, многократно превышающей длину кодового ограничения, что есте­ственно усложняет декодер. В данном случае L = 15.

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

На средней части рис. 4 видно, что все пути имеют общий отрезок (сливаются от 5-го до 12-го шага) и, следовательно, при­ем новых блоков не может повлиять на конфигурацию этого уча­стка наиболее правдоподобного пути. Поэтому декодер уже мо­жет принимать решение о значении информационных символов, соответствующих этим элементарным блокам.

Левая часть рисунка демонстрирует возможную ситуацию неисправляемой ошибки. Существует два пути с одинаковыми метриками. Декодер может разрешить эту неопределенность двумя способами: отметить этот участок как недостоверный или принять одно из двух конкурирующих решений (информационная последовательность равна 00000... или 10100...). Очевидно, что расширение окна декодирования не позволяет исправить такую ошибку. Ее исправление возможно при использовании кода с большей корректирующей способностью.

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

Для каждого узла нового столбца вычисляются расстояния между принятым блоком и маркировкой ребер, ведущих в данный узел.Полученные метрики ребер суммируются с расстоянием путей, которые они продолжают.

Из двух возможных путей оставляется путь с меньшей метрикой, а другой отбрасывается, так как следующие поступаю­щие блоки не могут изменить соотношения расстояний этих пу­тей. В случае равенства расстояний или случайно выбирается один путь, или сохраняются оба.В результате этих операций к каждому узлу нового столбца вновь ведет один путь. Например, пусть новый блок из канала равен 00. Рассмотрим продолжение пути к нижнему узлу решетки, в который можно попасть из состояния кодера 10 по ребру 01 или из состояния 11 по ребру 10 (см. рис.3). В обоих случаях рас­стояние этих ребер от принятого блока 00 равно 1. Однако сум­марное расстояние пути, продолженного из состояния 10, равно 6, а пути из состояния 11 равно 7. Поэтому второй путь будет от­брошен вместе с ребром 01, которое входило в нижний узел на предыдущем шаге декодирования (см. рис. 4).Оценка информационного символа производится по край­нему левому ребру пути в окне декодирования. Согласно правилу построения кодовой решетки принимается, что информационный символ равен 0, если это ребро верхнее, и 1, если ребро нижнее.Рассмотренный пример поясняет работу декодера в предположении, что выходной сигнал демодулятора квантуется на 2 уровня (так называемое жесткое декодирование). Большее число уровней квантования приводит к мягкому декодированию. Установлено, что 8 уровней квантования гарантируют практиче­ски потенциальную достоверность декодирования [45].Чтобы в этом случае использовать алгоритм Витерби, требуется вместо расстояния Хэмминга ввести новое расстояние, точнее учитывающее различие между принятой последовательностью (выходным многоуровневым сигналом демодулятора) Y и ожидаемым двоичным кодовым словом С. Например, можно использовать евклидово расстояние или расстояние.Дальнейшие операции алгоритма Витерби при мягком декодировании совпадают с операциями жесткого декодирования. Выигрыш мягкого декодирования составляет около 2 дБ. Так как сложность вычислений при этом возрастает незначительно, то мягкое декодирование широко ис-пользуется в современных системах мобильной связи.

18.