CRC编码实验实验报告.docxVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验三CRC编码实验实验报告

班级:通信162班

姓名:李浩坤学号:163977

实验名称:CRC编码实验实验日期:6.7

实验目的

1、复习matlab的基本编写方法。

2、学习CRC编码基本流程,学会调试循环冗余校验码编码程序。

3、根据给出的资料,掌握CRC校验码的编码原理。

实验原理及内容

原理:

1.CRC码简介:

循环冗余码校验英文名称为CyclicalRedundancyCheck,简称CRC,它是利用除法及余数的原理来作错误侦测(ErrorDetecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。

2.循环冗余校验码(CRC)的基本原理:

在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。

几个需要提前了解的基本概念:

1)、多项式与二进制数码?

多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:x的最高幂次为R,转换成对应的二进制数有R+1位。?

多项式包括生成多项式G(x)和信息多项式C(x)。?

如生成多项式为G(x)=x^4+x^3+x+1,可转换为二进制数码11011。?

而发送信息位1111,可转换为数据多项式为C(x)=x^3+x^2+x+1。?

2)、生成多项式?

是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。?

在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。?

应满足以下条件:?

a、生成多项式的最高位和最低位必须为1。?

b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模2除后应该使余数不为0。?

c、不同位发生错误时,应该使余数不同。?

d、对余数继续做模2除,应使余数循环。

3)、模2除(按位除)?

模2除做法与算术除法类似,但每一位除(减)的结果不影响其它位,即不向上一位借位。所以实际上就是异或。然后再移位移位做下一位的模2减。步骤如下:?

a、用除数对被除数最高几位做模2减,没有借位。?

b、除数右移一位,若余数最高位为1,商为1,并对余数做模2减。若余数最高位为0,商为0,除数继续右移一位。?

c、一直做到余数的位数小于除数时,该余数就是最终余数。

实验步骤

1.了解crc编码原理,分析理解检验crc程序的含义。

2.运行mycrc编码程序,观察结果,计算验证程序是否正确。

3.完成练习题。

实验结果分析

练习题:

1.选择CRC的生成多项式为G(X)=X4+X3+1.求二进制序CRC校验码。

要求:

1)将计算过程写在实验报告中

2)用程序验证结果正确性

解:

1)—————商

————————————

101100110000————————被除数

11001———————除数

————

11110

1001

————

11111

11001

————

000100——————余数

2)

input=[10110011];crc_no=4;

k=size(input,2);

generator=zeros(1,crc_no+1);

output=zeros(1,k+crc_no);

generator=[11001];%D^4+D^3+1

output(1:k)=input;

forii=1:k

if(output(1)==1)

output(1:crc_no+1)=mod((output(1:crc_no+1)+generator),2);

end

output=[output(2:end)output(1)];

end

output=[inputoutput(1:crc_no)];

n=size(input,2);

output=input(1:n-crc_no);

forii=1:n-crc_no

if(input(1)==1)

input(1:crc_n

文档评论(0)

181****8468 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档