- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CRC7算法
CRC7校验算法-RSU通信使用 2008年09月18日 星期四 下午 01:43 最近的工作中用到CRC7对41bit数据加校验,其多项式为G X X^7 + X^3 + 1,校验位紧跟在信息位之后。crc7的算法程序代码如下: typedef unsigned char UCHAR;typedef unsigned char BOOL; /* 计算cnt字节数据的crc,最后一个字节的低7比特必须是0,实际上求的是(cnt×8-1)比特数据的crc */UCHAR CRC7_Cal UCHAR *pSrc, UINT32 cnt ; UCHAR CRC7_Cal UCHAR *pSrc, UINT32 cnt UCHAR crc7 0x89;??? // 除数多项式为G X X^7 + X^3 + 1。UINT8 count 0;??? // 记录已经取了多少位数到余数中。UINT8 temp1 0;UINT8 temp2 0;UCHAR crc pSrc[0];??? // 余数。count 8; /* 求余数crc */while count cnt * 8 /* 去掉余数中最高位0 */?? temp1 crc 0x80;?? while 0 temp1 crc crc 1 0xfe; temp2 pSrc[count / 8]; temp2 temp2 7 - count % 8 0x01; crc crc | temp2; temp1 crc 0x80; count++;??? // 更新计数 if count cnt * 8 break; if count cnt * 8 0 temp1 break; crc crc ^ crc7;?? // 模2除法 return crc; CRC的原理这里就不说了,太深奥,留给数学家们去研究吧。就单说下CRC的一般应用方法。 1.首先根据CRC的多项式,对原始数据左移。多项式的最高项次数是N就左移N位。像我这个CRC多项式的最高位是7,那么就先左移7位,最后一个字节的低7位自然是全0。 2.然后应用求CRC的程序求出处理后的数据的CRC,并替换掉最后的N位。我这里就用以上程序计算出7位CRC并替换掉最后一个字节的低7位。这样一来就完成了CRC的编码过程,最后编码的数据长度就是原长+N 我这里为7 ,可以发送了。 3.校验方法很简单,对接收到的数据 包括编码计算出的的CRC 直接求CRC,如果得到的CRC等于0,那么说明传输过程无误。如果CRC不等于0,则说明传输出错了。 最后说点题外的东西 很多人对检错和纠错有误解,始终不明白CRC为什么只能检错而不能纠错。 纠错是指一种码在解码的过程中就能把纠错能力以内的错误纠正过来,解码结束后得到的就是正确的码。 而检错则是指一种码在解码过程中只能把检错能力以内的错误检查出来,解码结束后得到的还是错误的码。但是你可以知道码在传输过程中出错了,可以用其他方式来处理这些错误,比如重发等等。 既然有了纠错码,而且解码就可以得到正确的码,为什么还要应用检错码呢?这是因为如果要一种码的纠错能力是远小于检错能力的。如果提高纠错能力的代价大于提高检错能力加上重发的代价,那么就没有必要去设计更高的就错能力的纠错码了,直接用检错能力强的检错码加上重发就可以完成系统功能。CRC就是这样一种具有很高检错能力的检错码,所以CRC在具有重发机制的系统中应用非常广泛。 全部代码在VC6.0下通过测试,欢迎测试,转载请注明出处。 您是本帖的第 1523 个阅读者贴子主题:CRC算法原理及实现 levi CRC算法原理及实现 CRC算法原理及实现 一、算法介绍 CRC算法主要是一个计算除法的过程。算法有两个输入值,第一个是输入的信号,这通常是一个很长的数据,作为被除数。第二个是一个与具体的CRC算法相关的多项式,称为生成多项式,用作除数。基本的计算过程是,两者作模2除法。余数就是CRC结果。 模2除法等价于异或运算,因此,实现起来非常简单。 下面用一个简单的例子来说明CRC算法的计算过程。输入信号是101111,生成多项式是1001。被除数后面需要补充3个0。这是一个3位CRC。 上传的图片? 座机电话号码441092.jpg [ 5.45 KB 144×161 ] 缩略时请点击查看原图 图1 模2除法 商数在CRC算法中是没有用处的,需要的仅仅是余数。在上例中,余数为010。将余数附加到输入信号后面,即101111010,这个数是可以被1001整除的。 生成多项式最高位总是1,通常不写。 二、简
您可能关注的文档
- 2015年房地产市场总体上好于2014年.doc
- 2015年暑假总课表(7月3日).doc
- 2015年贵州黔西南册亨县事业单位招聘公告.doc
- 2015年贵州黔西南册亨县事业单位职位表下载.doc
- 2015广东体育博览会.doc
- 2015暑假生活.doc
- 2015步步高理科数学10.1.doc
- 2015第六届华南国际幼教展六月五日开幕 品牌展商汇聚一堂.doc
- 2015郭老师暑期课程高三英语讲义4.doc
- 2016年对外经济贸易大学数量经济学考研课表新祥旭贸硕堂.doc
- 2026年杭州市钱塘区教育局所属事业单位公开招聘优秀应届毕业生19人历年题库含答案解析(必刷).docx
- 玛沁县公安局2025年下半年招聘警务辅助人员笔试参考题库及答案解析(夺冠).docx
- 川北医学院2025年公开选调工作人员笔试历年题库及答案解析(夺冠).docx
- 2026招商银行成都分行寒假实习生招聘备考题库及答案解析(夺冠).docx
- 自贡市大安区人民法院2025年公开招聘聘用制审判辅助人员参考题库(15人)及答案解析(夺冠).docx
- 新余市2025年事业单位公开招聘全省运动队优秀退役运动员笔试参考题库及答案解析(夺冠).docx
- 贵州企业招聘:2025赤水市新合作电子商务有限公司无人机飞手招募历年真题题库及答案解析(夺冠).docx
- 2026西安银行校园招聘备考历年题库带答案解析.docx
- 2026福建省面向西安电子科技大学选调生选拔工作备考历年题库带答案解析.docx
- 2026年泰安银行股份有限公司校园招聘备考题库(70人)及答案解析(夺冠).docx
最近下载
- 高层建筑消防安全隐患排查登记表(2).pdf VIP
- 养老院老人健康档案管理制度.docx VIP
- (必会)黄委会《水利及黄河基础知识》历年考试高频真题300题(含答案).docx
- DB32_T 4471-2023 化工园区封闭化建设技术规范.docx VIP
- (统编2026新教材)三年级道法上册第5课《走近科学家》课件.pptx
- D-Z-T 0295-2016 土地质量生态地球化学评价规范(正式版).docx VIP
- 新版部编人教版三年级上册道德与法治全册教案教学设计含教学反思 .pdf
- 康复科利用品管圈PDCA循环降低导尿管相关泌尿道感染发生率.pptx VIP
- 小学语文六年级毕业试卷A.doc VIP
- 三菱(MITSUBISHI)伺服MR-J4-B使用手册说明书.pdf
有哪些信誉好的足球投注网站
文档评论(0)