- •Тема 6. Кодування інформації
- •1. Характеристики кодів
- •2. Приклади бінарних кодів без надлишковості.
- •3. Основні теореми кодування
- •4. Оптимальне кодування за відсутності шумів. Код Шеннона-Фано.
- •5. Принципи завадостійкого кодування
- •6. Приклади бінарних кодів з виявленням і виправленням помилок.
- •1. Код з перевіркою на парність.
- •2. Код з простим повторенням.
- •3. Інверсний код (код Бауера).
- •4. Кореляційний код (Манчестер - код).
- •5. Кoд з сталою вагою (код на одну сполуку).
- •6. Код Хеммінга.
Тема 6. Кодування інформації
План:
1. Характеристики кодів
2. Приклади бінарних безнадлишкових кодів
3. Основні теореми кодування
4. Оптимальне кодування за відсутності шумів.
Код Шеннона-Фано
5.Принципи завадостійкого кодування
6. Приклади бінарних кодів з виявленням та виправленням помилок
1. Характеристики кодів
В реальних умовах неперервний сигнал без втрати якості функціонування системи може бути замінений дискретним (на підставі теореми Котельнікова). Тому у подальшому будуть розглядатися дискретні інформаційні системи, причому множина (ансамбль) повідомлень вважається скінченною.
Процес перетворення повідомлень у сукупність дискретних символів (знаків) зветься кодуванням, множина зазначених знаків зветься абеткою коду, а правило кодування (однозначного відображення множини повідомлень на абетку кода) - кодом.
Практично у інформаційних (комп'ютерних) мережах кодування - це співставлення повідомлень числам (абеткою коду є цифри). Ці числа звуться кодовими словами. Число m різних знаків (цифр) у кодовому слові (числі) зветься основою коду. Якщо всі кодові слова мають однакову довжину (кількість цифр) n, то код зветься рівномірним. Кількість всіх можливих слів N (обсяг коду) рівномірного коду основою т і довжиною п дорівнює
(1)
У інформаційних системах, зокрема комп'ютерних, широко вживаються бінарні (двійкові) коди, для яких m = 2, а обсяг коду
(2)
Бінарний код довжиною п формується наступним чином. Кожному повідомленню ставиться у відповідність двійкове n - розмірне число
(3)
Коефіцієнти а1, а2,..., аn. можуть приймати значення 0 або 1 і однозначно визначають двійкове число. Якщо каналом зв'язку передавати послідовно значення цих коефіцієнтів у вигляді імпульсів двох видів відповідно 0 та 1, то буде передане двійкове число, що визначає повідомлення.
У подальшому розглядаються переважно бінарні коди.
Вимоги до кодів (для однозначного кодування, а також для передачі більших обсягів інформації за менший час):
• взаємно - однозначна відповідність між множиною повідомлень і множиною кодових слів;
• можливість чіткого відокремлення початку і кінця кодового слова;
• мінімальні довжини кодових слів.
Перша вимога очевидна: обсяг коду N повинен дорівнювати кількості повідомлень (станів джерела інформації). Друга вимога може бути виконана шляхом введення у код додаткового відокремлюючого символа- паузи, що значно збільшує довжини кодових слів і відповідно час передачі повідомлень рівномірним кодом.
Щоб задовольнити третій вимозі, слід з'ясувати, у яких межах можуть бути довжини кодових слів, а також умови їх зменшення.
Нехай
при кодуванні ансамбля з N повідомлень
з
рядом розподілу ймовірностей
повідомленню
,
відповідає довжина кодового слова
.
Тоді середня довжина кодового слова
,
а середня кількість інформації у кодовому
слові (повідомленні) дорівнює ентропії
ансамбля повідомлень
.
Тому середня кількість інформації на
один елемент кодового слова, тобто
символ абетки коду
,
а максимальне значення цієї величини
(4)
Інформаційний резерв коду відносно ансамблю повідомлень, що кодуються, визначається надлишковістю коду
(5)
Для
рівномірного коду довжиною
надлишковість
(6)
Приклади: 1. При кодуванні бінарним п'ятисимвольним кодом Бодо (m= 2; n = 5) абетки української мови
(N
= 32; h(n) = 4,58 біт/символ)
2. При кодуванні бінарним двосимвольним кодом (m = 2, n = 2) ансамбля з чотирьох повідомлень (х1, ,х2, х3,х4} з розподілом р1 = 0,2 , р2 = 0,3, р3 = 0,4, р4 = 0,1 надлишковість
Практично надлишковість
(7)
де
-
кількість елементів абетки, користуючись
якими практично можливо відновити
повідомлення. Наприклад, надлишковість
абетки англійської мови
0,5
- експериментальне можна відновити
зміст англійських текстів, утворених
з 50 % літер англійської абетки.
Швидкість передачі інформації каналом зв'язку за співвідношенням (4) попереднього розділу і (6)
(8)
•1)1 |
тим більше, чим менше надлишковість r (Т - час передачі одного символу, Н(ш) - ентропія джерела шуму).
Надлишковість усувається (зменшується) шляхом оптимального кодування. Зменшення надлишковості коду підвищує швидкість передачі інформації, але зменшує захищеність від перешкод (шумів).
Характеристиками рівномірного бінарного коду є вага кодового слова (кодової комбінації) ω - кількість одиниць у слові і кодова відстань α між двома кодовими словами - кількість однойменних розрядів у цих словах з різними символами. Наприклад, кодові слова 10010111 та 00100110 мають вагу відповідно ω= 5 та ω= 3 і кодову відстань α = 4.
Захищеність коду від перешкод (завадостійкість), тобто можливість невірного прийняття характеризується ймовірністю невикритої помилки. Це ймовірність такої події, за якої прийняте кодове слово відрізняється від переданого, а заданий код не дозволяє виявити помилку. У сучасних інформаційних системах зазначена величина не перевищує 10-6 +10-9, в той час, як ймовірність помилкового прийому одиничного елемента у реальних каналах зв'язку рідко буває меншою. Тому для підвищення вірогідності повідомлень застосовують спеціальні заходи знищення ймовірності помилок. Ці засоби пов'язані з введенням у код надлишковості.
Завадостійкість бінарного коду довжиною n визначається коефіцієнтом невірних переходів - ймовірністю помилок кратності ω яка не знаходиться.
(9)
де W(ω) - кількість кодових слів вагою ω - вагова характеристика коду. Наприклад для бінарного коду з n = 5 і ваговою характеристикою W(l)=1; W(2)=0; W(3) =2; W(4) = 1; W(5)=l коефіцієнти невірних переходів за (9) К(1) = 0,2; К(2) = 0; K(3)=0,2; K(4)=0,2; K(5)=1. Отже, заданий код знаходить всі двократні помилки, 80% однократних, трикратних та чотирикратних помилок і зовсім не знаходить п'ятикратних помилок.
Якщо за одиницю часу створюється q символів абетки коду, то швидкість кодування - кількість інформації, що кодується за одиницю часу
(10)
