循环码编译码器的仿真与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
码输出为:1100101,输入的码元为110是信息位,余数为0101就是监
督位。如当输入信息m(x户00l时.m惮()【+1),则c(x)=O【+1)o(.+x2+X+1)
=x5+x2+x+1.对应二进制码元为010011l。这样从000到111任何一组 信息位都可以有相应的码元对应,即构成了CRC的编码o
本文读者也读过(4条) 1. 董介春.李学桂 基于VHDL语言的循环码编译码系统的设计[期刊论文]-青岛大学学报(自然科学版)2003,16(4) 2. 尹震宇.赵海.孙佩刚.林恺.罗玎玎.YIN Zhen-yu.ZHAO Hai.SUN Pei-gang.LIN Kai.LUO Ding-ding 一种并行数 据输入的循环冗余校验码算法设计[期刊论文]-计算机工程与应用2006,42(27) 3. 刘嘉湘.殷伟伟.LIU Jiaxiang.YIN Weiwei 一种新的循环码编译码设计[期刊论文]-电脑编程技巧与维护 2010(4) 4. 赵华.殷奎喜 (15,7)BCH码编译码器的VHDL设计[期刊论文]-现代电子技术2004,27(20)
融技信息
计算机与网络
循t)IliB编i艾.15器的仿真与实坝
陕西理工学院电信工程系 魏瑞
[擅要】循环冗余校验码(cRc)就是一种被广泛采用的错误检验编码。本丈介绍了cRcf7,3)的编译码器的设计思想,利用VHDL 语言设计出cRcg,3)编译码器并通过MAX+PLUSiI仿真平台对其进行了仿真验证,仿真结果表明采用此方法实现的编译码器具 有速度快、--rt性高以及易于大规模集成的优点。 【关键词]循环冗余校验码仿真 缟译码器
图I编码器输出波形 3.2译码器输出结果 同编码器一样,先将程序用VHDL硬件描述语言设计好的编码器 源程序输入MAX+PLUSⅡ软件的文本编辑框内,经检查无误后将顶层 文件设计成为proiect,然后对译码器进行波形仿真。仿真结果表明.没 有出错的码元译码结果.差错图样为0000000。译码器仿真的波形如图 2所示:
2.译码器的设计思想 (7,3)码町以检错3位,但只能纠错l位,原因是译码器所能检错的 位e和能纠错的位数t与码距(把两个码组中对应位上数字不同的位数 称为码组的距离)tl有着必然的联系,那就是d≥e+l,d≥2t+l。如果要纠 正t个错码,同时检测e个错码。要求最小码距d≥e+t+l(e>t)o译码器, 它应具有对输入码组的译码功能,而CRC译码器的功能比普通的译码 器功能要复杂一些。它在译码的过程中不但要能对输入的码进行检错 而且还要能对其进行纠错,具体做法是这样的: 首先,让输入码组去除一个四位的事先规定好了的生成多项式系 数10111,得到一个余式,若这个余式为零,则说明输入码组无错,否则 就是有错。其次.假设用一个7位的码去与输入码组对应。(这个7位码 就是错误图样),若输入码组的某一位出错.则错误图样与之对应的那 一位就为l,由于通过计算所得的余式与输入码组的错误位有一一对应 关系,则输入码组的错误位与错误图样也有一一对应关系如表1所示:
表1余式和差错图样的关系
余式错误图样错误位置 余式错误图样错误位置
0000
0000000无错误
wenku.baidu.com
lO∞0001000

0000
0000000

0l∞0000100

11IO
0100000
as
0010
00000lO
al
1110
0100000

0(mⅨ)0000l

