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。

RTKLIB中CRC-24Q检校部分内容说明相关推荐

  1. python如何替换文件部分内容_python 实现批量替换文本中的某部分内容

    一.介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容. 二.代码实现 import re import o ...

  2. python一键替换_python 实现批量替换文本中的某部分内容

    一.介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容. 二.代码实现 import re import o ...

  3. ctf 文件头crc错误_[CTF隐写]png中CRC检验错误的分析

    [CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku ...

  4. 编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法

    Modbus通信协议中CRC校验的快速C语言算法 2004年第11期 福 建 电 脑 63 Modbus通信协议中CRC校验的快速C语言算法 孟开元 (西安石油大学计算机学院陕西西安710065) [ ...

  5. 【AI面试】目标检测中one-stage、two-stage算法的内容和优缺点对比汇总

    在深度学习领域中,图像分类,目标检测和目标分割是三个相对来说较为基础的任务了.再加上图像生成(GAN,VAE,扩散模型),keypoints关键点检测等等,基本上涵盖了图像领域大部分场景了. 尤其是在 ...

  6. network中的请求信息,headers中的每一项分别是什么意义?

    这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [network ...

  7. 解决Word 2007中更新整个目录后分节符消失问题

    解决Word2007中更新整个目录后分节符消失问题 问题:Word2007中,自动生成目录后,在目录后插入了分节符,目录和正文分开显示并分别插入页码:但是每次正文内容和目录发生变化时,都要更新整个目录 ...

  8. 供应商去市网维护银行账号信息_供应商信息中心是BBP系统中一项很重要的内容...

    供应商管理平台 1.采购申请的网上发布 根据生产和物料的采购周期,事先将需采购物料的采购申请发布到网上.外部供应商可以查询到自己的供货计划.这样分供方可以根据采购计划提前备料和安排生产,有效地保证供货 ...

  9. python中最基本的系列_Python中最基本的10个内容

    Python简单易学,但又博大精深.许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉.学海无涯,我们先来了解一些Python中最基本的内容. Python的特点 ...

最新文章

  1. python数据结构与算法:二叉树及三种遍历方式(先序遍历/中序遍历/后序遍历)
  2. cent卸载mysql_centos 7.x 安装/卸载MySQL
  3. pandorabox php7,【恐惧交响4之潘多拉】ProjectSAM Symphobia 4 Pandora v1.0.7
  4. 构造函数和析构函数能否声明为虚函数?
  5. 50-overlay 如何实现跨主机通信?
  6. 二面京东,面试官直接问我JVM,我心里一阵暗爽~
  7. jeecms导入myeclipse时web-inf下html出错,我部署到myeclipse 出现问题
  8. 为你的网站加上SSL,可以使用HTTPS进行访问
  9. spring或springmvc自动生成applicationcontext.xml或springmvc文件(此文转载和借鉴多篇文章)...
  10. gstreamer之RTSP Server test-mp4正确运行代码
  11. 几乎没人教你的用poi导出如此复杂的考勤表
  12. rstudio教程 java_RStudio的使用教程
  13. 快速原型模型的概念,优缺点。
  14. linux抓取vlan数据包,Wireshark/Ethereal抓取数据包不显示vlan tag的解决方法
  15. 中国象棋马走日 — 递归
  16. 「AutoML」AutoML专栏上线,跟Google一起见证调参党的末日?
  17. Android应用生命周期实现简单的秒表App
  18. Word2Vec实战
  19. Huawei RH2288 V3 风扇噪音大的解决方案
  20. CSDN学霸课表——一切皆为 JavaScript

热门文章

  1. tpshop开源商城怎么样
  2. 迅为IMX6Q开发板在道路交通信号控制系统解决方案中的应用
  3. 异步电机无传感器矢量控制的算法,matlab,仿真模型,采用转子磁链定向控制算法,转子磁链观测器采用电压模型+电流模型补偿算法。
  4. jQuery$工具属性CSS
  5. IoU、GIoU、DIoU、CIoU计算方法
  6. (附源码)小程序智能养老系统平台 毕业设计170900
  7. javaWeb基于SSM框架开发的社区医疗数据管理系统【项目源码+数据库脚本+报告】
  8. 如何正确确定网站的浏览量、访问量
  9. 利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁
  10. 有符号类型和无符号类型