JPS6221137B2 - - Google Patents

Info

Publication number
JPS6221137B2
JPS6221137B2 JP57053187A JP5318782A JPS6221137B2 JP S6221137 B2 JPS6221137 B2 JP S6221137B2 JP 57053187 A JP57053187 A JP 57053187A JP 5318782 A JP5318782 A JP 5318782A JP S6221137 B2 JPS6221137 B2 JP S6221137B2
Authority
JP
Japan
Prior art keywords
error
syndrome
output
circuit
code
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
Application number
JP57053187A
Other languages
Japanese (ja)
Other versions
JPS58169641A (en
Inventor
Yukihiro Okada
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.)
NEC Home Electronics Ltd
Original Assignee
NEC Home Electronics Ltd
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 NEC Home Electronics Ltd filed Critical NEC Home Electronics Ltd
Priority to JP57053187A priority Critical patent/JPS58169641A/en
Publication of JPS58169641A publication Critical patent/JPS58169641A/en
Publication of JPS6221137B2 publication Critical patent/JPS6221137B2/ja
Granted 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)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 本発明はリード・ソロモン符号を用いた誤り訂
正復号方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an error correction decoding method using Reed-Solomon codes.

リード・ソロモン符号はランダム誤りを訂正す
るための現在知られている最も強力な誤り訂正符
号の1つである。
Reed-Solomon codes are one of the most powerful error correcting codes currently known for correcting random errors.

