Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0744463B2 - Error correction circuit - Google Patents
[go: Go Back, main page]

JPH0744463B2 - Error correction circuit - Google Patents

Error correction circuit

Info

Publication number
JPH0744463B2
JPH0744463B2 JP58237373A JP23737383A JPH0744463B2 JP H0744463 B2 JPH0744463 B2 JP H0744463B2 JP 58237373 A JP58237373 A JP 58237373A JP 23737383 A JP23737383 A JP 23737383A JP H0744463 B2 JPH0744463 B2 JP H0744463B2
Authority
JP
Japan
Prior art keywords
data
error
syndrome
circuit
block
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
Application number
JP58237373A
Other languages
Japanese (ja)
Other versions
JPS60128723A (en
Inventor
潤 米満
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP58237373A priority Critical patent/JPH0744463B2/en
Publication of JPS60128723A publication Critical patent/JPS60128723A/en
Publication of JPH0744463B2 publication Critical patent/JPH0744463B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、リードソロモン符号の復号器に適用される
エラー訂正回路に関する。
The present invention relates to an error correction circuit applied to a Reed-Solomon code decoder.

「背景技術とその問題点」 デイジタルオーデイオ信号,デイジタルビデオ信号など
を記録再生する時或いはデイジタルデータレコーダによ
りデータを記録再生する時のエラー訂正用符号として、
リードソロモン符号が用いられている。このリードソロ
モン符号の復号は、受信データ系列と検査行列(いわゆ
るHマトリクス)の積によりシンドロームを形成し、こ
のシンドロームから、受信データ系列中のエラーシンボ
ルの位置及びエラーパターンをガロア体(GF2 m)上の演
算により求め、エラー訂正を行なうものである。従来の
実時間で上述のエラー訂正を行なう回路は、時分割多重
処理を用いたストアドプログラム方式のもの又はハード
ワイヤド方式のものの何れかであつた。
"Background art and its problems" As an error correction code when recording / reproducing a digital audio signal, a digital video signal, or recording / reproducing data by a digital data recorder,
Reed-Solomon code is used. In the decoding of this Reed-Solomon code, a syndrome is formed by the product of the received data sequence and a check matrix (so-called H matrix), and from this syndrome, the position of the error symbol and the error pattern in the received data sequence are Galois field (GF 2 m ) The error is corrected by the above calculation. A conventional circuit for performing the above-mentioned error correction in real time is either a stored program system using time division multiplexing processing or a hard wired system.

しかしながら、ストアドプログラム方式は、サンプリン
グ周波数が高い高速データの場合には、演算素子の動作
速度の制約により、時分割多重の処理が不可能となり、
また、高速動作を行なうために並列処理の構成にする時
には、回路規模が大きくなる欠点がある。一方、ハード
ワイヤド方式は、高速のデータの処理が可能な反面、回
路規模がストアドプログラム方式と比べて、大きくなる
と共に、汎用性を欠くという欠点があつた。
However, in the case of high-speed data with a high sampling frequency, the stored program method cannot perform time-division multiplexing processing due to the operating speed constraint of the arithmetic element,
Further, when a parallel processing configuration is used for high speed operation, there is a drawback that the circuit scale becomes large. On the other hand, the hard-wired method can process high-speed data, but has a drawback that the circuit scale is larger than that of the stored program method and the versatility is lacking.

「発明の目的」 したがつて、この発明の目的は、エラー訂正処理が有す
る時間的余裕を利用することにより、回路規模が小さ
く、高速データの処理を行なうことができるエラー訂正
回路の提供を目的とするものである。つまり、この発明
は、クロツク毎に入力されるデータからシンドロームを
形成する時には、時間的余裕がないので、ハードワイヤ
ード方式によつて処理を行ない、複数シンボルからなる
符号の1系列ごとに1回ずつ入力されるシンドロームか
らエラー位置及びエラーパターンを計算する場合は、時
間的余裕があるので、プログラムストアド方式の回転を
用いるようにしたものである。
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an error correction circuit which has a small circuit scale and can process high-speed data by utilizing the time margin of the error correction processing. It is what In other words, according to the present invention, when the syndrome is formed from the data input for each clock, there is no time margin, so the processing is performed by the hard-wired method, and once for each series of codes composed of a plurality of symbols. When calculating the error position and the error pattern from the input syndrome, there is a time margin, so the rotation of the program stored method is used.

「発明の概要」 この発明は、エラー訂正符号の冗長データを含む入力デ
ータからシンドロームを発生するハードワイヤド方式の
シンドローム発生回路と、プログラムメモリに格納され
たプログラムにより制御され、シンドロームからエラー
位置,エラーパターンを演算して出力する回路と、入力
データ中のエラー位置のシンボルを訂正する回路とを備
えたエラー訂正回路である。
[Summary of the Invention] The present invention is controlled by a hard-wired syndrome generation circuit that generates a syndrome from input data including redundant data of an error correction code and a program stored in a program memory. The error correction circuit includes a circuit that calculates and outputs an error pattern and a circuit that corrects a symbol at an error position in input data.

「実施例」 以下、この発明の一実施例について図面を参照して説明
する。この一実施例は、2シンボルエラーの訂正が可能
なリードソロモン符号の復号回路に対してこの発明を適
用したものである。
[Embodiment] An embodiment of the present invention will be described below with reference to the drawings. In this embodiment, the present invention is applied to a Reed-Solomon code decoding circuit capable of correcting a 2-symbol error.

まず、2シンボルエラーの訂正が可能なリードソロモン
符号のパリテイ発生及びエラー訂正について説明する。
リードソロモン符号のHマトリクスは (但し、αはGF(2m)の原始元である。)となる。パリ
テイを含むデータ系列Cは C=(D1D2…Dn-4P3P2P1P0) となり、このパリテイP0,P1,P2,P3、 (HCT=0)から導かれる次の2元連立方程式を解くこ
とによつて得られたものである。次式における加算,減
算,乗算,除算は、ガロア体上の演算であり、Σは を意味する。
First, the generation and error correction of a Reed-Solomon code that can correct a 2-symbol error will be described.
The H matrix of Reed-Solomon code is (However, α is the primitive element of GF ( 2m ).) The data sequence C including parity is C = (D 1 D 2 … D n-4 P 3 P 2 P 1 P 0 ), and this parity P 0 , P 1 , P 2 , P 3 , (HC T = 0) It is obtained by solving the following two-dimensional simultaneous equations derived from. Addition, subtraction, multiplication, and division in the following equations are operations on Galois field, and Σ is Means

P0+P1+P2+P3=ΣDi P0+αP1+α2P2+α3P3=Σαn-iDi P0+α2P1+α4P2+α6P3=Σα2(n-i)Di P0+α3P1+α6P2+α9P3=Σα3(n-i)Di 上述のデータ系列Cが伝送される時に、i及びj番目
に、ei,ejというパターンのエラーが生じたとすると、
受信データ系列C′は C′=D1,D2,…,Di+ei,…,Dj+ej,…,P3,P2,P1,P0) =C+(0,…,0,ei,0,…0,ej,0…0) と表わされる。よつて、受信データ系列C′にHマトリ
クスを乗じることで得られるシンドロームは、下記のも
のとなる。
P 0 + P 1 + P 2 + P 3 = ΣD i P 0 + αP 1 + α 2 P 2 + α 3 P 3 = Σα ni Di P 0 + α 2 P 1 + α 4 P 2 + α 6 P 3 = Σα 2 (ni) Di P 0 + Α 3 P 1 + α 6 P 2 + α 9 P 3 = Σα 3 (ni) Di When the above data sequence C is transmitted, if the i and jth errors of the pattern ei, ej occur,
The received data sequence C ′ is C ′ = D 1 , D 2 , ..., Di + ei, ..., Dj + ej, ..., P 3 , P 2 , P 1 , P 0 ) = C + (0, ..., 0, ei, 0, ... 0, ej, 0 ... 0). Therefore, the syndrome obtained by multiplying the received data sequence C ′ by the H matrix is as follows.

