Decimal representation
To correctly understand this mechanism, we must consider all the decimal values โโof the code words. Follow the table above, I converted all binary values โโof your table to decimal.
Now, in order to avoid the DC component during transmission, we should only consider code words that do not have more than one start and two tail tails. Thus, we get that every two consecutive data words are assigned to the other two consecutive code words.
Like this
(2.3) - (20.21),
(4,5) - (10,11)
(6.7) - (14.15)
(8.9) - (18.19)
(10.11) - (22.23)
(12, 13) - (26.27)
(14.15) - (28.29)
An exception
(0.1) - (30.9)
1 is assigned 9 because all codewords from 0 to 8 (inclusive) are invalid due to excess zero. Thus, the first valid codeword 9 is assigned 1. If all valid codewords are assigned sequentially, then when transmitting only one bit (one-bit error) during transmission, it will be converted to the next or previous codeword, and this error will go unnoticed.
We know that in block coding, if a valid codeword is converted to another valid codeword during transmission as a result of an error, it remains undetected, and this is a limitation of block coding. Therefore, to avoid this, all valid codewords are not assigned sequentially using words.
source share