Получение РКК для кода, исправляющего одиночные и двойные смежные ошибки
Пример
Получить РКК для пачки из 2-х или меньше ошибок при n = 7.
Зная n, мы можем определить k из формулы:
2(n – k) – 1 ≥ n + (n – 1);
2(n – k) ≥ 2n;
n – k ≥ log2(2n);
k ≤ n – log2(2n);
k ≤ 7 – log2(14);
k ≤ 3.1795;
k = 3.
Таким образом, получаем код (7; 3), который должен исправлять одиночные и двойные смежные ошибки. http://peredacha-informacii.ru/ Из таблицы 5.4 составляем уравнения, складывая единицы в соответствующих разрядах, имеем:
Таблица 5.4
1 |
000001 |
2 |
000010 |
3 |
000100 |
4 |
001000 |
5 |
001101 |
6 |
000111 |
7 |
001110 |
8 |
010000 |
9 |
001011 |
10 |
010111 |
11 |
011000 |
12 |
100000 |
13 |
110001 |
а1 а5 а6 = 0;
а2 а6 а7 = 0;
а3 а5 а6 а7 = 0;
а4 а5 а7 = 0.
Из уравнений ищем места и значения проверочных разрядов:
а1 = а5 а6;
а2 = а6 а7;
а3 = а5 а6 а7;
а4 = а5 а7.
Если воспользоваться формулой приведенной выше, то можно получить код (13; 8). Но если взглянуть на таблицу 5.4, то видно, что в строках с 1 по 13 опознаватели имеют 6 разрядов. Таким образом, в качестве информационных символов можно использовать только 7 разрядов. Получаем код (13; 7).
|