里德-索罗门解码器 和解码方法 本发明涉及纠错解码领域,特别涉及里德索罗门(Reed-Solomon,RS)解码器和解码方法。
在采用高清晰度电视(HDTV)、数字通用盘(DVD)或小型盘(CD)的数字通信系统中,主要采用具有优秀纠错能力的RS解码器来纠正传输中产生的差错。然而,RS解码器的结构非常复杂。一般地,将RS代码表示为RS(N,I)。一个信息分组由N个符号构成。在这些符号中,I符号表示一条消息,其余的N-I个符号表示校验码。每个符号由m个位组成。
图1是采用改进欧几里德算法的常规RS解码器的方框图。这种RS解码器公开于美国电子与电气工程师协会计算机分会会刊1998年10月号第37卷第1273至1280页的由H.M.Shao和I.S.Reel所著“采用收缩矩阵的流水线式RS解码器的VLSI设计(“On the VLSI Design of Pipeline Reed-SolomonDecoder Using Systolic Arrays”,IEEE Tran.Comput,vol 37,OCT.1988,pp1273-1280)”一文中。
在图1中,根据输入的删除位置信息计算的初始差错定位多项式的根α-i,被输入到第一和第二多项式扩展器106和108。删除意为有差错,其位置从接收数据中得到,差错意为错误,其位置和大小已获知。
在文献[1]所提供的并行扩展方法中,当能纠正的差错数是t时,因为初始差错定位多项式具有2t次数,使第一多项式扩展器106必须计算2t+1个系数,所以m位(8位)地2t+1寄存器必须存在,如图2所示。并且,需要2t+1乘法器和2t+1加法器来扩展初始差错定位多项式。
由于用于产生改进的校正子多项式的第二多项式扩展器108因改进的校正子多项式具有2t-1次数而必须计算2t个系数,因此如图3所示,需要用于计算和存储2t个系数的2t个寄存器、2t个乘法器和2t个加法器。每一个寄存器被赋予一个事先计算的校正子以作为初值。方程式7所示的迭代方程的运算对应于按照时钟信号(CLK)输入的校正子执行。这样,在2t个时钟时间之后,相应的改进校正子多项式系数被获得。
因此,在使用一般的并行扩展方法的RS解码器中,用于计算多项式的乘法器数量是在计算改进的校正子多项式和初始差错定位多项式的过程中所使用乘法器的总数,即2t+2t+1(=4t+1)。
由于在RS解码器中使用的运算是在有限域上执行的,所以乘法器不是一个一般的十进制乘法器而是一个有限域乘法器。这样,有限域乘法器的结构便较复杂。因为有限域乘法器需要大量的门电路来实现RS解码器集成电路,所以为了按并行扩展的方法计算多项式,当能纠正的差错数增加时,大大地增加了复杂性。
为解决上述问题,本发明的一个目的是提供一种RS解码器,该解码器在使用改进的欧几里德算法来计算多项式的过程中采用了最小数量的乘法器而不考虑能纠正的差错数。
本发明的另一个目的是提供一种RS解码方法,该方法在使用改进的欧几里德算法来计算多项式的过程中使用了串行扩展。
这样,为达到第一个目的,本发明提供了一种里德-索罗门(RS)解码器,内含按校正子值来查找一差错位置和大小的改进的欧几里德算法处理器,该解码器包括:多项式运算器,用于从接收数据中计算校正子值和构造校正子多项式;产生器,用于从所接收数据的删除信息中为初始差错定位多项式产生一个根和每当新的删除信息被输入时为初始差错定位多项式产生一个表示新根的控制信号;具有串行扩展结构的第一多项式扩展器,用于使用初始差错定位多项式的根和控制信号扩展初始差错定位多项式和为处理器提供扩展结果;以及具有串行扩展结构的第二多项式扩展器,用于使用校正子值、和初始差错定位多项式的根和控制信号扩展改进的校正子多项式和为处理器提供扩展结果。
为达到第二个目的,本发明提供了一种使用改进的欧几里德算法的RS解码方法,包括如下步骤:(a)从接收数据中计算校正子值;(b)从接收数据的删除信息中为初始差值定位多项式产生一个根和对应于新的删除信息为初始差错定位多项式产生一个表示新根的控制信号;(c)使用初始差错定位多项式的根和控制信号扩展初始差错定位器;(d)使用校正子值、初始差错定位多项式的根、和控制信号扩展改进的校正子多项式;以及(e)运用改进的欧几里德算法,使用扩展初始差错定位多项式和改进的校正子多项式,计算包含在接收数据中的差错的位置和大小。
本发明的上述目的和优点在参照附图进行详细说明后将更加明显,附图中:
图1是一般的RS解码器的方框图;
图2是图1所示的具有一般并行扩展结构的第一多项式扩展器的电路框图;
图3是图1所示的具有一般并行扩展结构的第二多项式扩展器的电路框图;
图4是按本发明实施例的RS解码器方框图;
图5是图4所示的本发明所提供的具有串行扩展结构的第一多项式扩展器的电路框图;以及
图6是图4所示的本发明所提供的具有串行扩展结构的第二多项式扩展器的电路框图。
图4说明了按照本发明的RS解码器方框图。图4中,当一个α-k产生器202从输入的删除位置信息中产生一个初始差错定位多项式的根α-k和一个说明该α-k是一个相关于新删除信息的根的控制信号(CON)时,第一多项式扩展器206运用采用了从αk产生器202输出的α-k和控制信号(CON)的串行扩展方法来扩展初始差错定位多项式(Г(x))。
第一多项式运算器204使用校正子多项式(S(x))计算所接收数据的校正子值。解码分组码所需的校正子由方程式1定义:〖方程式1〗
Sk=S(αk)=γ(αk), k=0,1,...,2t-1
其中,当未产生差错时,用α-k代替校正子多项式(S(x))和用α-k代替校验多项式(r(x))获得“0”。
如图2所示,当v个差错产生时,校正子值可以仅用方程式3的差错多项式计算出来。〖方程式2〗θ(x)=θ0xj0+θ1xj1+···+θvxjv]]>〖方程式3〗
Sk=S(αk)=γ(αk)=c(αk)+θ(αk)=θ(αk)
总之,在使用计算的校正子值来查找差错的大小和位置的诸方法当中最广泛应用的方法是使用改进的欧几里德算法。由于在文献[1]中已提供了用于本发明的改进欧几里德算法处理器210的改进欧几里德算法,其详细说明在此省去。为了使用改进的欧几里德算法来执行解码,所计算的校正子值必须被表示成多项式的系数。方程式4是一个2t-1次数的以校正子值为系数的校正子多项式。〖方程式4〗
S(x)=S0+S1x+S2x2+…+S2t-1x2t-1
第二多项式扩展器208使用由第一多项式运算器204所计算的校正子多项式(S(x))、从α-k产生器202的输出α-k和控制信号(CON)求解由方程式5表示的求解方程并且扩展改进的校正子多项式(T(x))。〖方程式5〗
T(x)=S(x) Г(x)modx2t
其中,S(x)和Г(x)分别代表一校正子多项式和一初始差错定位多项式。在此,初始差错定位多项式Г(x)由第一多项式扩展器206使用α-k产生器202产生的α-k和控制信号(CON)来扩展。因为Г(x)是由方程式6按输入删除位置信息所计算的α-k来表示的,所以在每一输入删除位置信息中改进的校正子多项式靠重复例如方程式7的运算来获得。〖方程式6〗
Г(x)=∏(x-α-k)
其中,∏表示相乘,初始差错定位多项式Г(x)的根代表错误产生的位置。即,如果α-k是根,则表示差错产生在接收编码字当中的第(k+1)个编码字上。在第(k+1)个编码字中,有一个对应于k的代码标记。〖方程式7〗
迭代方程:S(x)(x-α-k)=xS(x)-α-kS(x)
第二和第三多项式运算器212和214计算差错估计器多项式ω(x)和一差错定位多项式σ(x),并且将他们送至除法器216。除法器216按方程式8来计算对应于α-k的差错大小。〖方程式8〗θk=-ω(α-k)σ1(α-k)]]>
与门218仅选择对应于由所选第三多项式运算器214所计算的差错定位多项式(σ(x))的根的除法器216的输出。加法器222包括一个异或门,该异或门用于执行由延迟器220所延迟的接收数据和由与门218所输出的差错大小之间的异或操作。解码后的数据由加法器222输出。在此,(c(x))表示改进的数据多项式。
本发明所提供的使用改进的欧几里德算法的RS解码器在多项式计算当中,采用的串行扩展方法所实现的第一多项式扩展器206的电路图示于图5中,第二多项式扩展器208的电路图示于图6。
当能纠正的符号差错数是t时,用于获得初始差错定位多项式的第一多项式扩展器206包括一个用于存储2t+1个系数的移位寄存器232、单一乘法器234、加法器238和逻辑电路(与门236),如图5所示。用于获得改进校正子多项式的第二多项式扩展器208包括用于存储2t个系数的移位寄存器242、乘法器244、加法器248和与门246,如图6所示。
图5所示的第一多项式扩展器的移位寄存器232的初值将最低系数λ0初始化设为“1”并且将重置系数(reset coefficient)设为“0”。加法器238和乘法器234是有限域内的操作符。乘法器234具有单步流水线结构,这样可执行高速操作。加法器238包括一个异或门。由于初始差错定位多项式的最低次数运算不同于高次数运算而使用了与门236。
即,在串行扩展方法中,当对应于新差错信息的α-k输入时,由于输入了新的α-k值,一个迭代计算结束并且下一个迭代计算开始,如方程式10之类的计算必须被首先执行,而代替方程式9的计算。在相应于下一新删除信息的α-k被输入之前,迭代执行如方程式9的运算。〖方程式9〗
Si=Siα-k+Si-1 i=1,2,…,2t〖方程式10〗
Si=Siα-k i=0
其中,表示新的α-k值被输入的控制信号(CON)如图4所示由α-k产生器202产生,以存储α-k值和将其逐一输出。在一个时钟周期内将α-k保持一段时间的初始差错位置产生器202产生逻辑“低”的控制信号(CON),相应于下一删除信息的α-k值被发送,并且表示该α-k值是一个新的α-k。第一多项式扩展器206使用逻辑“低”的控制信号(CON)开始对新α-k的串行扩展。
即,乘法器234将存储在移位寄存器232中的系数与输入的α-k相乘。当控制信号(CON)为逻辑“高”时,加法器238将乘法器234的输出加到从与门236输出如方程式9所示的先前系数上,并且由于α-k是一个相应于新删除信息的根,在控制信号(CON)为逻辑“低”时,传递如方程式10所示乘法器234的输出。乘法器234的输出被反馈至移位寄存器232。
当所有存储在如图4所示的α-k产生器202中α-k值被扩展后,初始差错定位多项式α-kГ(x)被获得。当存储的α-k值的数目小于2t时,α-k产生器202将其余的信息填充为“0”。这样,当“0”被输入到第一多项式扩展器206中时,移位寄存器232的存储单元的值没有被改变。
由图6所示的第二多项式扩展器的具体电路、从图4所示的第一多项式运算器204中计算出来的校正子多项式中、产生改进的校正子多项式过程的基本概念,与图5所示的计算初始差错定位多项式的过程是一样的。即,当图6所示的移位寄存器242中的相应存储单元的初始值,被填充为由第一多项式运算器204所计算的校正子值时,改进的校正子多项式系数可以被获得。
当串行扩展方法被用在第一第二多项式扩展器206和208中时,乘法器可以在每个扩展器中被减少至一个而不考虑能纠正的差错数。同时,需要2t时钟时间以完成指定α-k的乘法。
因此,在采用一般的并行扩展方法的第一第二多项式扩展器106和108中,所需的处理时间仅是2t时钟时间。而在本发明的第一第二多项式扩展器206和208中,计算延迟时间有增加趋势。即,在第一多项式扩展器206中的计算延迟时间是2t*(2t+1)。当迭代方程在最大2t个校正子上被执行时在第二多项式扩展器208中的计算延迟时间是2t*2t。这种趋势可使用快速时钟来补偿。
即,为了校正差错又不与连续输入的RS分组相冲突,在下一个分组的校正子被计算出来之前,必须使用所有的先前存储的α-k来执行扩展。当RS分组的编码字的长度是N时,由第一和第二多项式扩展器206和208所使用的时钟CLK1的频率,必须比符号频率增加(2t)2/N倍,以执行多项式计算而不发生相邻分组间的冲突。该倍数值按照给定的RS码而有所变化,即在2至4左右。为按照此频率来执行乘法,本发明中使用的乘法器为单步流水线型。
表1列出了本发明所提供的具有串行结构的第一第二多项式扩展器206和208的乘法器数目和处理时间。
表1 一般的结构 按照本发明的结构 乘法器数目 4t+1 2 处理时间 2t+2t (2t)2+(2t+1)*(2t)
按照本发明,由于在使用改进的欧几里德算法的RS解码器中,最小化了计算多项式所要求的乘法器数目,而大大地简化了RS解码器的超大规模集成电路结构,相应地,费用大大地减少。