Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Код Хемминга

Тип Реферат
Предмет Информатика
Просмотров
1459
Размер файла
44 б
Поделиться

Ознакомительный фрагмент работы:

Код Хемминга

Содержание.

1. Значение кода Хемминга.

2. Код Хемминга.

3. Принцип построения кодов Хемминга.

4. Применение.

5.Литература.

1. Значение кода Хемминга

Код Хэмминга – систематический код, то есть состоящий из информационных и корректирующих символов, расположенных по строго определенной системе, имеющих одинаковую длину и всегда занимающих строго определенные места в кодовых комбинациях.

Предложенные Хэммингом регулярные методы построения кодов, корректирующих ошибки, имеют фундаментальное значение. Они демонстрируют инженерам практическую возможность достижения пределов, на которую указывали законы теории информации. Эти коды нашли практическое применение при создании компьютерных систем. Работа Хэмминга привела к решению проблемы более плотной упаковки для конечных полей. Он ввел в научный обиход важнейшие понятия теории кодирования – расстояние Хэмминга между кодовыми комбинациями в векторном пространстве, определяемом для двоичных кодов как количество позиций этих комбинаций с различными символами, и границы Хэмминга для исправляющей способности блочных корректирующих кодов. Граница Хэмминга для двоичных кодов рассчитывается по следующей формуле:

В этом выражении число ошибок e может быть исправлено корректирующим блочным кодом длиной N, имеющим М кодовых комбинаций (CjN – биномиальный коэффициент).

Работа Хэмминга сыграла ключевую роль в последующем развитии теории кодирования и стимулировала обширные исследования, выполненные в последующие годы.

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

2. Коды Хемминга.

Коды Хемминга являются самоконтролирующимися кодами, т.е кодами, позволяющими автоматически обнаруживать наиболее вероятные ошибки при передаче данных. Для их построения достаточно приписать к каждому слову один добавочный (контрольный) двоичный разряд и выбрать цифру этого разряда так, чтобы общее количество единиц в изображении любого числа было, например, четным. Одиночная ошибка в каком-либо разряде передаваемого слова (в том числе, может быть, и в контрольном разряде) изменит четность общего количества единиц. Счетчики по модулю 2, подсчитывающие количество единиц, которые содержатся среди двоичных цифр числа, могут давать сигнал о наличии ошибок.

При этом, разумеется, мы не получаем никаких указаний о том, в каком именно разряде произошла ошибка, и, следовательно, не имеем возможности исправить её. Остаются незамеченными также ошибки, возникающие одновременно в двух, в четырёх или вообще в четном количестве разрядов. Впрочем, двойные, а тем более четырёхкратные ошибки полагаются маловероятными.

Коды, в которых возможно автоматическое исправление ошибок, называются самокорректирующимися. Для построения самокорректирующегося кода, рассчитанного на исправление одиночных ошибок, одного контрольного разряда недостаточно.Как видно из дальнейшего, количество контрольных разрядов k должно быть выбрано так, чтобы удовлетворялось неравенству или , где m - количество основных двоичных разрядов кодового слова. Минимальные значения k при заданных значениях m, найденные в соответствии с этим неравенством, приведены в таблице № 1

Диапазон mkmin
12
2-43
5-114
12-265
27-576

Имея m+k разрядов, самокорректирующийся код можно построить следующим образом.

Присвоим каждому из разрядов свой номер - от 1 до m+k; запишем эти номера в двоичной системе счисления. Поскольку 2k > m + k ,каждый номер можно представить, очевидно, k-разрядным двоичным числом.

Предположим далее, что все m+k разрядов кода разбиты на контрольные группы, которые частично перекрываются, причем так, что единицы в двоичном представлении номера разряда указывают на его принадлежность к определённым контрольным группам. Например: разряд № 5 принадлежит к 1-й и 3-й контрольным группам, потому что в двоичном представлении его номера 510 = …0001012 - 1-й и 3-й разряды содержат единицы.

Среди m+k разрядов кода при этом имеется k разрядов, каждый из которых принадлежит только к одной контрольной группе:

Разряд № 1: 110 = …0000012 принадлежит только к 1-й контрольной группе.

Разряд № 2: 210 = …0000102 принадлежит только к 2-й контрольной группе.

Разряд № 4: 410 = …0001002 принадлежит только к 3-й контрольной группе.

Разряд № 2k1 принадлежит только к k-й контрольной группе.

Эти k разрядов мы и будем считать контрольными. Остальные m разрядов, каждый из которых принадлежит, по меньшей мере, к двум контрольным группам, будут информационными разрядами.

В каждой из k контрольных групп будем иметь по одному контрольному разряду. В каждый из контрольных разрядов поместим такую цифру (0 или 1), чтобы общее количество единиц в его контрольной группе было четным.

Например, довольно распространен код Хеминга с m=7 и k=4.

Пусть исходное слово (кодовое слово без контрольных разрядов) - 01101012.

Обозначим Pi - контрольный разряд №i; а Di - информационный разряд №i, где i = 1,2,3,

4…

1234567891011
№ разряда:00010010001101000101011001111000100110101011
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7
Информационное кодовое слово :0110101
p1101011
p2001001
p30110
p40101
Кодовое слово с контрольными разрядами:10001100101

Интересно посмотреть, как перекрываются контрольные группы в данном случае (Рис №1). Первая группа контролирует разряды № 3,5,7,9,11 исходного кода, вторая — 3,6,7,10,11 (№ группы = № контрольного разряда). Очевидно, что они частично перекрываются.

Рис.№1 Первая группа контролирует разряды № 3,7,5 исходного кода, вторая — 3,7,6… Очевидно что они частично перекрываются

Предположим теперь, для примера, что при передаче данного кодового слова 10001100101 произошла ошибка в 11–м разряде, так, что было принято новое кодовое слово 10001100100. Произведя в принятом коде проверку четности внутри контрольных групп, мы обнаружили бы, что количество единиц нечетно в 1-й,2-й и 4-й контрольных группах, и четно в 3-й контрольной группе. Это указывает, во-первых, на наличие ошибки, во-вторых, означает, что номер ошибочно принятого разряда в двоичном представлении содержит единицы на первом, втором и четвёртом местах и нуль - на третьем месте, т.к ошибка только одна, и 3-я контрольная сумма оказалась верной.

№ разряда:00010010001101000101011001111000100110101011
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7Контроль по четности в группеКонтрольный бит
Переданное кодовое слово:10001100101
Принятое кодовое слово:10001100100
p1101010Fail1
p2001000Fail1
p30110Pass0
p40100Fail1
p4p3p2p1
В двоичном представлении1011
В десятичном представлении821Σ = 11

Из таблицы следует, что ошибка произошла в 11-м разряде и её можно исправить. Построенный код, разумеется, не рассчитан на возможность одновременной ошибки в двух разрядах.

Например (Рис №2), когда ошибки одновременно прошли в 3-м и 7-м разрядах исходного кода, первый и второй контрольные биты даже не замечают подмены.

Рис.№2 Когда ошибки прошли в 3-м и 7-м разрядах исходного кода, первый и второй контрольные биты даже не замечают ошибки

Когда в принятом коде производится проверка четности внутри контрольных групп, случай двойной ошибки ничем внешне не отличается от случая одиночной ошибки.

Например, предположим теперь, что при передаче данного кодового слова 10001100101 произошли ошибки в 3-м и 6-м разрядах, так, что принято кодовое слово 10101000101.

№ разряда:00010010001101000101011001111000100110101011
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7Контроль по четности в группеКонтрольный бит
Переданное кодовое слово:10001100101
Принятое кодовое слово:10101000101
p1111011Fail1
p2010001Pass0
p30100Fail1
p40101Pass0
p4p3p2p1
В двоичном представлении0101
В десятичном представлении41Σ = 5

