Syklinen redundanssikoodi

1. Merkitys

Kierrä redundanssikoodi, joka tunnetaan myös monikkotyylikoodina. CRC:n toimintatapa on generoida redundanssikoodi lähetyspäässä ja tiedot lähetetään vastaanottopäähän yhdessä ja vastaanottavan pään vastaanottama tieto varmistetaan samalla algoritmilla lähetyspäässä, jos virhe löytyy, ilmoita sitten lähettäjälle uudelleenlähetyksestä.

Tiedon tallennuksen ja tiedonsiirron alalla on käytettävä virheenilmaisuvälineitä, jotta varmistetaan oikean tiedon oikeellisuus. Monilla virheellisillä tavoilla CRC on tunnetuin. Sen ominaisuudet ovat: erittäin havaittu, pieni yläraja, helppokäyttöinen kooderi ja tunnistuspiiri. Virheiden havaitsemiskyvyn perusteella virheiden mahdollisuus, että sitä ei löydy, on vain 0,0047 % tai vähemmän. Suorituskyvyn ja yleiskustannusten perusteella se on paljon parempi kuin pariteetti, aritmetiikka ja tarkistus. Näin ollen tietojen tallennuksen ja tiedonsiirron alalla CRC on tuntematon: kuuluisa X.25 FCS -tietoliikenneprotokolla (frame error detection sequence) on otettu käyttöön CRC-CCITT:n, WinRAR:n, Neron, ARJ:n, LHA:n ja muiden pakkaustyökalujen ohjelmistoissa. hyväksytty Se on CRC32 ja levyaseman luku- ja kirjoitusjärjestelmä käyttää CRC16:ta, yleiset kuvantallennusmuodot GIF, TIFF jne. käyttävät myös CRC:tä virheen keskiarvona.

CRC Luonne on muotti-2-jaon loppuosa, jakaja on erilainen ja CRC:n tyyppi on erilainen. Tyypillisesti CRC:n jakaja esitetään generoidulla polynomilla.

Sovellusympäristön ja -tottumusten mukaan CRC voidaan jakaa seuraaviin kriteereihin:

1) CRC-12 piha;

2) CRC- 16 jaardia;

3) CRC-CCIT-koodi;

4) CRC-32-koodi.

CRC-12-koodia käytetään yleensä 6-bittisen merkkijonon lähettämiseen.

CRC-16- ja CRC-CCITT-koodeja käytetään 8-bittisten merkkijonojen lähettämiseen, missä CRC-16 on otettu käyttöön Yhdysvalloissa, kun taas CRC-CCITT on käytössä Euroopan maissa. CRC-32-koodi on enimmäkseen synkronisessa lähetyksessä nimeltä Point-to-point.

2. Perusperiaate CRC-koodin luomiseen

Mitä tahansa koodia, joka koostuu binääribittijonosta, voidaan käyttää vain kertoimella '0' ja '1'. Yksisuuntainen. Esimerkiksi koodia 1010111 vastaava polynomi on X6 + X4 + X2 + X + 1 ja polynomi on koodia X5 + X3 + X2 + X + 1 vastaava koodi 101111.

Cyclic redundancy code

Yleinen CRC-syklin redundanssitarkistuksen standardipolynomi on seuraava:

CRC (12 bittiä) = x ^ 12 + x ^ 11 + x ^ 3 + x ^ 2 + x + 1

CRC (16 bittiä) = x ^ 16 + x ^ 15 + x ^ 2 + 1

CRC (ccitt) = x ^ 16 + x ^ 12 + x ^ 5 +1

CRC (32-bittinen) = 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

Otetaan esimerkkinä CRC (16-bittinen) polynomi ja sitä vastaava tarkistusbinääribitti on 1 1000 0000 00000101.

Kunkin polynomin kertoimet ovat binäärisiä, ja neljä operaatiota noudattavat edelleen toisen muotin laskentasääntöjä.

(Huomautus: Neljä operaatiota viittaavat kahden mallin kahteen bittiin laskennassa mukana olevien kahden binääriluvun välillä, XOR on erilainen tai laskettu, nimittäin: 1 x tai 1 = 0, 0 XOR 0 = 0, 1 x tai 0 = 1 , 0 x tai 1 = 1, eli sama on 0, erilainen on 1)

3. Periaate

jos asetettu Koodisanan pituus on n, tietokenttä on k bittiä, tarkistuskenttä on R bittiä (n = k + r), niin CRC-koodille on olemassa mikä tahansa koodisana ja vain yksi R kertaa polynomi G (x) , tekee V (x) = a (x) g (x) = XRM (x) + R (x); jossa: m (x) on k aikainformaatiopolynomi, R (X) on R-1 tarkistuspolynomi, g (X) kutsutaan generoivaksi polynomiksi: g (x) = g0 + g1x + g2x2 + ... + g (r) -1) x (r-1) + GRXR-lähettäjä generoi CRC-koodisanoja määritetyllä G (X) perusteella, vastaanottaa G (x):n perusteella vastaanotetun CRC-koodisanan vahvistamiseksi.

4. CRC-tarkistuskoodin ohjelmiston luontimenetelmä

Jäljellä oleva luku on tarkistuskenttä polynomijakolla. Esimerkki: Tietokentän koodi on: 1011001; Vastaa M (x) = x6 + x4 + x3 + 1 hypoteesi generoitu polynomi: g (x) = x4 + x3 + 1;, vastaava g (x) -koodi on: 11001x4m (x) = X10 + x8 + x7 + x4 Vastaava koodi on: 10110010000; Säädettävä jako: Tiheyden lukumäärä on: 1010 (eli kalibrointikenttä on: 1010) Lähettäjä: Lähetetty lähetyskenttä on: 10110011010 Tietokentän vahvistus Kentän Vastaanotin: Käytä samaa sukupolvikoodia tarkistaaksesi: Vastaanotettu kenttä / sukupolvikoodi ( binäärijako) Jos se voidaan poistaa, se on oikein, antaa jäännöksen laskentavaiheet (1010): jako ilman matemaattisia merkityksiä, ja Se on tietokoneen malli, eli jakaja ja jakaja ovat erilaisia ​​tai laskettu 10110010000/11001 = 111101111011100 = 1010

5. Ominaisuudet

Jos luotu polynomivalinta valitaan oikein, CRC on erittäin tehokas virheentarkistusmenetelmä. Teoriassa syklisen redundantin tarkistuskoodin virheiden havaitsemiskyky voidaan todistaa, että seuraavat ominaisuudet:

1) Kaikki parittomat virheet voidaan havaita;

2) voi havaita kaikki kaksoisbitit Virhe;

3) Voit havaita jatkuvan virheen, joka on pienempi tai yhtä suuri kuin kalibrointibitin pituus;

4) Havaitsee jatkuvan virheen, joka on suurempi kuin tarkistusbitin pituus huomattavalla todennäköisyydellä .

Related Articles
TOP