Correcting deletions using linear and cyclic codes

  • Authors:
  • Khaled A. S. Abdel-Ghaffar;Hendrik C. Ferreira;Ling Cheng

  • Affiliations:
  • Department of Electrical and Computer Engineering, University of California, Davis, CA;Department of Electrical and Electronic Engineering Science, University of Johannesburg, South Africa;Department of Electrical and Electronic Engineering Science, University of Johannesburg, South Africa

  • Venue:
  • IEEE Transactions on Information Theory
  • Year:
  • 2010

Quantified Score

Hi-index 754.84

Visualization

Abstract

Linear and cyclic codes are typically used to combat substitution errors. However, synchronization errors, associated with the deletion and insertion of symbols, can cause severe performance degradation unless the coding scheme possesses the capability to recover from such errors. It is shown that linear codes of rate greater than 1/2 cannot correct deletion or insertion errors but there are linear codes of rate 1/2 that can correct these errors. Although cyclic codes, except for repetition codes, cannot correct deletion or insertion errors, two approaches are investigated to yield codes, based on cyclic codes, that can correct these errors. In the first approach, it is shown that a binary or nonbinary cyclic code of rate at most 1/3 or 1/2, respectively, can be extended by one symbol to make it capable of correcting synchronization errors. In the second approach, a cyclic code of rate at most 1/2 is expurgated by appropriately deleting codewords such that the expurgated code is capable of correcting synchronization errors. It is shown that deleting codewords costs at most two information bits if the code is binary and one information symbol if the code is non-binary.