一种适用于CMMB的多模式Reed-Solomon译码器结构的制作方法

文档序号:7759881阅读:203来源:国知局
专利名称:一种适用于CMMB的多模式Reed-Solomon译码器结构的制作方法
技术领域
本发明属于无线数字通信、磁光学存储和光纤通信技术领域,可直接用于前向纠 错码Reed-Solomon译码器的设计,具体涉及一种能够支持中国移动多媒体标准CMMB的多 模式Reed-Solomon译码器电路结构。
背景技术
在无线数字通信系统中,RS码(Reed-Solomon)作为前向纠错码(FEC)的重要一 类,以其优良的性能和高吞吐率,已被广泛应用于众多的领域中。如数据通信领域中的DSL 和WiMax,广播系统中的DVB系列标准、CMMB等,数据存储领域中的DVD、蓝光等。随着无线通信技术的发展,许多的通信协议都开始采用多码率的信道编码的方式 来处理复杂且多变的信道,多码率即多模式成为了一种趋势。移动多媒体技术如今已经得 以越来越广泛的应用。随着中国移动多媒体标准CMMB的颁布实施,移动多媒体得到了进 一步的普及。多模多标准是当今移动多媒体技术发展的趋势,以同一套终端在不同地域实 现对不同模式下节目的接收也是发展的要求。作为数字基带中不可或缺的编解码部分, Reed-Solomon码常作为级联码的外码而广泛应用于各种广播通信标准;设计一种有效的 多模式的RS译码器也面临了很多新的有待解决的问题;所以其在多模接收终端中的研究 应用也具有非常重要的意义。基于CMMB标准中多模式(多码率)的需求,本发明提出了一种低功耗低成本的硬 件架构,能够同时支持CMMB中的RS码的四种工作模式,实现最大程度的硬件复用。