S0=ei+ej S1=0αn-iei+αn-jej S2=α2(n-i)ei+α2(n-j)ej S3=α3(n-i)ei+α3(n-j)ej となる。また、1シンボルエラーの時は S0=ei S1=αiei S2=α2iei S3=α3iei となる。このシンドロームS0〜S3により、エラー位置及
びエラーパターンを求めることができる。
S 0 = ei + ej S 1 = 0α ni ei + α nj ej S 2 = α 2 (ni) ei + α 2 (nj) ej S 3 = α 3 (ni) ei + α 3 (nj) ej. In the case of a 1-symbol error, S 0 = ei S 1 = α i ei S 2 = α 2i ei S 3 = α 3i ei. An error position and an error pattern can be obtained from the syndromes S 0 to S 3 .

2シンボルエラーの時: シンドロームの式から αn-iS0+S1=(αn-i+αn-j)ej αn-iS1+S2=(αn-i+αn-j)αn-jej αn-iS2+S3=(αn-i+αn-j)α2(n-j)ej ∴(αn-iS0+S1)(αn-iS2+S3) =(αn-iS1+S2(S0S2+▲S2 1▼)α2(n-j) +(S0S3+S1S2)αn-i+(S1S3+▲S2 2▼)=0 ここで、 A=S0S2+▲S2 1▼ B=S0S3+S1S2 C=S1S3+▲S2 2▼ とし、(αn-j=αn-i+a)とすると、 D=B/A=αn-i+αn-j=αn-i(1+α) E=C/A=αn-i・αn-j=α2(n-i)・α ∴D2/A=α-a+αとなり、ROMに格納した変換テーブ
ルを用いて、1+α及び1+α-aを求める。これによ
つて、 が求まる。αn-j及びαn-iから変換テーブルにより、エ
ラー位置i及びjが求まる。受信データ系列中のエラー
シンボルをDie及びDjeとすると、 Die+ei=Di Die+ej=Dj により、エラー訂正が行なわれる。
In case of 2-symbol error: From the syndrome equation, α ni S 0 + S 1 = (α ni + α nj ) ej α ni S 1 + S 2 = (α ni + α nj ) α nj ej α ni S 2 + S 3 = (α ni + α nj ) α 2 (nj) ej ∴ (α ni S 0 + S 1 ) (α ni S 2 + S 3 ) = (α ni S 1 + S 2 ) 2 (S 0 S 2 + ▲ S 2 1 ▼) α 2 (nj) + (S 0 S 3 + S 1 S 2 ) α ni + (S 1 S 3 + ▲ S 2 2 ▼) = 0 Here, A = S 0 S 2 + S 2 1 ▼ B = S 0 If S 3 + S 1 S 2 C = S 1 S 3 + ▲ S 2 2 ▼ and (α nj = α n-i + a ), then D = B / A = α ni + α nj = α ni (1 + α a ) E = C / A = α ni・ α nj = α 2 (ni)・ α a ∴D 2 / A = α -a + α a , and 1 + α a and 1 + α -a using the conversion table stored in the ROM. Ask for. By this, Is required. The error positions i and j are obtained from α nj and α ni by the conversion table. If the error symbols in the received data sequence are Die and Dje, error correction is performed by Die + ei = Di Die + ej = Dj.

1シンボルエラーの時: シンドロームは S0=ei S1=αn-iei S2=α2(n-i)ei S3=α3(n-i)ei となるので、エラー位置i及びエラーパターンeiは次式
によつて求められる。
In case of 1-symbol error: Since the syndrome is S 0 = ei S 1 = α ni ei S 2 = α 2 (ni) ei S 3 = α 3 (ni) ei, the error position i and error pattern ei are Required by.

αn-i=S1/S0 ei=S0 ここで、GF(2m)上の演算について説明すると、デイジ
タルデータの1シンボルが例えば8ビツトの場合、この
1シンボルをGF(28)上の要素のベクトル表現として扱
う。例えば(01001010)=α38である。こうすると、GF
(28)上の加法(α+α)は、このベクトル表現の
各要素をエクスクルーシブORゲート(EXORゲートと略
す)に供給することで表現できる。また、乗法(α
α)は、ベクトル表現のままで行なうことができず、
αのマトリクス表現Txとαのベクトル表現との積で
実現できる。つまり、 α・α=Tx・αyT 但し、αyTは、αのベクトル表現のたてベクトルであ
り、 である。
α ni = S 1 / S 0 ei = S 0 Here, the operation on GF (2 m ) will be described. If one symbol of digital data is, for example, 8 bits, this one symbol on GF (2 8 ). Treat as a vector representation of the element. For example, (01001010) = α 38 . This way, GF
The addition (α x + α y ) above (2 8 ) can be expressed by supplying each element of this vector expression to an exclusive OR gate (abbreviated as EXOR gate). Also, the multiplication (α x ·
α y ) cannot be performed as a vector expression,
It can be realized by the product of the vector representation of the matrix representation T x and alpha y of alpha x. That is, α x · α y = T x · α yT where α yT is a vertical vector of the vector representation of α y , Is.

乗法の他の実現方法としては、変換テーブルを用いて、
αxからx,yを得て、(x+y)(mod.255)を計算
し、逆の変換テーブルを用いて(αx+y)を得るものが
ある。
As another method of realizing the multiplication, using a conversion table,
There is a method in which x, y is obtained from α x , α y , (x + y) (mod.255) is calculated, and (α x + y ) is obtained using an inverse conversion table.

第1図は、この発明の一実施例の全体の構成を示す。1
シンボルが例えば8ビツトで、(n,n−4)リードソロ
モン符号の符号化がされたバイトシリアルの入力データ
が2ブロツク遅延回路1及びシンドローム発生回路2に
供給される。1ブロツクは、(n−4)個の情報シンボ
ルD1,D2,…Dn-4と4個のパリテイシンボルP0,P1,P2,P3
との計n個のシンボルからなるものである。この例で
は、シンドローム発生の処理とエラー位置及びエラーパ
ターンの計算の処理とに夫々1ブロツクの期間を割当て
ている。遅延回路1は、例えばRAMにより構成され、ア
ドレスカウンタ3からの書込みアドレス及び読出しアド
レスが供給され、書込みアドレスに対し、読出しアドレ
スが2nの遅れを持つことによつて、2ブロツクの遅延が
実現されている。
FIG. 1 shows the overall construction of an embodiment of the present invention. 1
Byte-serial input data having a symbol of, for example, 8 bits and encoded by the (n, n-4) Reed-Solomon code is supplied to the 2-block delay circuit 1 and the syndrome generation circuit 2. 1 block is, (n-4) information symbols D 1, D 2, ... D n-4 and four parity symbols P 0, P 1, P 2 , P 3
And n symbols in total. In this example, a period of 1 block is assigned to each of the process of generating the syndrome and the process of calculating the error position and the error pattern. The delay circuit 1 is composed of, for example, a RAM, and is supplied with a write address and a read address from the address counter 3, and the read address has a delay of 2n with respect to the write address, thereby realizing a delay of 2 blocks. ing.

第2図Aは、第1ブロツク,第2ブロツク,第3ブロツ
クと順次供給される入力データを示し,第2ブロツクの
各シンボルには、′が付加され、第3ブロツクの各シン
ボルには″が付加されている。シンドローム発生回路2
から第2図Bに示すように、第1ブロツクのデータの入
力が終了したタイミングで、第1ブロツクのシンドロー
ムS0〜S3が出力され、第2ブロツクのデータの入力が終
了したタイミングで、第2ブロツクのシンドロームS′
〜S′が出力される。シンドローム発生回路2は、
連続的に入力されるデータのシンボルを演算してシンド
ロームを形成するために、入力データのデータレートで
動作することが要請される。したがつて、後述するよう
に、シンドローム発生回路2は、ハードワイヤド方式の
回路で構成されている。
FIG. 2A shows input data sequentially supplied to the first block, the second block, and the third block. Each symbol of the second block is appended with ′, and each symbol of the third block has “″. Syndrome generation circuit 2
As shown in FIG. 2B, the syndromes S 0 to S 3 of the first block are output at the timing when the input of the data of the first block is completed, and the input of the data of the second block is completed. Syndrome S'of the second block
0 to S '3 is output. The syndrome generation circuit 2
It is required to operate at the data rate of the input data in order to calculate the symbols of the continuously input data to form the syndrome. Therefore, as will be described later, the syndrome generation circuit 2 is composed of a hard-wired circuit.

シンドローム発生回路2からのシンドロームがエラー位
置,エラーパターン計算回路4に供給される。第1ブロ
ツクに関するエラー位置及びエラーパターンは、第2ブ
ロツクのデータが入力されている期間でなされる。この
1ブロツクの期間の余裕があるので、エラー位置,エラ
ーパターン計算回路4は、後述するように、プログラム
ストアド方式の回路構成とされている。一例として、第
1ブロツクのi,jのシンボルがエラーシンボルの場合、
第2図C及び第2図Dに示すように、エラー位置,エラ
ーパターン計算回路4から、エラー位置i,j及びエラー
パターンei,ejのデータが第3ブロツクの期間に出力さ
れる。
The syndrome from the syndrome generation circuit 2 is supplied to the error position / error pattern calculation circuit 4. The error position and error pattern relating to the first block are made during the period when the data of the second block is being input. Since there is a margin for this one block period, the error position / error pattern calculation circuit 4 has a circuit configuration of a program stored system as will be described later. As an example, if the i, j symbol in the first block is an error symbol,
As shown in FIGS. 2C and 2D, the error position / error pattern calculation circuit 4 outputs the data of the error positions i, j and the error patterns ei, ej during the period of the third block.

エラー位置i,jのデータが比較回路5に供給され、アド
レスカウンタ3からの読出しエンドレスと比較される。
比較回路5からは、2個の入力データが一致すると、第
2図Eに示すように、高レベルとなる比較出力が発生す
る。比較回路5の比較出力がセレクタ6に供給される。
エラーパターンのデータと遅延回路1の出力データとが
EXORゲート7に供給され、EXORゲート7の出力データと
遅延回路1の出力データとがセレクタ6により選択され
て出力データとされる。
The data at the error positions i and j are supplied to the comparison circuit 5 and compared with the read endless from the address counter 3.
When the two pieces of input data coincide with each other, the comparison circuit 5 generates a comparison output having a high level, as shown in FIG. 2E. The comparison output of the comparison circuit 5 is supplied to the selector 6.
The error pattern data and the output data of the delay circuit 1 are
It is supplied to the EXOR gate 7, and the output data of the EXOR gate 7 and the output data of the delay circuit 1 are selected by the selector 6 to be output data.

第2図Fは、遅延回路1の出力データを示し、Die及びD
jeは、エラーシンボルを表わしている。このエラーシン
ボルは、EXORゲート7において訂正され、エラー訂正後
のシンボルDi及びDjが比較回路5の出力(第2図E)に
より選択され、セレクタ6の出力には、第2図Gに示す
ようなエラー訂正後の第1ブロツクの出力データが得ら
れる。
FIG. 2F shows the output data of the delay circuit 1, and Die and D
je represents an error symbol. This error symbol is corrected in the EXOR gate 7, the error-corrected symbols Di and Dj are selected by the output of the comparison circuit 5 (FIG. 2E), and the output of the selector 6 is as shown in FIG. 2G. The output data of the first block after error correction is obtained.

第3図は、この一実施例におけるシンドローム発生回路
2の一例を示す。前述のように、シンドロームの形成に
必要なGF(28)上の乗算を行なうために、α12
の夫々をマトリクス表現のT1,T2,T3の各要素に変換する
ROM11,12,13が設けられている。EXORゲート20及び8ビ
ツトのレジスタ30は、シンドロームS0を形成するための
もので、EXORゲート20には、入力データ及びレジスタ30
の出力が入力される。ROM11,EXORゲート21及び8ビツト
のレジスタ31により、シンドロームS1が形成され、ROM1
2,EXORゲート22及び8ビツトのレジスタ32によりシンド
ロームS2が形成され、ROM1,EXORゲート23及び8ビツト
のレジスタ23によりシンドロームS3が形成される。つま
り、ROM11,12,13は、レジスタ31,32,33の夫々の出力を
マトリクス表現の各要素に変換してEXORゲート21,22,23
にフイードバツクする。
FIG. 3 shows an example of the syndrome generation circuit 2 in this embodiment. As described above, in order to perform the multiplication on GF (2 8 ) necessary for forming the syndrome, α 1 , α 2 , α 3
Transforms each of the to the elements of T 1 , T 2 , and T 3 in the matrix representation
ROMs 11, 12, and 13 are provided. The EXOR gate 20 and the 8-bit register 30 are for forming the syndrome S 0. The EXOR gate 20 has the input data and the register 30.
The output of is input. ROM11, EXOR gate 21 and 8-bit register 31 form syndrome S 1
2, the register 32 of the EXOR gate 22 and 8-bit syndrome S 2 are formed, the syndrome S 3 is formed by ROM 1, the EXOR gate 23 and 8 bits of the register 23. That is, the ROMs 11, 12, and 13 convert the respective outputs of the registers 31, 32, and 33 into respective elements of the matrix representation and convert the EXOR gates 21, 22, and 23.
Feed back to.

第3図に示すシンドローム発生回路2は、1ブロツクの
n個のシンボルが供給されることによつて下記式で表わ
されるシンドロームS0〜S3を出力する。
The syndrome generating circuit 2 shown in FIG. 3 outputs the syndromes S 0 to S 3 represented by the following equations when n blocks of 1 block are supplied.

S0=D1+D2+…+Dn-4+P3+P2+P1+P0 S1=D1・αn-1+D2・αn-2+…+Dn-4・α +P3・α+P2・α+P1・α+P0 S2=D1+α2(n-1)+D2・α2(n-2)+…+Dn-4・α +P3・α+P2・α+P1・α+P0 S3=D1+α3(n-1)+D2・α3(n-2)+…+Dn-4・α12 +P3・α+P2・α+P1・α+P0 第4図は、上述のシンドロームS0〜S3が供給されるエラ
ー位置,エラーパタン計算回路4の具体的構成を示す。
第4図において、40A,40B,40C,40Dはデータバスであ
る。41がプログラムカウンタで、1ブロツク毎にクリア
され、1クロツク毎にインクリメントされると共に、ジ
ヤンプ命令でジヤンプアドレスメモリ42の値がロードさ
れる。このジヤンプアドレスメモリ42は、ジヤンプ命令
が発生した時、フラツグレジスタ43に従つてジヤンプア
ドレスを出力する。フラツグレジスタ43は、比較命令が
発生した時、コンパレータ44の結果を入力すると共に、
以前のフラツグをシフトするものである。コンパレータ
44は、データバス40D上のデータと与えられた値とを比
較し、前者が後者より大きい時に高レベルの出力を発生
する。45がプログラムメモリで、プログラムカウンタ41
からのアドレスによつてプログラムメモリ45から回路全
体をコントロールするマイクロ命令が発生する。プログ
ラムメモリ45は、ROM又はRAMにより構成される。
S 0 = D 1 + D 2 +… + D n-4 + P 3 + P 2 + P 1 + P 0 S 1 = D 1・ α n-1 + D 2・ α n-2 + ・ ・ ・ + D n-4・ α 4 + P 3 α 3 + P 2 · α 2 + P 1 · α + P 0 S 2 = D 1 + α 2 (n-1) + D 2 · α 2 (n-2) +… + D n-4 · α 8 + P 3 · α 6 + P 2・ Α 4 + P 1・ α 2 + P 0 S 3 = D 1 + α 3 (n-1) + D 2・ α 3 (n-2) +… + D n-4・ α 12 + P 3・ α 9 + P 2・ α 6 + P 1 · α 3 + P 0 FIG. 4 shows a specific configuration of the error position / error pattern calculation circuit 4 to which the above-mentioned syndromes S 0 to S 3 are supplied.
In FIG. 4, 40A, 40B, 40C and 40D are data buses. A program counter 41 is cleared for each block, incremented for each clock, and the value of the jump address memory 42 is loaded by a jump instruction. The jump address memory 42 outputs the jump address according to the flag register 43 when a jump instruction is generated. The flag register 43 inputs the result of the comparator 44 when a comparison instruction is generated, and
It is a shift from the previous flag. comparator
44 compares the data on the data bus 40D with a given value and produces a high level output when the former is greater than the latter. 45 is the program memory, and the program counter 41
The micro-instruction for controlling the entire circuit is generated from the program memory 45 by the address from. The program memory 45 is composed of ROM or RAM.

46,47,48,49は、シンクロナス・ロード・レジスタで、
ロード命令により、レジスタ46,47,48がデータバス40D
のデータをラツチし、レジスタ49がフアンクシヨンメモ
リ66の出力データをラツチする。これらのレジスタ46〜
49の出力がバツフア50A,51A,52A,53Aを介してデータバ
ス40Aに供給されると共に、バツフア50B,51B,52B,52Bを
介してデータバス40Bに出力される。ALU(演算回路)54
は、バツフア50A〜53Aにより選択されたデータとバツフ
ア50B〜53Bにより選択されたデータとの演算処理を行な
うものである。ALU54は、コントロール信号によつて、
2進加算動作,EXORゲート(mod.2の加算)の動作及びAN
Dゲートの動作が切り替えられる構成のものである。55
及び56は、アウトイネーブル付レジスタで、ゲート命令
によりフアンクシヨンメモリ66の出力及びALU54の出力
を夫々データバス40Cに出力する。
46,47,48,49 are synchronous load registers,
Register 46, 47, 48 is data bus 40D by load instruction
Data is latched in, and the register 49 latches the output data of the function memory 66. These registers 46-
The output of 49 is supplied to the data bus 40A via the buffers 50A, 51A, 52A and 53A, and is output to the data bus 40B via the buffers 50B, 51B, 52B and 52B. ALU (arithmetic circuit) 54
Is for performing arithmetic processing on the data selected by the buffers 50A to 53A and the data selected by the buffers 50B to 53B. The ALU54 uses the control signal to
Binary addition operation, EXOR gate (addition of mod.2) operation and AN
This is a configuration in which the operation of the D gate can be switched. 55
Reference numerals 56 and 56 are registers with an out enable, which output the output of the function memory 66 and the output of the ALU 54 to the data bus 40C by a gate command.

57,58,59,60は、シンドローム発生回路2からのシンド
ロームS0〜S3が供給される変換用ROMである。つまり、
(S0=αk,S1=αl,S2=αm,S3=α)とした時に、RO
M57〜60の夫々からk,l,m,nが出力される。このROM57〜6
0の出力がアウトイネーブル付レジスタ61,62,63,64に夫
々供給され、ゲート命令によりデータバス40D上に出力
される。65もアウトイネーブル付レジスタであり、フア
クシヨンメモリ66の出力をデータバス40Dに出力するた
めのものである。67,68,69,70は、シンクロナスロード
レジスタで、ロード命令により、データバス40C及び40D
からデータをラツチする。レジスタ67及び68は、エラー
位置n−i及びn−jのデータをラツチし、レジスタ69
及び70は、エラーパターンei及びejのデータをラツチす
る。
Reference numerals 57, 58, 59 and 60 are conversion ROMs to which the syndromes S 0 to S 3 from the syndrome generation circuit 2 are supplied. That is,
When (S 0 = α k , S 1 = α l , S 2 = α m , S 3 = α n ), RO
Each of M57-60 outputs k, l, m, n. This ROM57 ~ 6
Outputs of 0 are supplied to the out-enable registers 61, 62, 63 and 64, respectively, and output to the data bus 40D by a gate command. Reference numeral 65 is also a register with an out enable, and is for outputting the output of the function memory 66 to the data bus 40D. 67, 68, 69 and 70 are synchronous load registers, which can be loaded with data buses 40C and 40D by a load instruction.
Latch data from. Registers 67 and 68 latch the data at error locations ni and nj and register 69
And 70 latch the data of the error patterns ei and ej.

フアンクシヨンメモリ66は、8バンクを有し、アドレス
の上位3ビツト(0〜7で表わす)により、次のよう
に、内容が割当てられている。
The function memory 66 has 8 banks, and the contents are assigned by the upper 3 bits of the address (represented by 0 to 7) as follows.

0,1:x′をαに変換するテーブル。A table for converting 0,1: x ′ into α x .

2,3:x′を(mod.255)のxに変換するテーブル。A table that converts 2,3: x ′ to x in (mod.255).

4:αをxに変換するテーブル。4: A table that converts α x to x.

5:αを−xに変換するテーブル。5: A table for converting α x to −x.

6:Zを−xに変換するテーブル。6: A table that converts Z to -x.

7:−xを−yに変換するテーブル。7: A table for converting -x to -y.

但し、x′は、フルアダーの出力で9ビツトである。ま
た、(α=1+αa=1−α)であり、(α
=α-a+α)である。
However, x'is 9 bits in the output of the full adder. Further, (α x = 1 + α a , α y = 1−α a ), and (α Z
= Α −a + α a ).

