CRC编码的Simulink仿真实现.docVIP

  • 103
  • 0
  • 约1.07万字
  • 约 21页
  • 2020-02-03 发布于安徽
  • 举报
CRC编码的Simulink仿真实现 第 PAGE 1页 共17页 目录 设计要求求2 1.1基本要求2 1.2提高要求2 1.3功能需求2 第二章 系统的组成及工作原理3 2.1系统组成3 2.2 CRC编码原理3 2.3 通用CRC编码器3 2.4 CRC—N编码器3 2.5 CRC检测器(CRC—N检测器)4 第三章 概要设计5 3.1 系统层次结构图5 3.2 方案的比较5 第四章 详细设计6 4.1 仿真模型图6 4.2 各个模块的功能及参数设置6 第五章 调试及测试结果与分析12 5.1功能调试12 5.2、问题发现及解决13 第六章 设计总结14 参考文献15 附录116 附录217 第一章 设计要求 1.1、设计要求 (1)对输入数据帧,进行CRC编码。根据数据帧长度,选择适当长度的CRC编码器。观察编码前后的波形。 (2)掌握CRC生成多项式、 系统码等概念。 (3)掌握SIMULINK仿真参数的设置方法。 1.2提高要求 从误码率的角度考虑如何根据数据帧长度选择合适的长度的CRC编码器。 1.3功能需求 实现CRC编码以及检测过程,并且在示波器上显示波形。 第二章 系统组成及设计原理 2.1、系统组成 本系统由信源编码部分,信道部分,信宿检测部分组只要组成 2.2、CRC编码原理 在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(X)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式M(X)表示,将C(x)左移R位,则可表示成M(x)*2R,这样C(x)的右边就会空出R位,这就是校验码的位置。通过M(x)*2R除以生成多项式G(x)得到的余数就是校验码。 2.3、通用CRC编码器 通用CRC编码器根据输入的一帧数据计算得到这帧数据的循环冗余码,并且把这个循环冗余码附加到帧数据后面,形成输出数据流。如果通用CRC编码器的输人数据的帧长度等于凡,生成多项式的最高次数等于r,对每帧数据产生k个校验和(CHECKSUM),则CRC编码器的工作流程如下: (1)把输入的一帧数据等分成k个部分,每个部分的长度是n/k; (2)在每个部分的数据 。后面添加r个二进制位(并且这r个二进制位的数值等于通用CRC编码器的初始状态),得到二进制序列S ; (3)计算5 的循环冗余码Ci; (4)把循环冗余码Ci添加到Wi的后面,得到二进制序列; (5)把所有的序列连接起来形成数据帧。 2.4、CRC—N编码器 CRC—N编码器(CRC—N Generator)计算每一个输入信号帧的循环冗余码(CRC),并把计算得到的循环冗余码附加到输入帧的末尾。CRC—N编码器是通用CRC编码器的简化,它的工作方式与通用CRC编码器类似,但是它提供了若干个经常使用的生成多项式,Ⅳ就表示这些生成多项式的最高次数。 2.5、CRC检测器(CRC—N检测器) 与通用CRC生成器、CRC—N生成器相对应,CRC检测器也有两种:即通用户CRC检测器与CRC一Ⅳ检测器。这两种检测器具有相同的工作原理,它们首先从接收到的二进制序列中分离出信息序列和CRC,然后根据接收端的信息序列重新计算CRC。如果重新计算得到的CRC与接收到的CRC相等,则认为接收序列是正确的;否则,则认为接收序列存在着传输错误。 第三章 概要设计 3.1、系统层次结构图 生成二进制序列 生成二进制序列 进行CRC编码 信道传播 进行CRC检测 计算误码率 选择合适长度的成多项式是误码率最小 3.2、方案的比较 方案一:使用Simulink自带的模块进行搭配,设置参数并仿真 CRC码的仿真模型主要由Bernoulli BinaryGenerator(贝努利二进制序列生成器模块),,CRC—N Generator(CRC—N生成器)和CRC—N Syndrome Detector(CRC—N检测器)等模块组成。通过设计各个模块的参数就可以得到仿真结果。 方案二:使用C语言编写S函数并进行仿真。 通过Simulink中的S函数也可以得到同样的仿真结果。与CRC码仿真实现对应的是一个离散状态的s函数,其输入模块为Bernoulli BinaryGnerator模块,通过

文档评论(0)

1亿VIP精品文档

相关文档