Магия Электроники

Теория информации


Двоичные коды с минимальным кодовым расстоянием dmin= 3

Коды с dmin = 3 являются первыми корректирующими кодами, разработанными в рамках теории кодирования. Они способны исправлять одну ошибку. Коды, разработанные Хеммингом до сих пор широко применяются и считаются одними из лучших.

Рассмотрим построение двоичного кода Хемминга с dmin = 3.

Постановка задачи: для заданного количества рабочих комбинаций M = 2m и заданной величины минимального кодового расстояния dmin = 3:

Ответ на первый вопрос можно найти, применяя формулу (10) для определения минимальной величины k:

Из этой формулы k определяется методом подбора.

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

что совпадает с границей, определяемой по формуле Хемминга.

Этот результат можно получить еще одним способом. Будем использовать избыточные элементы так, чтобы можно было однозначно определить место искаженной позиции. Для этого предлагается проводить k проверок четности суммы единиц, стоящих на определенных позициях. В результате каждой проверки будем записывать “0”, если четность подтверждается значением избыточного элемента, или “1”, если число единиц нечетно. Далее запишем все результаты проверок на четность последовательно друг за другом: E1, E2,…, Ei,…, Ek. В результате получим некоторое двоичное k-разрядное число, которое называется проверочным (контрольным). Потребуем, чтобы это число указывало номер искаженной позиции. То есть для каждого E должно найтись свое число 2k = n + 1.

В процессе проверок должны учитываться следующие позиции:

1-я проверка – позиции 1, 3, 5, 7,…;
2-я проверка – позиции 2, 3, 6, 7, 10,…;
3я проверка – позиции 4, 5, 6, 7, 12, 14…;
4-я проверка – позиции 8, 9, 11, 12, 13…;

i-я проверка – позиции 2i-1, 2i-1 + 1,…;

k-я проверка – позиции 2k-1, 2k-1 + 1,…;

Пример

Построить код Хемминга для восьми комбинаций (M = 8) с минимальным кодовым расстоянием dmin = 3.

Код приведен в табл. 3.

Табл. 3

Состояние позиций кода № кодовой комбинации
1 2 3 4 5 6
0 0 0 0 0 0 1
0 1 0 1 0 1 2
1 0 0 1 1 0 3
1 1 0 0 1 1 4
1 1 1 0 0 0 5
1 0 1 1 0 1 6
0 1 1 1 1 0 7
0 0 1 0 1 1 8

Элементы в позиции №1 получаются при суммировании по модулю два элементов в позициях №3 и №5, в позиции №2 – суммированием элементов в позициях №3 и №6, в позиции №4 – суммированием элементов в позициях №5 и №6.

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

Табл. 4

Состояние позиций кода № кодовой комбинации
1 2 3 4 5 6 7
0 0 0 0 0 0 0 1
0 1 0 1 0 1 1 2
1 0 0 1 1 0 1 3
1 1 0 0 1 1 0 4
1 1 1 0 0 0 1 5
1 0 1 1 0 1 0 6
0 1 1 1 1 0 0 7
0 0 1 0 1 1 1 8



<<Назад Выход Вверх Дальше >>


Hosted by uCoz