Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Госы_2013 / 1 часть сокращенная.docx
Скачиваний:
44
Добавлен:
29.05.2015
Размер:
1.52 Mб
Скачать

Вопрос 4 - Помехоустойчивое кодирование (идея построения помехоустойчивых кодов, коды Хэмминга, циклические коды)

Проблема повышения верности обусловлена не соответствием между требованиями, предъявляемыми при передачи данных и качеством реальных каналов связи. В сетях передачи данных требуется обеспечить верность не хуже 10-6- 10-9, а при использовании реальных каналов связи и простого (первичного) кода указанная верность не превышает 10-2- 10-5.

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

Простые коды характеризуются тем, что для передачи информации используются все кодовые слова (комбинации), количество которых равно N=qn(q - основание кода, а n - длина кода). В общем случае они могут отличаться друг от друга одним символом (элементом). Поэтому даже один ошибочно принятый символ приводит к замене одного кодового слова другим и, следовательно, к неправильному приему сообщения в целом.

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

Построение кода Хемминга.

Рассмотрим построение ПУК Хемминга для обнаружения двух и исправления одной ошибок.

Кодовая группа состоит из nсимволов,mсимволов используется для передачи информации, аk=n–mявляются контрольными.

Информационные символы разбиваются на группы и для каждой группы при кодировании определяется контрольный символ (kгрупп).

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

k1– проверяет все позиции, которые содержат в 0 разряде 1, т.е. это позиции: 1, 3, 5, 7, 9… (1, 11, 101, 111, 1001, …);

k2– проверяет все позиции, которые содержат в 1 разряде 1, т.е. это позиции: 2, 3, 6, 7, 10… (10, 11, 110, 111, 1010, …);

k3– проверяет все позиции, которые содержат в 2 разряде 1, т.е. это позиции: 4, 5, 6, 7, 12… (100, 101, 110, 111, 1100, …) и т.д.

Счёт позиций в ПУК Хемминга идёт слева направо. Желательно, чтобы контрольные символы формировались независимо друг от друга, поэтому целесообразно их разместить на позициях, которые встречаются только в одной из проверяемых групп.

Кодовая группа выглядит следующим образом:

Десятичный номер позиции в кодовой группе

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Двоичный номер позиции в кодовой группе

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

0

0

1

0

0

0

0

1

0

1

0

0

1

1

0

0

0

1

1

1

0

1

0

0

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

0

1

1

0

0

0

1

1

0

1

0

1

1

1

0

0

1

1

1

1

1

0

0

0

0

1

0

0

0

1

1

0

0

1

0

1

0

0

1

1

1

0

1

0

0

Символы

k1

k2

a1

k3

a2

a3

a4

k4

a5

a6

a7

a8

a9

a10

a11

k5

a12

a13

a14

a15

Контрольные разряды формируются следующим образом:

k1 = a1 a2 a4 a5 a7 a9 a11 a12 a14… (входят символы с 1 в 0 разряде позиции);

k2 = a1 a3 a4 a6 a7 a10 a11 a13 a14… (входят символы с 1 в 1 разряде позиции);

k3=a2a3a4a8a9a10a11a15… (входят символы с 1 во 2 разряде позиции);

k4=a5a6a7a8a9a10a11… (входят символы с 1 во 3 разряде позиции);

k4=a12a13a14a15… (входят символы с 1 во 4 разряде позиции).

Построение циклического ПУК

Циклические ПУК строятся на основе образующих полиномов G(x). Образующий полином должен являться множителем полиномаxn+1, гдеn– количество разрядов кодового слова (k– количество контрольных разрядов (разрядностьG(x) =k+1),m=n–k– количество информационных разрядов). В каждом конкретном циклическом ПУК образующий полином выбирается в соответствии с корректирующими способностями ПУК.

Строятся циклические ПУК двумя путями:

  1. информационные разряды помещаются в старшие разряды кодового слова, а в младшие kразрядов заносится остаток от деленияan-1an-2…an-k00…0 наG(x);

кодовое слово является результатом умножение информационного полинома на G(x).

Соседние файлы в папке Госы_2013