1个回答
展开全部
好好学习~~!祝你成功!
给你个参考,计算传输信息1011001的CRC编码,假设其生成多项式G(X)=G(x)=x4+x3+1
例如,设实际要发送的信息序列是1010001101(10 个比特,k = 9),则以它们作为f (x) 61 的系数,得到对应的9 阶多项式为f(x)=1×x9+0×x8+1×x7+0×x6+0×x5+0×x4+1×x3+1×x2+0×x+1=x9+ x7+ x3+ x2+1。再假设发收双方预先约定了一个5 阶(r =5)的生成多项式G(x)=x5+x4+x2+1=1×x5+ 1×x4+0×x3+1×x2+0×x+1,则其系数序列为110101。CRC 码的产生方法如下。① 生成r 个比特的冗余码:用模2 除法进行xrf (x)/G(x)运算,得余式R(x),其系数即是冗余码。例如,x5 f (x)=x14+x12+x8+x7+x5,对应的二进制序列为101000110100000,也就是f (x)信息序列向左移动r =5 位,低位补0。x5f(x)/G(x) = (101000110100000)/(110101),得余数为01110,也就是冗余码,对应的余式R(x)=0×x4 +x3+x2+x+0×x0(注意:若G(x)为r 阶,则R (x)对应的比特序列长度为r)。注意,模2 除法在做减法时不借位,相当于在进行异或运算。② 得到带CRC 校验的发送序列:用模2 减法进行x5f (x)−R (x)运算得到带CRC 校验的发送序列,即x5f (x)−R (x)=101000110101110。从形式上看,也就是简单地在原信息序列后面附加上冗余码。在接收方,用同样的生成多项式G(x)除所收到的序列。若余数为0,则表示传输无差错,否则说明传输过程出现差错。例如,若收到的序列是101000110101110,则用它除以同样的生成多项式G(x)=x5+x4+x2+1(即110101)。因为所得余数为0,所以收到的序列无差错。CRC 校验方法是由多个数学公式、定理和推论得出的,尤其是CRC 中的生成多项式对于CRC 的检错能力会产生很大的影响。生成多项式G(x)的结构及检错效果是在经过严格的数学分析和实验后才确定的,有其国际标准。常见的标准生成多项式如下。CRC-12:G(x)=x12+x11+x3+x2+1CRC-16:G(x)=x16+x15+x2+1CRC-32:G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1可以看出,只要选择足够的冗余位,就可以使得漏检率减少到任意小的程度。由于CRC 码的检错能力强,且容易实现,因此是目前应用最广泛的检错码编码方法之一。CRC码的生成和校验过程可以用软件或硬件方法来实现,如可以用移位寄存器和半加法器方便地实现。
给你个参考,计算传输信息1011001的CRC编码,假设其生成多项式G(X)=G(x)=x4+x3+1
例如,设实际要发送的信息序列是1010001101(10 个比特,k = 9),则以它们作为f (x) 61 的系数,得到对应的9 阶多项式为f(x)=1×x9+0×x8+1×x7+0×x6+0×x5+0×x4+1×x3+1×x2+0×x+1=x9+ x7+ x3+ x2+1。再假设发收双方预先约定了一个5 阶(r =5)的生成多项式G(x)=x5+x4+x2+1=1×x5+ 1×x4+0×x3+1×x2+0×x+1,则其系数序列为110101。CRC 码的产生方法如下。① 生成r 个比特的冗余码:用模2 除法进行xrf (x)/G(x)运算,得余式R(x),其系数即是冗余码。例如,x5 f (x)=x14+x12+x8+x7+x5,对应的二进制序列为101000110100000,也就是f (x)信息序列向左移动r =5 位,低位补0。x5f(x)/G(x) = (101000110100000)/(110101),得余数为01110,也就是冗余码,对应的余式R(x)=0×x4 +x3+x2+x+0×x0(注意:若G(x)为r 阶,则R (x)对应的比特序列长度为r)。注意,模2 除法在做减法时不借位,相当于在进行异或运算。② 得到带CRC 校验的发送序列:用模2 减法进行x5f (x)−R (x)运算得到带CRC 校验的发送序列,即x5f (x)−R (x)=101000110101110。从形式上看,也就是简单地在原信息序列后面附加上冗余码。在接收方,用同样的生成多项式G(x)除所收到的序列。若余数为0,则表示传输无差错,否则说明传输过程出现差错。例如,若收到的序列是101000110101110,则用它除以同样的生成多项式G(x)=x5+x4+x2+1(即110101)。因为所得余数为0,所以收到的序列无差错。CRC 校验方法是由多个数学公式、定理和推论得出的,尤其是CRC 中的生成多项式对于CRC 的检错能力会产生很大的影响。生成多项式G(x)的结构及检错效果是在经过严格的数学分析和实验后才确定的,有其国际标准。常见的标准生成多项式如下。CRC-12:G(x)=x12+x11+x3+x2+1CRC-16:G(x)=x16+x15+x2+1CRC-32:G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1可以看出,只要选择足够的冗余位,就可以使得漏检率减少到任意小的程度。由于CRC 码的检错能力强,且容易实现,因此是目前应用最广泛的检错码编码方法之一。CRC码的生成和校验过程可以用软件或硬件方法来实现,如可以用移位寄存器和半加法器方便地实现。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |