Автор: Пользователь скрыл имя, 12 Июня 2013 в 12:45, курсовая работа
С представлением, хранением и передачей информации неразрывно связан термин «кодирование» - процесс преобразования сигнала из формы, удобной для непосредственного использования информации, в форму, удобную для передачи, хранения или автоматической переработки. Этот процесс являет собой представление информации символами, знаками, взятыми из определенного алфавита по определённым правилам.
В данной работе будут кратко рассмотрены наиболее распространённые методы, применяемые для решения поставленных задач, и приведены примеры кодирования информации с использованием рассматриваемых методов.
ВВЕДЕНИЕ 3
ПОСТАНОВКА ЗАДАЧИ 5
РЕШЕНИЕ ПО РАЗДЕЛАМ 7
1. Исходные данные 7
2. Простейшие коды 8
2.1. Двоично-десятичные коды 8
2.2. Код Грея 10
3. Статическое кодирование 14
3.1. Количество информации и энтропия 14
3.2. Код Шеннона-Фано 16
3.3. Код Хаффмана 21
4. Коды, обнаруживающие ошибки 30
4.1. Код с проверкой на чётность 30
4.2. Код с проверкой на нечетность 31
4.3. Инверсный код 32
4.4. Корреляционный код 34
4.5. Код Бергера 35
4.6. Код на одно сочетание 36
4.7. Код с количеством единиц, кратным трем 38
5. Коды, обнаруживающие ошибки 39
5.1. Код Варшамова в матричном представлении 39
5.2. Код Хэмминга 44
5.3. Расширенный код Хэмминга 50
5.4. Итеративный код 52
5.5. Коды-спутники 54
5.6. Циклический код 57
5.7. Код БЧХ 62
5.8. Рекуррентный код 67
6. Канальные коды 71
6.1. Дуобинарный код 71
6.2. Квазитроичный код 72
6.3. Код Манчестер 2 73
6.4. Код 4B3T 74
7. Штриховые коды 77
ЗАКЛЮЧЕНИЕ 80
Приложение А 81
Приложение Б 83
Y18 = X18 xor X19 = 0 Y6 = X6 xor X7 = 0
Y17 = X17 xor X18 = 0 Y5 = X5 xor X6 = 0
Y16 = X16 xor X17 = 0 Y4 = X4 xor X5 = 1
Y15 = X15 xor X16 = 0 Y3 = X3 xor X4 = 1
Y14 = X14 xor X15 = 0 Y2 = X2 xor X3 = 0
Y13 = X13 xor X14 = 1 Y1 = X1 xor X2 = 0
Закодированная кодовая комбинация:
1001 1000 0001 1101 0000 1100.
Декодируем полученную кодовую комбинацию:
1001 1000 0001 1101 0000 1100.
X24 = Y24 = 1
X23 = Y24xorY23 = 1
X22 = Y24xorY23xorY22 = 1
X21 = Y24xorY23xorY22xorY21x = 0
X20 = Y24xorY23xorY22xorY21xor
X19 = Y24xorY23xorY22xorY21xor
X18 = Y24xorY23xorY22xorY21xor
X17 = Y24xorY23xorY22xorY21xor
X16 = Y24xorY23xorY22xorY21xor
X15 = Y24xorY23xorY22xorY21xor
X14 = Y24xorY23xorY22xorY21xor
X13 = Y24xorY23xorY22xorY21xor
X12 = Y24xorY23xorY22xorY21xor
X11 = Y24xorY23xorY22xorY21xor
X10 = Y24xorY23xorY22xorY21xor
X9 = Y24xorY23xorY22xorY21xorY
X8 = Y24xorY23xorY22xorY21xorY
X7 = Y24xorY23xorY22xorY21xorY
X6 = Y24xorY23xorY22xorY21xorY
X5 = Y24xorY23xorY22xorY21xorY
X4 = Y24xorY23xorY22xorY21xorY
X3 = Y24xorY23xorY22xorY21xorY
X2 = Y24xorY23xorY22xorY21xorY
X1 = Y24xorY23xorY22xorY21xorY
Декодированное сообщение:
1110 1111 1110 1001 1111 0111.
1111 1111 1110 1001 1111 0111,
и найдем вес ошибки, отняв от искаженной комбинации исходную:
w = 1111 1111 1110 1001 1111 0111 – 1110 1111 1110 1001 1111 0111=
= 1 0000 0000 0000 0000 00002 = 1 048 57610.
1000 1000 0001 1101 0000 1100,
декодируем искаженную кодовую комбинацию:
111100000001011000001000
1111 0010 0001 0100 0001 0010,
и найдем вес ошибки, отняв от декодированной искаженной комбинации исходную:
wГр = 1111 0000 0001 0110 0000 1000- 1110 1111 1110 1001 1111 0111=
= 10 1100 0001 00012 = 11 28110.
1 048 57610 > 11 28110,
то есть: w > wГр.
Количество информации является апостериорной характеристикой и определяет количество информации, которое получают после приема сообщений. Если pi – вероятность i-ого сообщения, то индивидуальное количество информации:
Энтропия – это средняя
Для текста, составленного из полного написания моих фамилии, имени и отчества и фамилии, имени и отчества моих родителей посчитем вероятности появления букв pi (прописную и строчную буквы будем считать одной), количество информации в символах Ii и энтропию источника H по соответствующим формулам. Вероятности появления букв будем рассчитывать следующим образом:
где ni - количество i-той буквы в тексте,
n - общее количество букв в тексте
Исходный текст:
Оконский Илья Вячеславович
Оконский Вячеслав Анатолиевич
Оконская Наталия Сергеевна,
количество букв в данном тексте:
По формулам (4) и (2) рассчитаем искомые величины для каждой буквы и представим их значения в виде таблицы.
Таблица 1
Значения количества в исходном тексте, вероятностей появления и количества информации для каждой буквы алфавита.
Буква |
ni |
pi |
Ii |
о |
8 |
0,1067 |
3,2288 |
к |
6 |
0,0800 |
3,6439 |
н |
6 |
0,0800 |
3,6439 |
с |
6 |
0,0800 |
3,6439 |
и |
7 |
0,0933 |
3,4215 |
й |
2 |
0,0267 |
5,2288 |
л |
5 |
0,0667 |
3,9069 |
ь |
1 |
0,0133 |
6,2288 |
я |
5 |
0,0667 |
3,9069 |
в |
7 |
0,0933 |
3,4215 |
ч |
4 |
0,0533 |
4,2288 |
е |
6 |
0,0800 |
3,6439 |
а |
8 |
0,1067 |
3,2288 |
т |
2 |
0,0267 |
5,2288 |
р |
1 |
0,0133 |
6,2288 |
г |
1 |
0,0133 |
6,2288 |
Рассчитаем по формуле (3) энтропию источника сообщений и получим следующее значение:
Основной принцип, положенный в основу кодирования по методу Шеннона-Фано, заключается в том, что при выборе каждой цифры кодовой комбинации следует стремиться к тому, чтобы содержащееся в ней количество информации было наибольшим. Т.е. чтобы независимо от значений всех предыдущих цифр эта цифра принимала оба возможных для нее значения (0 или 1) по возможности с одинаковой вероятностью. Разумеется, количество цифр в различных обозначениях при этом различно, т.е. данный код является неравномерным. Сообщениям, имеющим большую вероятность, соответствуют короткие кодовые комбинации, имеющие меньшую вероятность – более длинные кодовые комбинации.
Кодовые комбинации строятся следующим образом:
Закодируем полученный в п. 3.3.1. алфавит кодом Шеннона-Фано.
Таблица 2
Иллюстрация кодирования нашего алфавита кодом Шеннона-Фано
Буква |
pi |
Шаги кодирования |
Конечная кодовая комбинация | ||||||
I |
II |
III |
IV |
V |
VI |
VII | |||
о |
0,1067 |
0 |
0 |
0 |
000 | ||||
а |
0,1067 |
0 |
0 |
1 |
001 | ||||
и |
0,0933 |
0 |
1 |
0 |
0 |
0100 | |||
в |
0,0933 |
0 |
1 |
0 |
1 |
0101 | |||
к |
0,08 |
0 |
1 |
1 |
0 |
0110 | |||
н |
0,08 |
0 |
1 |
1 |
1 |
0111 | |||
с |
0,08 |
1 |
0 |
0 |
0 |
1000 | |||
е |
0,08 |
1 |
0 |
0 |
1 |
1001 | |||
л |
0,0667 |
1 |
0 |
1 |
0 |
1010 | |||
я |
0,0667 |
1 |
0 |
1 |
1 |
1011 | |||
ч |
0,0533 |
1 |
1 |
0 |
0 |
1100 | |||
й |
0,0267 |
1 |
1 |
0 |
1 |
1101 | |||
т |
0,0267 |
1 |
1 |
1 |
0 |
1110 | |||
ь |
0,0133 |
1 |
1 |
1 |
1 |
0 |
0 |
111100 | |
р |
0,0133 |
1 |
1 |
1 |
1 |
0 |
1 |
111101 | |
г |
0,0133 |
1 |
1 |
1 |
1 |
1 |
11111 |
Кодирование ФИО
Закодируем в данном алфавите мое ФИО кодом Шеннона-Фано.
Исходный текст:
ОИВ;
кодовые комбинации для букв:
О – 000,
И – 0100;
В - 0101
тогда закодированное ФИО:
00001000101.
Кодовая комбинация ФИО, закодированная кодом Шеннона-Фано, имеет длину 13 бит, а закодированная цифровым кодом – длину 24 бита, то есть ФИО в коде Шеннона-Фано приблизительно в два раза короче ФИО в цифровом коде.
Докажем, что код Шеннона-Фано является оптимальным кодом.
Средняя длина кодовой
комбинации для определенного
где li – длина кодовой комбинации i-го закодированного символа первичного алфавита,
pi – вероятность появления i-го символа алфавита.
Эта величина показывает, сколько символов вторичного алфавита (ансамбля сообщений B) приходится на символ первичного алфавита (ансамбля сообщений A) в закодированном сообщении.
По формуле (5) найдем среднюю длину кодовой комбинации для нашего алфавита (количество символов алфавита n = 16), закодированного кодом Шеннона-Фано, и получим следующее значение:
то есть в среднем на один символ нашего алфавита приходится 3,8531 двоичных символов.
Количество символов нашего алфавита n = 16. Следовательно, длина кодовой комбинации равномерного двоичного кода, которым можно закодировать наш алфавит, будет равняться 4, поскольку таким кодом можно закодировать алфавит, максимальное количество символов которого будет равняться 24 = 16.
Это означает, что необходимая длина кодовой комбинации равномерного двоичного кода больше средней длины кодовой комбинации Шеннона-Фано.
Рассчитанная ранее по формуле (3) энтропия источника первичного ансамбля сообщений A равна:
Информация о работе Курсовая работа по «Основам сбора, передачи и обработки информации»