リード・ソロモン符号に関しては米国のノー
ス・ホーランド パブリツシング カンパニイ
(NORTH−HOLLAND PUBLISHING
COMPANY)から1978年に発行されたエフ・ジ
エー・マツクウイリアム(F.J.MACWILIAM)
エヌ・ジエー・エイ・スローン(N.J.A.
SLOAN)著 ザ セオリイ オブ エラー コ
レクテイング コーズ(THE THEORY OF
ERROR CORRECTING CODES)に詳述され
ている。
Regarding Reed-Solomon codes, the North Holland Publishing Company in the United States (NORTH-HOLLAND PUBLISHING
FJMACWILIAM, published in 1978 by COMPANY
N.A.A. Sloan (N.J.A.
SLOAN) The Theory of Error Correcting Cause (THE THEORY OF
ERROR CORRECTING CODES).

この符号は、巡回符号の一種であるためにその
符号化に関しては、よく知られた巡回符号の符号
器を用いて比較的簡単に実現できるが、その復号
に関しては一般的な従来の方法を用いると装置が
非常に複雑になり、また符号自体のもつ誤り検出
能力を充分に使いきつていないという欠点を有し
ている。
Since this code is a type of cyclic code, its encoding can be realized relatively easily using a well-known cyclic code encoder, but its decoding requires a general conventional method. This has the disadvantage that the apparatus becomes very complex and the error detection ability of the code itself is not fully utilized.

本発明の目的は従来のこのような欠点を除去す
るにある。
The object of the present invention is to eliminate these drawbacks of the prior art.

本発明は、M個(但しMは正の整数)の1次多
項式の積で得られる生成多項式から生成される符
号長N(但しNはMよりも大きい正の整数)のリ
ード・ソロモン符号を受信して、該受信符号に対
するM個のシンドロームS1、S1、…………、SM-
を演算し、該シンドロームをもとに該受信符号
内に1シンボルだけの誤りが生じていることを検
出したらその誤りを訂正し、2シンボル以上の誤
りを検出したら誤りの存在を示す検出情報を出力
する方式に関するものである。
The present invention generates a Reed-Solomon code of code length N (where N is a positive integer larger than M) generated from a generator polynomial obtained by the product of M (where M is a positive integer) first-order polynomials. and M syndromes S 1 , S 1 , ......, S M- for the received code.
1 , and if it is detected that an error of only one symbol has occurred in the received code based on the syndrome, the error is corrected, and if an error of two or more symbols is detected, detection information indicating the existence of an error is generated. This relates to a method for outputting .

特に本発明は、M個の前記シンドロームS0
S1、…………、SM-1を演算し、M個のシフトレ
ジスタからそれぞれ前記シンドロームS0、S1、…
………、SM-1を個別に生成するシンドローム演
算手段を備えるとともに、この演算手段がシンド
ロームS0、S1、…………、SM-1の演算後に入力
を遮断して前記シフトレジスタのシフト動作を繰
返すことによつて演算を繰返す際、1回シフトす
るごとに前記M個の各シフトレジスタの出力が等
しいか否かを判定するシンドローム比較手段と、
前記シフトレジスタをシフトするために与えるシ
フトクロツクの数を計数し、その値より誤り位置
を求める誤り位置演算手段と、前記シンドローム
S0、S1、…………、SM-1のすべてが“0”か否
かを判定するシンドロームオールゼロ判定手段
と、前記シンドローム比較手段の出力と前記誤り
位置演算手段の出力と前記シンドロームオールゼ
ロ判定手段の出力とに応答して予め定めたアルゴ
リズムに従つて訂正を実行すべきか否かを決定
し、訂正を行う場合には前記誤り位置検出手段よ
り求められた位置のシンボルに対し、前記シンド
ロームS0を訂正すべき誤り情報として検出し、こ
の誤り訂正を実行する誤り訂正手段とを有するリ
ード・ソロモン符号復号方式に関するものであ
る。
In particular, the present invention provides M number of the syndromes S 0 ,
S 1 , ......, S M-1 are calculated, and the syndromes S 0 , S 1 , ... are calculated from M shift registers, respectively.
......, syndrome calculating means for individually generating S M-1 , and after calculating the syndromes S 0 , S 1 , ......, S M-1, this calculating means cuts off the input and shifts the Syndrome comparing means for determining whether the outputs of the M shift registers are equal or not each time a shift is performed when repeating an operation by repeating a shift operation of the registers;
an error position calculating means for counting the number of shift clocks applied to shift the shift register and calculating an error position from that value;
Syndrome all-zero determination means for determining whether all of S 0 , S 1 , ......, S M-1 are "0", the output of the syndrome comparison means, the output of the error position calculation means, and the syndrome In response to the output of the all-zero determining means, it is determined whether or not to perform correction according to a predetermined algorithm, and when correction is to be performed, the above-mentioned The present invention relates to a Reed-Solomon code decoding system having an error correction means that detects syndrome S 0 as error information to be corrected and performs the error correction.

次に図面を参照して本発明を詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の一実施例を示すブロツク図で
ある。本実施例はシンドローム演算回路1、S0
憶回路2、シンドローム比較回路3、誤り位置演
算手段4、シンドロームオールゼロ判定回路5、
訂正実行制御論理回路6および誤り訂正実行回路
7を有している。
FIG. 1 is a block diagram showing one embodiment of the present invention. This embodiment includes a syndrome calculation circuit 1, an S 0 storage circuit 2, a syndrome comparison circuit 3, an error position calculation means 4, a syndrome all zero determination circuit 5,
It has a correction execution control logic circuit 6 and an error correction execution circuit 7.

さて、このブロツク図に従つて本実施例の動作
の詳細を説明する前にまずその動作原理を先に説
明する。
Now, before explaining the details of the operation of this embodiment according to this block diagram, the principle of operation will first be explained.

一般に、リード・ソロモン符号においては、N
個のシンボルが1符号ブロツクを構成し、この1
符号ブロツク中にM個の検査用シンボルと、N−
M個の情報伝達用シンボルとが含まれる。ここで
用いられる各シンボルには種種あるが、本実施例
では、一般に広く用いられている8ビツトの符号
ベクトルと仮定する。また、説明を具体的にする
ために、1符号ブロツク中のシンボルの数(符号
長)N=32とし、また1符号ブロツク中の検査用
シンボルの数M=4と仮定する。従つて1符号ブ
ロツク中の情報伝達データ用シンボルの数は、N
−M=28となる。
Generally, in a Reed-Solomon code, N
symbols constitute one code block, and this one
M check symbols and N-
M information transmission symbols are included. There are various types of symbols used here, but in this embodiment, it is assumed that they are 8-bit code vectors, which are generally widely used. In order to make the explanation more concrete, it is assumed that the number of symbols (code length) in one code block is N=32, and the number of test symbols in one code block M=4. Therefore, the number of information transmission data symbols in one code block is N
−M=28.

さて、1符号ブロツク中の32個の各シンボルを B0、B1、B2、B3、B4、…………、B31 で表わすことにする。任意のBjは1バイトの符
号であり、従つて、28=256個の元の中の1つの
元を表わしている。また、この中のシンボルB4
〜B31の28個が情報伝達データ用シンンボルで、
残りのB0〜B3がこのB4〜B31をもとにして作られ
た検査用シンボルであると仮定する。
Now, each of the 32 symbols in one code block will be represented by B 0 , B 1 , B 2 , B 3 , B 4 , . . . , B 31 . Any B j is a 1-byte code and thus represents one element out of 2 8 =256 elements. Also, symbol B 4 in this
~B 31 , 28 symbols are for information transmission data,
It is assumed that the remaining B0 to B3 are test symbols created based on B4 to B31 .

さて、リード・ソロモン符号においては、符号
化の過程において、検査用シンボルB0〜B3は情
報伝達データ用シンボルB4〜B31との間で次の拘
束関係を満足するように作られる。すなわち、 B0+B1+B2+…………+B31=0 …………(1) B0+αB1+α2B2+…………+α31B31=0
…………(2) B0+α2B1+α4B2+…………+α62B31=0
…………(3) B0+α3B1+α6B3+…………+α93B31=0
…………(4) この(1)〜(4)式においては、各シンボルの記号B
jのほかに、記号αが用いられ、また、+で結ばれ
た和の演算と、α同志間の積(αの羃)およびα
の羃とBjとの積の演算が用いられている。この
αは特定のシンボルを代表し、また上述の和およ
び積も一般の2進数の和および積とは異なる特別
の演算を意味する。以下これについて説明する。
Now, in the Reed-Solomon code, during the encoding process, the test symbols B0 to B3 are created so as to satisfy the following constraint relationship with the information transmission data symbols B4 to B31 . That is, B 0 +B 1 +B 2 +…………+B 31 = 0 ………(1) B 0 +αB 12 B 2 +…………+α 31 B 31 = 0
………(2) B 0 + α 2 B 1 + α 4 B 2 +…… + α 62 B 31 = 0
………(3) B 0 + α 3 B 1 + α 6 B 3 +…… + α 93 B 31 = 0
………(4) In these formulas (1) to (4), the symbol B of each symbol
In addition to j , the symbol α is used, and the operation of the sum connected with +, the product between α (power of α), and α
The calculation of the product of the power of and B j is used. This α represents a specific symbol, and the above-mentioned sum and product also mean special operations different from the general sum and product of binary numbers. This will be explained below.

上述のように、本実施例ではBjもαもともに
8ビツトの“1”、“0”符号でできている符号ベ
クトルとする。従つて、いずれも28=256個の元
の中の1つの元を表わしている。
As mentioned above, in this embodiment, both B j and α are code vectors made up of 8-bit "1" and "0" codes. Therefore, each represents one element out of 2 8 =256 elements.

さて、この256個の中から任意の2つの元Aと
Bとを選び、この2つの元の和で指定される元A
+Bおよび2つの元の積で指定される元ABのい
ずれも、もとの256個の1つの元になると仮定し
てその各各を次のように定義する。
Now, select any two elements A and B from these 256 elements, and select the element A specified by the sum of these two elements.
Assuming that both +B and the element AB specified by the product of two elements become one element of the original 256, each of them is defined as follows.

和:第2図に示すように元Aおよび元Bを符号
ベクトルの形で表示し、各桁(各次元)ごとの排
他的論理和をとつた結果生ずる符号ベクトルをA
+Bと定義する。和の演算がこのように定義され
るために2個の同じ元の和は常に“0”(各次元
の成分がすべて“0”の符号ベクトル)となり、
また、和の逆算としての差の演算は和の演算と同
じになる。
Sum: As shown in Figure 2, elements A and B are expressed in the form of code vectors, and the code vector resulting from the exclusive OR of each digit (each dimension) is expressed as A.
+B is defined. Because the sum operation is defined in this way, the sum of two same elements is always “0” (a code vector in which all the components of each dimension are “0”),
Further, the calculation of the difference as the inverse calculation of the sum is the same as the calculation of the sum.

積:例えば第3図1に示すような元Aおよび元
Bがあると、これをxの多項式表現 A=1+x2+x3+x5 B=x2+x4 とし、この多項式の積ABを AB=(1+x2+x3+x5)(x2+x4)=x2+(x4+x4)+x5+x6+(x7+x7)+x9 のように作る。この中でxの同じ羃乗の項は、符
号ベクトルの同じ桁(次元)に対応するので、上
述の排他的論理和の規則を適用して整理すると上
式は、 AB=x9+x6+x5+x2 となる。この多項式はxの7乗以上の項(すなわ
ちx9の項)を含むので、このままではこれに対応
する8ビツトの符号ベクトルを指定することがで
きない。
Product: For example, if there are elements A and B as shown in Fig. 3, then let them be expressed as polynomials of x A=1+x 2 +x 3 +x 5 B=x 2 +x 4 , and the product AB of this polynomial is AB= (1 + x 2 + x 3 + x 5 ) (x 2 + x 4 ) = x 2 + (x 4 + x 4 ) + x 5 + x 6 + (x 7 + x 7 ) + x 9 . In this, terms of the same power of x correspond to the same digit (dimension) of the code vector, so if we apply the exclusive OR rule mentioned above and rearrange the above equation, AB=x 9 +x 6 +x 5 + x 2 . Since this polynomial includes a term of x to the 7th power or higher (that is, x9 term), it is not possible to specify the corresponding 8-bit code vector as is.

そこで、積を定義する場合には、それに伴つて
8次のある既約多項式f(x)を予め定めてお
き、これを用いて以下のように定義する。
Therefore, when defining the product, an irreducible polynomial f(x) of degree 8 is determined in advance and is used to define the product as follows.

このf(x)を f(x)=x8+x5+x3+x+1 と仮定すると、このf(x)を用いて前記ABの
多項式を割算し、その結果生ずる剰余を作る。こ
うすると、剰余は必らずxの7次またはそれ以下
の次数の多項式となるので、これに対応する8ビ
ツトの符号ベクトルが存在する。これを積ABと
定義する。今の場合、上述のABの多項式をf
(x)で除した商は、xとなり、剰余は x5+x4+x となる(この演算においても前述の排多的論理和
の規則が適用されていて、引き算と足し算は同じ
である)。これより AB=x5+x4+x となり、これを符号ベクトルで表示すると第3図
2に示すようになる。
Assuming that this f(x) is f(x)=x 8 +x 5 +x 3 +x+1, the polynomial of AB is divided using this f(x) and the resulting remainder is generated. In this case, the remainder will necessarily be a polynomial of degree 7 or less of x, and therefore there will be an 8-bit code vector corresponding to this. This is defined as the product AB. In this case, the polynomial of AB mentioned above is expressed as f
The quotient divided by (x) is x, and the remainder is x 5 + x 4 + x (the above-mentioned exclusive OR rule is applied to this operation as well, and subtraction and addition are the same). From this, AB=x 5 +x 4 +x, which is expressed as a code vector as shown in Fig. 3-2.

以上のように、8次の既約多項式f(x)を指
定すると、それに応じて256個の各元の間で、和
および積が定義され、またその逆算としての差お
よび商も定義され、256個の元の中で4則演算が
矛盾なく行なわれる。
As described above, when the 8th degree irreducible polynomial f(x) is specified, the sum and product are defined between each of the 256 elements, and the difference and quotient as the inverse calculation thereof are also defined, Four arithmetic operations are performed consistently among 256 elements.

さて、前記既約多項式f(x)を適当に選ぶこ
とにより、前記256個の元の中の“0”(すべての
桁の成分が“0”の元)を除く255個のすべての
元を、ある元αの羃乗の形で表わすことができ
る。すなわち、1を単位元とし、これにつぎつぎ
にαを乗ずることによつて生ずる元、α、α
α、…………、α255は前記“0”を除くすべ
ての元を一巡してα255で再び単位元1に戻るよ
うにすることができる。
Now, by appropriately selecting the irreducible polynomial f(x), all 255 elements except "0" (an element in which all digit components are "0") among the 256 elements can be solved. , can be expressed in the form of a power of some element α. In other words, by taking 1 as the identity element and multiplying it by α one after another, the elements α, α 2 ,
α3 , .

実際に、前記既約多項式f(x)として、 f(x)=x8+x5+x3+x+1 を用い、αとして多項式表現のxを用いると、
255のすべての元はαj(但しj=0、1、2、…
………、255)として表わすことができる。但し
α=α255=1である。このαを原始元と呼
び、またこのような性質を有する多項式f(x)
を原始多項式と呼ぶ。このような性質をもつ8次
の原始多項式は、上述のものを含んで16個あるこ
とが知られている。本実施例においては、この16
個の中の特定の一つの原始多項式によつて元の間
の演算が定義されていると仮定し、またこれによ
つて定義される前記原始元αを用いることにす
る。この結果、0を除く任意の元は、αj(但し
j=0、1、2、…………、254)で表現され、
従つて、任意の元は、指数jだけでも指定するこ
とができる。これを元の指数表現と呼ぶことにす
る。この指数表現を用いると、“0”を除く任意
の2つの元の積は、各各の元の指数表現をとり、
この両者を255を法として加えることにより両者
の積の指数表現として簡単に演算することができ
る。もし一方の元に“0”が含まれる場合には結
果の元を“0”とすればよい。また、商を作る場
合には、分母になる元の指数表現の2進数を、そ
の各桁の“1”“0”を反転してから前述と同様
に255を法として加えればよい。
Actually, if f(x)=x 8 +x 5 +x 3 +x+1 is used as the irreducible polynomial f(x), and x in polynomial expression is used as α,
All elements of 255 are α j (where j=0, 1, 2,...
......, 255). However, α 0255 =1. This α is called a primitive element, and a polynomial f(x) having such properties
is called a primitive polynomial. It is known that there are 16 8th-order primitive polynomials with such properties, including the ones mentioned above. In this example, these 16
It is assumed that operations between elements are defined by a specific primitive polynomial among the primitive polynomials, and the primitive element α defined by this is used. As a result, any element other than 0 can be expressed as α j (where j=0, 1, 2, ……, 254),
Therefore, any element can be specified using only the index j. We will call this the original exponential representation. Using this exponential representation, the product of any two elements except “0” takes the exponential representation of each element,
By adding both of them modulo 255, it can be easily calculated as an exponential expression of the product of both. If one element contains "0", the element of the result may be set to "0". In addition, when creating a quotient, it is sufficient to invert the "1" and "0" of each digit of the original binary number in exponential representation that becomes the denominator, and then add it modulo 255 as described above.

勿論、2つの元の和を演算する場合には、符号
ベクトルの表現を用いると簡単に行なうことがで
きる。
Of course, when calculating the sum of two elements, it can be easily performed using code vector representation.

このように、各元は、αの羃乗でも、αの指数
表現でも、符号ベクトル表現としても、また多項
式表現としても指定することができる。これらの
中のいずれの表現を用いるかは、その使用目的に
よつて最も適当なものを選ぶことができる。
In this way, each element can be specified as a power of α, an exponential representation of α, a code vector representation, or a polynomial representation. Which of these expressions to use can be selected depending on the purpose of use.

さて、こうして(1)〜(4)式の演算は定義された
が、実際に、任意の情報伝達データ用シンボル
B4〜B31から(1)〜(4)式の拘束条件を満足する検査
用シンボルB0〜B3を生成するには次のようにす
る。
Now, the operations in equations (1) to (4) have been defined in this way, but in reality, any symbol for information transmission data can be used.
The test symbols B 0 to B 3 that satisfy the constraint conditions of equations ( 1 ) to (4) are generated from B 4 to B 31 as follows.

今、生成多項式g(X)として、 g(X)=(X−1)(X−α)(X−α)(X−α) を定義し、一方符号多項式C(X)として C(X)=B31X31+B30X30+…………+B4X4 を定義する。このC(X)をg(X)で除した剰
余の多項式をR(X)とすると、R(X)はXに
関する3次またはそれ以下の多項式となるので、 R(X)=b3X3+b2X2+b1X+b0 と表わせる。こうして定まるb3、b2、b1およびb0
をそれぞれ検査用シンボルB3、B2、B1およびB0
として用いると、これらは次のような理由で(1)〜
(4)式の拘束条件を満す検査用シンボルとなつてい
る。
Now, as the generator polynomial g(X), g(X)=(X-1)(X-α)(X-α 2 )(X-α 3 ) is defined, and as the one-sign polynomial C(X), C Define (X)=B 31 X 31 +B 30 X 30 +…………+B 4 X 4 . If the polynomial of the remainder obtained by dividing this C(X) by g(X) is R(X), then R(X) is a polynomial of degree 3 or lower regarding X, so R(X)=b 3 X It can be expressed as 3 +b 2 X 2 +b 1 X+b 0 . b 3 , b 2 , b 1 and b 0 determined in this way
The test symbols B 3 , B 2 , B 1 and B 0 respectively
When used as , these are (1) ~
It is an inspection symbol that satisfies the constraint condition of equation (4).

今、C(X)をg(X)で除した商をQ(X)
と書くと、C(X)=g(X)Q(X)+R(X)
となり、これから、C(X)+R(X)=g(X)
Q(X)が導かれる(この場合もR(X)を引く
ことはR(X)を加えることと同じである)。従
つてC(X)+R(X)はg(X)で割り切れ
て、 B31X31+B30X30+…………+B4X4+B3X3+B2X2+B1X+B0=(X−1)(X−α)(X −α)(X−α)Q(X) が成立する。上式の両辺のXに、それぞれ1、
α、αおよびαをつぎつぎに代入することに
よつて、(1)〜(4)式の関係が導かれる。
Now, the quotient obtained by dividing C(X) by g(X) is Q(X)
When written as, C(X)=g(X)Q(X)+R(X)
From now on, C(X) + R(X) = g(X)
Q(X) is derived (again, subtracting R(X) is the same as adding R(X)). Therefore, C(X)+ R ( X ) is divisible by g(X), and B 31 X 31 +B 30 X 30 +…………+B 4 X 4 + B 3 X-1)(X-α)(X- α2 )(X- α3 )Q(X) holds true. For X on both sides of the above equation, 1,
By successively substituting α, α 2 and α 3 , the relationships in equations (1) to (4) are derived.

