I'm currently learning how Hamming codes work and so far I am understanding it!
I have worked through several examples, and it seems to work well following the below table:
Where I get stuck however is when I have an example which its length means it ends on a parity bit. For example:
1001010011010011
Ignore the meaning of obviously random binary string above, but the fact that it is 16 bits long, when you are error checking it, you start with p1 and then do p2, p4, p8 and finally p16. What I don't understand however, is that as there are no digits after position 16, how am I meant to work out if p16 is correct or not. If the string was 20 bits long, I know you just count 16 and skip 16, starting at p16. However as there are no bits after p16 I am a bit stuck.
If anyone has any idea, that would be awesome!
Thanks
If the encoded size is 16, this means that the raw size was 11, and the last bit is a useless parity bit, with value zero, that only checks itself. If it's zero, then it's ok, if it's 1 its an error. Of course, to chose this Hamming code of length 16 would be a stupid thing to do, because we are sending a bit with no useful information or error detection capability.