1. Значение
Цикличен редундантен код, известен също като множествен код на стил. Работният метод на CRC е да генерира код за излишък в предаващия край и информацията се изпраща към приемащия край заедно, а информацията, получена от приемащия край, се проверява от същия алгоритъм в предаващия край, ако грешката е намерен, след това уведомете подателя за повторно предаване.
В областта на съхранението на данни и комуникацията на данни, за да се гарантира, че правилните данни са правилни, трябва да се използва средство за откриване на грешки. В много грешни средства CRC е най-известният. Характеристиките му са: изключително засечени, малки режийни разходи, лесен за използване енкодер и верига за откриване. От способността му за откриване на грешки, шансът за грешки, че не може да бъде намерен, е само 0,0047% или по-малко. От гледна точка на производителност и режийни разходи, това е много по-добро от паритет, аритметика и проверка. По този начин, в областта на съхранението на данни и комуникацията на данни, CRC е несъзнателен: известният комуникационен протокол X.25 FCS (последователност за откриване на грешки в рамките) е възприет от CRC-CCITT, WinRAR, Nero, ARJ, LHA и други софтуерни инструменти за компресиране приет Това е CRC32 и дисковото устройство за четене и запис използва CRC16, универсалните формати за съхранение на изображения GIF, TIFF и т.н. също използват CRC като средство за грешка.
CRC Природата е остатъкът от разделението на мухъл-2 и делителят е различен и типът на CRC е различен. Обикновено делителят на CRC е представен от генериран полином.
Според средата на приложение и навиците, CRC може да бъде разделен на следните критерии:
1) CRC-12 двор;
2) CRC- 16 ярда;
3) CRC-CCIT код;
4) CRC-32 код.
Кодът CRC-12 обикновено се използва за предаване на 6-битов низ.
CRC-16 и CRC-CCITT код се използват за предаване на 8-битови низове, където CRC-16 е приет в Съединените щати, докато CRC-CCITT се използва в европейските страни. Кодът CRC-32 е предимно в синхронно предаване, наречено Point-to-point.
2. Основен принцип за генериране на CRC код
Всеки код, състоящ се от двоичен битов низ, може да се използва само с коефициент само '0' и '1'. Еднопосочен. Например полиномът, съответстващ на кода 1010111, е X6 + X4 + X2 + X + 1, а полиномът е кодът 101111, съответстващ на X5 + X3 + X2 + X + 1.
Стандартният полином за проверка на излишък на CRC цикъл е както следва:
CRC (12 бита) = x ^ 12 + x ^ 11 + x ^ 3 + x ^ 2 + x + 1
CRC (16 бита) = x ^ 16 + x ^ 15 + x ^ 2 + 1
CRC (ccitt) = x ^ 16 + x ^ 12 + x ^ 5 +1
CRC (32-битов) = x ^ 32 + x ^ 26 + x ^ 23 + x ^ 22 + x ^ 16 + x ^ 12 + x ^ 11 + x ^ 10 + x ^ 8 + X ^ 7 + x ^ 5 + x ^ 4 + x ^ 2 + x + 1
Вземете CRC (16-битов) полином като пример и съответният му двоичен бит за проверка е 1 1000 0000 00000101.
Коефициентите на всеки от полиномите са двоични и четирите включени операции все още следват правилата за изчисление на втората форма.
(Забележка: Четирите операции се отнасят до двумоделните два бита между двете двоични числа, включени в изчислението, XOR е различно или изчислено, а именно: 1 xor 1 = 0, 0 XOR 0 = 0, 1 xor 0 = 1 , 0 xor 1 = 1, тоест същото е 0, различно е 1)
3. Принцип
ако е зададена Дължината на кодовата дума е n, информационното поле е k бит, полето за проверка е R бит (n = k + r), тогава за CRC кода съществува всяка кодова дума и само един R пъти полином G (x) , прави V (x) = a (x) g (x) = XRM (x) + R (x); където: m (x) е k времеви информационен полином, R (X) е R-1 полином за проверка, g ( X) се нарича генериращ полином: g (x) = g0 + g1x + g2x2 + ... + g (r -1) x (r-1) + GRXR изпращачът генерира CRC кодови думи чрез зададен G (X), получава Въз основа на G (x), за да провери получената CRC кодова дума.
4. Метод за генериране на софтуерен код за проверка на CRC
Останалото число е полето за проверка чрез полиномно деление. Например: Кодът на информационното поле е: 1011001; Съответства M (x) = x6 + x4 + x3 + 1 хипотеза, генериран полином: g (x) = x4 + x3 + 1;, съответният g (x) код е: 11001x4m ( x) = X10 + x8 + x7 + x4 Съответният код е: 10110010000; Регулируемо деление: Числото на плътността е: 1010 (т.е. полето за калибриране е: 1010) Изпращаща страна: Предаваното поле за предаване е: 10110011010 Проверка на полето за информация Получател: Използвайте същия код за генериране, за да проверите: Полученото поле / код за генериране ( двоично деление) Ако може да бъде премахнато, то е правилно, дава стъпките на изчисление на остатъка (1010): деление без математически значения и Това е модел на компютъра, тоест делителя и делителя са различни или изчислени 10110010000/11001 = 111101111011100 = 1010
5. Характеристики
Ако генерираният избор на полином е правилно избран, CRC е един много ефективен метод за проверка на грешки. На теория способността за откриване на грешки на кода за циклична излишна проверка може да се докаже със следните характеристики:
1) Всички странни грешки могат да бъдат открити;
2) може да открие всички двойни битове грешка;
3) Можете да откриете непрекъсната грешка, която е по-малка или равна на дължината на бита за калибриране;
4) Открива непрекъсната грешка, по-голяма от дължината на контролния бит със значителна вероятност.