Coding Theory Calculator

Decoding the Extended Golay Code (C24)

Input: A received word r=(x,y)r = (x,y).

  1. 1:

    Compute s1=[I12B]rTs_1 = [I_{12} | B]r^T. If s1=0s_1 = 0, then accept rr; STOP.

  2. 2:

    If 1w(s1)31 \leq w(s_1) \leq 3, then set e=(s1T,0)e = (s_1^T, 0) and decode rr to c=rec = r - e and STOP.

  3. 3:

    Compare s1s_1 to the rows of BB. If row ii of BB differs in exactly one position (say jj) or two positions (say jj and kk), then correct xx in position jj, or positions jj and kk; correct yy in position ii; STOP

  4. 4:

    Compute s2=[BI12]rTs_2 = [B | I_{12}]r^T. If w(s2)3w(s_2) \leq 3, then set e=(0,s2T)e = (0, s_2^T) and decode rr to c=rec = r - e and STOP.

  5. 5:

    Compare s2s_2 to the rows of BB. If row ii of BB differs in exactly one position (say jj) or two positions (say jj and kk), then correct yy in position jj, or positions jj and kk; correct xx in position ii; STOP

  6. 6:

    Reject rr

You can now paste in 24-bit binary strings into the calculator. Simply paste the 24-bit binary string into one of the input boxes, and it will be automatically entered into the calculator!

Decoded Word

Received Word r