编码原理和校验方法
贴上目前为止看到的最简单且基础的讲解,非常直观易懂,并且条理非常清晰。非常感谢原作者了。
https://blog.csdn.net/u014470361/article/details/79848824
监督关系式
推倒过程
假设我们现在的有信息位a6a5a4a3(k=4),由2r ≥k+r+1得到r=3。即在4位信息位a6a5a4a3后面加上3位冗余位a2a1a0,构成7位码字a6a5a4a3a2a1a0 。
a2,a1,a0分别由信息位中的几位异或得到
校验时,他们就分别和这些位异或构成三个监督关系式
规定:
无错时,这三个关系式的值S2,S1,S0全部为0,即000
若a0错,则S0=1,S1=S2=0,即001
若a1错,则S1=1,S0=S2=0,即010
若a2错,则S2=1,S0=S1=0,即100
S2,S1,S0这三个校正因子的其他4中编码用来区分信息位的一位错
对应关系如下
S2S1S0 000 001 010 100 011 101 110 111
错码位置 无 a0 a1 a2 a3 a4 a5 a6
由此可见,a2,a4,a5,a6的一位错都会使得S2=1,因此S2=a2+a4+a5+a6
同理可得
S1 =a1+a3十a5十a6
S0 =a0+a3十a4十a6
S2 =a2+a4十a5十a6
纠错过程
假设码字0010101传输中发生一位错,在接收端收到的为0011101(我们可以看到是a3出错)
将接收端码字代入监督关系式:
S2 =a2+a4十a5十a6
S1 =a1+a3十a5十a6
S0 =a0+a3十a4十a6
可算得S2=0、 S1=1和S0 =1。
1、S2S1S0=011=3,故错误的是a3。
2、我们也可以更一般性的这样去想:
S1=1,说明a1,a3,a5,a6中有一位错
S0=1,说明a0,a3,a4,a6中有一位错
所以,可以知道,错误一定出现在a3,a6中的一个
S2=0,说明a2,a4,a5,a6不会发生错误
所以排除了a6,即错误的是a3.
•