- •Часть 1. Кодирование дискретного сигнала 4
- •Часть 2. Измерение дискретного сигнала 23
- •Часть 3. Формы представления чисел 25
- •Часть 4. Правила оформления курсовой работы 29
- •Задание 2. Коды, учитывающие частоту символов
- •Указания по выполнению задания 2
- •Задание 3. Коды Грея
- •Указания к выполнению задания 3
- •1.2. Криптографическое кодирование дискретного сигнала Задание 4. Метод простой подстановки
- •Указания по выполнению задания 4
- •Задание 5. Метод Виженера
- •Указания по выполнению задания 5
- •1.3. Эффективное кодирование дискретного сигнала Задание 6. Метод Шеннона - Фано
- •Указания по выполнению задания 6
- •Задание 7. Метод Хаффмена
- •Указания по выполнению задания 7
- •1.4. Помехозащитное кодирование дискретного сигнала Задание 8. Построение кода для обнаружения ошибок
- •Указания по выполнению задания 8
- •Задание 9. Построение кода для исправления ошибок
- •Указания по выполнению задания 9
- •Часть 2. Измерение дискретного сигнала Задание 10. Анализ эффективности кодирования
- •Указания по выполнению задания 10
- •Часть 3. Формы представления чисел Задание 11. Сложение в обратных кодах
- •Указания по выполнению задания 11
- •Нормализация
- •Размещение в разрядных сетках
- •Часть 4. Правила оформления курсовой работы
- •Курсовая работа по дисциплине «Информационные технологии»
Задание 7. Метод Хаффмена
Выполнить кодирование исходного текста методом Хаффмена. Частоты символов алфавита А заимствовать из задания 6.
Указания по выполнению задания 7
для построения кода выполним следующие шаги:
используем в качестве исходных данных графы 1 и 2 табл. 12, расположив их в графах 1 и 2 табл. 13,
выполним последовательное объединение частот в соответствии с методом Хаффмена (графа 3 табл.13),
Таблица 13
Символ алфавита А |
Частота символа fi |
Этапы объединения частот |
|||||||||||
1 |
2 |
3 |
|||||||||||
I |
II |
III |
IV |
V |
VI |
VII |
VIII |
IX |
X |
XI |
XII |
||
|
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,25 |
0,35 |
0,4 |
0,6 |
1 |
и |
0,15 |
0,15 |
0,15 |
0,15 |
0,15 |
0,15 |
0,2 |
0,2 |
0,2 |
0,25 |
0,35 |
0,4 |
- |
а |
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
0,15 |
0,15 |
0,2 |
0,2 |
0,2 |
0,25 |
- |
- |
е |
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
0,15 |
0,15 |
0,2 |
0,2 |
- |
- |
- |
л |
0,05 |
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
0,15 |
0,15 |
- |
- |
- |
- |
н |
0,05 |
0,05 |
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
0,1 |
- |
- |
- |
- |
- |
о |
0,05 |
0,05 |
0,05 |
0,1 |
0,1 |
0,1 |
0,1 |
- |
- |
- |
- |
- |
- |
п |
0,05 |
0,05 |
0,05 |
0,05 |
0,1 |
0,1 |
- |
- |
- |
- |
- |
- |
- |
р |
0,05 |
0,05 |
0,05 |
0,05 |
0,05 |
- |
- |
- |
- |
- |
- |
- |
- |
с |
0,05 |
0,05 |
0,05 |
0,05 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
т |
0,05 |
0,05 |
0,05 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
ч |
0,05 |
0,05 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
ь |
0,05 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
построим бинарное дерево и закодируем его ребра (рис. 2, коды ребер заключены в окружности),
начиная с корня дерева, «соберем» коды ребер и сформируем коды символов исходного алфавита (табл. 14),
Таблица 14
Символ алфавита А |
в |
и |
а |
е |
л |
н |
о |
п |
р |
с |
т |
ч |
ь |
Код |
01 |
111 |
100 |
1101 |
1010 |
10111 |
10110 |
0001 |
0000 |
0011 |
0010 |
11001 |
11000 |
для кодирования исходного текста используем табл.14. Имеем (для простоты закодируем отдельно фамилию, имя и отчество):
петров 0001 1101 0010 0000 10110 01
иван 111 01 100 10111 (16)
васильевич 01 100 0011 111 1010 11000 1101 01 111 11001
1
0,6 XI
0
,4 X
0,2(в)
0,35 IX
0,15(и)
0,25 VIII
0,1(а)
0 ,2 VII
0,1(е)
0,2 VI
0,15 V
0,05(л)
0,1 IV
0,05(н) 0,05(о)
0,1 III
0,05(п) 0,05(р)
0,1 II
0,05(с) 0,05(т)
0
,1 I
0,05(ч) 0,05(ь)
этапы объединения частот
из табл.13
Рис. 2. Кодовое бинарное дерево для задания 7

в