校验码

举报
小糖饼最甜呀 发表于 2022/02/27 07:42:17 2022/02/27
【摘要】 校验码校验码确保计算机系统运行时,数据传输过程的正确性。常用校验码:校验码{奇偶校验码循环冗余校验码CRC海明校验码 校验码\begin{cases}奇偶校验码\\循环冗余校验码CRC\\海明校验码\end{cases}校验码⎩⎪⎪⎨⎪⎪⎧​奇偶校验码循环冗余校验码CRC海明校验码​ 1. 奇偶校验码奇偶校验码是奇校验码、偶校验码的统称。①奇校验码:奇校验加上校验位后,编码中的1的个数是奇...

校验码

校验码确保计算机系统运行时,数据传输过程的正确性。
常用校验码:

校验码 { 奇偶校验码 循环冗余校验码 C R C 海明校验码 校验码 \begin{cases} 奇偶校验码\\ 循环冗余校验码CRC\\ 海明校验码 \end{cases}

1. 奇偶校验码

奇偶校验码是奇校验码、偶校验码的统称。

①奇校验码:奇校验加上校验位后,编码中的1的个数是奇数。
②偶校验码:偶校验加上校验位后,编码中的1的个数是偶数。
③奇偶校验码:校验位只有一位,可以检查错误,但无法检测错误位,也无法矫正错误;

示例:

原编码 奇校验 偶校验
0000 0000 1 0000 0
0001 0001 0 0001 1
0011 0011 1 0011 0

奇偶校验码有3种:

奇偶校验码 { 水平奇偶校验码 垂直奇偶校验码 水平垂直奇偶校验码 奇偶校验码 \begin{cases} 水平奇偶校验码\\ 垂直奇偶校验码\\ 水平垂直奇偶校验码 \end{cases}

2. 循环冗余校验码CRC

循环冗余校验码CRC是基于模2运算的校验码。
可查错,不可纠错。
暂不详述。

3. 海明校验码

海明校验码是利用奇偶性校验检错的,通过扩大码距,实现检错和纠错。
海明校验码的校验位有多位,可以检查错误,也可以矫正错误。

码距:两个合法码字之间不同的二进制的位数。
最小码距:一组合法码字之间的最小的码距。

公式:

数据位 : m 校验位 : K } 2 k > m + k + 1 \left. \begin{aligned} 数据位:m\\ 校验位:K \end{aligned} \right\} 2^k>m+k+1

校验码位置: p i p_i 在海明码的第 2 i 1 2^{i-1} 位。


示例:数据位是 m = 8 m=8

1. 计算校验位数:

数据位是 m = 8 m=8 位,则根据公式 2 k > m + k + 1 2^k>m+k+1 ,得 k = 4 k=4

2. 数据位D与校验位P的位置:

校验位是4位,根据 2 i 1 2^{i-1} 计算:

校验位P1的位置=1;
校验位P2的位置=2;
校验位P3的位置=4;
校验位P4的位置=8;

海明码 12 11 10 9 8 7 6 5 4 3 2 1
校验码 - - - - P4 - - - P3 - P2 P1
数据位 D7 D6 D5 D4 - D3 D2 D1 - D0 - -

3. 确定校验关系

数据位的海明码的下标,用校验位所对应的海明码下标表示出来。

下标 海明码 数据位下标 校验位
1 H1(P1) - P1
2 H2(P2) - P2
3 H3(D0) 3=1+2 P1,P2
4 H4(P3) - P3
5 H5(D1) 5=1+4 P1,P3
6 H6(D2) 6=2+4 P2,P3
7 H7(D3) 7=1+2+4 P1,P2,P3
8 H8(P4) - P4
9 H9(D4) 9=1+8 P1,P4
10 H10(D5) 10=2+8 P2,P4
11 H11(D6) 11=1+2+8 P1,P2,P4
12 H12(D7) 12=4+8 P3,P4

4. 计算校验位

P1校验:P1 = D0 \oplus D1 \oplus D3 \oplus D4 \oplus D6

P2校验:P2 = D0 \oplus D2 \oplus D3 \oplus D5 \oplus D6

P3校验:P2 = D1 \oplus D2 \oplus D3 \oplus D7

P4校验:P4 = D4 \oplus D5 \oplus D6 \oplus D7

5. 终上所述,得出海明码

海明码 D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1

6.校验

P1校验结果:S4 = P1 \oplus D0 \oplus D1 \oplus D3 \oplus D4 \oplus D6

P2校验结果:S3 = P2 \oplus D0 \oplus D2 \oplus D3 \oplus D5 \oplus D6

P3校验结果:S2 = P3 \oplus D1 \oplus D2 \oplus D3 \oplus D7

P4校验结果:S1 = P4 \oplus D4 \oplus D5 \oplus D6 \oplus D7

S 1 S 2 S 3 S 4 \overline{S1S2S3S4} 即为出错位

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。