精华内容
下载资源
问答
  • 计算机基础--检错与纠错码1检错与纠错的原由奇偶校验码1、水平奇校验2、水平偶校验3、不足和改进海明校验码1、编码纠错理论--编码最小距离(码距)2、检错3、纠错4、不足 检错与纠错的原由 元件故障、噪声干扰等因素...

    检错与纠错的原由

    元件故障、噪声干扰等因素常常导致计算机在传输、存储或处理的过程中出现错误,故采用专门的逻辑电路对信号进行编码有便于检测错误甚至校验错误。本文介绍奇偶检验码和海明码。

    奇偶校验码

    这是一种最简单且应用最广泛的检错码,用的是以为校验位的奇偶校验。分成水平奇校验和水平偶校验。

    1、水平奇校验

    设数据X是一个n位字,在其高位前增加1位奇校验位,保证数据(包括奇校验位在内)的n+1位中,1的个数为奇数,这也就是奇校验称呼的由来。
    例:
    有X = 0100010,采用水平奇校验时,由于X本身的1的个数是2个,所以在高位前添加1使得X的1的个数是奇数个,即X变成10100010.

    2、水平偶校验

    与奇校验类似,水平偶校验在数据的高位前添加一位校验位使得此数据各位上1的个数为偶数。当传输到对方的时候可以通过对传过来的数据X进行检测,如果没有出现问题则可认为在传输或者存储的过程中没有发生1位错误。
    例:
    有X = 0100010,采用水平奇校验时,由于X本身的1的个数是2个,所以在高位前添加0使得X的1的个数是偶数个,即X变成00100010.当传输到对方的时候可以通过对传过来的数据X进行检测,如果没有出现问题则可认为在传输或者存储的过程中没有发生1位错误。

    3、不足和改进

    对于出现一位错误的情况,奇偶校验可以检测出错误但却不能检测出错误的准确位置,同时,当数据出现两位同时出现错误会导致检错码失去作用,但由于实现起来非常简单容易由此得到了广泛的应用。对于上述提到的两个问题,伟大的先人(是不是说老了,其实很多人还挺年轻的)在上面两个校验码的基础之上相继发明了垂直奇偶校验码和水平垂直检验码(在这我就不多说了)。

    海明校验码

    为了针对更复杂更庞大的数据能及时检错和纠错,通常将原数据配成海明编码。

    1、编码纠错理论–编码最小距离(码距)

    指在一种编码系统中任意两组合法代码之间的最少二进制位数的差异。
    根据纠错理论:
    L - 1 = D + C 且 D >= C
    即编码最小距离L越大,则其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于或等于检错能力。如当编码最小距离L=3时,最多能检错两位,或能检错一位、纠错一位。海明码就是根据这一理论提出的具有一位纠错能力的编码。

    2、检错

    为了使检测的二进制代码具有纠错能力,需添加位检测位,添加的检测位的位数k有下面的公式得到:、
    2^k > = n + k + 1
    插入的位置分别是2的0次方,2的1次方,2的2次方以此类推,各位添加的检测码的值由在二进制数位置数有含有检测码的所有位置上的数进行模二加得到。
    例:
    X = 10101
    通过上面的公式可以得到k=4,故要插入4位检测码,将每位检测码称为Pi,每位数据码称为Di,则有:
    P1 = D1 + D2 + D4 + D5 = 1
    P2 = D1 + D3 + D4 = 1
    P3 = D2 + D3 + D4 = 1
    P4 = D5 = 1

    故添加的检测码是1111,所以最后传输的数据是11101011。

    3、纠错

    当接收方接收到数据以后,首先提取出检测码1111,然后求出指错字,设指错字为Gi,通过下列计算出指错字Gi:
    G1 = P1 + D1 + D2 + D4 + D5 = 0
    G2 = P2 + D1 + D3 + D4 = 0
    D3 = P3 + D2 + D3 + D4 = 0
    D4 = P4 + D5 = 0

    上面求出的指错字是无数据出错的状态下的,当有数据出错时指错字的大小就是出错数据位的位置。

    4、不足

    海明码优点多多(当初学习的时候感觉发明这种检错码的人简直是天才!!!),但当检测出错误并得到错误数据位位置后的实际纠错的方式并没有太过先进的地方(虽然已经很好了),同时也只能检测并纠错一位数据位错误。

    这是我的人生中的第一篇博客,打算记录下自己在学习计算机组成原理中感觉比较有意思的知识,大家以后多多关照(≧▽≦)/啦!

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

    千次阅读 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用于保

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

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

     

     

     

     




    展开全文
  • 摘要:星载计算机系统中电子器件容易受到空间环境电磁场的辐射和重粒子的冲击,从而导致器件运行出错,特别是存储器中数据容易出现错误,需要具有纠错功能的电路模块对其进行纠正,以免造成严重的后果。...
  • 摘要:星载计算机系统中电子器件容易受到空间环境电磁场的辐射和重粒子的冲击,从而导致器件运行出错,特别是存储器中数据容易出现错误,需要具有纠错功能的电路模块对其进行纠正,以免造成严重的后果。...
  • 海明校验码

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

    转载转载转载转载

    转载自:http://www.cnblogs.com/scrutable/p/6052127.html

    海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码的编码和校验方法。

      编码

      确定校验码的位数x

      设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种取值方式表示数据正确,剩下2x-1种取值方式表示有一位数据出错。因为编码后的二进制串有n+x位,因此x应该满足

    2x-1 ≥ n+x   

      使不等式成立的x的最小值就是校验码的位数。在本例中,n=7,解得x=4。

      确定校验码的位置

      校验码在二进制串中的位置为2的整数幂。剩下的位置为数据。如图所示。

    位置 1 2 3 4 5 6 7 8 9 10 11
    内容 x1 x2 1 x3 0 1 0 x4 1 1 0

     

      求出校验位的值

      以求x2的值为例。为了直观,将表格中的位置用二进制表示。

    位置 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011
    内容 x1 x2 1 x3 0 1 0 x4 1 1 0

      为了求出x2,要使所有位置的第二位是1的数据(即形如**1*的位置的数据)的异或值为0。即x2^1^1^0^1^0 = 0。因此x2 = 1。

      同理可得x1 = 0, x3 = 1, x4 = 0。

    位置 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011
    内容 0 1 1 1 0 1 0 0 1 1 0

     

      因此1010110的海明码为01110100110。

      校验

      假设位置为1011的数据由0变成了1,校验过程为:

      将所有位置形如***1, **1*, *1**, 1***的数据分别异或。

      ***1: 0^1^0^0^1^1 = 1

      **1*: 1^1^1^0^1^1 = 1

      *1**: 1^0^1^0 = 0 

      1***: 0^1^1^1 = 1

      以上四组中,如果一组异或值为1,说明该组中有数据出错了。***1 **1* 1***的异或都为1,说明出错数据的位置为1011。

     

    这种方法结束。还有一种只是说法不太一样,也贴上吧。转载自:http://www.yuyanping.com/the-basic-of-hamming-code/

     

    海明码简单分析

    确定校验位个数

     

    海明码的码组长度需要符合:2^r – 1 (r代表校验位个数)

    为什么是这个公式呢?因为:只有这样才能保证校验位足够覆盖整个需要校验的码组。

    比如说:校验位有3位,那就是2^3 = 8 – 1 = 7 这样就可以校验长度为7的码组,如果按实际来说,也就是信息位 4 位,校验码 3 位。

    通过上面分析,我们知道校验位 r 加上信息位 k 就等于 2^r – 1 , 这也就是为什么书上有 k + r <= 2^r – 1 的原因,下面是一些 R 和 K的关系表

    信息码位数 1 2~4 5~11 12~26 27~57 58~120
    校验码位数 2 3 4 5 6 7

    注:表中数据取自网络

    确定校验位的位置

    知道了需要多少位校验码,还需要知道把校验码放在哪个位置上才行,这个只要记住,信息位在非2n的位置上,而校验位是在2n的位置上就可以了,条件再严格点就是,书上说的信息位所在海明码中的下标是需要等于前面几个校验组的下标,看到这里不懂没有关系,下面进行简单的例题分析。

    举个粟(例)子:

    信息字码组 : 1101 , 这时候信息位 k = 4 , 根据 k + r <= 2^r – 1 ,得出 r = 3 , 那就按书上说的,用P1、P2、P3来表示这3位校验码,这时候我们就来做填字格游戏。

    P1 P2 1 P3 1 0 1

    位置就这么简单的确定下来了,如果位数更多的话也是一样的,校验位就是在 1、2、4、8、16…….这些位置上。

    计算校验位 Pi

    上面已经知道要在什么位置插入校验码,现在就差下锅的料了,怎么求校验位实际的值呢?很简单!

    根据海明码定义,是通过将信息进行分组,才得以实现检错和纠错的能力,就像一开始的图,每一个Pi都会包含3个信息位。

    问题来了,那我怎么知道这些信息位是哪几个?还是书上的定义……

    重点

    比如说信息 1 1 0 1 ,从上面填字格游戏我们可以看出,被分别安排在 H3,H5,H6,H7的位置(这些位置怎么来的?7位数从1到7给每位编号嘛!)

    则:H3 = H1+H2 (这里是等式右边下标相加等于等式左边下标的意思,下面一样)

    H5 = H1+H4

    H6 = H2 + H4

    H7 = H1 + H2 + H4

    通过上面的关系式,我们可以看出,右边在海明码中的数位,正好都是校验码的位置,下面来正式求校验码了。

    P1(H1) = H3 ⊕ H5 ⊕ H7 (⊕表示异或)

    P2(H2) = H3 ⊕ H6 ⊕ H7

    P3(H4) = H5 ⊕ H6 ⊕ H7

    大功告成!啥?还要我算出来?打字很累的,手短打字又慢,行吧行吧,想在以前自己学海明码,怎么看都不会的份上,可能也是自己太笨…….

    信息码:1101 对应海明位 H3、H5、H6、H7,不要把海明码,校验位,信息位搞混了哦!虽然我也是经常弄混哈哈!

    P1 = 1 ⊕ 1 ⊕ 1 = 1;

    P2 = 1 ⊕ 0 ⊕ 1 = 0;

    P3 = 1 ⊕ 0 ⊕ 1 = 0;

    啥?异或不懂?没关系,我也经常不懂,相同 = 0 ,不同 = 1,异表示不同,按或的规则,是不是好奇葩!

    好了,现在我们可以完成填字游戏了 P1 P2 1 P3 1 0 1 ==> 1010101,这就是我们最后需要得到的海明码,终于完成了!

    还没完呢……有了这个海明码还需要知道怎么校验有没有出错啊,简单简单,跟我继续来学习!

    海明码纠错和检错

    有了上面的校验码和信息码,我们就能借用他们去知道怎么检查,信息在传送的过程中有没有发生错误,废话不多说,下面开始,还是书上的定义,因为校验码有三位,我们这里再申明三位码分别用S1、S2、S3表示,满足下列关系:

    S1 = P1 ⊕ H3 ⊕ H5 ⊕ H7 ;

    S2 = P2 ⊕ H3 ⊕ H6 ⊕ H7;

    S3 = P3 ⊕ H5 ⊕ H6 ⊕ H7;

    这样求出来的S1、S2、S3如果都为0就是没有出错,如果不是0就表示在海明码中出错的位置,将其取反就可以起到纠错的功能了。很简单吧,等等,为什么是上面的关系式?哪来的?可以往上看看求校验码那里,这就是分组的结果,这里我就偷懒下不算了,你们可以自己算算,真的结束了……

    写在最后

    这些文字都是根据个人所理解,根据自己的语言和思路,希望能对那些还不明白的人有一些帮助,如果我的文章有错误,请无情的给予指出,在此表示感谢!

    展开全文
  • 1)图解纠错演练:从用户输入一个字符串,在屏幕上逐步进行错误归纳、检测和纠正。 2) 向字符串添加校验位:要求用户输入一个二进制字符串,并输出添加了正确校验位的字符串。 3) 从字符串中去除奇偶校验位:要求...
  • Hamming校验码

    2017-03-25 23:17:00
    Hamming校验码作用:用于校验通信数据,防止出现错误,并具有一定的纠错功能。 汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误,以侦测并更正单一比特错误。由于汉明编码简单...

    可参考:http://winda.blog.51cto.com/55153/1068000

    Hamming校验码作用:用于校验通信数据,防止出现错误,并具有一定的纠错功能。

    汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误,以侦测并更正单一比特错误。由于汉明编码简单,它们被广泛应用于内存(RAM)。

    1,获取最小校验码位数:对于有n个信息位的信息,需要k个校验位,满足:2^k-1>=n+k;使k最小即可得出n个信息位所需最小的校验码数;

    2,确定校验码所在位置:共有(n+k)个位串,即校验码所在位和信息所在位;只要确定校验码,剩下的位就是信息位。校验码位在从左起的第2^k位处;

    3,确定每一位校验码的值:这与其要校验的位有关,第i位的校验规则,从自身起连续校验i位,然后跳过i位,再连续校验i位,再跳过i位,...以此推理。整个校验序列中只有校验位是不确定的,最后根据是奇校验还是偶校验确定校验位的值。

    4,如何校验字串:各位校验码对其所校验的位进行异或运算,若整个码字不发生差错,在偶校验下各组结果应为0,在奇校验下各组结果应为1;

    5,如何纠错:由于汉明校验码是一种多重校验码,所以可以确定是哪位出错,直接对该位取反即可。

    转载于:https://www.cnblogs.com/itdev/p/6618968.html

    展开全文
  • 在这个小节中我们会继续探讨数据校验的问题,我们会学习海明教研嘛,那海明教研嘛又可以称为汉民教研嘛,啊,这只是一个英译的问题,因为发明这个校验码的人叫理查德汉明,也正是因为它发明了海林嘛,对于信息纠错这...
  • 校验码 奇偶校验 海明码校验

    千次阅读 2020-06-28 17:07:10
    1.奇偶校验 奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中"1"的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的...
  • 数据校验码

    千次阅读 2016-11-14 22:55:25
    一、奇偶校验 根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1...
  • 海明校验码/汉明校验码海明码是什么?需要多少个校验位?校验位放哪里?怎么对信息位进行分组?如何纠错?总结 海明码是什么? 首先需要知道什么是奇偶校验码:在 n 位有效信息位前 或 后添加一个校验码改变整个校验...
  • 目录数制与编码数值数据的编码表示校验码海明校验码:用于并行数据传送中奇偶校验码:用于并行数据传送中循环冗余校验码:用于串行数据传送中CRC码的编码方法生成多项式 G(x)G(x)G(x) 的确定 数制与编码 编码:用...
  • 注意:移码只能用于表示整数 用几种表示定点整数 各种的真值0 [+0][-0]原码[+0]原=00000000[-0]原=10000000 反码[+0]反=00000000[-0]反=11111111 补码[+0]补= [-0]补= 00000000[+0]补= [-0]补= 00000000 反码[+...
  • 七、量子纠错码的数学描述
  • 写这篇文章呢,主要是想聊一下CRC的纠错功能,虽然我们谈到CRC很少说到它的纠错功能,但不代表没有,因此写一文以记录下它的纠错功能以及如何用java代码实现。 给出java代码如下 import org.junit.Test; import ...
  • (实例来源于百度百科) 存储单元:可存放一个机器字并具有特定存储地址的存储单位。 它不是存储器的最小单元,但一定是CPU访问存储器的最小单位。比如通常一个存储单元由八个二进制位组成(一个字节),每次CPU进行...
  • 差错控制之检错编码与纠错编码

    千次阅读 2020-04-25 14:21:01
    检错编码—奇偶校验码 检错编码–CRC循环冗余码 纠错编码—海明码 海明码:发现双比特错误,纠正单比特错 1.确定校验码的位数r 2.确定校验码和数据的位置 3.求出校验码的值 4.检错并纠错 总结 ...
  • 奇偶校验、CRC校验、海明码校验

    千次阅读 2016-11-08 21:49:02
    一、奇偶校验 根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1...
  • Reed-Solomon利用范特蒙矩阵或者柯西矩阵的特性来实现纠错码功能。 Reed-Solomon编码: 把输入数据视为向量D=(D1,D2,…,Dn),编码后数据视为向量(D1,D2,…Dn,C1,C2,…,Cm),RS编码可以看做为如下图的矩阵运算...
  • 纠错码专题——线性分组(1)

    千次阅读 多人点赞 2020-04-12 02:23:53
    线性分组包括一大类的纠错编码在内,有汉明码、循环、LDPC等等,之前了解这些编码也是在网上搜搜资料,看看博客这样去学习,在网上搜索资料的时候发现一个问题,例如在看很多人写的汉明码博客时,很多人都一味...
  • 海明码具有检错和纠错功能,它基于奇偶校验原理,只能检查出某一位错的位置。当有多位错时,它就不适用了。 异或运算 在了解汉明码之前,先熟悉下异或运算和奇偶校验。 异或运算 异或运算,相异为1,相同为0...
  • CRC循环冗余检测 及其 检错纠错

    万次阅读 2009-12-20 21:03:00
    知识环境: 数据校验码:通常三种:...即给信息码右边加上几位校验码,以增加整个编码系统的码距和查错纠错能力。CRC编码原理:(1)CRC又叫(N,K)码,整个编码长度:N位; 信息码长度:K位; 校验码长度:R(=N-K
  • SSD ECC纠错“天网”之LDPC

    千次阅读 2017-07-18 11:46:51
    在之前的文章中有提到过,SSD FTL层有...主流的SSD ECC纠错技术主要有BCH编码和LDPC编码(LDPC码即低密度奇偶校验码,Low Density Parity Check Code,LDPC)。 不过,由于对更为廉价且密度更高的NAND闪存的需求以及3
  • 想必看到这片文章的同学,已经对CRC校验码的生成过程和理论依据如数家珍,但是CSDN上却很少有详细讲述CRC是如何纠错的。关于CRC校验码生成的理论,前人之述备矣,我也就不赘述了,不了解的同学可以在CSDN上搜索CRC...
  • 根据对64位数据进行检纠错处理的需要,设计一个利用8位校验码,以实现该功能的算法逻辑,并通过FPGA实现。经过仿真验证,该模块具备检测2位错误,纠正1位错误的功能,而且也能较好地满足实时性的要求,具有一定的...
  • 检错之奇偶校验编码

    千次阅读 2016-11-23 17:27:35
    奇偶校验包含奇校验和偶校验两种校验。...有效信息(被校验的信息)部分可能是奇性(“1”的个数为奇数)的,也可能是偶性的,所以奇、偶两种校验都只需配一个校验码,就可以使整个校验码满足指定的奇偶性...
  • 码距为d,码距与校验码检错和纠错的能力的关系 d>=e+1 可验e个错 d>=2t+1 可纠正t个错 d>=e+t+1 且e>t 可检e个错并能纠正t个错。 20.奇校验和偶校验看整个码中是否1的个数为奇数或偶数。 21.海明码校验一般为偶...
  • (看得懂的)海明的编码和校验方法

    万次阅读 多人点赞 2017-05-16 09:37:22
    海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码的编码和校验方法。  编码  确定校验码的位数x  设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,505
精华内容 1,802
关键字:

具有纠错功能的校验码