TC10 4b MeggittDecoder
TC10 4b MeggittDecoder
Syndromes
Let be the generating polynomial of a cyclic code of length
over . We want to implement the Meggitt decoder for . In this decod‐
er, a received vector ,…, is seen as a polynomial
Example (Meggitt table of the binary Golay code). The binary Golay code
can be defined as the length 23 cyclic code generated by
1
4
and in this case, since the error‐correcting capacity is 3, the Meggitt table
can be encoded as follows:
# Meggitt table for the binary Golay code
n=23; R=0..(n-2);
g=x^11+x^9+x^7+x^6+x^5+x+1 : Zmod(2)[x];
# The table
E1=[remainder(x^(n-1),g) → x^(n-1)];
E2=[remainder(x^(n-1)+x^i,g) → x^(n-1)+x^i
with i in R];
E3=[remainder(x^(n-1)+x^i+x^j,g) → x^(n-1)+x^i+x^j
with (i,j) in (R,R) where j<i];
E=E1+E2+E3;
# Example
s=remainder(x^(n-1)+x^14+x^3,g) #
E(s) # → x^22+x^14+x^3
5
Thus we have that is 0 for all syndromes that do not coincide with
the syndrome of , or of for 0, . . . ,21, or of
for , 0,1, … ,21 and . Otherwise selects, among those po‐
lynomials, the one that has syndrome .
Example (Meggitt table of the ternary Golay code). The ternary Golay
code can be defined as the length 11 cyclic code generated by
2 2
and in this case, since the error‐correcting capacity is 2, the Meggitt table
can be defined as follows:
6
# Example
s=remainder(-x^(n-1)+x^5,g) #
E(s) # → 2*x^10+x^5
7