里德-所罗门编码装置制造方法及图纸

技术编号:3423885 阅读:178 留言:0更新日期:2012-04-11 18:40
提供了能对应于原始多项式、生成多项式和误差校正数的变化来进行里德-所罗门编码的里德-所罗门编码装置和编码方法。此装置具备有:生成多项式系数生成块1,它输入原始多项式设定值4和生成初始值3,用它们展开生成多项式而求得系数数据8;数据编码块2,它输入原始多项式设定值4,应用它由生成多项式来除信息多项式以进行数据编码。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数字信号处理的误差校正中广泛采用的进行多误差校正的里德-所罗门编码装置与编码方法。在各种大容量存储装置的存储信息以及高速通信的传输信息等之中,广泛将里德-所罗门代码用作可能校正多重误差的代码。里德-所罗门代码是在以P(x)为原始多项式,以α为P(x)=0的根时,将此根α作为原始元的加罗华(Galois)域上的代码。在此,考虑以t为误差校正数、m为扩展域的次数,而以α0、α1、…、α2m-2为加罗华域GF(2m)的原始元的码长n=2m-1的里德-所罗门代码。根据这种代码,m位为1处理单位即1个符号。原始信息量为(n-2t)个符号。在以下的说明中,取m=8,1符号由8位即1字节表示。1分组的接收数据由n个符号组成。此符号数n称为码长。在t=8时,能够作8个符号的误差校正。这里,为了对接收数据中的原始信息(n-2t)个符号进行信息数据的误差校正,将附加的2t代码称作为检查数据。里德-所罗门代码的编码装置是在(n-2t)个符号的信息数据中附加上2t个符号的检查数据,生成码长为n的代码列组成的代码数据。下面说明里德-所罗门代码(以下称作RS代码)的编码算法。首先描述确定里德-所罗门编码的第一要素即原始多项式。考虑m=8的情形,加罗华域的原始元共有从α0到α254共255个,各原始元的向量值由原始多项式确定。一般,当m=8时,原始多项式多采用P(x)=X8+X4+X3+X2+1这时,原始元的向量值为α0=00000001α1=00000010α2=00000100α3=00001000α4=00010000α5=00100000α6=01000000α7=10000000α8=00011101α9=00111010现在说明这种向量值的决定方法。m=8时,向量值表现为8位,从α0到α7,次数逐个加1,成为顺次向左位移位的值。α8是把α代入原始多项式P(x)中,置P(α)=0而按下述方法求出。在加罗华域中的计算,由于加和减是相同的,故由P(α)=α8+α4+α3+α2+1=0即得α8=α4+α3+α2+1于是有α8=00011101,而α9则是使α8进行向左的位移位的结果。这样,原始元具有有规则地确定的向量值,随着次数的增加而向左进行位移位,当最上位的位值为1时,在使其向左作位移位后,对αm=α8=00011101进行加法计算的值即成为下一方次数的向量值。但是,加罗华计算中的加法运算相当于各向量值的“异”。RS代码是加罗华域上的代码,加罗华域的原始元,例如在m=8时,是由采用255个原始元计算所确定的代码。因此,若是各原始元具有不同的向量值时,即使假定采用相同的计算步骤,也会成为完全不同的代码。这就是说,当采用不同的原始多项式时,得到的是完全不同的RS代码。下面说明作为确定里德-所罗门编码的第二要素的生成多项式。t重误差校正的RS代码按下述方式生成。在把输入数据的n-2t个原始信息作为信息多项式表示时,由以下所示的生成多项式去除此信息多项式,求出剩余多项式。然后把作为剩余多项式算出的2t个检查数据附加到(n-2t)个原始信息数据即信息语言上,作为码长为n的里德-所罗门代码。码长n≤2m-1、误差校正数t而最小距离dmin≤2t+1的多误差校正RS代码的生成多项式,一般如以下所示,但是信息语言的相应数据长度或字长k=n-2t。G(x)=(x-α0)(x-α1)(x-α2)…(x-α2t-1)=Πi=02t-1(x-αi)]]>=x2t+c2t-1x2t-1+c2t-2x2t-2+c2t-3x2t-3+…+c2x2+c1x+c0…(1)于是,把k个信息数据ak-1、ak-2、…、a2、a1、a0由下式表示I(X)=ak-1Xn-1+ak-2Xn-2+…+a1X2t+1+a0X2t(2)由(1)式去除(2)式所得的剩余多项式R(X)即成为检查多项式,此检查多项式的2t个系数即成为检查数据。也就是I(X)=Q(x)G(x)+R(x)由于加罗华计算中的加减法相同,R(x)=Q(x)G(x)+I(x)=b2t-1X2t-1+b2t-2X2t-2+b2t-3X2t-3+…+b1X+b0这里,I(x)信息多项式;G(x)生成多项式;Q(x)商多项式;R(x)剩余多项式。于是,全体的代码多项式X(x)成为X(x)=I(x)+R(x)=ak-1xn-1+ak-2xn-2+…+a1x2t+1+a0x2t+b2t-1x2t-1+b2t-2x2t-2+…+b1x+b0…(3)此(3)式所示的代码多项式X(x)中n个系数ak-1、ak-2、…、a2、a1、a0、b2t-1、b2t-2、…b1、b0便是里德-所罗门代码。这里,生成多项式(1)中的i个初始值,对于通信系统中传送的RS代码,一般如上所述是采用i=0,但对于磁盘系统中的RS代码,普遍多采用i=120。取决于此i的开始值,在将(1)式展开时的各个系数C会完全不同,因而剩余多项式的系数b也完全不同,与原始多项式的情形相同,当生成多项式不同,即使采用完全相同的程序编码,也会得到完全不同的RS代码。下面说明RS编码算法的硬件实现。RS代码是由信息多项式的各系数组成的信息数据和用生成多项式去除此信息多项式而求得的剩余多项式的系数组成的检查数据两者构成。因此,在求此剩余多项式时,为了顺次地用生成多项式的系数去除信息多项式的系数,就需用信息多项式的各系数和生成多项式(1)中各次幂的系数C,进行乘法和加法计算,用于实现这种除法的硬件,一般是由用来进行生成多项式(1)中各次幂的系数C(各次幂的系数为定值)和信息多项式的各个系数运算的加罗华域的乘法器、加罗华域的加法器和保持这些计算结果的移位寄存器等构成,这与现有的情形相同。图6是特许第2591611号中公开的,示明现有的RS编码装置误差校正编码电路结构的框图,输入数据为信息多项式的各个系数,在把它们输送到末级的寄存器即寄存器605后,此信息多项式的最高次幂的系数和生成多项式各系数g0~g2t-1的相乘结果,即从乘法电路611~615,也即从乘法器一一输出,加到各寄存器601~605中所存储的信息多项式的系数值上。由此,一次除法运算成立,从而存储于各寄存器601~605中的数据能逐一地移位。这样,通过顺次地反复进行这种除法运算,就可以求得商多项式,而不传送到末级寄存器605中的剩留在其他寄存器601~604中的值便成为剩余多项式的系数。在此,作为生成多项式各次幂的系数采用预先求得的固定值,为此,用于进行生成多项式和信息多项式二者的系数计算中加罗华域的乘法运算的乘法器,就可以采用称作系数器的固定值乘法器。由于RS代码是循环码,故可通过位移位计算来实现乘法运算。但是,系数器的位移位计算中,它的位移位规则性是由原始多项式确定,更具体地说,是由αm的值决定,即使假定进行完全相同的固定值乘法运算,当原始多项式不同时,就必须进行完全不同的位移位计算。于是,当原始多项式改变时,就会有不能编成误差校正码的问题。此外,假定能够编成误差校正码,为此就存在着需要准备对应于各原始多项式的完全不同的系数器以及具备有这种系数器的乘法器等问题。再有,生成多项式(1)中i的初始值因所用RS代码的系统而异。前面已经述本文档来自技高网...

【技术保护点】
一种里德-所罗门编码装置,其特征在于,它包括: 生成多项式系数的生成装置,它把扩展域的次数为m(m≥1,m为整数)而原始元之一为α时生成多项式为0的情况下作为α的幂乘的根中幂数最小的原始元即生成初始值和α↑[m]的值即原始多项式的设定值输入,对应于生成初始值或原始多项式值中至少一个的变化,展开生成多项式而生成由各次幂的系数组成的系数数据; 数据编码装置,它把信息数据和上述系数数据输入,用该系数数据,对应生成初始值或原始多项式设定值的变化,去除上述信息数据,把通过此除法运算求得的余数数据与上述信息数据相结合,形成里德-所罗门编码数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:福冈俊彦
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1