さて、上述のようにして送信側で作られた(1)式
の拘束条件を満す符号ブロツクB0、B1、B2、…
………、B31を受信し、それらがB0、B1、B2、…
………、B31として受信されたとする。そしてこ
れらの中の1つのシンボルBjにだけ誤りが生じ
たと仮定する。すなわち、j以外のkに対して
は、 Bk=Bk …………(5) が成立し、Bjに対しては Bj=Bj+Ej …………(6) とする。但し、Ejはj番目のシンボルに起つた
誤りとする。
Now, the code blocks B 0 , B 1 , B 2 , . . . which satisfy the constraint condition of equation (1) created on the transmitting side as described above are created.
………, B 31 are received and they are B 0 , B 1 , B 2 ,…
Suppose that it is received as B 31 . It is assumed that an error occurs in only one symbol B j among them. That is, for k other than j, B k =B k (5) holds true, and for B j , B j =B j +E j (6) holds true. However, E j is an error occurring in the j-th symbol.

さて、今受信側において、受信シンボルB0
B1、B2、…………、B31を用いて(2)式の左辺にα
224を乗じた演算、及び(3)式の左辺にα448(=α
193)を乗じた演算、及び(4)式の左辺にα672(=α
162)を乗じた演算を行ない、その結果をそれぞれ
S1、S2、S3とする。すなわち、この演算結果は B0+B1+B2+…………+B31=S0 …………(7) α224(B0+αB1+α2B2+…………α31B31) =S1 …………(8) α448(B0+α2B1+α4B2+…………α62B31) =S2 …………(9) α672(B0+α3B1+α6B2+…………α93B31) =S3 …………(10) となる。
Now, on the receiving side, the received symbol B 0 ,
Using B 1 , B 2 , ......, B 31 , α is added to the left side of equation (2).
224 and the left side of equation (3) is α 448 (=α
193 ), and the left side of equation (4) is α 672 (=α
162 ), and the results are respectively
Let them be S 1 , S 2 , and S 3 . In other words, the result of this calculation is B 0 +B 1 +B 2 +…………+B 31 =S 0 …………(7) α 224 (B 0 +αB 12 B 2 +…………α 31 B 31 ) =S 1 …………(8) α 448 (B 02 B 14 B 2 +…………α 62 B 31 ) =S 2 …………(9) α 672 (B 0 + α 3 B 16 B 2 +…………α 93 B 31 ) =S 3 …………(10).

