海明码编码及校验原理
纠错码——海明码
如果传输的数据位是m位,加了r位冗余位,那么总共传输的数据单元是m+r位。
为了能够发现这m+r位数据单元在传输到目的端后是否出错,并能够指明是在哪一位出错,那么r至少应该能够代表m+r+1种状态。r比特能够代表2r不同状态。
因此,2r>=m+r+1
若m=7,则满足上式的最小r值为:4。
海明码的纠错原理
海明码的接收端的公式:
S3= P3⊕ D4⊕D3 ⊕D2
S2= P2⊕D4 ⊕D3 ⊕D1
S1= P1⊕D4 ⊕D2 ⊕D1
假定 海明码1010101在传送中变成了1000101
S3= P3⊕ D4⊕D3 ⊕D2=0⊕1⊕0 ⊕0 =1
S2= P2⊕D4 ⊕D3 ⊕D1=0⊕1⊕ 0 ⊕1=0
S1= P1⊕D4 ⊕D2 ⊕D1=1⊕1⊕ 0 ⊕1=1
因此,由S3S2S1= 101,指出第5位错,应由0变1
奇偶校验是用来检查数据传输的正确性的方法。奇偶校验能检测出传输数据的部分错误(1位误码能检测出,2位及2位以上检测不出来),而且不能纠错,在发现错误后,只能要求重发。由于简单所以被广泛应用。
2、这种方法是在每一字节中加上一个奇偶校验位,并被传输,即每个字节发送九位(8位+1位校验位)数据。1个字节(byte)=8位(bit)。
3、数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和