首页 > 编程知识 正文

crc16校验码计算步骤(crc校验码的作用)

时间:2023-05-05 14:02:42 阅读:73155 作者:798

1.CRC简档CRC循环冗馀校验码是数据通信中的一种误码。

2.CRC原理CRC算法的基本思想是将传输的数据[m(x ) ]设为一位的长数。 此数除以另一数[g(x ) ]的馀数[r ) x ],作为检查数据附加在原始数据之后,构成循环校验码。

m(x )代表被编码的有效信息,g )-x )代表被约束的多项式,以及r )-x )代表校验比特,因此CRC的结构 = 信息位(N位) + 校验位(K位)

所以,CRC编码 = M(X) + R(X)

3.CRC编码方法将要编码n比特的有效信息比特表示为多项式m(x )

将m(x )向左移动k个位,得到m ) x ) x^k,并空出k个位以连接k个多位。这里的K位是由多项式G(X)的最高位决定的

选择一个生成多项式g(x ),对m ) x ) x^k构造模二除)多项式g ) x ),一般直接给出。 如果看以下示例,类型2除法为实质是异或运算),以下为运算式

(M(X) * X^K ) / G(X) = Q(X) + R(X) / G(X)

这里的q(x )是商,本身并不重要。这里最重要的是求出余数R(X)

将信息位m(x )和馀数m(x )连接起来构成CRC循环冗馀校验码

CRC编码 = M(X) + R(X)

4 .列举板栗的主题,请访问选择产生多项式位1011,把4位有效信息1100编成CRC码

m(x )=X^3 X^2=1100

m(x ) x(3=x ) 6x )5=1100000 ) http://www.Sina.com/() ) ) ) ) ) ) ) )。

g(x )=X^3 X 1=1011

(m ) x ) x^k )/g ) x )=1100000/1011=1110010/1011 )这里多项式最高位位3,左移3位这里进行模运算,关键

通过运算,确定此时r(x )为010

此时,CRC代码=m(x ) r ) x )=1100010

5.CRC码校验原理:实质上是异或运算

纠错时,与g(x )的选择有关,这方面很深,将得到的CRC码用约定的G(X)去除,余数为0,结果正确 ,某一位出错,则余数不为0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。