上述のエラー位置及びエラーパターン計算は、前出の式
に示されるような演算を行なう。まず、シンドロームか
ら、 A=S0S2+▲S2 1▼=α B=S0S3+S1S2=α C=S1S3+▲S2 2▼=α を計算する。第5図は、この処理のフローチヤートであ
つて、図において、+がアダー,がEXORゲートの動
作、 がフアンクシヨンメモリ66の上位3ビツトがkの時の変
換動作,ダツシユ′は、アダーの結果が9ビツトである
ことを示す。フローは、図に向かつて左側から右側への
順序を示している。まず、ROM57〜60によつて、シンド
ロームS0〜S3がk,l,m,nに変換され、ALU54により(k+
m)′,(l+l)′,(k+n)′,(l+m)′,
(l+n)′,(m+m)′が演算される。このALU54
の出力がレジスタ56及びデータバス40Cに介してフアン
クシヨンメモリ66に供給される。フアンクシモンメモリ
66は、上位の3ビツトの値が0の時のテーブルを用い
て、図示の出力を発生する。フアンクシヨンメモリ66の
出力がレジスタ49,バツフア53A,53B及びデータバス40A,
40Bを介してALU54に入力される。ALU54は、両者の入力
のEXOR出力を発生し、この出力がレジスタ56及びデータ
バス40Cを介してフアンクシヨンメモリ66に供給され
る。フアンクシヨンメモリ66は、上位3ビツトの値が5,
4,4の時のテーブルを用いてデータ変換を行ない、−a,
b,cの出力が得られる。この演算及びデータ変換の動作
は、時分割多重でなされる。
The above-mentioned calculation of the error position and the error pattern is performed by the calculation shown in the above equation. First, from the syndrome, calculate A = S 0 S 2 + ▲ S 2 1 ▼ = α a B = S 0 S 3 + S 1 S 2 = α b C = S 1 S 3 + ▲ S 2 2 ▼ = α c To do. FIG. 5 is a flow chart of this processing, in which + is an adder, is an EXOR gate operation, Is a conversion operation when the upper 3 bits of the function memory 66 are k, and the duty 'indicates that the result of the adder is 9 bits. The flow once shows the order from left to right in the figure. First, the ROMs 57 to 60 convert the syndromes S 0 to S 3 into k, l, m, n, and the ALU 54 outputs (k +
m) ', (l + l)', (k + n) ', (l + m)',
(L + n) 'and (m + m)' are calculated. This ALU54
Is supplied to the function memory 66 via the register 56 and the data bus 40C. Juan Simon Memory
66 uses the table when the value of the upper 3 bits is 0 to generate the illustrated output. The output of the function memory 66 is the register 49, buffers 53A, 53B and the data bus 40A,
Input to ALU54 via 40B. The ALU 54 generates an EXOR output of both inputs, and this output is supplied to the function memory 66 via the register 56 and the data bus 40C. The function memory 66 has a value of the upper 3 bits of 5,
Data conversion is performed using the table for 4 and 4, −a,
Outputs of b and c are obtained. The operations of this calculation and data conversion are performed by time division multiplexing.

次に、 D=B/A=α E=C/A=α D2/E=α-a+α→1+α=αx,1+α-a=α で表わされるD,E,1+αa,・1+α-aを求める。この時
の処理のフローを第6図に示す。このフロー中の演算動
作は、ALU54によりなされ、データ変換は、フアンクシ
ヨンメモリ66によつてなされ、演算或いはデータの変換
は、時分割多重で行なわれる。
Next, D = B / A = α d E = C / A = α e D 2 / E = α -a + α a → 1 + α a = α x , 1 + α -a = α y D, E, 1 + α Calculate a , · 1 + α -a . The flow of processing at this time is shown in FIG. The arithmetic operation in this flow is performed by the ALU 54, data conversion is performed by the function memory 66, and arithmetic operation or data conversion is performed by time division multiplexing.

更に、第3図の段階として α=D/α αjD/α で表わされるエラー位置i,j及びエラーパターンei,ejが
求められる。第7図は、この段階において時分割多重で
なされる演算及びデータ変換のフローチヤートである。
エラー位置i,jのデータは、レジスタ67,68にラツチさ
れ、エラーパターンei,ejのデータは、レジスタ69,70に
ラツチされる。
Further, as the step of FIG. 3, α i = D / α x α j D / α y The error positions i, j and the error patterns ei, ej represented by FIG. 7 is a flow chart of calculation and data conversion performed by time division multiplexing at this stage.
The data of the error positions i and j are latched in the registers 67 and 68, and the data of the error patterns ei and ej are latched in the registers 69 and 70.

