当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]RS纠错编码是目前最有效、应用最广泛的差错控制编码之一,是一种纠错能力很强的多进制BCH码,也是一类典型的代数几何码。它是由里德(Reed)和索洛蒙(Solomon)应用MS多项式于

RS纠错编码是目前最有效、应用最广泛的差错控制编码之一,是一种纠错能力很强的多进制BCH码,也是一类典型的代数几何码。它是由里德(Reed)和索洛蒙(Solomon)应用MS多项式于1960年首先构造出来的。

RS码被广泛用于差错控制系统中,以提高数据的可靠性,而且可以用来构造其他码类,如级联码。在无线通信、卫星通信、磁或光存储以及网络通信中RS码也有较为广泛的应用。RS码不仅具有良好的随机纠错和突发纠错能力,而且有低复杂度的编译码算法,因此被国际电信联盟(ITU)推荐为光纤子系统的前向纠错(FEC)码。RS(225,223)码被CCSDS选为常规分包遥测信道纠错编码和高级在轨系统前向和反向链路的纠错编码,是实现CCSDS标准低差错率信道纠错编码的关键部件。只要每个码字(255个符号)中出现的错误不超过16个符号,它就能将其纠正。

近年来,关于RS(255,223)码译码器实现的算法得到了广泛的关注,但是这些算法的实现速度都不太快,即便有速度稍高的,其占用硬件资源也较多,而一些占用硬件资源较少的算法速度却很慢。本文采用基于ME算法的8倍并行设计方案,结合流水线技术,克服了上述算法的缺陷,利用尽可能少的硬件资源获得了极高的译码速度。

1RS(255,223)码及其译码原理

1.1RS(255,223)码

因其码元取自GF(q),RS编解码过程中的所有运算都是在GF(q)的有限域上面进行。RS(n,k)码的编码过程是将k个输入信息码字,用生成多项式产生(n,k)个冗余的纠错信息码字,与原码字合成形成n个信息码字进行传输。译码是在接收端,对接收的n个码字信息进行纠错处理,恢复k个信息码字。对于1个长度为am-1符号的RS码,每个码字都可以看成是有限域GF(am)中的1个元素。最小码距为d的码字,其RS码生成多项式具有如下形式:

 

其中ai是GF(am)中的1个元素。

对于RS(255,223)码而言,q=256,a=2,码字符号在GF(28)中。m=8,是每个RS符号的码元数;n=28-1,是每个RS码字的符号数;k=223,是RS码中信息位的符号数;t=16,是RS码字内符号的纠错能力;d=33,是最小码距。

1.2RS(255,223)码译码原理

由于RS码为分组码,故其译码算法主要由伴随式计算、关键方程求解和钱搜索和Forney算法3部分构成,译码器结构如图1所示。

 


首先,根据接收码字乘以校验矩阵得到其伴随多项式,对于RS(225,223)码,其伴随式求解式可以表示为:

 

求得伴随式以后,则利用伴随多项式求解关键方程:错误位置多项式σ(x)和错误特征多项式ω(x),如下所示:

 

求解关键方程现可采用的算法主要有BM(Belekamp-Messey)算法和ME(ModifiedEuclidean)算法。之后便得到错误位置多项式σ(x)与错误特征多项式ω(x)。

此后,由错误位置多项式与错误特征多项式来求得错误位置与错误值。求解错误位置本设计采用穷举算法――钱搜索算法来完成。同时,使用Forney公式求得错误值。最后,用延时后的接收值减去错误值,得到最后的译码输出。Forney公式可以表示为:

 

其中,ei代表发生在i位置上的错误值,σodd(x)代表错误位置多项式奇数次项之和。

2并行流水结构方案

本设计采用8倍并行流水方案。将255个码元8倍并行后,只需要32个周期便完成所有32个伴随多项式系数的求解。然后将32个伴随多项式系数顺序输出到下一级,在此基础上采用流水线结构,周期刚好满足且不会浪费资源。本设计中所有乘法器都是采用GF(28)有限域乘法器。

2.1伴随式计算

8倍并行伴随多项式的求解算法,是在迭代算法的基础上展开实现,其推导过程如下:

 


式(6)中,R255=0;i=1,2,…,2t-1,2t。其电路结构如图2所示。

 


2.2关键方程求解

本设计中关键方程的求解采用ME算法。BM算法具有反馈结构,不适合使用流水结构,而ME算法可采用流水结构。其算法描述如下:

 

其中,S(x)为输入的伴随多项式。

ME算法为1种迭代算法,目的在于求i阶余式Ri(x),相应的多项式ri(x)与Li(x)满足:

ri(x)A(x)+Li(x)S(x)=Ri(x)(8)

当i阶余式Ri(x)的阶数小于t时,迭代算法结束。算法结束时的Ri(x)即为错误特征多项式ω(x),而Li(x)即为所求的错误位置多项式δ(x)。

ME算法在每一次迭代时进行的运算为:

 


具体推导请见参考文献[8-9]。

单级迭代电路结构如图3所示。

 

[!--empirenews.page--]

由ME算法推导可知,使用脉动电路结构实现ME算法时,至多使用2级迭代电路即可降低R(x)多项式阶数1阶。因此,脉动电路结构采用32阶流水结构电路即可保证迭代算法完成收敛得到最后结果。电路结构如图4所示。

