- •Глава 8. Основы теории кодирования
- •8.2. Согласование источника с каналом по объемам алфавитов. Теоремы кодирования шеннона и потенциальные возможности системы передачи информации
- •8.2.1.Теорема Шеннона для дискретного канала связи без помех
- •8.2.2. Теорема Шеннона для дискретного канала связи с помехами
- •8.2.3. Теорема Шеннона для непрерывного канала связи
- •8.3. Основы экономного кодирования
- •8.3.1 Принципы экономного кодирования. Цель сжатия данных и типы систем сжатия
- •8.3.2. Префиксные коды
- •Избыточность кода Хаффмена
- •8.3.4. Код Шеннона-Фано
- •8.3.5. Неравномерное кодирование для последовательности сообщений
- •8.3.6. Арифметическое кодирование
- •Кодирование
- •Декодирование
- •8.3.7. Словарные методы сжатия
- •Кодирование
- •Декодирование
- •8.4. Основы помехоустойчивого кодирования
- •8.4.1 Принципы обнаружения и исправления ошибок
- •8.4.2. Классификация помехоустойчивых кодов
- •8.4.3. Основные характеристики помехоустойчивых кодов
- •8.4.4. Границы вероятности ошибочного декодирования
- •8.5. Блочные линейные коды
- •8.5.1. Математическое описание процессов кодирования и декодирования
- •8.5.2. Коды с проверкой на четность
- •8.5.3 Коды Хэмминга
- •8.5.4. Коды с постоянным весом
- •8.5.5. Циклические коды
- •1. Способы декодирования с обнаружением ошибок
- •2 Способы декодирования с исправлением ошибок
- •8.6. Непрерывные коды
- •8.6.1 Идея построения непрерывного кода Финка–Хегельбергера
- •8.6.2. Сверточные коды
- •8.6.3. Представление сверточных кодов с помощью многочленов
- •8.6.4. Графическое представление сверточных кодов
- •8.6.5. Методы декодирования сверточных кодов
- •8.6.6. Схемное построение декодера Витерби
- •8.7. Методы борьбы с ошибками
- •8.7.1. Системы с обратной связью
- •8.7.2. Формат кадра протоколов с обнаружением ошибок
- •8.7.3. Методы повторной передачи (arq)
- •8.7.4. Основные характеристики систем с решающей обратной связью
- •8.7.5. Показатели эффективности цифровой системы связи
8.6.6. Схемное построение декодера Витерби
Обобщенная структурная схема декодера, работающего по алгоритму Витерби, показана на рис. 8.36. Для каждого такта работы, соответствующего приему кодовых символов, полученных за один цикл опроса коммутатора кодера, вычислитель метрики ребер (BMP) вычисляет правдоподобие ребер, сливающихся в каждом узле. Например, в случае двоичного симметричного канала с жесткими решениями он вычисляет Хеммингово расстояние между каждым из путей, сливающихся в любом узле, и соответствующей последовательностью принимаемых кодовых символов, поступивших с выхода первой решающей схемы приемника, выносящей жесткие решения о значении каждого принимаемого кодового символа.
Вычислитель метрики путей (ВМП), для каждого из путей, выживших на предыдущем такте декодирования и хранимых в ЗУ путей, осуществляет следующие операции: вводит каждый из этих путей в аналог кодера, где генерируются 2его возможных продолжений; вычисляет правдоподобие каждого из этих продолжений, для чего суммирует метрики выживших путей, хранимые в ЗУ метрики путей, с новыми вычисленными значениями метрик ребер; заносит вновь полученные пути в ЗУ путей, а их метрики — в ЗУ метрики путей, а затем отбирает из них пути, каждый из которых максимально правдоподобен для одного из узлов и сохраняет его в ЗУ путей, а его метрику — в ЗУ метрики путей. Затем эта же последовательность операций повторяется для следующего такта работы и т. д.
Важным достоинством декодера Витерби является то, что когда в результате воздействия шумов в канале связи или по другим причинам при декодировании сделана ошибка в выборе пути на решетчатой диаграмме кода, т. е. выбран неправильный путь, то за несколько тактов, в течение которых могут происходить ошибки при декодировании, декодер вновь выходит на правильный путь.
Это позволяет начать процесс декодирования с любого момента времени, не заботясь о взаимной синхронизации кодера и декодера по началу работы. Действительно, отсутствие такой синхронизации эквивалентно нахождению декодера на неправильном пути по решетчатой диаграмме кода. В силу этого свойства декодер, начав декодирование в произвольный момент, через несколько тактов сам выйдет на правильный путь, автоматически установив указанную синхронизацию.
8.7. Методы борьбы с ошибками
8.7.1. Системы с обратной связью
При передаче данных по каналам связи всегда возникают ошибки. Причины их могут быть самые различные, но результат оказывается один — данные искажаются и не могут быть использованы на приемной стороне для дальнейшей обработки. Борьба с возникающими ошибками ведется на разных уровнях семиуровневой модели OSI (в основном на первых четырех). Для борьбы с возникающими ошибками известно много различных способов. Все их можно подразделить на две группы: не использующие обратную связь и использующие обратную связь.
В первом случае на передающей стороне передаваемые данные кодируются одним из известных кодов с исправлением ошибок. На приемной стороне, соответственно, производится декодирование принимаемой информации и исправление обнаруженных ошибок. Исправляющая возможность применяемого кода зависит от числа избыточных битов, генерируемых кодером. Если вносимая избыточность невелика, то есть опасность того, что принимаемые данные будут содержать необнаруженные ошибки, которые могут привести к ошибкам в работе прикладного процесса. Если же использовать код с высокой исправляющей способностью (большой избыточностью), то это приводит к необоснованно низкой реальной скорости передачи данных.
Нередко встречаются случаи, когда информация может передаваться не только от одного корреспондента к другому, но и в обратном направлении.
В таких условиях появляется возможность использовать обратный поток информации для существенного повышения верности сообщений, переданных в прямом направлении. При этом не исключено, что по обоим каналам (прямому и обратному) в основном непосредственно передаются сообщения в двух направлениях («дуплексная связь») и только часть пропускной способности каждого из каналов используют для передачи дополнительных данных, предназначенных для повышения верности.
Возможны различные способы использования системы с обратной связью в дискретном канале. Обычно их подразделяют на два типа: системы с информационной обратной связью и системы с управляющей обратной связью.
Системами с информационной обратной связью называются такие, в которых с приемного устройства на передающее поступает информация о том, в каком виде принято сообщение. На основании этой информации передающее устройство может вносить те или иные изменения в процесс передачи сообщения: например, повторить ошибочно принятые отрезки сообщения, изменить применяемый код (передав предварительно соответствующий условный сигнал и убедившись в том, что он принят), либо вообще прекратить передачу при плохом состоянии канала до его улучшения.
В системах с управляющей обратной связью приемное устройство на основании анализа принятого сигнала само принимает решение о необходимости повторения, изменения способа передачи, временного перерыва связи и передает об этом приказание передающему устройству. Возможны и смешанные методы использования обратной связи, когда в некоторых случаях решение принимается на приемном устройстве, а в других случаях на передающем устройстве на основании полученной по обратному каналу информации.
Простейшим по идее методом информационной обратной связи является метод полной обратной проверки и повторения (ОПП). В системах с информационной обратной связью передача информации осуществляется без помехоустойчивого кодирования. При этом принятый сигнал полностью ретранслируется на передающее устройство, где каждая принятая кодовая комбинация сверяется с переданной. В случае их несовпадения передающее устройство передает сигнал для стирания неправильно принятой комбинации, а затем повторяет нужную комбинацию. В качестве сигнала для стирания применяют специальную кодовую комбинацию, не используемую при передаче сообщения.
Функциональная схема такой системы показана на рис. 8.37. Передаваемое сообщение, закодированное примитивным кодом, посылают в канал и одновременно записывают в запоминающем устройстве (накопителе). Принятая кодовая комбинация сразу не декодируется, запоминается в приемном накопителе и возвращается по обратному каналу на передающую сторону, где она сравнивается с переданной комбинацией. Если они совпадают, то передается следующая кодовая комбинация, в противном случае передается сигнал стирания.
При этом методе окончательный ошибочный прием кодовой комбинации возможен лишь тогда, когда ошибки в принятой комбинации компенсируются ошибками, возникающими в канале обратной связи. Другими словами, для того чтобы некоторый символ в переданной кодовой комбинации был окончательно принят ошибочно, необходимо и достаточно, чтобы, во-первых, произошла ошибка в прямом канале и, во-вторых, при ретрансляции произошла такая ошибка, которая изменит неправильный ретранслируемый символ на действительно переданный. Это позволяет сразу вычислить вероятность необнаруженной, а следовательно, и неисправленной ошибки (в расчете на один символ):
,
где — вероятность ошибки в прямом канале; — вероятность противоположной ошибки в канале обратной связи.
Следовательно, если ивелики, то система с полной ретрансляцией дает неудовлетворительные результаты. Практически данный метод имеет смысл в тех случаях, когда канал обратной связи обеспечивает весьма высокую верность (например, при передаче сообщений на спутник с Земли), а прямой канал имеет низкую верность (например, при передаче сообщений со спутника на Землю ввиду того, что мощность передатчика на спутнике мала). Существенным недостатком системы с полной ретрансляцией является большая загрузка канала обратной связи. Существуют и более сложные системы с информационной обратной связью, в которых используются помехоустойчивые коды.
Наиболее распространены системы с управляющей обратной связью (УОС) при использовании избыточных кодов для обнаружения ошибок (рис. 8.38). Такие системы часто называют системами с переспросом, или с автоматическим запросом ошибок, или с решающей обратной связью (РОС).
В большинстве случаев это системы дуплексные, т.е. информация в них передается в обоих направлениях. В кодере передаваемое сообщение кодируется кодом, позволяющим с большой вероятностью обнаруживать возникающие в канале ошибки. Принятый кодовый блок декодируется с обнаружением ошибок. Если ошибки не обнаружены, то декодированный отрезок сообщения поступает к получателю. При обнаружении ошибок блок бракуется и по обратному каналу передается специальный «сигнал переспроса». В большинстве систем этот сигнал представляет собой специальную кодовую комбинацию, на время передачи которой прерывается поток информации, идущей по обратному каналу. Прием сигнала переспроса вызывает повторение забракованного блока, который для этого хранится в накопителе-повторителе до тех пор, пока по обратному каналу не будет принята очередная кодовая комбинация, не содержащая переспроса.
В системах с решающей обратной связью применяются процедуры обнаружения ошибок и переспроса также называемые решающей обратной связью или обнаружением ошибок с автоматическим запросом повторения (АЗП, ARQ — Automatic Repeat Request). В этом случае код применяется только в режиме обнаружения ошибок, что позволяет достичь очень низкой вероятности необнаруженной ошибки при незначительном уровне вводимой избыточности.
Для реализации механизма ARQ передаваемые данные организуются в специальные блоки, которые называются кадрами.