CN1008316B - 纠错码的译码方法和系统 - Google Patents
纠错码的译码方法和系统Info
- Publication number
- CN1008316B CN1008316B CN 85103579 CN85103579A CN1008316B CN 1008316 B CN1008316 B CN 1008316B CN 85103579 CN85103579 CN 85103579 CN 85103579 A CN85103579 A CN 85103579A CN 1008316 B CN1008316 B CN 1008316B
- Authority
- CN
- China
- Prior art keywords
- error
- code
- error correcting
- correcting code
- directive
- 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
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
在一纠错码译码系统中,第一纠错码(n1,k1)对二维排列(k1,×k2)个信息符号每一列k1个信符号的每一个编码,第二纠错码(n2,k2)对每一行中k2个信息符号的每一个编码,第一纠错码译码形成的第一指示字存于一n2位存储器中,第二纠错码译码形成的第二指示字存于一至少k1位存储器中;输出信息符号时,由第一及第二指示字状态估出信赖度。第二纠错码译码时,用第一指示字对第二纠错码每一码系列进行疑符纠正,对第二纠错码每一码系列在疑符纠正时进行一次部分计算便可得误差值。
Description
本发明与译出纠错码的一种方法和一种系统有关。
乘积码是众知的,它是排列成二维形式的信息符号;纠错码按这二维排列的每行和每列而被编码,使每个信息符号被包括在两个纠错码系列之中。翻译乘积码时,对每列译出纠错码以及在译码信息的基础上再对每行译出纠错码。这个译码信息叫做指示字。
在通常的方法中,由于对每个信息符号要决定指示字,所以所需的指示字的总数至少等于信息符号的数目。
此外在利用指示字进行疑符纠正的情况下,须从指示字存储单元中读出每列的指示字以算出其误差值;结果会发生一个问题,象存储器的存取、计算等处理步骤的数目必然要增加。
另一方面,如果纠错码采用象BCH码那样的复杂码,要得出误差值的计算会变得非常复杂。因此,如果计算是用硬件来完成,那么存在的问题就是需要大量的程序步骤。
本发明的目的是为纠错码的译码提供一种方法和系统,它在译码过程中能够减少所需指示字的数目,减小对指示字的存储区,以及减少对指示字的读写次数。
本发明的另一目的是为纠错码的译码提供一种方法和系统,它根据每行中相同的指示字,可以减少处理步骤的数目。
本发明还有一个目的是为纠错码的译码提出一方法和系统,在疑符纠正中,可以减少计算步骤的数目。
本发明再有一个目的是为纠错码的译码提供一种方法和系统,它
可以依靠简单的系统结构和少数的处理步骤,得出译码中的误差值。
发明的本质
为了完成上述技术任务,在纠错码的译码方法中,第一纠错码(n1,k1)(其中n1表示码长)是对二维排列的(k1×k2)个信息符号每一列中k1个信息符号进行编码,第二纠错码(n2,k2)(其中n2表示码长)是对每一行中k2个信息符号的每一信息符号进行编码,本发明方法包括下列步骤:在一个n2位存储器中存入由第一纠错码译码形成的第一指示字;在至少k1位的存储器中存入由第二纠错码译码形成的第二指示字;并在输出信息符号时在第一和第二指示字的状态基础上估计信赖度。
此外,本发明的纠错码译码方法包括下列步骤:在一个n2位存储器中存入由第一纠错码译码形成的第一指示字;利用这些第一指示字在第二纠错码译码时对第二纠错码的每个码系列进行疑符纠正;并且在疑符纠正中,为了得出误差值,对第二种纠错码每个码系列只要进行一次的部分计算。
此外,本发明的纠错码译码系统包括有一个把校正子存入校正子寄存器的装置,这是基于这样的事实,在有一个根为l的线性非对偶码中,有一个校正子是接收符号系列的(mod2)相加,并且在纠正多个错误符号时,在许多符号中的一个符号的误差值可由存储在校正子寄存器中的一个值减去其它的误差值形成。
发明的效果
在通常的方法中,所需指示字的范围是相当于这纠错码的数据(n1,n2)的总数。但在本发明中,有可能把指示字的数目减到(n2+2n1)个,且可减少译码过程所需的存储量。此外,根据
本发明,有可能减少写入/读出指示字的步骤数目。
另外,根据本发明,如果C2译码过程中的疑符纠正是采用由C1译码形成的指示字来完成,那么对于C2码的每个系列,指示字的模式是公共的,并且求误差值的计算亦是公共的,于是有可能把所需的计算减少成一个计算。因此,在译码过程中有可能大大减少处理步骤的数目,因而有可能实现高速的译码操作。
此外,根据本发明,不需要依照求误差值的复杂的误差估值多项式去求出全部差值。只需根据简单的结构求得单个误差值,因此,它能减少处理步骤的数目。
此外,根据本发明,可以大大减少疑符纠正中计算步骤的数目。
附图的简短说明
图1是本发明的一种具体装置的方框图;
图2是帮助说明本发明具体装置的操作的一个简图;
图3是本发明的一种具体装置的译码器的方框图;
图4是本发明的一种具体装置的方框图;
图5是本发明的一种具体装置主要部分的方框图;
图6是本发明的一个处理电路的方框图;
图7是帮助说明本发明的方框图。
具体装置的操作的说明
下面将参照附图来说明本发明的一个具体装置。图1表示乘积码编码器的一个系统结构。标号1表示输入端;标号2表示C2(第二纠错码)校验码发生器。从输入端1来的输入数据被送至C2校验码发生器2和选择器3的一个输入端。由C2校验码发生器2形成的
C2校验数据都供至选择器3的另一输入端。选择器3在选k2个信息符号后,重复操作k1次以选取(n2-k2)个校验数据。在这操作中,信息符号和校验数据都在地址控制器5的控制下顺序地存入RAM(随机存取存储器)。
这个RAM4的读出数据被送到C1(第一纠错码)校验码发生器6以及选择器7的一个输入端。由C1校验码发生器6形成的C1校验数据送至选择器7的另一输入端。选择器7在选了包括C2校验数据的(k1×n2)个符号后,选择{(n1-k1)×k2}个C1校验数据。选择器7的输出端8处的数字数据则通过磁头存入磁带中(图中未画)。在这种情况下,有可能把进一步编码后的输出写入到RAM4,而为了记录又以不同的序列读出这输出。
图2表示上述编码器形成的码的结构。信息符号排列成二维(k1×k2)。k2个信息符号被处理得编成侧方向的C2码,即二维排列中每行上的C2码。k1个信息符号被处理得编成纵方向即每列上的C1码。C2校验数据也编码成C1码。C1码例如为(n1,k1)Reed Solomon码。根据它,有可能纠正(n2-k2)/2个符号错误。C2码也是如Reed Solomon码,根据它可以纠正(n2-k2)/2个符号错误。
下面解释一下Reed Solomon码的一般译码方法。
(n,k)Reed Solomon码(n表示码长,k表示信息符号的数目)的汉明(Hamming)距离在Galois体GF(2m)上根据一个多项表达式
可以表成d=n-k-l。如果收到的字是(r0,r1,r2…rn-1),则在下列计算表达式的基础上,可得出校正子:
其次,利用这个校正子Sj,可得出一个错误定位多项式σ(Z)和一个误差估值多项式ω(Z)。对于这种方法,已经提出的方法有Euclid辗转除法、Varlay-Camp法、Peterson法等等。
其次,求解σ(Z)=0,在Chien氏搜索基础上可得出错误位置X1。然后在错误位置Xi及误差估值多项式ω(Z)的基础上得出误差值Yi。
以上译码步骤的计算现用错误位置Xi(i=1,2、…e;e表示错误数目)及误差值Yi来说明。由于Reed Solomon码是一个线性码,这码可表成S(Z)的
可表成多项式:
S(Z)=
(3)
S(Z)被表成:
其次,如果错误定位多项表达式和误差估值多项表达式定义如下:
ω(Z)=σ(Z)S(Z) (6)
其中ω(Z)可表示
把X-1 i代入Z,可得出误差值Yi,并经改写这个表达式就成为:
作为一个例子,这里将说明具有根α0至α7的(32,24)Seed Solomon码。由于这个码是(d=9),所以最多可以纠正4个符号错误。4个符号的错误位置若为X1至X4,误差
值若为Y1至Y4,校正子可表成
Sj=
YiXj i(j=0至3)
在四个校正子之中,S0若表成
S0=
Yi
只要得出误差值Y1、Y2、Y3,剩下的误差值Y4就能用下式算出,且用不到复杂的计算,
Y4=S0-Y1-Y2-Y3
在码中Galois GF(2m),减法等效于(mod2)的加法。
图3表示这个具体装置的译码器构成。在图3中,再生的数据被送至输入端11。为了译出C1码,再生数据进入C1译码器12。C1码纠正(n1-k1)/2个数据。然而,在C1码的单个系列中当错误的数目超过a(≤ ((n1-k1))/2 ),这系列的C1指示字被决定为1,其它一些指示字都被定为0。在图2和3中,标号13表示用来存储C1码指示字的指示字存储器。这个指示字存储器13具有n2位。在地址控制器15的控制下,C1译码器12的输出顺序地暂时存在RAM14之中。
RAM14的读出输出被送到用来解译C2码的C2译码器16。从指示字存储器来的C1指示字也被送到这个C2译码器16。对C2
码所有系列中k1个系列来说C1指示字都是公共的,所以有可能按相同的步骤来解译每一系列C2码。C2译码器16最多能纠正(n2-k2)/2个错误,并产生三种C2码指示字,这些C2指示字就被存到指示字存储器中。
当错误被C2译码器16纠正后,对这系列C2指示字便置于0。当错误因C1指示字的信赖度高而未被C2译码器16纠正并复制下来时,C2指示字置于1。当错误未被C2译码器16纠正并且因为C1指示字的信赖度低而全部符号都决定为错误符号时,这个C2指示字置于2。因此C2指示字有2位以及指示字存储器17有2k1位。
指示字存储器13和17为了在译码过程中存入信息符号和校验数据,可以与RAM14分开布置,或者利用这RAM14中的一部分存储区,可与RAM14合在一起。
此外,C1指示字不一定限于1位,也能是2位或更多。另外,如果提供一个(2n1)位C2指示字存储器单元,也可能对C1校验进行C2码的纠错码处理。
C2译码器16的输出数据被送到插值电路18来纠正尚未纠正的符号错误。插值电路18例如对均值进行插值。这个插值电路由控制电路19控制,而C1指示字和C2指示字即从指示字存储单元13和17送到这个控制电路。插值电路18的输出数据经输出端20送出。控制电路19在每个信息符号的C1指示字和C2指示字的基础上决定是否需要插值。在图2的标号13′内有C1指示字的各种组合,图2的17′内有C2指示字的各种组合。
不管C1指示字是0或1当C2指示字是0时,插值电路18不进行插值。当C2指示字是1及C1指示字是0时,因为这时知道信息符号没有错误,所以也没有插值动作。当C2和C1指示字都是1
时,因为这时信息符号有错,所以进行插值。此外,当C2指示字是2而不管C1指示字是0或1,因为信息符号有错误,这时也有插值动作。
C1指示字的信赖度由C2译码器16来估计。例如,C2码能纠正2个符号错误时,如果不顾只有一个C1指示字是1的事实,在C2码的基础上不作出纠正,这可决定C1指示字的信赖度是低的,因为以上是不正常的。即使错误不被这C1指示字所纠正,但如果提供三种C2指示字0,1,3以及从所有错误中区别出C1指示字的复制,仍有可能消除对插值的需要。
在上述的C2译码器16中,当C1指示字被复制时可进行疑符纠正,其中复制指示字的数目是低于(n2-k2)个。此外,如果进行了疑符纠正,C2指示字就置于0。
由上所述,依照对每行的错误定位多项表达式σ(Z)和误差估值多项表达式ω(Z),以及利用每行n2个符号得出的校正子,可以算出Reed Solomon码。在疑符纠正的情况下,因为C1指示字的1的位置都被认为是错误位置,所以在错误位置Xi和误差估值多项表达式ω(Z)的基础上,有可能得出误差值Yi。这就是说,按照表达式(8),在Z的地方代入X-1 i,可得出Yi:
其中i=1,2,3,…;S表示符号的数目。
在上式中,分母只决定于错误的位置。例如由C1指示字表明的
的错误位置是X1、X2、X3,那么误差值Y1、Y2或Y3的表达式的分母即是:
Y1的分母:(1-X2X-1 1)(1-X3X-1 1)
Y2的分母:(1-X1X-1 3)(1-X2X-1 3)
Y3的分母:(1-X1X-1 2)(1-X3X-1 2)
这里,在指示字存储器13中存有的C2码所有k1个系列中的指示字都相同,所以对于这k1个系列,上列表达式分母的计算只要进行一次就够了。
图4是采用上述C1译码器和C2译码器的一个纠错码译码器的构成。接收的数据供至输入端21。把这些接收数据送到延迟电路22和校正子发生器23。由校正子发生电路23形成的校正子被送到错误定位/误差值计算电路24。从错误定位/误差值计算电路24出来的误差数据被送到“异-或”门25并与延迟电路22出来的接收数据进行(mod2)相加。从延迟电路22出来的接收数据以及从“异-或”门25出来的纠错数据都送到选择器26。选择器26则由错误定位数据来控制。在错误位置处,“异-或”门25的输出由选择器26来选择以代替接收数据,结果再从输出端27输出。
在音响PCM信号的录/放设备中,再生的数据被一次写入RARAM中。利用这RAM的读出数据,可产生出校正子,并在这再生的校正子的基础上算出错误的位置和误差值。
图5是错误定位/误差值计算电路24的一部分。在图5中,标号29代表一个校正子寄存器。从数据总线28来的校正子S0经过总线缓冲器30和“异-或”门31存入到校正子寄存器29内。校正子S0在Galois体GF(2m)Reed Solomon码的情况下有m位。由校正子寄存器29出来的校正子S0再供至“异-或”
门31和总线缓冲器32。
当校正子S0存入校正子寄存器29中时,所得的误差Y1、Y2、Y3都从数据总线28通过缓冲器30顺序地供至“异”门31。因此,这“异-或”门31的输出是(S0+Y1)、(S0+Y1+Y2)、(S0+Y1+Y2+Y3=Y4)。误差值Y4留在校正子寄存器29内。这个误差值Y4通过总线缓冲器32被输出到数据总线28。
图6是进行疑符纠正译码处理的另一个硬件例子。主RAM35通过写入寄存器33及读出寄存器34与数据总线28相接。在数据总线28上,挂有校正子寄存器29、工作RAM36和计算逻辑电路37。关于Reed Solomon码的疑符纠正,可以归结成解下列n阶线性联立方程组,方法与表达式(2)相类似,
其中ν=0至d-2
n:疑符数目
Xk:第k位置
Sν:校正子
Yk:当第k位置为疑符时误差的大小
d:码的最短距离
这里n、Xk、Sν均为已知;Yk是未知值。
为了解以上方程,通常采用下列方法:
若
A(Z)=
<math><FROM>i=l<TO>n<OF></PRODUCT></math> (1-XiZ)
ω(Z)=S(Z)A(Z) modZd-1
Yi可以象表达式(8)一样得出如下:
然而在本方法中,如果算出实际的计算步骤,例如当d=9及n=8时,
(ⅰ)A(Z)的展开
乘法数:1+2+…+7=28
加法数:1+2+…+7=28
(ⅱ)为了得出Yi的分母所作的予先计算,此时
Yi=
k(1-XjX-1 i)
倒数次数:1×8=8
乘法数:(7+6)×8=104
加法数:7×8=56
(ⅲ)得出ω(Z)=S(Z)A(Z),modZ8所作的计算
乘法数 1+2+…+7=28
加法数:1+2+…+7=28
(ⅳ)得出ω(X-1 i)的计算
倒数次数:1×8=8
乘法数:7×8=56
加法数:7×8=56
(ⅴ)为求出Yi所作的计算
除法数:1×8=8
以上计算需要每一步骤,所以总共的步骤数是408。
在图6的电路中,表达式(9)的各个根用下式算出:
其中Anij是〔
(Z+Xk)〕的Zj的系数,
l是任何大于0的整数且l≤d-n-1。这就是说,为了进行疑符纠正,在表达式(11)内,代入l=0及i=n,可得
由这个得出的Yn以及Yn·Xν n与每个校正子S相加,可得
S-Sr+YnXν n
其中ν=0至n-2。
在相加时,由于在位置Yn处的数据是正确的,校正子包括
(n-1)个疑符。因此,把n减去1,可得出Yn-1:
此外,令Yn-1·Xν n-1与每个校正子Sν相加:
Sν←Sν+Yn-1Xν n-1
其中ν=0至n-3。
重复以上计算,可得出最后疑符的Y1为
Y1=S0
上面说过,这就有可能进行疑符纠正。这里也可用与通常的方法同样的方法在d=9及n=8时估计所需的步骤数。
(ⅰ)Annj的展开
乘法数:1+2+…+6=21
加法数:1+2+…+6=21
(ⅱ)为了得出Yi的分母和
∏n=
<math><FROM>k=l<TO>n-l<OF></PRODUCT></math> (Xk+Xn)
所作的计算,其中只需得出∏3-∏8,因为∏2=X1+Y2=A331,
乘法数:1+2+…+6=21
加法数:1+2+…+6=21
(ⅲ)为得出Yn的分子所作的计算
乘法数:7+6+…+1=28
加法数:7+6+…+1=28
(ⅳ)为得出Yn的计算
除法数:7,因为Y1=S0
(ⅴ)Sν+YnXν n
乘法数:6+5+…+1=21
加法数:7+6+…+1=28
以上计算总的步骤为202。因此在表达式(11)的情况下,计算步骤数比通常用表达式(10)的情况可以减少50%。
此外,在上述纠错码是乘积码的情况下,如果在纵方向排列30个符号,在横方向排列128个符号;C1位在横方向,疑符相应于C1指示字的位置,Xk(k=1至n)是与所有C2中的相同。这说明在(11)式中有可能予先计算Annj及
而不对每个C2计算这些项。这就是说,在本例中,以上的计算只需需进行一次,而对C2需进行30次。因此,对于以上计算步骤的数目,由于在(ⅰ)及(ⅱ)中,30次内只算一次,而在(ⅰ)及(ⅱ)的步骤数是90/30=3时,步骤的总数即是115步。在通常方法中,当(ⅰ)及(ⅱ)的步骤数是224/3=74.4时,步骤的总数是191.5。结果,有可能把步骤数减少约40%。
正如上述,本发明的方法与通常方法相比,优点是本发明方法有
可能大大地减少计算步骤的数目、处理时间以及硬件的负荷等等。
此外,在以上的计算中,虽然采用了计算逻辑装置37。但在需要获得Sν←Sν+Xν iYν i的情况下,例如可采用图7所示的概念。在图7中,标号38、39、40都表示寄存器;标号41是加法器;标号42是乘法器;标号43是选择器。这些部件全在计算逻辑装置37内构成。
(1)从校正子寄存器29及工作RAM36通过数据总线28把S0放置在寄存器38内,把Yi置在寄存器39内,把Xi置在寄存器40内。从加法器41把S0+Yi输出至数据总线28。
(2)从乘法器2出来的XiYi通过选择器43反馈至寄存器39。从数据总线28来的S1被置入寄存器38内。因此,S1+XiYi便从加法器41输出到数据总线28。
(3)此外,X2 iYi从乘法器42通过选择器43反馈至寄存器39。S2从数据总线28置入到寄存器38。于是
S2+X2 iYi
便从加法器41输出到数据总线28。
(4)重复以上步骤,可以顺序地得出
S3+X3 iYi,S4+X4 iYi…,
这些值都通过数据总线28送至校正子寄存器29以便重写它们。
计算即如上法进行。
在以上说明中,虽然X1至Xn全是疑符,但在X1至Xn-1是疑符及Xn是一个错误的情况下,可以纠正这数据。在此情况下,未知量是Y1至Yn及Xn,共(n+1)个。利用以上的Annj,可得出Xn为:
因此,未知量是Y1至Yn。然而这些未知量可按疑符纠正同样的方法求得。
例如,若乘积码中d=9(6个疑符+1个错误)
(1)检验疑符位置X1,X2,…X6。
(2)求出并存储Annj。这里总共存储有21个符号A221=X1,A331=A221+X2,A332=A221·X2…A771…A776。
(3)求出并存储总共5个符号
以上的处理对于每30次计算只要进行一次。
(4)计算校正子S0至S7。
(5)S7求出如下
(6)Y7由下式求出:
以及把校正子Y7X7反馈回去。
于是顺序地求出Y6至Y1(=S0)
另外,在这例中,采用了表达式(11)的情况。但若l≠0,操作是相同的。
如同上述,纠正(疑符+一个错误)是可能的。
在此情况下,和上述的疑符纠正一样,计算步骤的数目可以大大减少。
以上的表达式(11)及(12)现可证明如下:(预备定理)若
Anij=〔Ani(Z)〕j
则显然可得下列表达式:
(定理1)n阶线性联立方程
(ν=0至n-1;Yi是未知量)
的根是:
(证明)
(推论1)
(证明)这是显然的,只要代入
Sj+1=
(定理2)若X1至Xn-1为疑符,Xn为错误,则
(证明)从推论1,
右边=
<math><mfrac><mrow><msub><mi>Y</mi><mi>n</mi></msub><msup><mi>X</mi><mi>l+l</mi></msup><msub><mi></mi><mi>n</mi></msub><FROM>k=l<TO>n-l<OF>(Xk+Xn)</PRODUCT></mrow><mrow><msub><mi>Y</mi><mi>n</mi></msub><msup><mi>X</mi><mi>l</mi></msup><msub><mi></mi><mi>n</mi></msub><FROM>k=l<TO>n-l<OF><msub><mi>(X</mi><mi>k</mi></msub><msub><mi>+X</mi><mi>n</mi></msub>)</PRODUCT></mrow></mfrac></math> =左边。
因此在疑符纠正中,从定理1,知道在S0至Sn-1系列中,可以用任何的S1至Sn,S2至Sn+1,…Sd-1-n至Sd-2来纠错。亦即是,对于n个疑符需要有n个接连的校正子,剩下的校正子可作检验用,使得n≤d-1。
此外,为了从定理2求得Xn,需要有校正子S1至Sn+1(总数是n+1个),使得n≤d-2。在此情况下,疑符的数目是n-1≤d-3,和以上情况一样,剩下的校正子可作检验用。
Claims (9)
1、一种纠错码的译码方法,其中第一纠错码(n1,k1)(其中n1表示码长)是对二维排列的(k1×k2)个信息符号相应列中k1个信息符号的每一信息符号进行编码,而相应第二纠错码(n2,k2)(其中n2表示码长)是对二维排列的相应行中k2个信息符号的第一信息符号进行编码,
该方法包括下列步骤:
接收至少相应的第一纠错码;
对相应的第一纠错码进行译码;
产生相应的第一指示字,以指示相应第一纠错码的检错或纠错情况;
将相应的第一指示字存储在具有至少n2位的存储装置(13)中;
对相应的第二纠错码进行译码;
产生相应的第二指示字,以指示相应第二纠错码的检错或纠错情况;和
将相应的第二指示字存储在具有至少K1位的存储装置(17)中;和
输出信息符号;该方法的特征在于,根据相应的第一和第二指示字的状态表示各信息符号的可靠性。
2、一种纠错码的译码设备,其中各相应第一纠错码(n1,k1)(其中n1表示码长)是对二维排列的(k1×k2)个信息符号各相应列中k1个信息符号的每一信息符号进行编码,而相应的第二纠错码(n2,k2)(其中n2表示码长)是对二维排列各相应行中k2个信息符号的每一信息符号进行编码,该设备包括:
接收装置(11),用以接收至少相应的第一纠错码;
译码装置(12,16,14),连接到所述接收装置(11),用以对相应的第一纠错码进行译码,并用以产生相应的第一指示字,以指示相应的第一纠错码的检错或纠错情况,还用以对相应的第二纠错码进行译码,并产生相应的第二指示字以指示相应第二纠错码的检错或纠错情况;和
第一存储装置(13),连接到所述译码装置(12),且具有至少n2位供存储各相应第一指示字的容量;
第二存储装置(17),连接到所述译码装置(16),且具有至少k1位供存储各相应第二指示字的容量;和
输出装置(18,20),连接到所述译码装置(12,16,14),且用以获取信息符号;该设备的特征在于;
装置(19)连接到所述第一和第二存储装置(13,17),并用以根据第一和第二指示字的状态表示各信息符号的可靠性。
3、根据权利要求2所述的设备,其特征在于,所述译码装置包括第一译码装置(12,14)和第二译码装置(16,14),第一译码装置(12,14)连接到所述接收装置(11),用以对相应的第一纠错码进行译码,并用以产生相应的第一指示字,以指示相应各第一纠错码的检错和纠错情况,第二译码装置(16,14)则连接到所述第一译码装置(12,14),用以对相应的第二纠错码进行译码,并用以产生各相应的第二指示字,以表示各相应第二纠错码的检错或纠错情况;
所述第一存储装置(13)连接到所述第一译码装置(12);
所述第二存储装置(17)连接到所述第二译码装置(16,14);
所述输出装置(18,20)也连接到所述第二译码装置(16,14);
4、一种纠错码的译码方法,其中第一纠错码(n1,k1)(其中n1表示码长)是对二维排列的(k1×k2)个信息符号相应列中k1个信息符号的每一信息符号进行编码,而相应第二纠错码(n2,k2)(其中n2表示码长)是对二维排列的相应行中k2个信息符号的每一信息符号进行编码,
该方法包括下列步骤:
接收至少相应的第一纠错码;
对相应的第一纠错码进行译码;
产生相应的第一指示字,以指示相应第一纠错码的检错或纠错情况;
将相应的第一指示字存储在具有至少n2位的存储装置(13)中;
对相应的第二纠错码进行译码,方法是采用相应的各第一指示字对第二纠错码的各代码系列进行疑符校正;和
输出信息符号;该方法的特征在于,
对相应各第二纠错码进行的译码步骤包括进行为获取误差值对疑符纠错过程中相应的第二纠错码的各代码系列只进行一次的部分计算。
5、一种纠错码的译码设备,其中各相应第一纠错码(n1,k1)(其中n1表示码长)是对二维排列的(k1×k2)个信息符号各相应列中k1个信息符号的每一信息符号进行编码,而相应的第二纠错码(n2,k2)(其中n2表示码长)是对二维排列各相应行中k2个信息符号的每一信息符号进行编码,该设备包括:
接收装置(11),用以接收至少相应的第一纠错码;
第一译码装置(12,14),连接到所述接收装置(11),用以对相应的第一纠错码进行译码,并用以产生相应的第一指示字,以指示相应的第一纠错码的检错或纠错情况,
第一存储装置(13),连接到所述译码装置(12),且具有至少n2位供存储各相应第一指示字的容量;
第二译码装置(16,14),连接到所述第一译码装置(12,14)和所述第一存储装置(13),并用以对相应的各第二纠错码进行译码,方法是采用相应的各第一指示字对相应各第二纠错码的各代码系列进行疑符校正;和
输出装置(18,20)用以获取信息符号;该设备的特征在于:
所述第二译码装置(16,14)进行为获取误差值,对疑符纠错过程中相应的所述第二纠错码的各代码系列只进行一次的部分计算。
6、一种纠错码的译码设备,其中各相应第一纠错码(n1,k1)(其中n1表示码长)是对二维排列的(k1×k2)个信息符号各相应列中k1个信息符号的每一信息符号进行编码,而相应的第二纠错码(n2,k2)(其中n1表示码长)是对二维排列各相应行中k2个信息符号的每一信息符号进行编码,该设备包括:
接收和输出装置(28),用以接收至少相应的第一纠错码并用以获取信息符号;
译码装置(29,33,34,35,36,37),连接到所述接收和输出装置(28),用以对相应的第一纠错码进行译码,并用以产生相应的第一指示字,以指示相应的第一纠错码的检错或纠错情况,还用以对相应的第二纠错码进行译码,方法是采用相应的各第一指示字对相应各第二纠错码的各代码系列进行疑符校正;和
存储装置(13),连接到所述译码装置(29,33,34,35,36,37)且具有至少n2位供存储各相应第一指示字的容量;
该设备的特征在于:
所述译码装置(29,33,34,35,36,37)进行为获取误差值对疑符纠错过程中相应的第二纠错码的各代码系列只进行一次的部分计算。
7、一种非对偶纠错码译码设备,其中,多个校正子中的一个校正子是(mod.2)中一系列所收到的符号相加的结果,且利用该设备可以校正该系列所收到的符号中多个符号的错误,该设备包括:
译码装置(12,16,14;28,29,33,34,35,36,37),包括输入装置(21,22;28);校正子发生装置(23;36,37),用以产生校正子;误差位置和误差值计算装置(24;29,36,37),连接到所述校正子发生装置(23,36,37)上,并用以根据各校正子产生误差位置和误差值;误差校正装置(25;37),连接到所述输入装置(21,22;28)和误差位置和误差值计算装置(24;29,36,37)上,并用以将误差值相加来校正错误符号;和输出装置(26,27;28),连接到所述误差校正装置(25;37)上;该设备的特征在于:
所述误差位置和误差值计算装置(24;29,36,37)包括一校正子寄存器(29),用以存储校正子;和“异或”门(31),连接到所述校正子寄存器(29)上,并供有校正值和误差值,且用以将各误差值与校正子相加以产生误差值,存储在所述校正子寄存器(29)中,供校正错误符号用。
8、一种Reed-Solomon码的译码和校正方法,包括下列步骤:
解下列方程,求出该方程的根;
其中ν=0至d-2
n=疑符的数目
Xk=第k位置
Sν=校正子
Yk=在第k疑符上的误差值
d=码的最短距离
根据所述根对在Reed-Solomon码中所编的误差进行疑符校正;
其特征是:上式的根可由下式得出:
l为等于或大于0的整数,它满足l<d-n-1
9、一种根据下式的根对Reed-Solomon码中的疑符进行译码和校正的设备:
其中ν=0至d-2
n=疑符的数目
Xk=第k位置
Sν=校正子
Yk=在第k疑符上的误差值
d=码的最短距离
校正子寄存装置(29)供存储校正子Sν之用;和逻辑运算装置(37),用以通过解下列方程求出所述根:
l为等于或大于0的整数,它满足l≤d-n-1
该设备的特征在于,所述逻辑运算装置(37)包括:
寄存装置(38),供存储校正子Sν之用;
寄存装置(39),供存储Xν iYi之用;
寄存装置(40),供存储Xi之用;
加法装置(41),用以将Sν和Sν iYi相加,并给所述寄存装置(38)和校正子寄存装置(29)提供Sν+Xν iYi;
乘法装置(42),用以将Xi与Xν iYi相乘起来,并给所述寄存装置(39)提供Xν iYi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 85103579 CN1008316B (zh) | 1985-05-08 | 1985-05-08 | 纠错码的译码方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 85103579 CN1008316B (zh) | 1985-05-08 | 1985-05-08 | 纠错码的译码方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN85103579A CN85103579A (zh) | 1986-11-05 |
CN1008316B true CN1008316B (zh) | 1990-06-06 |
Family
ID=4793294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 85103579 Expired CN1008316B (zh) | 1985-05-08 | 1985-05-08 | 纠错码的译码方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1008316B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8151171B2 (en) * | 2007-05-07 | 2012-04-03 | Broadcom Corporation | Operational parameter adaptable LDPC (low density parity check) decoder |
WO2009075143A1 (ja) | 2007-12-13 | 2009-06-18 | Nec Corporation | 復号装置、データ蓄積装置、データ通信システム、および復号方法 |
CN103354456B (zh) * | 2008-07-02 | 2017-06-23 | 松下电器(美国)知识产权公司 | 发送装置、接收装置、发送方法和接收方法 |
US8166364B2 (en) * | 2008-08-04 | 2012-04-24 | Seagate Technology Llc | Low density parity check decoder using multiple variable node degree distribution codes |
WO2011003233A1 (zh) * | 2009-07-07 | 2011-01-13 | 华为技术有限公司 | 编码方法、装置与系统、解码方法、装置与系统 |
JP5250115B2 (ja) | 2009-09-25 | 2013-07-31 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法、復号方法、及び通信システム |
CN102130692B (zh) * | 2010-01-19 | 2013-03-20 | 国家广播电影电视总局广播科学研究院 | 基于外在信息度数的准循环低密度奇偶校验码的构造方法 |
CN102158232A (zh) * | 2010-02-11 | 2011-08-17 | 凌阳科技股份有限公司 | Ldpc的存储器使用方法、ldpc解码方法及其装置 |
CN102201817B (zh) * | 2010-03-24 | 2013-03-06 | 中国科学院微电子研究所 | 基于存储器折叠架构优化的低功耗ldpc译码器 |
CN102255618B (zh) * | 2010-05-20 | 2013-07-31 | 中国人民解放军国防科学技术大学 | 一种低开销的高速加法器瞬态故障自动校正电路 |
JP5500379B2 (ja) * | 2010-09-03 | 2014-05-21 | ソニー株式会社 | データ処理装置、及びデータ処理方法 |
CN102111160B (zh) * | 2010-11-23 | 2013-06-26 | 中国科学技术大学 | 用于反应式系统测试的编解码系统及其编解码器 |
CN102006083B (zh) * | 2010-12-10 | 2013-01-16 | 福建捷联电子有限公司 | 相位编码的解码方法 |
CN102082577B (zh) * | 2010-12-31 | 2014-02-05 | 杭州华三通信技术有限公司 | 一种高速循环冗余校验crc装置及其实现方法 |
CN102185618B (zh) * | 2011-01-27 | 2014-02-19 | 华为技术有限公司 | 一种维特比译码算法的改进方法和卷积码译码器 |
CN102176678B (zh) * | 2011-01-28 | 2016-03-09 | 太原理工大学 | 一种小波包分解节点与对应频段检索及编程方法 |
CN102185615B (zh) * | 2011-05-05 | 2013-05-08 | 北京大学 | 适于并行译码实现的ldpc码构造方法 |
CN102299719B (zh) * | 2011-08-23 | 2013-03-06 | 电子科技大学 | 一种非迭代式ldpc码译码器 |
EP2731270A4 (en) * | 2011-11-17 | 2014-07-02 | Huawei Tech Co Ltd | CODING METHOD, DECODING METHOD, CODING DEVICE AND DECODING DEVICE |
CN102571105B (zh) * | 2012-02-24 | 2014-03-12 | 西安电子科技大学 | 一种逼近信道容量的码率可变ldpc码的编码方法 |
CN102611457B (zh) * | 2012-02-29 | 2014-07-02 | 西安空间无线电技术研究所 | 一种多维tcm译码器 |
CN102868411B (zh) * | 2012-10-22 | 2015-03-11 | 常熟理工学院 | Crc逆序串行解码算法、扩展的并行逆序解码方法及装置 |
CN102932002B (zh) * | 2012-11-12 | 2016-01-20 | 中国电子科技集团公司第五十四研究所 | 截短型高速tpc译码器的fpga设计方法 |
CN105068882B (zh) * | 2015-07-09 | 2017-11-17 | 西北工业大学 | 基于二维检错纠错编码的sram抗辐射加固方法 |
-
1985
- 1985-05-08 CN CN 85103579 patent/CN1008316B/zh not_active Expired
Also Published As
Publication number | Publication date |
---|---|
CN85103579A (zh) | 1986-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1008316B (zh) | 纠错码的译码方法和系统 | |
CN1084966C (zh) | 纠错编码译码方法和利用这种方法的电路 | |
CN1099110C (zh) | 通用纠错系统 | |
CN1055586C (zh) | 纠错译码器和纠错译码方法 | |
CN1113295C (zh) | 错误校正编码方法及其设备 | |
CN1171391C (zh) | 交错方法、交错装置、涡轮编码方法以及涡轮编码装置 | |
CN1134782C (zh) | 纠错方法和系统 | |
CN1630204A (zh) | 具有矩阵转换技术的循环冗余码计算方法及系统 | |
CN1836394A (zh) | 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法 | |
CN1126397A (zh) | 纠错编码器、纠错解码器和具有纠错码的数据传输系统 | |
CN101047388A (zh) | 纠错装置 | |
CN1171389C (zh) | 用于生成循环冗余校验代码的并行循环冗余校验生成电路 | |
CN1950887A (zh) | 全息记录和再现设备以及全息再现设备 | |
CN1179488C (zh) | 包括结合正交调幅的穿孔乘积码的数字传输系统与方法 | |
CN1182909A (zh) | 算术设备 | |
CN1815609A (zh) | 错误检测码附加电路、错误检测电路和方法及盘片设备 | |
CN1286275C (zh) | 纠错装置 | |
CN1497414A (zh) | 数据转换电路和半导体装置 | |
CN1317828C (zh) | 里德索洛蒙码或扩展里德索洛蒙码的译码方法和译码器 | |
CN101060341A (zh) | 后维特比纠错装置及其相关方法 | |
CN1277493A (zh) | 数据解码设备和数据解码方法 | |
CN1160726C (zh) | 纠错装置和包含该装置的光盘阅读器 | |
CN1064472C (zh) | 带有部分响应译码器的磁性重放设备 | |
CN1582555A (zh) | 片段式解交织 | |
CN1957533A (zh) | 维特比译码装置以及维特比译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C13 | Decision | ||
GR02 | Examined patent application | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |