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

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

Info

Publication number
CN101834616A
CN101834616A CN200910056945A CN200910056945A CN101834616A CN 101834616 A CN101834616 A CN 101834616A CN 200910056945 A CN200910056945 A CN 200910056945A CN 200910056945 A CN200910056945 A CN 200910056945A CN 101834616 A CN101834616 A CN 101834616A
Authority
CN
China
Prior art keywords
shift register
coefficient
order
polynomial
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910056945A
Other languages
English (en)
Other versions
CN101834616B (zh
Inventor
王星
李东川
胡新宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Atheros International Shanghai Co Ltd
Original Assignee
Qualcomm Atheros International Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Atheros International Shanghai Co Ltd filed Critical Qualcomm Atheros International Shanghai Co Ltd
Priority to CN 200910056945 priority Critical patent/CN101834616B/zh
Publication of CN101834616A publication Critical patent/CN101834616A/zh
Application granted granted Critical
Publication of CN101834616B publication Critical patent/CN101834616B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种里德-索罗蒙解码器实现方法,在对错误位置多项式、错误值多项式求解时,通过控制器、运算器、四个移位寄存器实现,可以同时对里德-索罗蒙码的多个符号进行解码,解码延时小且固定,结构规整。

Description

里德-索罗蒙解码器实现方法
技术领域
本发明涉及数字通信技术,特别涉及一种里德-索罗蒙解码器实现方法。
背景技术
为了降低数字信号在传输或存储等过程中错误的概率,纠错码被大量使用在各种环境中。通过检测收到的码组是否有错,接收端可以通知发送端重新发送出错的码;更高级的纠错码,所谓的“前向纠错码”(FEC,Forward Error Correction),可以检测并更正接收的码组中的错误而不需要发送端重新发送。
Galois有限域定义了一个数域,其中包含了有限个元素。包含q个元素的Galois域通常记成GF(q)。在FEC编码,特别是RS(Reed-Solomon,里德-索罗蒙)码中,Galois域非常有用。例如信息码的一串二进制序列被组成了多个符号,每个符号包含M位,那每个符号是GF(2M)的一个元素。这些符号再次被组成多个块,每个块包含k个符号,记为{mk-1,m1,…m0},mk-1为第一个符号(第一个发送),m0为最后一个符号(最后一个符号),记t=(n-k)/2。这样信息码每个块的发送序列可以记成一个(k-1)阶的多项式:
m ( X ) = Σ i = 0 k - 1 m i X i
为了在接收端能检测/纠正错误,冗余符号被添加到了信息码正常符号的末尾,使得数据块的符号从k个增加到了n个。这n个符号的数据块被称为一个码字,该码字记成一个(n-1)阶的多项式:
c(X)=X2tm(X)+p(X)
p(X)为附加的校验符号,是一个阶为(2t-1)的多项式,它按照下列方法生成:
p(X)=X2tm(X)mod g(x)
g(X)为Galois域上的生成多项式,其定义为
g ( X ) = Π i = 0 2 t - 1 ( X - α i )
其中α为GF(2M)上本原多项式的根。
编码器根据原始的k阶多项式和生成多项式生成p(X),并把它附加在原始序列的末尾,这样形成的一个码字记为RS(n,k)。由编码过程可以知道,生成多项式的根必定是任意一个由该生成多项式生成的有效的码多项式的根。
接收端把生成多项式的根代入接收序列中,如果生成多项式的根也是接收序列的根,这表明在传输过程中没有出错;否则表明在传输中码字发生了错误。
RS(里德-索罗蒙)解码器结构如图1所示,伴随多项式生成模块(syndrome computation)进行伴随式计算,错误位置和错误值多项式生成模块(Modified Euclid Algorithm,MEA)基于改进的欧几里德算法生成错误位置和错误值多项式,错误值检测模块基于钱搜索(Chien search)检测错误值,错误值计算模块基于Forney算法(Forney algorithm)计算错误值,码字缓存和错误纠正模块(dec_buf)进行包缓存。
RS解码器的解码过程如下。
1.假设接收序列构成的码多项式记为r(X),由于生成多项式的根也是有效的码多项式的根,因此可以把生成多项式的根代入r(X):
s i = r ( X ) | X = α i = r ( α i ) , i = 0,1 . . . , 2 t - 1
如果对所有的i,都存在si为0,这表示码字在传输过程中没有发生错误;反之则表明在传输过程中码字发生了错误。
2.对由伴随式构成的伴随多项式
S ( X ) = Σ i = 0 2 t - 1 s i X i
满足如下的关键方程:
S(X)σ(X)≡ω(X)
其中σ(X)表示错误位置多项式,ω(X)表示错误值多项式。如果求解出这两个多项式,那就能恢复发送的正确符号。
该关键方程可以改写成如下形式:
ω(X)=X2tμ(X)+S(X)
欧几里德定理表明错误值多项式ω(X)是X2t和S(X)的最大公约式,因此可以采用欧几里德算法计算错误位置多项式和错误值多项式。
3.当找到σ(X)和ω(X)后,利用钱搜索寻找σ(X)的根。根对应的位置即为出现符号错误的位置,然后利用Forney算法计算该位置对应的错误的符号的值。
4.把所在位置收到的符号的值和计算得到的符号值进行有限域上的加法就得到正确的符号。
对错误位置多项式σ(X)、错误值多项式ω(X)这两个多项式的求解,改进的欧几里德算法的计算流程如图2所示。
图中S(x)表示由多个伴随式构成的伴随多项式,R(X),Q(X),λ(X),μ(X)为四个多项式。
首先初始化
R0(X)=x2t
Q0(X)=x·S(x),
λ0(X)=0,
μ0(X)=1,
i=0;
li=deg[Ri(X)]-deg[Qi(X)]
其中i为迭代次数,li为R(X)和Q(X)两个多项式的阶数之差。
然后开始进行迭代计算:
当li≥0时,
R i ( X ) = b i - 1 R i - 1 ( X ) - X | l i - 1 | a i - 1 Q i - 1 ( X )
λ i ( X ) = b i - 1 λ i - 1 ( X ) - X | l i - 1 | a i - 1 μ i - 1 ( X )
Qi(X)和μi(X)保持不变;
当li<0时,
R i ( X ) = a i - 1 Q i - 1 ( X ) - X | l i - 1 | b i - 1 R i - 1 ( X )
Qi(X)=Ri-1(X)
λ i ( X ) = a i - 1 μ i - 1 ( X ) - X | l i - 1 | b i - 1 λ i - 1 ( X )
μi(X)=λi-1(X)
当多项式R(X)的最高阶数小于t时,
σ(X)=λi(X),ω(X)=Ri(X)
否则继续迭代直到满足退出要求。
传统的改进欧几里德算法的实现如图3所示。计算得到的伴随多项式从伴随多项式生成模块串行输出,进入错误位置和错误值多项式生成模块(MEA)。MEA初始化R(X)=x2t,λ(X)=0、μ(X)=1、deg(R(X))=2t,删除S(X)中从最高阶项到第一个非0系数项之间所有的项得到新的多项式S′(X),然后用该多项式初始化Q(X),计算出Q(X)阶数deg(Q(X))。初始化完毕后,根据R(X)和Q(X)阶数的大小重新计算四个多项式的值和R(X)的阶数,如果R(X)的阶数小于t,计算结束,否则重新计算四个多项式的值,以此迭代,直到R(X)的阶数小于t。
钱搜索和Forney算法最主要的步骤是求一个多项式对GF(2M)上所有元素的值。计算过程如图4所示。一共有(t+1)个计算单元,分成奇数项和偶数项两组。初始时把第i项的系数ci装入寄存器中,每个时钟把寄存器中的值乘上αi后的值存入寄存器中。把所有单元输出相加后得到该多项式对GF(2M)内某个元素的值。
但是,现有的RS解码器算法存在着一些不足。
1.随着大容量存储和高速数字传输系统的出现,采用传统的迭代结构实现的改进的欧几里德算法、单路钱搜索和Forney算法已经不能满足高速系统的要求。比如在10G EPON(Ethernet Passive Optical Network,以太无源光网络)系统中采用基于RS(255,223)的流编码,两符号块间隔最小只有32个时钟周期。
2.传统的伴随式计算只能支持单符号,不能同时支持多符号运算。
3.传统的基于改进的欧几里德算法的解码器采用迭代求解错误位置和错误值多项式,但迭代的次数依赖于码字中出现错误符号的个数,因此经过不同的码组经过解码器可能存在不同的延时,这不能满足某些应用环境的要求。比如在EPON(Ethernet Passive Optical Network,以太无源光网络)系统中,由于OLT(光线路终端)或者ONU(光网络单元)会周期性的发送MPCP(Multipoint Control Protocol,多点控制协议)协议帧,该协议帧的一个域包含了该设备当前的时间戳,该帧在底层经过RS编码后发送出去。接收端经过RS解码器恢复出原来的帧,计算该帧内的时间戳与接收到该帧时的本地时间戳的差,然后比较前后两次差的差值。如果差值超过了某个给定的门限,那么将会导致ONU无法注册。因此如果解码器的延时不固定,在某些情况下会因为误判而导致ONU无法注册。
4.传统的基于改进的欧几里德算法的解码器需要计算并比较多项式的阶次,这增加了系统的面积和复杂性。
发明内容
本发明要解决的技术问题是提供一种里德-索罗蒙解码器实现方法,可以同时对多个符号进行解码,解码延时小且固定,结构规整。
为解决上述技术问题,本发明的里德-索罗蒙解码器实现方法,包括伴随多项式生成模块、错误位置多项式生成及错误值多项式生成模块、错误值检测模块、错误值计算模块、错误纠正模块,其特征在于,错误位置多项式生成及错误值多项式生成模块采用以下方式:
分别设置控制器、运算器、四个移位寄存器,其中移位寄存器一存放多项式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)的各阶系数输出作为错误位置多项式的各阶系数。
本发明的里德-索罗蒙解码器实现方法,在对错误位置多项式、错误值多项式求解时,通过控制器、运算器、四个移位寄存器实现,由于取消了传统欧几里德算法中阶次计算与比较逻辑,综合面积小,由于采用流水结构,系统频率高,数据吞吐量大,结构规整,易于硬件实现,延时小且固定,可以同时对里德-索罗蒙码的多个符号进行解码。
附图说明
下面结合附图及具体实施方式对本发明作进一步详细说明。
图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)的各阶系数,移位寄存器四存放多项式μ(X)的各阶系数,移位寄存器一和移位寄存器二有2t+1个单元,从左到右分别存放x0~x2t的系数,移位寄存器三和移位寄存器四有t+1个单元,从左到右分别存放x0~xt的系数,t=(n-k)/2,n为一个码字的符号数,k为信息码的符号数,控制器根据R(X),Q(X)两个多项式的最高阶系数和两个多项式的阶数差控制运算器对四个多项式按照算法流程执行如下操作:
1.首先初始化,将控制器中的R(X)同Q(X)多项式的阶次差置为+1;将控制器中的迭代次数i初始化为0;四个寄存器分别初始化为R(X)=X2t、Q(X)=X·S(X)、λ(X)=0、μ(X)为集合{Xj|0≤j≤t,j为整数}中的任意一个元素,比如u(X)=X。S(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)=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则,进行步骤3;否则进入步骤2。
3.将移位寄存器一中存放的多项式R(X)的各阶系数输出作为错误值多项式ω(X)的各阶系数,将移位寄存器三中存放的多项式λ(X)的各阶系数输出作为错误位置多项式σ(X)的各阶系数。
4.输入钱搜索模块及Forney算法模块。
本发明的里德-索罗蒙解码器实现方法,由于取消了欧几里德算法中阶次计算与比较逻辑,综合面积小;由于采用流水结构,系统频率高,数据吞吐量大;结构规整,易于硬件实现;延时小且固定。
上述是本发明的里德-索罗蒙解码器实现方法中错误值多项式ω(X)和错误位置多项式σ(X)的计算方法,在进行上述计算前,伴随多项式S(X)的计算可以采用多符号式,如图6所示。
首先初始化伴随式存储单元si为0。接收端每个时钟收到多个符号,每个时钟将收到的N个符号及在伴随式存储单元中的上次计算得到的结果分别同{α(N-1)i,α(N-2)i...,αi,α0,αNi}相乘,其中α为本原多项式的根,αi为该里德-索罗蒙码的生成多项式的第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从α0到αN-1的多项式的值,第二个时钟计算从αN到α2N-1的多项式的值,……,直到所有的元素都计算完。
把GF(q)空间平均分成N组,每组含有P个元素,这样该域中的每一个元素可以写成如下形式:
αl=αPm+n,0≤m≤N-1,0≤n≤P-1
对某一个阶数为v的函数,
σ ( α l ) = σ ( α Pm + n ) = Σ i = 0 v σ i α ni α Pmi
= ( σ 0 ) + ( σ 1 α 1 ( 8 m + n ) ) + . . . + ( σ i α i ( 8 m + n ) ) + . . . + ( σ v α v ( 8 m + n ) )
通过同时计算N组的值,可以大大加快扫描速度,降低整个系统的延时。
下面是一较佳实施例。
在10G EPON系统中采用了基于流的RS(255,223)作为前向纠错编码。该系统对解码器有如下要求:
1.数据吞吐量大。解码器以每个时钟8个符号的速率匀速接收数据,系统每级流水的最大处理延时不能超过32个时钟;
2.解码器延时小且固定;
3.解码器在硬件实现时面积小。
由于输入数据每255个符号作为一个数据块,为了实现方便,每块前添加一个值为零的符号凑成256个符号作为一个新码字,然后按照每8个符号一个字把这个数据块分组,一共分成32个字顺次输入伴随式计算模块中。这保证可以在32个周期内计算完伴随式。
S k = Σ i = 0 254 r i α ik → r 255 = 0 Σ i = 0 255 r i α ik
= Σ i = 0 31 Σ j = 0 7 r 8 i + j α ( 8 i + j ) k = Σ i = 0 31 ( ( α k ) 8 i Σ j = 0 7 r 8 i + j ( α k ) j )
该公式的实现框图如图7所示。在输入一个数据块(码字)之前,将伴随多项式存储单元初始化为零,在第一个时钟输入新码字的八个符号,分别同α0k、α1k、……,α7k,相乘,其中α为GF(2M)上本原多项式的根,αk为RS编码生成多项式的第k个根,多项式存储单元的值同α8k相乘,并将上述相乘得到的值相加存入多项式存储单元,……,依次,下一个时钟输入新码字的零外八个符号,这样仅经过32个时钟周期,一个数据块的伴随多项式S(X)即计算完毕。
初始化错误位置和错误值多项式生成模块(欧几里德算法)进行迭代计算。该错误位置和错误值多项式生成模块的实现结构如图8所示。
该图中共有(3t+2)个计算单元和一个控制器。上半部分的(2t+1)个计算单元用于作为两个长度为2t+1移位寄存器,其中一个作为移位寄存器一存放多项式R(X)的各阶系数,另一个作为移位寄存器二存放多项式Q(X)的各阶系数,下半部分的(t+1)个计算单元用于作为两个长度为t+1移位寄存器,其中一个作为移位寄存器三存放多项式λ(X)的各阶系数,另一个作为移位寄存器四存放多项式μ(X)的各阶系数;控制器根据R(X)和Q(X)最高阶系数是否为0和这两个多项式的阶数差控制所有计算单元。根据不同的状态,控制器会输出下面几种操作方式,如表1所示。
表1
Figure B2009100569454D0000151
本实施例中,欧几里德算法的控制器状态如图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),λ(X)分别输入Forney模块和钱搜索模块。
为了在32个时钟内能搜索完GF(255)内所有的元素,至少需要8个模块并行扫描。因此把GF(255)分成8个组,每组有32个元素(其中有一个组加入了一个冗余元素以凑成256个元素)。
σ ( α 8 m + 0 ) = Σ 0 v σ i α 8 mi
σ ( α 8 m + 1 ) = Σ 0 v σ i α i α 8 mi
.
.
.
σ ( α 8 m + n ) = Σ 0 v σ i α ni α 8 mi
.
.
.
σ ( α 8 m + 7 ) = Σ 0 v σ i α 7 i α 8 mi
σ ( α 8 m + 8 ) = Σ 0 v σ i α 8 i α 8 mi
由于在进行Forney计算时,需要奇次项的和,因此在计算的时候把奇数次项和偶数次项分开。其实现框图如图10、图11所示。图10为奇数次项之和的实现图,图11为偶数次项之和的实现图。
最后把奇数次项和偶数次项合并后得到完整多项式的和。
σ(α8m+n)=σeven8m+n)+σodd8m+n)+σ0
本发明提出的里德-索罗蒙解码器实现方法可以在支持高速数字传输系统的同时提供固定低解码延时。可以同时对里德-索罗蒙码的多个符号进行解码,解码延时小且固定,结构规整,适合硬件实现,适用于高速数字传输系统,特别是高速PON(Passive Optical Network,以太无源光网络)系统中。