もし、受信に誤りがなければ、(7)〜(10)式の左辺
は(1)〜(4)式の関係によりS0〜S3はすべてゼロにな
る。受信に誤りがあると(7)〜(8)式の各左辺に相当
する演算結果は、一般にゼロでないそれぞれの値
S0、S1、S2およびS3をとることになる。これをシ
ンドロームという。本実施例は、このシンドロー
ムS0〜S3を用い、送信側で1ブロツク内のシンボ
ル間に加えた(1)〜(4)式の拘束演算関係から誤り分
を求めてこれを訂正する。
If there is no error in reception, S 0 to S 3 on the left side of equations (7) to (10) will all be zero due to the relationships in equations (1) to (4). If there is an error in reception, the operation results corresponding to the left-hand sides of equations (7) to (8) will generally be each non-zero value.
We will take S 0 , S 1 , S 2 and S 3 . This is called a syndrome. In this embodiment, using the syndromes S 0 to S 3 , errors are calculated from the constraint calculation relationships of equations (1) to (4) added between symbols in one block on the transmitting side and corrected.

さて、(5)、(6)式の関係を(7)〜(10)式の左辺に代入
し、(1)〜(4)式の関係を用いて演算すると、各シン
ドロームS0、S1、S2、S3は、 で表わされる。
Now, by substituting the relationships in equations (5) and (6) into the left side of equations (7) to (10) and calculating using the relationships in equations (1) to (4), each syndrome S 0 , S 1 , S 2 , S 3 are It is expressed as

以下、このシンドロームS0、S1、S2、S3の演算
時において、受信符号ブロツク中の32シンボルを
B31〜B0とし、B31→B0の順に入力した場合の例に
従つて説明する。これは、比較的簡単な構成によ
り、得られたシンドローム情報S0〜S3を用いて誤
り訂正を行なうとともに、演算速度を速めかつ信
頼性を向上させた一例として示す。したがつて、
本発明の他の例としては、B31〜B0の各個に対応
するシンボルをC0〜C31とし、C0→C31の順に入
力してもよい。
Below, when calculating the syndromes S 0 , S 1 , S 2 , and S 3 , the 32 symbols in the received code block are
An example will be explained in which B 31 to B 0 are input in the order of B 31 →B 0 . This is shown as an example in which error correction is performed using the obtained syndrome information S 0 to S 3 with a relatively simple configuration, and the calculation speed is increased and reliability is improved. Therefore,
As another example of the present invention, the symbols corresponding to each of B 31 to B 0 may be set to C 0 to C 31 and input in the order of C 0 →C 31 .

