Часть 2
-
Построить код Хаффмана для заданной символьной строки(Стекольников Артем Андреевич).
-
Рассчитать количество бит Qu в исходном сообщении при n=8 бит/символ.
N=28 – количество символов
Qu=N*8=28*8=224 бит
-
Рассчитать вероятности появления символов.
A=2
В=2
Д=1
Е=3
Ё=1
К=2
Л=1
М=1
Н=1
О=2
Р=2
С=1
Т=2
Ч=1
Ь=1
Пробел=2
Р(А)=0,0714
Р(В)=0,0714
Р(Д)=0,0357
Р(Е)=0,107
Р(Ё)=0,0357
Р(И)=0,0714
Р(К)=0,0714
Р(Л)=0,0357
Р(М)=0,0357
Р(Н)=0,0714
Р(О)=0,0714
Р(Р)=0,714
Р(С)=0,0357
Р(Т)=0,0714
Р(Ч)=0,0357
Р(Ь)=0,0357
Р(Пробел)=0,0714
-
Построить кодовое дерево.
-
3
Е
А
2
2
В
И
2
2
К
Н
2
2
О
Р
2
2
Т
пробел
2
1
Д
Ё
1
1
Л
М
1
1
С
Ч
1
Ь
1
2
21
2
3
4
4
4
4
41
5
8
8
9
11
17
28
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
-
Сформировать кодовый словарь.
-
Е=00, А=1110, В=0110, И=1010, К=0010, Н=1101, О=0101, Р=1001, Т=0001, Пробел=11111, Д=01111, Ё=10111, Л=00111, М=11011, С=01011, Ч=10011, Ь=00011.
-
Закодировать исходную строку, используя полученный кодовый словарь.
-
Строка: 01011000100001001010011100011110110100010011011111111010010001101111101111111111011010111110010000011010011
-
Рассчитать количество бит в закодированном сообщении и коэфициент сжатия Rсж.
-
Qu=111 бит
-
Rсж=224/111=2,018
-
II Построение кода Хэмминга.
-
Построить код Хэмминга для символьной строки, полученной для кода Хаффмана.
-
010110001000010010100111000111101101000100110111111110100100011011111011111111110110101111100100000110101010011
-
Разбить исходную последовательность на блоки по 4 разряда.
-
0101 1000 1000 0100 1010 0111 0001 1110 1101 0001 0011 0111 1111 1010 0100 0110 1011 1110 0100 0001 1010 1010 011
-
Получить проверочные разряды по формулам:
-
X5=x2+x3+x4; x6=x1+x3+x4; x7=x1+x2+x4
-
0101010 1000011 1000011 0100101 1010101 0111100 0001111 1110000 1101001 0001111 0011001 0111100 11111111 1010101 0100101 0110011 1111111 1011010 1111111 1111111 0110011 1011010 1110000 0100101 0001111 1010101 1010101 0110111
-
Показать на произвольно выбранном примере принцип обнаружения ошибки.
-
Допустим дан код:
-
-
Для проверки верен ли он мы используем формулу: =
-
Т.к. ответ совпадает с третьим столбцом матрицы, следовательно был передан неверен третий элемент, мы его инвертируем и получим правильный ответ.