- •«Код Хэмминга»
- •Цель работы
- •Подробное решение
- •1) Необходимо закодировать в коде Хэмминга первые буквы моей фамилии, имени, отчества – «щ», «к», «б» в кодах ascii и записать выражение для контрольных символов.
- •2) Сформировать указатель ошибки для принятого кода 100110001001 и записать выражения для разрядов указателя ошибки.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Национальный исследовательский Томский политехнический университет
Институт кибернетики
Направление 230100 «Информатика и вычислительная техника»
Кафедра вычислительной техники
Теория информации
Вариант №17
Отчет по лабораторной работе № 4
«Код Хэмминга»
Выполнил:
студент гр. 8В01 _____________ Щукова К.Б.
___.___.______
Проверил:
доцент каф. ВТ _____________ Мальчуков А.Н.
___.___.______
Цель работы
Изучение корректирующего кода Хэмминга, позволяющего обнаруживать двукратную и исправлять однократную ошибку, а именно: составление структуры кодовой группы для заданного количества букв используемого алфавита, составление выражений для формирования контрольных символов, составление выражений для формирователя указателя ошибки, экспериментальная проверка корректирующих свойств кода, выбор оптимальной длины передаваемого кода.
Подробное решение
1) Необходимо закодировать в коде Хэмминга первые буквы моей фамилии, имени, отчества – «щ», «к», «б» в кодах ascii и записать выражение для контрольных символов.
В таблице ASCII ищу двоичное значение «К», «Щ», «Б» в коде ASCII и записываю в таблицу соответствующие битам информационные символы.
Буква |
а8 |
а7 |
а6 |
а5 |
а4 |
а3 |
а2 |
а1 |
«Щ» |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
«К» |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
«Б» |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Далее составляю выражения для контрольных символов. Для этого использую формулы, в которых значения информационных символов складываются при помощи операции - сложение по модулю :
q1= a1 a2 a4 a5 a7
q2= a1 a3 a4 a6 a7
q3= a2 a3 a4 a8
q4= a5 a6 a7 a8
Вычисляю контрольные символы:
«Щ»
q1= a1 a2 a4 a5 a7 = 1 0 1 1 0= 1
q2= a1 a3 a4 a6 a7= 1 0 1 0 0= 0
q3= a2 a3 a4 a8 = 0 0 1 1= 0
q4= a5 a6 a7 a8 = 1 0 0 1= 0
«К»
q1= a1 a2 a4 a5 a7 = 0 1 1 0 0 = 0
q2= a1 a3 a4 a6 a7= 0 0 1 0 0 = 1
q3= a2 a3 a4 a8 = 1 0 1 1= 1
q4= a5 a6 a7 a8 = 0 0 0 1= 1
«Б»
q1= a1 a2 a4 a5 a7 = 1 0 0 0 0 = 1
q2= a1 a3 a4 a6 a7 = 1 0 0 0 0 = 1
q3= a2 a3 a4 a8 = 0 0 0 1 = 1
q4= a5 a6 a7 a8 = 0 0 0 1 = 1
Подсчитанные значения подставляю в таблицы:
«Щ»
Номер позиции N |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Символ |
q1 |
q2 |
a1 |
q3 |
a2 |
a3 |
a4 |
q4 |
a5 |
a6 |
a7 |
a8 |
Значение |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
В коде Хэмминга символ «Щ» будет закодирован так: 101000101001
«К»
Номер позиции N |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Символ |
q1 |
q2 |
a1 |
q3 |
a2 |
a3 |
a4 |
q4 |
a5 |
a6 |
a7 |
a8 |
Значение |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
В коде Хэмминга символ «К» будет закодирован так: 010110110001
«Б»
Номер позиции N |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Символ |
q1 |
q2 |
a1 |
q3 |
a2 |
a3 |
a4 |
q4 |
a5 |
a6 |
a7 |
a8 |
Значение |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
В коде Хэмминга символ «Б» будет закодирован так: 111100010001