「応用例」 この発明は、リードソロモン符号のエラー訂正に限ら
ず、シンドロームを受信データ系列から生成し、このシ
ンドロームからエラー位置及びエラーパターンを求める
他のエラー訂正符号例えば隣接符号のエラー訂正にも適
用することができるものである。この場合には、前述の
一実施例のエラー位置,エラーパターン計算回路4のプ
ログラムを変更するだけで対処することが可能である。
“Application Example” The present invention is not limited to the error correction of the Reed-Solomon code, but is also applicable to other error correction codes for generating an error position and an error pattern from the syndrome by generating a syndrome from a received data sequence, for example, error correction of an adjacent code. It can be applied. In this case, it is possible to deal with this by simply changing the program of the error position / error pattern calculation circuit 4 of the above-described embodiment.

「発明の効果」 この発明に依れば、シンドロームの生成をハードワイヤ
ド方式の回路構成により行なうと共に、エラー位置及び
エラーパターンの計算をプログラムストアド方式の回路
構成で行なうので、高速データのエラー訂正が可能とな
り、全てをハードワイヤド方式の構成で行なうのと異な
り、回路規模を小さくできると共に、符号の種類などに
関して汎用性を持つことができる。
[Advantages of the Invention] According to the present invention, since the syndrome is generated by the hard-wired circuit configuration and the error position and the error pattern are calculated by the program stored system circuit configuration, the error correction of the high-speed data is performed. This makes it possible to reduce the circuit scale and to provide versatility with respect to the types of codes, unlike the case where the hard wired system is used for all operations.

