vopros-otvet (519806), страница 13
Текст из файла (страница 13)
а1 Е а3 Е а5 Е а7 = 0 Е 1 Е 0 Е 1 = 0;
а2 Е а3 Е а6 Е а7 = 1 Е 1 Е 0 Е 0 = 0;
а4 Е а5 Е а6 Е а7 = 1 Е 1 Е 0 Е 0 = 0.
Код (7; 3). Исправление двойных смежных ошибок
Пример
Принята следующая кодовая комбинация: 1011001. Определить, в каком разряде произошла ошибка, исправить ее и записать информационные символы.
Таблица 5.4. Опознаватели для одиночных и двойных смежных ошибок
Вектор ошибки | Опознаватель |
0000001 | 0001 |
0000010 | 0010 |
0000100 | 0100 |
0001000 | 1000 |
0010000 | 1101 |
0100000 | 0111 |
1000000 | 1110 |
Чтобы получить опознаватель двойной ошибки, нужно сложить соответствующие опознаватели для одиночных ошибок (например, опознаватель для ошибки в 1-м и 2-м разрядах равен 0011).
Складывая единицы в первом, втором, третьем и четвертом разрядах опознавателей, получаем:
а1 Е а5 Е а6 = 0; (1)
а2 Е а6 Е а7 = 0; (2)
а3 Е а5 Е а6 Е а7 = 0; (3)
а4 Е а5 Е а7 = 0. (4)
Проще всего выразить а1, а2, а3 и а4, так как они встречаются по одному разу в уравнениях:
а1 = а5 Е а6;
а2 = а6 Е а7;
а3 = а5 Е а6 Е а7;
а4 = а5 Е а7.
Таким образом, проверочные разряды у нас 1-ый, 2-ой, 3-ий и 4-ый, следовательно, информационные разряды: 5-ый, 6-ой, 7-ой. Находим опознаватель ошибки из уравнений (1), (2), (3) и (4):
а1 Е а5 Е а6 = 1 Е 1 Е 0 = 0;
а2 Е а6 Е а7 = 0 Е 0 Е 1 = 1;
а3 Е а5 Е а6 Е а7 = 0 Е 1 Е 0 Е 1 = 0;
а4 Е а5 Е а7 = 1 Е 1 Е 1 = 1.
Получаем опознаватель 1010, следовательно, ошибка в 5-ом и 6-ом разрядах. Складываем полученную комбинацию 1011001 с вектором ошибки 0110000 и получаем:
Информационные символы равны: а7 = 1, а6 = 1, а5 = 0.
Проверим:
а1 Е а5 Е а6 = 1 Е 0 Е 1 = 0;
а2 Е а6 Е а7 = 0 Е 1 Е 1 = 0;
а3 Е а5 Е а6 Е а7 = 0 Е 0 Е 1 Е 1 = 0;
а4 Е а5 Е а7 = 1 Е 0 Е 1 = 0.
Код (8; 2). Исправление двойных независимых ошибок
Пример
Принята следующая кодовая комбинация:
Определить, в каком разряде произошла ошибка, исправить ее и записать информационные символы.
Таблица 5.3. Опознаватели для двойных независимых ошибок
Номер разряда | Опознаватель |
1 | 00000001 |
2 | 00000010 |
3 | 00000100 |
4 | 00001000 |
5 | 00001111 |
6 | 00010000 |
7 | 00100000 |
8 | 00110011 |
9 | 01000000 |
10 | 01010101 |
11 | 01101010 |
12 | 10000000 |
13 | 10010110 |
14 | 10110101 |
15 | 11011011 |
Складывая единицы в первом и последующих разрядах опознавателей, получаем:
а1 Е а5 Е а8 = 0; (1)
а2 Е а5 Е а8 = 0; (2)
а3 Е а5 = 0; (3)
а4 Е а5 = 0; (4)
а6 Е а8 = 0; (5)
а7 Е а8 = 0. (6)
Проще всего выразить а1, а2, а3, а4, а6 и 7-ой разряды, так как они встречаются по одному разу в уравнениях:
а1 = а5 Е а8;
а2 = а5 Е а8;
а3 = а5;
а4 = а5;
а6 = а8;
а7 = а8.
Таким образом, проверочные разряды у нас 1-ый, 2-ой, 3-ий, 4-ый, 6-ой и 7-ой, следовательно, информационные разряды: 5-ый, 8-ой. Находим опознаватель ошибки из уравнений (1), (2), (3), (4), (5) и (6):
а1 Е а5 Е а8 = 1 Е 0 Е 1 = 0;
а2 Е а5 Е а8 = 0 Е 0 Е 1 = 1;
а3 Е а5 = 1 Е 0 = 1;
а4 Е а5 = 1 Е 0 = 1;
а6 Е а8 = 1 Е 1 = 0;
а7 Е а8 = 0 Е 1 = 1.
Получаем опознаватель 101110. Такой опознаватель не подходит для одиночной или 2-ой независимой ошибки. Таким образом, получается, что есть более двух ошибок при передаче, но исправить их этим кодом нельзя, нужен переспрос.
Код (9; 3). Исправление пачек ошибок (меньше или равно трем)
Пример
Принята следующая кодовая комбинация:
Определить, в каком разряде произошла ошибка, исправить ее и записать информационные символы.
Таблица 5.5. Опознаватели для пачки из 3-х и менее ошибок
Номер разряда | Опознаватель |
1 | 0000001 |
2 | 0000010 |
3 | 0000100 |
4 | 0001000 |
5 | 0010000 |
6 | 0100000 |
7 | 0001001 |
8 | 0010010 |
9 | 0100100 |
10 | 1000000 |
11 | 0001011 |
12 | 0010001 |
13 | 1000001 |
14 | 0001111 |
15 | 0100011 |
Данный код исправляет одиночные ошибки, двойные смежные, двойные в пределах 3-х знаков (например, в 1-ом и 3-ем или 5-ом и 7-ом разрядах) и тройные смежные. Соответственно, чтобы получить опознаватель двойной или тройной ошибки, нужно сложить по модулю 2 соответствующие опознаватели для одиночных ошибок (например, опознаватель для ошибок в 1-ом, 2-ом и 3-ем разрядах равен 000111).
Складывая единицы в первом и следующих разрядах опознавателей, получаем:
а1 Е а7 = 0; (1)
а2 Е а8 = 0; (2)
а3 Е а9 = 0; (3)
а4 Е а7 = 0; (4)
а5 Е а8 = 0; (5)
а6 Е а9 = 0. (6)
Проще всего выразить а1, а2, а3, а4, а5 и а6 разряды, так как они встречаются по одному разу в уравнениях:
а1 = а7;
а2 = а8;
а3 = а9;
а4 = а7;
а5 = а8;
а6 = а9.
Таким образом, проверочные разряды у нас 1-ый, 2-ой, 3-ий, 4-ый, 5-ый и 6-ой. Следовательно, информационные разряды: 7-ой, 8-ой, 9-ый. Находим опознаватель ошибки из уравнений (1), (2), (3), (4), (5) и (6):
а1 Е а7 = 0 Е 1 = 1;
а2 Е а8 = 1 Е 1 = 0;
а3 Е а9 = 0 Е 1 = 1;
а4 Е а7 = 1 Е 1 = 0;
а5 Е а8 = 0 Е 1 = 1;
а6 Е а9 = 1 Е 1 = 0.
Получаем опознаватель 010101. Такой опознаватель не подходит ни одной ошибке (или группе ошибок), которую может исправить данный код (см. выше). Таким образом, получается, что ошибки есть при передаче, но исправить их этим кодом нельзя, следовательно, нужен переспрос.
34. Техническая реализация группового кода и его матричная запись.
Схема кодирующего устройства приведена на рис 5.1.
Рис 5.1. Кодирующее уствойство
Подставляя в равенство значения информационных разрядов, получаем:
а1 = 1 + 0 + 0 = 1;
а2 = 1 + 1 + 0 = 0;
а4 = 0 + 1 + 0 = 1.
Таким образом, получаем: 0101101.
Рассмотрим теперь схему декодирования и коррекции ошибок (рис 5.2), строящуюся на основе совокупности проверочных равенств, для кода (7; 4) они имеют вид:
a1 Е a3 Е a5 Е a7 = 0;
a2 Е a3 Е a6 Е a7 = 0;
a4 Е a5 Е a6 Е a7 = 0.
Рис 5.2. Декодирующее устройство
Принятая из канала кодовая комбинация фиксируется в регистре на триггерах Тг1 – Тг7 и затем подается на 3 сумматора по модулю 2. Если ошибок нет, то на выходе сумматоров будут нули. Если есть ошибки в определенном разряде, то опознаватель в двоичном коде укажет место ошибки. Дешифратор ошибки ДС ставит в соответствие множеству опознавателей множество векторов ошибок и вырабатывает корректирующие сигналы, которые подаются на те триггеры (разряды), в которых произошла ошибка. Если информация снова передается в канал, то исправляются и проверочные и информационные разряды. Если информация передается только получателю, то исправляются только информационные разряды.
Предположим, что сформированная ранее в кодирующем устройстве комбинация при передаче исказилась и на приемном регистре была зафиксирована в виде, записанном в табл. 5.7.
Таблица 5.7
Тг7 | Тг6 | Тг5 | Тг4 | Тг3 | Тг2 | Тг1 |
0 | 1 | 1 | 1 | 1 | 0 | 1 |
По результатам опроса сумматоров получаем на выходе С1:
a1 Е a3 Е a5 Е a7 = 1 + 1 + 1 + 0 = 1;
на выходе С2:
a2 Е a3 Е a6 Е a7 = 0 + 1 + 1 + 0 = 0;
на выходе С3:
a4 Е a5 Е a6 Е a7 = 1 + 1 + 1 + 0 = 1.
Следовательно, номер разряда, в котором произошло искажение, 101 или 5. Импульс коррекции поступит на счетный вход триггера Тг5, и ошибка будет исправлена.
Зная закон построения кода, можно определить все множество РКК. Расположив их друг под другом, получим матрицу, насчитывающую n столбцов и (2k – 1) строк. Например, для кода (7; 4), исправляющего все одиночные ошибки, матрицу можно представить в таком виде:
a1 = a3 Е a5 Е a7;
a2 = a3 Е a6 Е a7;
a4 = a5 Е a6 Е a7.