基于循环冗余的CRC协议
发布时间
阅读量:
阅读量
CRC(循环冗余)算法简单理解
1、什么是CRC码
Cyclical Redundancy Check,通常被简称为CRC。
该技术通过运用多项式除法以及余数的计算原理来实现错误检测功能。
在采用CRC进行错误检测的过程中,其基本流程可以概括为:发送端依据待传输的k位二进制码序列,按照特定的生成规则生成一个长度为r位的校验码(即CRC码),并将该校验码附加至原始信息之后,形成一个新的总长度为k+r位的二进制序列,随后将其发送至接收端。接收端则根据信息码与CRC码之间所遵循的校验规则进行验证,从而判断传输过程中是否发生了错误。这一校验规则在差错控制理论中被定义为“生成多项式”。
2、实际应用中
发送端与接收端预先协商确定一个生成多项式(可表示为一组二进制数,共r位);
发送设备将原始的二进制数据向左移动(r-1)位(即在数据末尾添加r-1个零),随后使用该生成多项式进行除法运算,得出CRC校验码(长度为r-1位),并将该校验码附加至原始数据后一并传输至接收端;
接收端对所接收到的包含冗余信息的数据,采用事先约定的生成多项式进行除法运算,若所得余数为零,则说明数据传输过程未发生错误。
3、实例理解
信息码:1100
(由于1011为四位数,因此原始信息码需向左移
全部评论 (0)
还没有任何评论哟~
