JPH011332A - Decoding method of Reed-Solomon code - Google Patents
Decoding method of Reed-Solomon codeInfo
- Publication number
- JPH011332A JPH011332A JP62-156166A JP15616687A JPH011332A JP H011332 A JPH011332 A JP H011332A JP 15616687 A JP15616687 A JP 15616687A JP H011332 A JPH011332 A JP H011332A
- Authority
- JP
- Japan
- Prior art keywords
- error
- polynomial
- pointer
- correction
- reed
- 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.)
- Granted
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
(産業上の利用分野〕 ゛
この発明は、リード・ソロモン符号の復号方法、特に、
イレージヤ訂正方法に関する。[Detailed Description of the Invention] (Industrial Application Field) [This invention relates to a Reed-Solomon code decoding method, in particular,
This invention relates to an erasure correction method.
この発明では、パリティ検査マトリクスと受信語により
、シンドロームを演算し、シンドロームから誤り位置多
項式σ(x)及び誤り評価多項式ω(x)を算出し、誤
り位置多項式σ(x)の形式的一次微分の多項式σ′(
x)及び誤り評価多項式ω(x)を用い、〔ep=ω(
α−p)/σ′ (α−p)〕の演算により、エラーパ
ターンepを求め、誤り位置pのシンボルを訂正するよ
うにしたリード・ソロモン符号の復号方法において、ポ
インタで示されるエラー位置と対応する値で形成された
誤り位置多項式をσ1(x)とし、誤り位置多項式σ″
″(x)及びシンドローム多項式S(x)を乗算して求
めたσ* (x) 5(x)を多項式ω*(x)とした
時に
deg σ* (x) >deg (1)” (x)の
条件が成立する時に、ポインタを正しいとしてイレージ
ヤ訂正を行うようにしたもので、ポインタの信頼性を確
実にチエツクすることができるものである。In this invention, a syndrome is calculated using a parity check matrix and a received word, an error locator polynomial σ(x) and an error evaluation polynomial ω(x) are calculated from the syndrome, and the formal first derivative of the error locator polynomial σ(x) is calculated. The polynomial σ′(
x) and error evaluation polynomial ω(x), [ep=ω(
In the Reed-Solomon code decoding method, the error pattern ep is obtained by calculating the error pattern ep and the symbol at the error position p is corrected by calculating the error position indicated by the pointer. Let the error locator polynomial formed by the corresponding values be σ1(x), and the error locator polynomial σ″
σ* (x) obtained by multiplying ``(x) and syndrome polynomial S(x) When 5(x) is a polynomial ω*(x), deg σ* (x) > deg (1)'' (x ), the pointer is considered to be correct and erasure correction is performed when the following conditions are met, making it possible to reliably check the reliability of the pointer.
リード・ソロモン符号(Reed 5oloson C
ode)の復号は、
l)シンドロームの計算
ii)誤り位置多項式σ(x)、誤り評価多項式ω(x
)の導出
1ii)誤り位置と誤り値の推定
iv)誤り訂正の実行
のステップでなされる。従来の方程式の根を利用した解
を用いる復号方法は、5誤り以上の多重誤りの訂正の場
合には、適用できない、この5誤り以上の訂正の場合に
は、ユークリッド互除法を用いたものが知られている。Reed-Solomon code (Reed 5oloson C
l) Calculation of syndrome ii) Error locator polynomial σ(x), error evaluation polynomial ω(x
) derivation 1 ii) estimation of error position and error value iv) execution of error correction. Conventional decoding methods that use solutions using the roots of equations cannot be applied in the case of correction of multiple errors of 5 or more errors. Are known.
即ち、ユークリッド互除法を使用して、誤り位置多項式
σ(x)及び誤り評価多項式ω(x)の産出がなされる
。That is, the Euclidean algorithm is used to generate the error locator polynomial σ(x) and the error evaluator polynomial ω(x).
リード・ソロモン符号のt重誤り訂正用のパリティ検査
行列Hは、(t:訂正可能数、n:符号長)とすると、
上述のパリティ検査行列Hと受信信号の積から下記のよ
うに、シンドロームが発生され、また、シンドローム多
項式が定義される。The parity check matrix H for t-fold error correction of a Reed-Solomon code is (t: correctable number, n: code length). From the product of the above parity check matrix H and the received signal, the syndrome is calculated as follows. is generated and a syndrome polynomial is defined.
So−Σr、 αj −1、、、Σekα(k−11
k(−#!
S、=Σr i(x””−” =E e k(x”
(ト”it
S、=Σr、 α(j*1) (+−1)−Σekα
(J+Il (k−114E
S zc−+ =”、E r 1 (x” ”−”
= Σe z (x” ”−”に区
上式で発生された値を係数とする次の多項式をシンドロ
ーム多項式と称する。So−Σr, αj −1, , Σekα(k−11
k(-#!S,=Σr i(x""-"=E e k(x"
(t"it S, = Σr, α(j*1) (+-1)-Σekα
(J+Il (k-114E S zc-+ =”, E r 1 (x” ”-”
= Σe z (x'') The following polynomial whose coefficients are the values generated by the above equation is called a syndrome polynomial.
5(x) =SO+S、x+Stx” + 、、−1−
S、t−、X2L−’誤り訂正のために種々の多項式が
あるが、それらは次の関係式を満足する。5(x) = SO+S, x+Stx" + ,, -1-
There are various polynomials for S, t-, X2L-' error correction, which satisfy the following relational expression.
φ(x) ・x” +σ(x) ・5(x) −(
11)(x)但し、
ω(x)=Σe 、 ・rl (x −cx−”−”
):誤り評価多項式りぐE 糞(L
lL
上式の中で、実際の訂正をする場合に必要となるものは
、誤り位置多項式σ(x)と誤り評価多項式ω(x)の
二つである。φ(x) ・x” +σ(x) ・5(x) −(
11) (x) However, ω(x)=Σe, ・rl (x −cx−”−”
): Error evaluation polynomial RigE (L lL In the above equation, two things are required for actual correction: the error locator polynomial σ(x) and the error evaluation polynomial ω(x). be.
上式が常に成り立つとした場合、X2Lは当然分かるが
、受信信号から知ることが出来るのは、S(x)のみで
ある。このxztとS (x)からユークリッド互除法
により、σ(x)、ω(x)を求めることができる。こ
こで、良(知られたユークリッド互除法の例として、「
与えられた正の整数mとnに対し、それの最大公約数d
及び(am+bn=d)となる整数a、bを計算せよ」
という問題を解くのにユークリッド互除法が使用される
。整数に限らず、多項式の場合も同様である。即ち、(
m−’X”)(n−+5(x))と対応させれば良い。If the above equation always holds, then X2L can of course be known, but only S(x) can be known from the received signal. From this xzt and S (x), σ(x) and ω(x) can be found by Euclidean algorithm. Here, as an example of the well-known Euclidean algorithm,
Given positive integers m and n, their greatest common divisor d
Calculate the integers a and b such that (am+bn=d)
Euclidean algorithm is used to solve this problem. The same applies not only to integers but also to polynomials. That is, (
m-'X'')(n-+5(x)).
但し、上記の整数の問題は、互除法を最後まで実行して
最大公約数dを求めるわけであるが、誤り訂正を実行す
るために、σ(x)、ω(x)を求める場合は、最後ま
で互除法を実行して最大公約数を求めるわけではない。However, in the above integer problem, the greatest common divisor d is obtained by executing the mutual division method to the end, but when calculating σ(x) and ω(x) in order to perform error correction, It does not mean that the algorithm is executed to the end to find the greatest common divisor.
途中で次の条件が成立したら、互除法の実行を止める。If the following conditions are met midway through, the execution of the mutual division method is stopped.
t≧deg a (x) >deg ω(x)(deg
は、多項式の次数を意味する。)ユークリッド互除法を
用いて、導出されたσ(x)、ω(x)を用いて、誤り
位置の推定及び誤り値の推定がされ、誤り訂正が実行さ
れる。この処理について4サンプル誤り訂正符号の場合
について説明する。受信信号が第8図Aに示すように、
nシンボルの場合、誤り位置多項式σ(x)のXとして
代入される値は、第8図Bに示すように、受信信号の最
後から、その最初に向かって順に(1゜α−1,α−9
・ α 、 ・・α−(a−11)となる。即
ち、pという番号は、受信信号の最後から数えた番号で
ある。t≧deg a (x) >deg ω(x) (deg
means the degree of the polynomial. ) Using the Euclidean algorithm, the derived σ(x) and ω(x) are used to estimate the error position and error value, and perform error correction. This process will be explained in the case of a 4-sample error correction code. As the received signal is shown in FIG. 8A,
In the case of n symbols, the value substituted as X in the error locator polynomial σ(x) is (1° α-1, α -9
・α, ...α-(a-11). That is, the number p is the number counted from the end of the received signal.
一例として、第9図Aにおいて、斜線で示すように、受
信信号の最後を0番目とすると、1番目及び4番目の各
々の位置で、誤りが発生し、これらの誤りが第9図Bに
示すように、(α■、α3)の誤りパターンである場合
の訂正を考える。この場合のシンドローム多項式は、下
記のものとなる。As an example, in FIG. 9A, if the last received signal is the 0th position, as indicated by diagonal lines, errors will occur at the 1st and 4th positions, and these errors will be reflected in FIG. 9B. As shown, let us consider correction in the case of an error pattern of (α■, α3). The syndrome polynomial in this case is as follows.
5(x)=rx” xフ +a” x” −zr
’ x’+αle′x’ +ax3+a” x” +
a’ x+a”上記のシンドローム多項式S (x)と
x2・4とを用い、ユークリッド互除演算により、σ(
x)及びω(x)を求める。その結果を示すと、下記の
ように、誤り位置多項式σ(x)及び誤り評価多項式ω
(x)が求まる。5(x)=rx" xfu +a"x" -zr
'x'+αle'x'+ax3+a"x" +
σ(
x) and ω(x). The results are as follows: error locator polynomial σ(x) and error evaluation polynomial ω
(x) is found.
σ(x)−x” +cx”x+cr”
ω(x)=αS x十αI8
σ(x)を形式的に1次微分してなるσ′(x)は、σ
′(x) −αI0
となる、これらの誤り位置多項式及び誤り評価多項式を
用いて、誤り位置及び誤りパターンを求める。誤り位置
多項式σ(x)に、順に(1,α−1゜α−3,・・・
)の値を代入し、その時の値がゼロになれば、誤り位置
と推定される。また、誤りパターンepは、
ep=ω(α−″′)/σ′ (α一つにより、求めら
れる。σ(x)−x” +cx”x+cr” ω(x)=αS
Using these error locator polynomials and error evaluation polynomials, which are expressed as '(x) - αI0, the error locator and error pattern are determined. In the error locator polynomial σ(x), (1, α-1°α-3, . . .
), and if the value at that time becomes zero, it is estimated to be an error position. Further, the error pattern ep is obtained as follows: ep=ω(α−″′)/σ′ (α alone).
第9図の場合では1
、 ((x−凰 ) −a−”+a’ + 。
区0=0σ(α−4)−α−3+α6+α10=0とな
り、誤り位置が分る。In the case of Fig. 9, 1, ((x-凰)-a-"+a'+.
Ward 0=0σ(α-4)-α-3+α6+α10=0, and the error position can be found.
誤りパターンel及びe4は、
e 、”= 6) (ff−’) / (t ”””
α” / (t ”−(x−’=α■
e 4 =6)(ff−”) / (1!l0−(x”
/ (x”=I:t”となり、正しい誤りパターンを求
めることができる。誤り訂正の実行は、受信系列に対し
て、上記の誤りパターンを(+*od、 2 )の加算
することでなされる。The error patterns el and e4 are e, "= 6) (ff-') / (t """
α” / (t ”−(x−′=α■ e 4 =6)(ff−”) / (1!l0−(x”
/ (x"=I:t", and the correct error pattern can be found. Error correction is performed by adding (+*od, 2) to the above error pattern to the received sequence. Ru.
上述のリード・ソロモン符号に関して、1つの誤りは、
2つの未知数を含んでいる。従って、を重誤り訂正の場
合には、21個のパリティが付加されて、受信側で発生
される2を個のシンドロームがt個の誤りの場合には、
2を個の独立な方程式に対応して、結局、を個の誤り位
置と、を個の誤りパターンを解くことが可能になってい
る。Regarding the Reed-Solomon code mentioned above, one error is
Contains two unknowns. Therefore, in the case of heavy error correction, 21 parities are added, and if the 2 syndromes generated on the receiving side are t errors, then
Corresponding to 2 independent equations, it is possible to solve 2 error positions and 2 error patterns.
この訂正方法と他に、リード・ソロモン符号では、イレ
ージヤ訂正という方法がある。In addition to this correction method, there is a method called erasure correction for Reed-Solomon codes.
前出の下式を再度、とりあげる。Let us take up the equation below again.
φ(x) ・x” +6(x) ・5(x) =、
a>(x)これより、
σ(r) ・5(x)ミω(x) (sod、
x ”)が成り立つ、第9図の例に関して計算する。φ(x) ・x” +6(x) ・5(x) =,
a>(x) From this, σ(r) ・5(x)mi ω(x) (sod,
The calculation is performed for the example of FIG. 9, where x '') holds.
5(x) −ex” x’ +cx” x’ +cx7
x’+crN)x4 +4K” 十α3X” 十〇”
x+cr”σ(x)=x’+α1@x+α10
1F(x)Sχx) mar” x” +ax” +c
r’ x+a”=α″x+cr” (mod、x”
)−ω(x−)
が成立していることが分る。5(x) −ex"x'+cx"x' +cx7
x'+crN)x4 +4K"10α3X"10"
x+cr"σ(x)=x'+α1@x+α10 1F(x)Sχx) mar"x"+ax"+c
r'x+a"=α"x+cr" (mod, x"
)−ω(x−) holds true.
イレージヤ訂正の場合に1よ、他の誤り検出符号等を使
用して、ポインタが発生される。ポインタとは、誤りら
しいことを示すもので、ポインタが立ったからといって
、そのシンボルが直ちに誤りであるとは限らないことに
注意する必要がある。1 in the case of erasure correction, a pointer is generated using another error detection code, etc. A pointer indicates that something is likely to be an error, and it must be noted that just because a pointer is set, it does not necessarily mean that the symbol is an error.
第1O図八及び第1−0図已に示すように、第9図Bと
同様の誤りが発生しており、一方、第10図Cに示す位
置にポインタが立っている場合のイレージヤ訂正につい
て説明する。As shown in Figures 10-8 and 1-0, the same error as in Figure 9B has occurred, and on the other hand, regarding erasure correction when the pointer is at the position shown in Figure 10C. explain.
最初に、ポインタより、誤り位置多項式σ(x)と対応
する誤り位置多項式σl” (x)を作る。ボインクは
、第10図Cから明らかなように、(x=1) (x=
α−’)(x=α−”)(x=α−4)の位置に相当す
るところに立ったので、σI”(x)は、次のようにな
る。First, from the pointer, create the error locator polynomial σ(x) and the corresponding error locator polynomial σl" (x). As is clear from FIG.
Since we stood at a position corresponding to α-') (x=α-'') (x=α-4), σI''(x) is as follows.
σ、“(x)= (x+1)(x+α−1)(x+α−
2)(x+α−4)
=X’ +cx’ x” +rx” x” +cx
”x+cx”次に、この多項式σ、 ” (x)とシン
ドローム多項式S (x)とを用いて娯り評価多項式ω
、 ” (x)を求める。σ, “(x)= (x+1)(x+α−1)(x+α−
2) (x+α-4) =X'+cx'x"+rx"x" +cx
“x+cx” Next, using this polynomial σ, ” (x) and the syndrome polynomial S (x), we create an entertainment evaluation polynomial ω
, ” Find (x).
σ1” (x) 5(x)ミω、 ” (x)実際に計
算すると、
ω 、 ” (x) =cx s x”
+x” +tx lo (mod、x’ )また、
σ、 “ ′(x)=αフ xg +α10従って、
誤りパターンを求めてみると、次のようになる。σ1” (x) 5(x)mi ω, ” (x) When actually calculated, ω, ” (x) = cx s x”
+x" +tx lo (mod, x') Also, σ, "'(x)=αf xg +α10Therefore,
The error pattern is as follows.
eo=ω、 ” (1) /σ、”(1)−〇/α6−
0
誤りでないところなので、誤りパターンがOで良い。eo=ω, ”(1)/σ,”(1)−〇/α6−
0 Since this is not an error, the error pattern can be O.
X÷α−1
ep=ω、′(α−′)/σ、1 ′ (α−’)−α
目/l−α1
X;α−2
ez =ωl ’ (cr−”) / (JI” ”
((r−”)−0/α1t=O
X=α−4
(!4 ””ωI” ((r−’) / (11”
′((r−’)=α目/α目−α3
以上のように、全て正しく誤りパターンが求まり、訂正
できることが分る。X÷α−1 ep=ω, ′(α−′)/σ, 1 ′(α−′)−α
eye/l-α1 X;α-2 ez =ωl'(cr-") / (JI"
((r-”)-0/α1t=O X=α-4 (!4 ””ωI” ((r-’) / (11”
'((r-') = αth/αth - α3 As described above, it can be seen that all error patterns can be correctly determined and corrected.
イレージヤ訂正の場合には、ポインタが不正確な場合に
は、誤った訂正を行うおそれがある。例えば第10図A
及び第10図Bと同様の誤りが第11図A及び第11図
Bに示すように、発生している場合に、第11図Cに示
すように、誤りを見逃したポインタが発生した場合を考
える。In the case of erasure correction, if the pointer is inaccurate, there is a risk of incorrect correction. For example, Figure 10A
11A and 11B, and a pointer that misses the error occurs as shown in FIG. 11C. think.
このポインタにより求められた誤り位置多項式%式%(
)
また、σz ” (x) 5(x)を計算すると、σ
x ” (x) 5(x) =txx’ +cxIzx
” +cx” x’+a’ x’ +x3+α” x”
+a′4=ωt ” (x) (mod、x’
)となることが分かった。この多項式によっては、ポイ
ンタが立っていない位置の誤りの訂正ができない。The error locator polynomial % expression % (
) Also, when calculating σz ” (x) 5(x), σ
x ” (x) 5(x) =txx' +cxIzx
"+cx"x'+a'x'+x3+α"x"
+a'4=ωt'' (x) (mod, x'
) was found to be. This polynomial cannot correct errors at positions where the pointer is not located.
従来のリード・ソロモン符号の復号方法では、イレージ
ヤ訂正を行う時に、果してポインタが全ての誤り位置を
示しているかどうかを判断することができない問題があ
った。In the conventional Reed-Solomon code decoding method, when erasure correction is performed, there is a problem in that it cannot be determined whether the pointer indicates all the error positions.
従って、この発明の目的は、ポインタがエラー位置を全
て示しているかどうかをチエツクすることができ、信頼
性が高いイレージヤ訂正を行うことができるリード・ソ
ロモン符号の復号方法を提供することにある。Therefore, an object of the present invention is to provide a Reed-Solomon code decoding method that can check whether the pointer indicates all error positions and can perform erasure correction with high reliability.
この発明では、パリティ検査マトリクスと受信語により
、シンドロームを演算し、シンドロームから誤り位置多
項式σ(x)及び誤り評価多項式ω(x)を算出し、誤
り位置多項式σ(x)の形式的一次微分の多項式σ′(
x)及び誤り評価多項式ω(x)を用い、〔ep=ω(
α−P)/σ′ (α−p)〕の演算により、エラーパ
ターンepを求め、誤り位Wpのシンボルを訂正するよ
うにしたリード・ソロモン符号の復号方法において、ポ
インタで示されるエラー位置と対応する値で形成された
誤り位置多項式をσ′″(x) とし、誤り位置多項式
σ″(x)及びシンドローム多項式5(x)を乗算して
求めたσ’ (x) 5(x)を多項式ω9(x)とし
た時に
deg σ″(x) >deg ω* (x)の条件が
成立する時に、ポインタを正しいとしてイレージヤ訂正
がなされる。In this invention, a syndrome is calculated using a parity check matrix and a received word, an error locator polynomial σ(x) and an error evaluation polynomial ω(x) are calculated from the syndrome, and the formal first derivative of the error locator polynomial σ(x) is calculated. The polynomial σ′(
x) and error evaluation polynomial ω(x), [ep=ω(
In the Reed-Solomon code decoding method, the error pattern ep is obtained by calculating the error pattern ep and the error position Wp is corrected by calculating the error position indicated by the pointer. Let the error locator polynomial formed by the corresponding values be σ'''(x), and multiply the error locator polynomial σ''(x) by the syndrome polynomial 5(x) to obtain σ'(x) 5(x). When the polynomial ω9(x) is satisfied and the condition of deg σ″(x)>deg ω*(x) is satisfied, erasure correction is performed by assuming that the pointer is correct.
第10図Cに示すように、誤り位置を全て含むポインタ
が立っている場合には、
σI* (x)= (x+1)(x+cr−’)(x+
α−2)(x+α−4)
=x4+α? x3+α2 xg+α′。x+α8ω、
” (*) =α’ x3+x” +tx” (mo
dyx” )となる。As shown in Figure 10C, when the pointer that includes all error positions is standing, σI* (x) = (x+1) (x+cr-') (x+
α−2)(x+α−4) =x4+α? x3+α2 xg+α′. x+α8ω,
” (*) =α' x3+x” +tx” (mo
dyx”).
一方、第11図Cに示すポインタのように、一つでも、
エラー位置を含まないポインタの場合には、
at ” (x) = (x+1) (x+cr−’
) Cx+cr−2)−x” +cx” x” +r
x” x” +a’ x十a”また、at ” (x)
5(x)を計算すると、at ” (x) 5(x)
:=αx’ +α”x” +oe” x’+α’ x
’ +x3+α3 xZ+αI4=ωt ” (x)
(sod、x” )となる、これらのことから下記
のことが分る。On the other hand, as shown in the pointer shown in Figure 11C, even one
In the case of a pointer that does not contain an error location, at ” (x) = (x+1) (x+cr-'
) Cx+cr-2)-x” +cx” x” +r
x"x"+a' x tena"also at" (x)
When calculating 5(x), at ” (x) 5(x)
:=αx'+α"x"+oe"x'+α' x
' +x3+α3 xZ+αI4=ωt ” (x)
(sod,
を重誤り訂正符号で、イレージヤ訂正をする場合、
■2を個以下のポインタが正しい誤り位置を全て含む場
合
deg a” (x) >deg ω* (x)(又は
deg ty” (x) −deg ω* (x)
+ 1 )021個以下のポインタが誤り位置をひとつ
でも含まない場合、即ち、正しいポインタとして働かな
い場合
deg a” (x)≦deg ω* ’ (x)とな
ることが分る。When performing erasure correction using a heavy error correction code, ■If the pointers below 2 include all correct error positions deg a” (x) > deg ω* (x) (or deg ty” (x) − deg ω* (x)
It can be seen that deg a'' (x)≦deg ω*' (x) if the 021 or less pointers do not include even one error position, that is, if they do not work as correct pointers.
以下、この発明の一実施例について図面を参照して説明
する。この説明は、下記の順序に従ってなされる。An embodiment of the present invention will be described below with reference to the drawings. This description is given in the following order.
a、復号方法
す、多項式乗算回路
a、復号方法
第1図は、この一実施例のリード・ソロモン符号の復号
方法を示すフローチャートである。第1図において、最
初にポインタの数Npが(Np≦2t)かどうかが調べ
られる(ステップ■)、ポインタの数がNp以下であれ
ば、ポインタを使用しないで、誤り訂正が可能なので、
ステップ■に移行し、シンドローム多項式S (x)か
ら誤り位置多項式σ(x)及び誤り評価多項式ω(x)
が求められる。この方法としては、ユークリッド互除法
が使用できる。a. Decoding method Polynomial multiplier circuit a. Decoding method FIG. 1 is a flowchart showing the Reed-Solomon code decoding method of this embodiment. In FIG. 1, it is first checked whether the number of pointers Np is (Np≦2t) (step ■). If the number of pointers is less than or equal to Np, error correction is possible without using pointers.
Proceed to step ■, and from the syndrome polynomial S (x), the error locator polynomial σ(x) and the error evaluation polynomial ω(x)
is required. As this method, Euclidean algorithm can be used.
ステップ■から■に移行し、(deg σ(x)<t)
かどうかが調べられる。この条件が成立しないと、エラ
ー訂正が不可能なため、ポインタ位置の全てにエラー修
整フラグがセットされる(ステップ■)、ステップ■の
条件が成立すると、ステップ■に移行し、誤り位置が探
される。即ち、(σ(x)=O)となる(x=α−p凰
)が探される。Move from step ■ to ■, (deg σ(x)<t)
It can be checked whether If this condition is not met, error correction is impossible, so error correction flags are set at all pointer positions (step ■).If the condition of step ■ is met, the process moves to step ■, where the error position is searched. It will be done. That is, (x=α−p凰) such that (σ(x)=O) is searched for.
この検出されたエラー位置p直が(0≦p1くn)かど
うかが調べられる(ステップ■)。このステップ■の条
件が成立する時には、エラー訂正のステップ■に移行し
、ステップ■の条件が成立しない時には、ステップ■の
エラー修整フラグのセットのステップに移行する。It is checked whether the detected error position p is (0≦p1×n) (step ■). When the condition of step (2) is satisfied, the process moves to step (2) of error correction, and when the condition of step (2) is not satisfied, the process moves to step (2) of setting the error correction flag.
エラー訂正は、エラー位置多項式σ(x)の形式的な1
次微分をσ゛(x)とすると、次式により、エラーパタ
ーンを求め、このエラーパターンを受信語に加算する処
理である。Error correction is based on the formal 1 of the error locator polynomial σ(x)
If the order differential is σ'(x), then the error pattern is obtained from the following equation, and this error pattern is added to the received word.
ep!”ω(α−p1)/σ′ (α−p″)上述の処
理と異なり、ステップ■において、エラーポインタの数
Npが2を以上の場合には、イレージヤ訂正がなされる
。イレージヤ訂正の場合、ポインタの位置から誤り位置
多項式σ1(x)が計算される(ステップ■)0次のス
テップ■では、ω*(x)(=σ* (x) X5(x
) )が計算される。ep! "ω(α-p1)/σ'(α-p") Unlike the above-described processing, erasure correction is performed if the number Np of error pointers is 2 or more in step (2). In the case of erasure correction, the error locator polynomial σ1(x) is calculated from the pointer position (step ■). In the 0th-order step ■, ω*(x)(=σ* (x)
) ) is calculated.
ここで、ポインタの信頼性の判断がなされる(ステップ
■) 、 (deg a” (x) >deg ω*
(x))が成立する時には、ポインタの信頼性が高い
と判断され、エラーパターンeptがステップ■におい
て求められる。Here, the reliability of the pointer is judged (step ■), (deg a” (x) > deg ω*
When (x)) is established, it is determined that the reliability of the pointer is high, and the error pattern ept is determined in step (3).
epL=ω* (α−”)/σ0 ′ (α−1ll
)ポインタの信頼性が低い場合には、イレージヤ訂正が
なされない。epL=ω* (α-”)/σ0′ (α-1ll
) If the reliability of the pointer is low, no erasure correction is performed.
一例として、第12図Aにおいて斜線で示すように、(
1,α1.α−2,α−3,α−4)の位置に誤りが発
生しており、各々の誤りが第12l8に示すように、(
α4.α4.α3.α8.α、)であって、 ポインタ
が第12図Cに示すように、(1,α−1,α−g、α
弓、α−4.α″7)の位置に立っている場合について
説明する。As an example, as shown by diagonal lines in FIG. 12A, (
1, α1. An error occurs at the position α-2, α-3, α-4), and each error causes the error to occur at the position (12l8).
α4. α4. α3. α8. α, ), and the pointer is (1, α-1, α-g, α
Bow, α-4. The case where the user is standing at the position α″7) will be explained.
ポインタより、誤り位置多項式σ“、を求める。From the pointer, find the error locator polynomial σ".
6” ! (x)= (x+1)(x+α−’)(x+
cr−”) (x + α−3) (x+α−4)
(x+α−7)=x” +x” +rx” x’ +a
IOx3+a’ x”+ αllx+α13
従って、
σI、’=x4 +αz+Xz +α3受信信号から作
られたシンドローム多項式5(x)は、
5(x)=α”X’ +a’ x6+α” x5十αb
xA+α” x’ 十X” +rx’ X+a’誤り
評価多項式ω“、(x)は、
σ* = (x)・S (x)ミ
a”xS+x’ +a”x” +ct14x” +αI
4X+(x2=G)” s (x) (Illod
、 x” )となり、また、
deg a” 3 (x) =deg (111s (
x) + 1となる。従って、ポインタが真の誤り位置
を全て含んでいることが分る。即ち、このポインタは、
信頼できるということである。実際に、誤りパターンを
σ 2 (x) + ω“、(x)より求めてみると、
次のようになる。6”! (x)= (x+1)(x+α-')(x+
cr-”) (x + α-3) (x+α-4)
(x+α−7)=x” +x” +rx” x' +a
IOx3+a'x"+ αllx+α13 Therefore, the syndrome polynomial 5(x) created from the received signal is
xA+α"x'10X"+rx'X+a' error evaluation polynomial ω", (x) is
4X+(x2=G)” s (x) (Illod
, x”), and deg a” 3 (x) = deg (111s (
x) + 1. Therefore, it can be seen that the pointer contains all true error locations. That is, this pointer is
It means you can trust it. Actually, when we find the error pattern from σ 2 (x) + ω", (x), we get
It will look like this:
x=1
e6=ω3’″(1) / 63 ” ’ (1)=
α”/α4;α4
X−α−1
el ””(d3 ” (α−’) / (f3 ”
’ ((r−J=1/α目−α4
X;α−2
el −ω3′″ (α−2)/σ31 ′ (α−2
)=α4 /α=α3
X±α−3
ep−ω3′(α−3)/σ、1′(α−3)−α13
/α目=α2
X;α−4
e4=ω31(α−4)/σ3“ (α−4)工α4/
α3 =α
χ=α−7
e7−ω3′(α−7)/σ3′″ ′ (α−7)=
0/α1t=0
この位置は、真のエラーでないので、0となることが正
しい。x=1 e6=ω3''' (1) / 63 ''' (1)=
α”/α4; α4 X−α−1 el “”(d3 ” (α−′) / (f3 ”
' ((r-J=1/αth-α4
)=α4 /α=α3 X±α−3 ep−ω3′(α−3)/σ, 1′(α−3)−α13
/αth=α2
α3 = α χ=α−7 e7−ω3′(α−7)/σ3′″ ′(α−7)=
0/α1t=0 Since this position is not a true error, it is correct that it is 0.
b、多項式乗算回路
上述のイレージヤ訂正では、次の2種類の計算を行う必
要がある。b. Polynomial Multiplication Circuit In the erasure correction described above, it is necessary to perform the following two types of calculations.
■ポインタ位置に対応するα−1” (i=1.2゜・
・・・、2t)を根とする誤り位置多項式σ8(χ)の
係数σ、(j=1.2. ・・・2t−1)を求める
。■α-1” (i=1.2°・corresponding to the pointer position)
..., 2t) of the error locator polynomial σ8(χ), (j=1.2. . . 2t-1) is determined.
■得られたσ*(x)と受信信号のシンドロームより得
られたシンドローム多項式S (x)とを乗算して誤り
評価多項式ω9(x)を求める。(2) Multiply the obtained σ*(x) by the syndrome polynomial S (x) obtained from the syndrome of the received signal to obtain the error evaluation polynomial ω9(x).
ω* (x) =σ“(x) ・S(x)そして、重
要なチエツクとして
deg d” (x) =deg ω* (x) +
1が成立するかどうかを確認する。ω* (x) = σ“(x) ・S(x) And as an important check, deg d” (x) = deg ω* (x) +
Check whether 1 holds true.
第2図は、σ1(x)の計算回路の一例である。FIG. 2 is an example of a calculation circuit for σ1(x).
第2図において、rは、1クロツタの遅延量を生じさせ
るフリップフロップ、ADは、有限体の加算回路、ML
は、有限体の乗算回路である。入力端子1には、(1,
α−”、o、o、o・・・)の順序でデータが人力され
る。In FIG. 2, r is a flip-flop that produces a delay of one clock, AD is a finite field adder circuit, and ML
is a finite field multiplication circuit. Input terminal 1 has (1,
The data is entered manually in the order of α-'', o, o, o...).
2個のフリップフロップrと乗算回路M Lと加算回路
ADとからなる単位構成が(2t−1)段、縦続接続さ
れている。各段の乗算回路MLには、。−11,tl
、・ α−txtが各々供給されてα−・
いる。出力端子2には、最初にσ2tが得られ、以下σ
KL−In ・・・・σ、が順次得られ、最後にσ。A unit configuration consisting of two flip-flops r, a multiplier circuit ML, and an adder circuit AD is connected in cascade in (2t-1) stages. The multiplier circuit ML of each stage includes: -11,tl
, and α-txt are supplied respectively. At the output terminal 2, σ2t is obtained first, and then σ
KL-In...σ is obtained sequentially, and finally σ.
が得られる。is obtained.
第2図に示す演算回路について、第3図を参照して説明
する。−船釣に(x+a)(x+b)(x+c)(x+
d)の演算を行うことを考える。The arithmetic circuit shown in FIG. 2 will be explained with reference to FIG. 3. - Boat fishing (x+a) (x+b) (x+c) (x+
Consider performing the calculation d).
第3図Aに示すように、1個のフリップフロップと2個
の乗算回路と2個の加算回路とにより、出力として、(
1,a+b、ab)が得られる回路が構成される。第3
図Aに示すように、この回路の構成は、各1個のフリッ
プフロップr、加算回路AD、乗算回路MLの構成に置
き換えられる。As shown in FIG. 3A, one flip-flop, two multipliers, and two adder circuits output (
1, a+b, ab) is constructed. Third
As shown in FIG. A, the configuration of this circuit is replaced with a configuration of one flip-flop r, an adder circuit AD, and a multiplier circuit ML.
第3図Aは、(x+a)(x+b)の演算を行う回路で
あるので、この結果を第3図Bに示すように、(、X
+ C)の乗算回路に通し、更に、その結果を(x+d
)の乗算回路に通す構成により、(x+a)(x+b)
(x+c)(x+d)の演算回路が実現される。この場
合、人力は、(1゜a、O,O,・・・)とされ、出力
には、答えの係数が降べき順に出力される。Since FIG. 3A is a circuit that calculates (x+a)(x+b), this result is expressed as (,X
+ C) multiplication circuit, and further, the result is (x+d
), (x+a)(x+b)
An arithmetic circuit of (x+c)(x+d) is realized. In this case, the human power is (1°a, O, O, . . . ), and the coefficients of the answer are output in descending order of power.
第4図は、σ′″(x)の計算回路の他の例である。
−入力端子lには、(α−” 、1.O,O,O・・
・)の順序でデータが入力される。FIG. 4 shows another example of a calculation circuit for σ'''(x).
-Input terminal l has (α-", 1.O,O,O...
・) Data is input in this order.
2個のフリップフロップrと乗算回路MLと加算回路A
Dとからなる単位構成が(2t−1)段、縦続接続され
ている。各段の乗算回路MLには、α−目、α−L3
・・・ α−L1が各々供給されている。出力端子2
には、最初にσ。が得られ、以下σ8.・・・・σ2.
−1が順次得られ、最後にσハが得られる。Two flip-flops r, multiplier circuit ML, and adder circuit A
A unit configuration consisting of (2t-1) stages of D is connected in cascade. The multiplier circuit ML of each stage includes the α-th, α-L3
... α-L1 is supplied respectively. Output terminal 2
First, σ. is obtained, and the following σ8. ...σ2.
-1 is obtained one after another, and finally σc is obtained.
第4図に示す演算回路について、第5図を参照して説明
する。−船釣に(x+a)(x十b)(x+c)(x+
d)の演算を行うことを考える。The arithmetic circuit shown in FIG. 4 will be explained with reference to FIG. 5. - Boat fishing (x+a) (x10b) (x+c) (x+
Consider performing the calculation d).
第5図Aに示すように、1個のフリップフロップと2個
の乗算回路と2個の加算回路とにより、出力として、(
1,a+b、ab)が得られる回路が構成される。第5
図Aに示すように、この回路の構成は、各1個のフリッ
プフロップr1加算回路AD、乗算回路MLの構成に置
き換えられる。As shown in FIG. 5A, one flip-flop, two multipliers, and two adder circuits output (
1, a+b, ab) is constructed. Fifth
As shown in FIG. A, the configuration of this circuit is replaced with a configuration of one flip-flop r1 addition circuit AD and one multiplication circuit ML.
この第5図Aに示す構成は、乗算回路と加算回路とが分
離されてしまい、形が良くないので、第5図Bに示すよ
うに、1とbを交換するかわりに、入力も1とaとを交
換する。In the configuration shown in FIG. 5A, the multiplication circuit and the addition circuit are separated and the configuration is not good. Therefore, as shown in FIG. 5B, instead of exchanging 1 and b, the input is also changed to 1. Exchange with a.
第5図Bは、(x+a)(x+b)の演算を行う回路で
あるので、この結果を第5図Cに示すように、(x+C
)の乗算回路に通し、更に、その結果を(x+d)の乗
算回路に通す構成により、(x+a)(x十b)(x+
c)(x+d)の演算回路が実現される。この場合、人
力は、(a。Since FIG. 5B is a circuit that calculates (x+a)(x+b), the result is expressed as (x+C) as shown in FIG.
) and then passes the result through the (x+d) multiplication circuit, (x+a) (x + b) (x+
c) An arithmetic circuit of (x+d) is realized. In this case, the human power is (a.
1、O,O,・・・)とされ、出力には、答えの係数が
弄べき順に出力される。1, O, O, ...), and the answer coefficients are output in the order in which they should be manipulated.
第6図及び第7図は、ω0(x)の計算回路の一例及び
他の例を示す。第6図及び第7図における入力端子11
には、0が供給される。第6図の構成では、出力端子1
2には、降べきの順序の出力が得られる。一方、第7図
の構成では、出力端子12には、昇べきの順−序の出力
が得られる。FIG. 6 and FIG. 7 show one example and other examples of a calculation circuit for ω0(x). Input terminal 11 in FIGS. 6 and 7
is supplied with 0. In the configuration shown in Figure 6, output terminal 1
2, outputs are obtained in order of descending powers. On the other hand, in the configuration shown in FIG. 7, outputs in the order of ascending powers are obtained at the output terminal 12.
この発明によれば、イレージヤ訂正時にポインタの信頬
性をチエツクすることができる。この発明を採用すれば
、たとえポインタに誤りがあっても、この誤りを検出し
、イレージヤ訂正を中止して、正規の誤り訂正が可能か
どうかを調べるので、誤り訂正できる場合を増やすこと
ができる。According to this invention, the reliability of a pointer can be checked during erasure correction. If this invention is adopted, even if there is an error in the pointer, this error will be detected, erasure correction will be stopped, and a check will be made to see if regular error correction is possible, thereby increasing the number of cases in which errors can be corrected. .
第1図はこの発明によるリード・ソロモン符号の復号方
法の一実施例の説明のためのフローチャート、第2図は
多項式乗算回路の一例のブロック図、第3図は第2図の
説明のためのブロック図、第4図は多項式乗算回路の他
の例のブロック図、第5図は第4図の説明のためのブロ
ック図、第6図はσ1(x)・S (x)の演算回路の
一例のブロック図、第7図はσ′″(x) ・S (
x)の演算回路の他 −の例のブロック図、第8図
は誤り位置の値の説明のための路線図、第9図、第1O
図、第11図。
第12図は各々誤りパターンの説明のための路線図であ
る。
図面における主要な符号の説明
■、■:誤りパターンを求めるステップ、[相]:ポイ
ンタの信頼性をチエツクするステップ。
代理人 弁理士 杉 浦 正 知
A[I丁7[【T]タニ]T豆丁7二N二二Fロ丁石]
宮芸リす立、ト埴
第8図
A 「11了彩[=]二下−弱1丁「二丁二ニニニ口
B [ぐ] 日
謀りlぐダーン
第9図
A 口下m了可[丁二Y−二口
BE] 囲
τ炙すパターン
B 国 凹
吉乳り、1ターン
゛ 第11図
誤すノマターン
第12図FIG. 1 is a flowchart for explaining an embodiment of the Reed-Solomon code decoding method according to the present invention, FIG. 2 is a block diagram of an example of a polynomial multiplication circuit, and FIG. 4 is a block diagram of another example of a polynomial multiplication circuit, FIG. 5 is a block diagram for explaining FIG. 4, and FIG. 6 is a block diagram of an arithmetic circuit for σ1(x)・S (x) An example block diagram, Figure 7, shows σ'''(x) ・S (
In addition to the arithmetic circuit of x), a block diagram of an example of
Figure, Figure 11. FIG. 12 is a route map for explaining each error pattern. Explanation of main symbols in the drawings ■, ■: Step for finding error pattern, [Phase]: Step for checking reliability of pointer. Agent Patent Attorney Tadashi Sugiura TomoA [Icho7 [[T]Tani] T Becho72N22F Rochoishi]
Miyagi Risutachi, Tohani Diagram 8A ``11 ryosai [=] 2 lower - weak 1 cho'' 2 cho 2 nininiguchi B [gu] Hijiri lg daan Diagram 9 A kuchishi m ryo possible [ [Douji Y - Futakuchi BE] Surrounded by Roasting Pattern B Country Utsuyoshi Milk Ri, 1 Turn゛ Figure 11 Wrong Noma Turn Figure 12
Claims (1)
を演算し、上記シンドロームから誤り位置多項式σ(x
)及び誤り評価多項式ω(x)を算出し、上記誤り位置
多項式σ(x)の形式的一次微分の多項式σ′(x)及
び上記誤り評価多項式ω(x)を用い、〔e_p=ω(
α^−^p)/σ′(α^−^p)〕の演算により、エ
ラーパターンe_pを求め、誤り位置pのシンボルを訂
正するようにしたリード・ソロモン符号の復号方法にお
いて、 ポインタで示されるエラー位置と対応する値で形成され
た誤り位置多項式をσ^*(x)とし、上記誤り位置多
項式σ^*(x)及びシンドローム多項式S(x)を乗
算して求めたσ^*(x)S(x)を多項式ω^*(x
)とした時に degσ^*(x)>degω^*(x) の条件が成立する時に、上記ポインタを正しいとしてイ
レージャ訂正を行うようにしたことを特徴とするリード
・ソロモン符号の復号方法。[Claims] A syndrome is calculated using a parity check matrix and a received word, and an error locator polynomial σ(x
) and the error evaluation polynomial ω(x), and using the formal first-order differential polynomial σ′(x) of the error locator polynomial σ(x) and the error evaluation polynomial ω(x), [e_p=ω(
In the Reed-Solomon code decoding method, the error pattern e_p is obtained by calculating the error pattern e_p by calculating α^-^p)/σ'(α^-^p), and the symbol at the error position p is corrected. Let σ^*(x) be the error locator polynomial formed by the values corresponding to the error positions, and multiply the error locator polynomial σ^*(x) and syndrome polynomial S(x) to obtain x) S(x) is a polynomial ω^*(x
), and when the condition of degσ^*(x) > degω^*(x) is satisfied, the pointer is deemed to be correct and erasure correction is performed.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62156166A JP2600683B2 (en) | 1987-06-23 | 1987-06-23 | Decoding method of Reed-Solomon code |
| EP19880305693 EP0296828A3 (en) | 1987-06-22 | 1988-06-22 | Method and apparatus for decoding reed-solomon code |
| CA000570079A CA1314996C (en) | 1987-06-22 | 1988-06-22 | Method and apparatus for decoding reed-solomon code |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62156166A JP2600683B2 (en) | 1987-06-23 | 1987-06-23 | Decoding method of Reed-Solomon code |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JPH011332A true JPH011332A (en) | 1989-01-05 |
| JPS641332A JPS641332A (en) | 1989-01-05 |
| JP2600683B2 JP2600683B2 (en) | 1997-04-16 |
Family
ID=15621794
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62156166A Expired - Fee Related JP2600683B2 (en) | 1987-06-22 | 1987-06-23 | Decoding method of Reed-Solomon code |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2600683B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2646896B2 (en) * | 1991-07-19 | 1997-08-27 | 松下電器産業株式会社 | Digital signal decoding device |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61216044A (en) * | 1985-03-21 | 1986-09-25 | Canon Inc | Signal processor |
| JPS61216041A (en) * | 1985-03-21 | 1986-09-25 | Canon Inc | Signal processor |
-
1987
- 1987-06-23 JP JP62156166A patent/JP2600683B2/en not_active Expired - Fee Related
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2283417B1 (en) | Implementation of arbitrary galois field arithmetic on a programmable processor | |
| EP0620654B1 (en) | Circuit for performing the Euclidian algorithm in decoding of arithmetical codes | |
| JPS59123945A (en) | Numerous byte error correction system | |
| US20030229841A1 (en) | Reed-solomon decoder | |
| CN1208192A (en) | Circuit for calculating error position polynomial at high speed | |
| US7100103B2 (en) | Efficient method for fast decoding of BCH binary codes | |
| JP2800723B2 (en) | Error location detection circuit of Reed-Solomon decoder | |
| US9191029B2 (en) | Additional error correction apparatus and method | |
| JPH011332A (en) | Decoding method of Reed-Solomon code | |
| US6421807B1 (en) | Decoding apparatus, processing apparatus and methods therefor | |
| JP3614978B2 (en) | Galois field division method and division apparatus | |
| Popovici et al. | Algorithm and architecture for a Galois field multiplicative arithmetic processor | |
| US6598201B1 (en) | Error coding structure and method | |
| JP2600683B2 (en) | Decoding method of Reed-Solomon code | |
| JPS63316524A (en) | Method for decoding reed-solomon code | |
| JP2600681B2 (en) | Decoding method of Reed-Solomon code | |
| JP2003168983A (en) | Decoding circuit and decoding method | |
| JP2575506B2 (en) | Chain search circuit | |
| JP3230888B2 (en) | Euclidean circuit | |
| JP2797570B2 (en) | Euclidean circuit | |
| JPH077920B2 (en) | Mutual division operation method | |
| JPH0434785B2 (en) | ||
| JPH05259924A (en) | Error correction code decoding method | |
| KR890002471B1 (en) | Mathematical Simplification Circuit in Galois Field 2 ^ 8 | |
| EP1370005A2 (en) | Reed-Solomon decoder |