- The channel is tiny, it has message size of 72 bits
- Each bit is probabilistic, meaning that I have a value between 0 and 100 of how likely that bit is on/off1
- Only 24 bits of acutal data are needed
BCH[63,24,7] is the closest thing I've found, but it doesn't capitalize on all aspects of the channel. It isn't probabilistic and 9 of the 72 bits are unused.
Can anyone suggest an algorithm that can perform better on this type of channel?
1 The bits are derived from pixels on a greyscale image (values 0 to 255) read from a camera by the recipient of the code. Any pixel P ≤ 128 translates to 0, otherwise 1. Due to the lighting conditions when the image is taken, some bits are more likely to be erroneous. For example, half of the image is in a shadow, white pixels begin to look more grey, so instead of reading 255 (full white) they read 110 (which is ≤ 128, therefore the bit is 0). So, pixels that are far away from 0 and 255 are more likely to be erroneous, so to speak. The value of each bit is independent. In the end, the algorithm should be able to verify that the bits converted from pixels match a valid codeword and correct them otherwise.