纠错编码译码方法和利用这种方法的电路

申请号 CN01117367.X 申请日 1996-05-30 公开(公告)号 CN1172447C 公开(公告)日 2004-10-20
申请人 三菱电机株式会社; 发明人 吉田英夫;
摘要 一种纠错编码/译码方法,其特征在于,纠错编码和译码包括在进行1位纠错和2位纠错的(76,74)二进制线性码中将奇偶检验矩阵的加权只作为“1”、“3”或“7”处理的步骤。
权利要求

1.一种纠错编码/译码方法,其特征在于,纠错编码和译码包括在进行1位纠错和2位纠错的(76,64)二进制线性码中将奇偶检验矩阵的加权只作为“1”、“3”或“7”处理的步骤。
2.一种译码电路,用于对(76,64)二进制线性码进行译码,其特征在于,它包括:校正子电路,用于进行校正子计算;校正电路,用于进行纠错;和偶数和加权“5”检测电路,在8位校正子的位加权为不包括所有“0”或5的偶数时确定不可能纠错。
3.如权利要求1所述的纠错编码/译码方法,其特征在于,它包括对(76,64)二进制线性码进行译码时将所述奇偶检验矩阵作为第一处理的步骤:H=111111111111111111110111111000001000100000000000000000000010000000000000111101001110111010001000000111110110010010001000100010000001100010001000111010110001110011101000000110000001001111110110010001000000001010001000100010101000111110011100100011110001001001000001111100001000000101000100110010001100100011001111000101001001000100101001001011110100100000100100110110011000010010001000111000101110001000010100000111111000010000011100010010001010110110101010010000010100110111001111000100100100010001000010110011001001110000011001001000000010110000110010111000011100110011000001]]>

说明书全文

纠错编码译码方法和利用 这种方法的电路

技术领域

发明涉及纠错编码译码方法及其电路,特别是涉及在数据传送或数据记录等的数据发送中,由比信息符号大的比特长作为符号所构成的里德-所罗代码的编码和译码的方法以及为实现这种方法的电路。

背景技术