Claims (4)

1.一种里德-索罗蒙解码器实现方法,包括伴随多项式生成模块、错误位置多项式生成及错误值多项式生成模块、错误值检测模块、错误值计算模块、错误纠正模块,其特征在于,错误位置多项式生成及错误值多项式生成模块采用以下方式:
分别设置控制器、运算器、四个移位寄存器,其中移位寄存器一存放多项式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个符号及在伴随式存储单元中的上次计算得到的结果分别同{α(N-1)i,α(N-2)i...,αi,α0,αNi}相乘,其中α为本原多项式的根,αi为该里德-索罗蒙码的生成多项式的第i个根,N为每个时钟输入数据的符号个数,N大于1,输出的结果相加后作为本次伴随式的结果,以此迭代,直到当前数据块接收完毕,输出一个数据块的伴随多项式S(X)结果,同时再次把伴随式存储单元清为0。
3.根据权利要求2所述的里德-索罗蒙解码器实现方法,其特征在于,在计算伴随多项式时,如果接收的码字长度不等于2M,M为组成一个符号的二进制序列个数,则在每一个码字块头插入零元素,直到新的码字含有2M个符号,新的码字顺序平均分成N组,每个时钟从每组分别输入一个符号共N个符号。
4.根据权利要求1所述的里德-索罗蒙解码器实现方法,其特征在于,n=255,k=223,t=16。
CN 200910056945 2009-03-12 2009-03-12 里德-索罗蒙解码器实现方法 Expired - Fee Related CN101834616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910056945 CN101834616B (zh) 2009-03-12 2009-03-12 里德-索罗蒙解码器实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910056945 CN101834616B (zh) 2009-03-12 2009-03-12 里德-索罗蒙解码器实现方法

