CRC编码器的设计

CRC编码器的设计

ID:47039971

大小:746.00 KB

页数:25页

时间:2019-07-05

CRC编码器的设计_第1页
CRC编码器的设计_第2页
CRC编码器的设计_第3页
CRC编码器的设计_第4页
CRC编码器的设计_第5页
资源描述:

《CRC编码器的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、目录一、设计目的:3二、设计要求3三、CRC循环冗余校验简介3四、CRC的编码原理3五、CRC校验原理6(1)CRC码的检错方法6(2)模2除法器6(3)校验位的生成7(4)CRC码的纠错8(5)生成多项式的选取8六、设计方案8(1)采用标准8(2)系统结构设计9(3)模块代码11七、波形结果25八、心得及体会25(1)关于CRC的了解25(2)关于期待的改进26(3)课程设计总结26九、参考文献:26CRC编码器的设计一、设计目的:掌握CRC的编码原理及作用,并进行设计。二、设计要求1、阐述CRC的编码原理及作用2、基于VHDL语言实现CRC的编码3、写出详细的设计报

2、告(不少于5000字)三、CRC循环冗余校验简介循环冗余校验(CRC)是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。而且CRC码是目前通信系统中最常用的一种差错控制编码,利用其进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码,附在原始信息后边,构成一个新的二进制码序列数,然后发送出去。在接收端根据信息码和CRC码之间所遵循的规则进行检验,一旦传输过

3、程中发生差错,则信息码元与监督码元之间的关系遭到破坏,从而可以发现错误,乃至纠正错误。四、CRC的编码原理循环冗余校验码(cyclicredundancycheck,CRC)简称为循环码或CRC码。二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC码常用于串行传送过程中的检错与纠错。CRC码由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码。其中任意一个二进制位码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为,而多项式为对应的代码101111。由上可以看出,CRC多项式是线性结构,可以非常容易地故意

4、改变量据而维持CRC不变。所以尽管在错误检测中非常有用,CRC并不能可靠地校验数据完整性。CRC码的编码格式如图4.1所示,是在k位有效数据之后添加r位校验码,形成总长度为n的CRC码,简写作C(n,k)码。CRC编码的关键技术在于如何从k位信息简便的得到r位校验码,并根据总长度为n的CRC码进行纠错。图4.1设被校验的数据是一个k位的二进制代码,将它表示为一个(k-1)阶的多项式(1-1)多项式(1-1)中的系数D的取值为0或1,与被校验的数据M一一对应;式中的x是一个伪变量,用指明各位的位置。设校验码P长度为r,将被校验数据D左移r位后的结果为将D左移r位的目的是给

5、D右边添加r个0,形成(k+r)位长度二进制代码,其多项式形式为M(x)×。如图4.1所示,CRC码由k位数据D和r位校验码P组成,求校验码P的多项式R(X)的方法如下: (4-2)Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码P。可以证明存在一个最高次幂为n-k=r的多项式G(x),即式(4-2)中G(x),称为生成多项式。由式(4-2)可以推导出(4-3)由式(4-3)可知,CRC码可被G(x)整除,余数必然为0.。根据这一特性,接收方将收到的CRC码被G(x)除,若余数为0,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的关

6、系,可利用余数对错误码进行定位。因此,接收方可根据表4.1发现并纠正1位错。Q6Q5Q4Q3Q2Q1Q0余数出错位正确1100010000无错误1100011001Q01100000010Q11100110100Q21101010011Q31110010110Q41000010111Q50100010101Q6表4.1循环校验码的出错模式对于其验证码,它的编码规则是,如果CRC码共长个bit,信息码长个bit,就称为码:1、首先将原信息码(bit)左移位();2、运用一个生成多项式(也可看成二进制数)用模2除上面的式子,得到的余数就是利用生成多项式生成CRC校验码。而在

7、构建一个新的CRC多项式或者改进现有的CRC时,一个通用的数学原则是使用满足所有模运算不可分解多项式约束条件的多项式。这种情况下的不可分解是指多项式除了与它自身之外不能被任何其它的多项式整除。如果CRC有多于一个的非零系数,那么CRC能够检查出输入消息中的所有单数据位错误。同时其也可以用于检测短于的输入消息中的所有双位错误,其中是多项式的最长的不可分解部分的长度。另外,如果多项式可以被整除,那么不存在可以被它整除的有奇数个非零系数的多项式。因此,它可以用来检测输入消息中的奇数个错误,就像奇偶校验函数那样。三、CRC校验原理(1)CRC码的

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

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

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