Какво е грешка?
Предадените данни могат да бъдат повредени по време на комуникация. Вероятно е да бъде повлиян от външен шум или други физически повреди. В такава ситуация входните данни не могат да бъдат същите като изходните данни. Това несъответствие е известно като „Грешка“.
Грешките в данните могат да доведат до загуба на важни или сигурни данни. По-голямата част от трансфера на данни в цифровите системи ще бъде под формата на „битов трансфер“. Дори малка промяна може да повлияе на работата на цялата система. В последователност от данни, ако 1 се промени на 0 или 0 се промени на 1, това се нарича „битова грешка“.
В този урок за кода на Хаминг ще научите:
- Какво е грешка?
- Видове грешки
- Какво е откриване и коригиране на грешки?
- Какво представлява кодът на Хаминг?
- История на кода на Хаминг
- Прилагане на код на Хеминг:
- Предимства на кода на Хаминг
- Недостатъци на кода на Хаминг
- Процес на кодиране на съобщение с помощта на кода на Хаминг
- Процес на дешифриране на съобщение в код на Хаминг
Видове грешки
Има основно три вида битови грешки, които възникват при предаване на данни от подателя до получателя.
- Еднобитови грешки
- Многократни грешки
- Сериозни грешки
Еднобитни грешки
Промяната, направена в един бит в цялата последователност от данни, е известна като „Грешка с един бит“. Появата на еднобитова грешка обаче не е толкова често срещана. Освен това тази грешка се появява само в паралелна комуникационна система, тъй като данните се предават побитово в един ред. Следователно има повече шансове една линия да бъде шумна.
Множество битови грешки
В последователността от данни, ако има промяна в два или повече бита на последователност от данни на предавател към приемник, това е известно като „Многобитови грешки“.
Този тип грешка се среща най-вече както в серийни, така и в паралелни мрежи за комуникация на данни.
Сериозни грешки
Промяната на набора от битове в последователността от данни е известна като „грешка при избухване“. Този тип грешка в данните се изчислява от промяната на първия бит до промяната на последния бит.
Какво е откриване и коригиране на грешки?
В цифровата комуникационна система грешката ще се прехвърля от една комуникационна система в друга. Ако тези грешки не бъдат открити и коригирани, данните ще бъдат загубени. За ефективна комуникация системните данни трябва да се предават с висока точност. Това ще стане чрез първо идентифициране на грешките и тяхното коригиране.
Откриването на грешки е метод за откриване на грешките, които присъстват в данните, предавани от предавател към приемник в система за комуникация на данни.
Тук можете да използвате излишни кодове, за да намерите тези грешки, като добавите към данните, когато те се предават от източника. Тези кодове се наричат „Грешки при откриване на кодове“.
Три вида кодове за откриване на грешки са:
- Проверка на паритета
- Проверка на циклично съкращение (CRC)
- Проверка на надлъжно резервиране (LRC)
Проверка на паритета:
- Известен е и като проверка на паритета.
- Той има икономически ефективен механизъм за откриване на грешки.
- При тази техника излишният бит е известен като бит за паритет. Той е добавен за всяка единица данни. Общият брой 1s в единицата трябва да стане четен, което е известно като бит за паритет.
Проверка на надлъжно резервиране
При тази техника за откриване на грешки блок битове е организиран в табличен формат. LRC методът ви помага да изчислите бита за паритет за всяка колона. Наборът от този паритет също се изпраща заедно с оригиналните данни. Блокът на паритета ви помага да проверите излишъка.
Проверка на цикличността
Проверката на цикличното резервиране е последователност от излишни, които трябва да бъдат добавени в края на устройството. Ето защо получената единица данни трябва да се дели на второ, предварително определено двоично число.
В местоназначението входящите данни трябва да бъдат разделени на същия номер. В случай, че няма остатък, тогава се приема, че единицата за данни е вярна и е приета. В противен случай това показва, че единицата за данни е повредена при предаването и следователно трябва да бъде отхвърлена.
Какво представлява кодът на Хаминг?
Кодът на Хаминг е линеен код, който е полезен за откриване на грешки до две незабавни битови грешки. Той е способен на еднобитови грешки.
В код на Хаминг източникът кодира съобщението чрез добавяне на излишни битове в съобщението. Тези излишни битове се вмъкват и генерират най-вече на определени позиции в съобщението, за да се осъществи процесът на откриване и коригиране на грешки.
История на кода на Хаминг
- Кодът на Хаминг е техника, изградена от RWHamming за откриване на грешки.
- Хаминг кодът трябва да се прилага към единици данни с всякаква дължина и използва връзката между данните и битовете за излишък.
- Той работи по проблема с метода за корекция на грешки и разработва все по-мощен набор от алгоритми, наречени код на Хаминг.
- През 1950 г. той публикува кода на Хаминг, който широко се използва днес в приложения като ECC памет.
Прилагане на код на Хаминг
Ето някои често срещани приложения за използване на код на Хеминг:
- Сателити
- Компютърна памет
- Модеми
- PlasmaCAM
- Отворени съединители
- Екранираща тел
- Вграден процесор
Предимства на кода на Хаминг
- Методът на Hamming code е ефективен в мрежи, където потоците от данни са дадени за еднобитовите грешки.
- Кодът на Хаминг не само осигурява откриване на битова грешка, но също така ви помага да отстъпите бит, съдържащ грешка, така че да може да бъде коригиран.
- Лесната употреба на кодовете на Hamming го прави най-подходящ за използване в компютърната памет и корекция на една грешка.
Недостатъци на кода на Хаминг
- Еднобитов код за откриване и коригиране на грешки. Ако обаче са установени грешки в много бита, резултатът може да доведе до друг бит, който трябва да е правилен, за да бъде променен. Това може да доведе до допълнителни грешки в данните.
- Кодовият алгоритъм на Хаминг може да реши само отделни битови проблеми.
Процес на кодиране на съобщение с помощта на кода на Хаминг
Процесът, използван от подателя за кодиране на съобщението, включва следните три стъпки:
- Изчисляване на общия брой излишни битове.
- Проверка на позицията на излишните битове.
- И накрая, изчисляване на стойностите на тези излишни битове.
Когато горните излишни битове са вградени в съобщението, то се изпраща на потребителя.
Стъпка 1) Изчисляване на общия брой излишни битове.
Нека приемем, че съобщението съдържа:
- n - брой битове за данни
- p - брой излишни битове, които се добавят към него, така че np да може да показва поне (n + p + 1) различни състояния.
Тук (n + p) изобразява местоположението на грешка във всяка от (n + p) битови позиции и едно допълнително състояние показва липса на грешка. Тъй като p битовете могат да означават 2 p състояния, 2 p трябва да е поне равно на (n + p + 1).
Стъпка 2) Поставяне на излишните битове в правилното им положение.
P излишните битове трябва да бъдат поставени в битови позиции на степени от 2. Например 1, 2, 4, 8, 16 и т.н. Те се означават като p 1 (в позиция 1), p 2 (в позиция 2) , p 3 (на позиция 4) и др.
Стъпка 3) Изчисляване на стойностите на излишния бит.
Излишните битове трябва да са битове за четност, което прави броя на 1s четен или нечетен.
Двата вида паритет са -
- Общият брой битове в съобщението се прави, дори се нарича четен паритет.
- Общият брой битове в съобщението се прави нечетен, нарича се нечетен паритет.
Тук целият излишен бит, p1, трябва да се изчисли като паритет. Той трябва да обхваща всички битови позиции, чието двоично представяне трябва да включва 1 в 1-ва позиция, с изключение на позицията на p1.
P1 е битът за паритет за всеки бит данни в позиции, чието двоично представяне включва 1 в по-малко важната позиция, без 1 Like (3, 5, 7, 9,
... )P2 е битът за паритет за всеки бит с данни в позиции, чието двоично представяне включва 1 в позиция 2 отдясно, без 2 Like (3, 6, 7, 10, 11,
...)P3 е битът за паритет за всеки бит в позиции, чието двоично представяне включва 1 в позиция 3 отдясно, не включва 4 Like (5-7, 12-15,
...)Процес на дешифриране на съобщение в код на Хаминг
Получателят получава входящи съобщения, които изискват извършване на преизчисления за намиране и коригиране на грешки.
Процесът на преизчисляване, извършен в следните стъпки:
- Преброяване на броя на излишните битове.
- Правилно позициониране на всички излишни битове.
- Проверка на паритета
Стъпка 1) Преброяване на броя на излишните битове
Можете да използвате същата формула за кодиране, броя на излишните битове
2 p ≥ n + p + 1
Тук броят на битовете за данни и p е броят на излишните битове.
Стъпка 2) Правилно позициониране на всички излишни битове
Тук p е излишен бит, който се намира в битови позиции със степени 2, Например 1, 2, 4, 8 и т.н.
Стъпка 3) Проверка на паритета
Паритетните битове трябва да се изчисляват въз основа на битовете за данни и излишните битове.
p1 = паритет (1, 3, 5, 7, 9, 11
...)p2 = паритет (2, 3, 6, 7, 10, 11
...)p3 = паритет (4-7, 12-15, 20-23
...)Обобщение
- Предадените данни могат да бъдат повредени по време на комуникация
- Три вида грешки в битовете са 1) Грешки с единични битове 2) Грешки с множество битове 3) Грешки в битови битове
- Промяната, направена в един бит в цялата последователност от данни, е известна като „Една битова грешка“.
- В последователността от данни, ако има промяна в два или повече бита на последователност от данни на предавател към приемник, това е известно като „Многобитови грешки“.
- Промяната на набора от битове в последователността от данни е известна като „грешка при избухване“.
- Откриването на грешки е метод за откриване на грешките, които присъстват в данните, предавани от предавател към приемник в система за обмен на данни
- Три типа кодове за откриване на грешки са 1) Проверка на четността 2) Проверка на цикличното излишък (CRC) 3) Проверка на надлъжната излишък
- Кодът на Хаминг е линеен код, който е полезен за откриване на грешки до две незабавни битови грешки. Той е способен на еднобитови грешки.
- Кодът на Хаминг е техника, изградена от RWHamming за откриване на грешки.
- Често срещани приложения за използване на Hemming код са сателити Компютърна памет, модеми, вграден процесор и др.
- Най-голямата полза от метода на Hamming код е ефективен в мрежи, където потоците от данни са дадени за еднобитовите грешки.
- Най-големият недостатък на метода на кода на Hamming е, че той може да реши само проблеми с единични битове.
- Можем да изпълним процеса на криптиране и декодиране на съобщението с помощта на код на Hamming.