Jump to content

Multidimensional parity-check code

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Em3ryguy (talk | contribs) at 16:03, 29 May 2009 (added category). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


A multidimensional parity-check code is a particularly simple type of error correcting code used to correct errors that occur either when data is transmitted or while it resides in memory. It is best explained with an example.

If you want to transmit the 4 digit message '1234'. First you would arrange the digits in a square pattern:

12
34

then you add up rows and columns to get the parity digits:

123
347
46

this is the message that is actually transmitted. If any single error occurs during transmission then this error can not only be detected but can also be corrected as well. Let us suppose that the received message contained an error in the first digit.

923
347
46

The receiver can see that the first row and also the first column don't add up correctly. Using this knowledge and the assumption than only one error occured, the receiver can correct the error. Modern memory produces on average about one error per gigabyte per month so the chance of two errors occuring together is negligible. This may not always be the case when transmitting the message over noisy long distance lines. More sophisticated codes are required for that.

One can, of course, increase the number of dimensions, arranging the digits into a cube instead of a square and summing in all three directions. this would allow the receiver to correct any two errors but at the cost of more parity digits per given amount of data.

See also