本文目录一览

1,请教CRC效验码谁会做一下

信息码为100101,m(x)=x^5+x^2+1 生成表达式为g(x)=x^2+x+1 代码为:111,最高次为x^2次,所以数据C(x)左移2位,即有2个效验位 将数据m(x)移位后的数据10010100除以生成表达式111,得到的2位余数表达式即是校验码。 将信息码100101与校验码11组合即得CRC码为10010111

请教CRC效验码谁会做一下

2,CRC校验是什么

CRC校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能。可以对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。CRC校验中有两个关键点,一是预先确定一个发送送端和接收端都用来作为除数的二进制比特串(或多项式),可以随机选择,也可以使用国际标准。但是最高位和最低位必须为1;二是把原始帧与上面计算出的除数进行模2除法运算,计算出CRC码。

CRC校验是什么

3,关于CRC校验码编码方法如何求得

CRC码一般在k位信息位之后拼接r位校验位生成。编码步骤如下: 选择产生多项式为1011,把4位有效信息1100编程CRC码.即G(X)= X^3+X+1=1011,M(x)=X^3+X^2=1100 。 (1)将待编码的k位信息表示成多项式 M(x)。 得到M(X)=1100,即M(x)=X^3+X^2=1100 (2)将 M(x)左移 r 位,得到 M(x)*xr 。则取r=3 M(X)*X^3=X^6+X^5=1100000 (3)用r+1位的生成多项式G(x)去除M(x)*xr 得到余数R(x)。 则被除数为1100000,除数为1011,进行二进制除法,求得余数为010。 (4)将M(x)*xr 与R(x)作模2加,得到CRC码。则CRC校验码为1100010

关于CRC校验码编码方法如何求得

4,请教CRC效验码

(1)g(x)最高次幂为r=3,故首先将m(x)左移3位,空位填0,得到d(x)=1110000; (2)g(x)=1011 (3)求余,算式如下: # 1 1 0 0 # ________________________________ # 1011 )1 1 1 0 0 0 0 # 1 0 1 1 //和普通算术除法不同的是,这里的相减要用异或操作 # -------------------- # 1 0 1 0 # 1 0 1 1 # ----------------------------# 1 0 0 最后余式为r(x) = 100 故最后CRC校验码为 d(x) + r(x) ,即1110100,或表示为x^6+x^5+x^4+x^2. CRC校验码的原理是在发送编码和生成码间产生一种关系,比如这里的整除关系,也就是说最后发送的CRC编码是能够被生成码整除的,在接收方,只要这种整除关系还存在,就认为数据接收是正常的。

5,CRC校验码怎么得出来的

你知道有限域或者模2除法吗?不知道那下面就没法讲了。CRC算法基于有限域GF(2),通过在p位数据后附加r位校验构成CRC校验码。r位校验码的生成是由校验数据模2除一个不可约多项式G(x)得到的,G(x)常用取值有420、84210、8541等(每一位数字代表该数字对应的项系数是1)。我通过一个例子简单说明一下算法过程:假设CRC校验为(7,4),即7位CRC码,其中4位为数据位,3位为校验位。用于生成的不可约多项式为G(x)=x3+x+1=1011=310。现在需要传输的数据m(x)为1101=x3+x2+1。首先乘以x3,即在后面添3个零,变成1101000。接着计算有限域GF(2)=F2[X]/G(x)下x^6+x^5+x^3的同余式,即用G(x)=1011模2除1101000,得到结果为1111余001,这个余数001就是我们所求的校验码。将余数001添加到原多项式m(x)末尾,变成1101001,这个序列就是最终的CRC校验码。
假设使用的生成多项式是g(x)=x3+x+1。4位的原始报文为1010,求编码后的报文。 解: 1、将生成多项式g(x)=x3+x+1转换成对应的二进制除数1011。 2、此题生成多项式有4位(r+1),要把原始报文c(x)左移3(r)位变成101,000,0 3、用生成多项式对应的二进制数对左移4位后的原始报文进行模2除: 1001--商 1010000 1011--除数 1000 1011 011--余数(校验位) 编码后的报文(crc码): 1010000 + 011 101,001,1 例如: g(x)=x4+x3+x2+1,(7,3)码,信息码110产生的crc码就是: 101 11101 | 110,0000(就是110,0000/11101) 111 01 1 0100 1 1101 1001 余数是1001,所以crc码是110,1001 crc的和纠错 在接收端收到了crc码后用生成多项式为g(x)去做模2除,若得到余数为0,则码字无误。若如果有一位出错,则余数不为0,而且不同位出错,其余数也不同。可以证明,余数与出错位的对应关系只与码制及生成多项式有关,而与信息位无关

6,请问什么是CRC校验码

Check,简称CRC。它是利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。 根据应用环境与习惯的不同,CRC又可分为以下几种标准: ①CRC-12码; ②CRC-16码; ③CRC-CCITT码; ④CRC-32码。 CRC-12码通常用来传送6-bit字符串。CRC-16及CRC-CCITT码则用是来传送8-bit字符,其中CRC-16为美国采用,而CRC-CCITT为欧洲国家所采用。CRC-32码大都被采用在一种称为Point-to-Point的同步传输中。 下面以最常用的CRC-16为例来说明其生成过程。 CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或,之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,第一个8-bit数据处理完毕,用此时CRC寄存器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值。 下面为CRC的计算过程: 1.设置CRC寄存器,并给其赋值FFFF(hex)。 2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。 3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。 4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。 5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。 6.重复第2至第5步直到所有数据全部处理完成。 7.最终CRC寄存器的内容即为CRC值。  常用的CRC循环冗余校验标准多项式如下:   CRC(16位) = X16+X15+X2+1   CRC(CCITT) = X16+X12 +X5+1   CRC(32位) = X32+X26+X23+X16+X12+X11+X10+ X8+X7+X5+X4+X2+X+1   以CRC(16位)多项式为例,其对应校验二进制位列为1 1000 0000 0000 0101。   注意:这儿列出的标准校验多项式都含有(X+1)的多项式因子;各多项式的系数均为二进制数,所涉及的四则运算仍遵循对二取模的运算规则。  (注:对二取模的四则运算指参与运算的两个二进制数各位之间凡涉及加减运算时均进行XOR异或运算,即:1 XOR 1=0,0 XOR 0=0,1 XOR 0=1)

文章TAG:crc校验  校验码  请教  crc  crc校验码  
下一篇