CN1222169C - 在高级电视中使用的里德-所罗门解码器 - Google Patents

在高级电视中使用的里德-所罗门解码器 Download PDF

Info

Publication number
CN1222169C
CN1222169C CNB971259739A CN97125973A CN1222169C CN 1222169 C CN1222169 C CN 1222169C CN B971259739 A CNB971259739 A CN B971259739A CN 97125973 A CN97125973 A CN 97125973A CN 1222169 C CN1222169 C CN 1222169C
Authority
CN
China
Prior art keywords
value
error
output
galois
syndrome
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.)
Expired - Fee Related
Application number
CNB971259739A
Other languages
English (en)
Other versions
CN1188375A (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.)
Fengye Vision Technology Co., Ltd.
Original Assignee
Daewoo Electronics 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
Priority claimed from KR1019960049690A external-priority patent/KR100192801B1/ko
Priority claimed from KR1019960051202A external-priority patent/KR100215570B1/ko
Priority claimed from KR1019960060085A external-priority patent/KR100192802B1/ko
Application filed by Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Publication of CN1188375A publication Critical patent/CN1188375A/zh
Application granted granted Critical
Publication of CN1222169C publication Critical patent/CN1222169C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种在ATV中使用的里德_所罗门解码器。特征在于包括:用于产生一个比码元时钟快t的RS时钟的时钟发生器;锁存接收码元的FIFO缓冲器;计算校正子值的校正子计算器;选择校正子计算器提供的校正子值和“0×00”值之一的校正子选择器;计算差错定位多项式的系数并提供该系数和其最高阶的差错定位多项式计算单元;提供经纠错的恢复码元的纠错器;和上述装置的控制装置。

Description

在高级电视中使用的里德_所罗门解码器
技术领域
本发明涉及用于解码和校正传输或存储的数据中出现的差错的装置,特别是,解码和校正对用里德_所罗门(Reed-Solomon)码所编码的数据中的差错以获得高级电视(ATV)中的原始数据的里德_所罗门解码器。
背景技术
通常,传输、存储或恢复数据期间出现的噪声会导致在数据中产生差错。过去已开发了采用对将要传输或存储的数据进行编码的编码技术,具有纠错能力的各种装置。
在这些编码技术中,向一消息或信息位群添加一组校验位以形成一个码字。由一个编码器确定的校验位用来检测和纠错。在这方面,编码器实际上将该消息位作为二进制消息多项式i(X)的系数进行处理并通过代码发生多项式g(X)对消息多项式i(X)进行乘法或除法运算得到校验位,从而提供一个码字多项式c(X)。根据一个码字所需的特性选择代码发生多项式g(X),以便该码字属于纠错二进制群代码的一个特定级(例如见Prentice-Hall公司1983年出版的S.Lin等人著的题为″差错控制编码:基础和应用″一文)。
一类熟知的纠错代码是包括里德_所罗门(RS)代码的BCH(Bose-Chaudhuri-Hocquenghen)代码。在上面提到的Lin等人的参考文献和1968年McGraw-Hill公司出版的Berlekamp著的题为″代数编码理论″一文中,以及进一步参考授权给Berlekamp的U.S专利No.4,162,480中解释了RS代码的数学基础。同时,里德_所罗门纠错代码的解码需要带有有限伽罗瓦域GF(2m)中系数的数个多项式的计算。这些多项式通常称为一个校正子多项式S(X)、一个差错定位多项式σ(X)、和一个差错计值多项式Ω(X)。
如果RS代码的代码发生多项式g(X)的根值是如等式1中α的2T个连续幂,可校正多达T个差错数量。
等式1
g(X)=∏2T i-1(X-αj)
其中α对应于有限伽罗瓦域GF(2m)中的一个本原元素。
在接收或恢复传输或存储的码字的过程中,在码字中以一个差错模式形成某些噪声。为处理由RS代码编码的码字中产生的差错模式,一般采用包括下列四个步骤的纠错过程。
在纠错过程讨论中,以包含N个M位(例如8位)码元(其中K个码元是信息码元(N-K)个码元是校验码元)的码字构成的RS代码作为参考。这种情况下,码字多项式c(X)变为第(N-1)阶多项式并且2T等于(N-K)。在第一纠错步骤中,从接收的码字r(X),即表示接收的码字的第(N-1)阶多项式计算2T数量的校正子值S0、S1、...、S2T-1。接收的码字r(X)表示为rN-1XN-1+rN-2XN-2+...+r1X1+r0,其中rj是码字中第(N-j)个码元。在第二步骤中,利用校正子多项式S(X)计算差错定位多项式σ(X)的系数。在第三步骤中,求解差错定位多项式σ(X)以获得其表示接收码字中差错位置的根。就是说,如果代入本原元素的幂α-j到差错定位多项式σ(X)的结果是″0″(即α-j变为σ(X)的根),在rj,即接收码字的第(N-1)个码元中出现一个差错。在第四步骤中,利用差错位置和校正子值计算差错值ej。在上面提到的美国专利No.4,162,480中说明了校正子值和差错定位多项式的系数的数学表达式。现在将更详细地解释第四步骤。
首先,差错计值多项式Ω(X)可表示为下面的表达式2。
表达式2
Ω(X)=σ(X)S(X)
其中S(X)是其系数是校正子值的校正子多项式。
得到差错计值多项式Ω(X)后,可按下面的表达式3计算差错值ej
表达式3
e j = α j Ω ( α - j ) σ ′ ( α - j )
其中σ′(X)是差错定位多项式σ(X)的一阶导数,α-j是在第三步骤中获得的差错定位多项式σ(X)的根,差错值ej对应于在第三步骤中获得的差错位置的第(N-j)个码元之一。就是说,求出这些差错值后,可通过将差错值加到对应码元来恢复原始码字。
同时,ATV中定义的里德_所罗门代码的详细说明可概括如下。
·RS(207,187),纠错能力t=10(即,80位)
·使用有限伽罗瓦域GF(28)中一部分元素的里德_所罗门代码
·场发生多项式f(x)=X8+X4+X3+X2+1
·代码发生多项式g(x)=(x+α0)(x+α1)...(x+α18)(x+α19)1
·利用里德_所罗门代码只编码信息数据后添加同步字节。
近来,已开发了用于实现里德_所罗门(RS)解码器的数个超大规模集成(VLSI)构架。现有的VLSI里德_所罗门解码器用于恢复由里德_所罗门代码编码的数据,具有对应于8的倍数的纠错能力t。然而,用于在ATV中定义的上述里德_所罗门代码解码器仍未以硬件提出。
发明内容
鉴于上述情况,本发明的一个目的是提供一种用于对由ATV中定义的里德_所罗门代码编码的数据进行解码和纠错以获得原始数据的里德_所罗门解码器。
为实现上述目的,本发明提供一种在高级电视中使用的里德_所罗门解码器,用于对由具有10的t倍数的纠错能力的里德_所罗门代码编码的接收码元解码和纠错,其特征在于包括:
用于产生一个比码元时钟快t的RS时钟的时钟发生装置;
用于根据RS时钟锁存该接收的码元的输入缓冲装置;
用于根据RS时钟锁存自所述输入缓冲装置提供的该接收的码元的FIFO缓冲装置;
用于根据RS时钟从自所述输入缓冲装置提供的该接收的码元计算校正子值的校正子计算装置;
用于根据一个校正子选择信号选择从所述校正子计算装置提供的校正子值和″0×00″值之一的校正子选择装置;
用于根据RS时钟利用从所述校正子选择装置提供的校正子值计算差错定位多项式的系数并提供该差错定位多项式的系数和其最高阶的差错定位多项式计算装置;
用于根据RS时钟利用校正子值和差错定位多项式的系数产生差错值并通过将差错值加到从所述FIFO缓冲装置提供的接收的码元来提供经纠错的恢复的码元的纠错装置;和
用于产生多个控制信号并控制所述校正子计算装置、所述校正子选择装置、所述差错定位多项式计算装置、和所述纠错装置的控制装置。
本发明的上述和其它目的、特性、和优点将从下面结合附图对本发明的优选实施例的详细描述中显而易见。
附图说明
图1是根据本发明在ATV中使用的里德_所罗门解码器的方框图;
图2是说明图1中所示控制器的输入/输出信号的示意图;
图3是图1中所示校正子计算器的方框图;
图4是图3中所示校正子计算单元的方框图;
图5是图1中所示差错定位多项式计算单元的方框图;
图6是图5中所示偏差计算器的方框图;
图7是图1中所示纠错器的方框图;
图8是图7中所示公用元素存储单元的方框图;
图9是图7中所示差错计值多项式计算单元的方框图;
图10是图7中所示差错计值多项式估算单元的方框图;
图11是图7中所示差错定位多项式估算单元的方框图;
图12是根据图7中所示差错值计算器/校正子器的一个实施例的方框图;
图13是根据图7中所示差错值计算器/校正子器的另一个实施例的方框图;
图14是图7中所示恢复失败判断单元的方框图;和
图15是图1中所示位差错率计算器的方框图。
具体实施方式
现在结合附图通过实例对本发明进行详细说明。凡是可能之处,附图中涉及相同或类似部分将使用相同参考标号。
如图1所示,根据本发明在ATV中使用的里德_所罗门解码器包括一个时钟发生器1、一个输入缓冲器2、一个先进先出(FIFO)缓冲器3、一个校正子计算器4、一个ROM5、一个校正子选择器6、一个差错定位多项式计算单元7、一个纠错器8、一个位差错率(BER)计算器9、和一个控制器10。
图1中,时钟发生器1产生比一个码元时钟快10倍的RS时钟RS_CLK,并将其作为时钟信号提供给每个部件,即提供给输入缓冲器2、FIFO缓冲器3、校正子计算器4、差错定位多项式计算单元7、纠错器8、位差错率(BER)计算器9。输入缓冲器2包括8个并联到8位数据总线的D触发器,根据RS时钟RS_CLK锁存由里德_所罗门代码编码的接收码元R_SYM,并将其分别输出到FIFO缓冲器3和校正子计算器4。
FIFO缓冲器3根据RS时钟RS_CLK锁存来自输入缓冲器2的接收码元R_SYM,将其延迟一预定时间,并将其分别输出到纠错器8和BER计算器9。校正子计算器4从由输入缓冲器2输出的接收码元R_SYM计算校正子值,并当码字R_206至R_0中的所有码元被输入时产生最终校正子值SYND,并将其输出到校正子选择器6。
校正子选择器6根据从控制器10输出的校正子通过信号SYND_PASS选择从校正子计算器4输出的校正子值SYND或ROM5中存储的″0×00″值,并将其分别输出到差错定位多项式计算单元7和纠错器8。差错定位多项式计算单元7利用从校正子选择器6输出的校正子值SYND计算差错定位多项式σ(X)的系数σ_COEF,并输出差错定位多项式σ(X)的系数σ_COEF和差错定位多项式σ(X)的最高阶L到纠错器8。
纠错器8利用来自校正子选择器6的校正子值SYND和来自差错定位多项式计算单元7的差错定位多项式σ(X)的系数σ_COEF产生差错值ei,并通过将差错值ei加到来自FIFO缓冲器2的接收码元R_SYM输出经纠错的恢复码元C_SYM。同时,如果差错定位多项式σ(X)的最高阶L大于纠错能力t,纠错器8输出恢复失败信号UNRCVR_FLAG。
BER计算器9通过将接收码元R_SYM与恢复码元C_SYM比较来计算位差错率。控制器10产生并输出用于控制校正子计算器4、校正子选择器6、差错定位多项式计算单元7、纠错器8、和位差错率(BER)计算器9的各种控制信号。
接下来,参考图2至15,将详细描述图1中说明的本发明每个组件的操作。
如图2所示,控制器10接收从外部提供的复位信号RST、启动信号ENA、码元同步信号SSYNC、和从时钟发生器1提供的RS时钟RS_CLK以产生多个控制信号。在这些控制信号中,码元启动信号SCLK_ENA提供给输入缓冲器2和校正子计算器4,第一码字结束信号CW_END1提供给校正子计算器4和差错定位多项式计算单元7,第二码字结束信号CW_END2和校正子选择信号SYND_SEL提供给校正子计算器4。另外,校正子通过信号SYND_PASS提供给校正子选择器6。偏差零信号D0_FLAG、偏差结束信号D_END、差错定位多项式启动信号σ_ENA、偏差启动信号D_ENA,系数选择信号σ_COEF_SEL,和恢复失败复位信号UNRCVR_FLAG_RST提供给差错定位多项式计算单元7。此外,码元编号信号NO_SYM、计算初始化信号CAL_FIRST、计算启动信号CAL_ENA、码元复位信号RST_SYM、初始根选择信号EIA_SEL,和更新根选择信号EA_SEL提供给纠错器8,估算开始信号EVAL_INIT提供给纠错器8和BER计算器9,偏差码字开始信号DCW_START和校验周期信号CHK_PERIOD提供给BER计算器9。
图3示出根据图1中说明的校正子计算器4的实施例的电路图。校正子计算器4包括一个计数器30、一个倒相器31、一个第一校正子计算单元32、一个第一存储单元32a~32j、一个第一多路复用器33、一个第二校正子计算单元34、一个第二存储单元34a~34j、一个用于存储″-10″的第三存储单元35、一个加法器36、一个第二多路复用器37、一个比较器38、和一个第三多路复用器39。
在图3中,作为4位计数器的计数器30与RS时钟RS_CLK同步以进行计数并输出计数值作为阿尔法根选择信号ALPHA_SEL。倒相器31将码元启动信号SCLK_ENA倒相,并将该倒相的信号提供给第一计数器30的清零端。通过与RS时钟RS_CLK同步来操作第一校正子计算单元32,接收该接收码元R_SYM,根据阿尔法根选择信号ALPHA_SEL利用第一存储单元32a~32j中存储的阿尔法根α1来计算一个校正子值,并向第一多路复用器33输出10个校正子值S0至S9。第一多路复用器33根据校正子选择信号SYND_SEL顺序地选择和输出从第一校正子计算单元32计算的校正子值。同样,通过与RS时钟RS_CLK同步来操作第二校正子计算单元34,接收该接收码元R_SYM,根据阿尔法根选择信号ALPHA_SEL利用第二存储单元34a~34j中存储的阿尔法根α1来计算一个校正子值,并向第二多路复用器37输出10个校正子值S10至S19。加法器36将第三存储单元35中存储的值″-10″与校正子选择信号SYND_SEL相加,并输出该结果作为第二多路复用器37的选择信号。第二多路复用器37根据加法器36的输出顺序地选择和输出来自第二校正子计算单元34计算的校正子值S10至S19。比较器38将校正子选择信号SYND_SEL与预定参考信号″9″比较,当校正子选择信号大于″9″时输出″0″,而当其小于″9″时输出″1″。如果从比较器38输出的是″1″,第三多路复用器39选择来自第一多路复用器33的输出,而如果比较器38的输出是″0″则选择来自第二多路复用器34的输出,并输出该选择结果作为校正子值SYND。即,第三多路复用器39根据校正子选择信号SYND_SEL顺序输出校正子值S0至S19
图3中,第一校正子计算单元32的结构与第二校正子计算单元34的相同并在图4中示出其详细电路图。
图4中示出的第一校正子计算单元32包括一个控制信号发生器41、一个第一移位寄存器42、一个第二移位寄存器43、一个第四多路复用器44、和一个校正子项运算器45。另外,控制信号发生器41包括一个″或″门41a、三个″与″门41b、41d、和41f,以及两个倒相器41c和41e。校正子项运算器45包括一个第五多路复用器45-1、一个伽罗瓦乘法器45-2、和一个伽罗瓦加法器45-3。
在图4中,在接收一个非编码同步字节SYNCBYTE后,接收码元R_SYM形成一个按接收顺序从最高阶码元R_206到最低阶码元R_0的码字。因此,在接收同步字节的码元时钟周期期间,码字开始信号CW_START被产生为″高电平″,在接收最低阶码元R_0的码元时钟周期期间,第一码字结束信号CW_END1被产生为″高电平″,接收倒数第二码元R_1的码元时钟周期期间,第二码字结束信号CW_END2被产生为″高电平″。
在控制信号发生器41中,第一″或″门41a对从控制器(图1中的参考标号10)提供的信号,即第一码字结束信号CW_END1和第二码字结束信号CW_END2进行逻辑″或″运算。第一″与″门41b对来自第一″或″门41a的输出信号和一个启动信号ENA进行逻辑″与″运算,并将该结果作为启动信号ENA提供给第二移位寄存器43。来自外部的复位信号RST作为复位信号RST提供给第二移位寄存器43。第一倒相器41c将第一码字结束信号CW_END1倒相。第二″与″门41d对来自第一倒相器41c的输出信号和来自外部的复位信号RST进行逻辑″与″运算,并将该结果作为复位信号RST提供给第一移位寄存器42。第二倒相器41e使从控制器(图1的参考标号10)提供的码字开始信号SW_START倒相。第三″与″门41f对来自第二倒相器41e的输出信号和来自外部的启动信号ENA进行逻辑″与″运算,并将该结果作为启动信号ENA提供给第一移位寄存器42。
第一移位寄存器42存储连接到8位数据总线的10个中间校正子值。当输入从码字的第一码元R_206到倒数第二个码元R_1时第一移位寄存器42处在启动状态。第一移位寄存器42根据RS时钟RS_CLK接收从校正子项运算器45输出的中间校正子值,将其移位并提供给第四多路复用器44。
第二移位寄存器43存储10个校正子值。当输入码字的倒数第二码元R_1到最后码元R_0时第二移位寄存器43处在启动状态。第二移位寄存器43根据RS时钟RS_CLK接收从校正子项运算器45输出的校正子值,将其移位并输出到第四多路复用器44,并向校正子选择器(图1的参考标号6)输出最终的校正子值S0~S9
当输入码字的第一码元R_206到倒数第二个码元R_1时,第四多路复用器44根据从控制器(图1中的参考标号10)提供的第一码字结束信号CW_END1选择第一移位寄存器42的输出值,而当输入最后码元时,第四多路复用器44选择第二移位寄存器43的输出值,以便向校正子项运算器45输出该输出值。
在校正子项运算器45中,第五多路复用器45-1根据阿尔法根选择信号ALPHA_SEL顺序地选择代码发生多项式g(X)的根α0~α9,并将它们输出。伽罗瓦乘法器45-2接收从第五多路复用器45-1输出的阿尔法根和从第四多路复用器44输出的中间校正子值,并在RS时钟RS_CLK单元中进行伽罗瓦乘法运算。伽罗瓦加法器45-3在RS时钟RS_CLK单元中对从伽罗瓦乘法器45-2输出的值和码元单元中输入的接收码元R_SYM进行伽罗瓦加法运算。
接下来,将详细描述在图4的第一和第二校正子计算单元32和34中里德_所罗门编码接收码元R_206-R_0的校正子计算处理。
在第一码元周期期间,第四多路复用器44通过第一码字结束信号CW_END1选择从第一移位寄存器42输出的初始值″0、0、...、0″,并将它们输出到校正子项运算器45的伽罗瓦乘法器45-2。伽罗瓦乘法器45-2在RS时钟RS_CLK单元中操作,对从第四多路复用器44输出的″0、0、...、0″和ROM(图3中的参考标号32a-32j)中存储的阿尔法根α09进行伽罗瓦乘法运算,并输出该结果″0、0、...、0″到伽罗瓦加法器45-3。伽罗瓦加法器45-3对第一码元R-206和从伽罗瓦乘法器45-2输出的值″0、0、...、0″进行伽罗瓦加法运算,并在第一移位寄存器42中存储该结果″R_206、R_206、...、R_206″。
第二码元周期期间,第四多路复用器44通过第一码字结束信号CW_END1选择从第一移位寄存器42输出的值″R_206、R_206、...、R_206″,并将它们输出到校正子项运算器45的伽罗瓦乘法器45-2。伽罗瓦乘法器45-2在RS时钟RS_CLK单元中操作,对从第四多路复用器44输出的值″R_206、R206、...、R_206″和阿尔法根α0~α9分别进行伽罗瓦乘法运算,并输出该结果″R_206×α0、R_206×α1、...,R_206×α9″到伽罗瓦加法器45-3。伽罗瓦加法器45-3对第二码元R-205和从伽罗瓦乘法器45-2输出的值″R_206×α0、R_206×α1、...、R_206×α9″进行伽罗瓦加法运算,并在第一移位寄存器42中存储该结果″R_206×α0+R_205、R_206×α1+R_205、R_206×α2+R_205、...,R_206×α9+R_205″。
以相同方法,在输入第三码元R_204的第三码元时钟周期期间,在第一移位寄存器42中存储″(R_206×α0+R_205)α0+R_204、(R_206×α1+R_205)α1+R_204、...、(R_206×α9+R_205)α9+R_204″。
在上面的处理中,连续更新第一移位寄存器42中存储的中间校正子值直到输入一个码字的倒数第二个码元R_1。
同时,当输入该码字的倒数第二个码元R_1时,第二移位寄存器43处在启动状态,并更新第一码元R_206和倒数第二个码元R_1。在第二移位寄存器43中存储计算的校正子值。
该时间期间,第四多路复用器44通过第一码字结束信号CW_END1选择第二移位寄存器43中存储的中间校正子值,并将其输出到伽罗瓦乘法器45-2。在RS时钟RS_CLK单元中操作的伽罗瓦乘法器45-2对从第四多路复用器44输出的第二移位寄存器43的中间校正子值和阿尔法根α09分别进行伽罗瓦乘法运算,并将该结果存储在第二移位寄存器43中。因此,从第一码元R_206到最后码元R_0计算的最终校正子值被存储在第二移位寄存器43中。此时,复位第一移位寄存器42以存储下一个码字的校正子值。即,如果输入到最后的所有码元,第二移位寄存器43中存储的1个码字的校正子值S[0]、S[1]、...、S[9]由下面的数学表达式表示。
表达式4
S[0]=((R206α0+R2050+...+R10+R0
S[1]=((R206α1+R2051+...+R11+R0
S[9]=((R206α9+R2059+...+R19+R0
图5示出根据图1中说明的差错定位多项式计算单元7的实施例的电路图。差错定位多项式计算单元7包括一个偏差计算器51、一个变量发生器52、一个用于存储一个查阅表的存储器53、一个第一伽罗瓦乘法器54、一个第一移位寄存器55、一个选择器56、一个第二伽罗瓦乘法器57、一个第一伽罗瓦加法器58、一个倒相器59a、和一个″与″门59b。另外,选择器56包括一个第一″或″门56a、一个第二″或″门56b、一个用于存储″0×00″的ROM56-1、一个第一多路复用器56-2、和一个第二多路复用器56-3。
接下来,详细描述应用于图5中说明的差错定位多项式计算单元7的递归Berlekamp算法(RBA)。
在用于进行与t的数量同样多的纠错,根小于数量t的里德_所罗门代码的情况下,可通过由Berlekamp算法得出的下面的数学表达式5获得差错定位多项式。
表达式5
σ(X)=(1+αi1X)(1+αi2X)...(1+αitX)
RBA重复下列4个步骤。
步骤1:设定初始条件
σ0(X)=1,B0(X)1,k0=0,L0=0,b0=1
在此,σ0(X)是差错定位多项式σ(X)的初始值,B0(X)是中间值B(X)的初始值,L0是L(实际差错定位多项式σ(X)的阶)的初始值,k0是k(变量X的阶)的初始值,b0是最近的偏差b的初始值。
同时,需要包括常数的t+1个寄存器以存储具有t个根的差错定位多项式σ(X)的系数。当更新差错定位多项式σ(X)时遇到增加阶数的要求时逐一地增加差错定位多项式σ(X)的阶L。
另外,B(X)、k、b值被用于更新差错定位多项式σ(X)。
步骤2:计算偏差
在(N,N-2t)码中,计算第2t个偏差。
偏差的初始值d0等于校正子值S0,可通过下面的数学表达式6计算除初始值之外的剩余偏差。
表达式6
d N = S N + Σ i = 1 L σ i S N - 1 , ( 1 ≤ N )
在上面的数学表达式6中,dN重复偏差,σi是校正子多项式的系数,SN和SN-1是校正子值。
步骤3:更新
根据下列条件对三种情况进行更新。
情况1:dN=0
  →将k增加″1″
情况2:dN≠0,2LN≤N
→σN+1(X)=σN(X)-dNbN -1XkBN(X)
→LN+1=N+1-LN
→k=1
→BN+1(X)=σN(X)
→bN+1=dN
情况3:dN≠0,2LN>N
→σN+1(X)=σN(X)-dNbN -1XkBN(X)
→将k加″1″
步骤4:重复执行上面的步骤2直到N=2t
接下来,参考图5,将详细描述差错定位多项式计算单元7的操作。
当计算一个第一偏差d0时,偏差零标记D0_FLAG是一个″高电平″信号,当计算的偏差是″0″时,偏差零信号D_ZERO是一个″高电平″信号,当dN≠0,2LN>N(在此,dN表示偏差,LN表示差错定位多项式σ(X)的最高阶级)时,情况3的标记信号CASE3_FLAG是一个″高电平″信号。
偏差计算器51接收从校正子计算器(图1中的参考标号4)输出的校正子值并更新差错定位多项式σ_IN,进行RBA的步骤2以便从d0到d19计算20个偏差。另外,偏差计算器51在预定时间期间延迟在第一伽罗瓦加法器58中更新并输出的差错定位多项式σ_IN,并将其作为一个差错定位多项式σ_OUT输出。此外,偏差计算器51输出最后更新的差错定位多项式σ_OUT作为差错定位多项式σ(X)。
变量发生器52接收″D_ZERO″信号、″D0_FLAG″信号、和偏差d,并向存储器53输出最后偏差b的指数N。同时,通过执行RBA的步骤3,当当前状态对应于情况3时,即dN≠0,2LN>N,输出″CASE_FLAG″信号并输出差错定位多项式σ(X)的实际阶L。
存储器53接收从变量发生器52输出的最后偏差b的指数N,并输出一个倒数b-1。第一伽罗瓦乘法器54对从偏差计算器51输出的偏差d和从存储器53输出的最后偏差b的倒数b-1进行伽罗瓦乘法运算,并将结果输出到第二伽罗瓦乘法器57。
第一移位寄存器55用于获得值XkB(X),和存储用于更新差错定位多项式σ(X)的中间值。第一移位寄存器55根据RS时钟RS_CLK移位并输出从选择器56的第二多路复用器56_3输出的值,并同时将其反馈。
在选择器56中,第一″或″门56a向第二多路复用器56_3输出通过组合″D0_FLAG″信号和CASE3_FLAG信号获得的选择信号SEL2。第二″或″门56b向第一多路复用器56_3输出通过组合″D_ZERO″信号和选择信号SEL2获得的选择信号SEL1。第一多路复用器56_2根据选择信号SEL1选择从偏差计算器51输出的差错定位多项式σ_OUT或ROM56-1中存储的″0×00″,并将其输出到第二多路复用器56-3。第二多路复用器56_3根据选择信号SEL2选择从第一多路复用器56-2输出的或从第一移位寄存器55输出的差错定位多项式σ_OUT,并将其输出到第一移位寄存器55。即,在选择器56中,根据″CASE3_FLAG″、D0_FLAG″、和″D_ZERO″信号进行RBA的步骤3。换句话说,对于情况1选择ROM56-1的″0×00″值并输出到第一移位寄存器55。对于情况2选择偏差计算器51的输出σ_OUT并输出到第一移位寄存器55。对于情况3反馈和移位第一移位寄存器55的第10个端子中存储的值。因此,仅当其对应于情况2时更新第一移位寄存器55。最后,通过上面的操作。对于情况1第一移位寄存器55仅移位一次。对于情况2更新第二移位寄存器(图6中的参考标号61)、第一移位寄存器55、阶L、和最近偏差b,对于情况3,第一移位寄存器55移位一次和仅更新第二移位寄存器61。
伽罗瓦乘法器57对来自第一伽罗瓦乘法器54的输出值和来自第一移位寄存器55的输出值进行伽罗瓦乘法运算,并将该结果输出到第一伽罗瓦加法器58。第一伽罗瓦加法器58对来自第二伽罗瓦乘法器57的输出值和差错定位多项式σ_OUT进行伽罗瓦加法运算,并将该结果作为更新的差错定位多项式σ_IN反馈到偏差计算器51。
第一倒相器59a反相第一码字结束信号CW_END1。第一″与″门59b对来自外部的复位信号和来自第一倒相器59a的输出信号进行逻辑″与″运算,并将该结果作为复位信号RST提供给第一移位寄存器55。
图6示出根据图5中说明的偏差计算器51的实施例的电路图。偏差计算器51包括一个第二寄存器61、一个第二倒相器61a、一个第二″与″门61b、一个第三多路复用器62、一个第三伽罗瓦乘法器63、一个第二伽罗瓦加法器64、一个反馈向量寄存器65、一个第三倒相器65a、一个第三″与″门65b、一个输出向量寄存器66、一个判断单元67、和一个系数输出单元68。系数输出单元68包括一个选择信号发生器68-1、一个第四多路复用器68-2、一个存储″0×00″的ROM68-3、一个第五多路复用器68-4。
图6中,在第二寄存器61中,串联的11个寄存器(=t+1)根据RS时钟RS_CLK移位和输出从第一伽罗瓦加法器58输出的更新差错定位多项式σ_IN,并输出并联的一到十级的最终更新值。该输出值对应差错定位多项式σ(X)的系数。
第三多路复用器62根据″D0_FLAG″信号有选择地输出从第一伽罗瓦加法器58输出的差错定位多项式σ_IN或从第二寄存器61移位和输出的差错定位多项式σ_OUT。即,第三多路复用器62以对应于第一偏差d0的计算的″高电平″D0_FLAG有选择地输出从第二寄存器61移位和输出的差错定位多项式σ_OUT。接下来,第三多路复用器62以对应于剩余偏差d1到d19的计算的″低电平″D0_FLAG选择更新输出的差错定位多项式σ_IN,并将选择结果输出到第三伽罗瓦乘法器63。
第三伽罗瓦乘法器63对从校正子计算器(图1中的参考标号4)输出的校正子值SYND和从第三多路复用器62输出的值进行伽罗瓦乘法运算,并将结果输出到第二伽罗瓦加法器64。第二伽罗瓦加法器64对从第三伽罗瓦乘法器63输出的值和反馈值进行伽罗瓦加法运算,并将和数输出到反馈寄存器65和输出寄存器66。
反馈寄存器65根据RS时钟RS_CLK锁存来自第二伽罗瓦加法器64的输出值以将其反馈到第二伽罗瓦加法器64。第三倒相器65a倒相″D_END″信号。第三″与″门65b对来自外部的复位信号RST和来自第三倒相器65a的输出信号进行逻辑″与″运算,并将结果作为复位信号提供给反馈向量寄存器65。
由″D_END″信号启动的输出向量寄存器66锁存来自第二伽罗瓦加法器64的输出值并将其作为最终偏差d输出。判断单元67确定从输出向量寄存器66输出的偏差是否为″0″,如果是″0″为RBA的步骤3输出高电平″D_ZERO″信号。
在系数输出单元68中,选择信号发生器68-1接收系数选择信号σ_CORF_SEL,并为第四和第五多路复用器68-2和68-4产生选择信号SEL4和SEL5。第五多路复用器68-2根据选择信号SEL4从第二移位寄存器61并行输出的10个值有选择地输出一个。第五多路复用器68-4根据选择信号SEL5选择从第四多路复用器68-2输出的值或ROM68-3的″0×00″,并将其作为系数σ_COEF输出到差错定位多项式。
图7示出根据图1说明的纠错器8的实施例的电路图。纠错器8包括一个公用元素存储单元70、一个差错计值多项式计算单元71、一个差错计值多项式估算单元72、一个差错定位多项式估算单元73、一个差错值计算/校正子单元74、和一个恢复失败判断单元75。
图7中,公用元素存储单元70存储与用于处理来自里德_所罗门代码的最高阶的估算的伽罗瓦域元素的倒数对应的初始根(α-N/1,1≤i≤t)和存储与用于更新下一个码元的阶的伽罗瓦域元素对应的更新根(αi,1≤i≤t),并提供一个根值以处理差错计值多项式Ω(X)和差错定位多项式σ(X)的估算。
差错计值多项式计算单元71接收从校正子计算器(图1中的参考标号4)输出的校正子值SYND和差错定位多项式的系数σ_COEF,并将两个值相乘且向差错计值多项式输出系数σ_COEF。
差错计值多项式估算单元72通过使用从公用元素存储单元70输出的初始根(α-N×1,1≤i≤t)和伽罗瓦域元素、更新根(αi,1≤i≤t)来估算差错计值多项式Ω(X)和差错估算系数Ω_COEF,并将结果作为一个差错估算值Ω_VAL输出。
差错定位多项式估算单元73通过使用从公用元素存储单元70输出的初始根(α-N×1,1≤i≤t)和伽罗瓦域元素、更新根(αi,1≤i≤t)从差错定位多项式的系数σ_COEF估算差错定位多项式σ(X),并输出差错位置信号ERR_FLAG。另外,差错定位多项式估算单元73估算差错定位多项式σ(X)的微分值、一个微分多项式σ′(X),并输出该结果作为一个微分估算值σp_VAL。
差错值计算和校正单元74接收微分估算值σp_VAL和差错估算值Ω_VAL,采用Forney算法计算差错值ei,并输出该结果。另外,差错值计算和校正单元74根据差错产生信号ERR_FLAG将差错值ei加到接收的码元R_SYM,并输出一个纠错的恢复的码元C_SYM。
恢复失败判断单元75确定纠错的恢复的码元C_SYM是否正确,并根据该结果输出恢复失败信号UNRCVR_FLAG。
接下来,参考图8到14详细描述纠错器7的操作。
图8示出根据图7中公用元素存储单元70的实施例的方框图。公用元素存储单元70包括第一ROM80-1~80-10、一个第一多路复用器80-11、第二ROM80-12~80-21、和一个第二多路复用器80-22。
在图8中,第一ROM80-1~80-10存储初始根1ALPHAα-207、α-207×2α-207×3、...、α-207×10用于初始化估算处理。第一多路复用器80-11根据初始根选择信号ELA_SEL选择并顺序输出ROM80-1~80-10的初始根。
第二ROM80-11~80-21存储用于更新阶的伽罗瓦域元素、更新根α1、α2、α3、...、α10。第二多路复用器80-22根据更新根选择信号EA_SEL选择并顺序输出ROM80-1~80-10的更新根。
图9示出根据图7中差错计值多项式计算单元71的实施例的方框图。差错计值多项式计算单元71包括一个伽罗瓦乘法器91、一个伽罗瓦加法器92、一个多路复用器93、和一个移位寄存器94。
图9中,伽罗瓦乘法器91接收差错定位多项式的系数σ_COEF和校正子值SYND,对它们进行伽罗瓦乘法运算,并将结果输出到伽罗瓦加法器92。伽罗瓦加法器92对来自伽罗瓦乘法器91的输出值和来自移位寄存器94的输出值进行伽罗瓦加法运算,并将结果输出到多路复用器93。多路复用器93根据初始信号FIRST_FLAG有选择地输出差错定位多项式的系数σ_COEF或来自伽罗瓦加法器92的输出。用于存储差错计值多项式的系数Ω1~Ω10的移位寄存器94通过与RS时钟RS_CLK同步来移位来自多路复用器93的输出,并将移位的值反馈到伽罗瓦加法器92。可由下面的表1表示差错计值多项式的计算系数。
表1
Ω0=1
Ω1=S1+σ1
Ω2=S2+σ1·S1+σ2
Ω3=S3+σ1·S2+σ2·S1+σ3
Ω4=S4+σ1·S3+σ2·S2+σ3·S1+σ4
Ω5=S5+σ1·S4+σ2·S3+σ3·S2+σ4·S1+σ5
Ω6=S6+σ1·S5+σ2·S4+σ3·S3+σ4·S2+σ5·S1+σ6
Ω7=S7+σ1·S6+σ2·S5+σ3·S4+σ4·S3+σ5·S2+σ6·S1+σ7
Ω8=S8+σ1·S7+σ2·S6+σ3·S5+σ4·S4+σ5·S3+σ6·S2+σ7·S1+σ8
Ω9=S9+σ1·S8+σ2·S7+σ3·S6+σ4·S5+σ5·S4+σ6·S3+σ7·S2+σ8·S1+σ9
Ω10=S10+σ1·S9+σ2·S8+σ3·S7+σ4·S6+σ5·S5+σ6·S4+σ7·S3+σ8·S2+σ9·S1+σ10
如表1中所示,差错计值多项式Ω(X)的零阶系数Ω0总是″1″,不必将其存储,因此需要10个寄存器存储差错计值多项式Ω(X)的系数而不是11个。仅使用第一到第十校正子S1至S10的校正子值。
接下来,将详细描述图9中说明的差错计值多项式计算单元71的操作。
第一码元周期期间,根据RS时钟RS_CLK输入在差错定位多项式计算单元(图1中的参考标号7)中计算的第一至第十阶σ1至σ10的系数。根据控制器10的初始信号FIRST_FLAG,多路复用器93选择差错定位多项式的第一至第十阶,并将其存储到移位寄存器94。
第二码元周期期间,差错定位多项式的0阶系数(σ0=″1″)提供给伽罗瓦乘法器91的一个输入端,根据RS时钟RS_CLK在另一个输入端输入″S1、S2、S3、S4、S5、S6、S7、S8、S9、S10″阶校正子,以进行伽罗瓦乘法运算。伽罗瓦加法器92对来自伽罗瓦乘法器91的输出和来自移位寄存器94的中间值进行伽罗瓦加法运算。多路复用器93选择来自伽罗瓦加法器92的输出,并将其输出到移位寄存器94。因此,移位寄存器94中存储的值是S1+σ1、S2+σ2、S3+σ3、...、S9+σ9、S10+σ10。
第三码元周期期间,差错定位多项式的第一个系数σ1提供给伽罗瓦乘法器91的一个端子,根据RS时钟RS_CLK在另一个输入端输入″0、S1、S2、S3、S4、S5、S6、S7、S8、S9″阶校正子。多路复用器93选择来自伽罗瓦加法器92的输出,并将其输出到移位寄存器94。因此,移位寄存器94中存储的值是S1+σ1、S2+σ1·S1+σ2、S3+σ1·S2+σ3、...、S9+σ1·S8+σ9、S10+σ1·S9+σ10。
第四码元周期期间,保持差错定位多项式的第二个系数σ2,并根据RS时钟RS_CLK输入″0、0、S1、S2、S3、S4、S5、S6、S7、S8″阶校正子。因此,移位寄存器94的值是S1+σ1、S2+σ1·S1+σ2、S3+σ1·S2+σ2·S1+σ3、...、S9+σ1·S8+σ2·S7+σ9、S10+σ1·S9+σ2·S8+σ10。
连续地,最后和第11个码元时钟期间,保持差错定位多项式的第十个系数σ10,并根据RS时钟RS_CLK输入″0、0、0、0、0、0、0、0、0、S1″阶校正子。因此,移位寄存器94的值是表1中所示的系数Ω1~Ω10。
在此,根据控制器(图1中的参考标号10)的校正子通过信号SYND_PASS,有选择地将来自校正子选择器(图1中的参考标号6)的对应校正子值SYND或″0×00″输入到伽罗瓦乘法器91。即,在移位寄存器94被根据初始信号FIRST_FLAG初始化成系数σ_COEF:σ1~σ10后,对差错定位多项式的系数σ_COEF和校正子值SYND进行伽罗瓦乘法运算,对该乘积值和移位寄存器94中预先存储的中间值进行伽罗瓦加法运算以更新差错计值多项式的系数σ_COEF:Ω1~Ω10。
图10示出根据图7中差错计值多项式估算单元72的实施例的方框图。差错计值多项式估算单元72包括一个第一伽罗瓦乘法器100、一个项选择器102、一个阶更新单元104、一个项运算器106、和一个差错估算值输出单元108。另外,阶更新单元104包括一个移位寄存器104-1和一个伽罗瓦乘法器104-2。项运算器106包括一个伽罗瓦加法器106-1、一个用于存储″0×00″的ROM106-2、一个倒相器106-3、一个″与″门106-4、一个多路复用器106-5、和一个多路复用器106-6。另外,差错估算值输出单元108包括一个和数寄存器108-1、一个用于存储″0×01″的ROM108-2、一个伽罗瓦加法器108-3。
在图10中,根据初始选择信号EIA_SEL在RS时钟RS_CLK单元中有选择地将来自公用元素存储单元70的第一多路复用器80-11的输出,即用于估算最高阶接收码元的初始根α-207、α-207×2、α-207×3、...、α-207×10输入到伽罗瓦乘法器的一个输入端。另外,在差错计值多项式计算单元(图7中的参考标号71)中计算的差错计值多项式的系数Ω_COEF依次输入到另一个输入端。第一伽罗瓦乘法器100对这两个值进行伽罗瓦乘法运算,并向项选择器102依次输出初始项值INITIALΩ1α-207、Ω2α-207×2、Ω3α-207×3、Ω4α-207×4、Ω5α-207×5、Ω6α-207×6、Ω7α-207×7、Ω8α-207×8、Ω9α-207×9、Ω10α-207×10
项选择器102根据初始信号INIT_FLAG选择初始项值,并将其输出到阶更新单元104的10个移位寄存器104-1。10个移位寄存器104-1根据RS时钟RS_CLK移位初始项值INITIAL,并将最后的值输出到第二伽罗瓦乘法器104-2。
同时,公用元素存储单元(图7中的参考标号70)的第二多路复用器80-22依次选择第二ROM80-12~80-21中存储的值α1、α2、α3、α4、α5、α6、α7、α8、α9、α10,并将它们输出到伽罗瓦乘法器104-2。伽罗瓦乘法器104-2系统地对移位寄存器104-1的项值和用于更新阶的ROM值进行伽罗瓦乘法运算,并根据RS时钟RS_CLK输出结果Ω1Ω-206、Ω2α-206×2、Ω3α-206×3、Ω4α-206×4、Ω5α-206×5、Ω6α-206×6、Ω7α-206×7、Ω8α-206×8、 Ω9α-206×9、Ω10α-206×10
项运算器106的伽罗瓦加法器106-1将从伽罗瓦乘法器104-2输出的项值与来自和数寄存器106-6的反馈值相加,并将结果输出到多路复用器106-5。和数寄存器106-6锁存从多路复用器106-5输出的值,并将其反馈到伽罗瓦加法器106-1。通过项运算器106输出用于最高阶接收码元R_206的差错计值多项式从第一至第八项的和(SUM1=Ω1α-206、Ω2α-206×2、Ω3α-206×3、Ω4α-206×4、Ω5α-206×5、Ω6α-206×6、Ω7α-206×7、Ω8α-206×8、Ω9α-206×9、Ω10α-206×10)。
差错估算值输出单元108的和数寄存器108-1处在由码元复位信号RST_SYM启动的状态,锁存从伽罗瓦加法器106-1输出的和数SUM1,并将其输出到伽罗瓦加法器108-3。伽罗瓦加法器108-3对和数值SUM1和与从ROM108-2加载的0阶系数Ω0对应的值″0×01″进行伽罗瓦加法运算,并输出用于处理第一接收码元R_206的差错估算的值Ω(α206)作为差错计值多项式的估算值Ω_VAL。
接下来,为处理接收码元R_205的差错估算,由项选择器102选择从阶更新单元104的伽罗瓦乘法器104-2输出的值Ω1α-206×1、Ω2α-206×2、Ω3α-206×3、Ω4α-206×4、Ω5α-206×5、Ω6α-206×6、Ω7α-206×7、Ω8α-206×8、Ω9α-206×9、Ω10α-206×10,并将选择结果输出到移位寄存器104-1。
10个移位寄存器104-1根据RS时钟RS_CLK移位来自项选择器102的输出,并将其输出到伽罗瓦乘法器104-2。伽罗瓦乘法器104-2对该输出值和用于更新从公用元素存储单元(图7中的参考标号70)输出的阶的更新根α1、α2、α3、α4、α5、α6、α7、α8、α9、α10进行伽罗瓦乘法运算。
然后,将从伽罗瓦乘法器104-2输出的值Ω1α-205×1、Ω2α-205×2、Ω3α-205×3、Ω4α-205×4、Ω5α-205×5、Ω6α-205×6、Ω7α-205×7、Ω8α-205×8、Ω9α-205×9、Ω10α-205×10输入到项运算器106和项选择器102以更新它们的阶。项运算器106和项选择器102进行用于重复上述操作的差错估算处理,并因此通过差错估算输出单元108获得差错估算值Ω(α-205)。
连续地,重复用于为接收码元R_205处理上述差错估算的操作到码字的最后符号R_0。
图11示出根据图7中差错定位多项式估算单元73实施例的方框图。差错定位多项式估算单元73包括:一个进一步包括一个初始化单元110、一个项选择器111、和一个第一阶更新单元112的更新单元;一个用于估算差错定位多项式σ(X)并输出差错位置信号ERR_FLAG并进一步包括一个第一多项运算器113、一个第二多项运算器114、和一个差错判断单元115的第一估算单元;和一个用于估算差错位置微分多项式σ′(X)并输出微分估算值σp_VAL且进一步包括一个奇数阶项选择器116、一个第二更新单元117、一个第三多项运算器118、和一个微分估算值输出单元119的第二估算单元。
接下来,通过下面三个过程描述图11中说明的差错定位多项式估算单元73的操作。
(1)初始化过程
根据RS时钟RS_CLK单元中产生的初始选择信号EIA_SEL从第一多路复用器(图8中的参考标号80-11)向伽罗瓦乘法器110的一个输入端有选择地输入伽罗瓦域的倒数值IALPHA α-207×1、α-207×2、α-207×3、α-207×4、α-207×5、α-207×6、α-207×7、α-207×8、α-207×9、α-207×10。另外,在另一个输入端依次输入在差错计值多项式计算单元(图7中的参考标号71)中计算的差错计值多项式的系数σ_COEF:σ1、σ2...、σ10。在RS时钟RS_CLK单元中工作的伽罗瓦乘法器110对这两个值进行伽罗瓦乘法运算,并向项选择器111依次输出初始值INITIALσ1α-207×1、σ2α-207×2、σ3α-207×3、σ4α-207×4、σ5α-207×5、σ6α-207×6、σ7α-207×7、σ8α-207×8、σ9α-207×9、σ10α-207×10
项选择器111根据初始信号INIT_FLAG选择初始化值,并将其输出到10个移位寄存器112-1。10个移位寄存器112-1根据RS时钟RS_CLK对从项选择器111输出的初始化值INITIAL移位,并将其输出到伽罗瓦乘法器112-2。同时,公用元素存储单元(图7中的参考标号70)的第二多路复用器80-22根据RS时钟RS_CLK单元中产生的更新选择信号EA_SEL从第二ROM80-12~80-21依次选择值α1、α2、α3、α4、α5、α6、α7、α8、α9、α10,并将它们输出到伽罗瓦乘法器112-2。伽罗瓦乘法器112-2在RS时钟RS_CLK单元中对从移位寄存器112-1输出的初始化值INITIAL和更新根ALPHA分别进行伽罗瓦乘法运算,并系统地输出该结果:σ1α-206×1、σ2α-206×2、σ3α-206×3、σ4α-206×4、σ5α-206×5、σ6α-206×6、σ7α-206×7、σ8α-206×8、σ9α-206×9、σ10α-206×10
(2)用于产生差错位置信号(ERR_FLAG)的估算过程
多项运算器113的伽罗瓦加法器113-1对从伽罗瓦乘法器112-2输出的项值和来自和数寄存器113-6的反馈值进行伽罗瓦加法运算,并将结果输出到多路复用器113-5。多路复用器113-5根据由对复位信号RST和倒相码元复位信号RST_SYM的逻辑″与″运算所输出的信号选择从伽罗瓦加法器113-1输出的值或ROM113-2的″0×00″,并向和数寄存器113-6输出所选择的值。和数寄存器113-6根据RS时钟RS_CLK锁存从多路复用器113-5输出的值,将其反馈到伽罗瓦加法器113-1。″与″门113-4的输出信号复位和数寄存器113-6。因此,在第一多项运算器113中计算差错定位多项式σ(X)的第一至第十阶的项和数(SUM1=σ1α-206×1、σ2α-206×2、σ3α-206×3、σ4α-206×4、σ5α-206×5、σ6α-206×6、σ7α-206×7、σ8α-206×8、σ9α-206×9、σ10α-206×10)。
同时,由码元复位RST_SYM启动的第二多项运算器114的和数寄存器114-1锁存从第一多项运算器113输出的和数值SUM1,并将其输出到伽罗瓦加法器114-3。伽罗瓦加法器114-3对和数值和与从ROM114-2输出的0阶系数σ0对应的值″0×00″进行伽罗瓦加法运算,并将该结果作为差错定位多项式的位置估算值σ_VAL输出。
如果该估算值是″0″,判断单元115接收从第二多项运算器114输出的位置估算值σ_VAL,产生差错位置信号ERR_FLAG为″1″以表示差错产生,如果该估算值不是″0″,判断单元115产生差错位置信号ERR_FLAG为″0″ 以表示未产生差错。
在上面,估算过程已描述了用于为接收码元R_206确定差错产生位置的程序。用相同程序产生剩余接收码元的差错位置信号ERR_FLAG。
(3)输出微分估算值的估算过程
奇数阶项选择器116的多路复用器116-2使用更新根选择信号EA_SEL的最低位作为选择信号EA_SEL0。多路复用器116-2接收从伽罗瓦乘法器112-2输出的项值和从ROM116-1输出的值″0×00″,依次选择σ1α-206×1、0×00、σ3α-206×3、0×00、σ5α-206×5、0×00、σ7α-206×7、0×00、σ9α-206×9、0×00,并将它们输出到第三多项运算器118的伽罗瓦乘法器118-1。
同时,根据RS时钟RS_CLK由用于倒相初始信号INIT_FLAG,由码元复位信号RST_SYM启动的信号倒相第二阶更新单元117的寄存器117-3以锁存从伽罗瓦乘法器117-5的输出。另外,寄存器117-3装入ROM117-2中存储的值α206,并将其输出到第三多项运算器118的伽罗瓦乘法器118-1和伽罗瓦乘法器117-5。在此,伽罗瓦乘法器117-5对ROM117-4中存储的值α-1和从寄存器117-3输出的值进行伽罗瓦乘法运算,并将结果反馈到寄存器117-3。
第三多项运算器118的伽罗瓦乘法器118-1对从寄存器117-3输出的α206和从奇数阶项选择器116输出的值进行伽罗瓦乘法运算,并根据RS时钟RS_CLK向伽罗瓦加法器118-2依次输出值σ1α-206×1α206、0×00、σ3α-206×3α206、0×00、σ5α-206×5α206、0×00、σ7α-206×7α206、0×00、σ9α-206×9α206、0×00。伽罗瓦加法器118-2对从伽罗瓦乘法器118-1输出的值和从和数寄存器118-3输出的值进行伽罗瓦加法运算,并将结果反馈到和数寄存器118-3。和数寄存器118-3根据RS时钟RS_CLK接收从伽罗瓦加法器118-2输出的值,并由码元复位信号RST_SYM将其复位。
由码元复位信号RST_SYM启动微分估算值输出单元119,并通过锁存从伽罗瓦加法器118-2输出的值,即微分估算值σp_VAL,为接收码元输出微分估算值σp_VAL。
就是说,该用于接收码元R_206的微分估算值作为值σ1α-206×1α2063α-206×3α2065α-206×5α2067α-206×7α2069α-206×9α206=α206奇数(σ(α-206))被输出。对于剩余码元,以1为单位减小第二阶更新单元117的αi阶,并与奇数阶项相乘,以便通过相同运算获得微分估算值σp_VAL。
图12示出根据图7中的差错值计算和校正单元74的第一实施例的方框图。差错值计算和校正单元74包括一个用于存储倒数查阅表的第一存储器120、一个第一伽罗瓦乘法器121、一个用于存储本原元素查阅表的第二存储器122、一个第二伽罗瓦乘法器123、一个用于存储″0×00″的ROM124、一个多路复用器125、和一个伽罗瓦加法器126。
图12中,第一存储器120存储预定微分估算值的倒数值并向第一伽罗瓦乘法器121输出与来自差错定位多项式估算单元(图7中的参考标号73)的微分估算值σp_VAL对应的微分估算值(σ′(α -1))的倒数(1/σ′(α-1))。
第一伽罗瓦乘法器121对从差错定位多项式估算单元(图7中的参考标号73)输出的差错估算值Ω_VAL和从第一存储器120输出的倒数微分估算值(1/σ′(α-1))进行伽罗瓦乘法运算。
第二存储器122根据从控制器(图1中的参考标号10)提供的码元编号信号NO_SYM输出与码元阶对应的伽罗瓦域的元素αi。第二伽罗瓦乘法器123对从第一伽罗瓦乘法器121输出的值和从第二存储器122输出的伽罗瓦域元素αi进行伽罗瓦乘法运算,并将结果作为一个差错值ei输出到多路复用器125。
多路复用器125根据差错位置信号ERR_FLAG或第二伽罗瓦乘法器123输出的差错值ei,选择ROM124中存储的″0×00″,并将其输出到伽罗瓦加法器126。伽罗瓦加法器126对接收码元R_SYM和来自多路复用器125的输出值进行伽罗瓦加法运算,并将结果作为经纠错的恢复的码元C_SYM输出。即,根据差错位置信号ERR_FLAG,通过向其中产生差错的接收码元加入计算的差错值进行纠错。
图13示出根据图7中差错值计算和校正单元74的第二实施例的方框图。差错值计算和校正单元74包括一个第一存储器130、一个第一伽罗瓦乘法器131、一个伽罗瓦域元素输出单元132、一个第二伽罗瓦乘法器133、一个用于存储″0×00″的第四存储器ROM134、一个多路复用器135、一个伽罗瓦加法器136。另外,伽罗瓦域元素输出单元132包括一个第一ROM132-1、一个第二ROM132-2、一个第三伽罗瓦乘法器132-3、一个多路复用器132-4、和一个寄存器132-5。
在图13中,伽罗瓦域元素输出单元132的第一ROM132-1存储里德_所罗门代码的最高阶本原元素αN-1,第二ROM存储132-2存储″α-1″以使本原元素减小1阶。第三伽罗瓦乘法器132-3接收第二ROM132-2的″α-1″和反馈值,并进行伽罗瓦乘法运算,以输出阶被减小1的减小阶的本原元素。多路复用器132-4根据初始信号INIT_FLAG有选择地输出第一ROM132-1的最高阶本原元素或从第三伽罗瓦乘法器132-3计算的本原元素αi。寄存器132-5锁存从多路复用器132-4输出的本原元素αi,将其输出到第二伽罗瓦乘法器133,并同时将其反馈到第三伽罗瓦乘法器132-3。
接下来,详细描述图13中说明的差错值计算和校正单元74的操作。
首先,为计算一个N-1阶接收码元γN-1的差错值,多路复用器132-4根据初始信号INIT_FLAG为第一ROM132-1的最高阶码元选择本原元素″αN-1″,并将其输出到寄存器132-5。此时,由码元启动信号SCLK_ENA启动的寄存器132-5通过与RS时钟RS_CLK同步来接收本原元素″αN-1″。第一存储器130以查阅表的形式存储预定微分估算值的倒数值,接收从差错定位多项式估算单元(图7中的参考标号73)提供的微分估算值σp_VAL=σ′(α-(N-1)),并将对应的倒数值1/σ′(α-(N-1))输出到第一伽罗瓦乘法器131。
伽罗瓦乘法器131从第一存储器130接收微分估算倒数值1/σ′(α-(N-1))和从差错计值多项式估算单元(图7中的参考标号72)提供的差错估算值σ_VAL=Ω(α-(N-1)),并输出伽罗瓦乘积值Ω(α-(N-1))/σ′(α-(N-1))。第二伽罗瓦乘法器133对来自第一伽罗瓦乘法器131的输出值和从寄存器132-5输出的本原元素值αN-1进行伽罗瓦乘法运算,并将结果作为差错值eN-1输出。从上面的过程,计算最高阶码元γN-1的差错值eN-1=αN-1(Ω(α-(N-1))/σ′(α-(N-1))。
多路复用器135根据差错位置信号ERR_FLAG有选择地输出从所述第四存储器134输出的″0×00″和从所述第三伽罗瓦乘法器133输出的差错值之一。伽罗瓦加法器136将接收的码元R_SYM加到所述多路复用器135的输出并输出该相加值作为已纠错恢复的码元C_SYM。
为计算下一个N-2阶接收码元γN-1的差错值,第三伽罗瓦乘法器132-4对从寄存器132-5输出的最高本原元素″αN-1″和第二ROM132-2的″α-1″进行伽罗瓦乘法运算。并将结果作为本原元素″αN-2″输出。多路复用器132-4根据初始化信号INIT_FLAG选择和输出来自第三伽罗瓦乘法器132-3的输出值″αN-2″。同时,第一存储器130接收从差错定位多项式估算单元(图7中的参考标号73)提供的微分估算值σp_VAL=σ′(α-(N-1)),并将对应的倒数值1/σ′(α-(N-2))输出到第一伽罗瓦乘法器131。
第一伽罗瓦乘法器131从第一存储器130接收微分估算倒数值1/σ′(α-(N-2))和从差错计值多项式估算单元(图7中的参考标号72)提供的差错估算值σ_VAL=Ω(α-(N-2)),并输出伽罗瓦乘积值Ω(α-(N-2))/σ′(α-(N-2))。第二伽罗瓦乘法器133对来自第一伽罗瓦乘法器131的输出值和从寄存器132-5输出的本原元素值αN-2进行伽罗瓦乘法运算,并输出差错值eN-2。从这些过程,计算最高阶码元γN-2的差错值eN-2=αN-2(Ω(α-(N-2))/σ′(α-(N-2))。
连续地,通过重复上面的运算,通过第三伽罗瓦乘法器132-3将本原元素值降低1阶,以获得对应的本原元素值的差错值。
图14示出根据图7中的恢复失败判断单元75的实施例的方框图。恢复失败判断单元75包括一个计数器140、一个″与″门141、一个″或″门142、一个倒相器143、一个比较器144、和一个寄存器145。
图14中,计数器140对用于表示差错位产生的差错位置信号ERR_FLAG计数,并输出产生差错的码元的数量。″与″门141对从控制器(图1中的参考标号10)产生的码元时钟单元的估算请求信号EVAL_RST和从差错定位多项式估算器(图7中的参考标号73)产生的差错位置信号ERR_FLAG进行逻辑″与″运算,以在码元单元中估算它们。″或″门142对来自″与″门141的输出和纠错失败请求信号UNRCVR_FLAG_RST进行逻辑″或″运算,并将该结果作为启动信号提供给计数器140。倒相器143倒相从控制器10提供的纠错失败请求信号UNRCVR_FLAG_RST,并将该结果作为清零信号提供给计数器140。比较器144将计数器140的差错码元cnt的数量与从差错定位多项式计算单元(图1中的参考标号7)输出的差错定位多项式的最高阶L比较,如果两个值相等则输出″低电平″信号,而如果两个值不相等则输出″高电平″信号。寄存器145接收从比较器144输出的信号,并输出一个纠错失败信号UNRCVR_FLAG。
即,恢复失败判断单元75确定纠错的成功或失败。如果从差错定位多项式计算单元(图1中的参考标号7)输出的差错定位多项式的最高阶L小于第10阶,计数器140的差错产生码元的数量等于值L,正确地恢复纠错的码元。
图15示出根据图1中的BER计算器9的实施例的方框图。BER计算器9包括一个差错位检测器151、一个差错位计数器152、和差错位数量计算器153。另外,差错位检测器151包括一个第一计数器151-1、一个第一倒相器151-2、β逻辑″或″门151a~151h、和一个第一多路复用器151-3。另外,差错位计数器152包括一个第二计数器152-1、和一个第二倒相器152-2、一个用于存储″0×21″的ROM152-3、一个第一″与″门152-4、和一个第二多路复用器152-5。另外,位差错数量计算器153包括一个加法器153-1、一个寄存器153-2、一个第三倒相器153-3、和一个第二″与″门153-4、和一个第三″与″门153-4。
图15中,在每个码元单元被清零的差错位检测器151的第一计数器151-1是一个4位计数器,通过与RS时钟RS_CLK同步向第一多路复用器151-3提供计数值0、1、2、...、7、8、9、0、1、...作为位选择信号SEL_BIT。八个β逻辑″或″门151a~151h对从FIFO缓冲器(图1中的参考标号3)输出的接收码元位R_SYM[0]~R_SYM[7]和从纠错器(图1中的参考标号8)输出的纠错码元位C_SYM[0]~C_SYM[7]分别进行β逻辑″或″运算,如果两个位相同则向第一多路复用器151-3输出″0″,而如果两个位不同则向多路复用器151-3输出″1″。第一多路复用器151-3通过其第一至第七端子接收来自八个β逻辑″或″门151a~151h的输出,根据位选择信号SEL_BIT对它们进行系统地选择,并将它们输出到第二计数器152-1。此时,第一多路复用器151-3的第八和第九端子处在与地连接状态。
在差错位计数器152中,当从第一多路复用器151-3输出的信号是″1″时启动的第二计数器152-1,通过与RS时钟RS_CLK同步进行计数操作。即,第二计数器152-1仅当接收码元R_SYM[i]的位与纠错码元C_SYM[i]的位相互不同时进行计数,以检测产生的差错位的数量。作为一个7位计数器的第二计数器152-1可计数达从可对每个码字纠错的10个码元产生的80位。由为每个码字产生的码字开始信号CW_START对第二计数器152-1清零。第一″与″门152-4对恢复失败信号UNRCVR_FLAG(如果纠错成功则是″低电平″,而如果不成功则是″高电平″),和仅当每个码字的第一码元的输入期间是″高电平″的码字开始信号CW_START进行逻辑″与″运算,并输出该结果作为多路复用器152-5的选择信号。第二多路复用器152-5根据来自第一″与″门152-4的输出,如果所恢复的1个码字未被校正则有选择地输出ROM152-3的″0×21″,而如果校正所恢复的1个码字则输出从第二计数器152-1输出的1个码字产生的第一差错位数量ERR_NUM1。在此,ROM152-3中存储的值″0×21″表示当产生的差错数量超过纠错数量t(=10)时的情况。另外,当在11个码元中产生差错时,值33被表示为十六进制符号,每个码元中产生的差错数量是3位。
在差错位数量计算器153中,加法器153-1将第一差错位数量ERR_SUM1加到从寄存器153-2输出的值,并将结果反馈到寄存器153-2。在此,仅在码字开始时根据对估算开始信号EVAL_INIT_FLAG和码元启动信号SCLK_ENA的逻辑″与″运算的结果,与RS时钟RS_CLK同步启动寄存器153-2,并由预定的检测周期信号(例如每隔100个码字的″1″的周期信号)复位。因此,在每个码字周期,加法器153-1在预定检测周期期间输出生成的直到当前码字的总差错位数量ERR_NUM2。
就是说,BER计算器9将接收码元与每位中的纠错的码元比较,以便对与用于检测码字单元中差错位数量ERR_NUM1的差错位不同的位计数,假定该纠错失败码字为33位差错,累加预定检测周期期间用于纠错成功码字的实际产生的差错位数量,并更新和输出生成的从开始到当前码字的差错位数量。
上面的实施例涉及用于恢复纠错容量为10的里德_所罗门代码的解码器。通过改变RS时钟、ROM中存储的初始根或更新根的数量、以及各类寄存器的容量,可容易地实施本发明的实施例以恢复纠错容量为10的倍数的里德_所罗门代码。
如上所述,根据本发明,采用VLSI芯片可容易地实现用在ATV中用于恢复(207,187)里德_所罗门代码的解码器。
虽然已结合目前被认为是最实用和优选的实施例描述了本发明,应该理解,本发明不局限于所公开的实施例,而与此相反,本发明意在覆盖所附权利要求的精神和范围内包括的各种改进和等效装置。

Claims (14)

1.一种在高级电视中使用的里德所罗门解码器,用于对由具有10的t倍数的纠错能力的里德所罗门代码编码的接收码元解码和纠错,其特征在于包括:
用于产生一个比码元时钟快t的RS时钟的时钟发生装置;
用于根据RS时钟锁存该接收的码元的输入缓冲装置;
用于根据RS时钟锁存自所述输入缓冲装置提供的该接收的码元的FIFO缓冲装置;
用于根据RS时钟从自所述输入缓冲装置提供的该接收的码元计算校正子值的校正子计算装置;
用于根据一个校正子选择信号选择从所述校正子计算装置提供的校正子值和″0×00″值之一的校正子选择装置;
用于根据RS时钟利用从所述校正子选择装置提供的校正子值计算差错定位多项式的系数并提供该差错定位多项式的系数和其最高阶的差错定位多项式计算装置;
用于根据RS时钟利用校正子值和差错定位多项式的系数产生差错值并通过将差错值加到从所述FIFO缓冲装置提供的接收的码元来提供经纠错的恢复的码元的纠错装置;和
用于产生多个控制信号并控制所述校正子计算装置、所述校正子选择装置、所述差错定位多项式计算装置、和所述纠错装置的控制装置。
2.根据权利要求1的用于高级电视中的里德所罗门解码器,其特征在于,所述里德所罗门解码器进一步包括用于通过以位为单元将所述FIFO缓冲装置提供的该接收的码元与已纠错的恢复的码元比较来计算一个位差错率的位差错率计算装置。
3.根据权利要求2的用于高级电视中的里德所罗门解码器,其特征在于,所述位差错率计算装置包括:
用于以一预定码元为单位将每位中接收的码元与已纠错恢复的码元比较,检测不相等的位,并输出这些检测的位的差错位检测装置;
差错位计数装置,用于对来自所述差错位检测装置检测的位计数并输出生成的用于一个预定码字周期的一个第一差错位数;和
用于从所述差错位计数装置接收第一差错位数并输出生成的用于一个预定检测周期的一个第二差错位数作为位差错率的差错位数计算装置。
4.根据权利要求1的用于高级电视中的里德所罗门解码器,其特征在于,所述校正子计算装置包括:
一个用于根据RS时钟进行计数并将计数值作为一个阿尔法根选择信号输出的计数装置;
一个用于存储第一组阿尔法根的第一存储单元;
一个接收所述输入缓冲装置提供的该接收的码元并根据使用RS时钟的该阿尔法根选择信号通过利用所述第一存储单元中存储的第一组阿尔法根来计算一个第一组校正子值的第一校正子计算单元;
一个用于存储第二组阿尔法根的第二存储单元;
一个接收所述输入缓冲装置提供的该接收的码元并根据使用RS时钟的该阿尔法根选择信号通过利用所述第二存储单元中存储的第二组阿尔法根来计算一个第二组校正子值的第二校正子计算单元;
用于第一校正子选择信号,顺序选择第一组校正子值之一的第一选择装置;
用于第二校正子选择信号,顺序选择第二组校正子值之一的第二选择装置;和
用于第三校正子选择信号,选择所述第一选择装置的输出和所述第二选择装置的输出中的一个输出的第三选择装置。
5.根据权利要求4的用于高级电视中的里德所罗门解码器,其特征在于,所述第一校正子计算单元包括:
一个具有第一组寄存器的第一移位寄存器,用于根据RS时钟存储一个码字中从第一码元到倒数第二码元计算的中间校正子值;
一个具有第二组寄存器的第二移位寄存器,用于根据RS时钟存储该码字中从第一码元到最后码元计算的最终校正子值;
用于产生多个控制信号以控制所述第一和第二移位寄存器的控制信号产生装置;
用于在接收该码字中的第一码元到倒数第二码元时选择从所述第一移位寄存器提供的中间校正子值,和在接收该码字中的最后码元期间选择从所述第二移位寄存器提供的最终校正子值的项选择装置;和
用于将根据阿尔法根选择信号选择的第一组阿尔法根与中间校正子值进行伽罗瓦乘法运算,将乘积值与具有该RS时钟的该接收的码元进行伽罗瓦相加,并将相加值作为中间和最终校正子值分别提供给所述第一和第二移位寄存器的校正子项运算装置。
6.根据权利要求4的用于高级电视中的里德所罗门解码器,其特征在于,所述第二校正子计算单元包括:
一个具有第一组寄存器的第一移位寄存器,用于根据RS时钟存储一个码字中从第一码元到倒数第二码元计算的中间校正子值;
一个具有第二组寄存器的第二移位寄存器,用于根据RS时钟存储该码字中从第一码元到最后码元计算的最终校正子值;
用于产生多个控制信号以控制所述第一和第二移位寄存器的控制信号产生装置;
用于在接收该码字中的第一码元到倒数第二码元时选择从所述第一移位寄存器提供的中间校正子值,并在接收该码字中的最后码元时选择从所述第二移位寄存器提供的最终校正子值的项选择装置;和
用于将根据阿尔法根选择信号选择的第二组阿尔法根与中间校正子值进行伽罗瓦乘法运算,将乘积值与具有该RS时钟的该接收的码元进行伽罗瓦相加,并将相加值作为中间和最终校正子值分别提供给所述第一和第二移位寄存器的校正子项运算装置。
7.根据权利要求1的用于高级电视中的里德所罗门解码器,其特征在于,所述差错定位多项式计算装置包括:
用于延迟一个更新的差错定位多项式,并通过使用从所述校正子选择装置输出的校正子值和更新的差错定位多项式计算2t个偏差的偏差计算装置;
用于在所述偏差计算装置的控制下输出该偏差的指数和该差错定位多项式的最高阶的变量产生装置;
一个用于以查阅表的形式存储最后偏差的倒数,并输出与该偏差的指数相应的最后偏差的倒数的存储单元;
一个用于对从所述偏差计算装置输出的偏差与从所述存储单元输出的最后偏差的倒数进行伽罗瓦乘法运算的第一伽罗瓦乘法器;
一个用于存储用来更新差错定位多项式的中间值的移位寄存器;
用于选择从所述偏差计算装置输出的最后更新的差错定位多项式、值“0×00”和所述移位寄存器的输出之一,并将选择结果提供给所述移位寄存器的选择装置;
一个用于对所述第一伽罗瓦乘法器的输出与所述移位寄存器的输出进行伽罗瓦乘法运算的第二伽罗瓦乘法器;和
一个用于对所述第二伽罗瓦乘法器的输出和由所述偏差计算装置延迟的差错定位多项式进行伽罗瓦相加,并将相加值提供给所述偏差计算装置作为更新的差错定位多项式的伽罗瓦加法器。
8.根据权利要求1的用于高级电视中的里德所罗门解码器,其特征在于,所述纠错装置包括:
一个用于存储与用于处理来自里德所罗门代码的最高阶码元的估算的伽罗瓦域元素的倒数对应的t个初始根,其中α-N×i,1≤i≤t,并存储与用于更新下一个码元的阶的伽罗瓦域元素对应的t个更新根,其中αi,1≤i≤t的公用元素存储单元;
一个用于通过对从所述校正子选择装置输出的校正子值与差错定位多项式的系数进行伽罗瓦乘法运算计算差错计值多项式,并输出差错计值多项式系数的差错计值多项式计算单元
一个通过使用从所述公用元素存储单元输出的差错计值多项式的系数、初始根和更新根来估算差错计值多项式,并将估算结果作为一个差错估算值输出的差错计值多项式估算单元;
一个通过使用初始根和更新根从差错定位多项式的系数估算差错定位多项式来输出差错位置信号,并通过估算差错定位多项式的微分多项式来输出微分估算值的差错定位多项式估算单元;
一个通过使用微分估算值和差错估算值来计算差错值,并根据差错位置信号通过将差错值加到接收码元来输出经纠错的恢复的码元的差错值计算和校正单元;和
一个用于确定纠错的恢复的码元是否正确,并根据该结果输出恢复失败信号的恢复失败判断单元。
9.根据权利要求8的用于高级电视中的里德所罗门解码器,其特征在于,所述公用元素存储单元包括:
一个用于存储初始根的包括有第一组存储区的第一存储单元;
一个用于存储更新根的包括有第二组存储区的第二存储单元;
一个用于根据从所述控制装置提供的初始根选择信号,顺序选择和输出所述第一存储单元的初始根的第一选择器;和
一个用于根据从所述控制装置提供的更新根选择信号,顺序选择和输出所述第二存储单元的更新根的第二选择器。
10.根据权利要求8的用于高级电视中的里德所罗门解码器,其特征在于,所述差错计值多项式计算单元包括:
一个用于将差错定位多项式的系数与从所述校正子选择装置输出的校正子值进行伽罗瓦乘法运算的伽罗瓦乘法器;
一个用于将所述伽罗瓦乘法器的输出进行伽罗瓦相加以提供一反馈值的伽罗瓦加法器;
一个用于在所述控制装置的控制下有选择地输出差错定位多项式的系数和来自所述伽罗瓦加法器的输出之一的多路复用器;和
一个用于移位与该RS时钟同步的所述多路复用器的输出来存储差错计值多项式的系数,并向所述伽罗瓦加法器提供存储值作为反馈值的移位寄存器。
11.根据权利要求8的用于ATV中的里德所罗门解码器,其特征在于,所述差错计值多项式估算单元包括:
一个用于对从具有该RS时钟的所述公用元素存储单元提供的初始根与从具有该码元时钟的所述差错计值多项式计算单元提供的差错计值多项式的系数进行伽罗瓦乘法运算,并输出该乘积值作为一个初始项值的初始化单元;
一个在所述控制装置的控制下用于选择初始项值和一个中间项值的项选择器;
一个用于由所述项选择器的输出更新下一个码元的差错定位多项式的项值,并输出更新的项值的阶更新单元;
一个用于在一个码元时钟期间将从所述阶更新单元输出的项值相加并输出相加值的项运算器;和
一个用于将所述项运算器的输出加到差错定位多项式的0阶系数,并输出相加值作为差错估算值的差值估算值输出单元。
12.根据权利要求8的用于高级电视中的里德所罗门解码器,其特征在于,所述差错定位多项式估算单元包括:
一个用于对从具有该RS时钟的所述公用元素存储单元提供的初始根与从具有该码元时钟的所述差错定位多项式计算单元提供的差错定位多项式的系数进行伽罗瓦乘法运算,并输出该乘积值作为一个初始项值的初始化单元;
一个在所述控制装置的控制下用于选择该初始项值和一个中间项值之一的项选择器;
一个用于由所述项选择器的输出更新下一个码元的差错定位多项式的项值,并输出更新的项值作为中间项值的第一阶更新单元;
一个用于在一个码元时钟期间将从所述第一阶更新单元输出的项值相加的第一多项运算器;
一个用于将所述第一项运算器的输出加到差错定位多项式的0阶系数并输出该相加值作为差错定位估算值的第二多项运算器;
一个用于从由所述第二项运算器输出的差错定位估算值确定是否产生一个差错,并产生差错位置信号的判断单元;
一个用于接收所述第一阶更新单元的输出并有选择地输出差错定位多项式的一个奇数阶项的奇数阶项选择器;
一个用于将来自最高阶的阿尔法根的阶更新″1″的第二阶更新单元;和
一个用于将从所述奇数阶项选择器输出的奇数阶项相加,对相加值与所述第二阶更新单元的输出进行伽罗瓦乘法运算,并输出该乘积值作为微分估算值的第三多项运算器。
13.根据权利要求8的用于高级电视中的里德所罗门解码器,其特征在于,所述差错值计算和校正单元包括:
一个用于以查阅表的形式存储微分估算值的倒数,并根据来自所述差错定位多项式估算单元的微分估算值输出微分估算值的倒数的第一存储器;
一个用于对从所述差错定位多项式估算单元输出的差错估算值与从所述第一存储器输出的微分估算值的倒数进行伽罗瓦乘法运算的第一伽罗瓦乘法器;
一个用于以查阅表的形式存储伽罗瓦域的本原元素,并在所述控制装置的控制下输出对应于所述控制装置的一码元阶的本原元素的第二存储器;
一个用于对所述第一伽罗瓦乘法器的输出与从所述第二存储器输出的本原元素进行伽罗瓦乘法运算,并输出乘积值作为差错值的第二伽罗瓦乘法器;
一个用于存储″0×00″的第三存储器;
一个根据差错位置信号有选择地输出从所述第三存储器输出的″0×00″和从所述第二伽罗瓦乘法器输出的差错值之一的多路复用器;和
一个用于将接收的码元加到所述多路复用器的输出并输出该相加值作为已纠错恢复的码元的伽罗瓦加法器。
14.根据权利要求8的用于高级电视中的里德所罗门解码器,其特征在于,所述差错值计算和校正单元包括:
一个用于以查阅表的形式存储微分估算值的倒数,并根据来自所述差错定位多项式估算单元的微分估算值输出微分估算值的倒数的第一存储器;
一个用于对从所述差错定位多项式估算单元输出的差错估算值与从所述第一存储器输出的微分估算值的倒数进行伽罗瓦乘法运算的第一伽罗瓦乘法器;
一个用于存储对应于一个码字的最高码元的本原元素的第二存储器;
一个用于存储α-1以更新本原元素的第三存储器;
一个用于对所述第三存储器的α-1与一个反馈值进行伽罗瓦乘法运算,并输出阶数被降低一阶的本原元素的第三伽罗瓦乘法器;
一个在所述控制装置的控制下有选择地输出所述第二存储器的输出和所述第三伽罗瓦乘法器的输出之一的第一多路复用器;
一个用于锁存从所述第一多路复用器输出的本原元素并向所述第二伽罗瓦乘法器输出锁存值作为反馈值的寄存器;
一个用于对从所述寄存器输出的本原元素与所述第一伽罗瓦乘法器的输出进行伽罗瓦乘法运算,并输出乘积值作为差错值的第二伽罗瓦乘法器;
一个用于存储″0×00″的第四存储器;
一个根据差错位置信号有选择地输出从所述第四存储器输出的″0×00″和从所述第三伽罗瓦乘法器输出的差错值之一的第二多路复用器;和
一个用于将接收的码元加到所述多路复用器的输出并输出该相加值作为已纠错恢复的码元的伽罗瓦加法器。
CNB971259739A 1996-10-29 1997-10-29 在高级电视中使用的里德-所罗门解码器 Expired - Fee Related CN1222169C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR49690/1996 1996-10-29
KR1019960049690A KR100192801B1 (ko) 1996-10-29 1996-10-29 리드 솔로몬 디코더의 비트 에러율 측정 회로
KR51202/1996 1996-10-31
KR1019960051202A KR100215570B1 (ko) 1996-10-31 1996-10-31 고화질 텔레비젼용 리드 솔로몬 디코더
KR1019960060085A KR100192802B1 (ko) 1996-11-29 1996-11-29 리드 솔로몬 디코더의 에러값 계산 및 정정 장치
KR60085/1996 1996-11-29

Publications (2)

Publication Number Publication Date
CN1188375A CN1188375A (zh) 1998-07-22
CN1222169C true CN1222169C (zh) 2005-10-05

Family

ID=27349414

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971259739A Expired - Fee Related CN1222169C (zh) 1996-10-29 1997-10-29 在高级电视中使用的里德-所罗门解码器

Country Status (7)

Country Link
US (1) US6031875A (zh)
JP (1) JP4012997B2 (zh)
CN (1) CN1222169C (zh)
DE (1) DE19747774B4 (zh)
FR (1) FR2756991B1 (zh)
GB (1) GB2318954B (zh)
IT (1) IT1295890B1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
KR100260415B1 (ko) * 1997-08-13 2000-07-01 윤종용 고속시리얼에러위치다항식계산회로
JPH11196006A (ja) * 1997-12-26 1999-07-21 Nec Corp 並列処理シンドロ−ム計算回路及びリ−ド・ソロモン複合化回路
FR2776113A1 (fr) * 1998-03-13 1999-09-17 Thomson Multimedia Sa Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif
DE19825398A1 (de) * 1998-05-27 1999-12-02 Deutsche Telekom Ag Verfahren und Vorrichtung zur Übertragung digitalisierter Daten
US6637002B1 (en) 1998-10-21 2003-10-21 Maxtor Corporation Decoder for error correcting block codes
TW510086B (en) 1998-12-11 2002-11-11 Matsushita Electric Ind Co Ltd Reed-solomon decode device and the control method of the same
US6877129B1 (en) * 1999-04-30 2005-04-05 Rohde & Schwarz Gmbh & Co. Kg Method for measuring the receiver-side bit error rate of a DVB transmission system
FR2794584B1 (fr) * 1999-06-02 2001-09-14 France Telecom Procede de detection en aveugle du mode de codage de donnees numeriques
US6374383B1 (en) * 1999-06-07 2002-04-16 Maxtor Corporation Determining error locations using error correction codes
TW541519B (en) * 2000-05-24 2003-07-11 Acer Labs Inc Encoding/decoding system in optical disk storage device
US6694476B1 (en) * 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US6732325B1 (en) 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
US7036138B1 (en) * 2000-11-08 2006-04-25 Digeo, Inc. Method and apparatus for scheduling broadcast information
US20030140302A1 (en) * 2002-01-23 2003-07-24 Litwin, Louis Robert Chien search cell for an error-correcting decoder
US6950979B2 (en) * 2003-03-20 2005-09-27 Arraycomm Inc. Low complexity encoder and decoder
US7502986B2 (en) * 2005-02-09 2009-03-10 International Business Machines Corporation Method and apparatus for collecting failure information on error correction code (ECC) protected data
US20080240168A1 (en) * 2007-03-31 2008-10-02 Hoffman Jeffrey D Processing wireless and broadband signals using resource sharing
KR20080112583A (ko) * 2007-06-21 2008-12-26 주식회사 코아로직 리드 솔로몬 디코더 및 그 방법
CN101459431B (zh) * 2008-12-30 2012-03-07 北京大学 一种信道纠错码bch码和rs码的译码方法
US8453038B2 (en) * 2009-06-30 2013-05-28 Apple Inc. Chien search using multiple basis representation
JP5275398B2 (ja) * 2011-03-28 2013-08-28 株式会社東芝 リードソロモン復号器及び受信装置
US8875001B1 (en) * 2011-09-08 2014-10-28 Xilinx, Inc. Circuitry for parallel decoding of data blocks
JP5674700B2 (ja) * 2012-03-22 2015-02-25 株式会社東芝 符号化装置および符号化装置の制御方法、ならびに、記憶装置
US9003269B2 (en) * 2012-08-30 2015-04-07 Kabushiki Kaisha Toshiba Memory controller and semiconductor storage device
US9749548B2 (en) 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US10461777B2 (en) * 2015-07-14 2019-10-29 Western Digital Technologies, Inc. Error locator polynomial decoder and method
US10572189B2 (en) 2016-11-04 2020-02-25 Sandisk Technologies Llc Method and decoder to adjust an error locator polynomial based on an error parity
US10439644B2 (en) 2015-07-14 2019-10-08 Western Digital Technologies, Inc. Error locator polynomial decoder and method
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
US10756763B2 (en) * 2018-09-28 2020-08-25 Innogrit Technologies Co., Ltd. Systems and methods for decoding bose-chaudhuri-hocquenghem encoded codewords
JP7184839B2 (ja) * 2020-03-13 2022-12-06 アンリツ株式会社 誤り率測定装置及びエラーカウント方法
JP2021153226A (ja) * 2020-03-24 2021-09-30 アンリツ株式会社 誤り率測定装置及びエラーカウント方法
CN112367087B (zh) * 2020-12-01 2024-01-30 西安邮电大学 一种高速rs译码器
JP7381512B2 (ja) * 2021-03-03 2023-11-15 アンリツ株式会社 誤り率測定装置及びエラー分布表示方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58219852A (ja) * 1982-06-15 1983-12-21 Toshiba Corp エラ−訂正回路
US4584686A (en) * 1983-12-22 1986-04-22 Optical Storage International Reed-Solomon error correction apparatus
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5168509A (en) * 1989-04-12 1992-12-01 Kabushiki Kaisha Toshiba Quadrature amplitude modulation communication system with transparent error correction
JP2527274B2 (ja) * 1990-11-19 1996-08-21 株式会社小糸製作所 自動車用ヘッドランプ
US5379243A (en) * 1992-08-31 1995-01-03 Comstream Corporation Method and apparatus for performing finite field division
WO1995012850A1 (en) * 1993-11-04 1995-05-11 Cirrus Logic, Inc. Reed-solomon decoder
KR0135824B1 (ko) * 1994-11-10 1998-05-15 윤종용 오류 위치 및 추정 다항식 계산방법 및 이를 이용한 리드-솔로몬 복호기
US5805617A (en) * 1996-02-28 1998-09-08 Daewoo Electronics Co., Ltd. Apparatus for computing error correction syndromes

Also Published As

Publication number Publication date
DE19747774B4 (de) 2009-07-09
IT1295890B1 (it) 1999-05-28
GB2318954A (en) 1998-05-06
FR2756991A1 (fr) 1998-06-12
GB2318954B (en) 2001-05-23
JPH10215188A (ja) 1998-08-11
GB9722792D0 (en) 1997-12-24
CN1188375A (zh) 1998-07-22
ITMI972426A1 (it) 1999-04-29
US6031875A (en) 2000-02-29
JP4012997B2 (ja) 2007-11-28
FR2756991B1 (fr) 2004-08-27
DE19747774A1 (de) 1998-04-30

Similar Documents

Publication Publication Date Title
CN1222169C (zh) 在高级电视中使用的里德-所罗门解码器
CN1164039C (zh) 里德-所罗门编码装置
JP3233860B2 (ja) リードソロモン復号器
CN1296817C (zh) 模乘方法及装置及模乘计算单元
CN1702613A (zh) 蒙哥马利模乘法器
CN1630204A (zh) 具有矩阵转换技术的循环冗余码计算方法及系统
CN102684709B (zh) 一种译码方法及其译码装置
CN1126397A (zh) 纠错编码器、纠错解码器和具有纠错码的数据传输系统
CN1411630A (zh) 用于生成循环余数核对代码以及生成其他基于余数的编码的方法、设备和产品
CN1607518A (zh) 在Montgomery乘法内利用SIMD指令
CN1176714A (zh) 用于三错校正和四错校正的改进系统
CN1582544A (zh) 用于线性系统方案数组处理
CN1653699A (zh) 软判定解码里德-索洛蒙码的方法
Lin et al. A 26.9 K 314.5 Mb/s soft (32400, 32208) BCH decoder chip for DVB-S2 system
US9191029B2 (en) Additional error correction apparatus and method
CN1318905A (zh) 测链搜索装置
KR101929984B1 (ko) 모듈러 곱셈기 및 그것의 모듈러 곱셈 방법
CN1841982A (zh) 一种高速译码芯片
CN1303763C (zh) 用于降低rs码编译码复杂度的方法
CN1601913A (zh) 平行化循环冗余码计算方法及系统
CN1499358A (zh) 在有限域中用于基转换的方法和设备
CN101753147B (zh) 二次剩余码的解码演算法
CN1359203A (zh) 用于sonet的带内fec解码器
CN1607759A (zh) 译码数据字的方法
US9287898B2 (en) Method and circuit for shortening latency of Chien'S search algorithm for BCH codewords

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030604

Address after: Seoul

Applicant after: Daewoo Electronics Co., Ltd.

Address before: Seoul

Applicant before: Daewoo Electronics Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: FENGYE VISION TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: DAEWOO ELECTRONICS CO., LTD.

Effective date: 20130426

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130426

Address after: Ontario

Patentee after: Fengye Vision Technology Co., Ltd.

Address before: Seoul, South Kerean

Patentee before: Daewoo Electronics Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20051005

Termination date: 20151029

EXPY Termination of patent right or utility model