一222一 万方数据
最后,用计算所得的错误图样与输入码组进行模2加,即就是异 或,则可以得到已经纠错了的码组。
(2)将m(x)Xn—k除以出),得余式心。
(3)得系统循环码的码多项式C(x)=m(x)Xn-k+r(x)。 对于(7。3)循环码。若选用g【x)=x4+X2+X+l,信息码110时,则:
芏2g黑【xJ崆:。r婪+冉!二x+。l:’O“x+l卜。r+萼卅量x—+l_
上式写成二进制的形式…相当于一,1 11000110010=lll+{:等,这时的编
魏瑞 陕西理工学院电信工程系
科技信息 SCIENCE & TECHNOLOGY INFORMATION 2010(26)
参考文献(6条) 1.樊昌信;曹丽娜 通信原理 2006 2.潘松;黄继业 EDA技术实用教程 2006 3.孙学军 通信原理 2007 4.李宗豪 基本通信原理 2007 5.C.E.Shannon A Mathematical Theory of Communication 1948(27) 6.R.Hamming Error detecting and error correcting codes 1950
图2译码器的波形
结束语 本文叙述了cRCr7,3)编译码器的设计思想利用仿真工具设计出了 cnc(7,3)编译码器.并在仿真平台上对其进行了仿真。从仿真结果证明 了,(7。3)码可以检错3位,但只能纠错1位的特点,达到了预期的效 果。
参考文献
[1]樊昌信。t丽娜.通信原理(第六版)[M].|b京:国防工业出版
引曹 信息传送中,广泛采用循环冗余校验码CRC(cyclical redundancy check),它是线性分组码的一个重要子集,它是为了保证通信系统中的 数据传输可靠性而采取的信道编码技术。CRC码除了具有分组码的线 性外,还具有循环性,其码字一般用符号(n,k)表示.其中,n是该码组中 的码元数,k是信息码位数,rmll—k是监督码元位数。循环码具有许多特 殊的代数性质,这些性质有助于按照要求的纠错能力系统构造这类码. 并能相应的简化译码算法。目前应用的CRC编码器和译码器主要由硬 件电路实现,可以保证编码和译码的快速性和实时性但缺点是系统复 杂,可维护性差。 1.编码器的设计思想 本次设计的循环码是CRC(7,3),若以()“1)的某(n—k)次因式作为(n, k)循环码生成多项式,则可选取的因式次数有l,3,4,6次。现在要构成 (7,3)循环码,即n—k--4的因式有()(+1)()【3+X2+I)或()(+1)(x3+X+1)两个, 任选其中—个都可以产生—个循环码集。在编码中选取g(x)=x4+x2+X+l。 写成二进制的形式为lolll。生成多项式在编码过程中起.了重要的作 用。一般选择的生成多项式不同,则最终得到的编码结果也会不同,即 信息位后面所附带的监督码元是不相同的。 一般循环码编码的方法步骤如下: (1)将信息多项式m(x)乘以Xn—k,即右移(rI-k)位。
d‘姐咖and Sy对.Thce.J.,1948(27):379—423. [6]R.Hamming.Error
eliot c0旺ecdng cod嚣[j].mll
SyscTochJ.,1950。VoL29:147—160.
循环码编译码器的仿真与实现
作者: 作者单位: 刊名:
英文刊名: 年,卷(期):
社。2006.
[2]潘松,黄继业.EDA技术实用教程(g"m)EM].北京:科学出版
社.2006.
[3]孙学军.通信原理(第二版)[M].|E京:电子工业出版社,2007.
[4]李宗豪.基本通信原理[M].北京:北京邮电大学出版社.2007.

[5]c.E.Shannon.A Mathematical TheoW of Communication[J].Bell
引用本文格式:魏瑞 循环码编译码器的仿真与实现[期刊论文]-科技信息 2010(26)
3.仿真与实现 3.1编码器仿真测试 将用VHDL硬件描述语言设计好的编码器源程序输入MAX+PLUS Ⅱ软件的文本编辑框内,经检查无误后将顶层文件设计成为project, 然后进行仿真。进行波形仿真之前,设置好end time并按照需要在输 入端加上应该有的输入和输出端。在设置CLK时钟信号设置为100ns左 右为宜,如果设置太大或者太小都会影响波形图的结果。分别输入000, 001,010。01l,100,101,llO,111,则经过编码器后输出与之对应的8个7· 位CRC码,0000000,0010111,0101110,011100l,100101l,1011100, 1100101,1110010。仿真结果表明。输入一位信息位就对应一个编码,仿 真波形如图l所示:
相关文档
最新文档