Вывод: ошибка произошла в 5-м разряде Истинное кодовое слово : 1 0 0 0 1 1 0 0 1 0 1 Ошибочное кодовое слово : 1 0 1 0 1 0 0 0 1 0 1 Исправленное кодовое слово : 1 0 1 0 0 0 0 0 1 0 1 Результат получается ещё более отдаленным от правильного, чем принятый код. Исправление кода по общему правилу не только не улучшило, но даже ухудшило бы дело.

Можно построить и такой код, который обнаруживал бы двойные ошибки и исправлял одиночные. Для этого к самокорректирующемуся коду, рассчитанному на исправление одиночных ошибок, нужно приписать ещё один контрольный разряд (разряд двойного контроля). Полное количество разрядов кода при этом будет m+k+1. Цифра в разряде двойного контроля устанавливается такой, чтобы общее количество единиц во всех m + k + 1 разрядах кода было четным. Этот разряд не включается в общую нумерацию и не входит ни в одну контрольную группу.

Например, код Хеминга с m=7 и k=4 Пусть информационное кодовое слово - 0110101

№ разряда:00010010001101000101011001111000100110101011Second Parity
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7
Информационное кодовое слово:0110101
p1101011
p2001001
p30110
p40101
Кодовое слово с контрольными разрядами:100011001011

При этом могут быть следующие случаи.

1. В принятом коде в целом и по всем контрольным группам количество единиц четно. Если тройные ошибки и ошибки в большем количестве разрядов исключаются, то первый случай соответствует безошибочному приему кода. Например

2.

№ разряда:00010010001101000101011001111000100110101011Контроль по четности в группеКонтрольный битКонтроль по четности в целомКонтрольный бит в целом
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7
Переданное кодовое слово:10001100101
Принятое кодовое слово:10001100101
p1101011Pass0
p2001001Pass0
p30110Pass0
p40101Pass01Pass
p4p3p2p1
В двоичном представлении0000
В десятичном представленииΣ = 0

2. В принятом коде в целом количество единиц нечетно, но во всех контрольных группах количество единиц четно. Второй случай - ошибки только в разряде двойного контроля. Например

№ разряда:00010010001101000101011001111000100110101011Контроль по четности в группеКонтрольный битКонтроль по четности в целомКонтрольный бит в целом
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7
Переданное кодовое слово:10001100101
Принятое кодовое слово:10001100101
p1101011Pass0
p2001001Pass0
p30110Pass0
p40101Pass00Fail
p4p3p2p1
В двоичном представлении0000
В десятичном представленииΣ = 0

3. В принятом коде в целом и в некоторых из контрольных групп количество единиц нечетно. Третий случай — одиночной ошибки в каком-либо из остальных разрядов (можно исправить в соответствии с приведенными выше правилами)

№ разряда:00010010001101000101011001111000100110101011Контроль по четности в группеКонтрольный битКонтроль по четности в целомКонтрольный бит в целом
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7
Переданное кодовое слово :10001100101
Принятое кодовое слово:10001100100
p1101010Fail1
p2001000Fail1
p30110Pass0
p40100Fail11Fail
p4p3p2p1
В двоичном представлении1011
В десятичном представлении821Σ = 11

Из таблицы следует, что ошибка произошла в 11-м разряде и что её можно исправить.

4. В принятом коде в целом количество единиц четно, но в некоторых контрольных группах имеется нечетное количество единиц - двойная ошибка

№ разряда:00010010001101000101011001111000100110101011Контроль по четности в группеКонтрольный битКонтроль по четности в целомКонтрольный бит в целом
Распределение контрольных и информационных разрядовp1p2d1p3d2d3d4p4d5d6d7
Переданное кодовое слово:10001100101
Принятое кодовое слово:10101000101
p1111011Fail1
p2010001Pass0
p30100Fail1
p40101Pass01Pass
p4p3p2p1
В двоичном представлении0101
В десятичном представлении41Σ = 5

Раз получившаяся сумма не равна нулю, а контрольный бит указывает на ошибку передачи, то обнаруживаем двойную ошибку. Исправление двойных ошибок здесь, конечно, невозможно.

