循环冗余校验码和卷积码的性能仿真.docVIP

  • 14
  • 0
  • 约5.38千字
  • 约 10页
  • 2016-11-29 发布于重庆
  • 举报

循环冗余校验码和卷积码的性能仿真.doc

循环冗余校验码和卷积码的性能仿真

综合性设计性实验报告 业: 学 号: 姓 名: 实验所属课程: 实验室(中心): 软件与通信实验中心 指 导 教 师 : 2 教师评阅意见: 签名: 年 月 日 实验成绩: 一、题目 二、仿真要求要求一: 要求二: 三、仿真方案详细设计 1、循环冗余校验码CRC即循环冗余(Cyclic Redundancy Check),它是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定,在早期的通信中应用很广泛CRC码由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,就称为(n,k)码。 它的编码规则如下: 1.移位 将原信息码(kbit)左移r位(k+r=n) 2.相除 运用一个生成多项式g(x)(也可看成二进制数)用模2除上面的式子,得到的余数就是校验码。其中,模2除就是在除的过程中用模2加,模2加实际上就是我们熟悉的异或运算,就是加法不考虑进位。有了加减法就可以用来定义模2除法,于是就可以用生成多项式g(x)生成CRC校验码。 CRC码生成后就是校验,接收方将整个数据串当作一个整体去除以用来产生循环冗余校验余数的同一个除数。如果数据串无差错地到达接收方,循环冗余校验器将产生余数0。因此数据单元将通过检验。如果在传输中数据单元被改变,除法将产生非零余数,因此数据单元将通不过检验。2、卷积码 在分组码中,把k个信息比特序列编成n个比特的码组,每个码组中的(n-k)个校验位仅与本码组的k个信息位有关而与其它码组无关。为了达到一定的纠错能力和编码效率,分组码的码组长度一般比较大。编译码时必须把整个信息码组存储起来,由此产生的译码延迟会随着n的增加而增加。和分组码不同,卷积码前后各码之间具有相关性,即卷积码编码后的n个码元不仅与当前段的k个信息有关,而且还与前面(N-1)(N为编码约束度)段的信息有关。在卷积码中,k个信息比特也被编成n个比特的码组,但k和n通常很小,并且可以通过串行或并行的方式进行传输,而且时延很小。编码过程中互相关联的码元个数为Nn。 由于卷积码在编码过程中,充分地利用?各码组之间的相关性,且k和n都比较小,因此,在与分组码同样的码率和设备复杂性条件下,从理论和实际两个方面,均已证明卷积码的性能至少不比分组码差,且实现最佳和准最佳也较分组码容易。其编码的当前输出v(l)不仅与当前输入消息u(l)相关,还与此去前输入的m个消息u(l-1),…,u(l-m)相关,即v(l)=f(u(l),u(l-1),…,u(l-m)),?l=0,1,2…? 卷积编码电路中移位寄存器初态可设定为全0,电路为按段工作方式,即对每段k比特输出入,产生一段n比特输出。任意一输入段u(l-h)与输出v(l)的关系都是一个特殊的(n,k)线性分组码的编码关系,即存在k?n的二元矩阵Gh,使得? ???v(l)=u(l-h)*Gh,??h=0,1,2,…,m? 因此对于消息段序列u=(u(0),u(1),…,u(m),u(m+1),…),相应的输出端序列为v=(v(0),v(1),…,v(m),v(m+1),…),并满足: v(0)=u(0)G0?? v(1)=u(0)G1+u(1)G0 v(m)=u(0)Gm+u(1)Gm-1+…+u(m-1)G1+u(m)G0????????? v(m+1)=u(1)Gm+u(2)Gm-1…+u(m)G1+u(m+1)G0? 卷积编码电路在按段工作方式下只需存储或者记忆m段的消息输入,电路中输入移位寄存器最多只有m*k个有效的寄存器单元,而输出移位寄存器仅起一个并串转换作用。 四、仿真结果及结论 仿真图如下: 本次仿真实验环境下进行编程从而完成了。通过编码和仿真,进行卷积码编码的误码率相比进行了卷积编码的误码率要高进行卷积码编码的率比进行了卷积编码的误率要高五、总结与体会 RC码和卷积码的性能仿真,通过编码,我进一步学习和掌握了有关CRC的原理以及卷积码的知识,对整个通信过程的编码和调制解调过程有了更深刻的理解,同时也加深了对纠错技术的认识。在进行仿真实验时,我通过查阅相关资料,既复习了有关知识,也在一定程度上拓宽了我的视野。 六、主要仿真代码 clear all; clc; EsNodB=0:10; N_block=4000; N_bits=64;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档