Теорія інформації та кодування в задачах
140


кодом Бергера, а ваги елементів первинної комбінації повинні приймати такі значення, починаючи з першого ( старшого ) розряду: 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18 тощо, тобто всі числа, крім тих, які дорівнюють значенням числа 2 у будь-якій цілій додатній степені ( 20, 21, 22, ...  ). Так    наприклад,   при   k  =  8   маємо log 2 =  log 2  ( 3 + 5 + 6 + 7 + 9 + 10 + 11 + 12 )  =  log 2 63  = 5,977, тобто  r =  6. Таким чином перевірочна частина кодової комбінації буде мати 6 розрядів.

Для виправлення помилки в декодері підраховується сума S* вагів тих інформаційних розрядів прийнятої кодової комбінації, на яких розташовані одиниці. Далі інвертуються перевірочні розряди прийнятої кодової комбінації;  отримане двійкове число переводиться у десяткове і віднімається від обчисленої суми  S*. Якщо в інформаційній частині кодової комбінації є однократна помилка, то модуль різниці буде збігатись із вагою спотвореного розряду; для виправлення помилки відповідний інформаційний розряд потрібно інвертувати.

Надмірність  коду  R = 1 –  n = 1 –  k / ( + ) = n.

8.2.  Приклади  розв’язання  задач

Задача  8.2.1

Побудувати твірну матрицю і визначити всі комбінації двійкового систематичного ( групового ) коду, здатного виправляти поодинокі помилки для  N0 = 8  повідомлень.

Розв’язання. Кількість інформаційних розрядів коду  k =  log8  =  3. Кількість перевірочних розрядів визначається як найменше ціле r,  яке задовольняє нерівності  2r=  r + 1 ; таким значенням буде  = 3 . Довжина коду =  r  = 6 . Таким чином, твірна матриця G n, має 6 стовпців та 3 рядка,  а  перевірочна підматриця  C r,k   має 3 стовпця та 3 рядка.