JPH0442854B2 - - Google Patents
Info
- Publication number
- JPH0442854B2 JPH0442854B2 JP57043802A JP4380282A JPH0442854B2 JP H0442854 B2 JPH0442854 B2 JP H0442854B2 JP 57043802 A JP57043802 A JP 57043802A JP 4380282 A JP4380282 A JP 4380282A JP H0442854 B2 JPH0442854 B2 JP H0442854B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- pointer
- code
- pointers
- correction
- 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 - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
本発明はデータの復号化方式に関し、特にデイ
ジタルデータの誤り訂正機能を有する符号の復号
化方式であつて外部及び内部の二段階符号を有す
る如き符号の復号化方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data decoding method, and more particularly to a decoding method for a code having an error correction function for digital data, such as a code having an external and internal two-stage code. It is something.
この種の符号の復号化方式をなすための装置と
しては第1図に示す如きものがあり、図において
は概略的機能ブロツクが示されている。送出され
るべきデイジタル情報が外部符号の符号化回路1
に送られて符号化され、インターリーブ回路2に
よりデータ配列が並べ換えられる。このインター
リーブ出力は、内部符号の符号化回路3において
更に符号化されて通信路4へ送出される。 An apparatus for implementing this kind of code decoding system is shown in FIG. 1, in which a schematic functional block is shown. Encoding circuit 1 in which the digital information to be sent is an external code
The interleaving circuit 2 rearranges the data arrangement. This interleaved output is further encoded in the internal code encoding circuit 3 and sent to the communication path 4.
受信側では、この送出データを内部符号の復号
化回路5で内部符号の復号化が行われ、デインタ
ーリーブ回路6において再び元のデータ配列に並
べ換えられる。そして外部符号の復号化回路7で
最終的復号がなされ、受信データとして復調され
るものである。一般に、外部符号及び内部符号と
してはリード・ソロモン符号、BCH符号、更に
は内部符号として検出のみを行うCRC符号等が
用いられる。 On the receiving side, the transmitted data is decoded into an internal code by an internal code decoding circuit 5, and rearranged into the original data arrangement by a deinterleaving circuit 6. The external code decoding circuit 7 then performs final decoding and demodulates the received data. Generally, as the outer code and the inner code, a Reed-Solomon code, a BCH code, and a CRC code, which is only detected as an inner code, are used.
かかる構成において、内部符号の復号回路5で
はCRC符号のような誤り検出を行ない、誤りの
有無に対応したいわゆるポインタを発生する。こ
のポインタを誤り位置情報として用い、外部符号
の復号回路7で誤り訂正を行うものである。例え
ば、外部符号で次のようなパリテイ検査行列を有
するとする(リード・ソロモン符号)。 In this configuration, the internal code decoding circuit 5 performs error detection such as a CRC code, and generates a so-called pointer corresponding to the presence or absence of an error. This pointer is used as error position information to perform error correction in the external code decoding circuit 7. For example, assume that the external code has the following parity check matrix (Reed-Solomon code).
H=1 1 1…1
1 a a2…an-1 …(1)
ここで、aはガロア体GF(2m)上の原始元であ
り、n2m−1とする。外部符号復号回路7に入
力されるデータ列(データブロツク)を、
R=〔R0,R1,R2,…,Ro-1〕 …(2)
とすると、次の2つのシンドロームが発生する。H=1 1 1...1 1 a a 2 ...a n-1 ...(1) Here, a is a primitive element on the Galois field GF (2 m ), and is assumed to be n2 m -1. If the data string (data block) input to the external code decoding circuit 7 is R = [R 0 , R 1 , R 2 , ..., R o-1 ] ...(2), the following two syndromes occur. do.
H・RT=1 1…1 1 a…an-1R0 R1 … Ro-1=S0 S1 …(3) 従つて、シンドロームS0,S1は次式となる。H·R T =1 1...1 1 a...a n-1 R 0 R 1 ... R o-1 =S 0 S 1 (3) Therefore, the syndromes S 0 and S 1 are expressed as follows.
S0=o-1
〓i=10
Ri,S1=o-1
〓i=0
ai・Ri …(4)
入力されたn個のデータブロツクRに一つも誤
りが生じてなければ(E=0),S0=S1=0とな
る。1つの誤りがあれば(E=1)、
S0=ei,S1=ai・ei …(5)
となり、誤りの位置がわかつている時には、S0=
eiが誤りの大きさとなる。また、ai=S1/S0より
外部符号独自でも誤り位置を検出することができ
る。S 0 = o-1 〓 i=10 R i , S 1 = o-1 〓 i=0 a i・R i …(4) If there is no error in the n input data blocks R, then (E=0), S 0 =S 1 =0. If there is one error (E=1), S 0 = e i , S 1 = a i・e i (5), and when the location of the error is known, S 0 =
e i is the magnitude of the error. Furthermore, since a i =S 1 /S 0 , the error position can be detected by the external code itself.
2つの誤りがあり(E=2)、この誤り位置が
わかつている時には、
S0=ei+ej,S1=ai・ei+aj・ei …(6)
となつて、ei,ejが次式のように求まる。 When there are two errors (E=2) and the error positions are known, S 0 = e i + e j , S 1 = a i・e i + a j・e i …(6), and e i and e j are determined as follows.
ei=(aj・S0+S1)/(ai+aj)
ej=(ai・S0+S1)/(ai+aj) …(7)
よつて、(7)式より2つの誤りの大きさを求めるこ
とができる。 e i = (a j・S 0 +S 1 )/(a i +a j ) e j = (a i・S 0 +S 1 )/(a i +a j ) …(7) Therefore, from equation (7) The magnitude of the two errors can be determined.
従来例では、内部符号復号回路5で発生したポ
インタを使用して1及び2つの誤り訂正する方法
が一般的であるが、内部符号の復号回路では完全
に誤りを検出することはなく、検出されない誤り
が一般には発生する。このため検出されない誤り
が発生した時には今述べたようなポインタを使用
する訂正では必らず誤つて訂正をしてしまう。つ
まり、検出されないエラーが発生する欠点があ
る。 In the conventional example, the common method is to correct errors 1 and 2 using the pointer generated by the internal code decoding circuit 5, but the internal code decoding circuit does not detect errors completely and is not detected. Errors generally occur. For this reason, when an undetected error occurs, the correction using the pointer as just described will inevitably result in an erroneous correction. In other words, there is a drawback that undetected errors occur.
外部符号の復号で単独に2つの誤りを訂正でき
る上述したリード・ソロモン符号はエラーの位置
がわかつている時には4つの誤りまで訂正でき
る。これはイレージヤ訂正と呼ばれている。ここ
で次のようなパリテイ検査行列で誤りの検出、訂
正を行なうリード・ソロモン符号について、この
事を説明する。 The above-mentioned Reed-Solomon code, which can correct two errors independently by decoding the outer code, can correct up to four errors when the location of the error is known. This is called erasure correction. Here, this will be explained regarding the Reed-Solomon code that detects and corrects errors using the following parity check matrix.
H=1 1 1……1
1 a a2……an-1
1 a2(a2)2……(a2)n-1
1 a3(a3)2……(a3)n-1 …(8)
外部符号の復号回路で受信されるデータブロツ
クRは(2)式で示されることから、
H・RT=1 1 1…1
1 a a2…an-1
1 a2(a2)2…(a2)n-1
1 a3(a3)2…(a3)n-1R0
R1
…
Ro-1=S0
S1
S2
S3 …(9)
により誤りの検出訂正が行われる。シンドローム
S0〜S3は、
S0=o-1
〓i=0
Ri,S1=o-1
〓i=0
aiRi,
S2=o-1
〓i=0
(a2)iRi,S3=o-1
〓i=0
(a3)iRi …(10)
となり、データに1つも誤りがなければ、S0=S1
=S2=S3=0となる。このシンドロームから2つ
の誤り訂正が可能である。H=1 1 1...1 1 a a 2 ... a n-1 1 a 2 (a 2 ) 2 ... (a 2 ) n-1 1 a 3 (a 3 ) 2 ... (a 3 ) n -1 ...(8) Since the data block R received by the external code decoding circuit is shown by equation (2), H・R T =1 1 1...1 1 a a 2 ...a n-1 1 a 2 (a 2 ) 2 … (a 2 ) n-1 1 a 3 (a 3 ) 2 … (a 3 ) n-1 R 0 R 1 … R o-1 = S 0 S 1 S 2 S 3 …( 9) Error detection and correction is performed. syndrome
S 0 to S 3 are S 0 = o-1 〓 i=0 Ri, S 1 = o-1 〓 i=0 a i Ri, S 2 = o-1 〓 i=0 (a 2 ) i Ri, S 3 = o-1 〓 i=0 (a 3 ) i Ri …(10) If there is no error in the data, S 0 = S 1
=S 2 =S 3 =0. Two error corrections are possible from this syndrome.
また誤り位置が判つている時には、4つの誤り
まで訂正できる。このイレージヤ訂正だけを行つ
た時には、内部符号で発生した検出されない誤り
がそのまま通過するので、外部符号で単独に誤り
の検出訂正を行つた方が検出能力が更に向上し、
訂正能力も上がる。しかし、単純に2つの誤り訂
正を行つたのでは、誤つた訂正を行う可能性があ
るのですべての2つの誤り訂正を行うことができ
ないことになる。 Furthermore, when the error position is known, up to four errors can be corrected. When only this erasure correction is performed, undetected errors that occur in the internal code will pass through as is, so detecting and correcting errors independently using the external code will further improve the detection ability.
It also improves your ability to correct. However, if two error corrections are simply performed, there is a possibility that an erroneous correction will be made, so it will not be possible to correct all two errors.
本発明は上述した従来の欠点を排除するために
なされたものであつて誤り検出能力及び誤正能力
を向上させ得るデータ復号化方式を提供すること
を目的とする。 The present invention was made in order to eliminate the above-mentioned conventional drawbacks, and an object of the present invention is to provide a data decoding method that can improve error detection ability and error correction ability.
本発明によるデータ復号化方式は、内部符号で
発生したポインタと外部符号で発生した誤り位置
とが一致するか否か更にはポインタの数の判定を
行つてこの一致及び数の判別に応じて誤り訂正を
コントロールするようにしたことを特徴としてい
る。 The data decoding method according to the present invention determines whether or not the pointer generated in the internal code matches the error position generated in the external code, and also determines the number of pointers, and determines whether the pointer generated in the internal code matches the error position generated in the external code, and determines whether or not there is an error based on this coincidence and the determination of the number. The feature is that the correction is controlled.
以下、この発明の一実施例を図に基づいて説明
する。第2図において、内部符号の復号回路5で
誤りの検出あるいは訂正と検出が行なわれ、訂正
後あるいは検出後のデータと、そのデータが誤り
かどうかを示すポインタを発生する。デインタリ
ーブ回路6でデインタリーブが施され、レジスタ
回路8及び9にそれぞれポインタとデータがラツ
チされ、デインタリーブ後のポインタとデータが
外部符号の復号回路7に送られる。このデインタ
リーブとラツチは一般にはRAM(ランダム・ア
クセス・メモリ)6′により行なわれるのが普通
である。 Hereinafter, one embodiment of the present invention will be described based on the drawings. In FIG. 2, an internal code decoding circuit 5 performs error detection or correction and detection, and generates corrected or detected data and a pointer indicating whether the data is an error. Deinterleaving is performed in deinterleaving circuit 6, pointers and data are latched in register circuits 8 and 9, respectively, and the pointers and data after deinterleaving are sent to external code decoding circuit 7. This deinterleaving and latch is generally performed by a RAM (random access memory) 6'.
外部符号復号回路7に入力されたデータはシン
ドローム生成回路10においてシンドロームが生
成されこのシンドロームはai,aj生成回路11と
ei,ej生成回路12に送られる。ai,aj生成回路1
1で生成された誤りの位置を示すaiとajは一致判
別回路13とANDゲート14に送られる。aiと
ajの情報はei,ej生成回路12にも送られ、ei,ej
生成回路12ではシンドロームと、ai,ajより誤
りの大きさを示すei,ejを生成し、このei,ejは
ANDゲート14に送られる。 A syndrome is generated from the data input to the external code decoding circuit 7 in the syndrome generation circuit 10, and this syndrome is transmitted to the a i and a j generation circuit 11.
The signals are sent to the e i and e j generation circuit 12. a i , a j generation circuit 1
A i and a j indicating the position of the error generated in step 1 are sent to the coincidence determination circuit 13 and the AND gate 14 . a i and
The information of a j is also sent to the e i , e j generation circuit 12, and e i , e j
The generation circuit 12 generates the syndrome and e i and e j that indicate the magnitude of the error from a i and a j , and these e i and e j are
It is sent to AND gate 14.
外部符号回路7に入力されたポインタは、カウ
ンタ15と、OR回路16と、一致判別回路13
へ送られる。カウンタ15ではポインタの1の数
をカウントしそのカウント値を制御回路16に送
る。一致判別回路13では、ai,aj生成回路11
で生成された誤りの位置aiとajのところにポイン
タの1が立つているか立つていないかの判定を行
ない、その結果を制御回路16に送る。 The pointer input to the external code circuit 7 is passed through the counter 15, the OR circuit 16, and the match determination circuit 13.
sent to. The counter 15 counts the number of 1's in the pointer and sends the count value to the control circuit 16. In the match determination circuit 13, a i , a j generation circuit 11
It is determined whether the pointer 1 is set at the error positions a i and a j generated in , and the result is sent to the control circuit 16 .
制御回路16では、カウンタ15のカウント値
と一致判別回路13の判定結果から、訂正を行な
うのであればアンドゲート14に1を送り、訂正
を行なわないのであればゲート14に0を送る。
訂正が行なわれる時には、誤り位置ai,jに相当す
るデータをモジユロ2の加算回路17に入力され
た時にei,ejがゲート14を通つてモジユロ2の
加算回路17に入力され、誤つたデータとei,ej
とのモジユロ2の加算が行なわれデータが訂正さ
れる。データが訂正されない時にはゲート14の
出力は0となつているのでデータはそのまま2の
加算回路17から出力される。 The control circuit 16 sends 1 to the AND gate 14 based on the count value of the counter 15 and the judgment result of the coincidence determination circuit 13 if correction is to be performed, and sends 0 to the gate 14 if correction is not to be performed.
When correction is performed, when data corresponding to error positions a i and j are input to the adder circuit 17 of modulo 2, e i and e j are input to the adder circuit 17 of modulo 2 through the gate 14, ivy data and e i , e j
A modulo 2 addition is performed to correct the data. When the data is not corrected, the output of the gate 14 is 0, so the data is output from the 2 adder circuit 17 as is.
又ポインタに関して、制御回路16では、訂正
を行なつた時にはANDゲート18に0を送りポ
インタをすべて0とする。データブロツクをすべ
て誤りとみなす時にはANDゲート8に1を、OR
ゲート19に1を送りポインタをすべて1とす
る。ai,ajとのORをとる時にはANDゲート20
に1を送りORゲート19に0を送りまたANDゲ
ート18へ1を送りポインタとai,ajとのORを
とる。以上の結果が最終的な誤り位置情報とな
る。 Regarding the pointer, when the control circuit 16 makes a correction, it sends 0 to the AND gate 18 to set all the pointers to 0. To consider all data blocks as errors, set 1 to AND gate 8, OR
Send 1 to gate 19 and set all pointers to 1. AND gate 20 when taking OR with a i and a j
A 1 is sent to the OR gate 19, a 1 is sent to the AND gate 18, and the pointer is ORed with a i and a j . The above result becomes the final error position information.
ここでRAM(ランダム・アクセス・メモリ)
6′を使用する時にはこのポインタの処理は、
RAM上での読み出し書き込みで行なわれるのが
一般でたとえば、訂正を行なつた時データブロツ
クに対応するRAM内のポインタをすべて0に書
き込み、すべて誤りとみなす時にはすべて1を書
き込み、ai,ajのORをとるには、ai,ajに対応す
るポインタのところに1を書き込む。また一致判
別回路13においてもai,ajに対応するポインタ
が1であるかどうかRAMを読み出してラツチす
るだけで行なう事ができる。 Here RAM (Random Access Memory)
When using 6', processing of this pointer is as follows:
This is generally done by reading and writing on the RAM, and for example, when making a correction, all pointers in the RAM corresponding to the data block are written to 0, and when all are considered to be errors, all 1 are written, and a i , a To take the OR of j , write 1 to the pointer corresponding to a i and a j . Also, in the match determination circuit 13, it can be done by simply reading out the RAM and latching whether the pointers corresponding to a i and a j are 1 or not.
この発明の基本的な構成、作用は第1図の従来
例と同じであり、ここでは内部符号復号回路5で
は、誤りの検出あるいは検出と訂正を行なつて誤
りが検出された時には1、誤りが悪いと判断した
時には0となるようなポインタを発生する。 The basic configuration and operation of this invention are the same as the conventional example shown in FIG. When it is determined that the value is bad, a pointer that becomes 0 is generated.
このようなものはパリテイチエツク符号、
CRC符号、BCH符号、リード・ソロモン符号等
がある。そして、外部符号復号回路7はリード・
ソロモン符号で次のパリテイ検査行列で復号す
る。 Something like this is a parity check code,
There are CRC codes, BCH codes, Reed-Solomon codes, etc. Then, the external code decoding circuit 7
Decode using Solomon code using the following parity check matrix.
H=1 1………1
1a………an-1
1 a2………(a2)n-1
1 a3………(a3)n-1 …(10)
外部符号に入力されるデータブロツク(データ
例)を
R=(R0,R1…,Ro-1) …(11)
とし、又もともとの送られる正しいデータ列を
T=(T0,T1…,To-1 …(12)
とすると通信路で誤りが発生した時には
Ti=Ri+ei …(13)
と書きeiが誤りを示す。又シンドローム生成回路
10では次の4つのシンドロームが発生する
HRT=1……1
1……an-1
1……(a2)n-1
1……(a3)n-1R0
R1
…
Ro-1=S0
S1
S2
S3 …(14)
ここで誤りが無い時には、ei=0となりRi=Ti
なのでTRT=0となり、S0=S1=S2=S3=0とな
る。H=1 1………1 1a………a n-1 1 a 2 ………(a 2 ) n-1 1 a 3 ………(a 3 ) n-1 …(10) Input to external code The data block (data example) to be sent is R = (R 0 , R 1 ..., R o-1 ) ... (11), and the original correct data string to be sent is T = (T 0 , T 1 ..., T o-1 ...(12) When an error occurs in the communication path, write T i = R i + e i ...(13) and e i indicates an error.Furthermore, the following four syndromes occur in the syndrome generation circuit 10. HR T =1...1 1...a n-1 1...(a 2 ) n-1 1...(a 3 ) n-1 R 0 R 1 … R o-1 = S 0 S 1 S 2 S 3 …(14) If there is no error here, e i =0 and R i =T i
Therefore, TR T =0, S 0 =S 1 =S 2 =S 3 =0.
1つ誤りの時にはai=S1/S0=S2/S1=S3/S2
となり訂正できる。 When there is one error, a i =S 1 /S 0 =S 2 /S 1 =S 3 /S 2
This can be corrected.
2つ誤りの時には、次の4つのシンドローム
S0=ei+ej
S1=aiei+ajej …(15)
S2=a2iei+a2jej
S3=a3iei+a3jej
が得られるので、誤りロケーシヨン多項式
〓(x)=x2+〓1x+〓2=(x+ai)(x+aj)…(16)
を解く事で誤り位置ai,ajが求められる。このai,
aj,と4つのシンドロームより、ei,ejが求めら
れる。 When there are two errors, the following four syndromes S 0 = e i + e j S 1 = a i e i + a j e j …(15) S 2 = a 2i e i + a 2j e j S 3 = a 3i e i + a 3j e j can be obtained, so by solving the error location polynomial 〓(x)=x 2 +〓 1 x+〓 2 = (x+a i ) (x+a j )...(16), the error locations a i , a j is required. This a i ,
a j , and the four syndromes, e i and e j can be found.
通信路に誤りが無ければS0=S1=S2=S3=0と
なるがこのリード・ソロモン符号では、誤りが5
ケ以上ある時には偶然にS0=S1=S2=S3=0とな
る時があり、これが検出誤りである。これはこの
リード・ソロモン符号の符号間の距離がd=5
(d−2=3)であるためで誤りが5ケ以上で他
の符号に重なる可能性が生じる。 If there is no error in the communication path, S 0 = S 1 = S 2 = S 3 = 0, but in this Reed-Solomon code, the error is 5.
When there are more than 1, there may be a chance that S 0 =S 1 =S 2 =S 3 =0, and this is a detection error. This means that the distance between the codes of this Reed-Solomon code is d=5
(d-2=3), so if there are 5 or more errors, there is a possibility that they overlap with other codes.
この検出誤りを生ずる誤りの数の最小値と、誤
つて訂正する時に生ずる誤りの数の最小値及びそ
の時発生するai,ajとの関係には一般に次の関係
がある。 The relationship between the minimum number of errors that cause detection errors, the minimum number of errors that occur when erroneously correcting them, and a i and a j that occur at that time generally has the following relationship.
H=1 1 1 1
1 a a2 an-1
1 a2(a2)2 (a2)n-1
… … … …
1 ak-1(ak-1)2…(ak-1)n-1 …(17)
k個のシンドロームが生成される、S0,〜,
Sk-1(これは前記実施例の時と同じ)誤りが無い
時にはS0=S1=…=Sk-1=0となり、また誤りが
ある数以上になると(EE0)やはり、S0=…
=Sk-1=0となる事がある。H=1 1 1 1 1 a a 2 a n-1 1 a 2 (a 2 ) 2 (a 2 ) n-1 … … … … 1 a k-1 (a k-1 ) 2 … (a k- 1 ) n-1 ...(17) k syndromes are generated, S 0 , ~,
S k-1 (This is the same as in the previous embodiment) When there is no error, S 0 = S 1 =...=S k-1 = 0, and when the number of errors exceeds the number (EE 0 ), S 0 =…
=S k-1 =0 in some cases.
このシンドロームを使用して1つの誤りを訂正
する時には前と同じ様に1つの誤りの時にはai=
S1/S0=S2/S1=…=Sk-1/Sk-2となりiに対応
するデータの訂正が行なわれる。又、この訂正を
行なつた後のデータからふたたびシンドロームを
生成すると必ずS0=…=Sk-1=0となる事に注意
されたい。この1つの誤りを訂正する時にも誤り
がある数以上になると誤つて訂正を行なう事があ
る。この数の最小値をE1とする。ただし、1訂
正を行なうときには必ずai=S1/S0=…=Sk-1/
Sk-2という関係が生じているため、誤つて訂正し
た時にも訂正後のデータでシンドロームを生成す
るとS0=S1=…=Sk-1=0となるはずである。こ
れらの事より誤つて訂正した後の誤りの数はE0
と同じかそれ以上の値になつているはずである。
1個誤り訂正においては、誤りとみなしたデータ
を1つだけ訂正するので、誤つて訂正した時には
もともとの誤りの数に比べて訂正後の誤りの数が
同じか1つだけ増えるだけである。つまり訂正す
る前の誤りの数をE3とすると誤つた訂正の後で
は誤りの数はE3かE3+1ケとなる。ここでもし
E3=E0−2個の誤りとすると、1訂正後では誤
りの数はせいぜいE0−1個となり、これではS0
=S1=…=So-1=0とならないのでE3=E0−2個
の誤りでは誤つた訂正は発生しない事となる。 When using this syndrome to correct one error, as before, when there is one error, a i =
S 1 /S 0 =S 2 /S 1 =...=S k-1 /S k-2 , and the data corresponding to i is corrected. Also, it should be noted that if the syndrome is generated again from the data after this correction, S 0 =...=S k-1 =0 will always be obtained. Even when correcting this one error, if the number of errors exceeds the number of errors, the correction may be performed incorrectly. Let the minimum value of this number be E 1 . However, when performing 1 correction, always a i =S 1 /S 0 =...=S k-1 /
Since the relationship S k-2 has occurred, even if a correction is made by mistake, if a syndrome is generated using the corrected data, S 0 =S 1 =...=S k-1 =0. From these facts, the number of errors after incorrect correction is E 0
It should be the same or higher value.
In single-error correction, only one piece of data deemed to be erroneous is corrected, so when a mistake is made, the number of errors after correction is the same or increases by only one compared to the original number of errors. In other words, if the number of errors before correction is E3 , the number of errors after correction is E3 or E3 +1. Maybe here
If E 3 =E 0 -2 errors, after one correction the number of errors will be at most E 0 -1, which means that S 0
Since =S 1 =...=S o-1 =0 does not hold, erroneous correction will not occur with E 3 =E 0 -2 errors.
つまり、誤つて1訂正が行なわれる可能性のあ
る誤りの数の最小値E1はE1=E0−1となり、誤
りの数がこの最小値E0−1である時には、もし、
エラーを示すポジシヨンがこれらE0−1個の誤
りのどれかに一致しているとすると1訂正後の誤
りの数はE0−1個のままなのでS0=…=So-1=0
とはならない。つまり、このようなポジシヨンi
はai=S1/S0=…=Sk-1/Sk-2を満足する事はな
く、訂正は行なわれない。 In other words, the minimum value E 1 of the number of errors for which one correction may be made by mistake is E 1 =E 0 -1, and when the number of errors is this minimum value E 0 -1, if
If the position indicating an error matches any of these E 0 -1 errors, the number of errors after one correction remains E 0 -1, so S 0 =...=S o-1 = 0
It is not. In other words, such a position i
does not satisfy a i =S 1 /S 0 =...=S k-1 /S k-2 , and no correction is performed.
以上より、誤りの数がE0−1であればai=S1/
S0=…=Sk-1/Sk-1を満足するエラーポジシヨン
iは本来の誤りの位置に一致しない事となる。 From the above, if the number of errors is E 0 −1, a i =S 1 /
An error position i that satisfies S 0 =...=S k-1 /S k-1 does not match the original error position.
これより、誤つて1訂正が行なわれる誤りの数
の最小値(E1)よりもポインタの数が同じかす
くなければ誤つた訂正において発生したエラーポ
ジシヨンとポインタが一致する割合はすくなくな
る。つまり、この最小値(E1)はシンドローム
をすべて0とする誤りの数の最小値(E0)から
1を引いたものに対応する。ここでは一つ誤りの
訂正について述べるので誤りが2ケ以上について
検討する。 From this, if the number of pointers is equal to or less than the minimum number of errors (E 1 ) for which one correction is made by mistake, the proportion of pointers that match error positions generated in erroneous corrections will be small. In other words, this minimum value (E 1 ) corresponds to the minimum value (E 0 ) of the number of errors with all syndromes set to 0 minus 1. Since we will discuss correction of one error here, we will consider cases where there are two or more errors.
E=2の時には
N=0:(n 2)P(1,0)2P(0,0)n-2
N=1:(n 3)(3 1)P(1,0)2P(0,1)P
(0,0)n-3+(n 2)(2 1)P(1,0)P
(1,1)P(0,0)n-2
N=2:(n 4)(4 2)P(1,0)2(0,1)2P(
0,
0)n-4+(n 3)(3 2)(2 1)P(1,0)P(1,
1)P(0,1)P(0,0)n-3+(n 2)P
(1,1)2P(0,0)n-2
N=3:(n 5)(5 2)P(1,0)2P(0,1)3(
P
(0,0)n-5+(n 4)(4 2)(2 1)P(1,0)
P(1,1)P(0,1)2P(0,0)n-4+
(n 3)(3 1)P(1,1)2P(0,1)P(0,
0)n-3
…
のような状態が取り得る。ここでポインタを利用
した2つのイレージヤ訂正ではN=2の第3項し
か正しく訂正を行なう事ができない。もちろんシ
ンドロームによる2訂正を行なえば、E=2につ
いてすべて正しく訂正を行なうが、E3につい
ては誤つた訂正が発生する。E=3では
N=0:(n 3)P(1,0)3P(0,0)n-3
N=1:(n 4)(4 1)P(1,0)3P(0,1)P
(0,0)n-4+(n 3)(3 1)P(1,0)2P
(1,1)P(0,0)n-3
N=2:(n 5)(5 2)P(1,0)3P(0,1)2P(
0,
0)n-5+(n 4)(4 2)(2 1)P(1,0)2P(1,
1)P(0,1)P(0,0)n-4+(n 3)3 2P
(1,0)P(1,1)2P(0,0)n-3
N=3:(n 6)(6 3)P(1,0)3P(0,1)3P(
0,
0)n-6+(n 5)(5 3)(3 2)P(1,0)2P(1,
1)P(0,1)2P(0,0)n-5+(n 4)(4 3)
(3 1)P(1,0)P(1,1)2P(0,1)
P(0,0)n-4+(n 3)P(1,1)3P(0,
0)n-3
… …
のような状態が取り得る。E=3の時には前に述
べたように誤つて訂正する可能性がある。E4
についても同様に考えられるが確率的にはE=3
が多く発生するのでここではE=2と3について
述べる。 When E=2, N=0: ( n 2 ) P (1, 0) 2 P (0, 0) n-2 N= 1: ( n 3 ) ( 3 1 ) P (1, 0) 2 P ( 0,1)P
(0,0) n-3 + ( n 2 ) ( 2 1 ) P (1,0) P
(1,1) P(0,0) n-2 N=2: ( n 4 ) ( 4 2 ) P(1,0) 2 (0,1) 2 P(
0,
0) n-4 + ( n 3 ) ( 3 2 ) ( 2 1 ) P (1,0) P (1,
1) P (0, 1) P (0, 0) n-3 + ( n 2 ) P
(1,1) 2 P(0,0) n-2 N=3: ( n 5 ) ( 5 2 ) P(1,0) 2 P(0,1) 3 (
P
(0, 0) n-5 + ( n 4 ) ( 4 2 ) ( 2 1 ) P (1, 0)
P(1,1)P(0,1) 2 P(0,0) n-4 +
( n 3 )( 3 1 )P(1,1) 2P (0,1)P(0,
0) The following states are possible: n-3 ... Here, with two erasure corrections using pointers, only the third term of N=2 can be corrected correctly. Of course, if the syndrome-based 2 correction is performed, all E=2 will be correctly corrected, but E3 will be incorrectly corrected. For E=3, N=0: ( n 3 ) P (1, 0) 3 P (0, 0) n-3 N= 1: ( n 4 ) ( 4 1 ) P (1, 0) 3 P (0 ,1)P
(0, 0) n-4 + ( n 3 ) ( 3 1 ) P (1, 0) 2 P
(1,1) P(0,0) n-3 N=2: ( n 5 ) ( 5 2 ) P(1,0) 3 P(0,1) 2 P(
0,
0) n-5 + ( n 4 ) ( 4 2 ) ( 2 1 ) P (1,0) 2 P (1,
1) P (0, 1) P (0, 0) n-4 + ( n 3 ) 3 2 P
(1,0) P(1,1) 2 P(0,0) n-3 N=3: ( n 6 ) ( 6 3 ) P(1,0) 3 P(0,1) 3 P(
0,
0) n-6 + ( n 5 ) ( 5 3 ) ( 3 2 ) P (1,0) 2 P (1,
1) P (0, 1) 2 P (0, 0) n-5 + ( n 4 ) ( 4 3 )
( 3 1 )P(1,0)P(1,1) 2P (0,1)
P (0, 0) n-4 + ( n 3 ) P (1, 1) 3 P (0,
0) The following states are possible. When E=3, there is a possibility of erroneous correction as mentioned above. E4
can be considered similarly, but in terms of probability E=3
Since E=2 and 3 occur frequently, we will discuss E=2 and 3 here.
以上の事についてこの実施例のリード・ソロモ
ン符号についてまとめると、符号間の最小距離は
d=5なのでこの符号で検出誤りを(S0=S1=S2
=S3=0)発生する誤りの数の最小値はE0=5
となり、誤つて1訂正を行なう時の誤りの数の最
小値はE1=E0−1=4となり、この時には発生
したaiは本例の4つの誤りのところには一致しな
い。 To summarize the above regarding the Reed-Solomon code of this example, the minimum distance between codes is d = 5, so this code can reduce detection errors by (S 0 = S 1 = S 2
= S 3 = 0) The minimum number of errors that occur is E 0 = 5
Therefore, the minimum value of the number of errors when erroneously performing one correction is E 1 =E 0 -1=4, and the a i that occurs at this time does not match the four errors in this example.
この事は2つの誤りを訂正する時にも言える事
で誤つて2訂正を行なう時の誤りの数の最小値は
E2=E0−2=3となり、この時には発生したai,
ajは本来の3つの誤りのところには一致しない、
さらに誤りが4ケの時には発生したai,ajのうち
1つは本来の誤りのところに一致する可能性はあ
るが2つとも一致する事は無い。 This can also be said when correcting two errors, and the minimum number of errors when making two corrections by mistake is
E 2 =E 0 -2=3, and at this time the generated a i ,
a j does not match the original three errors,
Furthermore, when there are four errors, one of the a i and a j that occurs may match the original error, but neither of them will match.
以下この事より、本発明の効果について説明を
行なう。第2図において外部符号の復号回路(B)に
入力されるデータは次の4つの状態をとりえる。 From this point on, the effects of the present invention will be explained below. In FIG. 2, data input to the external code decoding circuit (B) can take the following four states.
(1) 正しいデータでポインタ 0
(2) 〃 で 〃 1
(3) 誤つたデータで 〃 0
(4) 〃 で 〃 1
この4つの状態の状態確率をそれぞれ(1)P(0,
0),(2)P(0,1),(3)P(1,0),(4)P(1
,
1)とすると任意の誤りの数(E)とポインタの数(N)
における符号長nの符号の取り得る確率が定ま
る。たとえばE=0,N=0では符号はすべて(1)
の状態となつているのでその確率はP(0,0)n
となる。正しく訂正が行なわれるE=2の時に
は、発生したエラー・ポジシヨンai,ajとポイン
タが2つとも一致しないというのは、検出されな
い誤りが必ず2ケある時でP(1,0)2という項
が発生する。ところが一般には内部符号での検出
能力はかなり高いものが多くP(1,0)は非常
に小さいと考えて良い、そのため、P(1,0)2
の発生はかなり小さいものとなり訂正を行なつて
も意味が無く訂正は行なわない方が有利である。
ただし、ポインタの数(N)がN2では、必ずかく
された誤りがあるので、対応するデータブロツク
がすべて誤りであるとしてこのかくされた誤りの
通過を防ぐ必要がある。またN3(=E0−2)
では、たとえばN=3ではE=3での誤つた訂正
の可能性があり又、前に述べたようにai,ajは本
来の誤りのところには重ならないので、この時に
はai,ajはポインタに2つとも一致しない可能性
が高くなり、内部符号で得られたポインタを最終
的な位置情報とするのが有利である。もちろん、
対応するデータブロツクすべて誤りとみなす方法
も考えられるが、これでは、訂正能力が悪くな
り、また、外部符号の復号はデインターリーブ後
なのであまり、集中的に誤りをふやす方法は得策
ではない。(1) Correct data, pointer 0 (2) 〃 〃 〃 1 (3) Incorrect data 〃 0 (4) 〃 〃 1 Let the state probabilities of these four states be (1)P(0,
0), (2) P (0, 1), (3) P (1, 0), (4) P (1
,
1), the number of arbitrary errors (E) and the number of pointers (N)
The possible probability of a code of code length n in is determined. For example, when E=0 and N=0, all signs are (1)
The probability is P(0,0) n
becomes. When E = 2, when correct correction is performed, neither pointer matches the error positions a i and a j that occur when there are always two undetected errors P (1, 0) 2 This term occurs. However, in general, the detection ability of internal codes is quite high, and P(1,0) can be considered to be very small. Therefore, P(1,0) 2
Since the occurrence of this error is quite small, there is no point in making corrections, and it is advantageous not to make any corrections.
However, when the number of pointers (N) is N2, there is always a hidden error, so it is necessary to prevent the passing of this hidden error by assuming that all the corresponding data blocks are erroneous. Also N3 (=E 0 −2)
So, for example, when N=3, there is a possibility of an erroneous correction at E=3, and as mentioned earlier, a i and a j do not overlap with the original error, so in this case a i , a j There is a high possibility that neither a j will match the pointer, so it is advantageous to use the pointer obtained by the internal code as the final position information. of course,
A method of considering all corresponding data blocks as errors may be considered, but this would degrade the correction ability, and since the outer code is decoded after deinterleaving, it is not a good idea to intensively increase errors.
又、ここで訂正が行なわれない時を考える。つ
まり条件を満足するai,aj,ei,ejが発生しない時
には当然訂正は行なわれないがN2のところで
は必ず検出されない誤りがあり、対応するデータ
ブロツクをすべて誤りとする必要がある。これは
前のエラーポジシヨンai,ajとポインタが2つと
も一致しない時と同じ動作で回路上ではまつたく
同じにできるはずである。つまり、ai,ajがai,
aj発生回路11から発生しない時(つまり訂正で
きない時)にもポインタと一致しないようなai,
ajを発生するようにするか、一致判別回路13を
強制的に2つとも不一致という状態にすれば後は
同じ動作で済む。 Also, let's consider a case where no correction is made. In other words, if a i , a j , e i , and e j that satisfy the conditions do not occur, of course no correction is performed, but there is always an undetected error at N2, and it is necessary to treat all corresponding data blocks as errors. . This is the same operation as when the previous error positions a i and a j and the pointers do not match, and should be exactly the same on the circuit. In other words, a i , a j are a i ,
a i that does not match the pointer even when it is not generated from the a j generation circuit 11 (that is, when it cannot be corrected),
If a j is generated, or if the coincidence determination circuit 13 is forced to a state where the two do not match, the rest of the operation will be the same.
発生したエラーポジシヨンai,ajとポインタが
1つだけ一致する時は正しい訂正では(E=2),
N=1,2,3の第二項であり、ポインタの数が
増えれば増えるほどその確率が小さくなる。誤つ
た訂正が行なわれる時には(E=3),N=4で
(n 4)(4 1)P(1,1)3P(0,1)P(0,0)
n-
4
という項が発生し、ai,ajのうちの一つがP(0,
1)に重なる事があるのでこの値が誤つた訂正に
おける最大値となる。当然N<4でもその可能性
はあるが必ずP(1,0)の発生を伴うため確率
的には小さくなる。(N=3ではP(1,1)3とい
う状態があるがこれはai,ajがP(1,1)に重
なる事はない)このため、N4では訂正を行な
わない方が有利となる。ただし、2つとも一致し
ない時にくらべて正しい訂正を行なう場合もすく
なくないので内部符号で発生したポインタとai,
ajのORをとつて最終的な誤り位置情報とした方
が検出されない誤りの発生を防げる。(たとえば
N=4(n 5)(5 2)(2 1)P(1,0)P(1,1)P
(0,1)3P(0,0)n-5)N<4については訂正
を行なつた方が訂正能力は上がるが訂正を行なわ
ない時には必ず検出されない誤りP(1,0)が
発生するので対応するデータブロツクをすべて誤
りとした方がこのP(1,0)の誤りの通過を防
げる。 When only one pointer matches the error position a i , a j that occurred, correct correction is made (E = 2),
This is the second term of N=1, 2, and 3, and the probability decreases as the number of pointers increases. When a wrong correction is made (E=3) and N=4, ( n 4 ) ( 4 1 ) P (1, 1) 3 P (0, 1) P (0, 0)
n-
4 occurs, and one of a i and a j is P(0,
1), so this value is the maximum value for correcting errors. Naturally, there is a possibility that N<4, but since P(1,0) always occurs, the probability is small. (When N=3, there is a state P(1,1) 3 , but this means that a i and a j never overlap P(1,1).) Therefore, it is advantageous not to perform correction at N4. Become. However, there are many cases where a correct correction is made compared to when the two do not match, so the pointer generated by the internal code and a i ,
The occurrence of undetected errors can be prevented by ORing a and j to obtain the final error position information. (For example, N=4( n 5 )( 5 2 )( 2 1 )P(1,0)P(1,1)P
(0,1) 3 P(0,0) n-5 ) For N<4, the correction ability will improve if correction is performed, but if correction is not performed, an undetected error P(1,0) will always occur. Therefore, it is better to make all the corresponding data blocks erroneous to prevent this P(1,0) error from passing.
ai,ajが2つともポインタに一致している時も
同様に考えられ、N=5において
(n 5)(5 2)P(1,1)3P(0,1)2P(0,0)
n-5
(E=3)
という項が発生し、2つのエラーポジシヨンai,
ajが2つのP(0,1)2に重なる可能性が発生す
る。当然N<5の時にもその可能性はあるがP
(1,0)の発生が伴なうので確率的には小さく
なる。このためN5では訂正を行なわないで内
部符号で得られたポインタを最終的な誤り位置情
報としN<5では訂正を行なうとした方が有利と
なる。 The same thing can be considered when both a i and a j match the pointer, and at N=5, ( n 5 ) ( 5 2 ) P (1, 1) 3 P (0, 1) 2 P ( 0,0)
n-5
(E=3) occurs, and two error positions a i ,
There is a possibility that a j overlaps two P(0,1) 2 . Of course, there is a possibility of this happening when N<5, but P
Since the occurrence of (1, 0) is involved, the probability is small. For this reason, it is advantageous to use the pointer obtained by the internal code as the final error position information without performing correction at N5, and to perform correction at N<5.
以上より本発明では、外部符号で発生した2つ
のエラーポジシヨンai,ajが内部符号で得られた
ポインタの1と2つとも一致しない時には、ポイ
ンタの1の数を数え、その数が検出誤りを発生す
る誤りの数の最小値から2を減じた数と同じかそ
れ以上であれば、訂正を行なわないで内部符号で
得られたポインタを最終的な誤り位置情報とし
(以下copyと称す)、それ以下では対応するデー
タブロツクをすべて誤りとみなし、1つだけ一致
している時にはポインタの数が最小値から1を減
じた数と同じかそれ以上であれば訂正を行なわな
いでポインタとエラーポジシヨンのOR(以下OR
と称す)をとり、それ以下では訂正を行ない2つ
とも一致している時にはポインタの数が最小値と
同じかそれ以以上ではポインタをcopyしそれ以
下では訂正を行なう事で誤つた訂正の発生を防ぐ
事ができる。 As described above, in the present invention, when the two error positions a i and a j that occur in the external code do not match the 1 in the pointer obtained in the internal code, the number of 1 in the pointer is counted and the number is If the number is equal to or greater than the minimum number of errors that cause a detection error minus 2, the pointer obtained by the internal code without correction is used as the final error location information (hereinafter referred to as copy). If the number of pointers is equal to or greater than the minimum value minus 1, no correction is made and the pointer is and the error position (hereinafter OR)
If the number of pointers is equal to or greater than the minimum value, the pointer is copied, and if it is less than that, correction is performed. can be prevented.
上記においてもしさらに誤つた訂正を防ぐので
あれば1つだけ一致している時にも訂正を行なわ
ないでデータブロツクをすべて誤りとみなした方
が有利となるが、訂正能力は下がる。 In the above case, if further erroneous corrections are to be prevented, it would be advantageous to treat all data blocks as errors without making corrections even when only one data block matches, but this would reduce the correction ability.
上記において、第3図のように一致判別回路1
3の出力をカウンタ15に入力して2つとも一致
していない時にはカウンタ15を2つUPさせ、
1つだけ一致している時にはカウンタ15を1つ
UPさせ、2つとも一致しているときには何もし
ないようにしておくと制御回路16ではカウンタ
15のカウンタ値を1通りだけ見ていればよい事
となり(つまり検出誤りをおこす誤りの最小値)、
コントロールがやさしくなる。 In the above, as shown in FIG.
Input the output of 3 to the counter 15, and if the two do not match, increase the counter 15 by two,
If only one item matches, set counter 15 by 1.
UP, and do nothing when both match, the control circuit 16 only needs to look at one counter value of the counter 15 (in other words, the minimum error value that causes a detection error). ,
Control becomes easier.
さらに実施例の場合には訂正できない時には、
2つとも一致していない時と同じ動作をするので
訂正できない時にもカウンタを2つUPする事で
後の動作はまつたく同じとなる。 Furthermore, in the case of examples, when correction is not possible,
The same operation as when the two do not match is performed, so even if correction cannot be made, the counter will be incremented by two, and the subsequent operation will be exactly the same.
さらに1つだけ一致している時にはポインタは
ORをとつているがハードを簡単にするにはただ
のcopyをした方が有利となる。しかし、その分
検出能力は悪くなる。 Furthermore, when there is only one match, the pointer is
Although we are taking OR, it would be more advantageous to simply copy to simplify the hardware. However, the detection ability deteriorates accordingly.
上記実施例では、リード・ソロモン符号を考え
たがBCH符号のような単独でエラー訂正できる
符号であれば使用できる。また、第1図にて示す
ようにインターリーブを施された符号を考えた
が、第4図に示す如きマトリツクス状の連接符号
を用いても良い。 In the above embodiment, a Reed-Solomon code was considered, but any code that can independently correct errors, such as a BCH code, can be used. Further, although an interleaved code as shown in FIG. 1 has been considered, a matrix-like concatenated code as shown in FIG. 4 may also be used.
第4図の連接符号は、k1×k2部分が2次元配置
をもつ原デイジタル情報でありり、この情報は先
ずk1個のデイジツト(行)毎にk2個の情報ブロツ
クに分けられる。このk2個の情報ブロツクは、所
定の符号化アルゴリズムに従つてm2個の検査ブ
ロツクを付加してn2個のブロツクに符号化され、
ガロア体GF(2k)上の(n2,k2)符号c2が形成さ
れる。次に、各ブロツクのk1デイジツト毎に所定
の符号に符号化され、GF(2)上の(n1,k1)符号
Gが形成される。この符号c1及びc2は夫々内部及
び外部符号と称される。この符号c1,c2から連接
符号が形成されるものであり、GF(2)上の(n1n2,
k1,k2)符号となる。 In the concatenated code in Fig. 4, the k 1 × k 2 part is original digital information with a two-dimensional arrangement, and this information is first divided into k 2 information blocks every k 1 digits (rows). . These k 2 information blocks are encoded into n 2 blocks by adding m 2 check blocks according to a predetermined encoding algorithm,
An (n 2 , k 2 ) code c 2 on the Galois field GF(2 k ) is formed. Next, each k 1 digit of each block is encoded into a predetermined code to form the (n 1 , k 1 ) code G on GF(2). The codes c 1 and c 2 are called inner and outer codes, respectively. A concatenated code is formed from these codes c 1 and c 2 , and (n 1 n 2 ,
k 1 , k 2 ) code.
上記実施例と同様にリード・ソロモン符号でも
H=1 1 …1 1
an-1 an-2…a 1
(a2)n-1(a2)n-2…a2 1
(a3)n-1(a3)n-2…a3 1 …(18)
の如きものでも使用できる。この場合発生するエ
ラー位置はan-i,an-jという形になる。 Similarly to the above embodiment, H=1 1 ...1 1 a n-1 a n-2 ...a 1 (a 2 ) n-1 (a 2 ) n-2 ...a 2 1 (a 3 ) n-1 (a 3 ) n-2 …a 3 1 …(18) can also be used. In this case, the error positions that occur are in the form a ni , a nj .
また、次の一般のリード・ソロモン符号でも可
能である。 It is also possible to use the following general Reed-Solomon code.
H=1 1 1 … 1
1 a …an-1
… … …
1 ak-1…(ak-1)n-1 …(19)
H=1 a a2 … an-1
1 a2(a2)2…(a2)n-1
… … …
1 ak(ak)2…(ak)n-1 …(20)
叙上の如く、本発明によれば内部符号で得られ
たポイントと外部符号で得られた誤り位置とが一
致するか否かを判別し、かつポインタの数を数え
てその数で誤り訂正をコントロールすることによ
り、誤つた訂正を防止することが可能となる。H=1 1 1 … 1 1 a …a n-1 … … … 1 a k-1 …(a k-1 ) n-1 …(19) H=1 a a 2 … a n-1 1 a 2 (a 2 ) 2 ... (a 2 ) n-1 ... ... ... 1 a k ( ak ) 2 ... (a k ) n-1 ... (20) As described above, according to the present invention, the It is possible to prevent erroneous corrections by determining whether or not the points obtained match the error positions obtained from the external code, and by counting the number of pointers and controlling error correction using that number. becomes.
第1図はデータ伝送方式の概略ブロツク図、第
2図は本発明の実施例のブロツク図、第3図は本
発明の他の実施例の一部ブロツク図、第4図は本
発明に用いる符号形態を示す図である。
主要部分の符号の説明、5……内部符号の復号
化回路、6……デインターリーブ回路、7……外
部符号の復号化回路、8……ポインタ用レジス
タ、9……データ用レジスタ、13……一致判別
回路、15……カウンタ、16……制御回路。
Figure 1 is a schematic block diagram of a data transmission system, Figure 2 is a block diagram of an embodiment of the present invention, Figure 3 is a partial block diagram of another embodiment of the present invention, and Figure 4 is a diagram used in the present invention. FIG. 3 is a diagram showing a code format. Explanation of codes of main parts, 5...Internal code decoding circuit, 6...Deinterleave circuit, 7...External code decoding circuit, 8...Pointer register, 9...Data register, 13... ... Match determination circuit, 15 ... Counter, 16 ... Control circuit.
Claims (1)
れたデータの復号に際し、内部符号により少くと
も誤り検出を行い誤りの有無に対応したポインタ
を発生して前記ポインタを誤り位置情報として利
用し、外部符号により少くとも誤りの訂正を行う
如きデータの復号化方式であつて、前記外部符号
として単独に2つの誤りを訂正できる符号を使用
し、前記内部符号で得られた誤りをポインタと前
記外部符号で独自に2つの誤りを訂正する時に得
られる2つの誤り位置とが2つ共不一致の場合に
は、前記誤りを示すポインタの数を数えてその数
が前記外部符号で検出誤りを発生する可能性のあ
る誤りの数の最小値から2を減じた数以上ならば
外部符号による訂正を行わないで前記ポインタを
外部符号の最終的な誤り位置情報とし、前記最小
値から2を減じた数より小さい時には対応するデ
ータブロツクがすべて誤りと見做し、前記ポイン
タと前記2つの誤り位置とが1つだけ一致してい
る時には前記誤りを示すポインタの数を数えその
数が前記最小値から1を減じた数以上であれば外
部符号により訂正を行わずに前記ポインタ若しく
は前記ポインタと前記外部符号により得られた2
つの誤り位置との論理和を最終的な誤り位置情報
とし、前記最小値から1を減じた値よりも小なる
時には外部符号で訂正を行うか対応するデータブ
ロツクがすべて誤りと見做し、前記ポインタと前
記2つの誤り位置とが2つ共一致している場合に
は前記ポインタの数が前記最小値以上であれば外
部符号による訂正を行わず前記ポインタを最終的
な誤り位置情報とし、前記最小値より小なる場合
には外部符合により訂正を行うようにしたことを
特徴とするデータの復号化方式。 2 前記誤りを示すポインタの数を計数するため
のカウンタを備え、この誤りを示すポインタと前
記外部符号で得られる2つの誤り位置とが一致し
ているか否か判別する一致判別回路を備え、前記
判別回路による判別の結果2つ共不一致の時には
前記カウンタ内容を2つ増加させ、1つだけ一致
している時には前記カウンタ内容を1つ増加さ
せ、前記カウンタの内容により誤り訂正を制御す
ることを特徴とする特許請求の範囲第1項記載の
方式。 3 外部符号及び内部符号を有する二重符号化さ
れたデータの復号に際し、内部符号により少くと
も誤り検出を行い誤りの有無に対応したポインタ
を発生して前記ポインタを誤り位置情報として利
用して、最大4つの誤り訂正可能なリード・ソロ
モン符号を用いた外部符号により誤り訂正を行う
如きデータの復号化方式であつて、前記外部符号
で復号する際に前記内部符号で発生した誤りを示
すポインタの数を数えこのポインタと外部符号で
独自に2つの誤りを訂正可能な時に得られる2つ
の誤り位置とが2つ共不一致の場合には、前記ポ
インタの数に2を加算し、1つだけ一致している
場合には前記ポインタの数に1を加算し、また外
部符号で2つの誤り訂正ができない時には前記ポ
インタの数に2を加算し、これら加算処理後のポ
インタの数を最終的なポインタ数とし、2の加算
が行われた時には前記最終的なポインタ数が前記
外部符号で検出誤りを発生する可能性のある誤り
の数の最小値以上の場合訂正を行わず、前記内部
符号で得られたポインタを最終的な誤り位置情報
とし、前記最終的なポインタ数が前記最小値より
小さい場合対応するデータブロツクをすべて誤り
と見做し、2の加算が行われない時には前記最終
的なポインタの数が前記最小値以上の場合訂正を
行わず、前記内部符号で得られたポインタと前記
外部符号で得られた2つの誤り位置との論理和を
最終的な誤り位置情報とし、前記最終的なポイン
タの数が前記最小値より小であれば訂正を行うこ
とを特徴とするデータの復号化方式。 4 前記ポインタの加算において、1の加算が行
われた時には前記ポインタの数が前記最小値以上
の場合、訂正を行わないで前記内部符号で得られ
たポインタと前記外部符号で得られた2つの誤り
位置との論理和を最終的な誤り位置情報とし、前
記ポインタの数が前記最小値より小であれば対応
するデータブロツクをすべて誤りと見做し、前記
ポインタの加算において加算処理が行われない時
には前記ポインタの数が前記最小値以上の場合前
記ポインタを最終的な誤り位置情報とし、前記ポ
インタの数が前記最小値より小なる場合訂正を行
うことを特徴とする特許請求の範囲第3項記載の
方式。 5 前記ポインタの加算において2の加算が行わ
れない時には、前記ポインタの数が前記最小値以
上の場合訂正を行わずに前記内部符号で得られた
ポインタを最終的な誤り位置情報とし、前記ポイ
ンタの数が前記最小値より小なる場合訂正を行う
ことを特徴とする特許請求の範囲第3項記載の方
式。 6 前記誤りを示すポイントの数を計数するカウ
ンタを備え、この誤りを示すポインタと前記外部
符号で得られる2つの誤り位置とが一致している
か否か判別する一致判別回路を備え、前記判別回
路による判別の結果2つ共不一致の時には前記カ
ウンタ内容を2つ増加させ、1つだけ一致してい
る時には1つ増加させ、このカウンタの増加後の
内容を最終的なポインタ数としたことを特徴とす
る特許請求の範囲第3項、第4項又は第5項記載
の方式。[Claims] 1. When decoding double-encoded data having an external code and an internal code, at least error detection is performed using the internal code, a pointer corresponding to the presence or absence of an error is generated, and the pointer is moved to the error position. A data decoding method that uses an external code as information and corrects at least errors using an external code, in which a code that can independently correct two errors is used as the external code, and the error obtained with the internal code is If the pointer and the two error positions obtained when the two errors are independently corrected using the external code do not match, the number of pointers indicating the error is counted and the number is calculated using the external code. If the number is equal to or greater than the minimum value of the number of errors that may cause a detection error minus 2, the pointer is used as the final error position information of the external code without correction by the external code, and When the number is less than 2, all the corresponding data blocks are considered to be errors, and when the pointer and the two error positions match only one, the number of pointers indicating the error is counted and the number is determined. If the number is greater than or equal to the minimum value minus 1, the value of 2 obtained by the pointer or the pointer and the external code without being corrected by the external code.
The logical sum with the two error positions is used as the final error position information, and when the value is smaller than the minimum value minus 1, correction is performed using an external code, or all corresponding data blocks are considered to be errors, and the above-mentioned If the pointer and the two error positions match, and the number of pointers is equal to or greater than the minimum value, no correction is performed using the external code, and the pointer is used as the final error position information, and the pointer is used as the final error position information. A data decoding method characterized in that if the value is smaller than a minimum value, correction is performed using an external code. 2, comprising a counter for counting the number of pointers indicating the error, and a coincidence determination circuit for determining whether or not the pointer indicating the error coincides with the two error positions obtained by the external code; If the results of the discrimination by the discrimination circuit are that both of them do not match, the contents of the counter are incremented by two, and if only one of them is a coincidence, the contents of the counter are incremented by one, and error correction is controlled by the contents of the counter. The method according to claim 1 characterized in: 3. When decoding double-encoded data having an external code and an internal code, at least error detection is performed using the internal code, a pointer corresponding to the presence or absence of an error is generated, and the pointer is used as error position information, A data decoding method in which error correction is performed by an outer code using a maximum of four error-correctable Reed-Solomon codes, in which a pointer indicating an error occurring in the inner code when decoding with the outer code is used. If this pointer and the two error positions obtained when two errors can be corrected independently using the external code do not match, 2 is added to the number of pointers and only one is corrected. If it is, add 1 to the number of pointers, and if two errors cannot be corrected with the external code, add 2 to the number of pointers, and use the number of pointers after these additions as the final pointer. When the addition of 2 is performed, if the final pointer number is greater than or equal to the minimum number of errors that may cause a detection error in the outer code, no correction is performed and the result is obtained in the inner code. The resulting pointer is the final error position information, and if the final pointer count is smaller than the minimum value, all the corresponding data blocks are considered to be errors, and when the addition of 2 is not performed, the final pointer is If the number of error positions is greater than or equal to the minimum value, no correction is performed, and the logical sum of the pointer obtained by the inner code and the two error positions obtained by the outer code is used as the final error position information, and the final error position information is A data decoding method characterized in that if the number of pointers is smaller than the minimum value, correction is performed. 4 In addition of the pointers, if the number of pointers is greater than or equal to the minimum value when the addition of 1 is performed, the pointer obtained by the internal code and the two obtained by the external code are combined without correction. The logical sum with the error position is used as the final error position information, and if the number of pointers is smaller than the minimum value, all corresponding data blocks are regarded as errors, and addition processing is performed when adding the pointers. If there is no pointer, if the number of pointers is greater than or equal to the minimum value, the pointer is used as the final error position information, and if the number of pointers is smaller than the minimum value, correction is performed. Method described in section. 5 When the addition of 2 is not performed in the addition of the pointers, if the number of pointers is greater than or equal to the minimum value, the pointer obtained by the internal code is used as the final error position information without correction, and the pointer is 4. The method according to claim 3, wherein the correction is performed when the number of . is smaller than the minimum value. 6. A counter that counts the number of points indicating the error, and a coincidence determination circuit that determines whether or not the pointer indicating the error matches two error positions obtained by the external code, and the determination circuit If both of the results of the discrimination result do not match, the content of the counter is increased by two, and if only one match, the content of the counter is increased by one, and the content after the increment is set as the final number of pointers. The system according to claim 3, 4, or 5.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4380282A JPS58161547A (en) | 1982-03-19 | 1982-03-19 | Data decoding system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4380282A JPS58161547A (en) | 1982-03-19 | 1982-03-19 | Data decoding system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58161547A JPS58161547A (en) | 1983-09-26 |
| JPH0442854B2 true JPH0442854B2 (en) | 1992-07-14 |
Family
ID=12673872
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4380282A Granted JPS58161547A (en) | 1982-03-19 | 1982-03-19 | Data decoding system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58161547A (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62173820A (en) * | 1986-01-27 | 1987-07-30 | Sanyo Electric Co Ltd | Error correcting method |
| US4833679A (en) * | 1987-08-31 | 1989-05-23 | International Business Machines Corporation | Method and apparatus with improved error correction and error information availability |
| US6724976B2 (en) | 1992-03-26 | 2004-04-20 | Matsushita Electric Industrial Co., Ltd. | Communication system |
| US6728467B2 (en) | 1992-03-26 | 2004-04-27 | Matsushita Electric Industrial Co., Ltd. | Communication system |
| USRE38513E1 (en) | 1992-03-26 | 2004-05-11 | Matsushita Electric Industrial Co., Ltd. | Communication system |
| JPH07321670A (en) * | 1994-05-26 | 1995-12-08 | Nec Corp | Error correction system in magnetic tape device |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS55161445A (en) * | 1979-06-04 | 1980-12-16 | Mitsubishi Electric Corp | Coding and decoding system |
| JPS5641514A (en) * | 1979-09-10 | 1981-04-18 | Mitsubishi Electric Corp | Decoding method |
| JPS5710557A (en) * | 1980-06-20 | 1982-01-20 | Sony Corp | Error correcting method |
| JPS5724143A (en) * | 1980-07-18 | 1982-02-08 | Sony Corp | Error correcting method |
| JPS5829237A (en) * | 1981-08-14 | 1983-02-21 | Sony Corp | Error correcting method |
-
1982
- 1982-03-19 JP JP4380282A patent/JPS58161547A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58161547A (en) | 1983-09-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0136604B1 (en) | Decoding method and system. | |
| US4569052A (en) | Coset code generator for computer memory protection | |
| US7171591B2 (en) | Method and apparatus for encoding special uncorrectable errors in an error correction code | |
| JPH0812612B2 (en) | Error correction method and apparatus | |
| US7137057B2 (en) | Method and apparatus for performing error correction code (ECC) conversion | |
| CN111628780B (en) | Data encoding, decoding method and data processing system | |
| EP0339166B1 (en) | Extended errors correcting device having single package error correcting and double package error detecting codes | |
| US8533557B2 (en) | Device and method for error correction and protection against data corruption | |
| JPH0126209B2 (en) | ||
| US7243293B2 (en) | (18, 9) Error correction code for double error correction and triple error detection | |
| US6009550A (en) | PBA recovery apparatus and method for interleaved reed-solomon codes | |
| US5974582A (en) | High-speed chien search logic | |
| JPH0442854B2 (en) | ||
| US20220345157A1 (en) | Multibyte error detection | |
| US5943348A (en) | Method to check for burst limiting in error correcting systems | |
| CN111752747A (en) | A memory security check method with enhanced error detection capability | |
| JP2684031B2 (en) | Data decryption method | |
| RU2297032C2 (en) | Self-correcting memorizing device | |
| JPH0452660B2 (en) | ||
| JPH06244741A (en) | Error correcting method | |
| JP4213814B2 (en) | Error correction circuit check method and error correction circuit with check function | |
| JPH0477488B2 (en) | ||
| JP2768723B2 (en) | Decryption device | |
| JPS6160618B2 (en) | ||
| RU2297030C2 (en) | Self-correcting information storage device |