JPH0744466B2 - Lead Solomon encoding / decoding sigma arithmetic circuit - Google Patents
Lead Solomon encoding / decoding sigma arithmetic circuitInfo
- Publication number
- JPH0744466B2 JPH0744466B2 JP60113162A JP11316285A JPH0744466B2 JP H0744466 B2 JPH0744466 B2 JP H0744466B2 JP 60113162 A JP60113162 A JP 60113162A JP 11316285 A JP11316285 A JP 11316285A JP H0744466 B2 JPH0744466 B2 JP H0744466B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- register
- unit
- input
- timing signal
- 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
- 238000004364 calculation method Methods 0.000 claims description 13
- 208000011580 syndromic disease Diseases 0.000 claims description 9
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 7
- 230000003252 repetitive effect Effects 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ディジタルオーディオ機器などに用いられる
誤り訂正可能なリードソロモン符号の復号方式、特にそ
の復号方式の一環として誤り位置多項式の係数演算回路
に関する。Description: TECHNICAL FIELD The present invention relates to a decoding system for a Reed-Solomon code capable of error correction used in digital audio equipment and the like, and in particular, a coefficient arithmetic circuit for an error locator polynomial as part of the decoding system. Regarding
ディジタルオーディオ機器では、記録媒体の情報を作成
する場合に、各種の原因により符号誤りが生ずる。その
ためランダム誤りの対策として、情報を符号化して、誤
り訂正可能な符号とする。誤り訂正可能な符号として
は、BCH符号,リードソロモン符号がよく知られてい
る。リードソロモン符号は非2元BCH符号の一種であ
り、ディジタルオーディオディスクプレーヤなどでは8
ビットの元を1シンボルとして取扱ったC1(32,28)符
号,C2(28,24)符号が実用されている。ここで括弧内第
1項は符号ブロック長のシンボル数,第2項は情報シン
ボル数である。上記C1,C2符号では検査シンボル数は4
個でシンボル間の最小距離は5シンボルとなり、シンド
ローム訂正能力は最大2シンボル訂正が可能である。と
ころで、将来さらに訂正能力を高めようとすると、最小
距離をもっと高めた符号としなければならない。訂正能
力を3シンボル,4シンボルと高めていくと、復号方式が
格段と複雑になる。In digital audio equipment, a code error occurs due to various causes when creating information on a recording medium. Therefore, as a countermeasure against random errors, information is coded to make it a code capable of error correction. BCH code and Reed-Solomon code are well known as error-correctable codes. The Reed-Solomon code is a type of non-binary BCH code, and is 8 in digital audio disc players.
The C1 (32,28) code and the C2 (28,24) code in which the source of bits is treated as one symbol are in practical use. Here, the first term in parentheses is the number of symbols of the code block length, and the second term is the number of information symbols. In the above C1 and C2 codes, the number of check symbols is 4
The minimum distance between the individual symbols is 5 symbols, and the syndrome correction capability can correct a maximum of 2 symbols. By the way, in order to further improve the correction capability in the future, it is necessary to use a code with a further increased minimum distance. If the correction capability is increased to 3 symbols or 4 symbols, the decoding system becomes extremely complicated.
復号方式は、いくつかの段階にわけて行なわれ、先ずシ
ンドロームを求めてから、符号ブロック内の誤りのある
シンボルの位置を決める。誤りのあるシンボルの位置は
誤り位置多項式に、原始根αのべき指数aiで表わされる
シンボルを順次投入し誤り位置多項式を零とするiの値
からきめられる。本発明は誤り位置多項式の係数を求め
ようとするものである。2シンボル誤り訂正能力をもつ
リードソロモン符号の場合には、前記多項式は1+σ1X
+σ2X2と表わされ、この係数σ1,σ2はシンドロームS
0〜S3からやや複雑だが、代数式で得られる。The decoding scheme is performed in several stages, first determining the syndrome and then locating the erroneous symbol within the code block. The position of the erroneous symbol is determined from the value of i at which the symbol represented by the power exponent a i of the primitive root α is sequentially input to the error locator polynomial and the error locator polynomial becomes zero. The present invention seeks to find the coefficients of the error locator polynomial. In the case of a Reed-Solomon code with 2-symbol error correction capability, the polynomial is 1 + σ 1 X
+ Σ 2 X 2 and the coefficients σ 1 and σ 2 are the syndrome S
It is a little complicated from 0 to S 3 , but it can be obtained by algebraic expressions.
しかし、3シンボル以上の誤り訂正能力をもつリードソ
ロモン符号では、係数σ1,σ2…は極めて複雑になり、
最初から特定の代数式から得ることは実際上できない。However, in a Reed-Solomon code having an error correction capability of 3 symbols or more, the coefficients σ 1 , σ 2 ... Are extremely complicated,
It is practically impossible to get from a specific algebraic expression from the beginning.
このような多シンボル誤り訂正能力のあるリードソロモ
ン符号の場合には、いわゆるバーレカンプ・マッシイの
方法が適している。この方法の説明については、符号論
理を取扱った著書、例えば宮川洋・他著「符号理論」昭
晃堂3版257頁以下を参照し、結果のみを記述する。In the case of the Reed-Solomon code having such multi-symbol error correction capability, the so-called Berlekamp Massey method is suitable. For the explanation of this method, refer to a book dealing with code logic, for example, Hiroshi Miyagawa et al., "Theory of Code", Shokoido 3rd Edition, pp. 257 et seq.
この方法は結合多項式といわれる次式の多項式Cn(X)
=1+Cn,1X+Cn,2X2+… (1) が、例えば検査シンボル数が6で、誤り訂正能力が3シ
ンボルの場合には C6(X)=1+C6,1X+C6,2X2+C6,3 X3=σ(X)=σ0+σ1X+σ2X2+σ3X3 (2) として誤り位置多項式σ(X)を各係数をC6,1,C6,2,
C6,3により求めることができる。This method is a polynomial C n (X) of the following formula called a coupling polynomial.
= 1 + C n , 1 X + C n , 2 X 2 + ... (1) is, for example, when the number of check symbols is 6 and the error correction capability is 3 symbols, C 6 (X) = 1 + C 6 , 1 X + C 6 , 2 X 2 + C 6 , 3 X 3 = σ (X) = σ 0 + σ 1 X + σ 2 X 2 + σ 3 X 3 (2) where the error locator polynomial σ (X) is C 6 , 1 , C 6 , 2 ,
It can be calculated by C 6 , 3 .
Cn(X)は、C0(X)=1からスタートし、次の繰返し
アルゴリズムにより求められる。C n (X) is obtained by the following iterative algorithm starting from C 0 (X) = 1.
結合多項式は漸化式 Cn+1(X)=Cn(X)-(δn/δk(n))・Xn-k(n)Ck(n)(X)(3) n=0における初期値C0(X)=C-1(X)=1,u0=u-1
=0,δ-1=1 (8) で、n=0から始めn=1,2,…として例えばC6(X)を
求める。しかし、上記のように計算上求められるが、自
動的に具体的な演算回路で求めた例ば現在周知でない。The coupling polynomial is a recurrence formula C n + 1 (X) = C n (X)-(δ n / δ k (n) ) ・ X nk (n) C k (n) (X) (3) Initial value at n = 0 C 0 (X) = C −1 (X) = 1, u 0 = u −1
= 0, δ −1 = 1 (8), starting from n = 0, n = 1, 2, ..., For example, C 6 (X) is obtained. However, although it is calculated as described above, an example of automatically calculating it by a specific arithmetic circuit is not known at present.
本発明の目的は、バーレカンプ・マッシイの方法にもと
づき多シンボル訂正可能なリードソロモン符号の誤り位
置多項式の係数を求める実行回路を提供することにあ
る。この場合、ディジタル回路でいかに回路規模を小さ
く、かつまた処理速度を高速化するかが重要な課題のひ
とつであった。It is an object of the present invention to provide an execution circuit for obtaining a coefficient of an error locator polynomial of a Reed-Solomon code capable of multi-symbol correction based on the Berlekamp Massey method. In this case, how to reduce the circuit scale of the digital circuit and increase the processing speed was one of the important issues.
本発明では上記の漸化式による(3)〜(8)式の演算
は、さらに第3図に示すフローチャートにより実行され
ることに着目している。このフローチャートは文献E.R.
BERLEKAMP著「ALGEBRAIC CODING THEORY」,マグローヒ
ル社によるものである。In the present invention, attention is paid to the fact that the operations of equations (3) to (8) by the above recurrence equation are further executed by the flowchart shown in FIG. This flow chart is document ER
BERLEKAMP "ALGE BRAIC CODING THEORY" by McGraw-Hill Company.
上記フローチャートは3シンボル訂正の場合で、R1,R2,
R3はレジスタである。R1はCn(X)であって (ただしCn,0=1を除く)を示し、また、R2は▲〔S
(X)〕n σ▼であって を,R3はXn-k(n)Ck(n)(X)であって (F0=0は除く)を示す。The above flow chart is for the case of 3 symbol correction, R1, R2,
R3 is a register. R1 is C n (X) (Except C n , 0 = 1), and R2 is ▲ [S
(X)] n σ ▼ R3 is X nk (n) C k (n) (X) (Except F 0 = 0).
3シンボル以上であれば各レジスタの桁数を増加すれば
よい。If there are three symbols or more, the number of digits in each register may be increased.
したがって、本発明においては、上記フローチャートに
表れる各種の乗算・除算・加算を効果的に行なう計数部
と、レジスタを設け、適切なタイミングによって動作さ
せることにより、n=0よりスタートして最終的にはR1
レジスタの中に、シグマ係数値をストアするから、その
回路規模は小さくなり、かつ例えば3つのシグマσ1,σ
2,σ3を同時に演算するのでその処理時間も短くするこ
とができる。Therefore, in the present invention, by providing a counting section for effectively performing various multiplications / divisions / additions shown in the above flow chart and a register and operating them at an appropriate timing, starting from n = 0 and finally Is R1
Since the sigma coefficient value is stored in the register, the circuit scale becomes small, and, for example, three sigma σ 1 , σ
Since 2 and σ 3 are calculated at the same time, the processing time can be shortened.
本発明の演算回路はCn,1,Cn,2…ごとにデータバスとデ
ータバスに接続される計数部および複数個のレジスタ成
分とを含む複数個の演算ブロックと,δn/δk(n)を定め
る演算部と,繰返しアルゴリズムにおける条件フラグを
発生する制御信号発生部およびタイミング信号発生部と
からなっている。Arithmetic circuit of the present invention a plurality of operation blocks including the C n, 1, C n, 2 ... counting unit connected to the data bus and the data bus for each and the plurality of register components, δ n / δ k It is composed of a calculation unit that determines (n) , a control signal generation unit that generates a condition flag in the iterative algorithm, and a timing signal generation unit.
前記演算ブロックにおいて、計数部はデータバスからの
入力ベクトル値をべき指数値に変換しMOD演算後、ベク
トル値に変換して出力する乗算回路と,該乗算回路の出
力とデータバスからの入力とをベクトル加算する加算回
路とからなり、前記レジスタ成分は各演算ブロックにそ
の各成分が配置されてなる3個のレジスタでそれぞれCn
(X),▲〔S(X)〕n σ▼,Xn-k(n)Ck(n)(X)を
表わすR1,R2,R3レジスタの各成分であり、R2レジスタ,R
3レジスタは各成分が直列に接続されCn,1演算ブロック
側からそれぞれシンドローム,所定データが入力され、
Cn,2,Cn,3…演算ブロック側へシフト可能の結線となっ
ている。In the operation block, the counting unit converts a vector value input from the data bus into a power exponent value, performs a MOD operation, and converts the vector value into a multiplication value, and outputs the multiplication circuit and an input from the data bus. the consists of a summing circuit for vector addition, the register component respectively C n in three registers that each component in each operation block is disposed
(X), ▲ [S (X)] n σ ▼, X nk (n) C k (n) Respective components of the R1, R2, and R3 registers representing (X), R2 register, R
In the 3 register, each component is connected in series, and the syndrome and predetermined data are input from the C n , 1 operation block side,
C n , 2 , C n , 3 ... Wiring that can be shifted to the operation block side.
前記δn/δk(n)演算部は、各演算ブロックの乗算回路の
出力Cn,1Sn-1,Cn,2Sn-2,…およびSnを入力して加算し、
べき指数値に変換したδnについて、MOD演算後ベクト
ル値に変換して各演算ブロックのデータバスに出力する
回路を構成している。The δ n / δ k (n) operation unit inputs and adds the outputs C n , 1 S n-1 , C n , 2 S n-2 , ... And S n of the multiplication circuit of each operation block,
A circuit for converting δ n converted into a power exponent value into a vector value after MOD calculation and outputting to a data bus of each calculation block is configured.
前記条件フラグを発生する制御信号発生部は、前記δn/
δk(n)演算部で求められたδnにつきδn=0を示すδ
nフラグと、n,un,n2unの各フラグを発生する回路か
らなっている。The control signal generating unit for generating the condition flag, the δ n /
[delta] shows a [delta] n = 0 per [delta] n obtained by δ k (n) arithmetic unit
It is composed of a circuit for generating n flags and n, u n and n2u n flags.
前記タイミング信号発生部は、前記演算ブロック・δn/
δk(n)演算部・制御信号発生部を動作させるタイミング
パルスを発生し、条件フラグによってこのタイミング信
号の発生タイミングを制御するものである。The timing signal generator is configured to operate the calculation block, δ n /
A timing pulse for operating the Δ k (n) calculation unit / control signal generation unit is generated, and the generation timing of this timing signal is controlled by a condition flag.
本発明の演算回路は第3図に示すフローチャートの実行
回路で、n=0から始めてタイミング信号発生部からの
タイミング信号によって各構成部が動作する。n=d−
2(dは最小シンボル間隔)まで繰返すことで、(d−
1)/2の誤り訂正可能なシンボルにつき誤り位置多項式
の各係数の値が求められR1レジスタに係数値が格納され
ることになる。動作の詳細な説明は実施例にて説明す
る。The arithmetic circuit of the present invention is the execution circuit of the flow chart shown in FIG. 3, and each component operates in response to the timing signal from the timing signal generator starting from n = 0. n = d-
By repeating up to 2 (d is the minimum symbol interval), (d-
The value of each coefficient of the error locator polynomial is obtained for 1) / 2 error-correctable symbols, and the coefficient value is stored in the R1 register. Detailed description of the operation will be described in the embodiment.
図面を参照して、本発明の実施例につき説明する。実施
例はすべて3シンボル訂正可能な符号についての回路と
する。第1図に演算ブロック、第2図にδn/δk(n)演算
部、条件フラグ発生の制御信号発生部およびタイミング
信号発生部とを示す。Embodiments of the present invention will be described with reference to the drawings. All of the embodiments are circuits for codes capable of correcting 3 symbols. FIG. 1 shows a calculation block, and FIG. 2 shows a δ n / δ k (n) calculation unit, a control signal generation unit for generating a condition flag, and a timing signal generation unit.
第1図において、10,20,30は演算ブロックで、それぞれ
Cn,1,Cn,2,Cn,3に相当するものである。計数部の内部回
路は同一で計数部11についてのみ図示してある。データ
バス#1,#2,#3に接続されるフリップフロップは#1
に接続されるフリップフロップ14を除き、エネーブル端
子付きのD形のフリップフロップである。フリップフロ
ップ14はバッファとして動作する。上記素子群は図示の
ように横方向にそれぞれR1レジスタ、R2レジスタ、R3レ
ジスタを形成しているが、R1レジスタのフリップフロッ
プ12,22,32はデータバス#1,#2,#3とのみデータの受
渡しを行なうが、R2レジスタ、R3レジスタは右方向にシ
フトできる。そして、R2レジスタにはシンドロームバス
SnからシンドロームS0,S1…が入力され、R3レジスタに
はP6のタイミング信号でP7の状況により“1"または“0"
が入力される。In FIG. 1, reference numerals 10, 20, and 30 are calculation blocks, respectively.
It corresponds to C n , 1 , C n , 2 , C n , 3 . The internal circuit of the counting unit is the same, and only the counting unit 11 is shown. The flip-flop connected to the data buses # 1, # 2 and # 3 is # 1
It is a D-type flip-flop with an enable terminal except for the flip-flop 14 connected to. The flip-flop 14 operates as a buffer. As shown in the figure, the above element groups laterally form R1 register, R2 register, and R3 register respectively, but the flip-flops 12, 22, 32 of the R1 register are only connected to the data buses # 1, # 2, # 3. Data is passed, but the R2 and R3 registers can be shifted to the right. And the R2 register has a syndrome bus
Syndrome S 0 , S 1 … is input from S n , and the R3 register receives “1” or “0” depending on the status of P7 with the timing signal of P6.
Is entered.
次に計数部11について、説明する。ベクトル入力がROM1
1によって原始根αのべき指数表示の指数に変換され、
フリップフロップ112,MOD演算回路113,フリップフロッ
プ114で指数の加算をなしROM115でベクトル表示にして
出力する。この部分が乗算回路で、EX−OR回路117,フリ
ップフロップ118がベクトル加算回路を構成する。なお
ゼロ検出回路120,AND回路116はベクトル入力が“0"のと
き乗算の結果は“0"であるから“0"を出力するためであ
る。これはMOD演算が、ベクトル入力が“0"のときは正
しく動作しないからである。計数部11から乗算回路の出
力がフリップフロップ119を介してCn,1Sn-1が、第2図
のδn/δk(n)演算部に導かれる。Next, the counting unit 11 will be described. Vector input is ROM1
Converted by 1 into exponential notation of primitive root α,
The flip-flop 112, the MOD operation circuit 113, and the flip-flop 114 add the exponent, and the ROM 115 outputs the vector display. This part is a multiplication circuit, and the EX-OR circuit 117 and the flip-flop 118 form a vector addition circuit. This is because the zero detection circuit 120 and the AND circuit 116 output “0” because the multiplication result is “0” when the vector input is “0”. This is because the MOD operation does not work properly when the vector input is "0". The output of the multiplication circuit from the counting unit 11 is led to C n , 1 S n-1 via the flip-flop 119 to the δ n / δ k (n) computing unit of FIG.
第2図(a)にδn/δk(n)演算部40を示す。41はEX−OR
回路でΣCn,i・Sn-iを計算しδnを求めた後、δn/δ
k(n)を求めるため、ベクトルをべき指数に変換し除算
し、再びベクトルに変換している。すなわちROM42出力
の指数値δnから、δk(n)を求めるため、フリップフロ
ップ43で遅延してから反転し、MOD演算回路44でσnと
の差をとっている。δn/δk(n)のベクトル値はフリップ
フロップ47,48,49によって、データバス#1,#2,#3に
分配される。FIG. 2A shows the δ n / δ k (n) operation unit 40. 41 is EX-OR
After .SIGMA.C n, the i · S ni we calculated a [delta] n the circuit, [delta] n / [delta]
In order to obtain k (n) , the vector is converted into a power exponent, divided, and converted into a vector again. That is, in order to obtain δ k (n) from the exponent value δ n of the ROM 42 output, it is delayed by the flip-flop 43 and then inverted, and the MOD operation circuit 44 takes the difference from σ n . The vector value of δ n / δ k (n) is distributed to the data buses # 1, # 2, # 3 by the flip-flops 47, 48, 49.
第2図(b)は制御信号発生部50を示すもので、カウン
タ51から繰返し回数nをnフラグとして出力する。また
フリップフロップ52,インバータ53,加算回路54,55はun
をn−un+1としてクロック入力P2ごとに更新する回路
であって、フリップフロップ57を介してunフラグを出力
するとともに、コンパレータ56でnとunとを入力し、対
応する端子の桁を1桁ずらすことでn2unを検出しn
2unフラグを出力する。FIG. 2B shows the control signal generator 50, which outputs the number of repetitions n from the counter 51 as an n flag. The flip-flop 52, an inverter 53, the adder circuit 54 and 55 u n
Is a circuit for updating every clock input P2 with n-u n +1 as the output, and outputs the u n flag via the flip-flop 57, and inputs n and u n with the comparator 56 to obtain the digit of the corresponding terminal. N2u n is detected by shifting
Output the 2u n flag.
第2図(c)はタイミング信号発生部60を示すもので、
マイクロプログラミング回路によりクロック入力ごとに
所要のタイミング信号P0,P1,…を発生し、フラグ入力を
適当なタインミング時点で入力し、フラグにより、ジャ
ンプする。タイミング信号については第6図に示す。FIG. 2 (c) shows the timing signal generator 60,
The micro-programming circuit generates the required timing signals P0, P1, ... For each clock input, inputs the flag input at an appropriate timing, and jumps by the flag. Timing signals are shown in FIG.
この演算回路は第3図のフローチャートに示す演算を行
なうが、第3図に基づき、回路動作を詳細に分解してフ
ローチャート形式で第4図,第5図に示す。このときの
タイミング信号のタイムチャートは第6図である。第6
図上段に示す時間区分T1,T2,…ごとに、第4図,第5図
は記載されている。第4図〜第6図の補完の意味で以
下、時間区分ごとに簡単に説明を加える。以下でフリッ
プフロップはDFFと略称する。This operation circuit performs the operation shown in the flow chart of FIG. 3, and the circuit operation is decomposed in detail based on FIG. 3 and shown in flow chart form in FIGS. 4 and 5. The time chart of the timing signal at this time is shown in FIG. Sixth
4 and 5 are described for each of the time sections T1, T2, ... Shown in the upper part of the figure. In the following, in the meaning of complementing FIGS. 4 to 6, a brief description will be added for each time segment. Hereinafter, the flip-flop is abbreviated as DFF.
T1:カウンタ51,DFF52,43,119(図面にはないが対応する
ものとして219,319以下同様)をリセットする。DFF24,3
4はデータバス#1,#2がローで“0"をとりこむ T2:DFF13,23,33が動作し、R3レジスタに(100)セット T3:DFF12,22,32が動作し、R1レジスタ(000)セット T4:δn=0フラグ,δn=0ならば“0",δn≠0なら
ば“1" T5:δn=0の場合で、DFF13,23,33が動作、R3レジスタ
のデータがバスに送られ、右側のDFFにストアされる。
ただしDFF13は“0"となる T6:DFF12,DFF112(212,312)動作、後でR1×R3を計算し
δnを求めるためである T7:n2unフラグ,n2unならば“0",n<2unならば“1" T8:n2unの場合で、DFF13,23,33が動作し、データバス
#1,2,3を経て、DFF112,212,312にラッチされる。DFF4
7,48,49にδn/δk(n)ストア T9:DFF47,48,49よりδn/δk(n)を出力しδn/δk(n)×R3
の演算結果をDFF114(214,314)にストア T10:DFF12,22,32のR1レジスタのデータをバスに送りDFF
23,33でR3レジスタにストアする。このときR1レジスタ
のデータをR3レジスタに移し同時にシフトされ、またR3
レジスタの左端DFF13は“1"をストアすることになる またR1レジスタのデータはバスを介して計数部10(20,3
0)のEX−OR回路117(217,317)で加算され、DFF118(2
18,318)に(δn/δk(n)×R3)+R1をストア T11:DFF118(218,318)から(δn/δk(n)×R3)+R1を
バスに送出し、乗算回路のDFF112(212,312)および、D
FF12,22,32のR1レジスタにストア また、δn/δk(n)演算部40でDFF43がδk(n)を送出し、
制御信号発生部50でunが計算される T12:R3レジスタのDFF13,23,33のデータをバスに送り乗
算回路のDF112(212,312)にストア同時にDFF13,23のデ
ータが右シフトし、DFF13に“0"がストアされる また、DFF47,48,49にδn/δk(n)ストア T13:T9と同じ T14:R1レジスタDFF12,22,32のデータをバスに送りEX−O
R回路117(217,317)で加算しDFF118(218,318)にスト
ア T15:DF118(218,318)のデータをバスを介してR1レジス
タDFF12,22,32にストアまた新しいR1としてDFF112(21
2,312)にストア T16:カウンタ51を1カウントする。DFF24,34を右シフト
し、DFF14にSn+1をストア このとき乗算回路にR2レジスタのデータがバスを介して
入力しR1×R2の演算結果をDFF114(214,314)にストア T17:計数部11(21,31)のDFF119(219,319)にR1×R2,
すなわちCn,1Sn-1,Cn,2Sn-2,Cn,3Sn-3をストア 同時にδnが演算される 3シンボル訂正可能な信号では、d=7,n=d−2=5
であるから後4回繰返せば、R1レジスタのDFF12,22,32
にC6,1=σ1,C6,2=σ2,C6,3=σ3がストアされるか
ら、データバス#1,#2,#3から出力することができ
る。T1: Reset the counters 51, DFF52, 43, 119 (not shown in the drawing, but 219, 319 and below as corresponding). DFF24,3
For data bus 4, data buses # 1 and # 2 are low and take in "0". T2: DFF13,23,33 operates, R3 register sets (100) T3: DFF12,22,32 operates, R1 register (000 ) Set T4: δ n = 0 flag, “0” if δ n = 0, “1” if δ n ≠ 0 T5: δ n = 0, DFF13, 23, 33 operates, R3 register The data is sent to the bus and stored in the DFF on the right.
However, T6: DFF12, DFF112 (212,312) operation in which DFF13 becomes “0”, because R1 × R3 is calculated later to obtain δ n T7: n2u n flag, if n2u n is “0”, n <2u If n is "1" T8: n2u n , DFF13,23,33 operates and is latched by DFF112,212,312 via data buses # 1,2,3. DFF4
Store δ n / δ k (n) in 7,48,49 T9: Output δ n / δ k (n) from DFF47,48,49 δ n / δ k (n) × R3
Stores the calculation result of in the DFF114 (214,314) T10: DFF12,22,32 R1 register data is sent to the bus DFF
Store to R3 register at 23,33. At this time, the data in the R1 register is moved to the R3 register and is shifted at the same time.
The left end DFF13 of the register stores “1”. The data of the R1 register is also sent via the bus to the counting unit 10 (20,3
0) EX-OR circuit 117 (217, 317) add and DFF118 (2
18, 318) to (δ n / δ k (n ) × R3) + R 1 store T11: DFF118 (from 218,318) (δ n / δ k (n) × R3) + the R 1 sends to the bus, the multiplication circuit DFF112 (212,312) and D
Stored in the R1 register of FF12, 22, 32 Also, in the δ n / δ k (n) operation unit 40, the DFF43 sends δ k (n) ,
The control signal generator 50 calculates u n T12: Sends the data of DFF13,23,33 of the R3 register to the bus and stores it in the DF112 (212,312) of the multiplier circuit. "0" is stored Also, δ n / δ k (n) store in DFF47, 48, 49 Same as T13: T9 T14: R1 register DFF12, 22, 32 data is sent to the bus EX-O
Add by R circuit 117 (217,317) and store in DFF118 (218,318) Store data of T15: DF118 (218,318) in R1 register DFF12,22,32 via bus. Also, as new R1, DFF112 (21
2,312) Store T16: Count counter 51 by 1. Right shift DFF24, 34 and store S n + 1 in DFF14 At this time, the data of R2 register is input to the multiplier circuit via the bus and the operation result of R1 × R2 is stored in DFF114 (214, 314) T17: Counting unit 11 R21 x R2 to DFF119 (219,319) of (21,31),
That is, C n , 1 S n-1 , C n , 2 S n-2 , C n , 3 S n-3 are stored, and δ n is calculated at the same time. In a 3 symbol correctable signal, d = 7, n = d-2 = 5
Therefore, if it is repeated 4 times later, DFF12,22,32 of R1 register
Since C 6, 1 = σ 1, C 6, 2 = σ 2, C 6, 3 = σ 3 are stored in the data bus # 1, # 2, can be output from the # 3.
以上、詳記したように本発明によって、3シンボル以上
の誤り訂正可能なリードソロモン符号の復号方式におけ
る誤り位置多項式の係数を、バーレカンプ・マッシイの
方法によるアルゴリズムを用い回路規模を小さくすると
ともに、複数個のシグマ係数の同時演算をするので、処
理時間を高速化できる。As described above in detail, according to the present invention, the coefficient of the error locator polynomial in the decoding system of the Reed-Solomon code capable of correcting an error of 3 symbols or more is used, the circuit scale is reduced by using the algorithm by the Berlekamp-Massie method, and Since the sigma coefficient is calculated simultaneously, the processing time can be shortened.
第1図、第2図は本発明の一実施例の回路ブロック図、
第3図はバーレカンプ・マッシイの方法のアルゴリズム
を示すフローチャート、第4図・第5図は実施例の回路
動作を説明する図、第6図はタイムチャートである。 10,20,30……演算ブロック、 11,21,31……計数部、 12〜14,22〜24,32〜34……フリップフロップ、 111……ROM(V→I変換)、 115……ROM(I→V変換)、 112,114,118,119……フリップフロップ、 113……MOD演算回路、 116……AND回路、117……EX−OR回路、 120……ゼロ検出回路、 40……δn/δk(n)演算部、 41……EX−OR回路、 42,45……ROM(V→I変換,I→V変換)、 43……フリップフロップ、 44……MOD演算回路、 47〜49……フリップフロップ、 50……制御信号発生部、51……カウンタ、 52,57……フリップフロップ、 54,55……加算回路、56……コンパレータ、 60……タイミング信号発生部。1 and 2 are circuit block diagrams of one embodiment of the present invention,
FIG. 3 is a flowchart showing the algorithm of the Berlekamp Massey method, FIGS. 4 and 5 are diagrams for explaining the circuit operation of the embodiment, and FIG. 6 is a time chart. 10, 20, 30 ... Operation block, 11, 21, 31 ... Counting unit, 12-14, 22-24, 32-34 ... Flip-flop, 111 ... ROM (V → I conversion), 115 ... ROM (I → V conversion), 112, 114, 118, 119 ... Flip-flop, 113 ... MOD operation circuit, 116 ... AND circuit, 117 ... EX-OR circuit, 120 ... Zero detection circuit, 40 ... δ n / δ k (n) Arithmetic unit, 41 ... EX-OR circuit, 42,45 ... ROM (V → I conversion, I → V conversion), 43 …… Flip-flop, 44 …… MOD arithmetic circuit, 47 to 49 …… Flip-flop, 50 ... Control signal generator, 51 ... Counter, 52,57 ... Flip-flop, 54, 55 ... Adder circuit, 56 ... Comparator, 60 ... Timing signal generator.
Claims (1)
符号の復合に際し、バーレカンプ・マッシイの方法にも
とづき、シンドロームSnを入力とし、結合多項式C
n(X)=1+Cn,1X+Cn,2X2+・・・の漸化式C
n+1(X)=Cn(X)−(δn/δk(n))Xn-k(n)C
k(n)(X)を利用し、n=0から初めて、σ1=Cn,1,
σ2=Cn,2・・・として誤り位置多項式の係数σ1,σ2
・・・を定める繰返しアルゴリムズを実行する演算回路
であって、 Cn,1,Cn,2・・・ごとに定められるデータバスと該デー
タバスに接続される計数部および複数個のレジスタ成分
から構成される複数個の演算ブロックと、前記演算ブロ
ックからの出力により前記漸化式の係数δn/δk(n)を定
める演算を行なうδn/δk(n)演算部と、各動作に必要な
タイミング信号を発生するタイミング信号発生部と、前
記タイミング信号発生部からのタイミング信号により、
前記繰返しアルゴリズムにおける条件フラグを発生する
制御信号発生部とから構成され、 前記演算ブロックにおいて、計数部はデータバスからの
入力ベクトル値をべき指数値に変換しMOD演算後、ベク
トル値に変換して出力する乗算回路と、該乗算回路の出
力とデータバスからの入力とをベクトル加算する加算回
路とからなり、前記レジスタ成分は前記各演算ブロック
にその各成分が配置されてなる3個のレジスタでそれぞ
れ前記漸化式のCn(X),シンドローム入力〔S
(X)〕n,前記漸化式のXn-k(n)Ck(n)(X)を表すR1,R
2,R3レジスタの各成分であり、R2レジスタ、R3レジスタ
は各成分が直列に接続され、Cn,1演算ブロック側からそ
れぞれシンドローム、所定データが入力され、Cn,2,Cn,
3・・・演算ブロック側へシフト可能の結線となってお
り、 前記δn/δk(n)演算部は、前記各演算ブロックの乗算回
路の出力Cn,1Sn-1,Cn,2Sn-2・・・およびSnを入力して
加算し、べき指数値に変換したδnについて、MOD演算
後ベクトル値に変換して前記各演算ブロックのデータバ
スに出力する回路を構成し、 前記条件フラグを発生する制御信号発生部は、前記δn/
δk(n)演算部で求められたδnにつきδn=0を示すδ
nフラグと、前記繰返しアルゴリズムの繰返し回数を示
すn,前記演算ブロックの演算パラメータを示すun,前記
演算ブロックの演算時における条件を示すn2unの各
フラグを発生する回路からなり、 前記タイミング信号発生部は、前記演算ブロック・前記
δn/δk(n)演算部・前記制御信号発生部を動作させるタ
イミング信号を発生し、前記制御信号発生部で発生させ
た条件フラグによって、このタイミング信号の発生タイ
ミングを制御することを特徴とする、リードソロモン符
号・復合方式のシグマ演算回路。1. When a Reed-Solomon code having multi-symbol correction capability is combined, the syndrome S n is input and a joint polynomial C is input based on the Berlekamp-Massie method.
Recurrence formula C of n (X) = 1 + C n , 1 X + C n , 2 X 2 + ...
n + 1 (X) = C n (X) − (δ n / δ k (n) ) X nk (n) C
Using k (n) (X), starting from n = 0, σ 1 = C n , 1 ,
As σ 2 = C n , 2 ... Coefficients of error locator polynomial σ 1 , σ 2
An arithmetic circuit for executing a repetitive algorithm to determine ..., A data bus defined for each C n , 1 , C n , 2 ..., a counting unit connected to the data bus, and a plurality of register components A plurality of arithmetic blocks, and a δ n / δ k (n) arithmetic unit that performs an operation to determine the coefficient δ n / δ k (n) of the recurrence formula based on the output from the arithmetic block. With a timing signal generator that generates a timing signal necessary for operation, and a timing signal from the timing signal generator,
And a control signal generating unit for generating a condition flag in the iterative algorithm, wherein, in the operation block, the counting unit converts an input vector value from the data bus into a power exponent value, performs a MOD operation, and converts into a vector value. The register component is composed of three registers, each of which is arranged in each of the arithmetic blocks. The register circuit is composed of an output circuit and an adder circuit for vector-adding the output of the multiplier circuit and the input from the data bus. C n of each of the recurrence formula (X), the syndrome input [S
(X)] n , R1, R representing X nk (n) C k (n) (X) in the recurrence formula
The components of the R2 register and the R3 register are connected in series in the R2 register and the R3 register, respectively, and the syndrome and predetermined data are input from the C n , 1 operation block side, and C n , 2 , C n ,
3 ... Wiring is connectable to the operation block side, and the δ n / δ k (n) operation unit outputs the outputs C n , 1 S n-1 , C n of the multiplication circuit of each operation block. , 2 S n-2 ... And S n are input and added, and δ n converted into a power exponent value is converted into a vector value after MOD calculation and output to the data bus of each calculation block. configured, the control signal generating unit for generating the condition flag, the [delta] n /
[delta] shows a [delta] n = 0 per [delta] n obtained by δ k (n) arithmetic unit
The timing signal includes an n flag, a circuit for generating n flags indicating the number of iterations of the iterative algorithm, u n indicating operation parameters of the operation block, and n 2 u n indicating conditions at the time of operation of the operation block. The generation unit generates a timing signal for operating the calculation block, the δ n / δ k (n) calculation unit, and the control signal generation unit, and the timing signal is generated by the condition flag generated by the control signal generation unit. Reed-Solomon code / combining sigma arithmetic circuit characterized by controlling the generation timing of
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60113162A JPH0744466B2 (en) | 1985-05-28 | 1985-05-28 | Lead Solomon encoding / decoding sigma arithmetic circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60113162A JPH0744466B2 (en) | 1985-05-28 | 1985-05-28 | Lead Solomon encoding / decoding sigma arithmetic circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61273018A JPS61273018A (en) | 1986-12-03 |
| JPH0744466B2 true JPH0744466B2 (en) | 1995-05-15 |
Family
ID=14605119
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60113162A Expired - Lifetime JPH0744466B2 (en) | 1985-05-28 | 1985-05-28 | Lead Solomon encoding / decoding sigma arithmetic circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0744466B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07112160B2 (en) * | 1986-04-21 | 1995-11-29 | ソニー株式会社 | Decoding method of error correction code |
| JPH06104773A (en) * | 1992-07-20 | 1994-04-15 | Internatl Business Mach Corp <Ibm> | Circuit and method for finding of programmable requential ket-type solution for finding of key-type solution of linear algebraic code |
-
1985
- 1985-05-28 JP JP60113162A patent/JPH0744466B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61273018A (en) | 1986-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101616478B1 (en) | Implementation of Arbitrary Galois Field Arithmetic on a Programmable Processor | |
| EP0329789B1 (en) | Galois field arithmetic unit | |
| WO2000057561A1 (en) | Pipelined high speed reed-solomon error/erasure decoder | |
| JPS59124011A (en) | Numerous byte error correction system | |
| JPH0728227B2 (en) | Decoding device for BCH code | |
| JPS63186338A (en) | Error correction circuit | |
| CN114942861A (en) | CRC calculation method, device, computer equipment and storage medium | |
| EP0566215A2 (en) | Error correction apparatus | |
| JPH0744466B2 (en) | Lead Solomon encoding / decoding sigma arithmetic circuit | |
| EP0329775A4 (en) | High bandwidth reed-solomon encoding, decoding and error correcting circuit | |
| JPH10322226A (en) | Reed-Solomon decoding method | |
| JP2797569B2 (en) | Euclidean circuit | |
| JP3850512B2 (en) | Reed-Solomon decoder | |
| JP2694794B2 (en) | Error correction processing method | |
| JPH04365139A (en) | Syndrome operation circuit for error correction processing | |
| JP2797570B2 (en) | Euclidean circuit | |
| JP3139499B2 (en) | Error correction processor | |
| JP2600681B2 (en) | Decoding method of Reed-Solomon code | |
| JP3230888B2 (en) | Euclidean circuit | |
| JP2600683B2 (en) | Decoding method of Reed-Solomon code | |
| KR950008485B1 (en) | Unierror correction r-s decoder | |
| JP2710176B2 (en) | Error position and error pattern derivation circuit | |
| JP2585361B2 (en) | Error position and error pattern extraction device for Reed-Solomon code | |
| JP2752510B2 (en) | Error correction decoder | |
| JPH1065552A (en) | Arithmetic processing method for error correction and processing circuit |