汉明码奇偶校验分配问题

时间:2016-12-08 20:20:55

标签: bits parity hamming-code

有人可以澄清我哪里出错了。我在这2个小时......我知道代码中的第一个奇偶校验包括它自己,并跳过它之后的每个第一个数字,是和否序列。第二组跳过每一秒后的数字和后面的数字。包括自身和前3个数字后,第4个应该跳过4个。

These are my message bits in its original form: 1101011011000110 
   and I want to add the hamming parity bits onto them.
   ? = Parity
so this means ??1?101?01101100011?0 
Parity 1 = ?110110010 
Parity 2 = ?101111011 
Parity 3 = ?1010110?0 (this is where my issue is so I cant move on)
Parity 4 = cant get to this part...

1 个答案:

答案 0 :(得分:0)

看起来您在错误的位置有第5个奇偶校验位。

你有:

  

α1?101?01101100011?0

但它应该是:

  

α1?101?0110110?00110

因此,重新计算奇偶校验位(粗体表示“保持”,否则跳过),我们遵循“保持1,跳过1,保持1 ......”模式:

1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0

P1: ?1110110010 (even number of 1s, so 0 parity)

(丢弃前1位)按照“保持2,跳过2,保持2 ......”的模式:

?1 ?1 01 ?0 11 01 10 ?0 01 10

P2: ?101111001 (even number of 1s, so 0 parity)

(丢弃接下来的2位)按照“保持4,跳过4,保持4 ......”的模式:

?101 ?011 0110 ?0011 0

P4: ?10101100 (even number of 1s, so 0 parity)

(丢弃接下来的4位)按照“保持8,跳过8,保持8 ......”的模式(但我们只能保留8,跳过6,这样就足够了):

?0110110 ?00110

P5: ?0110110 (even number of 1s, so 0 parity)

因此最终的汉明(21,16)编码值是:

001010100110110000110

(21位,其中16位是数据位)