1
votes

I need to develop an error correcting code.

My alphabet is {0,1,2,3} (4 elements)
Codeword size n will be 8 or 12
expected error correction capability = 1 digit
expected error detection capability = 2 digit

I reviewed many ecc techniques (rs,ldpc,etc), yet still dont know where to start, and how to do.

Can anybody plz help me to construct it?

Thx

2

2 Answers

0
votes

Have you considered a checksum?

0
votes

There are tons of ways to implement this, but a common approach would be to use a Reed-Solomon code.

Since you need to detect all two-symbol errors and correct all one-symbol errors, that means you will need two check symbols.

You say you have 2-bit (4-element) symbols, which limits your code length to 3 symbols.

Add that up and you have 1 data symbol and 2 check symbols for each 12-bit code word.

Not very efficient, eh? For that efficiency, you might as well just triplicate your symbol thrice, with the same codewords size and detective and corrective power.

To use Reed-Solomon more effectively, you'll need to use large symbols. This is true for most other types of codes as well.

EDIT:

You may want to consider generalized BCH codes which don't have quite as many limitations as Reed-Solomon codes (which are a subset of BCH codes), at the expense of more complex decoding:

http://en.wikipedia.org/wiki/BCH_code