`
lzzy_alex
  • 浏览: 30135 次
社区版块
存档分类
最新评论

数据校验码(奇偶,海明,循环冗余CRC)

 
阅读更多

奇偶校验码
假设源数据 B = b0b1..bn-1,送到目标部件后,B' = b'0b'1..b'n-1
为判断数据是否正确,可以向B添加校验位P,奇校验时P使得序列中1的个数为奇数;偶校验时P使得序列中1的个数为偶
步骤如下
1. 源部件端求出奇(偶)校验位P (异或)
    若奇校验,则 P = bn-1⊕bn-2..⊕b0⊕1,当B序列中1的个数为奇数时,P=0,否则 P=1
    若偶校验,则 P = 
bn-1⊕bn-2..⊕b0     ,当B序列中1的个数为偶数时,P=0,否则 P=1
2. 目标部件求
出奇(偶)校验位P' (异或),方法同上
3. 由于B与P是一同发送的,假设目标部件接收到的P为 P'' (假设P''传输正确)
    则结果 P* = P'
⊕P'',若P*=1则出现错误;P=0则(认为)正确
小结:因为只用一个校验位,传输成本低;但若出现多位错误时,计算会出错,且不能保证校验位 P'' 传输正确

海明校验码
将数据按某种规律分成若干组,各组进行相应的奇偶校验,以提供多位的校验码,从而对错误位置定位,并将其纠正。
常见纠错方式有:单纠错码(SEC),单纠错/双检错码(SEC-DED) 

循环冗余校验码(CRC)
设要发送的二进制数据为10110011,多项式是(X4+X3+1)

1. 将多项式转化成二进制 F = X4 + X3 + 1 = 11001
2. 在源信息后补多项式最高次幂个0,即X4(四个零),得 T = 10110011 0000
3. F对齐最高位T,做异或操作,直到余多项式最高次幂4位为止
101100110000
11001
--------------------
 11110110000
 11001
--------------------
   111110000
   11001
--------------------
     1100000
     11001
--------------------
        0100

4. 基本后将冗余码添加到源信息后,101100110100

0
0
分享到:
评论

相关推荐

    数据校验码(奇偶校验码 海明校验码 循环冗余校验码)

    本文将详细介绍几种常见的数据校验码技术,包括奇偶校验码、海明校验码和循环冗余校验码。 ### 奇偶校验码 奇偶校验码是最基础的数据校验方式。它通过在数据位中加入一个额外的位(校验位),来确保数据中“1”的...

    奇偶校验码,海明校验码,CRC校验码

    最后是循环冗余校验码(CRC),它是一种基于多项式的检验码,可以检测出数据传输中的错误。CRC校验码的生成需要选择合适的生成多项式,并计算出校验码。CRC校验码可以检测出奇偶数位错误,也可以检测出连续多位错误...

    奇偶校验,海明校验,CRC冗余校验c#可视化实现

    奇偶校验、海明校验和CRC冗余校验是数据通信和存储中常见的错误检测方法,用于确保数据在传输或存储过程中没有发生错误。这些校验技术都是基于简单的数学逻辑来创建一种额外的“校验位”,使得原始数据加上校验位后...

    C#语言可视化实现奇偶校验、CRC校验、海明校验源码

    RFID中,读写区域标签间数据通信为保证通信的准确性,常采用奇偶校验、CRC冗余校验、海明码校验。本实验在学生掌握上述编码原理的基础上,设计软件模拟通信过程,实现数据监督码的计算,统计数据传输的结果。 本资源...

    奇偶校验、crc校验、海明码校验

    为了检测和纠正传输过程中可能出现的错误,我们使用了各种校验机制,其中最常见的是奇偶校验码、海明码和循环冗余校验码(CRC)。这三种校验方法各有特点,用于不同级别的错误检测需求。 首先,奇偶校验码是最简单...

    MOOCPPT -CRC循环冗余检验-2-5(华中科大).pdf

    循环冗余校验码(CRC),简称循环码,是一种常用的...奇偶校验码和海明校验码都是采用奇偶检测为手段检错和纠错的(奇偶校验码不具有纠错能力),而循环冗余校验则是通过某种数学运算来建立数据位和校验位的约定关系的。

    差错控制方法(奇偶校验 海明码 CRC三种校验方法)

    海明码的编码效率高于奇偶校验码,且能检测出多个错。 CRC(循环冗余检验)是一种检错码,能够检测出数据传输过程中的差错。CRC 的编码效率高于奇偶校验码,且能检测出多个错。 编码效率是衡量编码性能好坏的一个...

    VC++实现CRC循环冗余检验

    **CRC循环冗余检验** CRC(Cyclic Redundancy Check,循环冗余检验)是一种广泛应用于数据通信和存储领域的错误检测技术。它基于线性码的理论,通过在传输或存储的数据后面附加一个校验码来检测数据在传输过程中...

    CRC即循环冗余校验码

    **CRC**,即**循环冗余校验码**(Cyclic Redundancy Check),是一种广泛应用于数据通信领域的差错校验技术。其主要特点是信息字段与校验字段的长度可以根据实际需求灵活设定。CRC通过添加特定的校验码到数据帧中,...

    校验方法综述、奇偶校验、海明纠错、循环冗余校验

    (注意:本次讲义为学时 1-3) 基本概念:码距,编码集的码距,校验码,SEC,ECC,多重奇偶校验,海明码,生成多项式,异或运算,模 2 运算,CRC 码一、校验方法综述 1.为什么要对信息进行校验?受外界电磁环境的...

    计算CRC冗余校验码(32)

    CRC,即循环冗余校验(Cyclic Redundancy ...总之,CRC冗余校验码在C语言编程和计算机网络中扮演着重要角色,为数据传输的可靠性提供了保障。理解和掌握CRC的计算原理及实现方法,对于开发和维护网络通信系统至关重要。

    matlab-(含教程)对比海明码和CRC校验码matlab仿真,带GUI界面

    本资源包聚焦于两种常用的数据校验方法:海明码(Hamming Code)和CRC(Cyclic Redundancy Check)校验码,并通过MATLAB进行仿真,提供了带有GUI(图形用户界面)的实现。下面我们将详细探讨这两种校验码的工作原理...

    海明码和CRC编码

    海明码和CRC编码是两种常用的错误检测编码技术,它们都是为了提高数据传输或存储的可靠性,通过在原始数据中插入额外的校验位来确保数据的完整性和准确性。 **一、CRC编码** CRC(Cyclic Redundancy Check,循环...

    利用C语言实现循环冗余校验码的方法.pdf

    1. 循环冗余校验码(CRC)的概念:在数据通信领域,循环冗余校验码是一种广泛使用的差错检测方法。它的原理基于将数据视为一个大的多项式,并除以一个生成多项式来计算余数。这个余数作为校验码附加到原始数据后发送...

    数据校验技术(CRC,奇偶法)

    CRC(Cyclic Redundancy Check,循环冗余校验)和奇偶法是两种常用的数据校验手段,它们各自有着不同的特点和应用场景。 CRC是一种高效且强大的错误检测算法,广泛应用于通信、网络传输和存储系统中。其原理基于...

    一个自作的计算CRC16校验码的小软件(有源码)

    在实际应用中,CRC校验码不仅可以用于检测错误,还可以结合其他错误检测和纠正技术(如奇偶校验、海明码等)来增强数据的可靠性。因此,CRC16的计算和理解是IT专业人士必备的技能之一,尤其是在通信协议设计和硬件...

    CRC校验码计算器(包含8位16位32位)

    4. **结果提取**: 循环结束后,未被“除尽”的部分即为CRC校验码,将其附加到原始数据的末尾。 CRC-8、CRC-16和CRC-32的差异主要在于它们使用的生成多项式和校验码的长度。不同应用场景会选择不同位宽的CRC,以平衡...

    matlab海明编码,crc校验 带gui

    它将数据看作是一个二进制数,然后用一个固定的多项式除以这个数据,得到的余数就是CRC校验码。在接收端,同样的过程会重复,如果除法后的余数为零,则认为数据传输无误;反之,则可能存在错误。MATLAB中实现CRC校验...

    计算机常用校验码.pdf

    常见的校验码有奇偶校验码、海明校验码和CRC(循环冗余校验)码,它们各自具有不同的特性和应用场景。 1. 奇偶校验码: 奇偶校验码是最简单的校验方式,主要用于检测数据中1的数量是否为奇数。分为奇校验和偶校验,...

    循环冗余校验.rar

    在数据传输过程中,发送方首先计算原始数据对生成多项式的模二除法的余数,这个余数就是CRC校验码。然后,将原始数据和校验码一起发送给接收方。接收方收到数据后,同样对收到的数据执行模二除法,并检查得到的余数...

Global site tag (gtag.js) - Google Analytics