Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_koduvannya.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
265.59 Кб
Скачать

4. Оптимальне кодування за відсутності шумів. Код Шеннона-Фано.

Наведені вище основні теореми кодування є теоремами існування: вони лише доводять існування оптимальних (ефективних, завадостійких) кодів, але не дають способів їх побудови.

Нижче розглядаються питання ефективного бінарного кодування за відсутності шумів (кодування у системах з шумами буде розглядатись у наступному розділі). Для таких систем оптимальними вважаються майже безнадлишкові коди з мінімальною середньою довжиною слів (13).

Властивості бінарних оптимальних кодів:

1. Довжина кодового слова повинна бути обернено пропорційна його ймовірності (тобто ймовірності відповідного повідомлення):

 (З (5) і (14) випливає 

2. Символи абетки коду (0 та 1) повинні бути взаємонезалежними і рівноймовірними (це відповідає умові 

3. Кодове слово не може бути початком іншого, більш довгого (можливість відокремлення без додаткових символів).

4. Нерівномірність

(Для бінарного коду  , отже рівномірний код може бути ефективним лише, якщо кількість повідомлень дорівнює цілій степені двійки, а за п.2 його символи повинні бути рівноймовірними. Такі умови практично нереальні)

Прикладом наближення до ефективного бінарного коду є алгоритм Шеннона - Фано :

1. Множина повідомлень, що кодуються, розташовується у порядку спадання ймовірностей.

2. Зазначена множина розбивається на дві підгрупи таким чином, щоб суми ймовірностей повідомлень у обох групах були по можливості однакові.

3. Першій підгрупі присвоюється символ 0, другій підгрупі -символ 1. Так отримується перша цифраїкоду.

4. Кожна з отриманих підгруп знову розбивається на дві групи за принципом п.2, і першим групам кожної підгрупи знову присвоюється 0, а другим - 1. Так отримується друга цифра коду.

5. Кожна з отриманих чотирьох груп знову розбивається на дві частини, ..., і процес триває доки не будуть закодовані всі повідомлення.

 

Приклад: Побудувати код Шеннона - Фано для ансамбля з 8 повідомлень.

 

І розбиття:  

 

Перша

цифра

0

0

1

1

1

1

1

1

 

 

 

 

 

 

 

 

II розбиття: 

 

Перша і

друга цифри

00

01

10

10

11

11

11

11

 

 

 

 

 

 

 

 

 

III розбиття: 

Перша, друга і третя цифри

00

01

100

101

110

110

111

111

 

 

 

 

 

 

 

 

 

IV розбиття:    

Перша, друга третя і четверта цифри

00

01

100

101

1100

1101

1110

1111

 

 

 

 

 

 

 

 

 

Середня довжина коду

Мінімально можлива середня довжина

Надлишковість

 

Для відповідного рівномірного коду:

 

Зауваження:

1. Кодові слова однакової ймовірності появи мають однакову довжину.

2.Умова  виявилась тому, що кількість повідомлень дорівнює цілій степені двійки (8=23), і суми ймовірностей у групах розбиття були однакові.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]