通常在传输数字信息时经常都要利用纠错码。例如在文献“编码理论”(今井秀树著,电子情报通信学会编,平成2年3月15日初版发行)中,揭示出各种各样的纠错编码译码方法。其中,里德-所罗门代码在能够以8比特作为符号进行的符号纠错方面,与计算机或数字装置的适配性很好,适用于很多传输信息和记录信息等的装置。
另一方面,快速存贮器能写入抹除,而且作为即使没有电源时也能保存数据、并能进行高于DRAM的高度集成化的设备受到注意,可望被作为存贮盘来加以应用。但是,快速存贮器在重复进行写入和抹除时有可能会破坏内部单元,从而损坏数据。因此,在将数据记录到快速存贮器的情况下,多半要采用纠错码,而在进行数据抹除时因为数据全都成为“1”,即以对此作检验来进行抹除的确认。
一般,在磁盘存贮器中记录数据时,以512字节信息数据作为一个扇区来加以存贮。另外,由于存贮器中也以8比特为单位进行存贮,故采用以8比特作为一个符号的里德-所罗门代码。但,在以8比特作为一个符号的里德-所罗门代码中,因为代码长一般只能取到255,所以采用分成多个代码字的方法。
对此,也可以采用以下方法:通过采用例如代码长一般可取到1023个符号的,以1个符号作为10比特的里德-所罗门代码,用1个代码字的里德-所罗门代码来保护1扇区的数据。
图15是表示这样的已有纠错编码译码方法中的代码结构的说明图,专门列示里德-所罗门代码(418,410)。
其中,“418”为代码符号长,“410”为信息长,能够进行4个符号的校正。在图15中,30表示压缩代码部分,31表示实际信息数据符号部分,32表示检验符号部分,36为伪符号部分。
图15所示的里德-所罗门代码原来是码长为1023个符号的代码,但将压缩代码部分30的605个符号作为0进行编码。而如以1扇区为512字节时,即成为4096比特,在10比特/符号时,就差4比特。因此另外加进4比特的伪符号部分36,从而实际信息数据符号部分31成为410个符号,将检验符号部分32生成10字节的8个符号。
下面利用图16说明生成图15中里德-所罗门代码的检验字节的编码电路。这里像通常快速存贮器中进行处理那样数据输入以8比特为单位,检验符号输出也以8比特为单位。在图16中,22为8比特结构的信息数据输入端,19为8比特/10比特转换电路,23为GF(2E10)上的里德-所罗门代码的编码电路,26为8比特检验符号输出端,29为10比特/8比特转换电路。
下面说明图16结构的操作。编码电路23中生成里德-所罗门代码的检验符号。为此预先将编码电路23清“0”。
首先,由信息数据输入端22输入8比特的信息数据,送至8比特/10比特转换电路19。在8比特/10比特转换电路19中,如存储10比特的信息,就将该信息输入到编码电路23。
在包含图15中的伪符号部分36的4比特的实际信息数据符号部分31被全部输入到编码电路23中时,就得到8个符号(80比特)的检验符号部分32。亦即无需计算压缩代码部分30。
检验符号部分32通过10比特/8比特转换电路29从高位开始进行10比特/8比特转换,检验字节数据每次8比特由检验符号输出端26输出。亦即,10字节的数据被作为检验符号输出。
下面利用图17说明已有的译码方法,特别关于校正子计算的说明。顺便说明,图17的结构是设想为快速存贮器,也含有数据抹除检验功能。在图17中,1为输入8比特接收信信号数据的数据输入端,5为GF(2E10)上的有限域(伽罗华域)加法电路,7为10比特寄存器,8为GF(2E10)上的有限域系数乘法电路,9为校正子输出端,20为检测8比特数据是否全都为“1”、亦即是否为16进制码“FF”的FF检验电路,21为抹除检测标志输出电路。
首先,作为纠错的译码,预先将寄存器7加以清0。由数据输入端1输入的接收信号数据被输入到8比特/10比特转换电路19。在此8比特/10比特转换电路19中如存放有10比特的数据的话,就将此信息在有限域加法电路5中与有限域系数乘法电路8的输出作有限域加法运算。而后将加法结果输入给寄存器7。并将寄存器7的输出发送到有限域系数乘法电路8的输入端。
在对图15中的实际信息数据符号部分31和检验符号部分32全都输入时的寄存器7状态成为校正子Sj,由校正子输出端9输出。
此时,里德-所罗门代码的起头数据符号为“0”,即使符号单位上产生遣漏,由于里德-所罗门代码为循环码,因此,可通过校正以产生遗漏的原样进行译码。
另一方面,在快速存贮器中抹除了数据的情况下,数据都成为“1”,但有必要检查这一抹除过程的进行是否正常。
此时,来自数据输入端1的8比特数据被送入FF检验电路20,只要检测到1比特的“0”,就由抹除检验标志输出端21输出异常标志。
按照过去,在进行纠错时,在作为积代码结构的代码的译码中,一经存储到存贮器之后即进行译码。图18为表示这样情况的例子的电路方框图。图中,59为缓冲存贮器,60为校正子电路,63为求取差错位置和大小的差错位置/大小检测电路,64为校正电路,66为校正后的译码数据输出端。
在上述结构中,由数据输入端1输入的编码数据存放在缓冲存贮器59中,然后解除其交错状态作为编码序列输入到校正子电路60。根据这样得到的校正子信号,由差错位置/大小检测电路63求取差错位置及其大小,由校正电路64读出缓冲存贮器59中所存在的差错位置的数据,进行差错校正后写入缓冲存贮器59。在积代码等中,重复进行多次这种译码操作,在全部译码后由译码数据输出端65输出。
在以一个缓冲存贮器进行如上述的操作时,必须分时进行接收信号数据的输入、向校正子电路的输出、差错位置的数据输入输出、校正后的数据的输出等。特别是在进行积代码等的多次重复译码时,就有必要采用能作高速存取的缓冲存贮器。
而为保证存贮器等的可靠性,通常采用一比特纠错、二比特差错检测代码。(72、64)二进制线性代码为其典型例。这里“72”为比特符号长,“64”为比特信息长。亦即,检验比特为8比特。
这样的代码的译码电路,往往对全部代码比特数据作并行处理并译码,而且多半带有用于检测差错的电路。对于这样的代码,例如在文献“容错系统论”(当麻喜弘编著,电子情报通信学会编,平成2年6月10日初版发行)中有介绍。
图19为表示历来的(72、64)二进制线性代码的译码电路示例的电路方框图。图中,66为输入来自校正子电路60的信号的8比特输入“或”电路,67为输入来自差错位置/大小检测电路63的信号的72比特输入“或非”电路,68为接收8比特输入“或”电路66和72比特输入“或非”电路67的输出的2比特输入“与”电路,49为输出来自2比特输入“与”电路68的校正不可检测标志的输出端。
在上述这样的结构中进行存贮器的纠错时,因为数据总线为并行结构,所以72比特的代码数据被一次输入到校正子电路60。在校正子电路60中从接收信号数据生成8比特的校正子信息加以输出。差错位置/大小检测电路63检验包含由奇偶检测阵列确定的检验比特的各比特位置的8比特的格式与校正子信息是否一致。其结果被送到72比特输入“或非”电路67和校正电路64。此时,将信息部分的64比特送至校正电路64。在校正电路64中对接收到的各信息比特和各比特的差错检测结果分别进行“异或”逻辑运算,其结果由译码数据输出端65输出。
在此编码中,进行对2比特差错的差错检测。即在校正子信息不为“0”、且不与72比特码长的奇偶检验阵列的格式相等时,就成为不可校正且差错被检测。8比特输入“或”电路66检验校正子信息的8比特不为“0”,72比特输入“或非”电路67检验是否为1比特,在2比特输入“与”电路68中取二检验结果的逻辑积从校正不可检测标志输出端49输出。
有关上述这样的结构及作用,例如在日本专利公告昭53-5099(发明人D.W.Price于1972.11.8.申请)中曾有说明。
已有的纠错编码译码方法由于如上述构成,因此,遗留了如下述的各种问题。
第一个问题是,对于8比特输入输出数据,例如采用1符号10比特的里德-所罗门代码时,必须设有8比特/10比特转换电路和10比特/8比特转换电路,符号时钟也就必须产生8比特用和10比特用,因而必须设有比特时钟。
第二个问题是,为进行快速存贮器的抹除的检测,必须要有检测全部为“1”的特殊电路。
第三个问题是,即使里德-所罗门代码在符号单位上产生遗漏,由于里德-所罗门代码为循环码,因此可通过校正以产生遗漏的原样进行译码。
第四个问题是,将编码数据存入存贮器时,由于存贮器对接收数据的输入、至译码电路的输入输出、译码结果的输出进行分时存取,因此,为了作多次译码就必须设有高速存取的存贮器。
第五个问题是,在用于存贮器纠错的(72、64)二进制线性代码中,为输出纠错不可标志,必须要有对72比特的1比特差错检测和其结果进行逻辑运算的电路,因此必然会带来很大的时间延时,同时为了逻辑运算还必须设有具有许多门数量的电路。