以下、第1図を用いて上述に挙げた一例の動作
の詳細を説明する。
The details of the operation of the above-mentioned example will be described below with reference to FIG.

先ず、上述の32シンボルはB31→B0の順に入力
されるので、(11)式を変形すると、 S0=Ej …………(12) S0=α31-jS1 …………(13) S0=α2(31-j)S2 …………(14) S0=α3(31-j)S3 …………(15) となる。
First, the above 32 symbols are input in the order of B 31 → B 0 , so by transforming equation (11), S 0 = E j ......(12) S 0 = α 31-j S 1 ... ...(13) S 0 = α 2(31-j) S 2 …………(14) S 0 = α 3(31-j) S 3 …………(15).

また、第1図では受信された入力信号の符号ブ
ロツクは、データ入力ライン100より各シンボ
ルがB31、B30、…………B0の順序でシンドローム
演算回路1に供給される。このシンドローム演算
回路1において、上述の(7)〜(10)式に対応する演算
が実行されてシンドロームS0、S1、S2、S3が求め
られる。第4図a〜cは、この中のシンドローム
S1〜S3を求める回路例を示す。シンドロームS1
求める回路例第4図aは1段のシフトレジスタ1
3と、読み出し専用メモリ(以下ROMと称す
る)10,12および排他的論理和回路11から
なる。シフトレジスタ13および回路11はそれ
ぞれ8ビツト分を並列に処理する。またROM1
0はデータライン100より入力されるB31
B30、…………B0の各々(8ビツト)がアドレス
指定ができる256のメモリアドレスを有し、各ア
ドレス当り8ビツトのデータを格納できる容量を
有する。ROM12はシフトレジスタ13の出力
(8ビツト)でアドレス指定のできる256のメモリ
アドレスを有し、各メモリアドレス当り8ビツト
のデータを格納できる容量を有する。この第4図
aに示す回路は、シフトレジスタ13の出力によ
りROM12のメモリアドレスが指定され、この
ROM12から読み出されたデータと、ROM10
から読み出されるデータとの排他的論理和が回路
11によつてとられ、これがシフトレジスタ13
に再び読み込まれる。ここでROM12は任意の
8ビツトの2進数A′で表わすと、このA′で指定
されるROM12のメモリアドレスにあらかじめ
αA′(但し、αA′はこの2進数A′に対応する符
号ベクトルと原始元αとの積とする)を書き込ん
でおくことによつて、α倍の乗算器として動作す
る。また、ROM10は入力データの任意の8ビ
ツトの2進数をB′で表わすと、このB′で指定され
るROM10のメモリアドレスにあらかじめα
224B′(但し、α224B′は2進数B′に対応する符号
ベクトルと元α224との積)を書き込んでおくこ
とによつてα224倍の乗算器として働く。かくし
て、最初にシフトレジスタ13をリセツトし、入
力データを前述のようにB31、B30、…………B0
順序で次々に回路10を介して入力すると、B0
が入力された時点で、シフトレジスタ13の内容
は、 α224〔…………(((B31α+B30)α+B29)α+…………+B3)α+B2)α+B1)α+B0〕 =α224{α31B31+α30B30+…………+αB1+B0}=S1 となり、求めるシンドロームS1となる。ROM1
2の内容を上述のαのかわりにαおよびα
相当するものとし、かつROM10の内容を上述
のα224のかわりにα448、α672に相当するものと
することにより、同様な回路を用いてそれぞれシ
ンドロームS2およびS3を演算する回路が得られ
る。またROM12および10を除きシフトレジ
スタ13の内容をそのまま回路11にフイードバ
ツクすることによりシンドロームS0を演算する回
路が得られる。
Further, in FIG. 1, the symbol block of the received input signal is supplied from the data input line 100 to the syndrome calculation circuit 1 in the order of symbols B 31 , B 30 , . . . B 0 . In this syndrome calculation circuit 1, calculations corresponding to the above-mentioned equations (7) to (10) are executed to obtain the syndromes S 0 , S 1 , S 2 , and S 3 . Figures 4 a to c show the syndromes in this
An example of a circuit for determining S 1 to S 3 is shown. Example of a circuit for determining syndrome S 1 Figure 4a shows a one-stage shift register 1
3, read-only memories (hereinafter referred to as ROM) 10 and 12, and an exclusive OR circuit 11. Shift register 13 and circuit 11 each process 8 bits in parallel. Also ROM1
0 is B 31 input from the data line 100,
Each of B 30 , . . . B 0 (8 bits) has 256 memory addresses that can be addressed, and each address has a capacity to store 8 bits of data. The ROM 12 has 256 memory addresses that can be addressed by the output (8 bits) of the shift register 13, and each memory address has a capacity to store 8 bits of data. In the circuit shown in FIG. 4a, the memory address of the ROM 12 is designated by the output of the shift register 13, and
Data read from ROM12 and ROM10
The circuit 11 performs an exclusive OR with the data read from the shift register 13.
will be reloaded. Here, if the ROM 12 is expressed as an arbitrary 8-bit binary number A', the memory address of the ROM 12 specified by this A' is preset to αA' (however, αA' is the code vector corresponding to this binary number A' and the primitive By writing the multiplier with the element α, it operates as an α-times multiplier. Furthermore, if an arbitrary 8-bit binary number of the input data is expressed as B', the ROM 10 stores α in advance at the memory address of the ROM 10 specified by B'.
By writing 224 B' (where α 224 B' is the product of the code vector corresponding to the binary number B' and the element α 224 ), it functions as an α 224 multiplier. Thus, if we first reset the shift register 13 and input the input data through the circuit 10 one after another in the order of B 31 , B 30 , ...B 0 as described above, then B 0
At the time when is input, the contents of the shift register 13 are α 224 […………(((B 31 α+B 30 ) α+B 29 ) α+…………+B 3 ) α+B 2 ) α+B 1 ) α+B 0 ] = α 22431 B 3130 B 30 +……+αB 1 +B 0 }=S 1 , and the desired syndrome S 1 is obtained. ROM1
A similar circuit can be created by making the contents of ROM 10 correspond to α 2 and α 3 instead of α described above, and the contents of ROM 10 corresponding to α 448 and α 672 instead of α 224 described above. A circuit that calculates syndromes S 2 and S 3 , respectively, is obtained using . Furthermore, by feeding back the contents of the shift register 13 without change to the circuit 11 except for the ROMs 12 and 10, a circuit for calculating the syndrome S0 can be obtained.

