Quadratic residue code

From HandWiki

A quadratic residue code is a type of cyclic code.

Examples

Examples of quadratic residue codes include the [math]\displaystyle{ (7,4) }[/math] Hamming code over [math]\displaystyle{ GF(2) }[/math], the [math]\displaystyle{ (23,12) }[/math] binary Golay code over [math]\displaystyle{ GF(2) }[/math] and the [math]\displaystyle{ (11,6) }[/math] ternary Golay code over [math]\displaystyle{ GF(3) }[/math].

Constructions

There is a quadratic residue code of length [math]\displaystyle{ p }[/math] over the finite field [math]\displaystyle{ GF(l) }[/math] whenever [math]\displaystyle{ p }[/math] and [math]\displaystyle{ l }[/math] are primes, [math]\displaystyle{ p }[/math] is odd, and [math]\displaystyle{ l }[/math] is a quadratic residue modulo [math]\displaystyle{ p }[/math]. Its generator polynomial as a cyclic code is given by

[math]\displaystyle{ f(x)=\prod_{j\in Q}(x-\zeta^j) }[/math]

where [math]\displaystyle{ Q }[/math] is the set of quadratic residues of [math]\displaystyle{ p }[/math] in the set [math]\displaystyle{ \{1,2,\ldots,p-1\} }[/math] and [math]\displaystyle{ \zeta }[/math] is a primitive [math]\displaystyle{ p }[/math]th root of unity in some finite extension field of [math]\displaystyle{ GF(l) }[/math]. The condition that [math]\displaystyle{ l }[/math] is a quadratic residue of [math]\displaystyle{ p }[/math] ensures that the coefficients of [math]\displaystyle{ f }[/math] lie in [math]\displaystyle{ GF(l) }[/math]. The dimension of the code is [math]\displaystyle{ (p+1)/2 }[/math]. Replacing [math]\displaystyle{ \zeta }[/math] by another primitive [math]\displaystyle{ p }[/math]-th root of unity [math]\displaystyle{ \zeta^r }[/math] either results in the same code or an equivalent code, according to whether or not [math]\displaystyle{ r }[/math] is a quadratic residue of [math]\displaystyle{ p }[/math].

An alternative construction avoids roots of unity. Define

[math]\displaystyle{ g(x)=c+\sum_{j\in Q}x^j }[/math]

for a suitable [math]\displaystyle{ c\in GF(l) }[/math]. When [math]\displaystyle{ l=2 }[/math] choose [math]\displaystyle{ c }[/math] to ensure that [math]\displaystyle{ g(1)=1 }[/math]. If [math]\displaystyle{ l }[/math] is odd, choose [math]\displaystyle{ c=(1+\sqrt{p^*})/2 }[/math], where [math]\displaystyle{ p^*=p }[/math] or [math]\displaystyle{ -p }[/math] according to whether [math]\displaystyle{ p }[/math] is congruent to [math]\displaystyle{ 1 }[/math] or [math]\displaystyle{ 3 }[/math] modulo [math]\displaystyle{ 4 }[/math]. Then [math]\displaystyle{ g(x) }[/math] also generates a quadratic residue code; more precisely the ideal of [math]\displaystyle{ F_l[X]/\langle X^p-1\rangle }[/math] generated by [math]\displaystyle{ g(x) }[/math] corresponds to the quadratic residue code.

Weight

The minimum weight of a quadratic residue code of length [math]\displaystyle{ p }[/math] is greater than [math]\displaystyle{ \sqrt{p} }[/math]; this is the square root bound.

Extended code

Adding an overall parity-check digit to a quadratic residue code gives an extended quadratic residue code. When [math]\displaystyle{ p\equiv 3 }[/math] (mod [math]\displaystyle{ 4 }[/math]) an extended quadratic residue code is self-dual; otherwise it is equivalent but not equal to its dual. By the Gleason–Prange theorem (named for Andrew Gleason and Eugene Prange), the automorphism group of an extended quadratic residue code has a subgroup which is isomorphic to either [math]\displaystyle{ PSL_2(p) }[/math] or [math]\displaystyle{ SL_2(p) }[/math].

Decoding Method

Since late 1980, there are many algebraic decoding algorithms were developed for correcting errors on quadratic residue codes. These algorithms can achieve the (true) error-correcting capacity [math]\displaystyle{ \lfloor(d-1)/2\rfloor }[/math] of the quadratic residue codes with the code length up to 113. However, decoding of long binary quadratic residue codes and non-binary quadratic residue codes continue to be a challenge. Currently, decoding quadratic residue codes is still an active research area in the theory of error-correcting code.

References

  • F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, North-Holland Publishing Co., Amsterdam-New York-Oxford, 1977.
  • Blahut, R. E. (September 2006), "The Gleason-Prange theorem", IEEE Trans. Inf. Theory (Piscataway, NJ, USA: IEEE Press) 37 (5): 1269–1273, doi:10.1109/18.133245 .
  • M. Elia, Algebraic decoding of the (23,12,7) Golay code, IEEE Transactions on Information Theory, Volume: 33 , Issue: 1 , pg. 150-151, January 1987.
  • Reed, I.S., Yin, X., Truong, T.K., Algebraic decoding of the (32, 16, 8) quadratic residue code. IEEE Trans. Inf. Theory 36(4), 876–880 (1990)
  • Reed, I.S., Truong, T.K., Chen, X., Yin, X., The algebraic decoding of the (41, 21, 9) quadratic residue code. IEEE Trans. Inf. Theory 38(3), 974–986 (1992)
  • Humphreys, J.F. Algebraic decoding of the ternary (13, 7, 5) quadratic-residue code. IEEE Trans. Inf. Theory 38(3), 1122–1125 (May 1992)
  • Chen, X., Reed, I.S., Truong, T.K., Decoding the (73, 37, 13) quadratic-residue code. IEE Proc., Comput. Digit. Tech. 141(5), 253–258 (1994)
  • Higgs, R.J., Humphreys, J.F.: Decoding the ternary (23, 12, 8) quadratic-residue code. IEE Proc., Comm. 142(3), 129–134 (June 1995)
  • He, R., Reed, I.S., Truong, T.K., Chen, X., Decoding the (47, 24, 11) quadratic residue code. IEEE Trans. Inf. Theory 47(3), 1181–1186 (2001)
  • ….
  • Y. Li, Y. Duan, H. C. Chang, H. Liu, T. K. Truong, Using the difference of syndromes to decode quadratic residue codes, IEEE Trans. Inf. Theory 64(7), 5179-5190 (2018)