Курсовая работа по «Основам сбора, передачи и обработки информации»

Автор: Пользователь скрыл имя, 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

Файлы: 1 файл

Kursa4_TIK.doc

— 1.17 Мб (Скачать)

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 = Y24xorY23xorY22xorY21xorY20 = 1

X19 = Y24xorY23xorY22xorY21xorY20xorY19 = 1

X18 = Y24xorY23xorY22xorY21xorY20xorY19xorY18 = 1

X17 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17 = 1

X16 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16 = 1

X15 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15 = 1

X14 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16 xorY15xorY14 = 1

X13 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13 = 0

X12 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12 = 1

X11 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 = 0

X10 = Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 = 0

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9 = 1

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9xorY8 = 1

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9xorY8 xorY7 = 1

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9xorY8 xorY7xorY6 = 1

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9xorY8 xorY7xorY6xorY5 = 1

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9xorY8 xorY7xorY6xorY5xorY4 = 0

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9xorY8 xorY7xorY6xorY5xorY4xorY3 = 1

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11 xorY10 xorY9xorY8 xorY7xorY6xorY5xorY4xorY3xorY2 = 1

X= Y24xorY23xorY22xorY21xorY20xorY19xorY18xorY17xorY16xorY15xorY14xor Y13xorY12xorY11xorY10xorY9xorY8xorY7xorY6xorY5xorY4xorY3xorY2xor Y1 = 1

Декодированное сообщение:

1110 1111 1110 1001 1111 0111.

Иллюстрация уменьшения веса ошибки

    1. Внесем ошибку в исходную кодовую комбинацию в 4й слева разряд:

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.

    1. Внесем ошибку в эту же кодовую комбинацию, но закодированную кодом Грея, в 4й слева разряд:

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. Сравним веса ошибок при искажении исходного сообщения и при искажении этого же сообщения, закодированного кодом Грея:

1 048 57610 > 11 28110,

то есть: w > wГр.

    1. Вывод: при искажении данных, закодированных кодом Грея, вес ошибки уменьшается по сравнению с весом ошибки при аналогичном искажении исходного двоичного кода.

 

3. Статическое  кодирование

3.1. Количество информации и энтропия

Краткие теоретические сведения

Количество информации является апостериорной  характеристикой и определяет количество информации, которое получают после приема сообщений. Если pi – вероятность i-ого сообщения, то индивидуальное количество информации:

 (2)

Энтропия – это средняя величина неопределенности состояния источника  сообщения. Является объективной характеристикой источника сообщений, и, если известна статистика сообщений, может быть определена априорно, т.е до получения сообщений.

 (3)

Анализ источника

Для текста, составленного из полного  написания моих фамилии, имени и  отчества и фамилии, имени и отчества моих родителей посчитем вероятности появления букв pi (прописную и строчную буквы будем считать одной), количество информации в символах Ii и энтропию источника H по соответствующим формулам. Вероятности появления букв будем рассчитывать следующим образом:

, (4)

где 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) энтропию источника сообщений и получим  следующее значение:

 

3.2. Код Шеннона-Фано

Краткие теоретические сведения

Основной принцип, положенный в основу кодирования по методу Шеннона-Фано, заключается в том, что при выборе каждой цифры кодовой комбинации следует стремиться к тому, чтобы содержащееся в ней количество информации было наибольшим. Т.е. чтобы независимо от значений всех предыдущих цифр эта цифра принимала оба возможных для нее значения (0 или 1) по возможности с одинаковой вероятностью. Разумеется, количество цифр в различных обозначениях при этом различно, т.е. данный код является неравномерным. Сообщениям, имеющим большую вероятность, соответствуют короткие кодовые комбинации, имеющие меньшую вероятность – более длинные кодовые комбинации.

Кодовые комбинации строятся следующим образом:

  1. Сообщения и их вероятности записываются в таблицу и сортируются по убыванию по вероятностям.
  2. Таблица делится на две части так, чтобы суммы вероятностей в обеих частях были бы наиболее близки. Если получается два варианта разбиения, для которых одинаково близки  суммы вероятностей, различное для них сообщение относится к верхней подгруппе.
  3. В верхней подтаблице в качестве старшего бита кодового слова записывается 0, в нижней – 1.
  4. Деление подтаблиц по п.2 повторяется рекурсивно до получения окончательных кодовых комбинаций (количество сообщений в подтаблице станет равным 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 бита, то есть ФИО в коде Шеннона-Фано приблизительно в два раза короче ФИО в цифровом коде.

Доказательство оптимальности кода

Докажем, что код Шеннона-Фано является оптимальным кодом.

    1. Код Шеннона-Фано - неравномерный код. Чтобы он был оптимальным, необходимо, чтобы средняя длина кодовой комбинации для определенного алфавита, закодированного этим кодом, была меньше длины кодовой комбинации равномерного двоичного кода, которым можно закодировать этот алфавит.

Средняя длина кодовой  комбинации для определенного закодированного  алфавита вычисляется по формуле:

, (5)

где l– длина кодовой комбинации i-го закодированного символа первичного алфавита,

p– вероятность появления i-го символа алфавита.

Эта величина показывает, сколько символов вторичного алфавита (ансамбля сообщений B) приходится на символ первичного алфавита (ансамбля сообщений A) в закодированном сообщении.

По формуле (5) найдем среднюю  длину кодовой комбинации для  нашего алфавита (количество символов алфавита n = 16), закодированного кодом Шеннона-Фано, и получим следующее значение:

,

то есть в среднем на один символ нашего алфавита приходится 3,8531 двоичных символов.

Количество символов нашего алфавита n = 16. Следовательно, длина кодовой комбинации равномерного двоичного кода, которым можно закодировать наш алфавит, будет равняться 4, поскольку таким кодом можно закодировать алфавит, максимальное количество символов которого будет равняться 24 = 16.

Это означает, что необходимая  длина кодовой комбинации равномерного двоичного кода больше средней длины  кодовой комбинации Шеннона-Фано.

    1. Сравним энтропию источника первичного ансамбля сообщений A (нашего алфавита) с энтропией этого же источника при кодировании его ансамбля сообщений кодом Шеннона-Фано.

Рассчитанная ранее по формуле (3) энтропия источника первичного ансамбля сообщений A равна:

Информация о работе Курсовая работа по «Основам сбора, передачи и обработки информации»