任意长度信息序列的CRC快速算法任意长度信息序列的CRC快速算法 CRC(循环冗余校验码)编码是数字信号传输中用得较普遍的一种差错控制编码。它不但可以用于纠正独立的随机错误,也可以用于纠正突发错误。CRC校验通常是靠专用硬件电路来实现的,但很多系统为了降低成本,常常利用单片机或微处理器编程来完成这一功能。因此,在器件处理能力有限的情况下,如何提高CRC校验软件计算的速度,是开发者最为关心的问题。 1 整字节序列的CRC校验快速算法 文献[1]提出了一种针对整字节的CRC快速算法。它的基本思想是预先生成一个余式表,通过查表,利用递推原理进行快速计算。现以CCITT(国际电话电报咨询委员会)建议的,用于基本型数据传输规程的生成多项式[pic]为例,简要介绍此先验算法的基本原理。 设M为由i个字节组成的8×i位二进制序列,用字节形式表示为 [pic] 截取Mi的前i-1个字节构成一个[pic]序列,即 [pic] 这两个序列之间的关系可以表示为 [pic] 其中[pic]是字节Mi的二进制多项式表示形式,[pic]是将[pic]序列左移一个字节。 对于[pic]序列来说,有 [pic] 其中,[pic]是商多项式,为一整数项;[pic]为最高次幂小于15的余数项。而对于Mi序列, [pic] 其中[pic]为整数项,因此对多项式[pic]取余即等效于对多项式[pic]取余,记做 ……
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
评论