计算机通信课设..docVIP

  • 5
  • 0
  • 约1.06万字
  • 约 17页
  • 2019-01-14 发布于湖北
  • 举报
摘要 差错控制在数据通信过程中能发现或纠正差错,把差错限制在尽可能小的允许范围内的技术和方法,当信号在物理信道中传输时,线路本身电气特性造成的随机噪声、信号幅度的衰减、频率和相位的畸变、电气信号在线路上产生反射造成的回音效应、相邻线路间的干扰以及各种外界因素都会造成信号的失真,由此,在数据通信中,将会使接收端收到的二进制数位和发送端实际发送的二进制位不一致,从而造成由“0”变成“1”或由“1”变成“0”的差错。 本设计研究了CRC循环冗余校验码的原理,以及利用MATLAB对CRC-16码进行了编程和编译仿真,实现了CRC循环冗余校验码的编码及校验,在接收端收到通过校验的本课程设计主要研究线性分组码CRC(循环冗余校验码)的编译码的设计和仿真,在实际的通信系统中,由于信道传输特性不理想以及加性噪声的影响,传输的信息中不可避免地会发生错误,影响通信系统的传输可靠性。随着数字通信码,从而确定传输过程是否出错,得到的结论和理论上是一致的。 关键词:CRC、编码、译码 第1章 前言 循环冗余校验码CRC(Cyclical Redundancy Checking)是目前通信系统中最常用的一种差错控制编码。循环冗余校验码是一种高效率且可靠的方法, 由线性分组码分支而来的, 是一种通过多项式除法检测错误的很不寻常而又巧妙的方法, 一方面它有很强的检测能力, 二是它的编码器电路及错误检测器电路都很容易实现, 它的优点使它在通信系统中得到了广泛的应用。利用CRC进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数,然后发送出去。在接收端根据信息码和CRC码之间所遵循的规则进行检验,一旦传输过程中发生差错,则信息码元与监督码元之间的关系遭到破坏,从而可以发现错误,乃至纠正错误。CRC校验采用多项式编码方法,被处理的数据块表示为一个二进制多项式。 本次课设使用的是MATLAB语言软件进行设计与仿真。MATLAB语言是一种计算机程序设计语言。主要适用于矩阵运算及控制和信息处理领域的分析设计。它使用方便、输入简捷、运算高效、内容丰富,并且很容易由用户自行扩展,因此,它的应用范围广泛,是当前已成为教学和科研中最常用而必不可少的工具。 第2章 循环冗余校验码CRC的基本原理 2.1 循环冗余校验码CRC的介绍 在计算机通信中用得最广泛的检错码是一种漏检率低得多也便于实现的循环冗余校验码CRC(Cyclical Redundancy Checking)又称多项式码。这是因为,任何一个由二进制串组成的代码,都可以唯一的与一个只含有0和1两个系数的多项式建立一一对应的关系。一个位帧可以看成是从到的次多项式的系数序列,这个多项式的阶数为,高位(最左边)是项的系数,下一位是的系数,以此类推。例如,代码1010111对应的多项式为,同样,多项式对应的代码为101111。 CRC校验的基本思想是利用线性编码理论,在发送端根据要传送一个比特的帧或者报文,发送器生成一个比特的序列,称为帧检验序列(FCS)。这样所形成的帧将由比特组成。这个帧刚好能被某个预先确定的数整除。接收器用相同的数去除外来的帧,如果无余数,则认为无差错。 循环冗余校验码与奇偶校验码不同,后者是字符校验一次,而前者是字符串校验一次。在同步串行通信中,几乎都是用这种校验方法。 一个n位的循环码是由k位信息位加上r位校验位组成的,其中r=n-k。如图1所示。 k位 r位(r=n-k) 信息位 校验位(CRC校验) k位 r位(r=n-k) 信息位 校验位(CRC校验) 图1 n位循环码 通常把这样的新组成的二进制位序列叫做循环冗余码(CRC)。表征CRC码 的多项式叫生成多项式。K位二进制数加上r位CRC码后,即信息位要向左移 (n-r)位,这相当于B(X)乘以X^rB(X)被生成多项式除,得整数多项式加上余数多项式。 由以上分析可知,CRC校验的关键是如何求出余数,此余数即为校验码(CRC校验码)。以前通常用数字电路来实现,而现在用计算机来完成。 2.2 循环冗余校验码(CRC)原理 循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CR

文档评论(0)

1亿VIP精品文档

相关文档