Skip to content

Latest commit

 

History

History
66 lines (43 loc) · 2.08 KB

File metadata and controls

66 lines (43 loc) · 2.08 KB

Error checking and correction

Describe and explain the use of:

  • parity bits
  • majority voting
  • checksums
  • check digits.

Parity Bits

Parity bits are ...

They are used ...

There is both one dimensional and two dimensional parity checks. A 1D parity check adds a single bit to a message (usually one byte) whereas a 2D parity check adds a single bit to every byte and then a parity byte where each bit is a parity bit for the columns. This allows correction of particular bits since their location can be determined.

Majority Voting

Majority voting is an error checking method where is bit / byte is send a number of times and the bit / byte takes the most frequent value.

Example

To send the message:

1 0 1 1 0 0 1 0

It may be sent as

111 000 111 111 000 000 111 000

or

10110010 10110010 10110010

Majority voting can repair errors, however if two errors are made on the same bit then it will not be detected.

Checksums

Checksums are another way of detecting errors in a message.

Steps

  1. Decide on a number to divide by
  2. Sum all values in the message
  3. Divide the sum by the decided divider and find the remainder
  4. The remainder will be the checksum

They are used to decide whether the received message is correct or not.

This is not fully secure as errors which compound to give the same checksum will not be detected.

Checksums pickup more errors than a simple parity check since there are more possibilities for the checksum. In a simple parity check there are only two options for the parity bit meaning there is only one value which you could tell is incorrect. Using a divisor of 16 and a checksum, there are 15 values for which you would know the message was incorrect.

Check Digits

Check digits are like parity bits in the fact that they are an extra digit sent at the end of a number to try to ensure the number is not corrupted in any way.

There are a number of ways to calculate a check digit.

It is used in applications where the value will sometimes be manually inputted. A check digit allows for numbers to be validated quickly.