发明内容
目前越来越多的通信标准都采用多码率为编解码方案以适应复杂多变的信道,因 此设计一款码率可配置的RS译码器就成为我们设计的基本目标。本发明目的在于提供一 种同时支持CMMB中RS码四种工作模式的RS译码器电路结构,实现最大程度的硬件复用和 控制电路节省。本发明从通信标准编译码多模式多码率的角度,在采用改进的折叠型求解关键方 程模块的基础上,设计了一个最大程度上节约功耗和面积的多模式RS译码器。实现结果表 明,该硬件结构可以配置CMMB中要求的四种RS码工作模式,模式之间可灵活切换;代价小, 实现方式简单,因此本方法亦可适用于任何要求多码率RS码的协议中。本发明在尽可能不增加额外硬件的前提下,巧妙的利用CMMB标准中所要求的四 种模式的共性,对硬件进行划分,并设计合适的数据通路;正基于以上多模式的实现方法, 同时采用了门控时钟的技术,以最简单的方式实现了模式的控制。在求解关键方程算法选择上,本发明采用了 一种改进型的ME (欧几里得)算法。该 算法与传统的ME算法相比,在求解关键方程的过程中省去了每一次迭代中的计算多项式 阶数的步骤,节省了硬件资源,也使得KES模块的硬件结构更加规整。本发明提出的适用于CMMB的多模式Reed-Solomon译码器,由计算症候值模块、求解关键方程模块、钱搜索和误码计算模块、码字缓冲模块构成整个硬件架构,其中所述的计算症候值(syndrome calculation)模块,根据接收到的240字节的码字 计算症候值。对于RS(n,k,t)的码字,共2t个症候值;若所有的症候值都为0,则说明本码 字中不包含错误。每个症候值的计算都是相互独立的。所述的求解关键方程(key equation solving)模块,根据接收到的症候值,通过 解一个关键方程,求得阶数为t的误码值多项式和误码位置多项式。这个模块是RS译码器 中的比较关键的模块,关于求解关键方程有着非常多的研究,同时关键路径也位于本模块; 这就对此模块的结构设计提出了比较高的要求。所述的钱搜索和误码计算(Chien search and Forney algorithm)模块,首先接 收前一个模块发送过来的误码值多项式和误码位置多项式。通过误码位置多项式,采用穷 尽搜索的办法,查看码字中的每一个位置是否出现错误。如果此位置的数据没有错误,则搜 索下一个位置;若有错,则根据误码值多项式,采用Forney算法计算出这个位置的错误偏移量。所述的码字缓冲模块,为一个先入先出的存储器,将当前码字缓冲一段时间直到 钱搜索和误码计算模块需要取出当前码字;缓冲模块给出相应的值与误码计算模块计算出 的错误偏移量进行累加,最终得到正确的码字。适用于CMMB的多模式Reed-Solomon译码器有其特殊的要求。根据CMMB标准, Reed-Solomon码采用码长为240个字节的RS (240,K)截短码,该码由原始的RS (255,M)系 统码截去前面15个字节产生。Reed-Solomon码需要支持以下四种模式下RS (240,240,0), RS(240,224,8),RS (240,192,24)和 RS(240,176,32)。本发明的多模式的Reed-Solomon译码器,对译码器各个模块的基本单元进行分 组,根据CMMB中所要求的四种模式,对归为一组的基本单元数进行安排,最大程度的复用 硬件;根据不同的工作模式,启动每个模块相应的基本单元组。同时采用门控时钟的技术, 关闭在当前模式下不需要的基本单元组,以节省功耗。根据CMMB中的Reed-Solomon译码器要求的四种工作模式,按照纠错能力最大的 模式RS (240,176,32)计算,共需要64个症候值计算单元,64个求解关键方程单元和64个 钱搜索误码计算基本单元(32个钱搜索基本单元和32个误码计算基本单元)。考虑这四 种模式,我们将每个模块的基本单元分组症候值计算模块16个基本单元为一组,求解关 键方程模块16个单元为一组,钱搜索误码计算模块8个钱搜索基本单元8个误码计算基本 单元为一组。这样一来,每个模块的基本单元都被分为四组。在RS (240,176,32)模式下, 四组均工作,计算出64个症候值,32阶的误码值多项式和误码位置多项式,搜索出最多32 个字节的误码;在RS (240,192,24)模式下,每个模块中的三组工作,计算出48个症候值, 24阶的误码值多项式和误码位置多项式,搜索出最多24个字节的误码;在RS (240,224,8) 模式下,每个模块中的三组工作,计算出16个症候值,8阶的误码值多项式和误码位置多项 式,搜索出最多8个字节的误码;在RS (240,240,0)模式下,所有的基本单元组均不工作,译 码器不需译码进入休眠状态,功耗降到最低。本发明的上述译码器多用于由电池供电的移动手持设备,功耗和面积都是十分苛 刻的条件。根据上面的多模式Reed-Solomon译码器的要求,本发明采用一种改进的求解关 键方程的折叠结构,其特征为多个寄存器分时复用一个有限域乘加单元,减少了有限域乘加单元的使用,大大的减少了硬件的开销;同时带来了结构的规整性。本发明中,求解关键方程模块将16个基本单元分为一组,同时采用折叠结构,将 串联的16个基本单元折叠成一个单元,共用一个有限域乘加单元。每组节省掉15个有限 域运算单元,对面积和功耗贡献非常大。本发明在尽可能不增加额外硬件的前提下,巧妙地利用CMMB标准中所要求的四 种模式的共性,对硬件进行划分,并设计合适的数据通路;基于以上多模式的实现方法,同 时采用了门控时钟的技术,以最简单的方式实现了模式的控制。本发明在求解关键方程算法选择上,采用了 一种改进型的ME (欧几里得)算法。该 算法与传统的ME算法相比,在求解关键方程的过程中省去了每一次迭代中的计算多项式 阶数的步骤,节省了硬件资源,也使得KES模块的硬件结构更加规整。


