校验码

作者: 陆遥远 | 来源:发表于2024-04-14 14:11 被阅读0次

检错、纠错和码距

码距是整个编码系统中任意两个码字的最小距离,码距越大,排错能力越好。

海明校验码

海明校验码的编码规则:
下标为 2 的次方的,为校验位,其余位置为数值位,如下表所示。

位数 1 2 3 4 5 6 7 8 9 10
信息位 I1 I2 I3 I4 I5 I6
校验位 r0 r1 r2 r3

10以内的二进制表示如下

10 = 2^3 + 2^1
9 = 2^3 + 2^0
8 = 2^3 (校验位 3)
7 = 2^2 + 2^1 + 2^0
6 = 2^2 + 2^1
5 = 2^2 + 2^0
4 = 2^2(校验位 2)
3 = 2^1 + 2^0
2 = 2^1(校验位 1)
1 = 2^0(校验位 0)

整理发现,包含 2 的 3 次方的非校验位数字有 10、9。
包含 2 的 2 次方的非校验位数字有 7、6、5。
包含 2 的 1 次方的非校验位数字有 10、7、6、3。
包含 2 的 0 次方的非校验位数字有 9、7、5、3。

所以 r3 = 表格中下标为 10、9 的数字的异或,即 I6 异或 I5。
所以 r2 = 表格中下标为 7、6、5 的数字的异或,即 I4 异或 I3 异或 I2。
所以 r1 = 表格中下标为 10、7、6、3 的数字的异或,即 I6 异或 I5 异或 I3 异或 I1。
所以 r0 = 表格中下标为 9、7、5、3 的数字的异或,即 I5 异或 I4 异或 I2 异或 I1。

循环校验码

CRC 循环校验码是一个只能检错但不能纠错的校验码。
下面通过一个例子来进一步解释CRC的基本工作原理:
(1)假设约定的生成多项式为G(x)=x^4+x+1,则其二进制表示为10011,共5位,其中k=4。
(2)假设要发送数据序列的二进制为101011,共6位,则报文多项式为M(x)=x^5
+X^3+X+1
(3)将报文多项式乘以xk,即乘以x4,生成M(x)*xk=x9+x^7 +x5+x4,表示为二进制则为1010110000,即等于在要发送的二进制数据后面加4个0,共10位。
(4)用生成多项式的二进制表示10011去除1010110000,按模2算法求得余数比特序列为0100(注意余数一定是k位的)。

余数,因不够要求的4位,所以前面一个“0”不能省略
(5)将余数添加到要发送的数据后面,得到真正要发送的数据的比特流:1010110100,其中前6位为原始数据,后4位为CRC校验码。
(6)接收端在接收到带CRC校验码的数据后,如果数据在传输过程中没有出错,将一定能够被相同的生成多项式G(x)除尽,如果数据在传输中出现错误,生成多项式G(x)去除后得到的结果肯定不为0。

奇偶校验码

1.确定校验位的位置: 首先确定校验位的位置,通常是在数据位的末尾添加一个校验位。
2.计算校验位的值: 对于奇校验,使得数据位加上校验位中1的个数总和为奇数;对于偶校验,使得数据位加上校验位中1的个数总和为偶数。
3.填充校验位: 将计算得到的校验位填充到校验位的位置上。


相关文章

  • 校验码

    概念:能够发现或者自动纠错的数据编码 原理:通过添加一些冗余码,实现检验或者纠错编码 分类:1.奇偶校验码奇校验码...

  • 校验码

    码距: 就是单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换...

  • npm EINTEGRITY 错误全解析

    什么是EINTEGRITY Integrity是一个校验码,该校验码根据包的来源不同,来源多种多样,在首次安装一个...

  • 一文知晓CRC码计算及校验原理

    奇偶校验码(PCC)只能校验一位错误,而循环冗余校验码(CRC)的检错能力更强,可以检出多位错误。 1. CRC校...

  • C#:身份证检验码,性别以及地区生日

    private bool CheckIDCard(string idNumber)//判断位数和校验码 ...

  • 用 Go 计算身份证的校验码

    身份证校验码是根据前面十七位数字码,按照 ISO 7064:1983.MOD 11-2 中的校验码计算方法来确定的。

  • 三种校验码

    奇偶校验、海明码、CRC循环冗余校验码 三种校验码比较重要,需要牢记,在计算机网络中用处较大 奇偶校验 根据被传输...

  • 网络规划设计师知识点—存储技术—Raid3

    RAID3(带奇偶校验码的并行传送)。这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,...

  • CRC

    校验原理 循环校验码(CRC 码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任...

  • CRC8校验

    一 概述  CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任...

网友评论

      本文标题:校验码

      本文链接:https://www.haomeiwen.com/subject/qwskxjtx.html