Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
разное / Методы преобраз-я сигналов и помехоустойчивое кодир-е [Н.Ф.Рожков].doc
Скачиваний:
127
Добавлен:
15.06.2014
Размер:
2.36 Mб
Скачать

2.1 Классификация помехоустойчивых кодов

Классификация алгебраических кодов приведена на (рис.2.1)

Рис.2.1 Классификация алгебраических кодов

Все помехоустойчивые коды можно разделить на два основных класса : блоковые (групповые) и непрерывные (рекуррентные или цепные) .

В блоковых кодах каждой букве сообщения (или последовательности из информационных символов , соответствующего этой букве) ставится в соответствие кодовая комбинация или блок , состоящий из m- символов . Блоки кодируются и декодируются отдельно друг от друга . Блоковый код называют равномерным , если n остается постоянным для всех букв сообщения . Неравномерные коды не получили широкого распространения . Как блоковые , так и непрерывные различают на разделительные и неразделимые коды . При кодировании разделимыми кодами выходные последовательности состоят из символов , роль которых может быть отчетливо разграничена . Одни символы являются информационными , другие проверочными и служат для обнаружения и исправления ошибок . Разделимые блочные коды обычно называются n , k - кодами, где n - длина кодовых комбинаций , k - число информационных символов в комбинациях . Тогда число избыточных символов m можно определить как m=n-k.

При кодировании неразделимыми кодами разделить символы выходной последовательности на информационные и проверочные (избыточные) невозможно . Этот класс кодов пока немногочислен .

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

Разделимые блоковые коды , в свою очередь ,делятся на систематические и несистематические . Несистематические разделимые коды строятся таким образом , что проверочные символы определяются как сумма подблоков длины L , на которые разделяются блок информационных символов .

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

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

2.2 Блоковые коды основные принципы использования избыточности

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

Дадим некоторые характеристики кодовых комбинаций . Количество разрядов n в кодовой комбинации принято называть длиной или значностью кода . Символы каждого разряда могут принимать значения 0 или 1 . Количество единиц в кодовой комбинации называется кодовой комбинацией ω .

Например , кодовая комбинация 0110110 характеризуется значением n=7 и весом ω=4 .

Степень отличия любых двух кодовых комбинаций по весам характеризуется кодовым расстоянием и определяется как сумма по модулю два :

1001011

+0110110

1111101

Полученная в результате суммирования новая комбинация характеризуется весом ω=6 . Следовательно кодовое расстояние d=6 .

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

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

Экспериментальные исследования каналов связи показали , что ошибки символов при передачи по каналу связи , как правило , группируются в пачки различной длительности [11] . Под пачкой ошибки понимают участок последовательности символов , начинающийся ошибочно принятыми символами . Внутри пачки могут быть приняты и правильно принятые символы .

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

Как уже отмечалось , что помехоустойчивость кодирования обеспечивается за счет введения избыточности в кодовые комбинации . Это значит , что из n символов для передачи используется только k<n символов . Следовательно , из общего числа N0 = 2n возможных кодовых комбинаций используется только N0 = 2k . В соответствии с этим все множество N0 = 2n делится на две группы . В первую группу входит N = 2k - разрешенных (информационных) комбинаций , а во вторую (N0-N) = 2n - 2k запрещенных (избыточных) . Искажение информации в процессе передаче сводится к тому , что некоторые из передаваемых заменяются другими - неверными . Следовательно , каждая из N разрешенных комбинаций может трансформироваться в любую другую . Всего таких переходов может быть N * N0 = 2k * 2n случаев передачи (рис.2.2) из них :

A1 B1

Ai Bi

Aj Bj

A2k B2n

Рис.2.2 Возможные трансформации разрешенных кодовых комбинаций при прохождении по каналу связи с помехами

а) N = 2k безошибочной передачи (на рис. 2.2 обозначены жирными линиями)

б) N(N-1) = 2k(2k - 1) случаев перехода в другие разрешенные комбинации , что соответствует не обнаруживаемым ошибкам (на рис.2.2 обозначены пунктирными линиями) .

в) N(N-1) = 2n(2n - 2k) случаев перехода в запрещенные комбинации , которые могут быть обнаружены (на рис. 2.2 обозначены сплошными нежирными линиями) .

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

(2.1)

Например , рассмотрим обнаруживающую способность кода , каждая кодовая комбинация которого содержит всего один избыточный символ (n=k+1) .

Общее число выходных последовательностей составит 2к+1, т.е. вдвое больше общего числа кодируемых входных последовательностей. За подмножество разрешенных кодовых комбинаций можно принять, например, последовательность 2n комбинаций, содержащих четное число единиц (или нулей).

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

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

(2.2)

Для использования данного кода в качестве исправляющего множество запрещенных комбинаций разбивается на N непересекающихся подмножеств Mi, каждое из которых ставится в соответствие одной из разрешенной кодовой комбинации Ai. Ошибка будет исправлена в тех случаях, когда полученная кодовая комбинация действительно образовалась из комбинации Ai ,т.е. в 2n-2k случаях, равных количеству запрещенных комбинаций.

Всего количество случаев перевода в запрещенные кодовые комбинации составляет 2k(2n-2k). Таким образом, при наличии избыточности любой код способен исправлять ошибки.

Доля исправленных ошибочных комбинаций от общего числа обнаруживаемых искажений составит:

. (2.3)

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

Большинство разработанных кодов предназначены для корректирования взаимно независимых ошибок определенной кратности и пачек (пакетов) ошибок.

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

При взаимно независимых ошибках вероятность искажения r символов в n-разрядной кодовой комбинации, в соответствии с основным биноминальным законом распределения, равна

(2.4)

где - число сочетаний ошибок кратности r и общего числа передаваемых символов n;

(1-Рэ) – вероятность правильного приёма символа;

(1-Рэ)n-r – вероятность того, что n-r символов будут приняты правильно;

Рэ - вероятность искажения одного символа.

Если учесть, что Рэ<<1, то в этом случае наиболее вероятны ошибки низшей кратности. Их следует обнаруживать и исправлять в первую очередь.