
- •Глава 7 завадостійке кодування
- •7.1 Основні поняття і визначення
- •7.2 Принцип виявлення і виправлення помилок в завадостійких кодах
- •7.3 Класифікація і основні характеристики завадостійких кодів
- •7.3.1 Класифікація завадостійких кодів
- •7.3.2 Основні характеристики завадостійких кодів
- •7.4 Лінійні, блокові коди з виявленням і виправленням помилок
- •7.4.1 Особливості кодування лінійних блокових кодів
- •7.4.2 Кодування в коді Хємминга
- •7.4.3 Особливості декодування лінійних блокових кодів
- •7.4.4 Декодування в коді Хеммінга
- •7.5 Циклічні коди
- •7.5.1 Способи завдання і кодування
- •7.5.2 Декодування циклічних кодів
- •7.5.3 Мажоритарне декодування циклічних кодів
- •7.6 Згорткові коди
- •7.6.1 Визначення, способи завдання і кодування
- •7.6.2 Декодування згорткових кодів
- •7.7 Застосування завадостійких кодів в системах залізничної автоматики, телемеханіки і зв'язку
- •7.8 Способи підвищення вірності передачі інформації в каналах зв’язку з завадами
7.4 Лінійні, блокові коди з виявленням і виправленням помилок
Лінійним
кодом називається сукупність
кодових комбінацій із загального
всіх можливих комбінацій, що задовольняє
певному правилу кодування. Кодові
комбінації
систематичного блокового
коду записуються у вигляді
,
де
- число k
інформаційних символів;
- число
перевірочних (надмірних символів).
Числа
k
і n
визначають швидкість передачі інформації
кодом, рівну
двійкових одиниць на один символ.
Завадостійкість
коду оцінюється за допомогою мінімальної
кодової відстані
або числом виявлених і виправлених
помилок
.
Комбінації лінійного
коду можна розглядати як вектори в
n-мірному
просторі, координатами якого є двійкові
символи. Для комбінацій лінійного
коду визначені операції складання
,
множення на скаляр
тобто
,
що задовольняють умовам комутативності,
асоціативності і дистрибутивності.
7.4.1 Особливості кодування лінійних блокових кодів
Способи
завдання лінійного
коду є різні формулювання правила
кодування, формування кодової комбінації
по відомим інформаційним символам.
Лінійні
коди можуть бути задані за допомогою
рівнянь формування і перевірок
проізводящої G
і
перевірочної H
матриць.
Формування
перевірочних символів
коду полягає в складанні по модулю 2
певних інформаційних символів:
,
(7.14)
де
- коефіцієнти, що приймають значення 0
або 1 залежно від участі інформаційного
символу
у формуванні перевірочного
.
Рівнянь
формування стільки, скільки перевірочних
символів в кодовій комбінації
коду, тобто
.
Якщо рівняння формування переписати у
вигляді
,
(7.15)
то утворюються рівняння перевірок, використовувані при декодуванні прийнятої з каналу комбінації. Рівняння (7.15) називають узагальненою перевіркою на парність, оскільки воно показує, сума яких кодових комбінацій повинна бути парною, тобто рівна 0 по модулю 2.
Лінійний
код задається вказівкою базису k-мірного
підпростору, який містить k
лінійно незалежних комбінацій (векторів)
довжини n.
Лінійно незалежними називаються такі
k
комбінацій
,
для яких
тільки при всіх
,
.
Як
базисними зручно вибрати інформаційні
комбінації, розташовані по осях координат
k-мірного
підпростору і які створюють одиничну
підматрицю I.
Сукупність k
базисних комбінацій утворює проізводящу
(породжуючу) матрицю G,
з k
рядків і n
стовпців, що складається з одиничної
(інформаційної) підматриці I
розмірністю
і перевірочної матриці Р
розмірністю
,
тобто
.
(7.16)
Значення
в підматриціР
вибираються так, щоб забезпечувалася
задана мінімальна кодова відстань
коду
.
Мінімальна кодова відстань
визначається мінімальною вагою рядка
(або рядків) матриці G,
тобто
або мінімальним числом одиниць в ній.
Рядки
матриці G
є лінійно незалежними, що забезпечується
одиничною підматрицею I,
і дозволяють будь-яку кодову комбінацію
коду представити у вигляді
,
(7.17)
або в
матричній формі
,
де А
– інформаційна послідовність символів
.
Наявність
одиничної підматриці I
в проізводящій матриці G,
є ознакою систематичного
коду. Це витікає з формули (7.14),
оскільки перші k
символів кодової комбінації співпадають
з інформаційними символами.
Якщо матриця G не містить одиничну підматрицю I, то код є несистематичним. Це можливо коли обираємо базисними інші лінійно незалежні комбінації k-мірного простору.
Перевірочна
матриця Н
є символічним записом рівняння перевірок
(7.15), в якій одиницями позначаються
символи, що беруть участь в перевірках,
а нулями решта всіх символів комбінації
коду. Матриця Н
складається з
рядків і n
стовпців і для систематичного
коду має вигляд
. (7.18)
Перевірочні
і проізводящі матриці задовольняють
рівнянню
,
якщо вони задають один і той же
код. Для кодових комбінацій
коду виконується рівність, справедливість
якої перевіряється при декодуванні,
,
(7.19)
де індекс Т означає транспонування матриці.