里德-索罗蒙解码器实现方法

文档序号:7525526阅读:123来源:国知局

专利名称::里德-索罗蒙解码器实现方法
技术领域
:本发明涉及数字通信技术,特别涉及一种里德-索罗蒙解码器实现方法。
背景技术
:为了降低数字信号在传输或存储等过程中错误的概率,纠错码被大量使用在各种环境中。通过检测收到的码组是否有错,接收端可以通知发送端重新发送出错的码;更高级的纠错码,所谓的“前向纠错码”(FEC,ForwardErrorCorrection),可以检测并更正接收的码组中的错误而不需要发送端重新发送。Galois有限域定义了一个数域,其中包含了有限个元素。包含q个元素的Galois域通常记成GF(q)。在FEC编码,特别是1(彻6(1-5010111011,里德-索罗蒙)码中,Galois域非常有用。例如信息码的一串二进制序列被组成了多个符号,每个符号包含M位,那每个符号是GF(2M)的一个元素。这些符号再次被组成多个块,每个块包含k个符号,记为{πν”Hi1,…%},HV1为第一个符号(第一个发送),m。为最后一个符号(最后一个符号),记t=(n-k)/2。这样信息码每个块的发送序列可以记成一个(k-Ι)阶的多项式k~\<formula>formulaseeoriginaldocumentpage4</formula>为了在接收端能检测/纠正错误,冗余符号被添加到了信息码正常符号的末尾,使得数据块的符号从k个增加到了η个。这η个符号的数据块被称为一个码字,该码字记成一个(η-1)阶的多项式c(X)=X2tm(X)+ρ(X)ρ⑴为附加的校验符号,是一个阶为(2t_l)的多项式,它按照下列方法生成p(X)=X2tm(X)modg(χ)g(X)为Galois域上的生成多项式,其定义为<formula>formulaseeoriginaldocumentpage4</formula>其中α为GF(2M)上本原多项式的根。编码器根据原始的k阶多项式和生成多项式生成ρ(X),并把它附加在原始序列的末尾,这样形成的一个码字记为RS(n,k)。由编码过程可以知道,生成多项式的根必定是任意一个由该生成多项式生成的有效的码多项式的根。接收端把生成多项式的根代入接收序列中,如果生成多项式的根也是接收序列的根,这表明在传输过程中没有出错;否则表明在传输中码字发生了错误。RS(里德-索罗蒙)解码器结构如图1所示,伴随多项式生成模块(syndromecomputation)进行伴随式计算,错误位置和错误值多项式生成模块(ModifiedEuclidAlgorithm,MEA)基于改进的欧几里德算法生成错误位置和错误值多项式,错误值检测模块基于钱搜索(Chiensearch)检测错误值,错误值计算模块基于Forney算法(Forneyalgorithm)计算错误值,码字缓存和错误纠正模块(decjxif)进行包缓存。RS解码器的解码过程如下。1.假设接收序列构成的码多项式记为r(X),由于生成多项式的根也是有效的码多项式的根,因此可以把生成多项式的根代入r(X)<formula>formulaseeoriginaldocumentpage5</formula>如果对所有的i,都存在Si为0,这表示码字在传输过程中没有发生错误;反之则表明在传输过程中码字发生了错误。2.对由伴随式构成的伴随多项式<formula>formulaseeoriginaldocumentpage5</formula>满足如下的关键方程S(X)σ(X)ξω(X)其中σ(X)表示错误位置多项式,ω(X)表示错误值多项式。如果求解出这两个多项式,那就能恢复发送的正确符号。该关键方程可以改写成如下形式ω(X)=X2tμ(X)+S(X)欧几里德定理表明错误值多项式ω⑴是X2t和S(X)的最大公约式,因此可以采用欧几里德算法计算错误位置多项式和错误值多项式。3.当找到ο⑴和ω⑴后,利用钱搜索寻找ο⑴的根。根对应的位置即为出现符号错误的位置,然后利用Forney算法计算该位置对应的错误的符号的值。4.把所在位置收到的符号的值和计算得到的符号值进行有限域上的加法就得到正确的符号。对错误位置多项式ο(X)、错误值多项式ω(X)这两个多项式的求解,改进的欧几里德算法的计算流程如图2所示。图中S(χ)表示由多个伴随式构成的伴随多项式,R(X),Q(X),λ(Χ),μ(X)为四个多项式。首先初始化R0(X)=x2t,Q0(X)=χ·S(χ),A0(X)=0,μ0(Χ)=1,i=0;Ii=deg[Ri(X)]-deg[Qi(X)]其中i为迭代次数,Ii为R(X)和Q(X)两个多项式的阶数之差。然后开始进行迭代计算当Ii彡0时,Ri(X)=H(X)-(^)A1(X)=H1(Z)-Qi⑴和μi⑴保持不变;当Ii<0时,<formula>formulaseeoriginaldocumentpage6</formula><formula>formulaseeoriginaldocumentpage6</formula><formula>formulaseeoriginaldocumentpage6</formula><formula>formulaseeoriginaldocumentpage6</formula>当多项式R(X)的最高阶数小于t时,<formula>formulaseeoriginaldocumentpage6</formula>否则继续迭代直到满足退出要求。传统的改进欧几里德算法的实现如图3所示。计算得到的伴随多项式从伴随多项式生成模块串行输出,进入错误位置和错误值多项式生成模块(MEA)。MEA初始化R(X)=X2t,λ(X)=0、μ(X)=1、deg(R(X))=2t,删除S(X)中从最高阶项到第一个非0系数项之间所有的项得到新的多项式S'(X),然后用该多项式初始化Q(X),计算出Q(X)阶数(1叩(0()。初始化完毕后,根据1(幻和Q(X)阶数的大小重新计算四个多项式的值和R(X)的阶数,如果R(X)的阶数小于t,计算结束,否则重新计算四个多项式的值,以此迭代,直到R(X)的阶数小于t。钱搜索和Forney算法最主要的步骤是求一个多项式对GF(2M)上所有元素的值。计算过程如图4所示。一共有(t+Ι)个计算单元,分成奇数项和偶数项两组。初始时把第i项的系数Ci装入寄存器中,每个时钟把寄存器中的值乘上α1后的值存入寄存器中。把所有单元输出相加后得到该多项式对GF(2μ)内某个元素的值。但是,现有的RS解码器算法存在着一些不足。1.随着大容量存储和高速数字传输系统的出现,采用传统的迭代结构实现的改进的欧几里德算法、单路钱搜索和Forney算法已经不能满足高速系统的要求。比如在IOGEPON(EthernetPassiveOpticalNetwork,以太无源光网络)系统中采用基于RS(255,223)的流编码,两符号块间隔最小只有32个时钟周期。2.传统的伴随式计算只能支持单符号,不能同时支持多符号运算。3.传统的基于改进的欧几里德算法的解码器采用迭代求解错误位置和错误值多项式,但迭代的次数依赖于码字中出现错误符号的个数,因此经过不同的码组经过解码器可能存在不同的延时,这不能满足某些应用环境的要求。比如在EPON(EthernetPassiveOpticalNetwork,以太无源光网络)系统中,由于OLT(光线路终端)或者ONU(光网络单元)会周期性的发送MPCP(MultipointControlProtocol,多点控制协议)协议帧,该协议帧的一个域包含了该设备当前的时间戳,该帧在底层经过RS编码后发送出去。接收端经过RS解码器恢复出原来的帧,计算该帧内的时间戳与接收到该帧时的本地时间戳的差,然后比较前后两次差的差值。如果差值超过了某个给定的门限,那么将会导致ONU无法注册。因此如果解码器的延时不固定,在某些情况下会因为误判而导致ONU无法注册。4.传统的基于改进的欧几里德算法的解码器需要计算并比较多项式的阶次,这增加了系统的面积和复杂性。
发明内容本发明要解决的技术问题是提供一种里德_索罗蒙解码器实现方法,可以同时对多个符号进行解码,解码延时小且固定,结构规整。为解决上述技术问题,本发明的里德-索罗蒙解码器实现方法,包括伴随多项式生成模块、错误位置多项式生成及错误值多项式生成模块、错误值检测模块、错误值计算模块、错误纠正模块,其特征在于,错误位置多项式生成及错误值多项式生成模块采用以下方式分别设置控制器、运算器、四个移位寄存器,其中移位寄存器一存放多项式R(X)的各阶系数,移位寄存器二存放多项式Q(X)的各阶系数,移位寄存器三存放多项式λ(χ)的各阶系数,移位寄存器四存放多项式μ(X)的各阶系数,移位寄存器一和移位寄存器二有2t+l个单元,从左到右分别存放x°x2t的系数,移位寄存器三和移位寄存器四有t+Ι个单元,从左到右分别存放x°Xt的系数,t=(n-k)/2,η为一个码字的符号数,k为信息码的符号数,控制器根据R(X)、Q(X)两个多项式的最高阶系数和两个多项式的阶数差控制运算器对所述四个多项式按照算法流程执行如下操作一.首先初始化,将控制器中的R(X)同Q(X)多项式的阶次差置为+1;将控制器中的迭代次数i初始化为0;四个寄存器分别初始化为R(X)=X2t、Q(X)=X-S(X),λ(X)=ο、μ⑴为集合{Χ≤ο≤j(t,j为整数}中的任意一个元素,S(X)为由所述伴随多项式生成模块生成的伴随多项式。二.控制器中迭代次数i递增1,如果移位寄存器一最右端的单元中的R(X)的最高阶系数为0,并且移位寄存器二最右端的单元中的Q(X)的最高阶系数为0,则4个移位寄存器都右移一次,阶次差不变;如果移位寄存器一最右端的单元中R(X)的最高阶系数为0,并且移位寄存器二最右端的单元中Q(X)的最高阶系数不为0,则移位寄存器一和移位寄存器三两个移位寄存器都右移一次,同时阶次差减一;如果移位寄存器一最右端的单元中R(X)的最高阶系数不为0,并且移位寄存器二最右端的单元中Q(X)的最高阶系数为0,则移位寄存器二和四都右移一次,同时阶次差加如果移位寄存器一最右端的单元中R(X)的最高阶系数和移位寄存器二最右端的单元中Q(X)的最高阶系数都不为0,并且阶次差不小于0,则运算器按照Ri(X)=Iv1Rg⑴--…^(X),Ai⑴=Iviλη⑴-agμη⑴进行运算,将得到的结果分别写入移位寄存器一、移位寄存器三,同时将移位寄存器一和三都右移一次,同时阶次差减一;如果移位寄存器一最右端的单元中R(X)的最高阶系数和移位寄存器二最右端的单元中Q(X)的最高阶系数都不为0,并且阶次差小于0,则运算器按照氏⑴=Iv1Rh(X)-Bi^1Qi-!(X),λi(X)=bHλ(X)-Bi^1μ(X),Qi(X)=Rh(X),μi(X)=λ(X)进行运算,将得到的结果分别写入各移位寄存器,同时将移位寄存器一和三都右移一次,同时阶次差置为原阶次差的补码减一;如果迭代次数i达到2t则进行步骤三;否则进行步骤二。三.将移位寄存器一中存放的多项式R(X)的各阶系数输出作为错误值多项式的各阶系数,将移位寄存器三中存放的多项式λ(X)的各阶系数输出作为错误位置多项式的各阶系数。本发明的里德-索罗蒙解码器实现方法,在对错误位置多项式、错误值多项式求解时,通过控制器、运算器、四个移位寄存器实现,由于取消了传统欧几里德算法中阶次计算与比较逻辑,综合面积小,由于采用流水结构,系统频率高,数据吞吐量大,结构规整,易于硬件实现,延时小且固定,可以同时对里德-索罗蒙码的多个符号进行解码。下面结合附图及具体实施方式对本发明作进一步详细说明。图1是RS解码器结构示意图;图2是改进的欧几里德算法的计算流程;图3是传统的改进欧几里德算法的实现方法示意图;图4是求一个多项式对GF(2m)上所有元素的值的计算过程示意图;图5是本发明的里德_索罗蒙解码器实现方法错误位置多项式、错误值多项式求解一实施方式示意图;图6是本发明的里德-索罗蒙解码器实现方法一实施方式的多符号式伴随式计算框图;图7是本发明的里德-索罗蒙解码器实现方法一实施例的多符号式伴随式计算框图;图8是本发明的里德-索罗蒙解码器实现方法一实施例的欧几里德算法的实现结构图;图9是本发明的里德-索罗蒙解码器实现方法一实施例的欧几里德算法控制单元状态图;图10是本发明的里德-索罗蒙解码器实现方法一实施例的求一个多项式对GF(2m)上所有元素的值的奇数次项之和的实现图;图11是本发明的里德-索罗蒙解码器实现方法一实施例的求一个多项式对GF(2m)上所有元素的值的偶数次项之和的实现图。具体实施例方式从改进的欧几里德算法的计算流程可知,对错误位置多项式ο(X)、错误值多项式ω(X)这两个多项式的求解,改进的欧几里德算法只依赖于R(X)和Q(X)两个多项式的最高阶系数和两个多项式的阶数之差。本发明的里德_索罗蒙解码器实现方法,是基于改进后的欧几里德算法,经过优化后,一实施方式实现示意图如图5所示。分别设置一控制器、一运算器、四个移位寄存器,其中移位寄存器一存放多项式R(X)的各阶系数,移位寄存器二存放多项式Q(X)的各阶系数,移位寄存器三存放多项式λ(X)的各阶系数,移位寄存器四存放多项式y(X)的各阶系数,移位寄存器一和移位寄存器二有2t+l个单元,从左到右分别存放χ°x2t的系数,移位寄存器三和移位寄存器四有t+Ι个单元,从左到右分别存放χ°Xt的系数,t=(n-k)/2,η为一个码字的符号数,k为信息码的符号数,控制器根据R(X),Q(X)两个多项式的最高阶系数和两个多项式的阶数差控制运算器对四个多项式按照算法流程执行如下操作1.首先初始化,将控制器中的R(X)同Q(X)多项式的阶次差置为+1;将控制器中的迭代次数i初始化为O;四个寄存器分别初始化为R(X)=X2t、Q(X)=X*s(x)、λ⑴=0、μΟ()为集合{Xj|0彡j彡t,j为整数}中的任意一个元素,比如u(X)=X0S(X)为由伴随式生成模块生成的由多个伴随式构成的伴随多项式。2.控制器中迭代次数i递增1,如果移位寄存器一最右端的单元中的R(X)的最高阶系数为0,并且移位寄存器二最右端的单元中的Q(X)的最高阶系数为0,则4个移位寄存器都右移一次,阶次差不变;如果移位寄存器一最右端的单元中R(X)的最高阶系数为0,并且移位寄存器二最右端的单元中Q(X)的最高阶系数不为0,则移位寄存器一和移位寄存器三两个移位寄存器都右移一次,同时阶次差减一;如果移位寄存器一最右端的单元中R(X)的最高阶系数不为0,并且移位寄存器二最右端的单元中Q(X)的最高阶系数为0,则移位寄存器二和四都右移一次,同时阶次差加如果移位寄存器一最右端的单元中R(X)的最高阶系数和移位寄存器二最右端的单元中Q(X)的最高阶系数都不为0,并且阶次差不小于0,则运算器按照Ri(X)=Iv1Rg⑴--…^(X),Ai⑴=Iviλη⑴-agμη⑴进行运算,将得到的结果分别写入移位寄存器一、移位寄存器三,然后再将移位寄存器一和三都右移一次,阶次差减一;如果移位寄存器一最右端的单元中R(X)的最高阶系数和移位寄存器二最右端的单元中Q(X)的最高阶系数都不为0,并且阶次差小于0,则运算器按照氏⑴=Iv1Rh(X)-Bi^1Qi-!(X),λi(X)=bHλ(X)-Bi^1μ(X),Qi(X)=Rh(X),μi(X)=λ(X)进行运算,将得到的结果分别写入各移位寄存器,同时将移位寄存器一和三都右移一次,同时阶次差置为原阶次差的补码减一;如果迭代次数i达到2t则,进行步骤3;否则进入步骤2。3.将移位寄存器一中存放的多项式R(X)的各阶系数输出作为错误值多项式ω(X)的各阶系数,将移位寄存器三中存放的多项式λ(X)的各阶系数输出作为错误位置多项式ο(X)的各阶系数。4.输入钱搜索模块及Forney算法模块。本发明的里德_索罗蒙解码器实现方法,由于取消了欧几里德算法中阶次计算与比较逻辑,综合面积小;由于采用流水结构,系统频率高,数据吞吐量大;结构规整,易于硬件实现;延时小且固定。上述是本发明的里德-索罗蒙解码器实现方法中错误值多项式ω(X)和错误位置多项式O(X)的计算方法,在进行上述计算前,伴随多项式S(X)的计算可以采用多符号式,如图6所示。首先初始化伴随式存储单元Si为0。接收端每个时钟收到多个符号,每个时钟将收到的N个符号及在伴随式存储单元中的上次计算得到的结果分别同{α(N-m,α(N-2)i...,α1,α°,aNi}相乘,其中α为本原多项式的根,α1为该里德-索罗蒙码的生成多项式的第i个根,N为每个时钟输入数据的符号个数,N大于1,输出的结果相加后作为本次伴随式的结果,以此迭代,直到当前数据块接收完毕,输出一个数据块的伴随多项式S(X)结果,同时再次把伴随式存储单元清为0。对GF(2m-1)域,在计算伴随多项式时,如果接收的码字长度不等于2M,需要在每一个块的块头插入零元素,直到新的码字含有2M个符号。新的码字顺序分成N组,每组有P个符号,每个时钟输入N个符号。在进行错误值多项式ω(X)和错误位置多项式σ(X)的计算之后,进行钱搜索和Forney算法,钱搜索和Forney算法,本质上都是计算某个多项式对Galois有限域所有元素的值,因此该算法依赖于有限域上元素的个数。例如对RS(255,223)码,最少需要255个时钟才能遍历完毕,解码延时较大,会影响系统性能。由于根据钱搜索和Forney算法计算错误位置和错误值时需要计算多项式对Galois域所有元素的值,为了加快计算过程,降低整个系统的延时,可以采用并行处理的方式。首先根据系统允许的最大延时和Galois域中元素的个数计算需要把当前元素分成多少组,比如分成N组,每组含有P个元素,在第一个时钟,计算X从到CIn-1的多项式的值,第二个时钟计算从^^到α.1的多项式的值,……,直到所有的元素都计算完。把GF(q)空间平均分成N组,每组含有P个元素,这样该域中的每一个元素可以写成如下形式α1=aPm+n,0≤m≤N-1,0≤η≤P-I对某一个阶数为ν的函数,<formula>formulaseeoriginaldocumentpage10</formula><formula>formulaseeoriginaldocumentpage10</formula>通过同时计算N组的值,可以大大加快扫描速度,降低整个系统的延时。下面是一较佳实施例。在IOGEPON系统中采用了基于流的RS(255,223)作为前向纠错编码。该系统对解码器有如下要求1.数据吞吐量大。解码器以每个时钟8个符号的速率勻速接收数据,系统每级流水的最大处理延时不能超过32个时钟;2.解码器延时小且固定;3.解码器在硬件实现时面积小。由于输入数据每255个符号作为一个数据块,为了实现方便,每块前添加一个值为零的符号凑成256个符号作为一个新码字,然后按照每8个符号一个字把这个数据块分组,一共分成32个字顺次输入伴随式计算模块中。这保证可以在32个周期内计算完伴随式。<formula>formulaseeoriginaldocumentpage10</formula><formula>formulaseeoriginaldocumentpage10</formula>该公式的实现框图如图7所示。在输入一个数据块(码字)之前,将伴随多项式存储单元初始化为零,在第一个时钟输入新码字的八个符号,分别同a°k、alk、……,a7k,相乘,其中α为GF(2m)上本原多项式的根,ak为RS编码生成多项式的第k个根,多项式存储单元的值同a8k相乘,并将上述相乘得到的值相加存入多项式存储单元,……,依次,下一个时钟输入新码字的零外八个符号,这样仅经过32个时钟周期,一个数据块的伴随多项式S(X)即计算完毕。初始化错误位置和错误值多项式生成模块(欧几里德算法)进行迭代计算。该错误位置和错误值多项式生成模块的实现结构如图8所示。该图中共有(3t+2)个计算单元和一个控制器。上半部分的(2t+l)个计算单元用于作为两个长度为2t+l移位寄存器,其中一个作为移位寄存器一存放多项式R(X)的各阶系数,另一个作为移位寄存器二存放多项式Q(X)的各阶系数,下半部分的(t+Ι)个计算单元用于作为两个长度为t+Ι移位寄存器,其中一个作为移位寄存器三存放多项式λ(X)的各阶系数,另一个作为移位寄存器四存放多项式μ(X)的各阶系数;控制器根据R(X)和Q(X)最高阶系数是否为0和这两个多项式的阶数差控制所有计算单元。根据不同的状态,控制器会输出下面几种操作方式,如表1所示。表1<table>tableseeoriginaldocumentpage11</column></row><table>本实施例中,欧几里德算法的控制器状态如图9所示。图中,a_z表示R(X)的最高阶的系数是否为0。a_z为1表示为0,否则不为0;b_z表示Q(x)的最高阶的系数是否为0。b_z为1表示为0,否则不为0;deg表示两个多项式的阶数差,为有符号整数;i表示循环次数。当计算完成后,R(X),λ⑴分别输入Forney模块和钱搜索模块。为了在32个时钟内能搜索完GF(255)内所有的元素,至少需要8个模块并行扫描。因此把GF(255)分成8个组,每组有32个元素(其中有一个组加入了一个冗余元素以凑成256个元素)。=σ(α8+1)=EWmi....8m+.Vv...<formula>formulaseeoriginaldocumentpage12</formula>由于在进行Forney计算时,需要奇次项的和,因此在计算的时候把奇数次项和偶数次项分开。其实现框图如图10、图11所示。图10为奇数次项之和的实现图,图11为偶数次项之和的实现图。最后把奇数次项和偶数次项合并后得到完整多项式的和。σ(α=σeven(α8幽)+oodd(a8幽)+σ0本发明提出的里德-索罗蒙解码器实现方法可以在支持高速数字传输系统的同时提供固定低解码延时。可以同时对里德-索罗蒙码的多个符号进行解码,解码延时小且固定,结构规整,适合硬件实现,适用于高速数字传输系统,特别是高速PON(PassiveOpticalNetwork,以太无源光网络)系统中。权利要求一种里德-索罗蒙解码器实现方法,包括伴随多项式生成模块、错误位置多项式生成及错误值多项式生成模块、错误值检测模块、错误值计算模块、错误纠正模块,其特征在于,错误位置多项式生成及错误值多项式生成模块采用以下方式分别设置控制器、运算器、四个移位寄存器,其中移位寄存器一存放多项式R(X)的各阶系数,移位寄存器二存放多项式Q(X)的各阶系数,移位寄存器三存放多项式λ(X)的各阶系数,移位寄存器四存放多项式μ(X)的各阶系数,移位寄存器一和移位寄存器二有2t+1个单元,从左到右分别存放x0~x2t的系数,移位寄存器三和移位寄存器四有t+1个单元,从左到右分别存放x0~xt的系数,t=(n-k)/2,n为一个码字的符号数,k为信息码的符号数,控制器根据R(X)、Q(X)两个多项式的最高阶系数和两个多项式的阶数差控制运算器对所述四个多项式按照算法流程执行如下操作一.首先初始化,将控制器中的R(X)同Q(X)多项式的阶次差置为+1;将控制器中的迭代次数i初始化为0;四个寄存器分别初始化为R(X)=X2t、Q(X)=X·S(X)、λ(X)=0、μ(X)为集合{Xj|0≤j≤t,j为整数}中的任意一个元素,S(x)为由所述伴随多项式生成模块生成的伴随多项式;二.控制器中迭代次数i递增1,如果移位寄存器一最右端的单元中的R(X)的最高阶系数为0,并且移位寄存器二最右端的单元中的Q(X)的最高阶系数为0,则4个移位寄存器都右移一次,阶次差不变;如果移位寄存器一最右端的单元中R(X)的最高阶系数为0,并且移位寄存器二最右端的单元中Q(X)的最高阶系数不为0,则移位寄存器一和移位寄存器三两个移位寄存器都右移一次,同时阶次差减一;如果移位寄存器一最右端的单元中R(X)的最高阶系数不为0,并且移位寄存器二最右端的单元中Q(X)的最高阶系数为0,则移位寄存器二和四都右移一次,同时阶次差加一;如果移位寄存器一最右端的单元中R(X)的最高阶系数和移位寄存器二最右端的单元中Q(X)的最高阶系数都不为0,并且阶次差不小于0,则运算器按照Ri(X)=bi-1Ri-1(X)-ai-1Qi-1(X),λi(X)=bi-1λi-1(X)-ai-1μi-1(X)进行运算,将得到的结果分别写入移位寄存器一、移位寄存器三,同时将移位寄存器一和三都右移一次,同时阶次差减一;如果移位寄存器一最右端的单元中R(X)的最高阶系数和移位寄存器二最右端的单元中Q(X)的最高阶系数都不为0,并且阶次差小于0,则运算器按照Ri(X)=bi-1Ri-1(X)-ai-1Qi-1(X),λi(X)=bi-1λi-1(X)-ai-1μi-1(X),Qi(X)=Ri-1(X),μi(X)=λi-1(X)进行运算,将得到的结果分别写入各移位寄存器,同时将移位寄存器一和三都右移一次,同时阶次差置为原阶次差的补码减一;如果迭代次数i达到2t则进行步骤三;否则进行步骤二;三.将移位寄存器一中存放的多项式R(X)的各阶系数输出作为错误值多项式的各阶系数,将移位寄存器三中存放的多项式λ(X)的各阶系数输出作为错误位置多项式的各阶系数。2.根据权利要求1所述的里德_索罗蒙解码器实现方法,其特征在于,伴随多项式S(X)生成时,初始化伴随式存储单元Si为0,每个时钟将收到的N个符号及在伴随式存储单元中的上次计算得到的结果分别同{广-1”,^-2)、.,?,^,^}相乘,其中a为本原多项式的根,a1为该里德_索罗蒙码的生成多项式的第i个根,N为每个时钟输入数据的符号个数,N大于1,输出的结果相加后作为本次伴随式的结果,以此迭代,直到当前数据块接收完毕,输出一个数据块的伴随多项式S(X)结果,同时再次把伴随式存储单元清为0。3.根据权利要求2所述的里德-索罗蒙解码器实现方法,其特征在于,在计算伴随多项式时,如果接收的码字长度不等于2M,M为组成一个符号的二进制序列个数,则在每一个码字块头插入零元素,直到新的码字含有2M个符号,新的码字顺序平均分成N组,每个时钟从每组分别输入一个符号共N个符号。4.根据权利要求1所述的里德_索罗蒙解码器实现方法,其特征在于,n=255,k=223,t=16。全文摘要本发明公开了一种里德-索罗蒙解码器实现方法,在对错误位置多项式、错误值多项式求解时,通过控制器、运算器、四个移位寄存器实现,可以同时对里德-索罗蒙码的多个符号进行解码,解码延时小且固定,结构规整。文档编号H03M13/15GK101834616SQ20091005694公开日2010年9月15日申请日期2009年3月12日优先权日2009年3月12日发明者李东川,王星,胡新宇申请人:普然通讯技术(上海)有限公司;普然技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1