Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория_информации.doc
Скачиваний:
64
Добавлен:
09.11.2019
Размер:
5.12 Mб
Скачать

3.3.3 Простейшие блоковые коды с обнаружением ошибок

1. Код на одно сочетание (или код с постоянным весом)

Как следует из названия кода, в каждой его кодовой комбинации, состоящей из n разрядов, содержится t единиц, причем t=const для всех комбинаций.

Мощность кода, т.е. число разрешенных комбинаций, равна числу сочетаний из n по t: .

Следовательно, коэффициент избыточности такого кода

.

В качестве примера кода на одно сочетание можно привести код «из 5 по 2», для которого и и d=2.

Разрешенные комбинации этого кода: 00011, 00101, 00110, 01001, 01010, 01100, 10001, 10010, 10100, 11000.

Из рассмотренного примера можно сделать вывод о том, что этот код является неразделимым.

Идея построения устройства, обнаруживающего ошибки при приеме такого кода, очевидна. Приемник (декодер) подсчитывает число единиц в принятой комбинации и, если оно оказывается отличным от заданного t, то фиксируется ошибка и реализуется т.н.защитный отказ в приеме ошибочной комбинации. Код на одно сочетание обнаруживает все ошибки нечетной кратности и часть ошибок четной кратности, а именно ту часть, которая приводит к нарушению условия t=const.

2. Разделимые коды с обнаружением ошибок

Из названного класса рассмотрим принципы образования и характеристики следующих кодов:

  1. код с проверкой паритета (на четность или нечетность),

  2. код с простым повторением,

  3. инверсный код,

  4. корреляционный код.

Правила образования этих кодов ясны из приводимой ниже таблицы.

N0

Примитивный безизбыточный код

Код с проверкой на нечетность

Код с простым повторением

Инверсный код

Корреляционный код

0

000

000 1

000 000

000 000

01 01 01

1

001

001 0

001 001

001 110

01 01 10

2

010

010 0

010 010

010 101

01 10 01

3

011

011 1

011 011

011 011

01 10 10

4

100

100 0

100 100

100 011

10 01 01

5

101

101 1

101 101

101 101

10 01 10

6

110

110 1

110 110

110 110

10 10 01

7

111

111 0

111 111

111 000

10 10 10

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

Этот код обнаруживает все ошибки нечетной кратности. Мощность кода Np = 2n-1. Коэффициент избыточности уменьшается с увеличением числа разрядов кодовой комбинации.

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

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

. (3.18)

Пусть, например, используется код с проверкой на нечетность и справедлива модель ошибок из примера 3.8., в котором рош = 0,44. Как было сказано, код с проверкой на нечетность обнаруживает все ошибки нечетной кратности, следовательно, вероятность появления необнаруженной ошибки (см.табл.в примере 3.8.) равна рн ош = р5,2 + р5,4 = 0,07 + 0,0004 = 0,0704. Тогда .

При приеме кода с простым повторением осуществляется сравнение k информационных разрядов комбинации с остальными n-k контрольными разрядами. Если значения сравниваемых одноименных разрядов совпадают, то комбинация полагается принятой верно. В противном случае реализуется защитный отказ. Этот код обнаруживает все ошибки нечетной кратности и часть ошибок четной кратности. Мощность кода Np = 2n/2. Коэффициент избыточности .

Прием инверсного кода осуществляется в два этапа. На первом этапе анализируется четность информационной части комбинации. Если она четна, то проверочная часть остается без изменения. Если она нечетна, то проверочная часть инвертируется. На втором этапе информационная часть поразрядно сравнивается с проверочной. Если они совпадают, то полагается, что комбинация принята верно. Этот код обнаруживает все ошибки кратностью 1,2,5,6 и большую часть 3- и 4-кратных ошибок. Мощность кода и коэффициент избыточности имеют те же значения, что и для кода с простым повторением.

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

Контрольные

вопросы к

лекции 13

13-1. Что называется расстоянием Хэмминга между двумя кодовыми комбинациями?

13-2. Как определяется кодовое расстояние между двумя кодовыми комбинациями двоичного кода?

13-3. Как определяется кодовое расстояние кода?

13-4. Что называется вектором ошибки?

13-5. Что называется кратностью ошибки?

13-6. Каким должно быть кодовое расстояние кода для того, чтобы он обнаруживал все ошибки кратности не более qmax?

13-7. Каким должно быть кодовое расстояние кода для того, чтобы он исправлял все ошибки кратности не более qmax?

13-8. Какие коды называются блоковыми?

13-9. Какие коды называются разделимыми?

13-10. Какие коды называются неразделимыми?

13-11. Какие коды называются систематическими?

13-12. Какие коды называются несистематическими?

13-13. Какие коды называются линейными?

13-14. Что называется спектром кода?

13-15. Как определяется мощность кода с постоянным весом?

13-16. Как осуществляется обнаружение ошибок при использовании кода с постоянным весом?

13-17. Является ли разделимым код с постоянным весом?

13-18. Как осуществляется обнаружение ошибок при использовании кода с проверкой на нечетность?

13-19. Как определяется коэффициент избыточности для разделимых равномерных двоичных кодов?

13-20. Как определяется коэффициент повышения верности при использовании того или иного кода, обнаруживающего ошибки?

13-21. Как осуществляется обнаружение ошибок при использовании кода с простым повторением?

13-22. Как осуществляется обнаружение ошибок при использовании инверсного кода?

13-23. Как осуществляется обнаружение ошибок при использовании корреляционного кода?

Лекция 14

Коды с

обобщенными

проверками на

четность