I want to transmit a 32bit message in eight groups of 5bit each. This leaves me with 8bits to use for error checking.
Overall, a group is likely transmitted without error, but when there is an error transmitting a group, there are probably multiple bits wrong.
If I use one parity bit per group, I have a 50% chance to detect a wrong group. But I don't need to know which group of a message is wrong, I want to check the entire message.
I want 100% chance of detecting if one group of the message is incorrect, regardless of how many bits are flipped in that group. If possible, I also want to be able to check wheather two neighboring groups have been switched.
Which algorithm should I use for error checking / How should I code the data?