かくして得られたシンドロームS0はS0記憶回路
2で記憶され、訂正実行制御論理回路6を介して
誤り訂正実行回路7に供給される。また、得られ
たシンドロームS0〜S3はシンドロームオールゼロ
判定回路5に供給される。
The syndrome S 0 thus obtained is stored in the S 0 storage circuit 2 and supplied to the error correction execution circuit 7 via the correction execution control logic circuit 6 . Further, the obtained syndromes S0 to S3 are supplied to the syndrome all-zero determination circuit 5.

さて、第4図a〜cのS1〜S3を求める回路にお
いて、いまシフトレジスタ13,17,21がシ
ンドロームS1〜S3を出力している。そこで、第4
図aに示すS1を求める回路において、データ入力
ライン100より入力されるデータを禁止し、シ
フトレジスタ13に誤り位置演算回路4より供給
されるシフトクロツクを入力し、そのシフトクロ
ツク数をnとすると、シフトクロツクが入力され
るごとにROM12はα乗算器として動作し、シ
フトレジスタ13の出力はαnS1となる。また、
第4図bに示すS2を求める回路においても同様に
してシフトクロツク数をnとすると、シフトレジ
スタ17の出力は、ROM16がα乗算器とし
て動作するからα2nS2となる。そして、第4図c
に示すS3を求める回路においても同様にしてシフ
トクロツク数nとすると、シフトレジスタ21の
出力はROM20がα乗算器として動作するか
らα3nS3となる。
Now, in the circuit for determining S 1 to S 3 in FIGS. 4a to 4c, shift registers 13, 17, and 21 are currently outputting syndromes S 1 to S 3 . Therefore, the fourth
In the circuit for calculating S 1 shown in FIG. Every time the shift clock is input, the ROM 12 operates as an α multiplier, and the output of the shift register 13 becomes α n S 1 . Also,
Similarly, in the circuit for calculating S 2 shown in FIG. 4B, if the number of shift clocks is n, the output of the shift register 17 will be α 2n S 2 since the ROM 16 operates as an α 2 multiplier. And Figure 4c
Similarly, in the circuit for determining S 3 shown in FIG. 3, if the number of shift clocks is n, the output of the shift register 21 becomes α 3n S 3 because the ROM 20 operates as an α 3 multiplier.

このようにして、シンドロームS0〜S3の演算後
に、シフトレジスタ13,17,21に入力され
るデータを禁止し、演算時と同一シフトクロツク
を入力することにより、それぞれαnS1、α2n
S2、α3nS3の3式の演算を行なうことができる。
In this way, after the calculations of syndromes S0 to S3 , the data input to the shift registers 13, 17, and 21 are inhibited, and by inputting the same shift clocks as used during the calculations, α n S 1 and α 2n are respectively input.
Three equations of S 2 and α 3n S 3 can be calculated.

以上のような演算において、いまn個目のシフ
トクロツクでは各シフトレジスタ13,17,2
1の出力がそれぞれαnS1、α2nS2、α3nS3となる
から、ここで各シフトレジスタ13,17,21
の出力が同時に、 αnS1=S0 …………(16) α2nS2=S0 …………(17) α3nS3=S0 …………(18) を満足したとすると、(13)式と(16)式、(14)
式と(17)式、および(15)式と(18)式より、 n=31−j j=31−n …………(19) という関係式が上記(16)、(17)、(18)式の3式
に成立する。この3式が成立することは、1シン
ボルの誤りがあることを示し、その誤りシンボル
の位置jは(19)式より求めることができる。実
施例ではシンドローム比較回路3で、S0記憶回路
2より供給されるシンドロームS0と、シンドロー
ム演算回路1における出力101より供給される
αnS1とを比較し、さらにシンドロームS0と出力
102より供給されるα2nS2との比較並びに、出
力103より供給されるα3nS3(但しn≧0)と
シンドロームS0との比較が実行される。したがつ
て、誤りが1個の場合には、上述のようにシンド
ローム比較回路3に入力された4個のデータ
(S0、αnS1、α2nS2、α3nS3)はすべて一致する。
この場合、シンドローム比較回路3は一致出力3
00を出力し、これを誤り位置演算回路4および
訂正実行制御論理回路6に供給する。
In the above calculation, the n-th shift clock now has shift registers 13, 17, and 2.
Since the outputs of 1 are α n S 1 , α 2n S 2 , α 3n S 3 respectively, each shift register 13, 17, 21
At the same time, the output satisfies α n S 1 = S 0 …………(16) α 2n S 2 = S 0 …………(17) α 3n S 3 = S 0 …………(18) Then, equations (13), (16), and (14)
From equations (17), (15), and (18), the relational equations n=31−j j=31−n (19) are obtained from the above (16), (17), ( 18) Equation 3 holds true. The fact that these three equations hold true indicates that there is a one-symbol error, and the position j of the error symbol can be found from equation (19). In the embodiment, the syndrome comparison circuit 3 compares the syndrome S 0 supplied from the S 0 storage circuit 2 and α n S 1 supplied from the output 101 of the syndrome calculation circuit 1, and further compares the syndrome S 0 and the output 102. A comparison with α 2n S 2 supplied from the output 103 and a comparison between α 3n S 3 (where n≧0) supplied from the output 103 and the syndrome S 0 are performed. Therefore, if there is one error, all four data (S 0 , α n S 1 , α 2n S 2 , α 3n S 3 ) input to the syndrome comparison circuit 3 as described above are Match.
In this case, the syndrome comparison circuit 3 outputs the coincidence output 3.
00, which is supplied to the error position calculation circuit 4 and the correction execution control logic circuit 6.

誤り位置演算回路4は、シンドローム比較回路
3より一致出力300を受けると、上述の誤りシ
ンボル位置j(=31−n)を演算し、j値を出力
する。誤り位置演算回路4の出力200は、すで
に述べたシンドローム演算回路1に含まれるシフ
トレジスタを使用して、誤りシンボル位置jを求
めるためのシフトクロツクである。回路4より出
力されたjの値は、訂正実行制御論理回路6へ供
給される。この回路6には、シンドロームオール
ゼロ判定回路よりシンドロームS0〜S3がすべてゼ
ロのときのみ出力500より論理“1”が入力さ
れる。
When the error position calculation circuit 4 receives the coincidence output 300 from the syndrome comparison circuit 3, it calculates the above-mentioned error symbol position j (=31-n) and outputs the j value. The output 200 of the error position calculation circuit 4 is a shift clock for determining the error symbol position j using the shift register included in the syndrome calculation circuit 1 described above. The value of j output from the circuit 4 is supplied to the correction execution control logic circuit 6. A logic "1" is input to this circuit 6 from the output 500 only when the syndromes S 0 to S 3 are all zero from the syndrome all zero determination circuit.

