Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання на лаб. роб. ТІК VI сем..docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
842.2 Кб
Скачать

6. Дослідження алгоритму кодування в коді Хаффмена

    1. Побудувати кодове дерево коду Хаффмена.

    2. Виходячи з кодового дерева побудуйте таблиці відповідності та кодовий еквівалент вибраного тексту, підрахуйте отриману довжину повідомлення в бітах k.

7. Визначте характеристики кожного із кодів. Із цією метою для кожного коду розрахуйте:

Коефіцієнт стискання для коду , визначений як відношення розміру n даних джерела в бітах до розміру k стислих даних в бітах

де - розмір алфавіту даних

Швидкість стиснення , що визначається як відношення розміру k стислих даних в бітах

і розміру n даних джерела в бітах, що відповідають відліку даних джерела.

Порівняйте коди за визниченими характеристиками. Підготуйте висновки.

Додаток 1

Основні теоретичні відомості

Оптимальні коди Шеннона-Фано. Принцип побудови оптимального коду Шеннона-Фано наступний.

  1. Повідомлення (в найпростішому випадку, – символи), що входять в ансамбль, розташовуються в рядок (у стовпець) у міру убування імовірності.

  2. Вибирається основа коду S (наприклад, S = 2).

  3. Всі повідомлення ансамблю розбиваються на S груп з рівною сумарною імовірністю усередині кожної групи. Всім повідомленням першої групи як перший символ привласнюється 0, повідомленням другої групи – символ 1, а повідомленням K-й групи – символ (S – 1); тим самим забезпечується рівна імовірність появи всіх символів 0, 1,…, S на першій позиції в кодових словах.

  4. Кожна з груп ділиться на S підгруп з рівною сумарною імовірністю в кожній підгрупі. Всім повідомленням перших підгруп як другий символ привласнюється 0, всім повідомленням других підгруп – 1, а повідомленням S – х підгруп – символ (S – 1).

  5. Процес продовжується до тих пір, поки в кожній підгрупі не виявиться по одній комбінації.

Приклад 1. Хай даний ансамбль повідомлень

Побудувати двійковий оптимальний код.

Оптимальний код будується відповідно до приведених правил:

Найімовірніше повідомлення кодується найкоротшим сигналом.

Відомо, що для двійкового коду умова оптимальності виглядає так:

,

де – ентропія (невизначеність) джерела, яка, в свою чергу визначається як:

,

і для наведеного прикладу дорівнює

(біт).

З другого боку, середнє значення (чи математичне сподівання) довжини повідомлення:

(біт).

Тобто в даному випадку nсер = Hд.

Одержаний оптимальний код є нерівномірним.

   Алгоритм побудови коду Хаффмена зводиться до того, що символи інформаційного повідомлення вписуються в стовпчик в порядку зменшення ймовірності. Два останні символи з найменшими ймовірностями об’єднуються в одне повідомлення таким чином, що з’являється один додатковий символ, який характеризує об’єднане повідомлення з сумарною ймовірністю Р = р1 + р2. На наступному кроці алгоритму знову об’єднуються символи що мають найменші невірності. Цей процес продовжується до тих пір, доки не буде одержана сумарна ймовірність Р = 1.

  Процес додавання ймовірностей можна зобразити за допомогою кодового дерева, у якого гілкам з більшою ймовірністю надається значення "1", а гілкам з меншою ймовірністю - "0". Якщо ймовірності однакові, то значення "1" присвоюється верхній гідні, а значення "0" - нижній. В результаті побудови кодового дерева ми можемо, рухаючись по кодовому дереву від вузла, з ймовірністю Р = 1 до символу, який потрібно закодувати, одержимо певну кодову комбінацію в коді Хаффмена.

  1. Лабораторне заняття № 4.2. Методи контролю та поновлення цілісності інформації з використанням двійкових завадостійких кодів. Двійкові коди з перевіркою на парність чи на непарність (контроль по модулю 2). Матричні коди

Мета лабораторного заняття: формування практичних навичок дослідження завадостійких кодів в каналах зв’язку та системах передачі інформації, закріплення та поглиблення знань студентів з вивчених під час лекцій та самостійної роботи.

Учбовий час – 4 години (180 хв.).

Місце проведення – лабораторія.

Метод проведення самостійна робота під керівництвом викладача.

Навчальні питання та розрахунок часу

№ п/п

Навчальні питання

Час (хв.)

Вступ

3

Колоквіум. Методі контролю та поновлення цілісності інформації з використанням завадостійких кодів.

15

Двійкові коди з перевіркою на парність чи на непарність (контроль по модулю 2)

75

Двійкові матричні коди.

75

Приймання звіту

10

Підбиття висновків

2

Завдання на лабораторну роботу

Задачі забезпечення цілісності і доступності інформаційних об'єктів в обчислювальних мережах. Двійкові коди з перевіркою на парність чи на непарність (контроль по модулю 2). Матричні коди

Ціль роботи: одержання практичних навичок із способів завдання, оцінки корегуючих властивостей двійкових кодів з перевіркою на парність чи на непарність (контроль по модулю 2) та матричних кодів.

Варіанти запитань для колоквіуму:

Двійкові коди з перевіркою на парність чи на непарність (контроль по модулю 2).

1.1. Принципи побудови кодів із перевіркою на парність чи на непарність;

1.2. Як здійснюється виправлення і виявлення спотворень;

1.3. Які спотворення не виявляються і чому.

Двійкові матричні коди.

2.1. Принципи побудови матричного коду;

2.2. Як здійснюється виправлення і виявлення спотворень;

2.3. Які спотворення не виявляються і чому?