
- •Глава 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.3 Класифікація і основні характеристики завадостійких кодів
7.3.1 Класифікація завадостійких кодів
Відоме велике число кодів, систематизація і класифікація яких із-за їх численних ознак є досить скрутною. Тому при розгляді класифікації, як правило використовують структурні характеристики кодів (рис.7.3) [44].
Перешкодостійкі коди підрозділяються на рівномірні і нерівномірні. Рівномірні коди – це коди, всі кодові комбінації яких містять постійну (однакову) кількість розрядів. Нерівномірні коди містять кодові комбінації з різним числом розрядів. З огляду на те, що нерівномірні коди із-за складності їх реалізації не знайшли широкого застосування, надалі їх розглядати не будемо.
Всі надмірні коди розділяються на два класи: безперервні і блокові.
У безперервних блоках процес кодування і декодування відбувається безперервно. Такі коди не отримали широкого розвитку. У блокових кодах кожному повідомленню відповідає своя кодова комбінація (блок) з n символів. Блоки кодуються окремо один від одного.
Рисунок 7.3 – Класифікація завадостійких кодів
Надмірні
коди, в яких певні розряди кодових
комбінацій відводяться для інформаційних
і перевірочних символів, називаються
роздільними. Роздільні блокові коди
позначаються символом
,
де n
- загальне число розрядів кодової
комбінації,
- число розрядів, що відводяться для
інформаційних символів, r
– число перевірочних (контрольних)
символів. Нероздільні коди не мають
чіткого розділення кодової комбінації
на інформаційні і перевірочні символи.
До них відносяться, наприклад, коди з
постійною вагою, коди Плоткіна і ін.
Роздільні блокові коди діляться на несистематичні і систематичні. У несистематичних кодах перевірочні символи є сумами підблоків довжиною l, на які розбивається послідовність інформаційних символів. Такі коди можуть виявляти пачки помилок довжиною l. До них відносяться коди Бергера.
Систематичні коди складають найбільший клас роздільних кодів, представляють найбільш розвинений напрям сучасної теорії кодування, що спирається на спеціальні розділи лінійної алгебри, векторного аналізу, полів Галуа, матричного числення і т.п.
У таких кодах перевірочні символи знаходяться в результаті виконання лінійних операцій над певними інформаційними символами.
Для двійкових кодів такі операції зводяться до вибору кожного перевірочного символу так, щоб його сума по модулю два з певними інформаційними символами була рівна нулю.
До систематичних кодів відносяться коди з перевіркою на парність (непарність), коди з повторенням, інверсний (код Бауера), кореляційний, коди Хеммінга, Голея, Ріда-мюллера, Макдональда, Варшамова, коди з малою щільністю перевірок на парність, ітеративний код.
Різновидом систематичних кодів є циклічні коди. Окрім всіх властивостей систематичних кодів, циклічні коди (ЦК) мають наступну властивість: якщо деяка дозволена кодова комбінація належить даному коду, то нова кодова комбінація, що отримується шляхом циклічної перестановки символів, також належить цьому коду.
До найбільш відомих циклічних кодів відносяться коди Хеммінга, Боуза-чоудхурі-хоквінгема, мажоритарні коди, коди Файра, Абрамсона, Міласа-абрамсона, Ріда-Соломона, компаундні коди.
Останнім часом велика увага відводиться застосуванню згортаних кодів, які відносяться до класу безперервних кодів. Вони дозволяють ефективно виявляти і виправляти помилки в каналах із завмираннями сигналів.