MedVision ad

Error detections methods (1 Viewer)

Niksta123

Member
Joined
Aug 24, 2005
Messages
117
Gender
Female
HSC
2007
Can some1 plz give me the run down on all the error detection methods:

- parity check
-check sum
-block check character (is that what it's called ?? )
- cyclic redundancy check

....A definition & an example on each would be fantastic :)

Cheers
 

spangacrab

Member
Joined
Feb 23, 2007
Messages
97
Gender
Male
HSC
2007
LOL Block check Character.

Parity is difficult to explain
You can have an odd and an even parity.
A parity is a binary number added on the end to either make the 8 bits even or odd.
EG
'Even Parity'
01011100'0'

I added a zero because if I added a one then the total would be 5 rather than four, hence even parity.

You get my drift?

Checksum - can't remember
CRC - something about something.
 

nubix

Member
Joined
Oct 17, 2006
Messages
59
Gender
Undisclosed
HSC
2007
Checksum - each block is divided by 256 and remainder is the checksum.

CRC - several blocks are stuck together to make a huge number and that is divided by a number determined during the handshacking (65536, 4294967296 being common ones). The remainder of the division is the check thingie.

....IIRC, I should start studying IPT =[
 

boblemur

New Member
Joined
Sep 17, 2007
Messages
16
Gender
Male
HSC
2007
parity:
this refers to weather there is an even or odd number of 1's or 0's in the data. during handshaking both computers chose which they will use(odd or even) and then every byte of data, has its last bit set to a 1 or a 0 in order to maintain this.

eg. 1101 101 is your data u need 1 more bit to make a byte.
for even parity you add a 1.

giving 1101 1011 which has 6 1's which is an even number

for odd parity you add a 0:

giving 1101 1010 having 5 1's which is an odd number.

CheckSum:

This is a block error dection method, meaning it is applied to an entire chucnk of data, not just a single byte like parity.

CheckSum adds the individual bytes of data together, then devides this number by 256(2^8) and the remainder is put into the checksum byte.
they devide the number by 256 and take the remainder, because this garentees that the checksum value will never be greater than 1 byte

ok an example:

1101 1100 | 0111 1001 | 1001 1110 | 1111 1100
220 121 158 252
Add them together: 751

devide this by 256 = 2 r 239

therefor the data that is sent as the checksum value is 239(1110 1111)

CRC(Cyclic Redundancy Check):

This is very much alike checksum except instead of adding all the data bits together then dividing, CRC treats the whole string as one large number and then devides this by a number:

an example:

1101 1100 | 0111 1001 | 1001 1110 | 1111 1100 (same data)

convert that to decimal the entire thing as one number: im not gona do that but it will be some massive number

then take the remainder of deviding it by (2^32) because its a 32bit stream

and then this is ur CRC value.

Effectiveness:

CRC is very effective(the best of the 3)
Checksum is ok.
parity is not very good, but is usualy used inside each of the bits in the datastream and then CRC is applied adding streangth.

hope this has helped :) cyaz gl
 

Niksta123

Member
Joined
Aug 24, 2005
Messages
117
Gender
Female
HSC
2007
boblemur said:
parity:
this refers to weather there is an even or odd number of 1's or 0's in the data. during handshaking both computers chose which they will use(odd or even) and then every byte of data, has its last bit set to a 1 or a 0 in order to maintain this.

eg. 1101 101 is your data u need 1 more bit to make a byte.
for even parity you add a 1.

giving 1101 1011 which has 6 1's which is an even number

for odd parity you add a 0:

giving 1101 1010 having 5 1's which is an odd number.

CheckSum:

This is a block error dection method, meaning it is applied to an entire chucnk of data, not just a single byte like parity.

CheckSum adds the individual bytes of data together, then devides this number by 256(2^8) and the remainder is put into the checksum byte.
they devide the number by 256 and take the remainder, because this garentees that the checksum value will never be greater than 1 byte

ok an example:

1101 1100 | 0111 1001 | 1001 1110 | 1111 1100
220 121 158 252
Add them together: 751

devide this by 256 = 2 r 239

therefor the data that is sent as the checksum value is 239(1110 1111)

CRC(Cyclic Redundancy Check):

This is very much alike checksum except instead of adding all the data bits together then dividing, CRC treats the whole string as one large number and then devides this by a number:

an example:

1101 1100 | 0111 1001 | 1001 1110 | 1111 1100 (same data)

convert that to decimal the entire thing as one number: im not gona do that but it will be some massive number

then take the remainder of deviding it by (2^32) because its a 32bit stream

and then this is ur CRC value.

Effectiveness:

CRC is very effective(the best of the 3)
Checksum is ok.
parity is not very good, but is usualy used inside each of the bits in the datastream and then CRC is applied adding streangth.

hope this has helped :) cyaz gl
Thanks soooo much!!! - this all really helps!! goodluck :)
 

crammy90

Member
Joined
Mar 26, 2006
Messages
264
Gender
Male
HSC
2008
when i do the 751/256 i get 2.93359375 waa?
i realised that if i push the fraction button it turns out to be:
2 r239/256
i dont understand what im doing tho???
 

mijoe

Member
Joined
May 18, 2008
Messages
72
Location
Behind you
Gender
Male
HSC
2010
When data is sent using CRC, the remainder of the division of the data block by (2^32) is transferred with the data. If they remainders are the same, it means there is not error. If the remainder changes, it means the data needs to be corrected and retransmitted or something. Note this method fails 0.00000033% of the time
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top