CRC校验实验报告

CRC校验实验报告

ID:19721214

大小:142.50 KB

页数:8页

发布时间:2023-08-17 06:27:05

CRC校验实验报告_第1页
CRC校验实验报告_第2页
CRC校验实验报告_第3页
CRC校验实验报告_第4页
CRC校验实验报告_第5页
CRC校验实验报告_第6页
CRC校验实验报告_第7页
CRC校验实验报告_第8页
资源描述:

实验三CRC校验一、CRC校验码的基本原理编码过程:CRC校验码的编码方法是用待发送的二进制数据t(x)除以生成多项式g(x),将最后的余数作为CRC校验码。其实现步骤如下:1设待发送的数据块是m位的二进制多项式t(x),生成多项式为r阶的g(x)。在数据块的末尾添加r个0,数据块的长度增加到m+r位。2用生成多项式g(x)去除,求得余数为阶数为r-1的二进制多项式y(x)。此二进制多项式y(x)就是t(x)经过生成多项式g(x)编码的CRC校验码。3将y(x)的尾部加上校验码,得到二进制多项式。就是包含了CRC校验码的待发送字符串。解码过程:从CRC的编码规则|可以看出,CRC编码实际上是将代发送的m位二进制多项式t(x)转换成了可以被g(x)除尽的m+r位二进制多项式所以解码时可以用接收到的数据去除g(x),如果余数位零,则表示传输过程没有错误;如果余数不为零,则在传输过程中肯定存在错误。许多CRC的硬件解码电路就是按这种方式进行检错的。同时,可以看做是由t(x)和CRC校验码的组合,所以解码时将接收到的二进制数据去掉尾部的r位数据,得到的就是原始数据。解码过程示例:

1运行结果:

2附录(实现代码):usingSystem;usingSystem.Collections.Generic;usingSystem.Te|xt;namespaceCRC{publicabstractclassChange{///

///字节数组转进制//////字节数组///字节数组长度publicstaticstringByteToHex(byte[]bytes,intb1)

3{stringreturnStr="";if(bytes!=null){for(inti=0;i///16进制转字节数组//////16进制数publicstaticbyte[]HexToByte(stringhexStr){hexStr=hexStr.Replace("","");if((hexStr.Length%2)!=0)hexStr+="";//空格byte[]bytes=newbyte[hexStr.Length/2];for(inti=0;i///字符串转进制//////字符串///publicstaticstringStrToHex(stringstr){if(str=="")return"";byte[]bTemp=System.Text.Encoding.Default.GetBytes(str);returnByteToHex(bTemp,|bTemp.Length);}///

///16进制转字符串

4//////16进制///publicstaticstringHexToStr(stringstr){byte[]bytes=newbyte[str.Length];bytes=HexToByte(str);returnEncoding.Default.GetString(bytes);}}}namespaceCRC{//哈夫曼树150//结点类Node的定义如下:public|classNode{privateintweight;//结点权值privateintlChild;//左孩子结点privateintrChild;//右孩子结点privateintparent;//父结点//结点权值属性publicintWeight{get{returnweight;}set{weight=value;}}//左孩子结点属性publicintLChild{

5get{returnlChild;}set{lChild=value;}}//右孩子结点属性publicintRChild{get{returnrChild;}set{rChild=va|lue;}}//父结点属性publicintParent{get{returnparent;}set{parent=value;}}//构造器publicNode(){weight=0;lChild=-1;rChild=-1;parent=-1;}//构造器publicNode(intw,intlc,intrc,intp){weight=w;lChild=lc;rChild=rc;parent=p;}}publicclassHuffmanTree{

6privateListdata=newList();//结点数组privateintle|afNum;//叶子结点数目//索引器publicNodethis[intindex]{get{returndata[index];}set{data[index]=value;}}//叶子结点数目属性publicintLeafNumpublicintLeafNum{get{returnleafNum;set{leafNum=value;}}//构造器publicHuffmanTree(){}publicHuffmanTree(List

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

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

当前文档最多预览五页,下载文档查看全文
温馨提示:
1、本文档共8页,下载后即可获取全部内容。
2、此文档《CRC校验实验报告》由用户(巴士用户...)提供并上传付费之前 请先通过免费阅读内容等途径辨别内容,本站所有文档下载所得的收益全部归上传人(卖家)所有:如有侵权或不适当内容,请进行举报或申诉。
3、所有的PPT和DOC文档都被视为“模板”允许上传人保留音节日灵结构的情况下删减部份的内容,下裁前须认直查看,确认无误后再购买。
4、开云手机版APP下载网仅提供信息存储空间,仅对用户上传内容的表现方式做保护外理,无法对各卖家所售文档的直实性,完整性,准确性以及专业性等问题提供审核和保证,请谨慎购买。
5、本站文档的总页数,文档格式和文档大小以系统显示为准(内容中显示页数不一定正确),网站客服只以系统显示页数,文件格式,文档大小作为仲裁依据。

文档提供

发布者:巴士用户...

上传时间:1970-01-01 08:00:00

认证主体:刘*(个人认证)

IP归属:重庆 重庆市

相关标签

文档提供

发布者:巴士用户...

上传时间:1970-01-01 08:00:00

认证主体:刘*(个人认证)

IP归属:重庆 重庆市

相关标签