さて、訂正実行制御論理回路6は以上のように
して供給された諸入力信号によつて、下記のよう
な論理動作により誤り訂正の実行を制御する。ま
ず、回路5の出力500が論理“1”の場合、す
なわちシンドロームS0〜S3がすべてゼロの場合に
は、他の入力信号のいかんにかかわらず誤りが無
いものとして誤り訂正を行なわない。このとき回
路6からは、後段の回路に供給するためのエラー
フラツグ出力700を論理“0”として、この符
号ブロツクに誤りが無いことを意味する信号を出
力する。
Now, the correction execution control logic circuit 6 controls the execution of error correction by the following logical operations based on the various input signals supplied as described above. First, when the output 500 of the circuit 5 is logic "1", that is, when the syndromes S 0 to S 3 are all zero, it is assumed that there is no error regardless of other input signals, and no error correction is performed. At this time, the circuit 6 outputs a signal indicating that there is no error in this code block by setting the error flag output 700 to be supplied to the subsequent stage circuit to logic "0".

次に、回路5の出力500が論理“0”の場合
には以下のようになる。この場合には必ず誤りが
存在するはずであるが、もし誤りが1個の場合に
は(1)〜(10)式の関係よりシンドロームS0〜S3はすべ
てゼロとはならない。この場合、前記の比較を
(16)〜(18)の条件が成立した時シンドローム
比較回路3から一致出力300が出力され、誤り
位置演算回路4からは誤りシンボルの位置jが出
力される。これらの条件が成立したときに、(12)式
の誤り訂正情報S0を用いて、j番目のシンボルに
対して誤り訂正を実行するように、誤り訂正実行
回路7を制御すればよい。このとき、エラーフラ
ツグ出力700を論理“0”として、この符号ブ
ロツクには訂正の結果、誤りが無いことを意味す
る信号を出力する。このような関係が成立しない
場合、すなわちシンドローム比較回路3から一致
出力300が得られない場合には、誤りシンボル
の数が1個であるという条件が成立しない。した
がつて、この場合には訂正を行なわず、またこの
符号ブロツク中に誤りが含まれていることを意味
するエラーフラツグ出力700を論理“1”にす
る。
Next, when the output 500 of the circuit 5 is logic "0", the following occurs. In this case, there must be an error, but if there is only one error, all of the syndromes S 0 to S 3 will not be zero due to the relationships in equations (1) to (10). In this case, when the above-mentioned comparison conditions (16) to (18) are satisfied, the syndrome comparison circuit 3 outputs a coincidence output 300, and the error position calculation circuit 4 outputs the position j of the error symbol. When these conditions are met, the error correction execution circuit 7 may be controlled to perform error correction on the j-th symbol using the error correction information S 0 of equation (12). At this time, the error flag output 700 is set to logic "0" and a signal indicating that there is no error in this code block as a result of correction is output. If such a relationship does not hold, that is, if the coincidence output 300 is not obtained from the syndrome comparison circuit 3, the condition that the number of error symbols is one does not hold. Therefore, in this case, no correction is made and the error flag output 700, which means that this code block contains an error, is set to logic "1".

さて、回路6により、以上のような制御を受け
た誤り訂正情報Ej(S0)は出力400として、ま
た誤りシンボル位置情報jは出力401として誤
り訂正実行回路7に供給される。
Now, the error correction information E j (S 0 ) subjected to the above control is supplied by the circuit 6 as an output 400, and the error symbol position information j is supplied as an output 401 to the error correction execution circuit 7.

この回路7は、データ入力100より入力する
1ブロツク分のシンボルB31、B30…………B0を順
次つぎのシンボル位置に格納するバツフアを有す
る。このように格納されたシンボルの中の前記誤
りシンボル位置指定情報jにより指定される位置
のシンボルBjに対し、供給された前記誤り訂正
情報Ej(S0)を排他的論理和を用いて加算するこ
とにより誤り訂正を実行する。かくして誤り訂正
された後、各シンボルは出力600として前記エ
ラーフラグ出力700と共に後段の回路に供給さ
れる。
This circuit 7 has a buffer that sequentially stores one block of symbols B 31 , B 30 . . . B 0 input from the data input 100 into the next symbol position. Using exclusive OR, the supplied error correction information E j (S 0 ) is applied to the symbol B j at the position specified by the error symbol position specification information j among the symbols stored in this way. Error correction is performed by adding. After error correction in this manner, each symbol is supplied as an output 600 to a subsequent circuit together with the error flag output 700.

以上の実施例においては、説明を具体的にする
ために、符号長Nとして32、1符号ブロツク中の
検査用シンボルの数Mとして4、さらに各シンボ
ルのビツト数Kとして8で構成されるようなリー
ド・ソロモン符号を用いる場合について詳述した
が、本発明の方式はN、MおよびKの値がこれら
に限られるものでないことは明らかである。ま
た、使用した諸回路についての回路例も実現する
ための例を示したもので、これに限られるもので
はない。また、受信された入力信号の符号ブロツ
クは、各シンボルがB31、B30、…………B0の順序
で入力される場合を例示したが、シンドロームS0
〜S3の演算時において各シンボルB31〜B0の各個
に対応するシンボルをC0〜C31とし、かつC0
C1、…………C31の順序で入力してもよい。この
場合、シフトレジスタ13,17,21の第n回
目のシフトで(16)〜(18)式が満足されたと
き、(19)式はj=nとなる。したがつて、この
場合の回路構成は図示例ではnを31からダウンカ
ウントしたのに対し、nをゼロからアツプカウン
トすればよい。
In the above embodiment, in order to make the explanation concrete, the code length N is 32, the number M of check symbols in one code block is 4, and the number of bits K of each symbol is 8. Although the case in which a Reed-Solomon code is used has been described in detail, it is clear that the values of N, M, and K in the method of the present invention are not limited to these. Moreover, circuit examples of the various circuits used are shown as examples for realizing the circuits, and the present invention is not limited to these. In addition, the code block of the received input signal is exemplified in the case where each symbol is input in the order of B 31 , B 30 , ...B 0 , but the syndrome S 0
When calculating ~ S3 , the symbols corresponding to each of the symbols B31 ~ B0 are C0 ~ C31 , and C0 ,
You may input them in the order of C 1 , ……C 31 . In this case, when equations (16) to (18) are satisfied in the n-th shift of the shift registers 13, 17, and 21, j=n in equation (19). Therefore, in the circuit configuration in this case, n is counted down from 31 in the illustrated example, whereas n may be counted up from zero.

