- •Тема 6. Кодування інформації
- •1. Характеристики кодів
- •2. Приклади бінарних кодів без надлишковості.
- •3. Основні теореми кодування
- •4. Оптимальне кодування за відсутності шумів. Код Шеннона-Фано.
- •5. Принципи завадостійкого кодування
- •6. Приклади бінарних кодів з виявленням і виправленням помилок.
- •1. Код з перевіркою на парність.
- •2. Код з простим повторенням.
- •3. Інверсний код (код Бауера).
- •4. Кореляційний код (Манчестер - код).
- •5. Кoд з сталою вагою (код на одну сполуку).
- •6. Код Хеммінга.
5. Принципи завадостійкого кодування
За наявності у каналі шумів одна з основних вимог до кодування -завадостійкість, тобто можливість доведення ймовірності помилок (спотворення символів) до прийнятого рівня. Можливості коду виявляти і виправляти помилки пов'язана з внесенням надлишкових (неінформаційних) символів у кодовому слові. При побудові коду для передачі інформації використовується лише частина кодових слів (дозволені кодові комбінації), які відрізняються одне від одного більш, ніж одним символом. Всі інші кодові слова не використовуються і належать до числа заборонених. При цьому помилка в одному символі призводить до заміни дозволеного слова забороненим, що виявляє помилку. При достатній відмінності дозволених кодових слів (кодовій відстані) таким чином можна виявляти двократну, трикратну, ... , помилки, оскільки вони призводять до заборонених кодових слів.
Нехай
з n символів
кодового слова бінарного рівномірного
коду для передачі інформації
використовується k символів.
Тому з загальної кількості
можливих
кодових слів дозволених буде
слів,
а
.
Кожна з дозволених кодових слів внаслідок завад може перетворитися в будь-яку іншу, отже можливо всього прийнятих кодових слів. У цю кількість входять:
випадків, безпомилкової передачі;
випадків
переходу у інші дозволені кодові слова,
що відповідають помилкам, але не
виявляються;
випадків
переходу у заборонені кодові слова, що
відповідає помилкам, які виявляються.
Отже ймовірність виявлення помилки
(20)
Для виправлення виявлених помилок множина заборонених кодових слів розбивається на підмножин, які не перетинаються, і кожна з них ставиться у відповідність одному з дозволених кодових слів. Якщо прийняте одне з заборонених слів, то робиться висновок, що було передане відповідне дозволене кодове слово. Помилка буде виправлена, якщо прийняте заборонене слово дійсно відповідає переданому дозволеному. Всього є заборонених кодових слів, а випадків переходу у заборонені слова , отже ймовірність виправлення виявленої помилки
(21)
Спосіб зазначеного розбиття на підмножини залежить від того, помилки якої кратності (кількості спотворених символів) повинні виправлятися заданим кодом.
За припущення незалежності спотворень кожного символа ймовірність а - кратної помилки (спотворення α символів) у кодовому слові довжиною п визначається формулою Бернуллі
де p-ймовірність спотворення одного символа. Враховуючи, що р<<1, найймовірнішими є помилки нижчих кратностей, їх слід виявляти і виправляти у першу чергу.
Відмінність між двома дозволеними кодовими словами рівномірного коду визначається кодовою відстанню d - кількістю однойменних символів (розрядів), у яких ці слова відрізняються одне від одного.
Очевидно за d = 1 всі кодові слова є дозволеними, наприклад за n = 3 дозволені слова: 000, 001, 010, 011, 100, 101, 110, 111. Будь-яка однократна помилка перетворює дозволене кодове слово у інше дозволене, тобто такий код не має коректуючої здатності. Якщо d = 2 , то жодне з дозволених слів за однократної помилки не перетворюється у інше дозволене. Наприклад, за n = 3 дозволені слова можуть бути 000, 011, 101, 110, а заборонені 001 , 010, 100, 111. Такий код здатний виявляти всі однократні помилки.
У загальному випадку для виявлення помилки кратності t мінімальна кодова відстань між дозволеними словами повинна бути принаймні на одиницю більше
(22)
Очевидно d
n ,
тому в принципі неможливо виявити
помилки кратності n .
Для виправлення однократної помилки кожному дозволеному слову слід спів ставити відповідну підмножину заборонених кодових слів. Щоб ці підмножини не перетинались, кодова відстань між дозволеними словами повинна бути не менше 3. Наприклад, за n = 3 дозволеними словами можуть бути 000 та 111, і дозволеному слову 000 слід поставити у відповідність підмножину заборонених слів 001,010,100, що виникають внаслідок одиничної помилки в слові 000. Аналогічно дозволеному слову 111 слід поставити у відповідність підмножину заборонених слів 110, 011, 101, що виникають внаслідок одиничної помилки у слові 111.
У загальному випадку для виправлення помилки кратності S мінімальна кодова відстань між дозволеними словами повинна задовольняти умові
(23)
Для
виправлення всіх помилок кратності S і
одночасно виявлення всіх помилок
кратності t
Sмінімальні,
кодова відстань повинна задовольняти
умові
(24)
Мінімально
можлива надлишковість бінарного коду
(m =
2) довжиною n з k інформаційними
символами (розрядами), що відповідає
обсягу ансамбля повідомлень
за
(6)
(25)
Таким
чином, побудова коду з заданою
завадостійкісною властивістю (виявляючою
чи виправляючою) пов'язана з внесенням
у нього такого надлишку, який забезпечив
би кодові відстані між дозволеними
словами не менше
Проблема визначення мінімальної кількості надлишкових символів у загальному вигляді досі не розв'язана, існує лише ряд оцінок.
З
кожного з
дозволених
слів за однократної помилки може бути
отримано
помилкових
слів, а з усіх
дозволених
-
,
помилкових слів. Аналогічно за двократної
помилки на приймальному боці може бути
отримано
помилкових
слів,..., за S-
кратної включно на приймальному боці
може бути отримано
помилкових слів, що не може перевищувати кількості заборонених кодових слів
(26)
(нижня
межа Хеммінга, (
)
Приклад.
Для
рівномірного бінарного коду, що кодує
32 повідомлення
і
виправляє всі одно і двократні помилки
(S = 2)
Наведена нерівність (26), як і подібні до неї, визначає лише межу довжини коду (і відповідно кількості перевірочних символів), яка далеко не в усіх випадках може бути практично реалізована.
