Шта је Хаммингов код: историја, рад и његове примене

Испробајте Наш Инструмент За Елиминисање Проблема





У дигиталним системима, пренесени подаци за комуникација може бити оштећен због спољне буке и било којих других физичких кварова. Ако се пренесени подаци не подударају са датим улазним подацима, онда се то назива „грешком“. Грешке у подацима могу избрисати виталне податке у дигиталним системима. Пренос података ће бити у облику битова (0 и 1) у дигиталним системима. Ако се неко од битова промени, то може утицати на перформансе целог система. Ако је бит ‘1’ промењен у бит ‘0’ или обрнуто, онда се то назива грешка бита. Постоје различити врсте грешака попут грешака у једном биту, више грешака и грешака у низу. У овом чланку расправљамо о исправљању и откривању грешака и о Хамминг коду.

Шта је откривање и исправљање грешака?

У дигиталној комуникацији подаци ће се изгубити ако дође до грешке у преносу информација из једног система / мреже у други систем / мрежу. Дакле, важно је пронаћи и исправити грешке. Нека грешка откривање а методе исправљања се користе за откривање и исправљање грешака ради ефикасне комуникације. Ако се користе ове методе, тада се подаци могу преносити са већом тачношћу.




Откривање грешака је дефинисано као метода која се користи за откривање грешака које се преносе са предајника / пошиљаоца на пријемник у дигиталним системима. Шифре вишка се додају подацима током преноса да би се пронашле грешке. То се називају кодови за откривање грешака.

Исправљање грешака је исправљање података који се преносе са предајника на пријемник. Исправљање грешака може се извршити у две врсте.



Исправка грешке уназад

У овој врсти исправке грешке, прималац захтева од пошиљаоца да поново пошаље податке ако прималац открије грешку.

Исправљање грешке унапред

ако подаци примљени од стране пријемника пронађу грешку, он извршава кодове за исправљање грешака, да би их аутоматски исправио и опоравио.


Ако постоји „м“ броја битова података и „р“ броја сувишних битова, тада ће комбинација информација бити 2р.

2р> = м + р + 1

Врсте кодова за откривање грешака

Грешке у примљеним подацима могу се открити помоћу 3 врсте кодова за откривање грешака. То су, провера паритета, провера цикличног вишка (ЦРЦ) и уздужна провера сувишности.

Провера паритета

Сувишни бит назван паритетни бит додан је како би број битова био паран или непаран у случају парног паритета или непарног паритета. Пријемник броји бројеве битова (1 ’) у оквиру да дода бит парности. То се назива провера паритета. Ако је број 1 у оквиру паран, онда се користи парни паритет додавањем бита „1“ са нултом вредношћу. Слично томе, од броја 1 је непаран, тада се користи непарни паритет додавањем бита са вредношћу „1“.

Откривање грешака

откривање грешака

Стога се користи да би се осигурало да оквир / датум који пријемник прими од извора није оштећен. У овом типу откривања грешака, број 1 мора бити једнак у примљеном оквиру. Веома је јефтин међу свим врстама откривања грешака.

Лонгитудинал Редунданци Цхецк (ЛРЦ)

онда су сет / блок битова организовани, тада се ЛРЦ метода може користити за проверу бита парности у сваком оквиру. Помаже у слању битова паритета заједно са оригиналним подацима и проверава вишак.

Провера цикличног вишка

његов тип се користи за откривање података / оквира примљених од извора да ли је важећи или не. Укључује у бинарну подјелу података које треба послати и користи полиноме (за генерисање дјелитеља). пре него што пренос , пошиљалац врши операцију поделе података / битова / оквира за израчунавање остатка.

Провера цикличног вишка

провера цикличног вишка

Током преноса стварних података од пошиљаоца додаје остатак на крају стварних података. Комбинација стварних података и остатка назива се кодна реч. Подаци се преносе у облику кодних речи. У овом процесу, ако су подаци оштећени, прималац ће их одбити, иначе ће бити прихваћени.

Шта је Хамингов код?

Хаммингов код је дефинисан као линеарни код који се користи у процесу откривања грешака до двоструких грешака. Такође је способан да открије једнобитне грешке. У овом методу, сувишни битови се додају у податке / поруке од стране пошиљаоца ради кодирања података. Да би се извршило откривање и исправљање грешака, ови сувишни битови се додају у одређене положаје за поступак исправљања грешака.

Хамминг-код

Хамминг-код

Историја Хамингових кодова

Рицхард В. Хамминг је 1950. изумео Хаммингове кодове да би открио и исправио грешке у подацима. Након развоја рачунара са већом поузданошћу, увео је Хамминг кодове за исправљање грешака са 1 грешком, а касније је проширио до кодова за откривање 2 грешке. Хаммингови кодови се креирају јер провера паритета не може открити и исправити грешке у подацима. Хаммингови кодови се убацују у било коју блоковну дужину података између стварних података и битова вишка. Развио је низ алгоритама за рад на проблемима метода исправљања грешака и ови кодови се широко користе у ЕЦЦ меморији.