以上のように、本発明を用いると、Nシンボル
で1個のブロツクをなすリード・ソロモン符号内
に生じた1個の誤りを訂正し、2シンボル以上の
誤りを検出したらエラーフラグを出す方式におい
て、検査用シンボルの数M個までのすべてのシン
ドロームの情報を有効に利用し、シンドロームの
生成時に誤り検出を同時に行なうことによつて処
理速度を高めかつ、簡潔な回路構成により目的を
達成する信頼性の高い復号方式を提供することが
できる。これにより信頼性、経済性の向上を達成
できる。
As described above, when the present invention is used, one error occurring in a Reed-Solomon code that is made up of one block with N symbols is corrected, and an error flag is issued when two or more symbols are detected. , by effectively utilizing the information of all syndromes up to the number M of test symbols, and simultaneously performing error detection when generating syndromes, the processing speed is increased, and the reliability of achieving the objective is achieved with a simple circuit configuration. It is possible to provide a highly efficient decoding method. This makes it possible to improve reliability and economy.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例を示すブロツク図、
第2図は本実施例で用いる和の演算を説明するた
めの図、第3図1は本実施例で用いる演算の符号
多項式を説明するための図、第3図2は本実施例
で用いる積の演算を説明するための図、第4図は
本実施例のシンドローム演算回路の内部回路例を
示す図である。 1……シンドローム演算回路、2……S0記憶回
路、3……シンドローム比較回路、4……誤り位
置演算回路、5……シンドロームオールゼロ判定
回路、6……訂正実行制御論理回路、7……誤り
訂正実行回路。
FIG. 1 is a block diagram showing one embodiment of the present invention;
Figure 2 is a diagram for explaining the sum operation used in this example, Figure 3 1 is a diagram for explaining the sign polynomial for the operation used in this example, and Figure 3 2 is used in this example. FIG. 4, which is a diagram for explaining the product calculation, is a diagram showing an example of the internal circuit of the syndrome calculation circuit of this embodiment. DESCRIPTION OF SYMBOLS 1...Syndrome calculation circuit, 2... S0 storage circuit, 3...Syndrome comparison circuit, 4...Error position calculation circuit, 5...Syndrome all zero determination circuit, 6...Correction execution control logic circuit, 7... Error correction execution circuit.

Claims (1)

【特許請求の範囲】 1 M個(但しMは正の整数)の1次多項式の積
で得られる生成多項式から生成される符号長N
(但しNはMよりも大きい正の整数)のリード・
ソロモン符号を受信して、該受信符号に対するM
個のシンドロームS0、S1、…………SM-1を個別
に出力するシンドローム演算手段と、 この演算手段がシンドロームS0、S1、…………
M-1の演算後に前記受信符号の入力を遮断して
演算を繰返す際、この繰返し演算を1回するごと
に前記演算手段の各出力が等しいか否かを判定す
るシンドローム比較手段と、 前記繰返し演算をするために与えるシフトクロ
ツクの数を計数し、その値より誤り位置を求める
誤り位置演算手段と、 前記シンドロームS0、S1、…………SM-1のす
べてがゼロか否かを判定するシンドロームオール
ゼロ判定手段と、 前記シンドローム比較手段の出力と前記誤り位
置演算手段の出力と前記シンドロームオールゼロ
判定手段の出力とに応答して、あらかじめ定めた
アルゴリズムに従つて訂正を実行すべきか否かを
決定し、かつ訂正を行なう場合には前記誤り位置
演算手段より求められた位置のシンボルに対し前
記シンドロームS0を訂正すべき誤り情報として検
出するとともに、前記シンドロームS0、S1、……
……SM-1をもとに前記受信符号内に1シンボル
だけの誤りが生じていることを検出したらその誤
りを訂正し、2シンボル以上の誤りを検出したら
誤りの存在を示す検出情報を出力する誤り訂正手
段とを備えたリード・ソロモン符号復号方式。
[Claims] 1 Code length N generated from a generator polynomial obtained by the product of M (where M is a positive integer) first-order polynomials.
(where N is a positive integer larger than M)
A Solomon code is received, and M for the received code is
syndrome calculating means for individually outputting the syndromes S 0 , S 1 , ......S M-1 ;
Syndrome comparing means for determining whether each output of the calculating means is equal or not each time the repeated calculation is performed when the input of the received code is cut off after the calculation of S M-1 and the calculation is repeated; Error position calculation means for counting the number of shift clocks given for repeated calculations and determining the error position from that value ; syndrome-all-zero determination means for determining whether or not correction should be performed according to a predetermined algorithm in response to the output of the syndrome comparison means, the output of the error position calculation means, and the output of the syndrome-all-zero determination means; When determining and correcting the error position, the syndrome S 0 is detected as error information to be corrected for the symbol at the position determined by the error position calculation means, and the syndromes S 0 , S 1 , . . . …
...If it is detected that an error of only one symbol has occurred in the received code based on S M-1, the error is corrected, and if an error of two or more symbols is detected, detection information indicating the existence of the error is transmitted. A Reed-Solomon code decoding system comprising an output error correction means.
JP57053187A 1982-03-31 1982-03-31 Read solomon coding and decoding system Granted JPS58169641A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57053187A JPS58169641A (en) 1982-03-31 1982-03-31 Read solomon coding and decoding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57053187A JPS58169641A (en) 1982-03-31 1982-03-31 Read solomon coding and decoding system

Publications (2)

Publication Number Publication Date
JPS58169641A JPS58169641A (en) 1983-10-06
JPS6221137B2 true JPS6221137B2 (en) 1987-05-11

Family

ID=12935865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57053187A Granted JPS58169641A (en) 1982-03-31 1982-03-31 Read solomon coding and decoding system

Country Status (1)

Country Link
JP (1) JPS58169641A (en)

Also Published As

Publication number Publication date
JPS58169641A (en) 1983-10-06

Similar Documents

Publication Publication Date Title
US4099160A (en) Error location apparatus and methods
US7392461B2 (en) Decoding for algebraic geometric code associated with a fiber product
JPS59123945A (en) Numerous byte error correction system
EP0112988A2 (en) Syndrome processing for multibyte error correcting systems
EP0249982B1 (en) Decoder
WO1997000559A1 (en) Dedicated alu architecture for 10-bit reed-solomon error correction module
EP0621698A2 (en) Error correction method including erasure correction, and apparatus therefore
JPH02148225A (en) Data processing method and apparatus for calculating multipicative inverse element of finite field
JP3875274B2 (en) Method and apparatus for shortened fire code error trapping decoding
JPS5949618B2 (en) Serial encoder for cyclic block codes
JPH10107650A (en) Error detection circuit and error correction circuit
JPS6316929B2 (en)
JPH10112659A (en) Error correction decoding device
EP0393080B1 (en) Hypersystolic reed-solomon encoder
US7266760B1 (en) Method and apparatus for calculating cyclic redundancy checks for variable length packets
JPH10112660A (en) Error decoding method and device utilizing reed solomon code
JPS6217256B2 (en)
JPS6221137B2 (en)
JP2000020333A (en) Decoding device, arithmetic unit and their methods
US5526370A (en) Weighted sum codes for error detection
JPH0133055B2 (en)
JPS6034136B2 (en) Reed-Solomon code decoding method
KR950008485B1 (en) Unierror correction r-s decoder
JPH10215187A (en) Error detection encoding and decoding device and method
JPH08139612A (en) Reed solomon error correction code decoding circuit