Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПДС с поиском.doc
Скачиваний:
270
Добавлен:
15.03.2015
Размер:
17.88 Mб
Скачать

9.3.1. Коды с постоянным весом

Коды с постоянным весом наиболее известны из класса кодов для асимметричных каналов. Наиболее широкое применение нашли семиэлементные и восьмиэлементные коды с соотношением единиц и нулей равными 3/4. и 4/4 соответственно. Эти коды являются неразделимыми.

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

Рассмотрим несколько подробнее семиэлементный код. Последовательности длины п=7 образуют различных кодовых комбинаций. Из этого числа комбинаций в качестве разрешенных используются комбинации с весом 3 (или 4), число которых равно. Минимальное расстояние в таком коде равноdmin=2. Однако при применении в качестве устройства обнаружения ошибок схемы “взвешивания” принятой кодовой комбинации обнаруживаются все ошибки, за исключением ошибок транспозиции элементов.

Поскольку в идеальном асимметричном канале вероятность таких ошибок равна нулю, то код

в таком канале обнаруживает все возможные ошибки, т.е. является оптимальным.

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

Например, испытания радиорелейного канала при N=100 Бод для различных видов манипуляции дали следующие вероятности искажения кодовой комбинации и вероятности транспозиции элементов в искаженных комбинациях:

ЧМ:

ОФМ:

Поскольку для кодов с постоянным весом , то значительно эффективнее применение таких кодов в каналах с ЧМ.

9.3.2. Коды Бергера

Бергер предложил разделимые коды, обнаруживающие все ошибки в идеальном асимметричном канале [2]. В каждой кодовой комбинации длины n m элементов являются проверочными. Проверочные элементы формируются по следующему принципу: подсчитывается число единиц в информационных разрядах и записывается в виде m разрядного двоичного числа, которое инвертируется, и полученный результат приписывается в качестве избыточности к кодовой комбинации простого кода.

Таким образом, m равно наименьшему целому числу, превышающему , т.е.. Коды Бергера, образованные подобным образом, обозначают

Например, рассмотрим процесс формирования комбинации кода Бергера для комбинации простого кода 011010. Число 1 в этой комбинации равно 3 – в двоичной записи 011. Инвертированное число (100) и приписывается в качестве проверочных элементов к комбинации простого кода: 100011010. Это и есть искомая комбинация.

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

9.4 Каскадные коды

9.4.1. Принципы построения каскадных кодов

Каскадные коды строятся по принципу поэтапного применения двух или более процедур кодирования к последовательности передаваемых информационных символов. При этом символами кода последующего этапа (ступени) кодирования являются слова кода предыдущей ступени. Процедура кодирования двоичным каскадным кодом сводится к следующему. Последовательность двоичных символов передаваемого сообщения разбивается на K k-элементных блоков. Каждый k-элементный блок рассматривается как символ нового k -ичного алфавита, например, как элемент поля GF(2k), и подлежит кодированию (N, K) k -ичным кодом. В результате реализации процедуры кодирования (N, K)-кодом к К k-элементным блокам добавляется N – K избыточных k-элементных блоков, или элементов GF(2k). Очевидно, что эти избыточные символы имеют представление в виде k-элементных двоичных последовательностей. (N, K)-код получил название кода второй ступени или внешнего кода. Затем каждый из N k-элементных символов внешнего кода кодируется двоичным (n, k)-кодом первой ступени.

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

В теории кодирования доказано, что построенный указанным способом каскадный код является линейным и его кодовое расстояние Dkне меньше, чем произведение кодовых расстояний внешнего (D) и внутреннего (d)кодов: Dk ≥ D∙d.

Структура системы каскадного кодирования представлена на рис.9.2. Двоичная информационная последовательность, подлежащая кодированию каскадным кодом, поступает во внешний кодер, где разбивается на k-элементные блоки, каждый из которых рассматривается внешним кодером какk-ичный символ в двоичном представлении. Для каждыхKтакихk-ичных символов внешний кодер формирует N – Kизбыточных k-ичных символов, т. е.k-элементных блоков. Информационные и избыточныеk-элемент­ные блоки затем поступают во внутренний кодер, где преобразуются в кодовые комбинации двоичного (n,k)-кода.

Блок длины nпередается по каналу и поступает во внутренний декодер. Поток данных, поступающий на выход внутреннего декодера, состоит изk-элементных блоков, которые рассматриваются внешним декодером как символы (N,K)-кода. На выходе внешнего декодера формируютсяKk-элементных блоков, поступающих к потребителю информации.

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

Каскадные коды позволяют реализовать достаточно большое кодовое расстояние, поэтому их применение на каналах с помехами эффективно.

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

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

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