JPH0518487B2 - - Google Patents
Info
- Publication number
- JPH0518487B2 JPH0518487B2 JP24793686A JP24793686A JPH0518487B2 JP H0518487 B2 JPH0518487 B2 JP H0518487B2 JP 24793686 A JP24793686 A JP 24793686A JP 24793686 A JP24793686 A JP 24793686A JP H0518487 B2 JPH0518487 B2 JP H0518487B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- output
- detection
- syndrome
- data
- 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
- 238000001514 detection method Methods 0.000 claims description 89
- 208000011580 syndromic disease Diseases 0.000 claims description 74
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 6
- 101150046378 RAM1 gene Proteins 0.000 description 6
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
Landscapes
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
(イ) 産業上の利用分野
本発明は、コンパクトデイスク(CD)再生装
置に使用される信号処理回路に内蔵されたデータ
誤り検出回路に関する。DETAILED DESCRIPTION OF THE INVENTION (a) Field of Industrial Application The present invention relates to a data error detection circuit built into a signal processing circuit used in a compact disc (CD) playback device.
(ロ) 従来の技術
CD再生装置は、デイスクからEFM信号の形で
読み出されたデータから8ビツトのシンボルを作
成し音楽信号データを復元しているが、このシン
ボルにデータの誤りが発生することがある。これ
は、デイスクにピツトを書き込む際の欠陥、デイ
スクの取扱い中に生じたキズ等による欠陥、ある
いは、再生装置の機械的な変動や乱れによつて発
生する欠陥に原因する。そこで、データ誤りの検
出及び訂正のために、CDではクロス・リンター
リーブ・リード・ソロモン符号(CIRC)と呼ば
れる方式が用いられている。(b) Conventional technology A CD playback device creates 8-bit symbols from data read out from a disc in the form of an EFM signal and restores music signal data, but data errors occur in these symbols. Sometimes. This is caused by defects when pits are written on the disc, defects caused by scratches etc. that occur during handling of the disc, or defects caused by mechanical fluctuations or disturbances in the playback device. Therefore, in order to detect and correct data errors, a system called a cross-linterleaved Reed-Solomon code (CIRC) is used in CDs.
この方式を概略説明する。先ず、デイスクにデ
ータを記録する場合、右チヤンネルと左チヤンネ
ルの各々6個の16ビツト音楽信号データを各々8
ビツトのシンボルに分割し、合計24個のシンボル
が作成される。これらは、選択的に遅延され組み
替えられた後、リード・ソロモン符号法に基いて
C2のパリテイデータQ0,Q1,Q2,Q3(各8ビツ
ト)が付される。更に、この28個のシンボルは、
各々異なつた時間遅延され、C1のパリテイデー
タP0,P1,P2,P3(各8ビツト)が、同様にリー
ド・ソロモン符号法に基いて作成され付加され
る。そして、合計32個のシンボルは選択的に遅延
され、そのうちのパリテイデータQ0,Q1,Q2,
Q3及びP0,P1,P2,P3が反転されて書き込み用
のデータ群となり、EFM(8−14変調)変調され
てフレーム同期信号と共にデイスクに記録され
る。 This method will be briefly explained. First, when recording data on a disk, 6 pieces of 16-bit music signal data for each of the right channel and left channel are converted into 8 bits each.
Divided into bit symbols, a total of 24 symbols are created. After being selectively delayed and recombined, they are based on Reed-Solomon coding.
Parity data Q 0 , Q 1 , Q 2 , Q 3 (8 bits each) of C 2 is attached. Furthermore, these 28 symbols are
Parity data P 0 , P 1 , P 2 , P 3 (8 bits each) of C 1 are created and added similarly based on the Reed-Solomon coding method, each delayed by a different time. Then, a total of 32 symbols are selectively delayed, among which parity data Q 0 , Q 1 , Q 2 ,
Q3 , P0 , P1 , P2 , and P3 are inverted to form a data group for writing, which is EFM (8-14 modulation) modulated and recorded on the disk together with a frame synchronization signal.
また、デイスクの再生時には、読み出された
EFM信号から32個の8ビツトのシンボルが作成
され、これらは、記録時と逆の処理が為される。
即ち、32個のシンボルは、選択的に遅延され、パ
リテイデータQ0,Q1,Q2,Q3及びP0,P1,P2,
P3が反転されてC1デコード処理される。C1デコ
ード処理は、各シンボルに基いてシンドロームを
計算し、算出されたシンドロームからリード・ソ
ロモン符号法に従つて、誤り検出及び誤り訂正を
行う。更に、C1デコード処理された28個のシン
ボルは、各々異なつた時間遅延された後、C2デ
コード処理される。C2デコード処理も同様に、
各シンボルからシンドロームを計算し、算出され
たシンドロームからリード、ソロモン符号法に従
つて、誤り検出及び誤り訂正を行う。そして、
C2デコード処理後の24個のシンボルは、組み替
えられて選択的に遅延され、元の音楽信号データ
に戻される。 Also, when playing a disc, the read
Thirty-two 8-bit symbols are created from the EFM signal, and these are processed in the opposite way as they were recorded.
That is, the 32 symbols are selectively delayed and parity data Q 0 , Q 1 , Q 2 , Q 3 and P 0 , P 1 , P 2 ,
P3 is inverted and C1 decoded. In the C1 decoding process, a syndrome is calculated based on each symbol, and error detection and error correction are performed from the calculated syndrome according to the Reed-Solomon coding method. Further, the 28 symbols subjected to C1 decoding are each delayed for a different time and then subjected to C2 decoding. Similarly, the C2 decoding process is
A syndrome is calculated from each symbol, and error detection and error correction are performed based on the calculated syndrome according to the Reed and Solomon coding methods. and,
The 24 symbols after the C2 decoding process are rearranged and selectively delayed, and then returned to the original music signal data.
尚、クロス・インターリーブ・リード・ソロモ
ン符号法を使用したCD方式については、昭和57
年11月25日に発行された「図解コンパクトデイス
ク読本」(オーム社)の第103頁から第110頁まで
に詳細に記載されている。 The CD system using the cross-interleaved Reed-Solomon coding method was introduced in 1982.
It is described in detail on pages 103 to 110 of the ``Illustrated Compact Disc Reader'' (Ohmsha) published on November 25, 2017.
従来、リード・ソロモン符号法に基いて誤り検
出する場合、シンドロームの計算を次式に従つて
行う。 Conventionally, when detecting errors based on the Reed-Solomon coding method, syndromes are calculated according to the following equation.
S0 S1 S2 S3=1 1…1 1 α31α30…α 1 α62α60…α2 1 α93α90…α3 1D0 D1 〓 D31 …(1) 尚、αは8次の原始多項式 F(X)=X3+X4+X3+X2+1の根である。S 0 S 1 S 2 S 3 =1 1…1 1 α 31 α 30 …α 1 α 62 α 60 …α 2 1 α 93 α 90 …α 3 1D 0 D 1 〓 D 31 …(1) In addition, α is the root of the 8th degree primitive polynomial F(X)=X 3 +X 4 +X 3 +X 2 +1.
上記計算の結果、シンドロームS0,S1,S2,S3
がすべて「0」であれば誤り無しと判別される。 As a result of the above calculation, the syndromes S 0 , S 1 , S 2 , S 3
If all are "0", it is determined that there is no error.
一方、j番目のデータDjのみに誤りがあつた
場合には、
S1 2=S0・S2,S2 2=S1・S3
S0≠0,S1≠0,S2≠0,S3≠0
が成り立つことを検出することにより、判別さ
れ、誤りデータ位置は、
S1/S0=αj
を算出し、その対数をとることによつて求めら
れる。 On the other hand, if there is an error only in the j-th data D j , S 1 2 = S 0 · S 2 , S 2 2 = S 1 · S 3 S 0 ≠ 0, S 1 ≠ 0, S 2 ≠ The error data position is determined by calculating S 1 / S 0 =α j and taking the logarithm thereof.
また、データDjとDiとに誤りがあつた場合に
は、
αj+αi=S1・S2+S0・S3/S1 2+S0・S2
αi+αj=S2 2+S1・S3/S1 2+S0・S2
0≦j,i≦31,j≠i
が成立するので、これにより、j及びiが求め
られたとき二重誤りと判別される。更に、
Ej
Ei=1/αj+αjS1+αi・S0
S1+αj・S0
により、データ誤差Ej及びEiが求められる。 Moreover, if there is an error in data D j and D i , α j + α i = S 1・S 2 + S 0・S 3 /S 1 2 +S 0・S 2 α i +α j =S 2 2 +S 1 ·S 3 /S 1 2 +S 0 ·S 2 0≦j, i≦31, j≠i hold, so that when j and i are determined, it is determined that there is a double error. Furthermore, the data errors E j and E i are determined by E j E i =1/α j +α j S 1 +α i ·S 0 S 1 +α j ·S 0 .
上述のリード・ソロモン符号法によるCDのデ
ータ誤り検出及び訂正については、特開昭60−
77529号公報に詳細に記載されている。 Regarding CD data error detection and correction using the above-mentioned Reed-Solomon coding method, please refer to Japanese Patent Application Laid-open No. 1989-
It is described in detail in Publication No. 77529.
(ハ) 発明が解決しようとする問題点
しかしながら、上述したデータ誤り検出及び訂
正を実行する回路は、対数変換用のROMや多数
の乗除算回路が必要となり、特に、二重誤り検出
を行う際に、乗除算を繰り返し行わなければなら
ないため、誤り検出や誤り位置の算出に時間がか
かり、また、計算のために必要なタイミング信号
の数が多くなる欠点があつた。(C) Problems to be Solved by the Invention However, the circuit for detecting and correcting data errors described above requires a ROM for logarithmic conversion and a large number of multiplication/division circuits, and this is especially difficult when performing double error detection. In addition, since multiplication and division must be repeated, it takes time to detect errors and calculate error positions, and the number of timing signals required for calculations increases.
(ニ) 問題点を解決するための手段
本発明は、上述した点に鑑みて為されたもので
あり、入力されたデータからシンドロームS0,
S1,S2,S3を算出し、更に、シンドロームS0,
S1,S2,S3を1,α,α2,α3(αは8次の原始多
項式の根)で割るシンドローム演算手段と、シン
ドロームS0,S1,S2,S3がすべて「0」であるこ
とを検出する誤りゼロ検出手段と、シンドローム
演算手段で1,α,α2,α3で割算した回数jを計
数保持する計数手段と、前記演算手段の結果S0′,
S1′,S2′,S3′に基いて、S0′+S1′,S1′+S2′,
S2′+S3′を算出する加算手段と、前記S0′+S1′,
S1′+S2′,S2′+S3′がすべて「0」となつたこと
を検出する単一誤り検出手段と、前記S1′+S2′,
S2′+S3′を各々α,α2で順次割り、
S0′+S1′=S1′+S2′/αa=S2′+S3′/α2a
となつたときのa(=i−j,i,jは誤り位置)
を検出する二重誤り検出手段と、前記計数手段に
保持されたjと前記aからiを求める誤り位置算
出手段と前記S0′+S1′及びaに基いて誤差成分を
算出する誤差算出手段とを備えたものである。(d) Means for solving the problems The present invention has been made in view of the above-mentioned points, and it is possible to determine the syndrome S 0 ,
S 1 , S 2 , S 3 are calculated, and the syndromes S 0 ,
Syndrome calculation means that divides S 1 , S 2 , S 3 by 1, α, α 2 , α 3 (α is the root of an 8th order primitive polynomial) and syndromes S 0 , S 1 , S 2 , S 3 are all an error zero detection means for detecting "0"; a counting means for counting and holding the number of times j divided by 1, α, α 2 , α 3 by the syndrome calculation means; and a result S 0 ' of the calculation means. ,
Based on S 1 ′, S 2 ′, S 3 ′, S 0 ′+S 1 ′, S 1 ′+S 2 ′,
an addition means for calculating S 2 ′+S 3 ′;
a single error detection means for detecting that S 1 ′+S 2 ′, S 2 ′+S 3 ′ are all “ 0 ”;
A ( = _ _ _ _ _ _ _ _ i-j, i, j are error positions)
double error detection means for detecting, error position calculation means for calculating i from j held in the counting means and the a, and error calculation means for calculating an error component based on the S 0 ′+S 1 ′ and a. It is equipped with the following.
(ホ) 作用
上述の手段によれば、シンドローム計算手段
は、シンボルが順次印加されるタイミングによ
り、シンボルに各々、1,α,α2,α3を乗算し、
その乗算結果と次に印加されるシンボルの和を求
め、更に、その和に1,α,α2,α3を乗算するこ
とにより、前述した(1)式の計算を行い、シンドロ
ームS0,S1,S2,S3を求める。算出されたシンド
ロームS0,S1,S2,S3がすべて「0」であれば誤
りゼロ検出回路により、読み出されたデータがす
べて正しいものと判別される。一方、誤りがあつ
た場合には、演算手段は、シンドロームS0,S1,
S2,S3を各々1,α,α2,α3で割り、更に、次の
タイミングで前回の計算結果を1,α,α2,α3で
割る動作を繰り返えす。また、この割算が実行さ
れる毎に、割算結果S0′,S1′,S2′,S3′に基いて
加算手段によりS0′+S1′,S1′+S2′,S2′+S3′が
求
められ、更に、S0′+S1′,S1′+S2′,S2′+S3′は
単
一誤り検出手段に印加されると共に二重誤り検出
手段に印加される。更に、割算の回数は計数手段
に計数保持される。即ち、単一誤り検出手段によ
りS0′+S1′=S1′+S2′=S2′+S3′=0が検出され
た
とき、データの誤りが1個であることが検出さ
れ、そのときの計数手段の内容で誤り位置jが判
別できる。また、二重誤り検出手段により、
S0′+S1′=S1′+S2′/αa=S2′+S3′/α2a
となつたときの検出出力により、2個のデータ誤
りがあつたこと、及び、その誤り位置間の差a
(=i−j)が判別され、また、そのときの計数
手段の内容で誤り位置jが判別できる。よつて、
aとjにより誤り位置算出手段は誤り位置iを求
めることができる。一方、いずれの検出も為され
なかつた場合には、3個以上の誤りがあつた場合
でこの場合には訂正不可能となる。このように各
手段が作用することにより、少ないタイミング信
号で簡単に誤り検出が行える。(E) Effect According to the above-mentioned means, the syndrome calculation means multiplies the symbols by 1, α, α 2 and α 3, respectively, depending on the timing at which the symbols are sequentially applied.
By calculating the sum of the multiplication result and the symbol to be applied next, and further multiplying the sum by 1, α, α 2 and α 3 , the above-mentioned equation (1) is calculated, and the syndrome S 0 , Find S 1 , S 2 , and S 3 . If the calculated syndromes S 0 , S 1 , S 2 , and S 3 are all "0", the error zero detection circuit determines that all the read data are correct. On the other hand, if there is an error, the calculation means calculates the syndromes S 0 , S 1 ,
The operation of dividing S 2 and S 3 by 1, α, α 2 and α 3, respectively, and then dividing the previous calculation result by 1, α, α 2 and α 3 at the next timing is repeated. Furthermore, each time this division is executed, based on the division results S 0 ′, S 1 ′, S 2 ′, S 3 ′, the addition means calculates S 0 ′+S 1 ′, S 1 ′+S 2 ′, S 2 ′+S 3 ′ is obtained, and S 0 ′+S 1 ′, S 1 ′+S 2 ′, and S 2 ′+S 3 ′ are applied to the single error detection means and also applied to the double error detection means. be done. Further, the number of divisions is counted and held in a counting means. That is, when the single error detection means detects S 0 ′ + S 1 ′ = S 1 ′ + S 2 ′ = S 2 ′ + S 3 ′ = 0, it is detected that there is one data error, and that The error position j can be determined based on the contents of the counting means at that time. In addition, the double error detection means detects two data errors by the detection output when S 0 ′+S 1 ′=S 1 ′+S 2 ′/α a =S 2 ′+S 3 ′/α 2a . Difference a between the error position and the error position
(=ij) is determined, and the error position j can be determined based on the contents of the counting means at that time. Then,
The error position calculating means can determine the error position i from a and j. On the other hand, if no detection is performed, three or more errors have occurred, and in this case, correction is impossible. By each means acting in this manner, error detection can be easily performed with a small number of timing signals.
(ヘ) 実施例
先ず、実施例を説明する前に本発明のデータ誤
り検出について説明する。C1誤り検出の場合、
前述した(1)式によりシンボルからシンドローム
S0,S1,S2,S3を求めるのであるが、本発明の場
合(1)式を次のように書き変える。(f) Embodiments First, before explaining embodiments, data error detection of the present invention will be explained. For C1 error detection,
Syndrome can be calculated from symbol using equation (1) mentioned above.
S 0 , S 1 , S 2 , and S 3 are determined, and in the case of the present invention, equation (1) is rewritten as follows.
S0
S1
S2
S3=1 1…1 1
α31α30…α 1
α62α60…α2 1
α93α90…α3 1D31
D30
〓
D0 …(1)′
これは、(1)式に於けるシンボルD0〜D31の添字
を逆に付け替えたものであり、(1)′式のシンボル
D31は実際のシンボルのD0である。即ち、実際の
シンボルはデイスクから読み出された順にD0,
D1,D2…D31としているが、本発明では、逆に
D31,D30…D0としているので、所謂、アドレス
が逆に付されたものとなつている。 This is _ _ _ _ _ _ _ _ _ _ _ _ _ , the subscripts of symbols D 0 to D 31 in equation (1) are reversed, and the symbol in equation (1)′ is
D 31 is the actual symbol D 0 . That is, the actual symbols are D 0 ,
D 1 , D 2 ...D 31 , but in the present invention, conversely,
Since D 31 , D 30 . . . D 0 are used, the addresses are so-called reversed.
シンボルD31〜D0に誤りがなければ、シンドロ
ームS0,S1,S2,S3はすべて「0」となる。しか
し、シンボルDiとDj(j≦i)に誤りが発生した
場合シンドロームは、
S0=Ei+Ej
S1=αiEi+αjEj
S2=α2iEi+α2jEj
S3=α3iEi+α3jEj ……(2)
となる。尚、Ei及びEjは各々誤差成分である。 If there is no error in symbols D 31 to D 0 , syndromes S 0 , S 1 , S 2 , and S 3 will all be “0”. However, if an error occurs in symbols D i and D j (j≦i), the syndrome is S 0 = E i + E j S 1 = α i E i + α j E j S 2 = α 2i E i + α 2j E j S 3 = α 3i E i + α 3j E j ...(2). Note that E i and E j are each error components.
この算出されたシンドロームS0,S1,S2,S3を
各々1,α,α2,α3でj回割つたとき、各々S0′,
S1′,S2′,S3′となつたとすると、
となる。従つて、(3)式から
S0′+S1′=Ei(1+αi-j) …(4)
S1′+S2′=αi-jEi(1+αi-j) …(5)
S2′+S3′=α2(i-j)Ei(1+αi-j) …(6)
が求められる。 When these calculated syndromes S 0 , S 1 , S 2 , S 3 are divided by 1, α, α 2 , α 3 j times, respectively, S 0 ′,
Suppose that S 1 ′, S 2 ′, and S 3 ′ become, becomes. Therefore, from equation (3), S 0 ′+S 1 ′=E i (1+α ij )…(4) S 1 ′+S 2 ′=α ij E i (1+α ij )…(5) S 2 ′+S 3 ′ =α 2(ij) E i (1+α ij ) …(6) is obtained.
ここで、単一誤りの場合、i=j,Ei=0と考
えると(4)(5)(6)式は
S0′+S1′=S1′+S2′=S2′+S3′=0 …(7)
となる。従つて、(7)式が成立することを検出す
ることにより単一誤りを検出できる。尚、誤り位
置は、シンドロームS0,S1,S2,S3を割つた回数
jで示され、誤差成分EjはシンドロームS0の値と
なる。 Here, in the case of a single error, assuming that i=j and E i =0, equations (4), (5), and (6) become S 0 ′+S 1 ′=S 1 ′+S 2 ′=S 2 ′+S 3 '=0...(7) Therefore, a single error can be detected by detecting that equation (7) holds true. Note that the error position is indicated by the number j of times the syndromes S 0 , S 1 , S 2 , and S 3 are divided, and the error component E j is the value of the syndrome S 0 .
一方、二重誤りの場合、(4)(5)(6)式から
S0′+S1′=S1′+S2′/αi-j=S2′+S3′/α2(i
-j)…(8)
が求められる。(8)式に於いてi−j=aとすれ
ば、i及びjは共に0〜31であるから1≦a≦31
となる。従つて、S1′+S2′,S2′+S3′を各々α,
α2でa回割つたとき(8)式が成立することにより二
重誤りが検出できる。また、誤り位置iはa+j
により求めることができる。更に、誤差成分Eiは
(4)式から
Ei=S0′+S1′/1+αi-j …(9)
と求められる。(9)式に於いて、1+αi-jはガロア
フイールドに於けるαxと変換することができ、前
記aからαxに変換してEiを求め、更に、S0=Ei+
EjからEj=S0−Eiにより求められる。 On the other hand, in the case of double error, from equations (4), (5), and (6), S 0 ′+S 1 ′=S 1 ′+S 2 ′/α ij =S 2 ′+S 3 ′/α 2(i
-j) …(8) is required. In equation (8), if i-j=a, since i and j are both 0 to 31, 1≦a≦31
becomes. Therefore, S 1 ′+S 2 ′ and S 2 ′+S 3 ′ are α,
A double error can be detected if equation (8) holds when divided by α 2 a times. Also, the error position i is a+j
It can be found by Furthermore, the error component E i is
From equation (4), E i =S 0 ′+S 1 ′/1+α ij …(9) is obtained. In equation (9), 1+α ij can be converted to α x in the Galois field, converting the above a to α x to obtain E i , and further, S 0 = E i +
It is determined from E j by E j =S 0 −E i .
単一誤り訂正は、検出された誤り位置jのシン
ボルに誤差成分Ejを加算することにより為され、
二重誤り訂正は、検出された誤り位置iとjのシ
ンボルに誤差成分EiとEjを各々加算することによ
つて為される。 Single error correction is performed by adding error component E j to the symbol at detected error position j,
Double error correction is performed by adding error components E i and E j to the symbols at detected error positions i and j , respectively.
第1図は、上述した誤り検出を実現する本発明
の実施例を示すブロツク図である。第1図に於い
て、RAM1は、デイスクから読み出され、EFM
変換された各々のフレームのシンボルD0〜D31
(添字は実際のアドレス順序を示す)がアドレス
制御回路(図示せず)により予め定められた順序
で書き込まれ、また、C1とC2の誤り検出及び訂
正時やDA変換への出力時に読み出し及び書き込
みが為されるメモリであり、8ビツトのデータバ
ス2に接続されている。シンドローム演算手段
3,4,5,6は、各々データバス2に接続さ
れ、RAM1から順次読み出されて来るシンボル
D31〜D0(添字は実際と逆のアドレスであり、以
下逆のアドレスを使用する。)を入力して、前述
した(1)′式の演算を行うと共に、算出されたシン
ドロームS0,S1,S2,S3を各々1,α,α2,α3で
割り、S0′,S1′,S2′,S3′を算出するものである。
また、シンドローム演算手段3,4,5,6は、
RAM1からシンボルD31〜D0を読み出すタイミ
ング信号SYRAMと割算を実行させるタイミン
グ信号SYNDCLで作られるクロツクパルス
SCLKで動作し、シンドロームの計算と割算の切
換えが制御信号SCONTで為される。加算手段
7,8,9は、各々シンドローム演算手段3,
4,5,6の出力S0′,S1′,S2′,S3′を入力して、
S0′+S1′,S1′+S2′,S2′+S3′を出力するもので
あ
り、各ビツトのE−ORにより、モジロ2の和を
行う。加算手段7,8,9の各出力は、誤り検出
手段10及び単一誤り検出手段11に印加される
と共に二重誤り検出手段12に印加される。誤り
ゼロ検出手段10は、シンドロームS0,S1,S2,
S3を算出した時点に於いて、S0=0であり、且
つ、S0+S1=S1+S2=S2+S3=0であることを検
出したとき、シンボルD31〜D0は正しく誤りがな
いと判別して信号ZEを出力する。一方、単一誤
り検出手段11は、シンドローム演算手段3,
4,5,6で計算されたシンドロームS0,S1,
S2,S3を1,α,α2,α3で1回割る毎に、(7)式が
成立することを検出するものであり、(7)式が成立
するとシンボルに単一誤りがあつたとして検出出
力1Eを出力する。二重誤り検出手段12は、前
述と同様に、シンドローム演算手段3,4,5,
6で割算が行われる毎に、(8)式が成立することを
検出するものであり、S1′+S2′を1/αaで割り、
S2′+S3′を1/α2aで割り、その割算結果とS0′+S1
′の
一致を検出することにより、誤りがあること及び
誤り位置情報a=i−jが得られる。そして、二
重誤り検出手段12からは誤り位置情報aを示す
32本の検出出力ai-jが出力される。即ち、シンボ
ルD31〜D0のDiとDjに誤りがあつた場合には、(3)
式乃至(8)式から明らかな如く、シンドロームS0,
S1,S2,S3を1,α,α2,α3でj回割つたときに
32本の検出出力ai-jの1本のみが“1”となる。
しかし、三重誤り以上の誤りがあつた場合には、
シンドローム演算手段3,4,5,6に31回の割
算を行わせる間に、検出出力ai-jに複数回検出出
力が現われる。検出出力ai-jは、32ビツトのD−
FFから成るaレジスタ13に印加されると共に
a0(i=jのとき)を除いてORゲート14に印加
され、ORゲート14の出力が誤り検出出力2E
として出力される。計数手段15は、シンドロー
ム演算手段3,4,5,6に1,α,α2,α3の割
算を実行させるタイミング信号SYNDCLを計数
して、その割算した回数を計数する5ビツトのカ
ウンタ16と、カウンタ16の出力が印加され、
その計数内容を記憶する5ビツトのD−FFから
成るレジスタ17とから構成される。ラツチパル
ス発生手段18は、単一誤り検出手段11からの
検出出力1E及び二重誤り検出手段12からOR
ゲート14を介して出力される検出出力2Eが印
加され、各々の検出出力1Eと2Eに基いてカウ
ンタ16の計数内容を5ビツトのレジスタ17に
保持させるバルスjLPをORゲート19から出力
する。また、パルスjLPは、シンドローム演算手
段3の出力S0′を記憶保持する8ビツトのD−FF
から成るレジスタ20、検出出力ai-jを記憶する
32ビツトのaレジスタ13、及び、S0′+S1′を記
憶する8ビツトのD−FFから成るレジスタ21
のクロツクとなる。更に、検出出力2Eに基いて
ラツチパルス発生手段18から出力されるラツチ
パルスは、訂正不能判定手段22に印加される。
訂正不能判定手段22は、印加されたラツチパル
スが1個の場合には二重誤りであると判定し、訂
正制御手段23に訂正を指示すると共にフラグ制
御手段24にC1あるいはC2のフラグの付加を指
示する制御信号2ESIGを出力し、また、ラツチ
パルスが2個以上印加された場合には、三重誤り
以上であると判定し、訂正制御手段23に訂正の
禁止を指示すると共にフラグ制御手段24にC1
あるいはC2フラグをフラグレジスタ25に付加
することを指示する制御信号NGを出力する。こ
れら、ラツチパルス発生手段18、訂正不能判定
手段22及び訂正制御手段23には、誤りゼロ検
出手段10からの検出出力ZEが印加され、誤り
無しと検出された場合には、これらの動作が禁止
される。aレジスタ13に保持された検出出力
ai-jが印加されたエンコーダ26は、32本の信号
5ビツトのバイナリーデータに変換するものであ
り、変換後の5ビツトデータは誤り位置算出手段
27に印加される。誤り位置算出手段27は、計
数手段15のレジスタ17に保持されたデータ、
即ち、シンドロームS0,S1,S2,S3を1,α,
α2,α3で各々割つた回数jとi−jの5ビツトデ
ータを加算し、誤り位置iを算出する加算回路で
ある。誤り位置算出手段27の出力i(5ビツト)
とレジスタ17の出力jは、共にインバータ2
8,29で反転されマルチプレクサ30により選
択されてRAM1のアドレス制御回路に供給され
る。即ち、誤り位置i及びjは、誤りの発生した
シンボルのアドレスを指定し、そのシンボルの訂
正を行うために使用される。ここで、インバータ
28,29によつてデータi及びjを反転するの
は、前述した如く、シンボルD0〜D31のアドレス
を逆に付与したため、それを元に戻すためであ
る。 FIG. 1 is a block diagram showing an embodiment of the present invention that implements the above-described error detection. In Figure 1, RAM1 is read from disk and EFM
Symbols D 0 to D 31 of each converted frame
(The subscript indicates the actual address order) are written in a predetermined order by an address control circuit (not shown), and are read out during error detection and correction of C1 and C2 and when outputting to DA conversion. and a memory to which data is written, and is connected to an 8-bit data bus 2. Syndrome calculation means 3, 4, 5, and 6 are each connected to the data bus 2, and the symbols sequentially read out from the RAM 1 are connected to the data bus 2.
Input D 31 to D 0 (the subscripts are the reverse addresses of the actual addresses, and the reverse addresses will be used below), perform the calculation of equation (1)′ mentioned above, and calculate the calculated syndrome S 0 , S 1 , S 2 , and S 3 are divided by 1, α, α 2 , and α 3, respectively, to calculate S 0 ′, S 1 ′, S 2 ′, and S 3 ′.
Moreover, the syndrome calculation means 3, 4, 5, 6 are
A clock pulse created by the timing signal SYRAM that reads symbols D 31 to D 0 from RAM1 and the timing signal SYNDCL that executes division.
It operates using SCLK, and switching between syndrome calculation and division is performed using a control signal SCONT. The addition means 7, 8, and 9 are the syndrome calculation means 3, respectively.
Input the outputs S 0 ′, S 1 ′, S 2 ′, S 3 ′ of 4, 5, and 6,
It outputs S 0 ′+S 1 ′, S 1 ′+S 2 ′, and S 2 ′+S 3 ′, and performs a modulo 2 sum by E-OR of each bit. The respective outputs of the adding means 7, 8 and 9 are applied to error detection means 10, single error detection means 11, and double error detection means 12. The error zero detection means 10 detects the syndromes S 0 , S 1 , S 2 ,
At the time when S 3 is calculated, when it is detected that S 0 = 0 and S 0 + S 1 = S 1 + S 2 = S 2 + S 3 = 0, the symbols D 31 to D 0 are It determines that there is no error and outputs signal ZE. On the other hand, the single error detection means 11 includes the syndrome calculation means 3,
Syndrome S 0 , S 1 , calculated in 4, 5, 6
Each time S 2 , S 3 is divided by 1, α, α 2 , α 3 , it is detected that Equation (7) holds true, and if Equation (7) holds, a single error occurs in the symbol. Detection output 1E is output as hot. The double error detection means 12 includes syndrome calculation means 3, 4, 5,
Each time division by 6 is performed, it is detected that equation (8) holds true, and S 1 ′+S 2 ′ is divided by 1/α a , and S 2 ′+S 3 ′ is divided by 1/α 2a Divide by and divide the division result and S 0 ′ + S 1
By detecting a match of ', it is possible to determine that there is an error and to obtain error location information a=ij. Then, the double error detection means 12 indicates error position information a.
32 detection outputs a ij are output. That is, if there is an error in D i and D j of symbols D 31 to D 0 , (3)
As is clear from equations (8) to (8), the syndrome S 0 ,
When dividing S 1 , S 2 , S 3 by 1, α, α 2 , α 3 j times,
Only one of the 32 detection outputs a ij becomes "1".
However, if there is a triple error or more,
While the syndrome calculation means 3, 4, 5, and 6 perform division 31 times, the detection output appears multiple times in the detection output a ij . The detection output aij is a 32-bit D-
is applied to the a register 13 consisting of FF and
a 0 (when i=j) is applied to the OR gate 14, and the output of the OR gate 14 is the error detection output 2E.
is output as The counting means 15 counts the timing signal SYNDCL that causes the syndrome calculation means 3, 4, 5, and 6 to execute division by 1, α, α 2 , α 3 , and calculates the number of times the division has been performed. A counter 16 and the output of the counter 16 are applied,
It is composed of a register 17 consisting of a 5-bit D-FF for storing the count contents. The latch pulse generating means 18 outputs an OR from the detection output 1E from the single error detection means 11 and the double error detection means 12.
The detection output 2E outputted through the gate 14 is applied, and the OR gate 19 outputs a pulse jLP that causes the count contents of the counter 16 to be held in the 5-bit register 17 based on the respective detection outputs 1E and 2E. Further, the pulse jLP is an 8-bit D-FF that stores and holds the output S 0 ' of the syndrome calculation means 3.
A register 20 consisting of a register 20 stores the detection output a ij
A register 21 consisting of a 32-bit a register 13 and an 8-bit D-FF that stores S 0 '+S 1 '
It becomes the clock. Further, a latch pulse output from the latch pulse generating means 18 based on the detection output 2E is applied to the uncorrectable determining means 22.
The uncorrectable determination means 22 determines that there is a double error when the number of applied latch pulses is one, and instructs the correction control means 23 to perform correction, and also causes the flag control means 24 to set the C 1 or C 2 flag. It outputs a control signal 2ESIG that instructs addition, and if two or more latch pulses are applied, it determines that there is a triple error or more, and instructs the correction control means 23 to prohibit correction, and flag control means 24 to C 1
Alternatively, it outputs a control signal NG instructing to add the C2 flag to the flag register 25. The detection output ZE from the zero error detection means 10 is applied to the latch pulse generation means 18, the uncorrectable determination means 22, and the correction control means 23, and if no error is detected, these operations are prohibited. Ru. Detection output held in a register 13
The encoder 26 to which a ij is applied converts the 32 signals into 5-bit binary data, and the converted 5-bit data is applied to the error position calculation means 27. The error position calculation means 27 calculates the data held in the register 17 of the counting means 15,
That is, the syndromes S 0 , S 1 , S 2 , S 3 are set to 1, α,
This is an addition circuit that adds the number of times j divided by α 2 and α 3 and the 5-bit data of ij to calculate the error position i. Output i (5 bits) of error position calculation means 27
and the output j of register 17 are both inverter 2
8 and 29, selected by the multiplexer 30, and supplied to the address control circuit of the RAM1. That is, error positions i and j are used to specify the address of a symbol where an error has occurred and to correct the symbol. Here, the reason why the data i and j are inverted by the inverters 28 and 29 is to restore the addresses of the symbols D 0 to D 31 which have been given in reverse, as described above.
誤差算出手段31は、レジスタ21に記憶され
たS0′+S1′とaレジスタ13に記憶された誤り位
置情報ai-jを入力し、(9)式に基いて誤り位置iの
シンボルの誤差成分Eiを算出するものであり、1
+αi-jをαxに変換するデコーダ方式が用いられ、
演算を単純化している。加算手段32は、誤差成
分EiとEjの和であるS′0(シンドロームS0と等し
い)と誤差算出手段31で算出された誤差成分Ei
とのモジロ2の和を求めるものであり、各ビツト
毎のE−ORにより誤差成分Ejを求める。算出さ
れた誤差成分Ei及びEjは、各々マルチプレクサ3
3に印加され、マルチプレクサ33と同じ制御信
号SELによつて選択出力される。即ち、マルチプ
レクサ30に於いて、誤り位置データiが選択出
力されたときには、マルチプレクサ33からは誤
差成分Eiが出力力され、誤り位置データjが選択
されたときには誤差成分Ejが選択される。マルチ
プレクサ33の出力が印加された加算手段34と
8ビツトのD−FFから成るレジスタ35は、誤
り訂正を行うものであり、マルチプレクサ30か
ら選択されてアドレス制御回路に印加された誤り
位置データiまたはjに基いてRAM1から読み
出された誤りシンボルDiあるいはDjがレジスタ3
5に保持され、加算手段34に於いて、誤りシン
ボルDiあるいはDjと誤差成分EiあるいはEjのモジ
ロ2の和が為され、その加算結果、即ち、訂正さ
れたシンボルは、再び、RAM1の同じアドレス
に記憶される。加算手段34の動作は、訂正制御
手段23から出力される制御信号ENAによつて
制御され、誤り無しと訂正不能の場合には、加算
動作は為されず、単一誤りと二重誤りの場合に加
算動作が為される。 The error calculation means 31 inputs S 0 '+S 1 ' stored in the register 21 and the error position information a ij stored in the a register 13, and calculates the error component of the symbol at the error position i based on equation (9). This is to calculate E i , and 1
A decoder method is used to convert +α ij to α x ,
Calculations are simplified. The addition means 32 calculates the sum of the error components E i and E j S' 0 (equal to the syndrome S 0 ) and the error component E i calculated by the error calculation means 31.
, and the error component E j is calculated by E-OR for each bit. The calculated error components E i and E j are each input to the multiplexer 3.
3 and is selectively outputted by the same control signal SEL as the multiplexer 33. That is, when multiplexer 30 selects and outputs error position data i, error component E i is output from multiplexer 33, and when error position data j is selected, error component E j is selected. An adder 34 to which the output of the multiplexer 33 is applied and a register 35 consisting of an 8-bit D-FF perform error correction, and the error position data i or the register 35 selected from the multiplexer 30 and applied to the address control circuit The error symbol D i or D j read from RAM1 based on j is stored in register 3.
5, and in the adding means 34, the error symbol D i or D j and the error component E i or E j are summed modulo 2, and the addition result, that is, the corrected symbol is again Stored at the same address in RAM1. The operation of the addition means 34 is controlled by the control signal ENA output from the correction control means 23, and the addition operation is not performed in the case of no error and uncorrectable error, and in the case of a single error and double error. An addition operation is performed.
以上、説明した誤り検出及び訂正回路は、C1
誤り検出及び訂正とC2誤り検出及び訂正の両方
に使用される回路であるが、C2誤り検出及び訂
正の場合には、シンボルの数がD0〜D27の28個と
なるため、シンドローム演算手段3,4,5,6
でシンドロームS0,S1,S2,S3を計算するタイミ
ング数は、28個であり、また、1,α,α2,α3で
割る回数は、27回となる。そこで、C2誤り検出
及び訂正を行う期間では、最初にカウンタ16に
「4」をプリセツトするようにしている。この点
についての詳細は後述する。 The error detection and correction circuit described above is C 1
This circuit is used for both error detection and correction and C2 error detection and correction, but in the case of C2 error detection and correction, the number of symbols is 28 from D0 to D27 , so the syndrome Arithmetic means 3, 4, 5, 6
The number of timings for calculating the syndromes S 0 , S 1 , S 2 , and S 3 is 28, and the number of times of division by 1, α, α 2 , and α 3 is 27. Therefore, during the C2 error detection and correction period, the counter 16 is first preset to "4". Details regarding this point will be described later.
次に、第1図に示された回路の主な具体例を以
下に説明する。 Next, main specific examples of the circuit shown in FIG. 1 will be explained below.
第2図は、シンドローム演算手段3,4,5,
6を実現する回路図であり、データバス2に送出
されたシンボルの各ビツトb0〜b7が各々印加され
るE−ORゲート36と、E−ORゲート36の
出力が印加された8個のD−FF37と、D−FF
37の出力が各々印加されたαn演算素子38及び
1/αn演算素子39と、各演算素子38,39の出
力を選択してE−ORゲート36の各入力に印加
するマルチプレクサ40とから構成される。D−
FF37は、前述したタイミング信号SYRAMと
タイミング信号SYNDCLで作られるクロツクパ
ルスSCLKで動作し、マルチプレクサ40は、シ
ンドロームS0,S1,S2,S3の計算と1,α,α2,
α3の割算とを切換える制御信号SCONTにより制
御される。即ち、シンドロームS0,S1,S2,S3の
計算を行う際には、αn演算素子38が用いられ、
割算によりS0′,S1′,S2′,S3′を算出する際には
1/αn演算素子39が用いられる。 FIG. 2 shows syndrome calculation means 3, 4, 5,
6, which includes an E-OR gate 36 to which each bit b0 to b7 of the symbol sent to the data bus 2 is applied, and eight gates to which the output of the E-OR gate 36 is applied. D-FF37 and D-FF
37, and a multiplexer 40 that selects the output of each of the arithmetic elements 38 and 39 and applies it to each input of the E-OR gate 36. configured. D-
The FF 37 operates with the clock pulse SCLK generated by the timing signal SYRAM and the timing signal SYNDCL mentioned above, and the multiplexer 40 calculates the syndromes S 0 , S 1 , S 2 , S 3 and 1, α, α 2 ,
It is controlled by a control signal SCONT that switches between dividing and dividing α3 . That is, when calculating the syndromes S 0 , S 1 , S 2 , and S 3 , the α n calculation element 38 is used,
When calculating S 0 ′, S 1 ′, S 2 ′, and S 3 ′ by division, the 1/α n calculation element 39 is used.
ところで、シンドローム演算手段3では、(1)′
から明らかな如く、シンドロームS0はシンボル
D31〜D0の和であり、また、S0′はS0を「1」で割
つたものであるから、演算素子38はα0であり、
演算素子39は1/α0である。即ち、シンドローム
演算手段3の場合には、演算素子38,39及び
マルチプレクサ40は不要であり、D−FF37
の各出力Q0〜Q7を各々E−ORゲート36に直接
印加すれば良い。従つて、シンボルD31〜D0を順
次RAM1から読み出すタイミング信号SYRAM
により、最初に読み出されたシンボルD31がD−
FF37に入力され、次に読み出されたシンボル
D30は、D−FF37の出力、即ち、D31とE−OR
ゲート36でモジロ2の加算処理されてD−FF
37に保持される。この動作を32回(D31からD0
が読み出れるまで)繰り返えすことにより、シン
ボルD0が読み出されたときには、D−FF37の
出力は、シンドロームS0となる。 By the way, in the syndrome calculation means 3, (1)'
As is clear from this, syndrome S 0 is a symbol
Since it is the sum of D 31 to D 0 , and S 0 ' is S 0 divided by "1", the arithmetic element 38 is α 0 ,
Arithmetic element 39 is 1/α 0 . That is, in the case of the syndrome calculation means 3, the calculation elements 38, 39 and the multiplexer 40 are unnecessary, and the D-FF 37
It is sufficient to directly apply each of the outputs Q 0 to Q 7 to the E-OR gate 36. Therefore, the timing signal SYRAM for sequentially reading symbols D 31 to D 0 from RAM1
As a result, the first read symbol D31 becomes D-
Symbol input to FF37 and then read out
D 30 is the output of D-FF37, that is, D 31 and E-OR
At the gate 36, modulo 2 is added and converted to D-FF.
It is held at 37. Repeat this action 32 times (from D 31 to D 0
By repeating this process until symbol D0 is read out, the output of the D-FF 37 becomes syndrome S0 .
また、シンドローム演算手段4では、演算素子
38はαであり、演算素子39は1/αである。こ
のα演算素子38は、第3図aに示される如く、
入力I0〜I7と出力O0〜O7が結線され、3個のE−
ORゲート41が設けられたものであり、また、
1/α演算素子39は、第3図bに示される如く、
入力I0〜I7と出力O0〜O7が結線され、同じく3個
のE−ORゲート42が設けられたものである。
従つて、シンドローム演算手段4では、タイミン
グ信号SYRAMにより、最初にRAM1から読み
出されD−FF37に記憶されたシンボルD31は、
α演算素子38によりαD31の乗算結果としてE
−ORゲート36に印加され、次にシンボルD30
が読み出されたときには、E−ORゲート36に
於いて、αD31+D30の加算が為され、その結果が
D−FF37に記憶される。この動作を32回繰り
返えすことにより、(1)′式に示されたシンドロー
ムS1が算出され、D−FF37の出力Q0〜Q7から
出力される。一方、1/α演算素子39を選択して
E−ORゲート36の入力b0〜b7を“0”とした
状態でタイミング信号SYNDCLを1個印加する
毎に、D−FF37に保持されたシンドロームS1
が1/α演算素子39により1/αされてD−FF37
に保持され、出力Q0〜Q7は、S1′=S1/αとなる。 Further, in the syndrome calculation means 4, the calculation element 38 is α, and the calculation element 39 is 1/α. This α calculation element 38 is, as shown in FIG. 3a,
Inputs I 0 to I 7 and outputs O 0 to O 7 are connected, and three E-
An OR gate 41 is provided, and
As shown in FIG. 3b, the 1/α calculation element 39 has inputs I 0 to I 7 and outputs O 0 to O 7 connected to each other, and is also provided with three E-OR gates 42. .
Therefore, in the syndrome calculation means 4, the symbol D 31 first read out from the RAM 1 and stored in the D-FF 37 according to the timing signal SYRAM is
As the multiplication result of αD 31 by α calculation element 38, E
− applied to OR gate 36 and then symbol D 30
When is read out, αD 31 +D 30 is added in the E-OR gate 36, and the result is stored in the D-FF 37. By repeating this operation 32 times, the syndrome S 1 shown in equation (1)' is calculated and output from the outputs Q 0 to Q 7 of the D-FF 37. On the other hand, each time one timing signal SYNDCL is applied with the 1/α calculation element 39 selected and the inputs b 0 to b 7 of the E-OR gate 36 set to “0”, the signal held in the D-FF 37 is Syndrome S 1
is multiplied by 1/α by the 1/α calculation element 39 and held in the D-FF 37, and the outputs Q 0 to Q 7 become S 1 '=S 1 /α.
従つて、タイミング信号SYNDCLを順次31個印
加することにより、S1/αからS1/α31までのS1′が算
出
できる。Therefore, by sequentially applying 31 timing signals SYNDCL, S 1 ' from S 1 /α to S 1 /α 31 can be calculated.
更に、シンドローム演算手段5の演算素子38
はα2であり、演算素子39は1/α2である。このα2
演算素子38は、第3図Cに示される入出力関係
にある素子であり、これは、第3図aのα演算素
子を2段直列接続したものである。一方、1/α2演
算素子39は、第3図dに示される入出力関係に
ある素子で、これも、第3図bの1/α演算素子を
2段直列接続したものである。また、シンドロー
ム演算手段6の演算素子38はα3であり、演算素
子39は1/α3である。α3演算素子は、第3aを3
段直列接続したもので、1/α3演算素子は第3図b
を3段直列接続したものである。 Furthermore, the arithmetic element 38 of the syndrome arithmetic means 5
is α 2 and the arithmetic element 39 is 1/α 2 . This α 2 calculation element 38 is an element having the input/output relationship shown in FIG. 3C, and is a two-stage series connection of the α calculation elements shown in FIG. 3A. On the other hand, the 1/α 2 arithmetic element 39 is an element having the input/output relationship shown in FIG. 3d, and is also a two-stage series connection of the 1/α arithmetic elements shown in FIG. 3b. Further, the arithmetic element 38 of the syndrome arithmetic means 6 is α 3 and the arithmetic element 39 is 1/α 3 . The α 3 arithmetic element has three stages of elements 3a connected in series, and the 1/α 3 arithmetic element has three stages of elements 3a connected in series.
いずれのシンドローム演算手段5,6も前述と
同様にタイミング信号SYRAMにより(1)′式のシ
ンドロームS2及びS3を算出し、タイミング信号
SYNDCLにより、各々(3)式の演算が為され、1/α2
〜1/α62のS2′と1/α3〜1/α93のS3′が算出で
きる。 Both syndrome calculation means 5 and 6 calculate the syndromes S 2 and S 3 of equation (1)′ using the timing signal SYRAM in the same manner as described above, and
By using SYNDCL, calculations of equation (3) are performed, and S 2 ' of 1/α 2 to 1/α 62 and S 3 ' of 1/α 3 to 1/ α 93 can be calculated.
第4図は、二重誤り検出手段12の構成を示す
ブロツク図である。二重誤り検出手段12は、31
個従続接続された1/α演算素子43と、31個従続
接続された1/α2演算素子44と、各段の演算素子
43,44の出力と加算手段7からの出力S0′+
S1′が印加された一致検出回路45とから構成さ
れ、初段の1/α演算素子43にS1′+S2′が印加さ
れ、初段の1/α2演算素子44にS2′+S3′が印加さ
れる。ここで、1/α演算素子43は第3図bに示
された素子であり、1/α2演算素子44は第3図d
に示された素子である。また、一致検出回路45
は、第5図に示される如く、S0′+S1′の各ビツト
が印加され1/α演算素子43の各ビツト出力が印
加されたE−ORゲート46と、S0′+S1′の各ビ
ツトが印加され1/α2演算素子44の各ビツト出力
が印加されたE−ORゲート47と、E−ORゲ
ート46及び47の出力が印加されたNORゲー
ト48とから構成され、(8)式が成立することを検
出する。即ち、1段目に設けられた一致検出回路
45の出力a1は、i−j=1のとき“1”となる
出力であり、2段目に設けられた一致検出回路4
5の出力a2は、i−j=2のとき“1”となる出
力であり、同様に31段目の出力a31までi−jの
数値に対応して順次“1”となる。従つて、シン
ドローム演算手段3,4,5,6で1,α,α2,
α3で1回割算が実行される毎に、二重誤り検出手
段12に於いて、(8)式が成立するか否かが判定さ
れ、二重誤りがあれば、j回目の割算の結果を判
定したとき、a1〜a31のいずれかが“1”となる
ことにより、二重誤り検出と誤り位置情報i−j
が得られる。尚、一致値検出回路45′はi−j
=0を検出するものであり、単一誤りのとき
“1”を出力する。 FIG. 4 is a block diagram showing the structure of the double error detection means 12. The double error detection means 12 has 31
The outputs of the 1/α calculation elements 43 connected in series, the 1/α 2 calculation elements 44 connected in series, the outputs of the calculation elements 43 and 44 in each stage, and the output from the addition means 7 S 0 ′ +
S 1 '+S 2 ' is applied to the first-stage 1/α calculation element 43 , and S 2 '+S 3 is applied to the first-stage 1/α 2 calculation element 44 . ' is applied. Here, the 1/α calculation element 43 is the element shown in FIG. 3b, and the 1/α 2 calculation element 44 is the element shown in FIG. 3d. In addition, the coincidence detection circuit 45
As shown in FIG. 5, the E-OR gate 46 to which each bit of S 0 '+S 1 ' is applied and each bit output of the 1/α calculation element 43 is applied, and the E-OR gate 46 to which each bit of S 0 '+S 1 ' is applied, It consists of an E-OR gate 47 to which each bit is applied and each bit output of the 1/α 2 arithmetic element 44 is applied, and a NOR gate 48 to which the outputs of the E-OR gates 46 and 47 are applied. ) is detected. That is, the output a1 of the coincidence detection circuit 45 provided in the first stage is an output that becomes "1" when i-j=1, and the output a1 of the coincidence detection circuit 45 provided in the second stage is an output that becomes "1" when i-j=1.
The output a 2 of No. 5 becomes "1" when i-j = 2, and similarly becomes "1" sequentially up to the output a 31 of the 31st stage corresponding to the value of i-j. Therefore, the syndrome calculation means 3, 4, 5, and 6 calculate 1, α, α 2 ,
Each time a division is executed by α 3 , the double error detection means 12 determines whether equation (8) holds true or not, and if there is a double error, the j-th division is performed. When the result of
is obtained. Incidentally, the match value detection circuit 45' is i-j
=0, and outputs "1" when there is a single error.
第6図は、誤差算出手段31の回路図であり、
二重誤り検出手段12からの検出出力a1〜a31を
入力するROM49と、ROM49の出力により、
S0′+S1′の8ビツトデータ下位ビツトからA,
B,C,……G,Hとする)を選択的に加算し、
誤差成分Eiの各ビツトEi-0〜Ei-7(計8ビツト)を
作成する選択加算回路50とから構成される。前
述した如く、誤差算出手段31は、(9)式を演算す
るものであり、この場合、1+αi-jはαxと変換す
ることができ、ROM49は、1+αi-jからαxの
変換を行うと共に、8ビツトのデータをαxで割つ
た場合の結果の各ビツト構成を決定するものであ
る。例えば、i−j=1の場合、1+αはα25と
変換され、S0′+S1′をα25で割つた結果得られる誤
差成分Eiの各ビツトは、
Ei-7=A+B+C+D+E+F+G+H
Ei-6=A+B+C+D+E+F+G
Ei-5=A+B+C+D+E+F
Ei-4=A+B+C+D+E
Ei-3=E+F+G+H
Ei-2=A+B+C
Ei-1=C+D+E+F+G+H
Ei-0=B+C+D+E+F+G+H
となる。従つて、各Ei-7〜Ei-0を作成する選択
加算回路50は、ANDゲート51に於いて、
ROM49から各々出力された信号に基いて、
S0′+S1′の8ビツトデータA〜Hを選択し、E−
ORゲート52によりモジロ2の加算を行う。従
つて、実際の割算を行わなくとも、検出出力a1〜
a31の印加により、誤差成分Eiがリアルタイムで
得られる。 FIG. 6 is a circuit diagram of the error calculation means 31,
By the ROM 49 inputting the detection outputs a 1 to a 31 from the double error detection means 12 and the output of the ROM 49,
From the lower bit of the 8-bit data of S 0 ′+S 1 ′, A,
B, C, ...G, H) are selectively added,
It is comprised of a selective addition circuit 50 that creates each bit E i-0 to E i-7 (8 bits in total) of the error component E i . As mentioned above, the error calculation means 31 calculates the formula (9), and in this case, 1+α ij can be converted to α x , and the ROM 49 converts 1+α ij to α x , and It determines the configuration of each bit of the result when 8-bit data is divided by α x . For example, when ij = 1, 1 + α is converted to α 25 , and each bit of the error component E i obtained by dividing S 0 ′ + S 1 ′ by α 25 is E i-7 = A + B + C + D + E + F + G + H E i -6 = A+B+C+D+E+F+G E i-5 = A+B+C+D+E+F E i-4 = A+B+C+D+E E i-3 = E+F+G+H E i-2 = A+B+C E i-1 = C+D+E+F+G+H E i-0 = B+C+D+E+F+G+H. Therefore, the selective addition circuit 50 that creates each of E i-7 to E i-0 uses the AND gate 51 as follows:
Based on the signals output from the ROM49,
Select 8-bit data A to H of S 0 ′+S 1 ′, and select E-
The OR gate 52 performs modulo 2 addition. Therefore, even without performing actual division, the detection output a 1 ~
By applying a 31 , the error component E i is obtained in real time.
次に、第1図に示された回路によりC1及びC2
誤り検出及び訂正の動作を第7図を参照して簡単
に説明する。 Next, by the circuit shown in FIG. 1, C 1 and C 2
The error detection and correction operations will be briefly explained with reference to FIG.
第7図に示す如く、1フレームの処理期間は、
T1〜T6のタイミングとT1〜T6の各々を構成する
t0〜t48の49個のタイミングから成る。C1誤り検出
及び訂正はT1〜T3のタイミングで実行され、C2
誤り検出及び訂正は、T4〜T5のタイミングで実
行される。先ず、タイミングT1のt0に於いて発生
するクリアパルスCINTにより、シンドローム演
算手段3,4,5,6及び各部のD−FF等がリ
セツトされる。このタイミングT1は、RAM1に
記憶された32個のシンボルD31〜D0を順次読み出
してシンドロームS0,S1,S2,S3を計算するタイ
ミンングであり、タイミングt0〜t48の中にタイミ
ング信号SYRAMが32個発生するよう振り分け
られている。従つて、32個目のタイミング信号
SYRAMが発生したときには、シンドロームS0,
S1,S2,S3が計算し終わる。次に、タイミング
T2は、誤り検出を行うタイミングであり、その
中にタイミング信号SYNDCLが32個発生するよ
うに振り分けられている。また、タイミングT2
のタイミングt0で発生するクリアパルスSINTに
より、第1図に示されたANDゲート53の出力
が発生しカウンタ16に「0」がプリセツトされ
る。従つて、タイミング信号SYNDCLが発生す
る毎に、カウンタ16がカウントアツプすると共
に、シンドローム演算手段3,4,5,6に於い
て1,α,α2,α3の割算が1回実行され、その結
果に基いて単一誤り検出及び二重誤り検出が為さ
れる。タイミング信号SYNDCLが32個発生し終
つた時、単一誤りあるいは二重誤りがあつた場合
には、その誤り位置の一方jがレジスタ17に保
持され、また、シンドロームS0,S1,S2,S3を
1,α,α2,α3でj回割つたときのデータS0′が
レジスタ20に、S0′+S1′がレジスタ21に、更
に、二重誤り検出結果a1〜31がaレジスタ13に
保持されている。更に、誤り無し、単一誤り、二
重誤り、あるいは訂正不能の検出結果は、訂正制
御手段23及び訂正不能判定手段22に指示され
ている。タイミングT3は訂正の実行を行うタイ
ミングであり、T3のタイミング中に制御信号
SELにより誤り位置iを選択してそのアドレスの
シンボルDiを読み出すタイミングと、加算手段3
4で訂正されたシンボルDiを再びRAM1の同一
アドレスに書き込むタイミングとが振り分けら
れ、同様に誤り位置jの訂正を行う読み出し及び
書き込みのタイミングが設けられている。従つ
て、タイミングT3では、タイミングT2に於いて、
レジスタ13,20及び21に保持されたデータ
に基いて前述の処理が為され、その結果を使用し
た訂正が実行される。 As shown in Figure 7, the processing period for one frame is
Configure the timing of T 1 to T 6 and each of T 1 to T 6
Consists of 49 timings from t 0 to t 48 . C 1 error detection and correction is performed at timings T 1 to T 3 , and C 2
Error detection and correction are performed at timings T4 to T5 . First, the syndrome calculation means 3, 4, 5, 6 and the D-FF of each section are reset by the clear pulse CINT generated at t0 of timing T1 . This timing T 1 is the timing at which the syndromes S 0 , S 1 , S 2 , and S 3 are calculated by sequentially reading out the 32 symbols D 31 to D 0 stored in the RAM 1, and is the timing at which the syndromes S 0 , S 1 , S 2 , and S 3 are calculated . The timing signals are distributed so that 32 timing signals SYRAM are generated. Therefore, the 32nd timing signal
When SYRAM occurs, syndrome S 0 ,
S 1 , S 2 , and S 3 have finished calculating. Next, the timing
T2 is the timing for error detection, and is distributed so that 32 timing signals SYNDCL are generated. Also, the timing T 2
The clear pulse SINT generated at timing t0 generates the output of the AND gate 53 shown in FIG. 1, and the counter 16 is preset to "0". Therefore, every time the timing signal SYNDCL is generated, the counter 16 counts up and the syndrome calculation means 3, 4, 5, and 6 execute division by 1, α, α2 , and α3 once. , based on the results, single error detection and double error detection are performed. When 32 timing signals SYNDCL have been generated, if there is a single error or double error, one of the error positions j is held in the register 17, and the syndromes S 0 , S 1 , S 2 , S 3 j times by 1, α, α 2 , α 3 is stored in the register 20, S 0 ′ +S 1 ′ is stored in the register 21, and the double error detection results a 1 to 31 is held in the a register 13. Furthermore, the detection result of no error, single error, double error, or uncorrectability is indicated to the correction control means 23 and the uncorrectability determination means 22. Timing T 3 is the timing to execute correction, and during timing T 3 , the control signal is
The timing of selecting the error position i by SEL and reading out the symbol D i at that address, and the adding means 3
The timing for writing the symbol D i corrected in step 4 again to the same address in the RAM 1 is allocated, and the timing for reading and writing to correct the error position j is similarly provided. Therefore, at timing T 3 , at timing T 2 ,
The above processing is performed based on the data held in registers 13, 20 and 21, and correction is performed using the results.
C2誤り検出及び訂正の場合、対象となるシン
ボルはD27〜D0の28個である。従つて、タイミン
グT4に於いて、シンボルD27〜D0を読み出しシン
ドロームS0,S1,S2,S3を計算するタイミング信
号SYRAMは28個である。タイミングt0で発生す
るクリアパルスSINTにより、C1誤り検出及び訂
正時に保持されたデータをすべてクリアし、その
後、28個のタイミング信号SYRAMにより、C2
のシンドロームS0,S1,S2,S3が得られる。タイ
ミングT5に於いて、タイミングt0でクリアパルス
SINTが発生すると第1図のANDゲート54の
出力によりカウンタ16に「4」がプリセツトさ
れる。 In the case of C2 error detection and correction, there are 28 symbols D27 to D0 . Therefore, at timing T4 , there are 28 timing signals SYRAM for reading symbols D27 to D0 and calculating syndromes S0 , S1 , S2 , and S3 . The clear pulse SINT generated at timing t0 clears all the data held during C1 error detection and correction, and then the 28 timing signals SYRAM clear the C2
The syndromes S 0 , S 1 , S 2 , and S 3 are obtained. Clear pulse at timing t 0 at timing T 5
When SINT occurs, the counter 16 is preset to "4" by the output of the AND gate 54 in FIG.
ここで、「4」をプリセツトする意味を説明す
る。前述した如くRAM1内には、
アドレス 0 1 2 3……30 31
シンボル D0 D1 D2 D3……D30 D31
i,jの値 31 30 29 28……1 0
のようにデイスクから読み出されたシンボル順
にアドレスが付されている。しかし、(1)式の如
く、シンボルD0〜D31に乗算されるαの指数は、
アドレスと逆であり、第1図の回路で求められる
i及びjは実際のアドレスと逆になる。従つて、
第1図に示される如く、i及びjを表わす5ビツ
トのバイナリーデータ(25=32である)をインバ
ータ28,29で反転することで実際のアドレス
が得られる。しかし、C2誤り検出及び訂正の場
合には、処理されるシンボルは、アドレス0〜27
までのシンボルであるため、i及びjの取り得る
数値は0〜27となる。従つて、i,jの数値をそ
のまま反転したのでは、実際のアドレス「4」ず
れてしまうので、反転する前に「4」を加算しな
ければならない。即ち、「4」を加算する加算回
路が必要となるが、jを計数するカウンタ16に
予め「4」をプリセツトしておけば加算回路は不
必要で、全く同じ回路を使用することができる。 Here, the meaning of presetting "4" will be explained. As mentioned above, in RAM 1, there are data from the disk as follows: Address 0 1 2 3...30 31 Symbol D 0 D 1 D 2 D 3 ...D 30 D 31 Values of i, j 31 30 29 28...1 0 Addresses are assigned in the order of symbols read. However, as shown in equation (1), the exponent of α multiplied by the symbols D 0 to D 31 is
This is the opposite of the address, and the i and j determined by the circuit of FIG. 1 are the opposite of the actual address. Therefore,
As shown in FIG. 1, the actual address is obtained by inverting the 5-bit binary data representing i and j (2 5 =32) using inverters 28 and 29. However, in case of C2 error detection and correction, the symbols processed are at addresses 0 to 27
Since it is a symbol up to, the possible numerical values of i and j are 0 to 27. Therefore, if the numerical values of i and j are inverted as they are, the actual address will be shifted by "4", so "4" must be added before inversion. That is, an addition circuit for adding "4" is required, but if "4" is preset in the counter 16 that counts j, the addition circuit is unnecessary and the same circuit can be used.
カウンタ16に「4」がプリセツトされた後、
タイミングT5中に発生されるタイミング信号
SYNDCLは、28個であり、この信号により前述
のタイミングT2と全く同様の動作によりC2の誤
り検出が為される。そして、タイミングT5に於
いて、タイミングT3と同じ動作によりC2の誤り
訂正が実行される。 After "4" is preset in the counter 16,
Timing signal generated during timing T 5
There are 28 SYNDCL signals, and error detection for C 2 is performed using this signal in exactly the same manner as at timing T 2 described above. Then, at timing T5 , error correction of C2 is performed by the same operation as at timing T3 .
(ト) 発明の効果
上述の如く本発明によれば、RAMからシンボ
ルを読み出すと共にシンドロームを計算するタイ
ミング信号とシンドロームS0,S1,S2,S3を1,
α,α2,α3で割るタイミング信号により誤り検出
が実現できるため、演算に必要なタイミング信号
の数が減少する。また、誤り検出の演算を直接行
うための対数変換等のROMが不必要となり、回
路構成が簡単となつて素子数が減少する利点があ
る。更に、誤り検出速度も速くなる利点も有して
いる。(G) Effects of the Invention As described above, according to the present invention, the timing signals for reading symbols from the RAM and calculating the syndromes and the syndromes S 0 , S 1 , S 2 , S 3 are set to 1,
Since error detection can be realized by timing signals divided by α, α 2 and α 3 , the number of timing signals required for calculation is reduced. Further, there is no need for a ROM for logarithmic conversion or the like for directly performing error detection calculations, which has the advantage of simplifying the circuit configuration and reducing the number of elements. Furthermore, it also has the advantage of increasing error detection speed.
第1図は本発明の実施例を示すブロツク図、第
2図は第1図に示されたシンドローム演算手段の
具体的な構成を示すブロツク図、第3図は第2図
に示されたαn及び1/αn演算素子を示す回路図、第
4図は第1図に示された二重誤り検出手段の具体
的なブロツク図、第5図は第4図に示された一致
検出回路の回路図、第6図は誤差算出手段の構成
を示す回路図、第7図は第1図の実施例の動作を
示すタイミング図である。
1…RAM、2…データバス、3,4,5,6
…シンドローム演算手段、7,8,9…加算手
段、10…誤りゼロ検出手段、11…単一誤り検
出手段、12…二重誤り検出手段、13…aレジ
スタ、15…計数手段、18…ラツチパルス発生
手段、20,21…レジスタ、22…訂正不能判
定手段、23…訂正制御手段、26…エンコー
ダ、27…誤り位置算出手段、30,33…マル
チプレクサ、28,29…インバータ、31…誤
差算出手段。
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a block diagram showing a specific configuration of the syndrome calculation means shown in FIG. 1, and FIG. A circuit diagram showing n and 1/α n arithmetic elements, FIG. 4 is a specific block diagram of the double error detection means shown in FIG. 1, and FIG. 5 is a coincidence detection circuit shown in FIG. 4. 6 is a circuit diagram showing the configuration of the error calculation means, and FIG. 7 is a timing diagram showing the operation of the embodiment shown in FIG. 1. 1...RAM, 2...Data bus, 3, 4, 5, 6
...Syndrome calculating means, 7, 8, 9... Adding means, 10... Zero error detection means, 11... Single error detection means, 12... Double error detection means, 13... A register, 15... Counting means, 18... Latch pulse Generating means, 20, 21...Register, 22...Uncorrectable determination means, 23...Correction control means, 26...Encoder, 27...Error position calculation means, 30, 33...Multiplexer, 28, 29...Inverter, 31...Error calculation means .
Claims (1)
を検出するデータ誤り検出回路に於いて、シンド
ロームの演算を制御するクロツク信号に同期して
入力されるデータに、1クロツク前の演算結果に
1,α,α2,α3(αは8次の原始多項式)を乗算
した結果を加算する動作を繰り返し行うことによ
つてシンドロームS0,S1,S2,S3を算出するとと
もに、誤り検出を行うための割算を制御するクロ
ツク信号により、算出されたシンドロームS0,
S1,S2,S3を1,α,α2,α3で順次割算するシン
ドローム演算手段と、該シンドローム演算手段か
ら出力されるシンドロームS0,S1,S2,S3がすべ
て「0」であることを検出する誤りゼロ検出手段
と、前記シンドローム演算手段から一回の割り算
毎に出力される割算結果S0′,S1′,S2′,S3′に基
いてS0′+S1′,S1′+S2′,S2′+S3′を算出する加
算
手段と、該加算手段の出力により前記S0′+S1′,
S1′+S2′,S2′+S3′がすべて「0」となつたこと
を検出する単一誤り検出手段と、前記加算手段か
ら出力された前記S1′+S2′,S2′+S3′を各々α,
α2で順次割り、 S0′+S1′=S1′+S2′/αa=S2′+S3′/α2a となつたときの誤り位置の差a(a=j−j,i,
jは誤り位置)を検出する二重誤り検出手段と、
前記シンドローム演算手段の割算を制御するクロ
ツク信号を計数し、前記単一誤り検出手段の検出
出力に基づき誤り位置を示す数値jを保持する計
数手段と、該計数手段に保持されたjと前記二重
検出手段から出力されるaからiを求める誤り位
置算出手段と、前記単一誤り検出手段の検出出力
が発生した時の前記加算手段から出力される
S0′+S1′と前記誤り位置検出手段からの出力aに
基いて誤差成分を算出する誤差算出手段とを備え
たことを特徴とするデータ誤り検出回路。[Claims] 1. In a data error detection circuit that detects errors in data based on Reed-Solomon codes, data that is input in synchronization with a clock signal that controls syndrome calculation is Syndromes S 0 , S 1 , S 2 , S 3 are calculated by repeatedly adding the results of multiplying the calculation results by 1, α, α 2 , α 3 (α is an 8th order primitive polynomial). At the same time, the calculated syndrome S 0 ,
A syndrome calculation means that sequentially divides S 1 , S 2 , S 3 by 1, α, α 2 , α 3 and syndromes S 0 , S 1 , S 2 , S 3 output from the syndrome calculation means are all Based on the error zero detection means for detecting "0" and the division results S 0 ′, S 1 ′, S 2 ′, and S 3 ′ output from the syndrome calculation means for each division, Adding means for calculating S 0 ′+S 1 ′, S 1 ′+S 2 ′, S 2 ′+S 3 ′, and the above-mentioned S 0 ′+S 1 ′,
a single error detection means for detecting that S 1 ′+S 2 ′, S 2 ′+S 3 ′ are all “0”, and the above-mentioned S 1 ′+S 2 ′, S 2 ′ outputted from the addition means +S 3 ′ as α,
The error position difference a ( a = j - j , i ,
j is an error position);
counting means for counting clock signals for controlling the division of the syndrome calculation means and holding a numerical value j indicating an error position based on the detection output of the single error detection means; error position calculation means for calculating i from a output from the double detection means; and output from the addition means when the detection output of the single error detection means is generated.
A data error detection circuit comprising: error calculation means for calculating an error component based on S 0 ′+S 1 ′ and the output a from the error position detection means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24793686A JPS63219228A (en) | 1986-10-17 | 1986-10-17 | Data error detecting circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24793686A JPS63219228A (en) | 1986-10-17 | 1986-10-17 | Data error detecting circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63219228A JPS63219228A (en) | 1988-09-12 |
JPH0518487B2 true JPH0518487B2 (en) | 1993-03-12 |
Family
ID=17170755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24793686A Granted JPS63219228A (en) | 1986-10-17 | 1986-10-17 | Data error detecting circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63219228A (en) |
-
1986
- 1986-10-17 JP JP24793686A patent/JPS63219228A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS63219228A (en) | 1988-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950012983B1 (en) | Reed solomon decoding method | |
JPH05290527A (en) | Deinterleave circuit | |
EP0105499B1 (en) | Method capable of simultaneously decoding two reproduced sequences | |
KR960016509B1 (en) | Method and circuit for detecting data error | |
EP0169908B1 (en) | Method and circuit for decoding error coded data | |
JP2001127645A (en) | Error correction method and error correction device | |
JP2004206798A (en) | Encoding data encoding circuit of optical disk device | |
US5541940A (en) | Error correction method and error correction circuit | |
JPH0518490B2 (en) | ||
JP2662472B2 (en) | Syndrome operation circuit for error correction processing | |
JPH0518487B2 (en) | ||
JPH0518488B2 (en) | ||
JPH0518489B2 (en) | ||
JP2553565B2 (en) | Galois field arithmetic unit | |
JPH0519333B2 (en) | ||
JP3850512B2 (en) | Reed-Solomon decoder | |
JP3252515B2 (en) | Error correction device | |
JPH10322226A (en) | Reed solomon decoding method | |
JP2907138B2 (en) | Error correction arithmetic processing method and processing circuit | |
JP2605269B2 (en) | Error correction method | |
JP3099890B2 (en) | Error correction device for BCH code | |
JPH05225717A (en) | Address generation circuit for error correction of dat | |
KR930005439B1 (en) | Reed solomon encoding circuit of optical recording and reproducing system | |
JPH10107648A (en) | Error correction processing circuit | |
JPH0744463B2 (en) | Error correction circuit |