2.4. Дискретные каналы с шумами. Помехоустойчивые кодыВ дискретном канале с шумами принятый символ Рассмотрим различные последовательности
а среднее количество информации Пусть на вход дискретного канала поступает
то он представляет скорость передачи информации по каналу. Пропускной способностью канала является верхняя грань В частности, для постоянного канала
Вычисление пропускной способности даже для постоянных каналов в общем случае является довольно трудной задачей. Что касается каналов с памятью, то далеко не всегда их пропускная способность вообще может быть определена, поскольку не всегда существует математическое ожидание выражения (2.19) или предел (2.20). Тем не менее для дискретных отображений реальных каналов связи обычно удается построить математические модели в виде информационно устойчивых, т. е. имеющих определенную пропускную способность дискретных каналов. В частности, такими моделями служат каналы с ограниченной памятью, в которых переходные вероятности зависят только от конечного отрезка предыдущей последовательности символов [7], или каналы, описываемые конечным числом состояний, если текущее состояние можно определить по предыдущему состоянию и последнему переданному символу [8]. Согласно теореме Шеннона, сообщения источника с управляемой скоростью можно закодировать так, чтобы передавать их сколь угодно точно по дискретному каналу со скоростью Заметим, что пропускная способность дискретного канала мым. Если не считать модулятор и демодулятор заданными, то можно в принципе произвести кодирование сообщения для непрерывного канала и передавать его сколь угодно точно со скоростью, сколь угодно близкой к Из задачи кодирования в дискретном канале развилась теория помехоустойчивых кодов. Не имея возможности изложить эту теорию подробно, ограничимся лишь ее основными положениями и некоторыми результатами, которые будут даны без доказательств, поскольку в настоящее время существует достаточно обширная монографическая литература, относящаяся к двум основным направлениям — вероятностной [9, 10] и алгебраической [11, 12] теории кодирования. Сущность помехоустойчивого кода покажем на примере блочных кодов, отличающихся тем, что с каждым элементарным сообщением или с каждой последовательностью из определенного числа элементарных сообщений сопоставляется блок из При передаче по каналу с шумами некоторые кодовые символы будут приниматься ошибочно, в результате чего принятая кодовая комбинация будет отличаться от переданной. Если принятая с ошибками кодовая комбинация окажется одной из разрешенных, то ошибки не будут обнаружены и полученное в результате декодирования сообщение будет отличаться от переданного. Однако, если Возможны два основных метода декодирования при использовании помехоустойчивых кодов, декодирование с обнаружением ошибок и декодирование с исправлением ошибок. При первом методе принятая запрещенная кодовая комбинация не преобразуется в сообщение и заключенная в ней информация либо полностью теряется, либо восстанавливается путем повторной передачи или какими-либо иными методами. В ряде систем связи по условиям их применения очень важно не выдавать получателю ложных сообщений, тогда как потеря отдельных сообщений не так страшна. Применяя декодирование с обнаружением ошибок, можно сравнительно простыми средствами уменьшить вероятность приема ложного сообщения до любой заданной величины и добиться практически полной верности декодированных сообщений ценой отбраковки значительного числа кодовых комбинаций с обнаруженными ошибками. Декодирование с обнаружением ошибок нашло широкое применение в системах связи с переспросом, в которых наличие обратной связи позволяет восстановить информацию, содержавшуюся в принятых запрещенных комбинациях. Эти системы будут подробно рассмотрены в гл. 11. При декодировании с исправлением ошибок принятые запрещенные кодовые комбинации преобразуются декодером (второй решающей схемой) в сообщение по некоторым правилам, установленным для данной системы связи. Эти правила определяются в соответствии с выбранным статистическим критерием. В частности, если в основу правил декодирования положен критерий идеального наблюдателя, то они обеспечивают наименьшую возможную в данных условиях вероятность ошибочного декодирования. Чаще правила декодирования основываются на критерии максимального правдоподобия, который совпадает с критерием идеального наблюдателя, если все разрешенные кодовые комбинации поступают на вход канала с одинаковыми вероятностями и независимо друг от друга. Если это условие не выполнено, то вероятность ошибочного декодирования при критерии максимального правдоподобия будет несколько большей, чем при критерии идеального наблюдателя. Все же она может быть в принципе получена сколь угодно малой при достаточно большой длине блока
Заметим, что разрешенные кодовые комбинации становятся равновероятными и независимыми, если до применения корректирующего кода устранена избыточность сообщения методами, описанными в § 2.3. В этом случае энтропия, приходящаяся на кодовую комбинацию, равна Возможны также и смешанные методы декодирования, когда в одних случаях производится исправление ошибок, а в других — только их обнаружение. Применение корректирующего кода означает введение избыточности в последовательность кодовых символов, используемой для повышения верности приема. Величину избыточности можно вычислить, если учесть, что максимальная энтропия кодовой комбинации, содержащей
Величину Необходимая избыточность корректирующего кода может быть найдена из условия (2.22) с учетом (2.23):
где Очень важным является то обстоятельство, что сложность кодера и декодера обычно очень быстро возрастает с увеличением Учитывая, что из (2.23) следует С другой стороны, для получения высокой верности приема с помощью корректирующих кодов часто оказывается необходимым применять значения Как было показано в конце § 2.3, избыточность источника сообщений также позволяет исправлять ошибки в принятой кодовой последовательности. Тем не мене часто оказывается целесообразным применять такой метод кодирования, при котором вначале устраняется избыточность сообщения (методами декорреляции и оптимального кодирования неравномерным кодом), после чего полученные последовательности кодовых символов, не содержащие избыточности, перекодируются тем или иным из методов корректирующего кодирования. При этом вносится избыточность, которая используется для повышения верности принимаемого сообщения. В пользу такого двойного кодирования можно привести следующие доводы. Избыточность источника сообщений далеко не всегда соответствует свойствам канала и не может быть полностью использована для повышения верности, тогда как можно всегда выбирать наиболее согласованный с данным каналом корректирующий код. Большая часть предложенных корректирующих кодов позволяет производить обнаружение и исправление ошибочно принятых последовательностей с помощью относительно простых правил в процессе декодирования, в то время как избыточность источника сообщения часто обусловлена весьма сложными вероятностными зависимостями (например, заложенными в грамматических правилах) и позволяет обнаруживать ошибки только после декодирования. Основную роль при этом играет интуиция и догадка, так что формализовать процесс обнаружения и исправления ошибок не удается. Естественно, что когда непосредственным получателем сообщения является не человек, а машина (например, в автоматизированных системах управления), избыточность источника трудно использовать для повышения верности приема. Эта избыточность только вредна, так как без пользы занимает часть пропускной способности канала. Наоборот, сознательно внесенная при кодировании избыточность, согласованная со свойствами канала, позволяет повысить верность связи. Впрочем, в некоторых случаях избыточность сообщения может оказаться полезной и при передаче от машины к машине. Примером может служить система, передающая на вычислительную машину значения координат движущегося объекта в дискретные моменты времени. Пусть соседние отсчеты коррелированы друг с другом. Эта корреляция обусловливает избыточность сообщения и может быть использована для повышения верности. С этой целью применяется относительно простой помехоустойчивый код и декодирование производится с обнаружением ошибок. Отсчеты с обнаруженными ошибками отбрасываются и восстанавливаются путем интерполяции по соседним отсчетам.
|