Процес кодирања поруке помоћу Хамминг кода

Процес кодирања поруке помоћу пошиљаоца помоћу хамминг кода укључује 3 корака.

Корак 1: Први корак је израчунавање броја сувишних битова у поруци

  • На пример, ако порука садржи „н“ бр. Битова, а „п“ бр. Сувишних битова је додато поруци, тада „нп“ указује (н + п + 1) на различита стања.
  • Где (н + п) представља место грешке у сваком положају бита
  • 1 (екстра стање) не представља грешку.
  • Пошто ’п’ означава 2 ^ п (2п) стања, која су једнака (н + п + 1) стањима.

Корак 2: Поставите сувишне битове у тачан / тачан положај

„п“ битови се убацују у положаје битова који су снаге 2 попут 1, 2, 4, 8, 16 итд. Ови положаји битова су означени као п1 (положај 1), п2 (положај 2), п3 (положај 4) итд.

Корак 3: Израчунајте вредности сувишних битова

  • Овде се битови паритета користе за израчунавање вредности сувишних битова.
  • Битови паритета могу да направе број 1 у поруци паран или непаран.
  • Ако је укупан број 1 у поруци паран, користи се чак и паритет
  • Ако је укупан број 1 у поруци непаран, користи се непарни паритет.

Процес дешифровања поруке у Хамминговом коду

Процес дешифровања поруке коју је прималац примио од пошиљаоца помоћу хамминг кода укључује следеће кораке. Овај поступак није ништа друго до поновно израчунавање ради откривања и исправљања грешака у поруци.

Корак 1: Броји број сувишних битова

Формула за кодирање поруке помоћу сувишних битова је,

2п≥ н + п + 1

Корак 2: исправити положаје свих сувишних битова

„П“ бр. Сувишних битова постављени су у битске положаје снаге 2 попут 1,2,4,8,16,32 итд.

Корак 3: провера паритета (непарни парни и парни паритет)

Битови паритета израчунавају се на основу броја 1 у битовима података и редундантним битовима.

На пример

Паритет п1 би био 1, 3, 5, 7, 9, 11,…

Паритет п2 би био 2, 3, 6, 7, 10, 11,…

Паритет п3 би био 4-7, 12-15, 20-23,…

Предности Хаминговог кода

Главна предност употребе хамминг кода је исплатива ако ток података садржи једнобитне грешке.

  • Може да обезбеди откривање грешака и такође указује на бит који садржи грешку за корекцију.
  • Хаммингови кодови су врло једноставни и најбољи за употребу у рачунарској меморији и једнобитној корекцији и откривању грешака.

Недостаци Хаминговог законика

  • Најбоље је само за једнобитну корекцију и откривање грешака. Ако грешке више битова, онда може бити оштећена цела.
  • Алгоритам Хаммингова кода може решити само једнобитне грешке.

Примена Хаммингових кодова

Хамминг кодови се користе у,

  • Рад на рачунару
  • Телекомуникације
  • Компресија података
  • Решавање загонетки и турбо кодова
  • Сателити
  • ЦАМ у плазми
  • Заштићене жице
  • Модеми
  • Меморија рачунара
  • Отворени конектори
  • Уграђени системи и процесор

ФАК

1). Да ли Хамингов код може открити 2-битне грешке?

Хамминг кодови могу открити и исправити до 2-битне грешке у току података

2). Како поправити Хаммингов код?

Хаммингови кодови се постављају у било коју дужину података између стварних података и сувишних битова. Ови кодови су места на минималној удаљености од 3 бита

3). Шта је паритетни код?

Код парности или бит парности додаје бит примљеном оквиру (подаци садрже 1 и 0) да би укупни број битова (1) био паран или непаран.

4). Колика је Хаминг-ова удаљеност између података?

Удаљеност удара између два различита тока података једнаке дужине је бр. 1.

Удаљеност ударања између два низа података једнаке дужине може се израчунати помоћу КСОР операције.

На пример, а = 11011001

б = 10011101

Удаљеност Хаминг-а може се израчунати као,

11011001 ⊕ 10011101 = 01000100 (број 1-бита је 2)

Удаљеност ударања означава број 1 у резултујућем току података

Дакле, д (11011001, 10011101) = 2

Слично томе, 010 ⊕ 011 = 001, д (010, 011) = 1.

5). Да ли је Хаммингов код цикличан?

Да, Хамминг кодови су еквивалентни цикличним кодовима који се могу користити као кодови за откривање грешака.

Дакле, овде се ради о исправљању и откривању грешака, врстама откривања грешака, хамминг кодови , процес шифровања и дешифровања поруке помоћу Хамминг кодова, примена Хамминг кодова, предности и недостаци Хамминг кодова. Ево питања за вас: „Које су примене откривања и исправљања грешака?“