CYCLIC REDUNDANCY CHECK |
|||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
Controllo ciclico di ridondanza La tecnica di rivelazione degli errori di trasmissione si avvale di due metodi : 1) Ridondanza di codice (Character Mode) ottenuta aggiungendo al momento della trasmissione un bit di ridondanza alla stringa da inviare 2) Ridondanza di blocco (Block Mode) che consiste nell’aggiunta di n di bit di ridondanza. Nell’ambito della
ridondanza di blocco, utilizzata prevalentemente nella
trasmissione sincrona di gruppi di caratteri, particolare importanza
riveste la modalità di rivelazione detta CRC (Cyclic Redundancy
Check).
In seguito è
riportata una trattazione matematica del CRC. p(x)= x^g *
b(x)
p(x)=q(x)*g(x)+r(x) La stringa che trasmetteremo è
l’unione tra il blocco ( bn-1,….bo) e il blocco di g bit ( rg-1,
r0). Il che equivale a sostituire in p(x) i g bit a zero
introdotti all’inizio. In termini di matematica binaria corrisponde
alla funzione xor quindi si trasmetterà la stringa
corrispondente al polinomio:
m(x) = p(x)+r(x) = q(x)*g(x)+r(x) +r(x) = q(x)*g(x) essendo
r(x) +r(x) = 0 ovvero in aritmetica binaria la somma ( xor
)di due quantità uguali è zero. CRC
(Cyclic Redundancy Check) The
error checks on telecomunication systems use two methods: 1)
Character
Mode which adds one
redundancy bit to the sending data 2)
Block Mode which adds a
redundancy block of n bit to the sending data In
the Block mode, used in the syncronous trasmision, the most important
method is the CRC (Cyclic Redundancy Check).
Below
a matematical discussion about the CRC is made. Consider
a n bit word ( bn-1,….bo) and fix the polynomial g(x)
which have a degree g £
n-1 At
the polynomial b(x), correspondent to the ( bn-1,….bo),
is added a block of g bit which are the coefficients of the rest
polynomial r(x) due to the divison between b(x) and
g(x). p(x)=
x^g * b(x) so
p(x) can be written as function of g(x) where q(x) and r(x) are
the quozient and the rest of the division between p(x) and g(x).
p(x)=q(x)*g(x)+r(x); Then,
the sending block is the
merge between ( bn-1,….bo) and a block of g bit ( rg-1, r0)
m(x) = p(x) + r(x) = q(x)*g(x)+r(x) +r(x) = q(x)*g(x) being r(x) +r(x) = 0 ( xor property) m(x)
is perfectly divisible for g(x). This means that the recipient,
excuting the division between m(x) and g(x),
have a rest r(x)=0 if there are not error. |
|
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||