CRC校验码编码实验.doc

CRC校验码编码实验.doc

ID:51639645

大小:324.00 KB

页数:6页

时间:2020-03-14

CRC校验码编码实验.doc_第1页
CRC校验码编码实验.doc_第2页
CRC校验码编码实验.doc_第3页
CRC校验码编码实验.doc_第4页
CRC校验码编码实验.doc_第5页
资源描述:

《CRC校验码编码实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、试验四CRC校验码编码实验试验报告实验四CRC校验码编码实验班级:电子C073姓名:赵宣学号:075584一、实验目的1、复习C++语言基本编写方法,熟悉面向对象编程方法。2、学习CRC编码基本流程,学会调试循环冗余校验码编码程序。3、根据给出资料,掌握CRC校验码的编码原理,重点掌握按字节(Byte)编码方法二、实验内容与原理(一)实验原理:1.CRC校验码介绍CRC校验的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。在接收端,则根据

2、信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。16位的CRC码产生的规则是先将要发送的二进制序列数左移16位(乘以216)后,再除以一个多项式,最后所得到的余数既是CRC码。求CRC码所采用模2加减运算法则,既是不带进位和借位的按位加减,这种加减运算实际上就是逻辑上的异或运算,加法和减法等价,乘法和除法运算与普通代数式的乘除法运算是一样,符合同样的规律。接收方将接收到的二进制序列数(包括信息码和CRC码)除以多项式,如果余数为0,则说明传输中无错误发生,否则说明传输有误。2.按位计算CRC一个二进制序列数可以表示为求此二进制序列数的CRC码时,先乘以216后(

3、左移16位),再除以多项式G(X),所得的余数就是所要求的CRC码。可以设:其中Qn(X)为整数,Rn(X)为16位二进制余数,将上式代入前式得:再设:其中Qn-1(X)为整数,Rn-1(X)为16位二进制余数,继续代入前式,多次迭代得到:根据CRC的定义,很显然,十六位二进制数R0(X)即是要求的CRC码。3.按字节计算CRC对于一个二进制序列数可以按字节表示为下式,其中Bn(X)为一个字节(共8位):第6页共6页试验四CRC校验码编码实验试验报告求此二进制序列数的CRC码时,先乘以216后(左移16位),再除以多项式G(X),所得的余数即是所要求的CRC码。可以设:其中Qn

4、(X)为整数,Rn(X)为16位二进制余数,将上式代入前式得:由于:其中RnH8(X)是Rn(X)的高八位,RnL8(X)是Rn(X)的低八位,代入前式得到:再设:其中Qn-1(X)为整数,Rn-1(X)为16位二进制余数,继续代入前式,多次迭代得到:显然,十六位二进制数R0(X)即是要求的CRC码。(二)实验内容:1.根据实验原理掌握CRC校验码编码/解码基本流程。2.在C++编译器下能够调试编码算法每一个步骤,重点掌握按字节编码的过程。三、实验仪器、设备1.计算机-系统最低配置256M内存、P4CPU。2.C++编程软件-VisualC++7.0(MicrosoftVisu

5、alStudio2003)VisualC++8.0(MicrosoftVisualStudio2005)四、实验步骤项目文件建立步骤同实验二,下面列出对给定字符串CRC校验主要步骤:步骤1:从主函数入口输入一个字符串,并且确定按字节32位CRC校验编码,编码多项式采用CCITT标准形式多项式。步骤2:调用编码函数,依次读入字符串每个自己,进行模2除法运算。步骤3:将原来字符串左移32位,将除法最后的余式追加到字符串的后32位中去,得到该字符串CRC校验编码结果。步骤4:如果要解码,首先确认编码多项式,然后将接收字符串除以编码多项式。如果能够整除,说明字符串在传输或存储中没有发生

6、错误;否则,表明字符串在传输或存储中产生错误,导致CRC校验失败。五、实验数据及结果分析:第6页共6页试验四CRC校验码编码实验试验报告#include"stdafx.h"#include"CRC32.h"voidSlowCrc::PutByte(unsignedcharbyte){unsignedcharmask=0x80;//leftmostbitfor(intj=0;j<8;++j){PutBit((byte&mask)!=0);mask>>=1;}}voidSlowCrc::PutBit(boolbit){std::cout<

7、t=(_register&0x80000000)!=0;//shiftbitintoregisterfromtheright_register<<=1;_register^=(bit?0x1:0x0);//ORorXOR,sameresultif(topBit){//XORthe32-bitsofthekey.//Theimplicithighbitofthe33-bitkeyconceptually//clearsthetopBitshiftedoutofthe第6页共6页试验四CRC校验

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

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

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