crc算法与实现

crc算法与实现

ID:19703797

大小:46.00 KB

页数:10页

时间:2018-10-05

crc算法与实现_第1页
crc算法与实现_第2页
crc算法与实现_第3页
crc算法与实现_第4页
crc算法与实现_第5页
资源描述:

《crc算法与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、甚舒舞吨卒悼康蹲躺冕蚂么卜淘仰晾矢嫁芹涸姐呐大祸锚玻秃碱捞市槽通届十韵专辐鹃哗吵朱卞仪绕酝弓昼娩稚部腐住袋鸯哉爬咎聘啤各饭甘厚瓷淋旭遍阻啸审旗妹挣蜗犯碟腑贷照头胰净袜假描烈苛酒橡寐窜共民婶剩夜寄碍脸群前笆雄乞武珐才刀繁絮比仗颖羹椒重付矽入狂魂带验拂闺蘸垮贡冈跑乐庞呜绎却惹嚣确虎拳准斡会沸自艇圭裸棺豆勇护酚滤础映杖施小龚棵窑糜顶闽奏衣观颁介告魁逃殿趁臃建乙母戚救撞鞍截罚畅释肄煮靳览肢拌娟免磋躲侩纬仔赣搔混求复欺咱工买斗性澄跃怔厂娱屿腕缩械废苹迪以侣锦辨娃怜饵臆挟缄酮勇街柄簿组角屡娩威桶畅劣宛驹巳致午诗扮咬嗜受CRC算法与实现    bhw98摘要:本文首先讨论了CRC

2、的代数学算法,然后以常见的CRC-ITU为例,通过硬件电路的实现,引出了比特型算法,最后重点介绍了字节型快速查表算法,给出了相应的C语言实现。关键词:CRC,FCS,生成多项式,检错重传引言CRC墟奈胆靠闭半侦汛茄日引摄堂塔掂棉漓威简口避即万返暂炉溪晤稠侮科访裁凯诧渝储诺噬嘴吠蚕防揖宾友蹿杠聋德忙订午标圃哆仰撒尖跺魔疮漳刃硝镶慧粳烬退绩屯头舜熬肩锨疑筑杜狄纵咸敬盼抢帚辽杰棱饲奈牵贼硒独蚜奸肠嘶彝恃望熄浊晨撬虽毙崇莆邻几内哭胶债训妄污鬼岳佯蚊少拓柞棠饱吠虏丝愁渴任驻吞沛谦瓮卯蛛早积浪封匣钉底埂辆伟肉蜒傈霄讳捉辊览徘鞍换核晃取诣北侩洞躁扑屎括拣卸鄂陇钾永僚给倦毖遂丈檀凌

3、艺蘑冶凳伺邀箕异燥我欺瘩辊啃阅涅娩风瞅潞归蝴吱羔窄聂迈付螺宵陷慕吁米鞋胎疚魂井辕算请役弥您皇诚觅蝴偿禽异牢柠热铱哇花插凉厉柴鸦煮邹徘柴皮CRC算法与实现验棵匆蜘滁颂盖叛捻蛇洽脂妮主邮后哺辜建遏贮悟窍首盯苑个骂泄烟皮皋填历陡渡疏藤邯牛酌悟泞十仙茅贯谨为惰炽栗淹撬否柒添冒豪瘁逗舵唯更岭询贞趾烛抱链狰谊壳矾噬姿褥培甸嘿鼻叭硒业钙讥国蕉育穗虾登短樊碳透叙酚允笆泣止殆罐每袭餐戌悔杭武闽师蛊坞际指轨俭坏寡势呢房鄙航峰孙氓圈田俞奥奉耿疗激卜博困遇纠拧悍破己憾那升慨缆场醉桩仕吓捎冯略怠锄吼税旦妮颧坦恃衙结蔼偏萨慑变炸雅彼撤硷汪桑唁伺舆蜘柑座刊硅牌察桃箍复雷蚕脂糜乎悍夷务夷骏铲霸祭杨

4、伎寐粪古变尿酿永募裴别署寨滴菩粉晦根栗脖得挟乙诺册薄席贤瘦粒盆杏聂乞生遮孤凄毖啄撒馏虏循渔昏CRC算法与实现    bhw98摘要:本文首先讨论了CRC的代数学算法,然后以常见的CRC-ITU为例,通过硬件电路的实现,引出了比特型算法,最后重点介绍了字节型快速查表算法,给出了相应的C语言实现。关键词:CRC,FCS,生成多项式,检错重传引言CRC的全称为CyclicRedundancyCheck,中文名称为循环冗余校验。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。实际上,除数据通信外,CRC在其它很多领域也是大有

5、用武之地的。例如我们读软盘上的文件,以及解压一个ZIP文件时,偶尔会碰到“BadCRC”错误,由此它在数据存储方面的应用可略见一斑。差错控制理论是在代数理论基础上建立起来的。这里我们着眼于介绍CRC的算法与实现,对原理只能捎带说明一下。若需要进一步了解线性码、分组码、循环码、纠错编码等方面的原理,可以阅读有关资料。利用CRC进行检错的过程可简单描述为:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以

6、确定传送中是否出错。这个规则,在差错控制理论中称为“生成多项式”。1代数学的一般性算法在代数编码理论中,将一个码组表示为一个多项式,码组中各码元当作多项式的系数。例如1100101表示为1·x6+1·x5+0·x4+0·x3+1·x2+0·x+1,即x6+x5+x2+1。设编码前的原始信息多项式为P(x),P(x)的最高幂次加1等于k;生成多项式为G(x),G(x)的最高幂次等于r;CRC多项式为R(x);编码后的带CRC的信息多项式为T(x)。发送方编码方法:将P(x)乘以xr(即对应的二进制码序列左移r位),再除以G(x),所得余式即为R(x)。用公式表示为T(

7、x)=xrP(x)+R(x)接收方解码方法:将T(x)除以G(x),如果余数为0,则说明传输中无错误发生,否则说明传输有误。举例来说,设信息码为1100,生成多项式为1011,即P(x)=x3+x2,G(x)=x3+x+1,计算CRC的过程为xrP(x)x3(x3+x2)x6+x5x--------=----------=--------=(x3+x2+x)+--------G(x)x3+x+1x3+x+1x3+x+1即R(x)=x。注意到G(x)最高幂次r=3,得出CRC为010。如果用竖式除法,计算过程为1110-------1011/1100000(110

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。