1
votes

What is the correct name of this error correction method? It is quite similar to Hamming Code, but much more simple. I also cannot find it in the literature any more. The only internet sources, I'm now able to find, which describes the method, are this:

http://www.mathcs.emory.edu/~cheung/Courses/455/Syllabus/2-physical/errors-Hamming.html

And the german-language Wikipedia.

http://de.wikipedia.org/w/index.php?title=Fehlerkorrekturverfahren

In the Wikipedia article, the method is called Hamming-ECC method. But I'm not 100% sure, this is correct.

Here is an example, which describes the way the method works.

Payload: 10011010

Step 1: Determine parity bit positions. Bits, which are powers of 2 (1, 2, 4, 8, 16, etc.) are parity bits:

Position:               1 2 3 4 5 6 7 8 9 10 11 12
Data to be transmitted: ? ? 1 ? 0 0 1 ? 1  0  1  0

Step 2: Calculate parity bit values. Each bit position in the transmission is assigned to a position number. In this example, the position number is a 4-digit number, because we have 4 parity bits. Calculate XOR of the values of those positions (in 4-digit format), where the payload is a 1 bit in the transmission:

    0011 Position 3
    0111 Position 7
    1001 Position 9
XOR 1011 Position 11
--------------------
    0110 = parity bit values

Step 3: Insert parity bit values into the transmission:

Position:               1 2 3 4 5 6 7 8 9 10 11 12
Data to be transmitted: 0 1 1 1 0 0 1 0 1  0  1  0

Is is quite simple to verify, if a received message was transmitted correctly and single-bit errors can be corrected. Here is an example. The receiver calulates XOR of the calculated and received payload bits where the value is a 1 bit. Is the result is 0, there the transmission is error-free. Otherwise the result contains the position of the bit with the wrong value.

Received message: 0001101100101101

Position:      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Received data: 0 0 0 1 1 0 1 1 0 0  1  0  1  1  0  1
Parity bits:   X X   X       X                     X


    00101 Position 5
    00111 Position 7
    01011 Position 11
    01101 Position 13
XOR 01110 Position 14
--------------------
    01010 Parity bits calculated
XOR 00111 Parity bits received
--------------------
    01101 => Bit 13 ist defective!

I hope, anybody here knows the correct name of the method.

Thanks for any help.

1

1 Answers

1
votes

This looks like a complicated implementation of the Hamming(15,11) encoding & decoding algorithm.

Interleaving the parity bits with the information bits does not change the behaviour (or performance) of the code. Your description only uses 8 information bits, where the Hamming(15,11) corrects all single bit errors even with 11 information bits being transmitted.

Your description does not explain how the transmitted 12-bit message gets extended to a 16-bit message on the receive side.