CRC校验码系统设计.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南华大学电气工程学院

《通信原理课程设计》

设计题目: CRC校验码系统设计

专业:通信工程

学生姓名: 学号

起迄日期:2015年4月30日—2015年5月15日指导教师:

系主任:

目录

1概要 (3)

1.1 循环码的介绍 (3)

1.2校验原理 (3)

2 MATLAB基本介绍 (5)

2.1 MATLAB的介绍 (5)

2.2 MATLAB的组成部分 (5)

2.3 MATLAB的特点 (5)

2.4 MATLAB的优势 (6)

3 设计原理 (6)

3.1编码器模块 (6)

3.2译码器模块 (7)

4 设计思想 (9)

4.1程序流程图 (9)

5 CRC编解码系统的设计及实现 (10)

5.1程序设计 (10)

5.2系统仿真 (12)

6 总结......................................................................................... 错误!未定义书签。参考文献..................................................................................... 错误!未定义书签。

摘要

CRC(Cyclical Redundancy Checking)循环冗余校验码是一种重要的

线性分组码,通过多项式除法检测错误,是在数据通信和数据检测中广泛

应用的检错校验的循环码。

本设计研究了CRC循环冗余校验码的原理,以及利用C语言对其进行了编程和编译仿真,实现了CRC循环冗余校验码的编码及校验,在接收端收到通过校验的码,从而确定传输过程是否出错,得到的结论和理论上是一致的。在本次计中,使用的系统开发平台为MATLAB。设计方案中,实现了编码,纠错,译码。从循环的原理出发,讨论循环码编译码系统的特点。以一个(15,11)循环码的编译码的设计与仿真为例 ,使用C语言对该系统进行了设计。

关键词: MATLAB;C语言 ;CRC循环冗余校验码

1.概要

1.1循环码的介绍

随着计算机通信的日益发展 ,传输数据的场合越来越多。串行数据的

差错检验是保证数据传输正确的必要手段 ,而循环码是差错码中最常用的

一种编码。

循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。

循环码是线性分组码中最重要的一种子类 ,它除了具有分组码的线

性外 ,还具有循环性 ,其码字结构一般用符号( n , k)表示 ,其中 , n 是

该码组中的码元数 , k 是信息码元位数 , r = n - k 是监督码元位数[1 ]。

循环码具有许多特殊的代数性质 ,这些性质有助于按照要求的纠错能力系

统地构造这类码 ,能简化译码算法 ,并且目前发现的大部分线性码与循环

码有密切关系。

已有循环码编译码系统大多以标准逻辑器件(如中小规模 TTL 系列、

CMOS系列)按传统数字系统设计方法设计而成 ,其主要缺点是逻辑规模小、

功耗大、可靠性低。

随着大规模、超大规模集成电路的发展 ,以及电子设计自化水平的提

高 ,这种制约正在被逐渐消除。

1.2 校验原理

1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。

2、生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4 +x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。

3、CRC码集选择的原则:若设码字长度为N,信息字段为K位,校验字段为R位(N =K+R),则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x),使得

V(x)=A(x)g(x)=x R m(x)+r(x);

其中: m(x)为K次信息多项式, r(x)为R-1次校验多项式,

g(x)称为生成多项式:

g(x)=g

0+g

1

x+g

2

x2+...+g

(R-1)

x(R-1)+g

R

x R

发送方通过指定的g(x)产生CRC码字,接收方则通过该g(x)来验证收到的CRC码字。

4、CRC校验码软件生成方法:

借助于多项式除法,其余数为校验字段。

例如:信息字段代码为: 1011001;对应m(x)=x6+x4+x3+1

假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为: 11001

x4m(x)=x10+x8+x7+x4对应的代码记为:10110010000;

采用多项式除法: 得余数为: 1010 (即校验字段为:1010)

发送方:发出的传输字段为: 1 0 1 1 0 0 1 1 0 10

信息字段校验字段

接收方:使用相同的生成码进行校验:接收到的字段/生成码(二进制除法)

如果能够除尽,则正确。

相关文档
最新文档