Исправление одиночных ошибок и обнаружение двойных. Код (8; 4)
Пример
Принята следующая кодовая комбинация: 00001110. Определить, в каком разряде произошла ошибка, исправить ее и записать информационные символы.
Таблица 5.9. Опознаватели для одиночных ошибок
1 |
1001 |
2 |
1010 |
3 |
1011 |
4 |
1100 |
5 |
1101 |
6 |
1110 |
7 |
1111 |
8 |
1000 |
Складывая единицы в первом и последующих разрядах опознавателей, получаем:
а1 а3 а5 а7 = 0; (1)
а2 а3 а6 а7 = 0; (2)
а4 а5 а6 а7 = 0; (3)
а1 а2 а3 а4 а5 а6 а7 а8 = 0. (4)
Проще всего выразить а1, а2 и а4, так как они встречаются по одному разу в уравнениях:
а1 = а3 а5 а7;
а2 = а3 а6 а7;
а4 = а5 а6 а7.
Таким образом, проверочные разряды у нас 1-ый, 2-ой и 4-ый, информационные разряды: 3-ий, 5-ый, 6-ой, 7-ой, а 8-ой разряд используется для проверки четности для обнаружения 2-х ошибок.
Таблица 5.10
0000 |
Нет ошибок |
0xxx |
2 ошибки или больше. Нужен переспрос |
1000 |
Ошибка в проверке четности. Можно пренебречь |
1xxx |
Единичная ошибка |
Находим опознаватель ошибки из уравнений (1), (2), (3) и (4):
а1 а3 а5 а7 = 0 1 0 0 = 1;
а2 а3 а6 а7 = 1 1 0 0 = 0;
а4 а5 а6 а7 = 1 0 0 0 = 1;
а1 а2 а3 а4 а5 а6 а7 а8 = 0 1 1 1 0 0 0 0 = 1.
Получаем опознаватель 1101, следовательно, ошибка в 5-ом разряде. http://peredacha-informacii.ru/ Складываем полученную комбинацию 00001110 с вектором ошибки 0010000 и получаем:
Информационные символы равны: а7 = 0, а6 = 0, а5 = 1, а3 = 1.
Проверим:
а1 а3 а5 а7 = 0 1 1 0 = 0;
а2 а3 а6 а7 = 1 1 0 0 = 0;
а4 а5 а6 а7 = 1 1 0 0 = 0;
а1 а2 а3 а4 а5 а6 а7 а8 = 0 1 1 1 1 0 0 0 = 0.
|