发明内容

本发明是为了解决如上述的已有技术中的问题而提出,其目的在于:提供一种通过仅对8比特符号进行处理,同时省去冗长的电路,以简单的结构进行纠错和编码译码、同时具有良好的可靠性的纠错编码译码方法及其电路。
为达到上述目的,本发明提供根据第一方面的纠错编码/译码方法,该方法包括以下步骤:在由比信息数据大的比特长作为符号所构成的里德-所罗门代码的编码和译码方法中,超出信息符号的比特长的里德-所罗门代码符号的比特数据设定伪数据而并不送出的步骤;在译码过程中,预先在信息部分的符号中附加作为比特数据的伪数据的步骤,该比特数据作为里德-所罗门代码是不足的;检验符号部分中,与信息符号的比特长相当的部分原封不动地送出,而超出信息符号的比特长的部分在送出与信息符号的比特长相当的检验符号部分之后,与信息符号的每比特长一起送出的步骤;在译码过程中,先送出的与信息符号的比特长相当的检验符号部分,附加伪数据并原封不动地进行校正子计算,而对于汇聚了后送出的超出信息符号的比特长的部分的数据,进行根据其检验比特数据的校正子计算步骤;以及与根据先得到的信息和检验符号的校正子进行有限域加法运算的步骤。
为达到上述目的,本发明根据第二方面的纠错编码译码方法,该方法包括:当进行纠错代码的编码和译码时,将所有信息和检验字节进行作0/1反相后送出,在译码时对所读出的数据进行0/1反相后进行译码的步骤。
为达到上述目的,本发明提供根据第三方面的纠错编码译码方法,该方法包括:在压缩码长后的纠错代码的编码和译码中,在压缩部分附加数据格式来生成检验符号,并只发送信息和检验符号,以便信息和检验符号全都成为“1”的数据成为代码的步骤;和在译码过程中,将相当于压缩部分的数据的校正子数据附加到由信息和检验符号生成的校正子上的步骤。
为达到上述目的,本发明提供根据第四方面的纠错编码译码方法,该方法包括:在压缩码长的纠错代码的编码和译码中,在信息的一个符号之前的压缩部分附加该代码固有的数据格式生成检验符号,并只发送信息和检验符号的步骤;在译码过程中,将相当于附加在压缩部分的代码固有数据格式的校正子附加到由信息和检验符号所生成的校正子上的步骤。
为达到上述目的,本发明提供根据第五方面的纠错译码电路,该电路包括:在将接收到的经纠错编码的数据由输入单元存入缓冲存贮器并通过所述纠错代码进行多次译码操作的译码电路中,进行将经纠错编码的数据存入缓冲存贮器并进行多次译码操作的步骤,进行对输入数据的校正子计算同时进行对缓冲存贮器的数据的校正子计算的校正子计算电路;和选择二个校正子同时作校正差错进行译码的电路。
为达到上述目的,本发明提供根据第六方面的纠错编码译码方法,该方法包括:在纠错编码和译码中,在进行1比特纠错、2比特差错检测的(76、64)二进制线性编码中,仅以“1”、”3”、“7”来处理奇偶检验阵列的加权的步骤。
根据本发明的一种译码电路,用于对(76,64)二进制线性码进行译码,它包括:校正子电路,用于进行校正子计算;校正电路,用于进行纠错;和偶数和加权“5”检测电路,在8位校正子的位加权为不包括所有“0”或5的偶数时确定不可能纠错。
在上述方法中,根据本发明第一方面的纠错编码译码方法,例如以8比特信息作为1个符号,对于由比其大的比特长作为符号构成的里德-所罗门代码,不足的比特给于伪数据,作成1个符号,由此生成的里德-所罗门代码的检验符号将与信息相同的8比特接着信息符号后进行发送,剩余的检验符号的比特在以后汇集加以发送,在译码中,在8比特的信息符号和8比特的检验符号上附加伪比特后进行校正子计算,并对其之后的汇集了剩余部分的检验符号的比特数据进行校正计算。
在上述方法中,根据本发明第二方面的纠错编码译码方法,例如在将信息和检验符号全部反相后存入快速存贮器等中,在读出时将其全部反相加以译码,由此能够将快速存贮器的抹除状态的全“1”作为全“0”的编码数据进行处理。
在上述方法中,根据本发明第三方面的纠错编码译码方法,在压缩部分设定伪信息以便即使信息和检验字节全部为“1”也成为代码,在译码过程中,将相当于压缩部分数据的校正子数据附加到由信息和检验符号生成的校正子上来进行译码。
在上述方法中,根据本发明第四方面的纠错编码译码方法,在压缩部分的起头加以该代码固有的数据,编码中生成根据该固有数据的检验符号,仅发送信息和检验符号,而在译码中将相当于固有数据格式的校正子附加到由信息和检验符号生成的校正子上来进行译码。
在上述方法中,根据本发明第五方面的纠错译码电路,选择对应于输入数据的校正子和对应于缓冲存贮器的数据的校正子,并进行根据这些的纠错和译码,由此能够减少缓冲存贮器的存取次数,使缓冲存贮器低速化。
上述方法中,根据本发明第六方面的纠错编码译码方法,在纠错编码和译码过程中,在进行1比特纠错、2比特差错检测的(76、64)二进制线性编码中,以奇偶检验阵列的加权成为“1”、“3”、“7”来构成为了检测纠错不可,求取校正子的加权,进行根据此加权检测的纠错不可检测。
附图说明
图1为用于实现本发明实施例1的纠错编码译码方法的电路方框图;图2为用于实现本发明实施例2的纠错编码译码方法的电路方框图;图3为本发明实施例3的纠错编码译码方法中的译码电路的第一例电路方框图;图4为本发明实施例3的纠错编码译码方法中的译码电路的第二例电路方框图;图5为本发明实施例4的纠错编码译码方法中的进行同步判断的电路方框图;图6为本发明实施例3的纠错编码译码方法中,对应于图8中所示的代码结构的编码电路的电路方框图;图7为说明本发明实施例3的纠错编码译码方法中的编码电路的其他示例的方框图;图8为在实行本发明实施例3时的(520、512)里德-所罗门代码的构成法的说明图;图9为在实行本发明实施例4时的代码的构成法的说明图;图10为表示图1结构中的校正子数据校正电路的第一例的电路方框图;图11为表示图1结构中的校正子数据校正电路的第二例的电路方框图;图12为用于实现本发明实施例6的纠错编码译码方法的电路方框图;图13为用于实现本发明实施例7的纠错编码译码方法的电路方框图;图14为表示图13的偶数和加权“5”检测电路的电路示例的方框图;
图15为历来的纠错编码译码方法中的代码的结构示例的说明图;图16为生成图15的里德-所罗门代码的检验字节的编码电路的电路方框图;图17为历来的纠错编码译码方法中的译码电路的电路方框图;图18为历来的纠错编码译码方法中进行积代码结构的译码的电路的电路方框图;和图19为历来的纠错编码译码方法中,(72、64)二进制线性代码的译码电路的电路方框图。