【図面の簡単な説明】[Brief description of drawings]

第1図はこの発明の一実施例の構成を示すブロツク図、
第2図はこの発明の一実施例の動作説明に用いるタイム
チヤート、第3図はこの発明の一実施例におけるシンド
ローム発生回路のブロツク図、第4図はこの発明の一実
施例におけるエラー位置,エラーパターン計算回路のブ
ロツク図、第5図,第6図及び第7図はエラー位置,エ
ラーパターン計算回路の動作説明に用いるフローチヤー
トである。 2……シンドローム発生回路、4……エラー位置,エラ
ーパターン計算回路、7,20,21,22,23……エクスクルー
シブORゲト、40A,40B,40C,40D……データバス、45……
プログラムメモリ。
FIG. 1 is a block diagram showing the construction of an embodiment of the present invention,
FIG. 2 is a time chart used for explaining the operation of one embodiment of the present invention, FIG. 3 is a block diagram of the syndrome generation circuit in one embodiment of the present invention, and FIG. 4 is an error position in one embodiment of the present invention. Block diagrams of the error pattern calculation circuit, FIGS. 5, 6, and 7 are flow charts used to explain the operation of the error position and error pattern calculation circuit. 2 …… Syndrome generation circuit, 4 …… Error position, error pattern calculation circuit, 7,20,21,22,23 …… Exclusive OR gate, 40A, 40B, 40C, 40D …… Data bus, 45 ……
Program memory.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】所定個の情報シンボル及びパリティシンボ
ルからなるブロックで分割された入力データであって、
エラー訂正符号の冗長データを含むものからシンドロー
ムを発生するに際し、上記各ブロックのデータ入力が終
了した時点で、該ブロックのシンドロームを発生するハ
ードワイヤド方式のシンドローム発生回路と、 入力データの書き込みに対して読み出しを、2ブロック
分遅延させる遅延回路と、 ブログラムメモリに格納されたプログラムにより制御さ
れ、所定のブロックのデータが入力されている間に該ブ
ロックの1つ前のブロックのエラー位置及びエラーパタ
ーンを上記シンドロームから演算する演算回路と、 上記入力データ中の上記エラー位置のシンボルを訂正す
る訂正回路と、 を備えたことを特徴とするエラー訂正回路。
1. Input data divided into blocks consisting of a predetermined number of information symbols and parity symbols,
When the syndrome is generated from the one including the redundant data of the error correction code, at the time when the data input of each block is completed, the syndrome generation circuit of the hard-wired system that generates the syndrome of the block and the writing of the input data On the other hand, the delay circuit delaying the reading by two blocks and the error position of the block immediately before the block while being controlled by the program stored in the program memory, while the data of the predetermined block are being input. An error correction circuit comprising: an arithmetic circuit that calculates an error pattern from the syndrome; and a correction circuit that corrects a symbol at the error position in the input data.
JP58237373A 1983-12-16 1983-12-16 Error correction circuit Expired - Lifetime JPH0744463B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58237373A JPH0744463B2 (en) 1983-12-16 1983-12-16 Error correction circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58237373A JPH0744463B2 (en) 1983-12-16 1983-12-16 Error correction circuit

