2

Suppose we're working with $F_8=\{0,1,2,3,4,5,6,7\}$ and each of message has length of $n$. Is it possible to construct an error correction code such that it corrects $n$ errors, and each error is off by $\pm1$?

For example, if the original message is $666$, the corrupted version can be $555, 556, 557, 565, \cdots, 777$.

I'm totally new to the topic of error correction codes and have no clue how to proceed. Can you guys shed some light on it?

qweruiop
  • 374
  • What does $F_8$ mean? – mathreadler Oct 05 '15 at 21:20
  • @mathreadler It means finite field. See my update. – qweruiop Oct 05 '15 at 21:21
  • Ah, ok, so the example is 3 3-bit numbers? – mathreadler Oct 05 '15 at 21:24
  • @mathreadler Yes, each digit is a 3-bit number. – qweruiop Oct 05 '15 at 21:25
  • Exactly how is this set of numbers a finite field? See the second section of this answer to see what $\Bbb{F}_8$ looks like. The elements can be represented by 3 bits, but it is a stretch to think that their arithmetic has much to do with that of integers. For example addition in $\Bbb{F}_8$ is the bitwise XOR. Anyway, look for Lee metric codes. I'm not sure if you find anything very well suited, for that $n$ is a huge Lee distance in comparison. – Jyrki Lahtonen Oct 06 '15 at 09:34

1 Answers1

4

A doubly-extended $[9,3]$ Reed-Solomon code over the field of 8 elements can correct $3$ errors anywhere in the $9$ symbols of a codeword even if the error values are not confined to being $\pm 1$ as you need them, or the errors are in the information symbols, or the extra (parity check) symbols, or scattered between the information and the parity check symbols. But, there must be no more than three errors in the nine codeword symbols.

With errors restricted to being $\pm 1$, one might be able to do better (e.g. reduce the codeword length to $8$ or perhaps even less), but the distance structure that you have (if a 6 is transmitted, the only possible received symbols are 5, 6, 7) does not match the distance structure of the field (unless you use something like Gray coding) so that binary codes can be used.

Dilip Sarwate
  • 25,197