зменшення інформаційної ємності каналу.
Для характеристики кодів часто використовуються поняттям відносної надмірності R, яка виражається як:
R=
Всі надлишкові коди поділяються на коди, які виявляють помилки, і коди, які не тільки виявляють, але і виправляють (коригують) помилки. Останні називаються коригуючими кодами.
Використання кодів з виправленням помилок дуже ускладнює апаратуру і знижує пропускну здатність каналу, тому застосування таких кодів може бути виправдане лише в особливо відповідальних випадках, наприклад:
робота системи без нагляду протягом тривалого часу;
в складних системах, в яких помилка може вивести з ладу всю установку (наприклад, машини, що керують роботою великого технологічного об'єкта);
для передачі сигналів при наявності сильних перешкод, які не можуть бути придушені.
Слід зазначити, що взагалі не існує кодів, які виявляли б всі помилки. Проте залежно від імовірності появи тих чи інших помилок, можна відповідним вибором коду зробити цю ймовірність скільки завгодно малою. В цілому, враховуючи ці міркування, можна сформулювати основні вимоги, пропоновані до коду:
. Код повинен виявляти найбільш часто зустрічаються види помилок.
. Задана ступінь виявлення помилки повинна досягатися приєднанням до повідомлення мінімальної кількості надлишкової інформації (мінімального числа контрольних розрядів).
. Процедури кодування та декодування повинні бути по можливості простими і швидкими.
Корректирующая здатність коду. Здатність коду виявляти або виправляти помилки характеризується мінімальним значенням кодового відстані d. Кодовою відстанню між двома словами (комбінаціями) називається число розрядів, в яких відповідні символи не збігаються. Якщо довжина слова n, то кодова відстань може приймати значення від 1 до n. Якщо код має хоча б дві комбінації, що відрізняються один від одного в одному розряді, то мінімальна відстань даного коду дорівнює одиниці. Іншими словами, мінімальна кодова відстань - це мінімальна кількість двійкових розрядів, яке досить змінити для того, щоб одну інформаційну комбінацію перетворити на іншу.
Простий код має мінімальну відстань d=1. Для надлишкових кодів d> 1. Якщо, наприклад, d=2, то будь-які дві комбінації даного коду відрізняються не менш ніж у двох розрядах. Будь одиночна помилка не зможе перетворити дану комбінацію в яку-небудь дозволену, а призведе до появи забороненою. Отже, така помилка буде виявлена. Таким чином, для виявлення одиночної помилки (спотворення в одному з розрядів числа) досить мати код з d=2.
Щоб можна було не тільки виявити, але і виправити одиночну помилку, необхідно мати код з d? 3. У цьому випадку будь одиночна помилка створює заборонену комбінацію, що відрізняється від правильної в одному розряді, а від будь-якої іншої дозволеної - у двох розрядах. Цього достатньо, щоб визначити спотворений розряд і виправити його. Виправлення полягає в почерговому зміні значень кожного розряду слова (0 на 1 і 1 на 0) з перевіркою на запрещенность. Якщо після заміни символу комбінація залишається забороненою, символ в даному розряді знову відновлюється. Очевидно, що комбінація виявиться дозволеної в єдиному випадку - коли буде инвертирован помилковий розряд, оскільки одиночна помилка змінила символ тільки в одній позиції.
Міркуючи аналогічним чином, можна показати, що для виявлення подвійних помилок нео...