Publications (2)

Publication Number Publication Date
JPS60128723A JPS60128723A (en) 1985-07-09
JPH0744463B2 true JPH0744463B2 (en) 1995-05-15

Family

ID=17014420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58237373A Expired - Lifetime JPH0744463B2 (en) 1983-12-16 1983-12-16 Error correction circuit

Country Status (1)

Country Link
JP (1) JPH0744463B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849975A (en) * 1987-11-10 1989-07-18 International Business Machines Corporation Error correction method and apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57182253A (en) * 1981-04-30 1982-11-10 Hiroichi Okano Decoding method for triple or quadruple error correction bch code

Also Published As

Publication number Publication date
JPS60128723A (en) 1985-07-09

Similar Documents

Publication Publication Date Title
US6141786A (en) Method and apparatus for performing arithmetic operations on Galois fields and their extensions
EP0278383B1 (en) Error correction method using reed-solomon code
US4751704A (en) Method and apparatus for decoding BCH code
JP3281387B2 (en) CRC / EDC checker system
US6304994B1 (en) Reed Solomon decoder and decoding method utilizing a control signal indicating a new root for an initial error locator polynomial with respect to new erasure information
EP0262944B1 (en) Error correction apparatus
JPH0722966A (en) Error numeric value polynomial and error position polynomial arithmetic circuit
JPH0744463B2 (en) Error correction circuit
JP2553565B2 (en) Galois field arithmetic unit
JP3233502B2 (en) Decryption device
JP3850512B2 (en) Reed-Solomon decoder
JP3126973B2 (en) Error correction processor
JPH04365139A (en) Syndrome operation circuit for error correction processing
JPH0834439B2 (en) Galois field arithmetic unit
JP2907138B2 (en) Error correction arithmetic processing method and processing circuit
JP3310186B2 (en) Reed-Solomon decoding circuit
JP2605269B2 (en) Error correction method
JP2570251B2 (en) Arithmetic circuit of finite field
JP3231811B2 (en) Matrix operation circuit
JP2553571B2 (en) Galois field arithmetic unit
JP2603244B2 (en) Error correction device
JPH0834440B2 (en) Galois field calculation method
JPH05100880A (en) Error position/errer pattern derivation circuit
JPH02214332A (en) error correction device
JPH10150367A (en) Error correction device