1.汉明码的背后机制
对于如何解决原生编码的传输问题,人们发明了汉明编码。汉明编码是基于奇偶校验发展而来,增加了一位的纠错功能。每一个定义的背后,都有其自己的一套运行机制,我们将要谈论的就是汉明码背后的这套机制。我个人的理解是,虽然表面上看着只是传输了汉明码,但是背后将汉明码分成了多组,再将多组分析后的结果组合起来得出一个结论,即传输的汉明码哪些位出了错误。
详细地分析背后的运行过程就是,我们先将原先的编码按照定义的规则编成汉明码。这个编成的汉明码有两种成分,数据位和校验位,并不存在什么纠正位,我猜具体如何纠正一位错误,是系统单独操作的。看着是一行的汉明码,实际上是多组码合成的编码,组与组之间的数据位在汉明码中有重合,这样做的原因就是便于校验和纠错。→这个流程说的不对,反过来说了。
原生编码的位数是确定的,按照给定的公式,我们即可得到校验位的位数。校验位的数目确定了,也就决定了将原生码分成几组。再根据给定的是奇校验还是偶校验,确定校验位的具体二进制值。将分成的几组编码合起来就是汉明码,汉明码是用于传输的。具体的校验和纠错还是要将汉明码再次拆分,将每一组校验的结果合起来即可确定汉明码中哪一位传输有问题。