# Forward error correction with limited possible errors

I am using a Reed-Solomon FEC implementation in GF(1024) to correct T=15 errors in a given codeword.

In the particular implementation though, I know for a fact that for each transmitted symbols, the corresponding received (potentially error'ed) symbol will always be one of a given set of symbols. The set depends on the value of the original symbol, and can contain anywhere from 32 to 243 members.

So for example if my original symbol is A0='0000000000', then the received symbol will always belong to a known set S(A0) which obviously contains A0 and some other symbols, never to exceed 243 symbols total per set. If A!=B then S(A)!=S(B) (but the intersection of S(A) and S(B) in general is non-empty).

Can you think of some optimization that I can use in order to reduce the parity of the code, given that I know that there is a limited number of possible received symbols for each transmitted symbol?

Thanks, -Dimitri

Reed-Solomon codes are perfectly matched to a symmetric channel for which the probability that a given symbol $X$ is changed to a symbol $Y \neq X$ is the same for all choices of $Y \neq X$. That is, no particular symbol error is more likely than any other symbol error.
Thus, knowing that the channel is not symmetric and that certain symbol errors are impossible doesn't help in the decoding process at all. This knowledge might be usable in the post-decoder processing. If the decoder has corrected $Y$ into $X$ and $Y \notin S(X)$, then that is a dead giveaway that something is awry, right? So, the post-decoding processor can reject such purported "correct decoding" and ask for a retransmission or blank out that codeword to produce a blank area on the screen instead of gobbledygook.
Unfortunately, the most likely problem with Reed-Solomon decoders is not that they find an incorrect codeword, but rather that they fail to decode because the received word is not at Hamming distance $t$ or less from any codeword.