RTKLIB中CRC-24Q检校部分内容说明

       CRC检校原理:

       CRC检校极为循环冗余检校码,是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的信道编码技术,主要用于检验在数据传输,接受或者保存过程中是否出现缺失或者错误。

       CRC计算过程:

        采用CRC生成的多项式,对接受的二进制数据流中除24位的crc检校码外的数据进行求余计算,通过检查计算出的余数与数据流中的CRC检校码是否相同来判度数据文件是否正确。

  RTKLIB中CRC-24Q检校代码:

  crc = ((crc << 8) & 0xFFFFFF) ^ tbl_CRC24Q[(crc >> 16) ^ buff[i]];

其中,crc << 8表示将32位的crc左移8位,低位补0。(crc << 8) & 0xFFFFFF表示只取移位后从低位开始的24位,即从左到右24位。crc >> 16表示将crc右移16位。(crc >> 16) ^ buff[i]表示对移位后的数据与buff[i]中的八位进行按位异或运算,然后根据计算结果n选取tbl_CRC24Q数组中的第n个数在与(crc << 8) & 0xFFFFFF进行按位异或运算。

注:tbl_CRC24Q数组每八位二进制数组(即0-255的二进制表示)除以相应校验多项式后的余数表。

注:

<<:左移运算,a<<m,将a按二进制位向左移动m位,高位移除后,低位补0。

>>:右移运算,a>>m,将a按二进制位向右移动m位,低位移除后,高位补0。

^  :按位异或运算,二进制逐位非或,从最小(及最右)的位开始,对操作位数逐位操作,相同           为0,不同为1。例如:X:0000 1011 1111   Y:1111 0101 1111     X^Y:1111 1110 0000。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值