图 IReed-Solomon 译码流程。图2症候值计算模块(SC)基本单元。图3RS(240,224,8)的症候值计算模块硬件结构图。图4求解关键方程模块(KES)基本单元。图5RS(240,224,8)的求解关键方程模块的硬件结构图。图6钱搜索和误码计算单元基本单元EC。图7RS(240,224,8)的钱搜索和误码计算模块的硬件结构图。图8四种模式的RS译码器的症候值计算模块硬件结构示意图。图9四种模式的RS译码器的求解关键方程(KES)模块的硬件结构示意图。图10四种模式的RS译码器的钱搜索和误码计算模块的硬件结构示意图。
具体实施例方式RS 译码RS (n, k,t)是RS码的通常表示方法,其中η表示在一个码字中有η个字符,k表 示一个码字中的k个符号为信息字符,t表示2t个符号为校验字符且纠错能力为t。通常 情况下,广播通信中采用的RS码都建立在GF (28)这个有限域上,也就意味着每个字符都是 8个比特即一个字节。如图1所示,RS译码器可以分为四个主要的部分计算症候值、求解关键方程、钱 搜索和误码计算、码字缓冲。为了使描述更加清楚,在介绍部分,我们选择RS(240,224,8) 这种码率(224个信息字节经过编码加入16个校验字节构成一个240个字节的RS码字,此 码字具有纠正8个字节错误的纠错能力)作为描述对象。之所以选择这个码率,一方面是 因为具有8个字节纠错能力的RS码在通信协议中应用非常广泛;另一方面,这个码率也是 CMMB中RS码的一种工作模式。下面我们将分别介绍RS译码器的四个部分。1.计算症候值一个RS (η,k,t)(其中η表示一个码字中的有η个字节,k表示一个这个码字中的 k个字节是信息字节,t表示有2t个冗余位并且此RS码的纠错能力为t个字节)的RS码 有2t个症候值,分别为Stl,S1, S2, ... , S2t_i。其中每个症候值的计算公式为
Si = (. . . (Ov1 α ^iv2) α ^r^) α \ . . ) α ^r0(1)其中α 1表示有限域中的第i个元素(i = 1,2. . . 2t_l),r,-表示接收到的该码字 中的第j个字节(j =0,1,...η-1)。公式(1)实际是一个迭代式,硬件的迭代过程是这样的第一个时钟周期将接收 到的IV1与α 1相乘;第二个时钟周期将此刻接收到的rn_2与第一个时钟周期得到的结果相 加(有限域加法),再将其和与α 1相乘;第三个时钟周期将此刻接收到的rn_3与第二个时 钟周期得到的结果相加(有限域加法),再将其和与?相乘;...;迭代一直进行下去直到 接收到这个码字的最后一个字节这样一个迭代算法所映射成的硬件架构见图3,其基 本单元见图2。图2中的求解症候值基本单元是由一个d触发器,一个有限域乘法器和一个有限 域加法器构成;在每个时钟周期送入码字的一个字节,与D触发器中缓冲的值进行相加,完 成公式(1)中的迭代过程。整个求解症候值模块共需要16个这样的基本单元,来完成16 个症候值的计算(如图3)。2.求解关键方程根据上一个模块计算得到的16个症候值,得到由这16个症候值组成的症候值多 项式s (χ) = s15x15+s14x14+s13x13+. · · +slx+s0(2)并由此来计算误码值多项式σ (χ)和误码位置多项式ω (χ)。也就是解S(x) X σ (χ) = ω (x)modx2t(3)这样一个关键方程。在整个译码过程中,求解关键方程这一步是计算强度最大、硬件结构最复杂的一 步。所以,这方面的研究也很多,提出了很多的算法和改进,比如EA、ME、BM、RiBM算法等。 本发明可以选用S-DCME算法——一种改进的ME算法。这个算法的优势在于,一方面它不 用计算多项式的阶数;另一方面此算法的硬件基本单元也比较简单。该算法的内容如下首先引入四个2t_l阶的多项式R(X)、Q(X)、L(X)、U(X)和两个变量CC、ACC ;并将 其初始化为 R。(x) = S(x),Q0(X) = χ21—1,L0(X) = 1,U0(X) = 0,CC = 0,ACC = 0。在第i次迭代中,分别去判断多项式Ri (x)的最高项系数A^1(X)和CC (1)如果把广⑶=0,且CC = 0 Ri (χ) = Rh (χ) X χ ;Li (x) = Li^1 (χ) X χ ;ACC = ACC+1 ;(2)如果/^r1(X)=O,且 CC 乒 0Ri (X) = Rh (Χ) X Χ ;Li (χ) = Li^1 (χ) X χ ;ACC = 0 ;CC = CC-1 ;(3)如果於广(X)邦,且CC = 0ar ^r1 Wjbi=Q^1 W;Ri (χ) = χ (Bi X Qh (χ) +、X Ri^1 (χ)) (χ) = Ri^1 (χ);Li (χ) = χ (Bi X Uh (χ) +、X Li^1 (χ)) (χ) = Li^1 (χ);CC = ACC+1 ;(4)如果把广⑶邦,且CC乒0
7
a,=^i1-1 (χ),br Ql^ (χ); Ri (χ) = X (Bi X Qh (χ) +、X Ri^1 (χ)) ;^ (χ) = χ X Ui^1 (χ) +、X Li^1 (χ));经过2t次迭代,最终得误码值多项式σ (χ) = R2w (x),误码位置多项式ω (χ)=
^t-I °用S-DCME算法实现的KES模块的硬件结构及其基本单元见图4。由算法可知,算 法中计算部分(如%XQp1 (X) +bi XRi^1 (χ))所做的操作为两组数据分别相乘所得到的积再 相加,即图4中所示由两个有限域乘法器和一个有限域加法器以及数据存储单元(D触发 器)构成。在传统的结构中,一般是采用16个基本单元简单串联,完成无码值多项式的求 解或者误码位置多项式的求解。这种结构的缺点在于需要大量的硬件资源(有限域乘法器 的面积较大),在功耗和面积上都有较大的消耗。而移动设备对面积功耗要求非常苛刻,基 于这点考虑,本发明使用了一种折叠的结构来实现关键方程的求解(见图5)。硬件实现使 用两组8位的寄存器R0 R15,Q0 Q15 (或者L0 L16, U0 U16)分别存放多项式的系数, 配合相应的计算模块(有限域乘加单元)和控制电路(控制状态机跳转,即控制进入以上 算法中的哪个分支)来完成整个KES算法。图5是KES模块的硬件架构,由于RQ寄存器组 和LU寄存器组是完全相同的结构,所以图中只画出了其中一组。以图5所示的RQ寄存器 组合为例,在接收每组症候值之前,首先要对寄存器Rtl R15,Qtl Q15进行初始化。由控制 电路决定本次迭代电路进入哪种状态若本次迭代中A^1(X)=O,则寄存器组右移一位,在 最左侧补0 ;若本次迭代中AiT1(X)^O,迭代的过程中寄存器的值依次右移,将相应的值送入 有限域乘加单元进行计算。经过这样2t次的迭代之后,R(X)寄存器组中的数值便是误码 值多项式ο (X),L(X)寄存器组的数值便是误码位置多项式ω (χ)。这种结构能够很大程度的节省硬件资源,也就是节省了功耗,同时又不会增加关 键路径的长度,是一种很好的折衷。此结构的缺点是所需要的时钟周期数较多,和传统全并 行结构所需的2t个时钟周期完成KES算法相比,本结构需要2tXK(K为每组寄存器个数, 在图5所示的结构中,K = 16)个时钟周期完成。本发明的解决方案是让此折叠结构工作 在6倍频的系统时钟下,既可以提高解码速度又很大程度的减少了硬件资源消耗。3.钱搜索和误码计算从KES模块中得到误码值多项式σ (χ)和误码位置多项式ω (χ)后,需要搜索码 字中的每一个位置来找到错误的字节并计算出错误的值。令误码值多项式σ (χ) = σ tXxt+o ηΧχη+· . .+σ 0(4)钱搜索的目的就是计算出这个多项式等于0的根。如果σ (Cii) =0,则利用 Forney算法计算出这个位置的错误值。Forney算法如下公式(4)表示则=^^⑶ σ\αι)其中ω (α O = ω t ( α t^1). . + ω ! ( α ω 0,(6)。‘ (0 = 0Η(α Η”+···+ (J3(Ci3)^0 “α Oi (7)其中,i表示字节在码字中所在的位置,对于RS (240,224,8)来说,前15个字节的 码字被截断,16彡i彡255。
根据公式(6)和(7),可以看出ω (Cii)和σ ‘ (Cii)也转化成一个迭代的过程 (与公式(1)类似)。钱搜索和误码计算模块的基本单元如图6所示,也和图2中的症候值 计算基本单元结构相似。图7中的钱搜索与误码计算模块,采用了 ω (α 0和σ ‘ (Qi) 分开计算的方案。图7上半部分灰色的基本单元用于计算σ (Cii),若σ (Cii) =0,则取出
σ (Qi)各项的级数项 σ η ( α η) 1.....σ 3 ( α 3) \ σ i ( α ) S 即图 7 中灰色的 EC1、EC3、EC5、
EC7模块的和,即是公式(4)中的σ ‘ (α1)。下半部分白色的基本单元用于计算ω (Cii)。 最后将ο ‘ ( α D和ω ( α 0送入有限域除法器相除结果即为错误值。对于RS (240,224,8),搜索一个码字的数据需要240个时钟周期。搜索到该位置出 现错误就会在同一个时钟周期计算出这个位置的错误值。最后将错误值和FIFO中接收到 的相应位置的码字相加,得到这个位置正确字节。4.码字缓冲整体来看,对于RS (240,224,8),症候值计算模块需要240个时钟周期完成计算, KES模块经过倍频之后为了平衡流水线,也分配240个时钟周期来求解关键方程;一个码字 经过480个时钟周期后送给钱搜索和误码计算模块进行纠错,这样一来,码字缓冲就需要 一个能将一个码字缓冲480个时钟周期的FIFO(先人先出存储器)。多模式RS译码器对于CMMB中要求的四个模式的RS译码器,最大的挑战在于如何将四种模式 (RS (240,240,0),RS (240,224,8),RS (240,192,24)和 RS (240,176,32))统一于一个架构 中。几个关键的问题是一、如何复用每个模块的基本单元于不同的模式;二、怎样选择KES 模块折叠结构的折叠系数。本部分规划了三个主要模块(症候值计算模块,求解关键方程 模块,钱搜索和误码计算模块)的硬件结构。以下仍然按照模块的顺序依次进行说明。1.症候值计算模块CMMB 要求的四种模式 RS (240,176,32)、RS (240,192,24)、RS (240,224,8)、 RS (240,240,0)分别需要的症候值计算基本单元数目为64个、48个、16个和0个,也就是说 如果分别相加的话,共需要128个症候值计算基本单元。本发明中提出的结构旨在使用更 少的基本单元来实现这四种工作模式采用复用64个症候值基本单元的方式实现四种模 式——这64个基本单元正是模式RS(240,176,32)中所用的;对于其他的模式,我们唤醒该 模式相应的基本单元、关闭不需要的基本单元,这样来完成模式间基本单元的复用。如图3 中所示,每16个基本单元归为一组,64个基本单元即为4症候值单元组,如图8。图8所示 的硬件为四种模式RS译码器的症候值计算模块。图8中所示多模式症候值计算模块工作 在RS (240,192,24)模式下,即可以纠正24个字节的错误,这时需要计算48个症候值,需要 四分之三的单元组即48个症候值计算单元处于正常工作状态。图8中灰色的症候值单元 组表示在RS (240,192,24)模式下,它们是被激活的;虚线中的单元组是通过门控时钟的控 制被关掉的。这种通过门控时钟来进行模式控制的方式使得控制电路极为简单。若此模块 工作在RS (240,176,32)的模式下,则需要计算64个症候值,那么64个症候值计算单元都 应该处于正常状态;若此模块工作在RS (240,224,8)的模式下,此模式需要计算16个症候 值,即需要16个症候值计算基本单元处于正常工作状态,剩下的48个症候值计算基本单元 被门控时钟关闭;若此模块工作在RS (240,240,0)的模式下,不需要纠错,那么所有的基本 单元都将被门控时钟关闭。经过240个时钟周期的计算,得到相应码字相应模式下的所有的症候值,将其送到求解关键方程模块。2.求解关键方程模块多模式的求解关键方程模块,本发明采用之前提到的折叠结构。对于折叠结构的 求解关键方程模块的设计中,最关键的问题是如何确定折叠系数(一组折叠结构中共享一 个有限域运算单元的寄存器数目)以对基本单元进行分组和折叠。考虑到CMMB中RS码的 四种模式,这四种模式2t(64、48、24、0)的公约数分别为2、4、8、16 (不考虑0,因为此模式下 不进行纠错)。这些公约数都可以被选为折叠系数。大的折叠系数可以节省更多的硬件资 源,但却导致较大的计算延迟;小的折叠系数会增大硬件消耗,但却可以控制计算延迟。考 虑到CMMB中对RS译码器吞吐率的要求并不高,可以选取16这个最大的折叠系数,即足以 满足CMMB对RS译码器吞吐率的要求。为了满足RS(240,176,32)这个模式纠错能力最高的译码模式的需求,需要至少 八个图4中的基本单元。和症候值计算模块相似,本发明采用复用KES模块中的八个基本单 元来实现四种模式。以图9中所示的以RS(240,224,24)模式为例说明图9中的灰色的模 块表示在该模式下工作的部分,虚线的模块为在该模式下被关掉的部分;在RS(240,224, 24)模式下,从症候值计算模块接收到48个症候值,并且需要求解出阶数为24的误码位置 多项式σ (χ)和误码位置多项式ω (X),也就是说,共需要四分之三(6个)的KES基本单元 工作,剩余的KES基本单元被门控时钟关掉;在RS (240,176,32)的模式下,从症候值计算模 块接收到64个症候值,并且需要求解出阶数为32的误码位置多项式ο (χ)和误码位置多 项式ω (χ),也就是说,全部8个KES基本单元都在正常工作;在模式RS (240,224,8)下,从 症候值计算模块接收到16个症候值,并且需要求解出阶数为16的误码位置多项式σ (χ) 和误码位置多项式ω (χ),也就是说,共需要四分之一(2个)的KES基本单元工作,剩余的 6个KES基本单元被门控时钟关掉;而模式RS (240,240,0),译码器不需要进行译码工作,所 有的KES基本单元都被门控时钟关闭。图9的控制器是一直工作的,它会根据不同的工作 模式,为数据处理单元提供相应的控制信号。3.钱搜索和误码计算模块图10中所示为多模式RS译码器的钱搜索和误码计算模块。和症候值计算模块 相似,它共需要四组(每组8个基本单元)图7中的钱搜索和误码计算模块作为单元组, 用门控时钟来进行模式控制,将相应模式想不需要的单元组关掉。以图中RS (240,224,24) 模式为例,此模式下,根据公式(4),在钱搜索的过程中需要对阶数为24的误码位置多项式 σ (χ)进行穷尽搜索,误码计算过程中也需要对阶数为24的误码值多项式进行处理,故需 要24个——也就是3组钱搜索误码计算基本单元组;此模式下三个灰色的单元组处于工 作状态,虚线下一个的单元组是关掉的;对于模式RS (240,176,32),在此模式下,根据公式 (4),在钱搜索的过程中需要对阶数为32的误码位置多项式ο (χ)进行穷尽搜索,误码计算 过程中也需要对阶数为32的误码值多项式进行处理,故需要32个——也就是全部的四组 钱搜索误码计算基本单元组都处于正常工作状态;对于模式RS (240,224,8),在此模式下, 根据公式(4),在钱搜索的过程中需要对阶数为8的误码位置多项式σ (χ)进行穷尽搜索, 误码计算过程中也需要对阶数为8的误码值多项式进行处理,故需要8个——也就是一组 钱搜索误码计算基本单元组处于正常工作状态,其余的三组钱搜索误码计算单元组被门控 时钟关闭。
10
综上所述,基于某特定需求而设计一款多模式的RS译码器的步骤如下(假设所 需要支持的模式有 RS (N, K1, 2、),RS (N, K2, 2t2),...,RS (N,Kn, 2tn))第一步确定计算症候值模块和钱搜索误码计算模块所需要的基本单元数。假设 RS(N, Ki^ti)是各模式中纠错能力最强的模式,那么上述两个模块则各需要2、个基本单兀。第二步确定KES模块的折叠系数。找出各个纠错模式2、(1 ^ j ^ η)的所有公 约数,然后按照系统需要(吞吐率、芯片面积、功耗要求等)选择其一作为折叠系数。例如, 大的折叠系数可以最小化芯片面积和硬件资源消耗,但会以吞吐率为代价;因为KES模块 的求解需要更多的时钟周期以至于需要将这个模块的时钟进行N倍频来平衡流水线,因此 便限制了系统时钟为原来的1/Ν,也就是降低了吞吐率。选择小的折叠系数不会影响译码器 的吞吐率,但因为需要更多的有限域乘加运算单元而使硬件代价会相对大。第三步根据折叠系数,将症候值计算基本单元和钱搜索误码计算基本单元分组。第四步设计合适的门控时钟模式控制电路,使其能够激活该模式下相应的单元 组并关闭不需要的单元组。
1权利要求
一种适用于CMMB的多模式Reed Solomon译码器结构,根据CMMB标准,Reed Solomon码采用码长为240个字节的RS(240,K)截短码,Reed Solomon码支持以下四种模式下RS(240,240,0),RS(240,224,8),RS(240,192,24)和RS(240,176,32);其特征在于所述译码器由计算症候值模块、求解关键方程模块、钱搜索和误码计算模块、码字缓冲模块构成整个硬件架构,其中所述的计算症候值模块,根据接收到的240字节的码字计算症候值,对于RS(n,k,t)的码字,共2t个症候值;所述的求解关键方程模块,根据接收到的症候值,通过解一个关键方程,求得阶数为t的误码值多项式和误码位置多项式;所述的钱搜索和误码计算模块,首先接收前一个模块发送过来的误码值多项式和误码位置多项式,通过误码位置多项式,采用穷尽搜索的办法,查看码字中的每一个位置是否出现错误;如果此位置的数据没有错误,则搜索下一个位置;若有错,则根据误码值多项式,采用Forney算法计算出这个位置的错误偏移量;所述的码字缓冲模块,为一个先入先出的存储器,将当前码字缓冲一段时间直到钱搜索和误码计算模块需要取出当前码字;缓冲模块给出相应的值,并与误码计算模块计算出的错误偏移量进行累加,最终得到正确的码字。
2.根据权利要求1所述的适用于CMMB的多模式Reed-Solomon译码器结构,其特征在 于根据CMMB中所要求的四种模式,对译码器各个模块的基本单元进行分组,对归为一组 的基本单元数进行安排,以便最大程度的复用硬件;按照纠错能力最大的模式RS (240,176,32)计算,共需要64个症候值计算单元,64个 求解关键方程单元和64个钱搜索误码计算基本单元,64个钱搜索误码计算基本单元中,32 个为钱搜索基本单元,32个为误码计算基本单元;考虑这四种模式,将每个模块的基本单 元分组症候值计算模块16个基本单元为一组,求解关键方程模块16个单元为一组,钱搜 索误码计算模块8个钱搜索基本单元8个误码计算基本单元为一组。
3.根据权利要求2所述的适用于CMMB的多模式Reed-Solomon译码器结构,其特征在 于在模式控制上,根据不同的工作模式,启动每个模块相应的基本单元组;采用门控时钟 的技术,关闭在当前模式下不需要的基本单元组,以节省功耗;对于CMMB对Reed-Solomon码所要求的的四种工作模式在RS (240,176,32)模式下, 四组均工作,计算出64个症候值,32阶的误码值多项式和误码位置多项式,搜索出最多32 个字节的误码;在RS (240,192,24)模式下,每个模块中的三组工作,计算出48个症候值, 24阶的误码值多项式和误码位置多项式,搜索出最多24个字节的误码;在RS (240,224,8) 模式下,每个模块中的三组工作,计算出16个症候值,8阶的误码值多项式和误码位置多项 式,搜索出最多8个字节的误码;在RS(240,240,0)模式下,所有的基本单元组均不工作,译 码器不需译码进入休眠状态。
4.根据权利要求1或2或3所述的适用于CMMB的多模式Reed-Solomon译码器,其特 征在于在求解关键方程模块中,求解关键方程(3)的算法的内容如下引入四个2t-l阶的多项式R (χ)、Q (χ)、L (χ)、U (χ)和两个变量CC、ACC ;并将其初始化 为 R0 (χ) =S (χ),Q0(x) =X2Il0(X) = 1,U0 (χ) = 0,CC = 0,ACC = O ;在第 i 次迭代中, 分别判断多项式Ri(X)的最高项系数At1(X)和CC:(1)如果C1(X)=O,且 CC = 0Ri (X) = Rh (Χ) X Χ ; Li (X) = Lh (Χ) X Χ ;ACC = ACC+1 ;(2)如果O) =0,且 CC^ORi (X) = Rh (χ) X χ ;Li (X) = LH (Χ) X χ ;ACC = 0 ;CC = CC-1 ;(3)如果及厂(X)邦,且CC= 0ar ^1(X),bi=a^(x);Ri(X) = X(BiXQi^1 (χ)+biXRi^1 (χ)) ;Qi (χ) =Rh(X); Li(X) = χXUi^1 (χ)+biXLi^1 (χ)) Wi(X) =Lh(X); CC = ACC+1 ;(4)如果Ι^1;\χ)φ0, CC^Oai=o),b 产濃-1 ⑴;Ri(X) = X(BiXQi^1 (χ)+biXRi^1 (χ)) Ii(X) = χ(BiXUi-Jx)+I^XLh(X));经过2t次迭代,最终得误码值多项式σ (χ) =R2w(X),误码位置多项式ω(χ)=^t-I °
5.根据权利要求2所述的适用于CMMB的多模式Reed-Solomon译码器结构,以及权利 要求4所述的求解关键方程算法,其特征在于采用改进的求解关键方程的折叠结构,即对 求解关键方程模块,将16个基本单元分为一组,同时采用折叠结构,将串联的16个基本单 元折叠成一个单元,分时复用一个有限域乘加单元,同时带来了结构的规整性。
6.根据权利要求3所述的适用于CMMB的多模式Reed-Solomon译码器结构,其特征在 于所述折叠结构的折叠系数为2、4、8或16。
全文摘要
本发明属于无线数字通信、磁光学存储和光纤通信技术领域,具体为一种适用于CMMB的多模式Reed-Solomon译码器结构。该译码器包括计算症候值模块、求解关键方程模块、钱搜索和误码计算模块、码字缓冲模块。在求解关键方程模块中,采用一种折叠的结构,这种结构和传统的全并行结构相比,可以节省芯片面积,但不增加整个译码器结构的关键路径。本发明最大程度的复用现有的硬件资源从而在单一结构上实现了CMMB所要求的四种模式,节省了大量的硬件资源;同时采用门控时钟的技术来进行模式的切换,在最大程度的简化控制电路的同时,大大降低了整个结构功耗,使其更加符合手持移动设备的功耗需求。
文档编号H04L1/00GK101964664SQ20101028293
公开日2011年2月2日 申请日期2010年9月16日 优先权日2010年9月16日
发明者曾晓洋, 陈赟, 黄双渠, 黄贝 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1