|
|||||||||||||
CYCLIC REDUNDANCY CHECK |
|||||||||||||
|
|||||||||||||
|
|||||||||||||
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. It is possible to write CRC routines for micro as described at the link
|
|
||||||||||||
|
|||||||||||||
|