Увеличивая дальше количество контрольных разрядов, можно было бы построить коды, рассчитанные на исправление двойных ошибок и обнаружение тройных и т.д. Однако методы построения этих кодов не вполне разработаны.

3. Принцип построения кодов Хемминга.

Построение кодов Хемминга базируется на принципе проверки начетность веса W (числа единичных символов) в информационной груп-пе кодового блока. Поясним идею проверки на четность на примере простейшего кор-ректирующего кода, который так и называется кодом с проверкой начетность или кодом с проверкой по паритету (равенству). В таком коде к кодовым комбинациям безызбыточного первичногодвоичного k-разрядного кода добавляется один дополнительный разряд(символ проверки на четность, называемый проверочным, или конт-рольным). Если число символов 1 исходной кодовой комбинации чет-ное, то в дополнительном разряде формируют контрольный символ 0, аесли число символов 1 нечетное, то в дополнительном разряде форми-руют символ 1. В результате общее число символов 1 в любой переда-ваемой кодовой комбинации всегда будет четным. Таким образом, правило формирования проверочного символа сво-дится к следующему: r1 = i1 ⊕ i2 ⊕ ... ⊕ ik ,где i – соответствующий информационный символ (0 или 1); k – общееих число а под операцией "⊕" здесь и далее понимается сложение поmod 2. Очевидно, что добавление дополнительного разряда увеличива-ет общее число возможных комбинаций вдвое по сравнению с числомкомбинаций исходного первичного кода, а условие четности разделяетвсе комбинации на разрешенные и неразрешенные. Код с проверкой начетность позволяет обнаруживать одиночную ошибку при приеме кодо-вой комбинации, так как такая ошибка нарушает условие четности, пе-реводя разрешенную комбинацию в запрещенную. Критерием правильности принятой комбинации является равенствонулю результата S суммирования по mod 2 всех n символов кода, вклю-чая проверочный символ r1. При наличии одиночной ошибки S прини-мает значение 1: S = r1 ⊕ i1 ⊕ i2 ⊕ ... ⊕ ik =  0 – ошибки нет, = 1 – однократная ошибка. n Этот код является (k +1, k)-кодом, или (n, n–1)-кодом. Минимальноерасстояние кода равно двум (dmin = 2), и, следовательно, никакие ошиб-ки не могут быть исправлены. Простой код с проверкой на четностьможет использоваться только для обнаружения (но не исправления) од-нократных ошибок. Увеличивая число дополнительных проверочных разрядов и форми-руя по определенным правилам проверочные символы r, равные 0 или1, можно усилить корректирующие свойства кода так, чтобы он позво-лял не только обнаруживать, но и исправлять ошибки. На этом и осно-вано построение кодов Хемминга. Коды Хемминга позволяют исправлять одиночную ошибку, с помощьюнепосредственного описания. Для каждого числа проверочных символовr = 3, 4, 5… существует классический код Хемминга с маркировкой (n, k) = (2r–1, 2r–1 – r) , (3.20)т. е. (7,4), (15,11), (31,26) … При других значениях числа информационных символов k полу-чаются так называемые усеченные (укороченные) коды Хемминга.Так, для Международного телеграфного кода МТК-2 , имеющего5 информационных символов, потребуется использование коррек-тирующего кода (9,5), являющегося усеченным от классического кодаХемминга (15,11), так как число символов в этом коде уменьшается(укорачивается) на 6.

4.Применение.

Код Хэмминга используется в некоторых прикладных программах в области хранения данных, особенно в RAID 2; кроме того, метод Хемминга давно применяется в памяти типа ECC и позволяет "на лету" исправлять однократные и обнаруживать двукратные ошибки.

Литература:

1. Лидовский В.И. Теория информации. - М., «Высшая школа», 2002г. – 120с.

2. Метрология и радиоизмерения в телекоммуникационных системах. Учебник для ВУЗов. / В.И.Нефедов, В.И.Халкин, Е.В.Федоров и др. – М.: Высшая школа, 2001 г. – 383с.

3. Цапенко М.П. Измерительные информационные системы. - . – М.: Энергоатом издат, 2005. - 440с.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно