精华内容
下载资源
问答
  • 校验码中码距与纠错能力的关系

    万次阅读 2012-10-13 22:01:38
    纠错编码基本原理 1、 基本概念 为了方便对差错编码原理进行叙述下面先介绍一些基本术语。 1、 信息元——指进行差错编码前送入原始信息编码。 2、 监督码元——指经过差错编码后在信息元基础上增加...

    纠错编码的基本原理

    1、        基本概念

    为了方便对差错编码原理进行叙述下面先介绍一些基本术语。

    1、        信息码元——指进行差错编码前送入的原始信息编码。

    2、        监督码元——指经过差错编码后在信息码元基础上增加的冗余码元。

    3、        码字组——由信息码元和监督码元组成的具有一定长度的编码组合。

    4、        码集——不同信息码元经差错编码后形成的多个码字组成的集合。

    5、        码重——码字的重量即一个码字中“1”码的个数。通常用W表示。例如码字10011000的码重W3而码字00000000的码重W0。同理10011110011100110111

    6、        码距——所谓码元距离就是两个码组中对应码位上码元不同的个数也称汉明距。码距反映的是码组之间的差异程度比如00和01两组码的码距为1011和100的码距为3。11000与10011之间的距离d3。码字10011001和11110101之间的码距为4。

    7、        最小码距——码集中所有码字之间码距的最小值即称为最小码距用表示。例如若码集包含的码字有1001000011和11000则各码字两两之间的码距分别如下0mindd或110010和00011之间110010和11000之间100011和11000之间,因此该码集的最小码距为2即。000、001、110三个码组相比较码距有1和2两个值最小码距是码的一个重要参数它是衡量码检错、纠错能力的依据。

    8、        分组码分组码一般可用nk表示。其中k是每组二进制信息码元的数目n是编码码组的码元总位数又称为码组长度简称码长。n-kr为每个码组中的监督码元数目。简单地说分组码是对每段k位长的信息组以一定的规则增加r个监督元组成长为n的码字。在二进制情况下共有2k个不同的信息组相应地可得到2k个不同的码字称为许用码组。其余2n-2k个码字未被选用称为禁用码组。7495krn3、编码纠检错能力与最小码距之间的关系

     

    码距和纠错能力的关系

    数字通信系统中送入信道的信息都是“0”“1”组合的数字信号例如待传送的信息是“晴”和“雨”则只需一位数字编码就可以表示。若用“1”表示“晴”“0”表示“雨”。当“0”“1”形式的信息在信道中传输时将0错成1或将1错成0时由于发生差错后的信息编码状态是发送端可能出现的状态因此接收端无法发现差错。但是如果发送信息送进信道之前在每个编码之后附加一位冗余码变成用两位编码“11“表示”晴““00”表示“雨”则在传输过程中由于干扰造成信息编码中一位码发生差错错成“10”或“01”时,由于“10”或“01”都是发送端不可能出现的编码接收端就能发现差错,但此时并不能判断出差错是第一比特还是第二比特,因此不能自动纠错。若继续增加冗余码位数用“111”表示“晴”“000”表示“雨”当编码在传输中出现1位或2位码差错如错成001或101等编码时接收端都能检测到并能确定只有1位码差错时错误码位的位置此时这种编码方式可以检测1位或2位差错并能纠正单个的误码。这主要是因为冗余码位数增加后发送端使用的码集中码字之间最小码距增大。由于反映了码集中每两个码字之间的差别程度如果越大从一个编码错成另一个编码的可能性越小则其检错、纠错能力也就越强。因此最小码距是衡量差错控制编码纠、检错能力大小的标志。。

    展开全文
  • 校验码】数据校验码

    千次阅读 2016-11-05 22:05:59
    而另一方面在数据编码上采取编码纠码的措施,使得机器能够自己发现错误甚至纠正错误,我们把这种具有检测错误或带有自动纠错能力的数据编码称为数据校验码。其原理是在数据中加入一些校验位,组成数据校验码,通过...

    计算机系统在进行数据的传输和存储时,难免会发生错误。为了避免这种错误,一方面是从硬件的方面着手,提高硬件的抗干扰能力和可靠性;而另一方面在数据编码上采取编码纠码的措施,使得机器能够自己发现错误甚至纠正错误,我们把这种具有检测错误或带有自动纠错能力的数据编码称为数据校验码。其原理是在数据中加入一些校验位,组成数据校验码,通过检查数据校验码的合法性来判断是否出错或进行纠错。常用的数据校验码有奇偶校验码、海明校验码和循环冗余校验码(CRC)等。


    1、奇偶校验码

    奇偶校验码是最简单、最常使用的编解码,能发现代码中一位的出错情况的编码,常用语存储器读写检查。

    原理对于n 位二进制数D=dn-1dn-2d1d0,添加一位校验位PP 的位置可以在数据D 的最高位dn-1 之前,也可以在数据D 的最低位d0 之后,并且,P 是数据D 的函数,即P=.D)。于是,n 位数据D 1 位校验位P 便构成了一个n+1 位的奇偶校验码。奇偶校验码根据PD 之间的函数不同,可分为奇校验和偶校验。
    偶校验(Even):加入一位校验位PEven 后,使得n+1 位的奇偶校验码中“1”的个数为
    偶数,因此,PEven=dn-1dn-2⊕…d1d0
    奇校验(Odd):加入一位校验位POdd 后,使得n+1 位的奇偶校验码中“1”的个数为奇
    数,因此,POdd= Even P

    1)奇偶校验码的纠错能力
    根据奇偶校验码的校验可知,奇偶校验码只能发现一位出错或奇数位同时出错,至于出
    错的位置是无法确定的,因此,奇偶校验码无法实现纠错功能。尽管如此,由于一位出错的
    概率远远高于多位同时出错的概率,奇偶校验码能够满足一般可靠性的要求,因此,奇偶校
    验码一种最简单、最常用的数据校验码,它被广泛应用于对存储器中数据的检查或传送数据
    的检查。

    2)循环冗余校验码(CRC

    CRC校验码发现并纠正信息存储或传送过程中连续出现的多位错误,因此在磁介质存储和计算机之间通信方面得到广泛应用。

    生成CRC码:

    n 位数据dn-1d1d0 所构成一个χ的n-1 次幂的多项式M(χ),即M(χ)= dn-1χn-1+dn-2χn-2++d1χ1+d0,约定一个生成多项式G(χ)为χ的k 次幂的多项式,即G(χ)= Ckχk+Ck-1χk-1++C1χ1+C0G(χ)作为除数的余数多项式R(χ)最高次幂为χk-1,因此R(χ)相当于k 位余数形成的多项式。把k 位余数拼接在n 位数据位之后,便构成nk位的CRC 码。CRC 码的编码只是简单地拼接,关键是如何根据数据去产生k 位余数。由于n 位数据位后附加了k 位余数,n 位数据所构成一个χ的n-1 次幂的多项式M(χ)。

    CRC码是用多项式M(x)*xr除以称为G(x)(产生校验的多项式又称为生成多项式)所得余数作为校验位的(模2运算)。为了得到r位余数(校验位),G(x)必须是r+1位。

    根据模2 加减运算规则可得:M(χ)·χk-1+R(χ)=Q(χ)×G(χ)

    【例】设生成多项式G(χ)=χ3+χ1+1,求4 位数据1101 CRC 码。
    解:G(χ)=χ3+χ1+1,是4 位的多项式
    ∴余数是3
    根据式(2-16)可得3 位的余数为101,因此,4 位数据1101 CRC 码为1101101

    CRC码的校验接收端收到CRC 码后,用双方约定的生成多项式G(χ)做模2 除,如果除得的余数0,则表示接收到的信息中没有错误,否则,则表示接收到的信息中某一位发生错误。出错的位置不同相应的余数也不同,因此,可以根据余数来确定出错的位置,进而实现纠错功能。

     

    2、海明校验码

    海明校验码是由Richard Hamming 1950 年提出的,到目前还被广泛应用。它是在
    奇偶校验的基础上,通过合理增加校验位的位数,组成海明校验码,不仅能够实现发现多位出错,而且能够对一位出错进行自动纠正。

     

    1)海明校验码中校验位的位数

    步骤一
    设数据的位数为n,校验位的位数为k,则组成的海明校验码为n+k 位。校验时k 位校验位的编码共有2k 种状态,其中只有一种状态用来表示数据无误,其余2k -1 种状态用来表示数据有措。由于海明校验码共n+k 位,所以校验位的位数k 与数据的位数n 应满足:2k -1n+k 

    由此公式可由的欲检测的二进制代码位数n求得相应的所需的校验位数k;


    步骤二:求被送代码(有效信息)所在的位置

    n+k位代码自左至右依次编码为第1,2,3,.,n+k;k位检测位记作Ci (i=1,2,4,8)分别安插在n+k位代码编号的第1,2,4,82k-1;


    步骤三:求每个校验位所负责信息位并对其分组

    检测位和它所负责的小组中的1的个数为奇数或为偶数,具体分配如下:

    C1  检测的g1小组包含1,3,5,7,9,11,…位.

    C2  检测的g2小组包含2,3,6,7,10,11,14,15,…位.

    C4  检测的g3小组包含4, 5,6,7, 12,13,14,15,…位

    C8  检测的g4小组包含8,9,10, 11,12,13,14,15,24…位.

    其余检测位的小组所包含的小组所包含的位也可类推。这种小组的划分有如下特点:

    1每个小组gi有一位且仅有一位为它所独占,这一位是其他小组所没有的,即gi小组独占第2i-1(i=1,2,3,) .

    2每两个小组gigj共同占有一位是其他小组所没有的,即每两小组gigj共同占有2i-1 +2j-1(i,j=1,2,3,) .

    依次类推,便可确定每组所包含的各位.


    步骤四:根据配偶原则来配置海明码

    对各组检测位的值等于其所负责的组中的位进行异或运算所得.

    海明码的纠错过程:

    海明码的纠错过程实际上是对传送后的海明码形成新的检测位pii=1,2,4,8,.,根据pi的状态,便可直接指出错误的位置。Pi的状态是由原检测位Ci及所在小组内”1”的个数确定的。


    四 bcc异域校验码

    实现原理:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值

     

    实现方法:通常把她附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

    适用范围:适用于大多数要求不高的数据通讯。

    应用例子:ic卡接口通讯、很多单片机系统的串口通讯都使用。


     MD5

    MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,由MD2/MD3/MD4发展而来的。MD5的实际应用是对一段Message(字节串)产生fingerprint(指纹),可以防止被“篡改”。

    实现原理:

    用特定的算法对数据进行处理得到密文,当用户输入明文,通过用相同算法对明文进行处理,看是否匹配,若匹配则所传输的数据正确,否则错误;

    实现方法:

    主要有md5des算法。

    适用范围:

    数据比较大或要求比较高的场合。如md5用于大量数据、文件校验,des用于保

         密数据的校验(数字签名)等等。

    应用例子:文件校验、银行系统的交易数据。

     

     

     

     




    展开全文
  • 循环冗余校验码是在 n 位有效信息位后拼接 k 位校验位构成的,它通过除法运算来建立有效信息和校验位之间的约定关系,是一种具有很强检错纠错能力的校验码。一、基本原理在传送过程中,发送方可以把M(x) - R(x)作为...

    8f4d6365ee4cfa3727847a5e93329cb5.png

    目前在磁介质存储器与主机之间的信息传输、计算机之间的通信以及网络通信等采用串行传送方式的领域中,广泛采用循环冗余校验码(Cyclic Redundancy Check, CRC)。循环冗余校验码是在 n 位有效信息位后拼接 k 位校验位构成的,它通过除法运算来建立有效信息和校验位之间的约定关系,是一种具有很强检错纠错能力的校验码。

    一、基本原理

    e85ebac70d143fe33d63a5b54d621b1e.png

    在传送过程中,发送方可以把M(x) - R(x)作为编好的校验码进行传送,接收方接收到编码后仍用原约定的多项式G(x)去除,如果能够整除,即余数为 0,则表示该校验码传送正确;如果不能够整除,即余数不为 0,则表示该校验码传送有误

    de09dc85133c21ecb052ae7f6f328c22.png

    二、模2运算

    根据式(2-16)可知,M(x) - R(x)是减法操作,可能需要涉及借位运算,难以用简单的拼装方法实现编码。为了回避借位,CRC码采用了模2运算。

    所谓模2运算是指以按位模2加为基础的二进制四则运算。模2运算不考虑进位和借位

    1. 加减运算

    加减运算本质上是异或运算,加不进位,减不退位。

    2. 乘法运算

    模2乘法就是在做乘法时按模2加的规则求部分积之和计算时不进位

    d7966282d108fbc7f4f5cdf7d3c124f5.png

    3. 除法运算

    模2除就是在做除法时按模2减求部分余数,计算时不借位。若部分余数(首次为被除数)最高位为1,则上商为1;若部分余数最高位为0,则上商为0。每求一位商后,使部分余数减少一位,即去掉部分余数的最高位,再继续求下一位商。当部分余数的位数小于除数位数时,该余数就是最后的余数。

    856d36e0f64e6d9f14b969cf566c34ae.png

    三、CRC编码方法

    03bb593396ab6c081b6e1a2b2f12744c.png

    1df316e96d03c862b87e016e1f3d2863.png

    在CRC码中,由 k 位有效信息位和 r 位校验信息构成的 k + r 位编码,称为(k+r, k)码。在上面的CRC中,由于 k = 4, k + r = 7,故称(7, 4)码。

    四、CRC的检错与纠错

    1. 检错

    将接收到的CRC码用原约定的生成多项式G(x)做模2除,若得到的余数为0,表示接收到的信息中没有错误;若得到的余数不为0,则表示接收到的信息中某一位出错

    2094fe12ef3cd2692bdd81659b4eb58a.png

    因为不同位出错对应的余数不同,所以根据余数值就可以确定出错的位置

    f69d68b684113b0fd26d6346ba06fc19.png

    2. 纠错

    以上图 G(x) = 1011 时出错为例。把余数001补0再除以 G(x) = 1011,得到的第二次余数为010,再补0除以1011,得到的余数为100,按此继续下去,可以发现得到的余数依次为011、110、111、101,最后又回到001,即各次余数会按表中的顺序反复循环,这就是循环码的来历。

    29dbd8361918ec6622641f7f22add56d.png

    根据循环码的这一特点,当接收到的CRC码与 G(x) 做模2除得到的余数不为0时,可以一边对余数补0继续做模2除,同时使被检测的CRC码循环左移,当出现余数101时,原来出错的位已移到A7的位置,通过异或门把它纠错(取反)后在下次移位时送回A1。将编码继续循环左移,移满一个循环后,就可得到一个纠错后的CRC码。

    588a3a3e621293e4ffa55414937fd78e.png

    当位数增加时,循环冗余校验能有效地降低硬件成本,故得到广泛应用。

    五、CRC编码的硬件实现

    关于CRC的硬件实现,推荐以下文章:

    白羽:CRC编码zhuanlan.zhihu.com
    5a2a2319b2bde7dfe8d5fa6550638227.png
    展开全文
  • 校验码

    2016-03-09 22:30:00
    具有指出错误、改正错误能力的编码称为纠错码,又称校验码(Check Code)。 常用的校验码技术有:奇偶校验码,海明码,循环冗余校验码,格雷码等。 这里详细介绍一下前三个 一、奇偶校验码:  1、解决的问题:...

    计算机在运行程序过程中,存储器、CPU、I/O设备不断进行信息交换。由于结构、工艺、元器件等种种原因有时会使信息出错。

    具有指出错误、改正错误能力的编码称为纠错码,又称校验码(Check Code)。

    常用的校验码技术有:奇偶校验码,海明码,循环冗余校验码,格雷码等。

    这里详细介绍一下前三个

    一、奇偶校验码:

      1、解决的问题:奇偶校验常用于内存储器的校验,例如IBM PC机内存。它能发现信息在写入、传送、读出时的错误,但不能纠正错误。

      2、原理:通过增加一位校验位使得数据中所有位(包括校验位)的1的个数保证为奇数(或偶数)这样在收到数据的时候检测(将所有的位异或起来)数据中1的个数是否仍然是奇数(或偶数)即可知道这个数据是否出错

         n位数据代码的最低位后面加上一位校验码,组成了n+1位编码。如果n+1位编码的“1”的个数是奇数,则称为奇校验(Odd Parity);若是偶数,则称为偶校验(Even Parity)。统计“1”的个数常常用异或门电路来实现,

       ——偶校验

       ——奇校验

      3、缺点:

          这种方法只能发现奇数个代码位出错。因为偶数个出错,校验码的奇偶性不发生变化。

          这种方法也不能指出出错代码的位置。

          奇偶校验之所以被认为可靠,之所以大

          量应用是基于数据代码2位同时出错的概率远远小于1位出错的概率的缘故。

      4、扩展:

          交叉校验:交叉校验是二维奇偶校验。当一次传送一个具有n个字节的数据块时,在每个字节设有一个水平奇偶校验位,或称行校验位;在n个字节的同一位设有一个垂直校验位,又称列校验位。当n=4时,如下所示

    字节

    数 据 位

    奇校验位(行)

     

    D0

     

     

    D1

     

     

    D2

     

     

    D3

     

     

    D4

     

     

    D5

     

     

    D6

     

     

    D7

     

    1

    1

    0

    0

    1

    1

    0

    0

    1

    1

    2

    0

    0

    1

    0

    1

    1

    0

    0

    0

    3

    1

    1

    1

    0

    0

    1

    1

    1

    1

    4

    0

    1

    1

    1

    1

    1

    1

    0

    1

    奇校验位(列)

    1

    1

    0

    1

    0

    0

    1

    1

     

          这样就可以通过两个坐标找到并纠正一位错了,但是仍然不能识别两位错。

    二、海明码

      1、解决的问题:这是一种基于奇偶校验的校验方法,这样可以防止校验位在传输中出错的问题

      海明校验码是一种纠错码。这是由美国计算机科学家R.W.Hamming(海明)发明。海明由此获得了1968年的图灵奖。 

      2、原理:海明码也是以奇偶校验为基础的,只是校验位有多位。假设要传送的数据信息是1位,用D表示。采用2个校验位X1和X2,因而能表示4种情况,可以用其中一种表 示 无错,其他三种表示出错可能在D、X1和X2。方法是将D 和X1编成C1校验组,D和X2编在C2校验组。每一组形成一个奇偶校验。

     

    D

    X1

    X2

    C1

     

    C2

     

    如上表:假设数据位只有1位的时候添加两位校验位,

      C2C1=0 0,可确定是D出错。只要将D反相即可纠错。

         C2C1=0 1,X2出错,无需纠正。

         C2C1=1 0,X1出错,无需纠正。

         C2C1=1 1,没有错误

    海明码实现:(这里只考虑1位错)

      a>要根据数据位的位数来确定使用几位验证位。假设有k个数据位,要加r个校验位,那么要想验证位的所有0/1组合可以表示所有的错误情况和一种全对情况,即满足

              k+r+1<=2^r

    通过上式可以算出要加的验证位个数,例如当数据是4位的时候要加3位验证位(k==4,r==3)

      b>设计验证组:

        I. 设计校验码放置的位置,第i个校验码放在第2^(i-1)位置上,以4位数据为例,那么3个验证码分别放在第1、2、4位的位置

        II.设计校验组:第i个校验位每次开始选包括它自己的2^(i-1)个位,再间隔2^(i-1)位,然后再选2^(i-1)位,然后再间隔2^(i-1)位……直到选择到串末尾

          例如:数据是4位的时候对应的三组校验组为:假设传输的7位为A1 A2 A3 A4 A5 A6 A7, 其中A1 A2 A4为校验位

             E1:A1,A3,A5,A7

             E2:A2,A3,A6,A7

             E3:A4,A5,A6,A7

      c>确定是使用奇校验还是偶校验来填写校验位并传输,然后根据校验位进行更正,下面以4位数据位来距离,试判定在奇校验的前提下数据1101011串是否正确,如果不正确确定是哪一位出错:

      

      A1 A2 A3 A4 A5 A6 A7 是否有错/有错为1
    E1 1   0   0   1 1
    E2   1 0     1 1 0
    E3       1 0 1 1 0

                              注:因为是奇校验而现在1的个数却是偶数,所以第一组出错了

    可以看到第一组错了,那么A1,A3,A5,A7有可能错了,但是因为A3,A5,A7在E2和E3组中没有出错,所以就是A1出错了,海明码通过这样的构造可以有神奇的结论,就是错误的位数就是E3,E2,E1构成的二进制数的值,比如这里是001,现在假设如果E3,E2,E1是101的话,可以看到是第一组和第三组错了,这两组共同的有A7,A5,但是第二组中的A7没有错,所以是A5错了,正好是101表示的二进制数。

     三、循环冗余码

      1、解决的问题:循环冗余校验(Cyclic Redundancy Check)码简称CRC码。它适用于对一个数据块进行校验。常用来对磁表面存储器进行校验,也用于同步串行通信。磁表面存储器的读出错误主要是由于磁表面出现问题:划伤,灰尘,涂层不匀等。由于磁表面存储器的位密度远高于磁道密度,因此一个磁道上连续出错的可能性要较几道同时出错的可能性大得多。这是连续集中出现的错误,称作猝发性错误(Burst Error),和单个的随机性出错不同,因此提出循环冗余校验。

      2、原理:

      I.循环冗余码是基于模2运算的校验码,首先要说明模2运算。模2运算是以2为模的2进制加减乘除运算。以2为模说明运算不考虑进位和借位。模2运算以记号mod 2表示。模2运算的规则:

        a>模2加法(用异或实现)

              0+0=0   (mod 2)

              0+1=1   (mod 2)

              1+0=1     (mod 2)

              1+1=0       (mod 2)

        b>模2减法(用异或实现)

              0 - 0=0    (mod 2)

              0 - 1=1    (mod 2)

              1 - 0=1    (mod 2)

              1 - 1=0    (mod 2)

        c>模2乘法

                  0×0=0      (mod 2)

                  0×1=0      (mod 2)

                  1×0=0      (mod 2)

                  1×1=1      (mod 2)     

                                        这里的加也要用模二加法

        d>模2除法

          它的运算规则是:(1)当被除数(或部分余数)的第1位是“1”,商取1,然后进行mod 2减法,减除数。若第1位是0,商取0,减去0。(所谓部分余数是在除法过程中所得的余数。)(2)当部分余数的位数比除数少一位,则部分余数就是最后的余数。 

      II.生成多项式G(x)

          (1)任意一个2进制数都可用一个多项式表示。      

        11=1·2^1+1·2^0

        101=1·2^2+1·2^0

        1001=1·2^3+1·2^0

        11011=1·2^4+1·2^3+ 1·2^1+1·2^0

      因为CRC码是M(x)[原数据]除以某个选定的多项式后产生的。当选用的多项式满足:

          (1)任何一位出错时,余数不为0,

          (2)不同位出错使余数不同。

            称为生成多项式。生成多项式必须是质因式。

      III.如何产生CRC码

           1)产生CRC校验位的方法

           ① 设数据信息代码M(x)是n位的2进制数。

           ② 将M(x)左移g位,因为生成多项式G(x)是g+1位。——余数一定比生成多项式少至少1位

           ③ M(x)除以G(x),用mod 2除法。

           ④ 除法完成后,得到的g位余数就是CRC校验位。

      2)CRC码

            将校验位(余数)加到数据代码M(x)的后面就构成了n+g位的CRC码。

            例    如果M(x)=1001,G(x)=1011。[G(x)是生成多项式] 试计算出校验位,并组成CRC码。

                   1)因为G(x)=4(位)所以g=3。将M(x)左移3位,移空位补0,得到1001000。

                   2)进行Mod 2除,1001000÷1011=1010,余数为110,即循环冗余校验位。

                     3)把余数加到M(x)的后面,得到1001110,此即循环冗余码。

              在读出校验时,如果读出校验码无误,那么1001110÷1011,余数应为0。

      VI.下面给出知道余数怎么找到哪一位出错,以上面的生成 多项式G(x) = 1011为例,假设数据是A1 A2 A3 A4 A5 A6 A7

     

    总结:当出错时,例如1001110误作1000110,此时1000110÷1011,余数不为0。当继续进行Mod 2除法时余数将循环出现。因此被称为循环冗余码。下式中余数011将循环出现。可看出海明码和循环冗余码编码原理相同,方法不同。循环码在存储和传送过程中若是出现错误,则它除以原生成多项式后余数不等于零。出错位和余数的对应关系,见表3.4。

    转载于:https://www.cnblogs.com/shanyr/p/5259144.html

    展开全文
  • 循环冗余校验码是在 n 位有效信息位后拼接 k 位校验位构成的,它通过除法运算来建立有效信息和校验位之间的约定关系,是一种具有很强检错纠错能力的校验码。一、基本原理在传送过程中,发送方可以把M(x) - R(x)作为...
  • 一下子看懂校验码,CRC,海明码

    万次阅读 热门讨论 2018-07-09 19:42:05
    校验码 能够发现错误或者自动纠错的数据编码,也称为检错纠错码。校验码的原理是通过增加一些...三种常见的校验码: 1、奇偶校验码 在首部增加一位二进制位(校验位),称为奇偶校验码,它可以检测出一位错误,...
  • 这是数据BCC校验码计算工具下载,获得数据BCC校验码...而另一方面在数据编码上采取编码纠码的措施,使得机器能够自己发现错误甚至纠正错误,我们把这种具有检测错误或带有自动纠错能力的数据编码称为数据校验码。...
  • 海明校验码

    2018-09-06 15:00:53
    海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码编码和校验方法。  编码  确定校验码的位数x  设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种取值...
  • 海明码 CRC冗余校验码

    2018-09-20 22:16:00
    海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码编码和校验方法 确定校验码的位数x  设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种取值方式表示...
  • 文章目录校验原理简介概念奇偶校验码偶数个错误校验不出总结 ...当d≥3时,若设计合理,可能具有检错、纠错能力 奇偶校验码校验码:整个校验码(有效信息位和校验位)中“1”个数为奇数。 偶校验码:整个校验
  • 校验码 定义:能够发现或者自动纠正错误的数据编码。...三种常用的校验码如下: 奇偶校验码 在原编码上加一个校验码,码距等于2,可以检出一位错误(或奇位数错误),但不能确定出错的位置,也不能检...
  • CRC循环校验码原理及计算举例

    千次阅读 2019-11-21 09:51:02
    循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。通过某种数学运算来建立数据位和校验位的约定关系。这种数学运算就是“模2除法”。这种编码基本思想是将要...
  • CRC循环冗余校验码

    2019-09-20 00:42:28
    数据在传输的过程中会出现错误,CRC具有检测并纠错数据的能力。 一:什么是循环冗余检验码 简单一句话,循环冗余检验码就是附加在一串二... 二:循环冗余检验码的产生 CRC码是基于模2运算而建立编码规律的校验码。 ...
  • 海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码编码和校验方法。  确定校验码的位数x  设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种取值方式表示...
  • (看得懂)海明码的编码和校验方法

    万次阅读 多人点赞 2017-05-16 09:37:22
    海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码编码和校验方法。  编码  确定校验码的位数x  设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种...
  • 研究了采用副载波相移键控(PSK)强度调制光无线通信系统在大气湍流信道下性能,并对副载波相移键控...仿真结果表明,低密度奇偶校验码具有优越的纠错能力并获得了较大编码增益,上述方案满足光无线通信系统需要。
  • 数据校验码具有发现某些错误或具有自动纠错能力的数据编码,最常用的是奇偶校验码。 码距,是指在一个编码系统中任意两个合法编码(码字)之间不同的二进制位数。 1.奇偶校验码。 只能检测代码中奇数位出错的...
  • LDPC码的校验矩阵具有稀疏的特性,因此存在高效的译码算法,其纠错能力非常强。1981年,Tanner提出了基于图模型描述码字的概念,将LDPC码的校验矩阵对应到Tanner图的双向二部图上。采用Tanner图构造的LDPC,通过...
  • 海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码编码和校验方法。 编码 确定校验码的位数x 设数据有nnn位,校验码有xxx位。则校验码一共有2x2^x2x种取值方式。其中需要一种取值...
  • 研究了一种光功率效率高非对称限幅光正交频分复用(OFDM)调制技术,通过对信号非对称削减,将OFDM调制...仿真结果表明,LDPC码具有优越的纠错能力并获得了较大编码增益,该方案可以满足大气激光通信系统需要。
  • python 实现CRC(循环冗余)校验

    万次阅读 2020-09-01 19:45:07
    循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。奇偶校验码和海明校验码都是采用奇偶检测为...
  • 海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码编码和校验方法。  编码  确定校验码的位数x  设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种取值...
  • 为了在有限的带宽内用有限的发射功率保证信息在空间传播时的可靠性,需要在系统中引入具有很强纠错能力的信道编码技术。低密度奇偶校验码(LDPC)码具有与香农限非常接近的纠错性能,因此成为现代通信系统中信道编码...
  • 海明构造及纠错

    2020-06-19 16:50:45
    海明(又称为汉明码)是具有纠错能力的编码。 信息位:发送用户端想要发送的信息序列,彼此独立,互不相关,最终交给接收端。 检测位:为了使信息码元产生某种规律性,按照某种规则在用户序列中插入一定数量的新...
  • 循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。奇偶校验码和海明校验码都是采用奇偶检测为...

空空如也

空空如也

1 2 3 4
收藏数 78
精华内容 31
关键字:

具有纠错能力的校验码