2.3钱搜索和Forney算法

钱搜索模块接收KES模块的错误位置多项式信号δ(x),利用钱搜索算法逐个检查符号位是否发生错误,输出错误位置和错误位置多项式的奇数项之和,供EE模块计算错误图案和纠错。

设错误位置多项式δ(x)可以表达为奇数项和偶数项之和:

 


并行钱搜索电路子结构如图5所示。图中m表示并行模块编号数,m=1,2,…,8。所有的乘法器均是常数乘法器,8倍并行结构由图5所示的8个同样的结构组成。

 


EE(错误值计算)模块根据CS模块输出的δodd(x)以及KES模块输出的ω(x)计算出错误图案。

 

EE模块需要求解w(ai),电路结构推导过程和求解δ(ai)的过程一样,电路结构也基本相同,这里不再累述。

3仿真验证与综合

上述译码器采用自顶向下的设计流程划分模块,用VerilogHDL完成RTL代码的编写,然后在Mentor公司的ModelSimSE6.1b仿真验证工具下编写测试代码进行仿真验证。仿真结果如图6所示,译码器能正确实现译码功能。

 


因本译码器可纠正16个错误,超过16个错误便不可纠正,在仿真时译码输入样本采用了2种:一种样本不超过16个错误,另一种样本超过16个错误。仿真结果表明,此译码器能在不超过16个错误的样本下正常译码。

译码器在QuartusII8.0上进行综合和优化,采用Altera公司Cyclone系列的EP2C15AF256C8芯片为目标器件。译码器的工作时钟频率可达85MHz,数据吞吐率可达5440Mb/s,占用逻辑单元数为13947个(片内共14448,占用率为97%),RAM占用16698位(片内共239616位,占用率为7%)。译码器性能对比如表1所列。

 


与参考文献[4]相比,由于本译码器采用了并行结构在增加了不到3倍的硬件资源的情况下,吞吐率时钟比(吞吐率/时钟)提高了8倍,而且缩短了3/4的泽码延迟。与参考文献[5]相比,本文所采用的译码器增加了不到3倍的硬件资源,提高了8倍的吞吐率时钟比。由于参考文献[5]采用串行译码结构,本文所采用的并行流水译码结构较串行译码结构缩减了19/20的译码延迟。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和显示译码两类。 变量译码器一般是一种较少输入变为较多输出的器件,常见的有n线-2^n线译码和8421BCD码译码两类;显示译码器用来将二进...

关键字: 译码器 器件 LCD

译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和显示译码两类。 变量译码器一般是一种较少输入变为较多输出的器件,常见的有n线-2^n线译码和8421BCD码译码两类;显示译码器用来将二进...

关键字: 译码器 LCD LED

通过信道编码器和译码器实现的用于提高信道可靠性的理论和方法。信息论的内容之一。信道编码大致分为两类 :①信道编码定理,从理论上解决理想编码器、译码器的存在性问题,也就是解决信道能传送的最大信息率的可能性和超过这个最大值时...

关键字: 信道 编码器 译码器

光立方由若干个二极管led灯以立方体形式搭建,4*4*4、8*8*8、16*16*16甚至更多,又由单片机、锁存器、译码器等电器元件驱动,形成立体动画效果。其中8*8*8光立方最为常见。

关键字: 光立方原理 译码器

LM567通用音调译码器集成电路工作原理及应用 567为通用音调译码器,当输入信号于通带内时提供饱和晶体管对地开关,电路由I与Q检波器构成,由电压控制振荡器驱动振荡器确定译码器中心频率。用外接元件独

关键字: 译码器

    数字电视地面广播编码正交频分复用COFDM传输系统以其较强的抗多径干扰性能、易于实现移动接收等优点在HDTV的研究中占有很重要的地位。而COFDM系统中编、解码技术是影

关键字: FPGA 接收机 hdtv 译码器 viterbi

138译码器使用较多,对于138译码器,小编曾做诸多讲解,如利用74hc138译码器组建32线译码器、解析71ls138译码器级联电路等。在本文中,小编将同样基于74hc138译码器,介绍如何利用该138译码器实现74h...

关键字: 138译码器 74hc138 指数 译码器

138译码器应用较多,许多朋友接触的第一款译码器便是138译码器。对于138译码器,小编曾带来诸多文章,如138译码器逻辑功能、74HC138译码器的介绍等。为保证大家能对138译码器有更为深刻的理解,本文将先对译码器做...

关键字: 138译码器 74hc138译码器 译码器

138译码器是是常用器件,对于138译码器,因其特点在现实中应用广泛。针对138译码器,虽具备诸多型号,但其原理大致相同。为增进大家对138译码器的了解以及对138译码器的兴趣,本文将从译码器的分类与应用两方面入手,为大...

关键字: 138译码器 分类 译码器

138译码器是常用电子器件,因此电子相关工作人员对138译码器均有所了解,但初学者对于138译码器总会存在一定疑惑。为解决138译码器相关疑惑,本文将对译码器进行讲解,并在文末为对74LS138译码器予以介绍。如果你对1...

关键字: 138译码器 译码器 逻辑功能
关闭
关闭