- •Загальна характеристика ргр
- •Завдання №1. Оптимальне кодування
- •Завдання №2. Інформаційні характеристики реальних каналів зв'язку
- •Завдання №3. Завадостійке кодування
- •2.1. Побудова оптимального нерівномірного коду Шеннона-Фано
- •Відносна ентропія онк µ:
- •2.2. Побудова оптимального нерівномірного коду Хаффмена
- •2.3. Обчислення інформаційних характеристик реальних каналів зв'язку
- •2.4. Побудова завадостійких кодів
- •2.5. Побудова коригувальних кодів Хеммінга
2.1. Побудова оптимального нерівномірного коду Шеннона-Фано
Основний принцип оптимального кодування полягає в тому, що повідомленням, що мають більшу ймовірність, привласнюють більш короткі коди, тобто утворяться кодові слова різної довжини - нерівномірні коди.
Для однозначності кодування й декодування оптимальних нерівномірних кодів необхідно, щоб вони були префіксними, тобто для них повинне виконуватися умова Фано: ніяке кодове слово не є початком іншого кодового слова.
Побудова коду Шеннона–Фано. Бінарний оптимальний нерівномірний код (ОНК) Шеннона-Фано будується ітераційним методом дихотомії в кілька кроків.
Попередній крок. Повідомлення xi ранжується в порядку убування їхніх ймовірностей p(xi);
Крок 1. Повідомлення xi розбивається на дві групи із приблизно рівними сумарними ймовірностями;
Крок 2. Повідомленням 1-ої першої групи привласнюється перший символ кодового слова, дорівнює нулю, а другої групи - символ, рівний одиниці;
Крок 3. Кожну групу знову ділимо на дві рівномірні підгрупи й повідомленням перших підгруп привласнюємо другий символ кодового слова дорівнює нулю, а другим підгрупам - символ, дорівнює одиниці.
Такі розбивки на усе більш дрібні групи проводиться доти, поки в кожній із груп виявиться по одному повідомленню - кодові слова будуть побудовані.
Для заданих повідомлень необхідно побудувати рівномірний і кілька варіантів оптимальних кодів.
Для оцінки ефективності побудованого ОНК необхідно обчислити наступні показники:
Відносна ентропія онк µ:
µ=
де H- ентропія ОНК,
Hmax= максимальна ентропія, Hmax=log N,
N - загальна кількість переданих повідомлень
2. Інформаційна надмірність D, що показує відносне недовантаження на символ коду:
D=
3. Абсолютне недовантаження на символ повідомлень, ΔD
ΔD=(Hmax-H), біт/символ.
4. Коефіцієнт статичного стиску Кс, що характеризує зменшення кількості двійкових знаків на символ повідомлення при застосуванні ОНК:
Кс=
5. Коефіцієнт відносної ефективності ОНК Кэ, що показує ступінь використання статичної надмірності переданого повідомлення:
Кэ=
Завдання 1. Побудувати рівномірний код й ОНК методом Шеннона – Фано для повідомлень а1, а2, а3, а4, а5, а6, а7, а8, імовірності появи яких утворять повну групу:
р(а1)=р(а2)=0,25; р(а3)=р(а4)=0,125; р(а5)=р(а6)=р(а7)=р(а8)=0,0625.
Побудувати кодове дерево, обчислити всі інформаційні характеристики ОНК, оцінити його ефективність й оптимальність.
Рішення.
Перевіряємо ймовірність р(аi) на повну групу, тобто
Ранжуємо імовірності в порядку їхнього убування, записуємо в таблицю й, застосовуючи послідовно метод дихотомії, будуємо кроки розподілу, поки в кожній групі залишиться по одному повідомленню. Становимо варіанти кодів: рівномірний, ОНК й інверсний ОНК. Результати обчислень зводимо в таблицю 2.1
Таблиця 2.1
аi |
pi |
Рівномірний код |
1-й крок |
2-й крок |
3-й крок |
4-й крок |
ОНК |
li |
lpi |
H |
Інверсний ОНК |
a1 |
0.25 |
000 |
I 0 |
I 0 |
|
|
00 |
2 |
0.5 |
0.5 |
11 |
a2 |
0.25 |
001 |
I 1 |
01 |
2 |
0.5 |
0.5 |
10 |
|||
а3 |
0. 125 |
010 |
I 1 |
I 0 |
I 0 |
100 |
3 |
0. 375 |
0. 375 |
011 |
|
а4 |
0. 125 |
011 |
I 1 |
101 |
3 |
0. 375 |
0. 375 |
010 |
|||
а5 |
0. 0625 |
100 |
I 1 |
I 0 |
I 0 |
1100 |
4 |
0.25 |
0.25 |
0011 |
|
а6 |
0. 0625 |
101 |
I 1 |
1101 |
4 |
0.25 |
0.25 |
0010 |
|||
а7 |
0. 0625 |
110 |
I 1 |
I 0 |
1110 |
4 |
0.25 |
0.25 |
0001 |
||
а8 |
0. 0625 |
111 |
I 1 |
1111 |
4 |
0.25 |
0.25 |
0000 |
|||
|
|
— |
|
|
|
|
: — |
— |
lcp=2.75 |
H=2.75 |
— |
3. Середня довжина ОНК:
Ентропія ОНК : H= біт/символ
Значення -р(аi)log p(аi) вибираємо з таблиці ентропії.
Аналогічно будується інверсний ОНК Шеннона-Фано.
4. Будуємо кодові дерева рівномірного коду й ОНК Шеннона-Фано, мал. 2.1 і мал. 2.2
0 1 0 1
Рис. 4.1. Кодове дерево III порядку
рівномірного коду
Рис. 4.2. Кодове дерево IV
порядку ОНК Шеннона-Фано
Побудований ОНК Шеннона-Фано має властивість однозначного декодування, тому що для нього виконується умова Фано й всі кодові слова утворяться з кінцевих вузлів кодового дерева.
5. Обчислюємо показники ефективності ОНК:
Hmax=log28=3 біт/символ
б) відносна ентропія
µ =
в) інформаційна надмірність
D=
г) абсолютне недовантаження
ΔD=Hmax-H=3-2.75=0.25 біт/символ
д) коефіцієнт стиску інформації
Kc=
е) коефіцієнт відносної ефективності
Кэ=
побудований ОНК Шеннона-Фано має високі інформаційні характеристики, а Кэ=1, отже, цей код є оптимальним і максимально ефективним.
Завдання вирішене.