Publications (2)

Publication Number Publication Date
CN101834616A true CN101834616A (zh) 2010-09-15
CN101834616B CN101834616B (zh) 2013-08-28

Family

ID=42718569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910056945 Expired - Fee Related CN101834616B (zh) 2009-03-12 2009-03-12 里德-索罗蒙解码器实现方法

Country Status (1)

Country Link
CN (1) CN101834616B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102684706A (zh) * 2012-05-16 2012-09-19 山东华芯半导体有限公司 并行搜索的检错纠错方法和电路
CN103548002A (zh) * 2011-03-24 2014-01-29 桑迪士克以色列有限公司 为了降低的功耗的错误分析电路的并行化
CN104639282A (zh) * 2013-11-14 2015-05-20 杭州海康威视数字技术股份有限公司 通信系统中rs译码方法及其装置
WO2017128731A1 (zh) * 2016-01-28 2017-08-03 华为技术有限公司 动态功耗控制的编码方法及编解码器
CN108574495A (zh) * 2017-03-13 2018-09-25 西部数据技术公司 错误定位多项式解码器及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303763C (zh) * 2003-04-18 2007-03-07 清华大学 用于降低rs码编译码复杂度的方法
CN101325706B (zh) * 2007-06-13 2010-11-03 卓胜微电子(上海)有限公司 低硬件开销Reed-Solomon解码器
CN101277119B (zh) * 2008-05-14 2010-06-02 清华大学 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103548002A (zh) * 2011-03-24 2014-01-29 桑迪士克以色列有限公司 为了降低的功耗的错误分析电路的并行化
US9244765B2 (en) 2011-03-24 2016-01-26 Sandisk Il Ltd. Parallelization of error analysis circuitry for reduced power consumption
CN103548002B (zh) * 2011-03-24 2016-09-21 桑迪士克以色列有限公司 为了降低的功耗的错误分析电路的并行化
CN102684706A (zh) * 2012-05-16 2012-09-19 山东华芯半导体有限公司 并行搜索的检错纠错方法和电路
CN104639282A (zh) * 2013-11-14 2015-05-20 杭州海康威视数字技术股份有限公司 通信系统中rs译码方法及其装置
CN104639282B (zh) * 2013-11-14 2018-09-11 杭州海康威视数字技术股份有限公司 通信系统中rs译码方法及其装置
WO2017128731A1 (zh) * 2016-01-28 2017-08-03 华为技术有限公司 动态功耗控制的编码方法及编解码器
US10826534B2 (en) 2016-01-28 2020-11-03 Huawei Technologies Co., Ltd. Encoding method, encoder, and decoder for dynamic power consumption control
CN108574495A (zh) * 2017-03-13 2018-09-25 西部数据技术公司 错误定位多项式解码器及方法
CN108574495B (zh) * 2017-03-13 2021-07-16 西部数据技术公司 错误定位多项式解码器及方法

