CRC循 冗余校 循环冗余校验簡介 通信的目的是要把信息及时可靠地传送给对方,因此要求一个通信系统传输消息必须可 靠与快速,在数字通信系统中可靠与快速往往是一对矛盾。为了解决可靠性,通信系统 都采用了差错控制。 在数字通信系统中可靠与快速往往是一对矛盾。若要求快速,则必然使得每个数据码元 所占地时间缩短、波形变窄、能量减少,从而在受到干扰后产生错误地可能性增加,传 送信息地可靠性下降。若是要求可靠,则使得传送消息地速率变慢。因此,如何合理地 解决可靠性也速度这一对矛盾,是正确设计一个通信系统地关键问题之一。为保证传输 过程的正确性,需要对通信过程进行差错控制。差错控制最常用的方法是自动请求重发 方式(ARQ)、向前纠错方式(FEC)和混合纠错(HEC)。在传输过程误码率比较低时, 用FEC方式比较理想。在传输过程误码率较高时,采用FEC容易出现"乱纠"现象。HEC方式 则式ARQ和FEC的结合。在许多数字通信中,广泛采用ARQ方式,此时的差错控制只需要检 错功能。实现检错功能的差错控制方法很多,传统的有:奇偶校验、校验和检测、重复 码校验、恒比码校验、行列冗余码校验等,这些方法都是增加数据的冗余量,将校验码 和数据一起发送到接受端。接受端对接受到的数据进行相同校验,再将得到的校验码和 接受到的校验码比较,如果二者一致则认为传输正确。但这些方法都有各自的缺点,误 判的概率比较高。 循环冗余校验CRC(Cyclic Redundancy Check)是由分组线性码的分支而来,其主要应用是二元码组。编码简单且误判概率很低 ,在通信系统中得到了广泛的应用。下面重点介绍了CRC校验的原理及其 算法实现。 一、循环冗余校验码(CRC) CRC校验采用多项式编码方法。被处理的数据块可以看作是一个n阶的二进制多项式,由 。如一个8位二进制数10110101可以表示为: 。多项式乘除法运算过程与普通……