具体实施方式

实施例1:图1为用于实现本发明实施例1的纠错纺码译码方法的电路方框图,特别表示直到压缩1符号10比特的(1023,1015)里德-所罗门代码的(520,512)里德-所罗门代码编码的校正子运算的译码电路。
图中,2为输入作为1个符号中剩余比特的2比特伪数据(例如,“00”)的伪数据输入电路,3为生成根据检验符号的超过部分(2比特×8符号)的校正子数据的校正子数据校正电路,4为选择并输出2个10比特的数据的选择器,5为已有的GF(2E10)上的有限域加法电路,7为10比特寄存器,8为GF(2E10)上的有限域系数乘法电路,6为选择二个10比特的数据的选择器,9为校正子输出端,10为被连接到数据输入端1的0/1反相电路。
顺便提出,此实施例1解决前述的第一个和第二个问题。
在如上述的结构中,接着对其操作加以说明。
在图1的结构中,假设编码数据全部以0/1反相状态被记录。亦即,由数据输入端1输入的编码数据为以8比特单位反相后的数据。此数据在0/1反相电路10中被加以反相。亦即,在记录数据的全部比特为“1”时,代码反相全部成为“0”。因而,在快速存贮器的抹除中,由于抹除数据全部成为“1”,作为0/1反相电路10的输出就能够进行全部为“0”代码的校正子检测。
亦就是解决了第二个问题。
下面说明对应于第一个问题的操作。
首先,早先被发送的512字节信息,对作为剩余比特的2比特例如作为“0”加以编码,而在接收信号方也由伪数据输入电路2增加伪数据(例如“0”),作为10比特的符号通过选择器4被输入到有限域加法电路5。
有限域加法电路5的另一个输入是从初始值作为“0”的寄存器7,通过有限域系数乘法电路8,经由选择器6输出的数据。此电路系统进行与历来的校正子电路同样的运算。
接着,输入8个符号检验字节,但这仅对与信息符号相同的8比特数据加以输入,与信息符号同样,由伪数据输入电路2增加伪数据(例如“0”),作为10比特的符号,从选择器4被输入到有限域加法电路5,并与先前的信息符号同样地进行校正子计算。
最后,作为代码序列,各检验符号中的多余比特2比特被汇集在8比特单位,作为8比特数据输入2个符号。此数据被输入到校正子数据校正电路3,进行成为a4j(d7a3j+d6a2j+d5aj+d4)+(d3a3j+d2a2j+d1aj+d0)的GF(210)的有限域系数乘法运算和加法运算。这里,di为以16进制表示的000(HEX)、100(HEX)、200(HEX)、300(HEX)中的一个。由此得到的校正数据与到前一检验符号为止的校正子数据在有限域加法电路5中相加。顺便指出,前一检验符号为从寄存器7通过选择器4经由选择器6输出的符号。然后,有限域加法电路5的加法结果再次被存贮到寄存器7中。而且,它作为校正子数据Sj由校正子输出端9输出。
现根据图10的电路方框图说明校正子数据校正电路3结构的第一例子。图中,37为8比特接收信号数据输入端,38~40为GF(210)上的有限域系数乘法电路,41~44为GF(210)上的有限域加法电路,45为10比特寄存器,46为GF(210)上的有限域系数乘法电路,47为校正数据输出端。
在如以上的结构中,接着对其操作如下的说明。
在此例中,针对8比特的输入,4个符号的检验符号的高位2比特一起被输入,而且输入2个符号。以8比特由接收信号数据输入端37输入的符号,分别被输入到对该输入的符号具有检验符号的递减次序的a3j、a2j、aj系数的有限域系数乘法电路38~40,其结果在有限域加法电路41~43中被加法计算。
这些,由于仅高位2比特成为“1”,所以关系到低位8比特的逻辑电路可省略,从而能实现较小规模的电路。
有限域加法电路43的结果被输入到有限域加法电路44,与有限域系数乘法电路46的输出相加,再被输入到寄存器45。寄存器45的初始值为”0”,其输出输入到有限域系数乘法电路46。有限域系数乘法电路46能完成与图1中的有限域系数乘法电路8相同的职能,但进行有限域系数乘法电路8的4次方的系数乘法运算。这是因为在8比特的数据上被分配以4个符号的检验字节的高位2比特。下一检验符号的高位2比特数据也被作同样处理后,存贮进寄存器45中。经过上述这样的处理,即完成校正数据的计算。
下面根据图11的电路方框图说明校正子数据校正电路3的结构的第二示例。图11的结构从图10中所示结构去除寄存器45和有限域加法电路44、另外加入了选择器48形成的。
下面说明如上述结构的操作。
在图11结构中,直到有限域加法电路43为止的操作与图10的场合相同。
另一方面,对早先输入的符号所得到的有限域加法电路43的输出,通过有限域系数乘法电路46,经由选择器48,由校正数据输出端47输出。
此结果在有限域加法电路5中,与通过图1的选择器4、经由选择器6输出的寄存器7的输出结果相加,并存入寄存器7。而后,由下一8比特符号数据所得的有限域加法电路43的输出,按原样通过选择器48,进行与前面符号同样的操作,由此来得到校正子信息。
实施例2:图2为实现本发明实施例2的纠错编码译码方法的电路方框图,特别谋求解决第二个问题。
在实施例1中因为是将代码数据反相后记录的,因而存在无法区别信息是全部为“0”的代码、还是抹除后全都成为“1”的情况的问题,图2的结构即为解决这一问题。
图2中,11为与8比特的2比特输入数据对应的选择器,对来自数据输入端1的输入通过0/1反相电路10取入还是直接取入进行选择。
在如上述的结构中,通常情况下将来自数据输入端1的接收信号数据通过选择器11进行直接取入校正子计算,只有在快速存贮器的抹除检验时才由选择器11选择取出通过0/1反相电路10输入的数据进行校正子计算。
而且这时,通常的编码数据不进行0/1反相即加以存贮。
不过,此实施例2示例表明的是对0/1反相电路10和选择器11分开控制的结构,但两者加以组合的功能亦可利用“异或”电路来实现是大家所熟知的。
实施例3:上述实施例1和2中,说明的是针对第二个问题采用0/1反相电路来检验快速存贮器的抹除、亦即全“1”的状态的方法,但在第三实施例中提出的是,通过仅对校正子选择器7设定初始值来进行快速存贮器的抹除的检验的方法。在此实施例3中与第三个问题对应地提出即使发生符号单位的遗漏也能对之进行检测的方法。
图8表示实现此实施例3时的(520、512)里德-所罗门代码的组成方式。应看到的是,图8的代码组成也能运用于解决实施例1中的第一问题。
图8中,30为压缩代码部分,31为实际信息数据符号部分,32为检验符号部分,33为即使在信息和检验符号全为“1”时使之成为代码而有所插入的伪符号,34为将10比特检验符号中的各高位2比特汇集并附加到代码序列后的附加检验符号。
以10比特作为1个符号的里德-所罗门代码,通常可取到1023个符号的代码长。因而与图15的已有例不同,将快速存贮器的存贮单位的8比特实际信息数据符号部分31作为1个符号,在高位2比特处插入作为伪数据的例如“0”。由此就可不必进行8比特/10比特转换。
由此信息符号生成的检验符号部分32中,每1符号10比特,不保证高位2比特为固定数据。因而,仅低位8比特接着8比特信息符号配置,高位2比特汇集成8比特单位,在作为检验字节的检验符号部分32之后,作为剩余符号配置以2个符号的附加检验符号34。这些操作可通过符号时钟进行处理,而且所有操作都可通过符号时钟进行。
下面按照图8说明成为对第二、第三问题的解决策略的代码结构。例如,作为以1个符号为10比特的(1023、1015)里德-所罗门代码的示例,假设其原始多项式为P(X)=X10+X3+1生成多项式为生成多项式为G(X)=Πj=508615(X-aj)]]>其中
αj=β491β为P(X)的原始元。在这一情况下,如果将伪数据的起始部分作为0号,亦就是说实际信息符号部分31的起头作为503号,而作为压缩编码部分30的符号部分中的伪符号33,在278号位置设定19D(HEX)、454号设定0AB(HEX),则在图8中的实际信息数据符号部分31全为“1”、信息符号的高位2比特部分为“0”的情况下,检验符号部分32的8比特全部成为“1”。亦即,从图8中的(520,512)里德-所罗门代码的代码中,能够看出快速存贮器的抹除状态即全部为“1”的状态。
下面说明图8中所示的代码结构中的编码电路。
图6为表明对应于图8中的代码结构的编码电路的构成例的电路方框图。图中,22为8比特信息数据输入端,2为信息符号的高位2比特的伪数据输入电路,23为可设置例如线性反馈移位寄存器型式的初始值的GF(210)上的编码电路,24为进行编码电路23的寄存器的初始值设定的编码电路初始值数据设定电路,25为将检验符号的低位8比特或集中高位2比特成为8比特的符号作为输出而进行选择的选择器,26为输出检验字节数据的检验符号输出端。
由图可清楚看到,此电路结构在运算量、电路规模上基本与已有的编码电路无大变化。
下面说明如上述结构的操作。
首先,在8比特信息数据进入信息数据输入端22之前,输入图8中的伪符号33,由编码电路23进行计算。但是,由于伪符号33为固定值,所以在紧随其后的信息数据被输入之前的编码电路中的状态可以预先计算。例如,假设编码电路23为在输入了如历来所采用的信息符号时得到检测符号的线性反馈寄存器型式,将检验符号看作是多项式次数的系数,则该计算过程中的寄存器状态从递减次序来看,即成为:174(HEX)、0B6(HEX)、105(HEX)、0EA(HEX)、26B(HEX)、260(HEX)、18F(HEX)、0D7(HEX)。因此就可以将此计算结果作为初始值,由编码电路初始值数据设定电路24加给编码电路23的寄存器。顺便指出,用于赋于这样的初始值的结构,可通过例如在触发器电路的置入端和复位端直接地设定数据的结构来实现。
接着,由信息数据输入端22输入的8比特信息数据,被2比特伪数据输入电路2增加2比特的例如“0”,以10比特的符号数据形式输入给编码电路23。然后,在512个符号的8比特信息数据输入结束时,编码电路23中就得到8个符号的检验符号。其中该符号为1符号成为10比特的符号。为此,首先将各检验符号的低位8比特通过选择器25后由检验符号输出端26输出,然后将各检验符号的高位2比特汇集成8比特的单位通过选择器25后由检验符号输出端26输出。因此就有可能以8比特的信息数据的符号时钟来处理全部的数据。
下面说明针对第二、第三问题的解决策略。图7为用于此的结构示例,27为由8比特“异或”门构成的有限域加法电路,28为给有限域加法电路27提供校正数据的检验符号校正数据设定电路。如由图中可看到的,这一电路在选择电路25的输出之前的结构与图6的结构大致相同。不过,没有用于设定初始值的电路,编码电路23在输入信息数据之前被清“0”。
下面说明如上述结构中的操作。
在图7的结构中除将编码电路23的初始值设定为“0”外,基本上与图6的结构作同样操作。而对于被作为固定值所给予的伪符号则作如以下的处理。即就是,因为里德-所罗门代码为线性代码,所以对于由初始设定值“0”得到的检验符号,也可由检验符号校正数据设定电路28通过有限域加法电路27来对图8中的伪符号33的检验符号作有限域加法计算。在此,针对伪符号33的检验符号,从递减次次来看即成为:04A(HEX)、015(HEX)、3AF(HEX)、294(HEX)、125(HEX)、09F(HEX)、02B(HEX)、274(HEX)、由于选择器25每次输出8比特,检验符号校正数据设定电路28的输出,从递减次序来看,也就成为:4A(HEX)、15(HEX)、AF(HEX)、94(HEX)、25(HEX)、9F(HEX)、2B(HEX)、74(HEX)、0E(HEX)、42(HEX)。然后,在选择器25的输出上由有限域加法电路27将检验符号校正数据设定电路28的输出作有限域相加,再由检验符号输出端26输出。
下面说明该实施例3中的译码电路示例。本发明的译码中,因为在校正子计算上有其特点,所以与实施例1同样对校正子电路部分加以说明。
图3为运用于实施例3的译码电路方框图,与图1结构的不同之点是,没有0/1反相电路10,而代之的是在结构上增加校正子初始数据设定手段12。
下面说明如上述结构的操作。
以8比特为单位接收的接收信号数据中,因为不存在图8中所输入的伪符号33,所以与图6的编码电路中操作相同,预先计算出与信息数据输入到寄存器7之前的伪信号33对应的校正子计算的中间结果,并将其设定在校正子初始数据设定手段12中。此时,例如,在与先前例中所示相同的参数中,校正子信息S0~S7被设定为:S0=09C(HEX),S1=1FB(HEX),S2=026(HEX),S3=10F(HEX),S4=145(HEX),S5=343(HEX),S6=248(HEX),S7=102(HEX)。
其后的操作与实施例1中的图1结构相同,除了结构上没有0/1反相电路10。
下面与图7中说明的编码电路同样地就在求得对信息数据的校正子信息后被图8中的伪符号33的校正子数据校正的方法。图4是表示用于此目的的电路结构的电路方框图,取代图6中的校正子初始数据设定手段12,设置以校正子校正数据设定电路14。而13为进行GF(210)上的有限域加法运算的有限域加法电路13,由“异或”门构成。
图4结构的操作,除校正子电路部分的寄存器7的初始值数据设定成为“0”外,进行与图6的结构同样的运算。
在接收信号数据完全被输入、得到校正子信息并由校正子信息输出端9输出时,将校正子校正数据设定电路14发出的各个图8中的伪数据的校正子数值在有限域加法电路13中与来自接收信号数据中的校正子信息相加。此校正数据,例如,在先前示例中的参数中,对校正子信息S0~S7,分别设定为:S0=193(HEX),S1=2AE(HEX),S2=2E4(HEX),S3=0D7(HEX),S4=34D(HEX),S5=17B(HEX),S6=0CD(HEX),S7=23A(HEX)。
而作为解决第二、第三问题的对策,本发明中由于进行了对伪符号33初始值的设定,除全部为第一状态的数据外,即使接收信号数据以符号单位发生遗漏,由于已将伪数据部分看作为差错,所以提高能够检测出遗漏的准确度。
而且与实施例2相同地,通常也可以仅在快速存贮器抹除时将校正子初始数据设定手段12或校正子校正数据设定电路14作为有关图8中的伪符号33的校正子数据,设定为“0”。
在此实施例中,在使用了10比特符号的里德-所罗门代码的第一个问题的解决策略上已涉及到第二、第三个问题,但在例如8比特符号的里德-所罗门代码的压缩代码等方面,此实施例同样也能实现解决第二、第三个问题的策略。
实施例4:下面对本发明实施例4的纠错编码译码方法加以说明。图9为实现本实施例的代码结构示例,是特别对图8所作的改进。图9中,35表示信息数据之前的压缩代码的代码固有数据插入符号部分。
顺便指出,本实施例虽与实施例3中所示的解决第二、第三问题的发明相类似,但更加强了解决第三问题的策略。
下面对图9进行说明。在代码固有数据插入符号部分35的部分中,与图8同样地,设定除“0”外的该代码固有的格式。例如,由K段交错构成的里德-所罗门代码的结构中,在各段中设定由“1”到“K”的数值。
此方法中的编码方法和译码方法由实施例3中所示的图6、图7、图3、图4的电路结构实现。
下面对图9的编码结构中的同步判定方法进行说明。图5为实现其的结构示例电路方框图。在图5的结构中,到校正子信息输出端9之前的系统,与图3中结构相同。另一方面,15为求取差错位置、差错数值的差错位置/大小检测电路,16为检查是否同步的同步判定电路,17为输出差错的位置和大小的差错位置/大小输出端,18为送出由同步判定电路16输出的同步检验标志的同步检验标志输出端。
下面说明如上述结构中的操作。
初始值数据认为是分别设定的所接收信号代码的所期望的固有数据。根据由此得到的来自校正子信息输出端9的校正子信息,在差错位置/大小检测电路15中求取差错位置多项式和差错数值多项式,采用链式检索来求得差错位置和差错大小。在此,虽然一般是进行接收到的里德-所罗门代码的代码长部分的链式检索,但在本实施例中,也对含有插入了代码固有数据插入符号部分35的压缩部分的压缩代码部分30进行检测。此时,在能加以正确校正的情况下,压缩代码长-1的“0”符号运行相连续,并相继出现代码固有数据插入符号部分35。由同步判定电路16监测此起头的插入数据的状态,如果认为是同步的,即由同步检验标志输出端18输出标志。另一方面,由差错位置/大小输出端17输出包含着同步偏差信息的差错位置和大小。
如这样,依靠在压缩部分的“0”运行和填入压缩部分的起头的固有数据,就能不增加代码长而对符号单位的遗漏进行检测和加以恢复。
而在实现本实施例的方法时,由于能几乎按原样使用实施例3中说明的编码电路和译码电路,所以例如在快速存贮器的抹除中采用实施例3的方法,在通常情况下也可采取本实施例4的方法。
实施例5:下面说明本发明实施例5的纠错编码译码方法。本实施例对到目前为止所说明的实施例中,特别是对于第一问题的解决策略,提出对不完备部分的解决策略。
到此为止已说明的实施例,例如在图8、图9那样的代码结构的译码中,在判定信息符号位置上的高位2比特伪数据部分中具有差错时,存在着不可能校正的差错。
对此,在图8、图9中,如果后面附加的附加检验符号34在1个符号的整个发生错误,就可能扩散为例如作为里德-所罗门代码的4个符号的差错,但由于整体上附加的符号数量少,所以概率上也就小。而在出现错误时检测出不可能校正的情况下,以此附加的符号作为消失来进行消失校正,并且,如果此消失位置的差错的大小仅出现在检验符号的高位2比特中,则也可以判断为信息符号中无差错。亦即,能从差错的大小检测差错。
另外,还存在一种对于将后面附加的高位2比特汇集的符号,也可作为多数次数据发送或多数个符号记录,并在译码过程中进行多数决定译码的方法。
另外,还存在一种作为将后面附加的高位2比特汇集后的符号作为信息,以处于传输形式的例如8比特符号的里德-所罗门代码或4比特符号的里德-所罗门代码等的第二纠错代码进行编码,在增加其检验后进行发送或记录,在译码过程中对将后面附加的高位2比特汇集后的符号,以第二纠错代码加以译码后对信息符号进行译码的方法。
实施例6:下面对本发明的实施例6加以说明。图12为实现本发明实施例6的纠错编码译码方法的电路的电路方框图,是特别针对解决第四问题所用结构的示例。图中,61为从用于输入接收数据的数据输入端1所输入的代码序列的校正子电路,62为选择与来自缓冲存贮器59的数据对应的校正子电路60的数据和与来自数据输入端1的数据对应的校正子电路61的数据并输入给差错位置/大小检测电路63的选择器。至于其他结构,均与图18的结构相同。
下面说明如上述结构中的操作。
由数据输入端1输入的代码序列在被存入缓冲存贮器59的同时,被输入至校正子电路61。校正子电路60对除紧接着接收的代码序列以外的代码序列进行校正子计算。
选择器62分时选择校正子电路60、61各自的数据后,输入到差错位置/大小检测电路63。在差错位置/大小检测电路63中,按照所输入的校正子信息求取差错位置和差错的大小,传送至校正电路64。校正电路64从缓冲存贮器59中所存放的数据中取入相当于该差错位置的数据,进行差错校正再送回缓冲存贮留59。
由此,缓冲存贮器59和校正子电路60之间的数据存取,减少了输入代码长度,即使缓冲存贮器59的存取速度较慢亦能适应,因而可用廉价的DRAM来实现例如历来以昂贵的SRAM组成的缓冲存贮器59。
实施例7:下面说明本发明的实施例7。图13为实现本发明实施例7的纠错编码译码方法的电路的电路方框图,是特别为解决第五问题所用结构的示例。图中,51为由校正子电路60输出的8比特校正子信号,50为从校正子信号51检测偶数和加权“5”的偶数和加权“5”检测电路,52为用偶数和加权“5”检测电路50检测偶数和加权“5”时输出信号“1”的偶数和加权“5”检测信号线,至于其他结构,除72比特输入“或非”电路67外,与图19的结构相同。
作为以1比特纠错2比特进行检测的代码构成法,有一种将奇偶校验阵列由各自不同的奇数加权的比特序列来构成的方法。这在前面举出的文献等中也有介绍。在(72、64)二进制线性代码中,奇偶校验阵列为8比特,但各自奇数加权状态的组合则成为如下:加权1=8加权3=56加权5=56加权7=8。
而按照惯例,选择加权“1”、“3”、“5”的状态来构成(72、64)代码,但在本实施例中则取加权“1”、“3”、“7”来构成代码。这时,即使例如将奇偶校验阵列作为H=111111111111111111110111111000001000100000000000000000000010000000000000111101001110111010001000000111110110010010001000100010000001100010001000111010110001110011101000000110000001001111110110010001000000001010001000100010101100111110011100100011110001001001000001111100001000000101000100110010001000100011001111000101001001000100101001001011110100100000100100110110011000010010001000111000101110001000010100000111111000010000011100010010001010110110101010010000010100110111001111000100100100010001000010110011001001110000010001001000000010110000110010111000011100110011000001]]>也能够进行1比特纠错2比特的差错检测。由此,在校正子计算中,与传统的最小结构相比也不改变延迟段数,虽然增加16个“异或”电路,但因为从校正子数据可直接得到校正不可的检测结果,因此,能够以总体上较少的电路数量的结构来实现高速且简单的差错检测。
现按照如上述观点说明图13的操作。
在此实施例的代码结构中,由于奇偶校验阵列中采用作为奇数加权的“1”、“3”、“7”的完全格式,故只要检测出不符合的校正子格式,亦即除“0”以外的偶数加权格式和加权“5”的格式即可。而由于校正子的“0”检测是由8比特输入“或”电路66进行、并由2比特输入“与”电路68使得校正不可标志不成为“1”,所以偶数和加权“5”检测电路50只要检测偶数和加权“5”即可。
图14为表明偶数和加权“5”检测电路50的详细结构的电路方框图。图中,53为两端输入“异或”电路,54为两端输入“与”电路,55为两端输入“或”电路,56为两端输入“异或非”电路。
如由图中可理解的,虽然现有技术必须设置71个2端输入“或”电路或“或非”电路,但本实施例的结构却能够以极小的电路规模来实现同样的功能。
这里虽然针对(72、64)二进制线性代码进行了说明,但对于其他奇偶长度的代码也同样适用,这是不言而喻的。
本发明的纠错编码译码方法由于如以上构成,因此能取得如下述的种种效果。
本发明对于第一个问题,在以比信息符号还大的比特长作为符号的里德-所罗门代码的代码中,以信息比特的高位部分作为伪数据,并在以后对检验符号的高位二比特进行增加来构成,因此不进行符号变换,只用符号时钟就可以进行编码译码,从而取得能高速处理的效果。
本发明对于第二个问题,通过对代码序列的反相或向压缩部分的伪数据的设定,能采用纠错电路来实现快速存贮器的抹除检验,因此无需用于检验的特别电路,从而具有简化电路结构的效果。
本发明对于第三个问题,通过在压缩部分重叠代码固有数据,以此来插入同步数据,因此具有不增加信息长或数据长,能够进行同步检验或恢复的效果。
本发明对第四个问题,设置与输入数据对应的校正子电路,并可由选择器对与现有的校正子电路之间进行选择来进行译码,所以与现有技术相比,具有即使缓冲存贮器的存贮速度下降也可,并可采用廉价存贮器的效果。
本发明对于第五个问题,在8比特的校正子信息长中,使加权“1”、“3”、“7”的所有格式与1比特纠错对应,因此,可通过只检测从校正子信息中直接除“0”以外的偶数和加权“5”来检测校正不可,于是,与现有技术相比具有能够以高速且小型的电路来进行差错检测。
QQ群二维码
意见反馈