Скачиваний:
0
Добавлен:
21.03.2026
Размер:
272.63 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра РС

отчет

по лабораторной работе №5

по дисциплине «Основы построения инфокоммуникационных систем»

Тема: СВЕРТОЧНЫЕ КОДЫ

Студент гр. 0182

Матросов Р.М.

Преподаватель

Маркелов О.А.

Санкт-Петербург

2023

Цель работы: Ознакомление со сверточным кодированием и декодированием по методу Витерби.

Теоретические материалы:

Сверточные коды относятся к классу непрерывных или древовидных кодов.

Сверточными кодами являются непрерывные коды, которые обладают дополнительными свойствами линейности и постоянства во времени.

Термин "сверточные коды" объясняется тем, что кодовое слово можно рассматривать как отклик (свертку) линейной системы (кодера) при подаче на вход информационной последовательности. Поэтому сверточные коды являются линейными, у которых проверочные символы связаны с информационными линейными соотношениями.

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

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

Скорость R этого сверточного кода определяется по формуле:

R = ko /no.

Величина n = mno называется длиной кодового ограничения, которая показывает число позиций между информационным символом и максимально удаленным зависимым от него проверочным символом.

Как и блоковые, сверточные коды делят на систематические и несистематические.

Систематическим сверточным кодом называется код, в котором каждый кадр информационных символов составляет первые ko символов первого из тех кадров кодовой последовательности, на которые влияет данный кадр информационных символов.

Иначе говоря в систематическом коде известны позиции с информационными и проверочными символами.

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

Декодирование сверточных кодов

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

В основе алгебраических методов лежат те же принципы, что и для блоковых кодов. Предположим, что принята бесконечная последовательность Y, состоящая из кодового слова и вектора ошибки: Y = S + E.

Точно так же, как и в случае блоковых кодов, можно вычислить синдром:

,

где H - проверочная матрица сверточного кода. В отличие от блоковых кодов, в этом случае синдром имеет бесконечную длину. Декодер не просматривает весь синдром однократно, а вычисляет компоненты S по мере их поступления, исправляя ошибки, и сбрасывая те компоненты S, которые вычислены давно. Декодер содержит таблицу сегментов синдромов и сегментов конфигураций шума, которые приводят к данным конфигурациям ошибок. Когда декодер находит в таблице полученный сегмент синдрома, он исправляет начальный сегмент кодового слова.

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

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

  1. Свёрточное кодирование

Необходимо промаркировать рёбра кодовой решётки. Затем необходимо получить кодовое слово из десяти символов

Рис.1 – кодовая решётка и полученная кодовая комбинация

Информационные символы: 11110

Кодовая комбинация: 1101101001

2. Декодирование по алгоритму Виттерби

Необходимо декодировать несколько символов из четырёх принятых последовательностей с различными конфигурациями ошибок. Для этого придётся выполнить некоторые функции декодера: расчёт расходимостей; удаление ненужных путей; вычисление информационных символов.

1 комбинация

Рис.2 – принятие последовательности

Рис.3 – расчёт расстояния по Хеммингу

Рис.4 – удаление ненужных рёбер

Затем принимаем ещё одну часть последовательности, для которой аналогично выполняем расчёт расстояния по Хэммингу и удаляем ненужные рёбра. В дальнейшем расчёт происходит автоматически. В результате получено 6 символов:

Рис.5 – результат декодирования

Принятая кодовая комбинация не содержала ошибок, поэтому при декодировании не было неопределённостей и полученное информационное сообщение совпало с переданным.

2 комбинация

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

Рис.6 – результат декодирования

При декодировании принятой комбинации конфигурация путей в окне декодирования была более запутанной. Это связано с наличием ошибок в принятом сообщении. Тем не менее декодер успешно справился с этой задачей, так как ошибка была малой кратности. Поэтому при определении переданных информационных символов не возникло неопределенностей и декодированное сообщение совпало с переданным.

3 комбинация

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

Рис. 7 – результат декодирования

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

4 комбинация

Необходимо придумать вектор ошибки, длиной 32 символа, не обнаруживаемый декодером: 10001000000000000000000000000000

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

Рис. 8 – результат декодирования

Вывод

В ходе данной практической работы рассматривалось сверточное кодирование и декодирование по методу Витерби. Декодирование было произведено для различных кратностей ошибок. Для последовательности 2 – декодер исправил ошибку, для 3 последовательности – обнаружил, смог исправить из-за того, что случайным образом выбрал правильно переданный символ. Для последней последовательности был создан вектор ошибки, которую декодер не смог бы обнаружить. В итоге проблем с декодированием не произошло, и полученная последовательность совпала с исходной, но благодаря тому, что декодер случайно правильно выбрал правильно переданный символ.

Соседние файлы в предмете Основы построения инфокоммуникационных систем и сетей