Cyklický redundantný súčet: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 11: Riadok 11:
 
Na základe jednotlivých bitov sa vypočítava zabezpečovací údaj. Ten sa na konci celého bloku porovná so zabezpečovacím údajom, ktorý podľa rovnakých pravidiel vypočítal odosielateľ a pripojil k prenášanému bloku dát. Ak sa tieto dva údaje zhodujú, dá sa prenesený blok s vysokou pravdepodobnosťou predpokladať za správny.  
 
Na základe jednotlivých bitov sa vypočítava zabezpečovací údaj. Ten sa na konci celého bloku porovná so zabezpečovacím údajom, ktorý podľa rovnakých pravidiel vypočítal odosielateľ a pripojil k prenášanému bloku dát. Ak sa tieto dva údaje zhodujú, dá sa prenesený blok s vysokou pravdepodobnosťou predpokladať za správny.  
  
K výpočtu zabezpečovacieho údaju nám postačí jednoduchý posuvný register, umožňujúci operáciu EX-OR (tj. výhradné ALEBO jednotlivých bitov) s pevne danou maskou. Hodnota tejto masky je jednoznačne určená tzv. generujúcim polynómom (generating polynomial), na ktorom musia byť príjemca i odosielateľ vopred dohodnutí. Použiteľných polynómov týchto tvarov je viacej. V sieťovej komunikácií sa najčastejšie používa polynóm x16 + x12 + x5 + 1, doporučený organizáciou CCITT.
+
K výpočtu zabezpečovacieho údaju nám postačí jednoduchý posuvný register, umožňujúci operáciu X-OR (tj. výhradné ALEBO jednotlivých bitov) s pevne danou maskou. Hodnota tejto masky je jednoznačne určená tzv. generujúcim polynómom (generating polynomial), na ktorom musia byť príjemca i odosielateľ vopred dohodnutí. Použiteľných polynómov týchto tvarov je viacej. V sieťovej komunikácií sa najčastejšie používa polynóm x16 + x12 + x5 + 1, doporučený organizáciou CCITT.
  
 
==Posuvný register X-OR==
 
==Posuvný register X-OR==

Verzia zo dňa a času 10:18, 6. máj 2010

CRC

Kontrola cyklickým kódom

Kontrola cyklickým kódom alebo cyklická kontrola (angl. cyclic redundancy check, skrátene CRC) je druh kontrolného súčtu používaného na kontrolu správnosti prenášaných údajov v telekomunikačnej technike a počítačových sieťach, ako aj uložených údajov na pamäťových médiách ako je napríklad pevný disk.


Kódovanie i dekódovanie CRC sa robí softwarovo, alebo hardwarovo (pomocou posuvných registrov so spätnými väzbami). I keď matematický aparát na prvý pohľad vyzerá "hrozivo", v prípade binárnych signálov (dvojkovej sústavy) je jeho realizácia (i hardwarová) pomerne jednoduchá a preto veľmi často využívaná

Princíp kódovania údajov

Na základe jednotlivých bitov sa vypočítava zabezpečovací údaj. Ten sa na konci celého bloku porovná so zabezpečovacím údajom, ktorý podľa rovnakých pravidiel vypočítal odosielateľ a pripojil k prenášanému bloku dát. Ak sa tieto dva údaje zhodujú, dá sa prenesený blok s vysokou pravdepodobnosťou predpokladať za správny.

K výpočtu zabezpečovacieho údaju nám postačí jednoduchý posuvný register, umožňujúci operáciu X-OR (tj. výhradné ALEBO jednotlivých bitov) s pevne danou maskou. Hodnota tejto masky je jednoznačne určená tzv. generujúcim polynómom (generating polynomial), na ktorom musia byť príjemca i odosielateľ vopred dohodnutí. Použiteľných polynómov týchto tvarov je viacej. V sieťovej komunikácií sa najčastejšie používa polynóm x16 + x12 + x5 + 1, doporučený organizáciou CCITT.

Posuvný register X-OR

A+B=Y
A B Y
0 0 1
0 1 1
1 0 1
1 1 0

Príklad výpočtu CRC