An Introduction to Array Error Control Codes

  • P. G. Farrell
Part of the International Centre for Mechanical Sciences book series (CISM, volume 313)


Array error control codes are linear block and convolutional codes which are constructed from several single parity check or other component codes, assembled in two or more geometrical dimensions or directions, with emphasis on simple component codes and low complexity methods of decoding. Array codes were first discussed by Elias [31], and useful introductory references include [15,36,38,75,81]. The following books have significant sections devoted to array (or product) codes: Pohlmann [67], Rao and Fujiwara [69] and Watkinson [84]. Array codes are easy and flexible to design, and relatively simple (and therefore fast) to decode. For these reasons they have been used in a number of applications where these properties are highly desirable, particularly where information symbols appear (or are constrained to be) in geometrical patterns (e.g., tapes, cards, discs, chips, etc.). The two main fields of application are in communications systems and for information storage systems.


Magnetic Tape Convolutional Code Component Code Maximum Distance Separable Burst Error 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    L. R. Bahl and R. T. Chien: On Gilbert Burst-Error-Correcting Codes; IEEE Trans., Vol. IT-15, N. 3, pp. 431–433, May 1969.MathSciNetGoogle Scholar
  2. 2.
    L. R. Bahl and R. T. Chien: Single-and Multiple-BurstCorrecting Properties of a Class of Cyclic Product Codes; IEEE Trans., Vol. IT-17, No. 5, pp. 594–600, Sept. 1971.MathSciNetGoogle Scholar
  3. 3.
    E. R. Berlekamp: Algebraic Coding Theory; McGraw-Hill, 1968.Google Scholar
  4. 4.
    M. Blaum: A Family of Error-Correcting Codes for Magnetic Tapes; IBM Research Report, 1985.Google Scholar
  5. 5.
    M. Blaum: A Family of Efficient Burst-Correcting Array Codes; IBM Res. Report, March 1989.Google Scholar
  6. 6.
    M. Blaum, P. G. Farrell and H. C. A. van Tilborg: A Class of Burst-Error-Correcting Array Codes; IEEE Trans., Vol. IT-32, No. 6, pp. 836–839, Nov. 1986.Google Scholar
  7. 7.
    M. Blaum, P. G. Farrell and H. C. A. van Tilborg: Multiple-Burst-Correcting Array Codes; IEEE Trans., Vol. IT-34, No. 5, pp. 1061–1066, Sept. 1988.Google Scholar
  8. 8.
    M. Blaum and R. J. McEliece: Coding Protection for Magnetic Tapes: A Generalisation of the Patel-Hong Code; IEEE Trans., Vol. IT-, No. 5, pp. 690–693, Sept. 1985.MathSciNetGoogle Scholar
  9. 9.
    E. L. Blokh and V. V. Zyablov: Generalised Concatenated Codes; Svyaz, Moscow, 1976.Google Scholar
  10. 10.
    D. C. Bossen: b-Adjacent Error Correction; IBM Jour. Res. and Dev., Vol. 14, pp. 402–408, 1970.CrossRefMATHMathSciNetGoogle Scholar
  11. 11.
    R. T. Bow: Codes for High Speed Arithmetic and Burst Correction; Ph.D. Thesis, University of Illinois at Urbana-Champagne, USA, Jan. 1973.Google Scholar
  12. 12.
    J. D. Bridwell and J. K. Wolf: Burst Distance and Multiple-Burst Correction; BSTJ, Vol. 49, pp. 889–909, May-June, 1970.Google Scholar
  13. 13.
    D. T. Brown and F. F. Sellers: Error Correction for IBM 800-bit-inch Magnetic Tape; IBM Jour. Res. and Dev., Vol. 14, pp. 384–389, 1970.CrossRefGoogle Scholar
  14. 14.
    H. O. Burton and E. J. Weldon: Cyclic Product Codes; IEEE Trans., Vol. IT-11, pp. 433–439, July 1965.Google Scholar
  15. 15.
    P. Calingaert: Two-Dimensional Parity Checking; Jour. Assoc. Comp. Machinery, Vol. 8, No. 2, pp. 186–200, 1961.CrossRefMATHGoogle Scholar
  16. 16.
    R. Campello de Souza: Single-Burst Correcting Array Codes; Comms. Res. Group Report, University of Manchester, 1984.Google Scholar
  17. 17.
    C. L. Chen: Byte-Oriented Error-Correcting Codes for Semiconductor Memory Systems; IEEE Trans., Vol. C-35, No. 7, pp. 646–648, July 1986.Google Scholar
  18. 18.
    Chen Ji: Extended Complex-Rotary Codes and their Encoding/Decoding Methods; Dissertation, South-Western Jiaotong University, 1986.Google Scholar
  19. 19.
    Kar-Ming Cheung: Error-Correction Coding in Data Storage Systems; Ph.D. Thesis, Calif. Inst. of Tech., USA, 1987.Google Scholar
  20. 20.
    A. B. Cooper and W. C. Gore: Iterated Codes with Improved Performance; IEEE Trans., Vol. IT-24, No. 1, pp. 116–118, Jan. 1978.Google Scholar
  21. 21.
    B. Courteau and J. Goulet: An Extension of the Codes Introduced by Seguin, Allard and Bhargava; Discrete Maths., Vol. 56, pp. 133–139, 1985.CrossRefMATHMathSciNetGoogle Scholar
  22. 22.
    J. S. Daniel: Double-Burst-Correcting Array Codes: Generation and Decoding; IEEE Int. Symp. on Info. Theory, Brighton, UK, June 1985.Google Scholar
  23. 23.
    J. S. Daniel: Synthesis and Decoding of Array Error Control Codes; Ph.D. Thesis, University of Manchester, UK, August 1985.Google Scholar
  24. 24.
    J. S. Daniel and P. G. Farrell: Burst-Error-Correcting Array Codes: Further Developments; IERE Conf., Dig. Proc. of Signals in Comms, Loughborough, April 22–26, 1985.Google Scholar
  25. 25.
    N. Darwood: A Moving Parity Check Method; Electronic Eng., April 1979.Google Scholar
  26. 26.
    N. Darwood: Improved Parity Checker; Wireless World, pp. 81–82, Jan. 1981.Google Scholar
  27. 27.
    L. B. de Vries and K. Odaka: CIRC — The Error Correcting Code for the Compact Disc Digital Audio System; Digital Audio Collected Papers, AES, 1983.Google Scholar
  28. 28.
    T. T. Doi: Channel Coding for Digital Audio Recordings; Jour. Audio Eng. Soc. Vol. 31, No. 4, pp. 224–238, April 1983.Google Scholar
  29. 29.
    T. T. Doi, K. Odaka, G. Fukuda and S. Furukawa: Cross-Interleave Code for Error Correction of Digital Audio Systems: Jour. Audio Eng. Soc., Vol. 27, pp. 1028, 1979.Google Scholar
  30. 30.
    T. Donnelly: Real Time Microprocessor Techniques for a Digital Multitrack Tape Recorder; Ph.D. Thesis, Plymouth Polytechnic (CNAA ), Jan. 1989.Google Scholar
  31. 31.
    P. Elias: Error-Free Coding; IEEE Trans., Vol. IT-4, pp. 29–37, 1954.Google Scholar
  32. 32.
    T. Ericsson: A Simple Analysis of the Blokh-Zyablov Decoding Algorithm, Internal Report, Linkoping University, Sweden, Nov. 1986.Google Scholar
  33. 33.
    Jin Fan: An Investigation on New Complex-Rotary Codes; IEEE Int. Symp. on Info. Theory, Brighton, UK, June 1985.Google Scholar
  34. 34.
    Jin Fan: Analysis of the Characteristics of a New Complex Rotary Code; Jour. of Chinese Inst. of Comms., Vol. 7, No. 2, 1986.Google Scholar
  35. 35.
    Jin Fan: A New Combinatorial Coding Method using Block Design; Proc. 1988 Beijing Int. Workshop on Info. Theory, July 4–7, 1988.Google Scholar
  36. 36.
    P. G. Farrell: Array Codes; Algebraic Coding Theory and Applications, Ed. G. Longo, Springer-Verlag, pp. 231–242, 1979.Google Scholar
  37. 37.
    P. G. Farrell: Array Codes for Correcting Cluster-Error Patterns; IEE Conf. on “Electronic Signal Processing”, York, July 26–28, 1982.Google Scholar
  38. 38.
    P. G. Farrell and S. J. Hopkins: Burst-Error-Correcting Array Codes; Radio and Electronic Engr., Vol. 52, No. 4, pp. 182–192, April 1982.Google Scholar
  39. 39.
    P. G. Farrell and S. J. Hopkins: Decoding Algorithms for a Class of Burst-Error-Correcting Array Codes; IEEE Int. Symp. on Info. Theory, Les Arcs, France, June 21–25, 1982.Google Scholar
  40. 40.
    P. Fire: A Class of Multiple-Error Correcting Binary Codes for Non-Independent Errors; Sylvania Rep. RSL-E-2, April 24, 1959.Google Scholar
  41. 41.
    T. Fuja: On the Structure and Decoding of Cross-Parity-Check Codes for Magnetic Tape; Ph.D. Thesis, Cornell University, May 1987.Google Scholar
  42. 42.
    B. J. Gassner: Cyclic BIB Designs; IEEE Int. Cony. Record, Pt. 7, p. 259, 1965.Google Scholar
  43. 43.
    E. N. Gilbert: A Problem in Binary Encoding: Proc. Symp. Applied Maths., Vol. 10, Ann. Math. Soc., pp. 291–297, 1960.Google Scholar
  44. 44.
    R. W. Hamming: Error Detecting and Error Correcting Codes; BSTJ, Vol. 29, pp. 147–160, 1950.MathSciNetGoogle Scholar
  45. 45.
    S. Harari: Fuzzy Correction Capability; Algebraic Coding Theory and Applications, Ed. G. Longo, Springer-Verlag, pp. 497–512, 1979.Google Scholar
  46. 46.
    T. G. Harbour: Burst Error Correcting Codes Based on Modified Array Codes; Personal Communication, June 1987.Google Scholar
  47. 47.
    S. J. Hong and A. M. Patel: A General Class of Maximal Codes for Computer Applications; IEEE Trans., Vol. C-21, p. 13–22, 1972.Google Scholar
  48. 48.
    T. Horiguchi and K. Morita: A Parallel Memory with Double Error Correction Capability–A Class of One-Step Majority-Logic Decodable Error Correction Codes; IECE Japan, Tech. Group, EC 75–42, Nov. 1975.Google Scholar
  49. 49.
    M. Y. Hsiao, D. C. Bossen and R. T. Chien: Orthogonal Latin Square Codes; IBM Jour. Res. and Dev., Vol. 14, pp. 390–394, July 1970.MATHMathSciNetGoogle Scholar
  50. 50.
    C. C. Ko and T. T. Tjhung: Performance of Simple Cross-Interleaved Reed-Solomon Decoding Strategies for Compact Disc Players; Int. Jour. Electronic, Vol. 64, No. 4, pp. 627–635, 1988.CrossRefGoogle Scholar
  51. 51.
    J. H. Lee, T. Segawa and A. Shiozaki: A Decoding Method for Shizaki’s Orchard Codes and a Proposal of a New Class of Orchard Codes; Proc. 1988, Beijing Int. Workshop on Info. Theory, July 4–7, 1988.Google Scholar
  52. 52.
    S. Lin and D. J. Costello: Error-Control Coding: Fundamentals and Applications; Prentice-Hall, 1983.Google Scholar
  53. 53.
    F. J. MacWilliams and N. J. A. Sloane: The Theory of Error-Correcting Codes; North-Holland, 1977.Google Scholar
  54. 54.
    T. Mano, J. Yamada, J. Inove and S. Nakajima: Circuit Techniques for a VLSI Memory: IEEE Jour. Solid State Circuits, Vol. SC-18, No. 5, pp. 463–469, Oct. 1983.CrossRefGoogle Scholar
  55. 55.
    J. L. Massey: Threshold Decoding; MIT Press, 1963.Google Scholar
  56. 56.
    B. Montaron: Codes a Ailerons, Codes a Damiers et Constructions Combinatories; These 3eme Cycle, Univ. de Paris V I, May 1978.Google Scholar
  57. 57.
    B. C. Mortimer, M. J. Moore and M. Sablatash: The Design of a High-Performance Error-Correcting Coding Scheme for the Canadian Broadcast Telidon System Based on Reed-Solomon Codes; IEEE Trans., Vol. COM-35, No. 11, pp. 1113–1123, Nov. 1987.CrossRefGoogle Scholar
  58. 58.
    P. G. Neumann: A Note on Gilbert Burst-Correcting Codes, IEEE Trans., Vol. IT-11, No. 4, pp. 377–384, July 1965.CrossRefGoogle Scholar
  59. 59.
    F. I. Osman: Error-Correction Techniques for Random-Access Memories; IEEE Jour. Solid State Circuits, Vol. SC-17, No. 5, pp. 877–881, Oct. 1982.CrossRefGoogle Scholar
  60. 60.
    E. L. Otter: The Orchard Error-Correcting Codes; Ph.D. Dissertation, University of New Mexico, Dec. 1984.Google Scholar
  61. 61.
    E. L. Otter and R. C. de Vries: A Method of Examining Orchard Codes for Minimum Hamming Distance Five; IEEE Trans., Vol. COM-34, No. 4, pp. 399–404, April 1986.CrossRefGoogle Scholar
  62. 62.
    A. M. Patel: Multitrack Error Correction with Cross-Parity Check Coding; IBM Tech. Rep. TR02.813, March 20th, 1978.Google Scholar
  63. 63.
    A. M. Patel: Error Recovery Scheme for the IBM 3850 Mars Storage System; IBM Jour. Res. and Dev., Vol. 24, No. 1, pp. 32–42, Jan. 1980.Google Scholar
  64. 64.
    A. M. Patel: Adaptive Cross-Parity (AXP) Code for the IBM Magnetic Tape Subsystem; IBM Jour. Res. and Dev., Vol. 29, No. 6, pp. 546–562, Nov. 1985.CrossRefGoogle Scholar
  65. 65.
    A. M. Patel and S. J. Hong: Optimal Rectangular Code for High Density Magnetic Tape; IBM Jour. Res. and Dev., Vol. 18, pp. 579–588, Nov. 1974.Google Scholar
  66. 66.
    P. Piret and T. Krol: MDS Convolutional Codes; IEEE Trans., Vol. IT-29, No. 2, pp. 224–233, March 1983.MathSciNetGoogle Scholar
  67. 67.
    K. C. Pohlmann: Principles of Digital Audio; Sams (MacMillan), 2nd Edition, 1989.Google Scholar
  68. 68.
    P. Prusinkiewicz and S. Budkowski: A Double-Track Error-Correction Code for Magnetic Tape; IEEE Trans., Vol. C-19, No., pp. 642–645, June 1976.Google Scholar
  69. 69.
    T. R. N. Rao and E. Fujiwara: Error-Control Coding for Computer Systems; Prentice-Hall, 1989.Google Scholar
  70. 70.
    I. S. Reed and G. Solomon: Polynomial Codes over Certain Finite Fields; Jour. Soc. Indust. Appl. Maths., Vol. 8, pp. 300–304, 1960.CrossRefMATHMathSciNetGoogle Scholar
  71. 71.
    S. Reiger: Codes for the Correction of Clustered Errors, IRE Trans., Vol. IT-6, pp. 16–21, March 1960.Google Scholar
  72. 72.
    J. Robinson and A. Bernstein: A Class of Binary Recurrent Codes with Limited Error Propagation; IEEE Trans., Vol. IT-13, No. 1, pp. 106–113, Jan. 1967.CrossRefGoogle Scholar
  73. 73.
    V. C. da Rocha: On an Extension of the Smith Construction for Self-Orthogonal Array Codes; Private Communication, 1988.Google Scholar
  74. 74.
    R. Rowland: Error-Detecting Capabilities of Two-Coordinate Codes; Electronic Eng., Vol. 40, pp. 16–20, Jan. 1968.Google Scholar
  75. 75.
    E. Scott and D. Geotschel: One Check Bit Per Word can Correct Multibit Errors; Electronics, pp. 130–134, May 5th, 1981.Google Scholar
  76. 76.
    G. Seguin, P. E. Allard and V. Bhargava: A Class of High Rate Codes for Byte-Oriented Information Systems; IEEE Trans., Vol. COM-31, No. 3, pp. 334–342, March 1983.CrossRefGoogle Scholar
  77. 77.
    A. Shiozaki: Proposal of a New Coding Pattern in Orchard Scheme; Info. and Control, Vol. 51, No. 3, pp. 209–215, Dec. 1981.CrossRefMATHMathSciNetGoogle Scholar
  78. 78.
    A. Shiozaki: A New Class of Orchard Codes with Double Bit Error and Single Byte Error Correcting Capability; IECE Japan Trans., Vol. E69, No. 12, pp. 1330–1333, Dec. 1986.Google Scholar
  79. 79.
    D. Slepian: Some Further Theory of Group Codes; BSTJ, Vol. 39, pp. 1219–1252, Sept. 1960.MathSciNetGoogle Scholar
  80. 80.
    N. J. A. Sloane: A Simple Description of an Error-Correcting Code for High-Density Magnetic Tape; BSTJ, Vol. 55, No. 2, pp. 157–165, Feb. 1976.MathSciNetGoogle Scholar
  81. 81.
    R. J. G. Smith: Easily-Decoded Efficient Self-Orthogonal Block Codes; Elec. Letters, Vol. 13, No. 7, pp. 173–174, March 31st, 1977.CrossRefGoogle Scholar
  82. 82.
    R. J. G. Smith: Easily-Decoded Error-Correcting Codes; Ph.D. Thesis, University of Kent at Canterbury, UK, 1978.Google Scholar
  83. 83.
    R. I. Townsend and E. J. Weldon: Self-Orthogonal Quasi-Cyclic Codes; IEEE Trans., Vol. IT-13, pp. 183–195, 1967.Google Scholar
  84. 84.
    J. Watkinson: The Art of Digital Audio; Focal Press, 1988.Google Scholar
  85. 85.
    J. Yamada, T. Mano, J. Inoue, S. Nakajima and T. Matsuda: A Submicron 1-Mbit Dynamic RAM with a 4-bit-at-a-time Built-In ECC Circuit; IEEE Jour. Solid State Ccts., Vol. SC-19, No. 5, pp. 627–633, Oct. 1984.CrossRefGoogle Scholar
  86. 86.
    W. Zhang and J. K. Wolf, A Class of Binary Burst Error-Correcting Quasi-Cyclic Codes; IEEE Trans., Vol. 34, No. 3, pp. 463–479. May 1988.MATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Wien 1990

Authors and Affiliations

  • P. G. Farrell
    • 1
  1. 1.University of ManchesterManchesterUK

Personalised recommendations