Wednesday, December 25, 2013

[gmtrvmlk] Fractional error correction

Consider encoding binary data (0,1) using an alphabet (a,b,c).  However, instead of doing a binary to ternary base conversion to encode efficiently, we use the extra character for error detection.

0->a, 1->(b or c) depending on the parity of the data encoded so far, where "parity" can be any error detection or (ambitiously) error correction function.

However, input data containing many 0s will invoke the parity check very infrequently.  We could modify the scheme to alternate something like 0->(a or c) on the even numbered bits, but there still remain pathological inputs: 101010...

Surely we can do better.  It probably involves giving up the convenience of the decoder always being able to assume a=0 and b=1 with only c needing to be treated specially.

The motivation was to convert from base 4096 to 4575.

No comments :