Also Published As

Publication number Publication date
CN101834616B (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
US4486882A (en) System for transmitting binary data via a plurality of channels by means of a convolutional code
US5440570A (en) Real-time binary BCH decoder
KR920000828B1 (ko) 가로아체(Galois field)연산장치
JP3046988B2 (ja) データストリームのフレーム同期検出方法及び装置
CN101227194B (zh) 用于并行bch编码的电路、编码器及方法
CN101277119B (zh) 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置
CN101834616B (zh) 里德-索罗蒙解码器实现方法
CN102170327B (zh) 超强前向纠错的硬件译码方法及装置
CN102970049B (zh) 基于钱搜索算法和福尼算法的并行电路及rs译码电路
CN112367087B (zh) 一种高速rs译码器
CN104639282A (zh) 通信系统中rs译码方法及其装置
CN1095122C (zh) 差错定位多项式高速计算电路
CN106708654A (zh) 一种用于NANDflash的BCH纠错码的电路结构
CN103986475A (zh) 里德-所罗门伞型代码的并行分解
CN104218957B (zh) 一种低硬件复杂度的rs译码器
CN104348588A (zh) 多位错误的有效错误校正
CN101834615B (zh) 里德-索罗蒙编码器实现方法
CN101692612B (zh) 多规格里德-所罗门编解码方法、装置及系统
CN101702625A (zh) 基于rs(255,239)算法的光通信实时纠错电路
RU2314639C1 (ru) Устройство декодирования кодов рида-соломона
CN112468160A (zh) 一种基于钱搜索算法和福尼算法的并行电路
CN111162799B (zh) 一种抗辐射rs码译码电路
CN115632662A (zh) 一种rs译码中的伴随式计算方法、装置、设备及介质
KR100963015B1 (ko) 고속 저복잡 BCH 복호기의 불합도 계산이 필요 없는 RiBM 알고리즘을 이용한 오류위치 연산 방법 및 오류위치 연산 회로
CN117254823B (zh) 一种并行rs编码方法、装置、系统及计算机存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ATHEROS COMMUNICATION TECHNOLOGY (SHANGHAI) CO., L

Free format text: FORMER OWNER: SHANGHAI OPULAN TECHNOLOGIES CO., LTD.

Effective date: 20110620

Free format text: FORMER OWNER: OPULAN TECHNOLOGIES CORP.

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 201204 5/F, TOWER B, NO. 339, BISHENG ROAD, PUDONG NEW DISTRICT, SHANGHAI TO: 201203 ROOM 101, BUILDING 9, NO. 690, BIBO ROAD, ZHANGJIANG HIGH-TECH. PARK, PUDONG NEW DISTRICT, SHANGHAI

TA01 Transfer of patent application right

Effective date of registration: 20110620

Address after: 201203, room 9, building 690, No. 101 blue wave road, Zhangjiang hi tech park, Shanghai, Pudong New Area

Applicant after: Atheros (Shanghai),Co.,Ltd.

Address before: 201204 Shanghai city Pudong New Area Bisheng Road No. 339 B block 5 layer

Applicant before: Atheros Technology Company

Co-applicant before: Atheros Communications (Shanghai) Co., Ltd.

C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 201203, room 9, building 690, No. 101 blue wave road, Zhangjiang hi tech park, Shanghai, Pudong New Area

Applicant after: Qualcomm Atheros International (Shanghai) Co., Ltd.

Address before: 201203, room 9, building 690, No. 101 blue wave road, Zhangjiang hi tech park, Shanghai, Pudong New Area

Applicant before: Atheros (Shanghai),Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: ATHEROS COMMUNICATION TECHNOLOGY (SHANGHAI) CO., LTD. TO: QUALCOMM ATHEROS INTERNATIONAL (SHANGHAI) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130828

Termination date: 20140312