汉明校验码个人学习小记

仅记一下关于校验码的学习心得
首先放个图,为汉明码中信息位N与校验位K的位数关系:
2 K 1 2^{K-1} >=N+K+1
在这里插入图片描述
例题:假设有一个8位的信息10101100,求汉明码的生成和校验过程
1.编码生成:由题目知有8位信息位,因此有5位校验位。记信息位为D1.D2…Dm,记校验位为P1.P2…Pi,记汉明码为H1.H2…Hm。则:
在这里插入图片描述
解释:
校验位在汉明码中的位置为 2 i 1 2_{i-1} 上。
汉明码的每一位H由校验位校验,被校验的位号等于用于校验它的校验位位数之和。

其二进制汉明码为1101001101011

2.校验.
将校验位关系列出,如P1,校验过哪些信息位就列出,即P1=D1⊕D2⊕D3⊕D5⊕D7,其中D4,D7出现了三次,其余信息位只出现两次,故将出现次数不足三次的信息位再列一个关系式。故该汉明码的偶校验关系式即为:
P1=D1⊕D2⊕D4⊕D5⊕D7=1
P2=D1⊕D3⊕D4⊕D6⊕D7=1
P3=D2⊕D3⊕D4⊕D8=1
P4=D5⊕D6⊕D7⊕D8=0
P5=D1⊕D2⊕D3⊕D5⊕D6⊕D8=1
检错关系式为:
S1=P1⊕D1⊕D2⊕D4⊕D5⊕D7=1
S2=P2⊕D1⊕D3⊕D4⊕D6⊕D7=1
S3=P3⊕D2⊕D3⊕D4⊕D8=0
S4=P4⊕D5⊕D6⊕D7⊕D8=1
S5=P5⊕D1⊕D2⊕D3⊕D5⊕D6⊕D8=0
错误位为01011,转化为十进制即为H11位出错。H11位为1,取反变为0即为正确信息

发布了20 篇原创文章 · 获赞 17 · 访问量 4530

猜你喜欢

转载自blog.csdn.net/zhang175gl/article/details/88637223
今日推荐