JPS63316524A - リ−ド・ソロモン符号の復号方法 - Google Patents

リ−ド・ソロモン符号の復号方法

Info

Publication number
JPS63316524A
JPS63316524A JP62152233A JP15223387A JPS63316524A JP S63316524 A JPS63316524 A JP S63316524A JP 62152233 A JP62152233 A JP 62152233A JP 15223387 A JP15223387 A JP 15223387A JP S63316524 A JPS63316524 A JP S63316524A
Authority
JP
Japan
Prior art keywords
polynomial
error
stage
degree
processing
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.)
Pending
Application number
JP62152233A
Other languages
English (en)
Inventor
Norihisa Shirota
典久 代田
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 JP62152233A priority Critical patent/JPS63316524A/ja
Priority to EP88305566A priority patent/EP0295949B1/en
Priority to AU18135/88A priority patent/AU611448B2/en
Priority to DE3853449T priority patent/DE3853449D1/de
Priority to AT88305566T priority patent/ATE120588T1/de
Priority to CA000569732A priority patent/CA1314995C/en
Priority to KR1019880007374A priority patent/KR890000975A/ko
Publication of JPS63316524A publication Critical patent/JPS63316524A/ja
Priority to US07/950,779 priority patent/US5341385A/en
Pending 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
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • 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/033Theoretical methods to calculate these checking codes

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、リード・ソロモン符号の復号方法に関する
〔発明の概要〕
この発明では、ユークリッド互除法により、誤り多項式
σ(x)と誤り評価多項式ω(x)を導出するようにし
たリード・ソロモン符号の復号方法において、 シンドローム多項式S (x)を求め、シンドローム多
項式S (x)と訂正しようとするシンボル数tで定ま
る初期多項式x2Lとの互いの最高次数を乗算しあいな
がら一つづつ順に次数を減らすことでf(x) −B 
(x) +g(x) ・S (x) =h(x)(但し
、h (x)の次数< g (x)の次数≦t)の関係
を満足する多項式h (x)及びg(に)を求め、多項
式g (x)を誤り位置多項式σ(x)とし、多項式h
 (x)を誤り評価多項式ω(x)とすることにより、
実時間処理が可能なリード・ソロモン符号の復号方法が
実現される。
〔従来の技術〕
リード・ソロモン符号(Reed Solomlon 
Code)の復号は、 i)シンドロームの計算 ii)誤り位置多項式σ(x)、誤り評価多項式ω(x
)の導出 1ii)誤り位置と誤り値の推定 iv)誤り訂正の実行 のステップでなされる。従来の方程式の根を利用した解
を用いる復号方法は、5誤り以上の多重誤りの訂正の場
合には、適用できない。この5誤り以上の訂正の場合に
は、ユークリッド互除法を用いたものが知られている。
即ち、ユークリッド互除法を使用して、誤り位置多項式
σ(x)及び誤り評価多項式ω(x)の産出がなされる
リード・ソロモン符号のt重誤り訂正用のパリティ検査
行列Hは、(t:訂正可能数、n:符号長)とすると、 上述のパリティ検査行列Hと受信信号の積から下記のよ
うに、シンドロームが発生され、また、シンドローム多
項式が定義される。
上式で発生された値を係数とする次の多項式をシンドロ
ーム多項式と称する。
5(x) −3o +S、x+S、x″+ −’ +S
、t−,x”−’誤り訂正のために種々の多項式がある
が、それらは次の関係式を満足する。
φ(x)  ・x” +a(x)  ・5(x) =ω
(x)但し、 k〜( QL 上式の中で、実際の訂正をする場合に必要となるものは
、誤り位置多項式σ(x)と誤り評価多項式ω(×)の
二つである。
上式が常に成り立つとした場合、X2tは当然分かるが
、受信信号から知ることが出来るのは、S(×)のみで
ある。このxz′−とS(χ)からユークリッド互除法
により、σ(x)、ω(x)を求めることができる。こ
こで、良く知られたユークリッド互除法の例として、「
与えられた正の整数mとnに対し、それの最大公約数d
及び(am+bn=d)となる整数a、bを計算せよ」
という問題を解(のにユークリッド互除法が使用される
。整数に限らず、多項式の場合も同様である。即ち、(
m→xzt−)(n−+5(x))と対応させれば良い
但し、上記の整数の問題は、互除法を最後まで実行して
最大公約数dを求めるわけであるが、誤り訂正を実行す
るために、σ(×)、ω(χ)を求める場合は、最後ま
で互除法を実行して最大公約数を求めるわけではない。
途中で次の条件が成立したら、互除法の実行を止める。
t≧deg tt (x) >deg ω(x)(de
gは、多項式の次数を意味する。)ユークリッド互除法
を用いて、σ(x)、ω(x)を求める具体例について
4サンプル誤り訂正符号の場合について説明する。受信
信号が第4図Aに示すように、nシンボルの場合、誤り
位置多項式σ(x)のXとして代入される値は、第4図
Bに示すように、受信信号の最後から、その最初に向か
って順に(L ex−’、 cx−”、  66.a−
”−”・・・α−(n−11)となる。即ち、Pという
番号は、−〇− 受信信号の最後から数えた番号である。
−例として、第5図Aにおいて、斜線で示すように、受
信信号の最後を0番目とすると、1番目。
2番目、3番目、4番目の各々の位置で、誤りが発生し
、これらの誤りが第5図Bに示すように、(α4.α、
α7.α2)の誤りパターンである場合の訂正を考える
。この場合のシンドロームは、下記のものとなる。
So−α4α+αα2+α7α3+α2α4−α5+α
3+α10+α6=α8 SL=α4α2+αα4+α7α6+α2α8=ot”
 +cx’ +α13+aIo=O3,=α’ a” 
+ota’ +a7at’+α2α12−α7+α7+
α+α14−α7 S、=α4α4+αα8+α7αI2+α2α16−α
8+α9+α4+α3−α2 ≦4−α4αS+αα10+α7αIs+α2α20=
α9+α目+α7+α7−α2 SS−α4 α6+αα″十α7αI11+α2α24
−α10十α13+α10+α■−α436−α4 α
7 +ααI4+αフ α2I+α2 αt8−αl 
1 + 1+α13+lミα4S7− α4 α8 +
 α α鳳り+ α7 αt4+ α2 α3t=α1
2+α2+α十α4−α9 S (x)−α9X7+α4X6+α4xS十o:2x
’+αZ X3+αフxZ+α8上記のシンドローム多
環式S (x)とx t °4とを用い、σ(x)及び
ω(x)を求める。但し、ユークリッド互除法の手続き
は、 deg  ω(x) <deg a (x)≦4で終了
する。
B(x) = (α−’x+cr) 5(x) +R1
(x)B(x)−x” R1(x)=x’+α4 x5+α13X4+αa x
3a” X”+αI4Xα2I +α2 = (cy’ x 十a”) R1(x) −
t−R2(x)R2(x) =otI4x’ +a9x
’ 十ot’ x3+cxI3x” +cx”x+ct
’ R1(x)=(α−目x+tx3)R2(x)+R3(
x)R3(x)−αZ x4+αl0X3+αl4Xz
十α11x+1 R2(x)= (cr”x+cr−”)R3(x)+R
4(x)R4(x)−α9χ3+α4 X2+α9X+
α目上記の演算をまとめると、 R1=B+QIS R2=S+Q2R1=S+Q2 (B+QIS)−Q2
B+ (1+Q2Q1)s R3=R1+Q3R2=B+QIS +Q3 CQ2B+ (1+Q2Ql)S)= (1+
Q3Q2)B+(Q1+Q3+Q3Q2Q1)SR4=
R2+Q4R3=Q2B+ (1+Q2Q1)S十Q4
 (1+Q3Q2)B +Q4 (Q1+Q3+Q3Q2Ql)S、’、R4=
 (Q2+Q4+Q4Q3Q2)B+ (1+Q2Q1
+Q4Q1+Q4Q3+Q4Q3Q2Q1)S この式において、R4がω(に)と対応し、右辺の第1
項が誤り位置多項式φ(に)と対応し、右辺の第2項が
誤り評価多項式ω(x)と対応している。
ここで、 QL−a−’x+tx、  Q2=cx’ x+tx”
Q3=α−目+α3.Q4−αI t x十α−2従っ
て、 a(x) =o:13x’+α6 x3+α9 x g
+αX+α3ω(x) =rx’ x’ +cx’ x
” +rx9x+ot”deg σ(x) =4. d
eg (1)(x) −3σ(x)を微分してなるσ′
(x)は、。
σ′(x)=α″X2+α となる。これらの誤り位置多項式及び誤り評価多項式を
用いて、エラー位置及びエラーパターンを求める。
〔X−αq〕のエラー σ(α−′)−α9+α3+α7+1+α’=。
従って、エラー位置が分かる。
σ′(α−1)=α4+α=1 ω(α−I)−α6+α2+αB十α■−α4、°、エ
ラーパターンe−、−ω(α−1)/σ′(α−1);
α4 〔X−α−2〕のエラー σ(a−”) −ot” +1 +or’ +a14+
a” =0従って、エラー位置であることが分る。
σ′(α−2)=αχ+α=α5 ω(α−2)−α3+1+α7+α■−α6、°、エラ
ーパターンe−z−ω(α−2)/σ′(α−9= α 〔X−α−3〕のエラー σ(α″3)−α十α−3+α3+α−2+α3=0従
って、エラー位置であることが分る。
σ′(α−3)−1+α=α4 ω(α−3)=1+α弓+α6+α■−α目、°、エラ
ーパターンe−3−ω(α−3/σ′(α−3)=α7 〔χ−α−4〕のエラー σ(α−4)=α−3+α−6+α十α−3+α3−0
従って、エラー位置であることが分る。
σ′(α−4)=α−2+α=α1 ω(α−4)−α−3+α−4+α5+α■−α目、°
、エラーパターンe−4=ω(α−4)/σ′(α−4
)=α2 上述のように、σ(x)及びω(χ)により求められた
エラー位置、エラーパターンが最初に設定しておいたも
のと同一であることが分かる。
以上説明したようなユークリッド互除法を用いたリード
・ソロモン符号の復号装置をハードウェア化する場合、
問題となるのは、破除多項式の最高次係数にあわせるよ
うに、α−9などという逆数を計算することである。即
ち、二つの多型式B(x)とS (x)の最高次数の係
数をす、Sとすると、まず、(bxs−’)を計算する
必要がある。このためには、Sの逆数を求めるROM或
いはROMに相当する回路が必要となり、ハードウェア
量がかなり増大する要因となる。
そこで、例えばr IEEE TRANSACTION
S ON GOMP−UTER3,VOL、c−34,
NO,5,MAY  1985   :  頁393〜
403]には、逆数演算を使用しないユークリッド互除
法が提案されている。この方法について、前出の4誤り
訂正の例と同様の例を用いて説明する。
B(x)=x8 S (x)−α9 X?+α4 xj+十α4xS+α
8X4αZ x3+α? xZ+α8 −12= 計算は、互いの最高次係数を乗算しあいながら、順次次
数を減らす方式である。
■ r 1 (x) 0 α4α4α2α2α70 αlIOdeg r 1
(x) =7 r 1(x)=a’ x7+α4 X6+αz Xsα
2X4+α7 X3+α8X r 1 (x)の最高次係数が7であるので、更に5(
x)で割ることができる。
R1(x) Oct” α7a:  tx”rx”α” a”deg
 R1(x) −6 R1(x) =cr” xh+rx7x’ +crx’
α”x”  +a”x”  +α2 X+α1zdeg
 R1(x) <deg S (x)であるので、更に
5(x)をR1(x)で割る。
■と■をまとめると、 rx’ B=xS+r 1 ct’  r 1−α’ S+R1 上式からrlを消去すると、 (α’ ) ” B= (cr9x+cx’ ) S+
R1となる。そこで、σ(x)とω(x)の候補が形成
されていく過去をみると、 cr’ B+xS=r 1 (α9)” B+ (cr’ x+ot’ )S=Rよ
この下線を付した項がσ(x)及びω(x)になる部分
である。従って、■のステップ迄では(α9X+α4)
の次数がまだ1次であり、R1の次数がまだ6次である
。本当は、各々が4次及び3次になるまで演算を行う必
要がある。従って、以下、この手順を進める。
■ α3S(x) +α’xR1(x) r 2 (x) 0  α14α60 0  αI4α6 α目degr
2(χ)−6 r2(x)  −rx14x6 +rxb x’  +
aI4x”+α6x+α′1 r 2 (x)の最高次係数が6であるので、更にr2
は、R1で割ることができる。
■ R2(x) 0 α51 α10α4α3αlO degR2(に)−5 R2(x)=αS x’ +x’ +cx10x3α4
 x2+α3X十α10 (deg R2<deg R1)となったので、次にR
1をR2で割ってゆく。
曲 r3(χ) 0 αto1  αI4α■α5α2 deg r 3 (x) −5 r3(x) −aIOxS十x’ 十αI4x”α”x
2+αSx  +α” 面 R3(x) Ol α8α7α9αI3 degR3(χ)−4 R3(x) =x’ +a” x” +tx7x” c
x9x+a13■ 1l− r4(χ) 0   α6  α3  α9 0   α鳳0deg
  r 4 (x)  −4 r4(x)=ot6x’ 十a3x3+ct’ x” 
+cx”■ R4(x) 0 1  α101  α2 deg  R4(x)  =3 R4(x)  =x’  +tx’°x”  +X+α
”ここで、ω(x)の候補であるR 4 (x)が3次
式となったので、以上の手続きを中止する。そして、改
めて、演算の結果をまとめると以下の通りとなる。
α9B=l xS+r l−+α’ B+xS=r 1
cx’ r l=α’ S+R1→ =17− cr3 B+  (α9 x+rx’  )S=R1α
35−cr’  xR1+r2−+ rx”xB+ (α” x” +a”x+cx3)S=
r2a″ r2=ot”R1+R2− (x+&” )B+(α6x” +rx′。x+rx”
 )S=R2rx5RI−α’ xR2+r3−+ (αSx”+αsx+tx8)B+(α9x” 十a”
x” 十ot′zx+a’ ) S=r 3α5 r 
3 =tx”R2+R3→ (α”  x”  +α)B+ (cr”x”  +o
t’  x”  +αχ十α’ )S=R3 1・ R2−txS xR3+r4→ (α13x3 +α+ 3 x+α”)B+(α4 I
4 +txI4x”  +ot”  )S=r41 −
  r4=α6 R3+R4−)(αl3x3 +cx
14x”  +α”x+α”)B+  (α’x’ +
ctIzx3+x” +ct’ x+ot’ ) 5=
R4このR4が求まった段階ではじめて deg R4<deg  (α’ x’ +a”x” 
十x2+α7χ+α9)≦t (−4) −18= の関係が成り立ったので、この手続きを中止する。
従って、 σ(x)=α4 X4+α”x” 十x”+α7X十α
9(1)(x)=R4(x)=X3+a10x” +x
+cx”となる。これらの式をα9倍すると、前述のα
−9を使用して求めたσ(x)及びω(x)と同一とな
る。
即ち、誤り位置を求めることは当然として、誤りパター
ンを求める式も、分子及び分母の両者をα9倍しても、
誤りパターン自体は、何ら変化せず、正しい答えが得ら
れる。結局、互いの最高次数係数を乗算しながら、1次
づつ除算しても良い。
前述の■〜■の順序でなされる処理を回路化する場合に
考えられる構成は、第14図に示すものである。
第14図において、2A〜2Hは、演算部を示し、これ
らの8個の演算部2A〜2Hは、縦続接続されている。
各演算部は、基本的には、積和演算回路の構成を有して
おり、互いに同一の構成である。即ち、第1の入力信号
が供給される乗算回路13と乗算回路13に接続された
レジスタ14と第2の入力信号が供給される乗算回路1
7と乗算回路17と接続されたレジスタ16と第2の入
力信号を1クロツク遅延して出力するレジスタ18と乗
算回路13の出力信号と乗算回路17の出力信号とを加
算する加算回路15とにより、第1の入力信号及び第2
の入力信号に対する積和回路が構成され、第3の入力信
号が供給される乗算回路23と乗算回路23に接続され
たレジスタ24と第4の入力信号が供給される乗算回路
27と乗算回路27と接続されたレジスタ26と第4の
入力信号を1クロツク遅延して出力するレジスタ28と
乗算回路23の出力信号と乗算回路27の出力信号とを
加算する加算回路25とにより、第3の人力信号及び第
4の入力信号に対する積和回路が構成される。
この第14図における回路において、■クロックデータ
を進めることは、その多項式にXを乗算することであり
、また、1クロツクデータを遅らせることは、その多項
式にx −1を乗算して次数を1次下げることである。
第14図Aは、上述の■のステップの処理を行う20一 時の演算部の入力及び出力を示す。第14図Bは、上述
の■のステップの処理を行う時の演算部の入力及び出力
を示す。第14図Cは1.上述の■のステップの処理を
行う時の演算部の入力及び出力を示す。
第14図りは、上述の■のステップの処理を行う時の演
算部の人力及び出力を示す。第14図Eは、上述の■の
ステップの処理を行う時の演算部の人力及び出力を示す
。第14図Fは、上述の■のステップの処理を行う時の
演算部の入力及び出力を示す。第14図Gは、上述の■
のステップの処理を行う時の演算部の入力及び出力を示
す。第14図Hは、上述の■のステップの処理を行う時
の演算部の入力及び出力を示す。
〔発明が解決しようとする問題点〕
以上のように、誤り位置多項式σ(x)及び誤り評価多
項式ω(x)を求める構成が考えられる。しかし、第1
4図の構成は、演算部のみの構成であって、第1の入力
信号と第2の入力信号の入れ替え(除多項式と破除多項
式との交換)の制御並びに次数差の関係が(degω(
x) < degσ(に))になることの検出について
は、明らかにされてない。
従って、この発明の目的は、演算部を縦続接続して、実
時間処理により、誤り位置多項式σ(x)及び誤り評価
多項式ω(x)を求めることを実現するための制御方法
が改良されたリード・ソロモン符号の復号方法を提案す
るものである。
〔問題点を解決するための手段〕
−この発明では、ユークリッド互除法により、縛り多項
式σ(x)と誤り評価多項式ω(x)を導出するように
したリード・ソロモン符号の復号方法において、 シンドローム多項式S (x)を求め、シンドローム多
項式S (x)と訂正しようとするシンボル数tで定ま
る初期多項式χg+−との互いの最高次数を乗算しあい
ながら一つづつ順に次数を減らすことでf(x) ・B
 (x)  十g(x) ・S (x)  =h(x)
(但し、h (x)の次数< g (x)の次数≦t)
の関係を満足する多項式h (x)及びg (x)を求
め、多項式g (x)を誤り位置多項式σ(x)とし、
多項式h(×)を誤り評価多項式ω(×)とする。
〔作用〕
誤り位置多項式σ<x)及び誤り評価多項式ω(x)を
自動的に求める処理は、 f (x)  ・B(x) +g(x)  ・5(x)
 −h(x)deg h (x) <deg g (x
)≦tを満足する多項式g(χ)及びh (x)を求め
ることに他ならない。別の表現では、多項式B、Aを用
いて、 fi (x)B+g+ (x)A=hi(x)(iは、
演算手順の番号) という関係を満足する多項式ft(χ) 、  g= 
(x)を常に出力する回路である。
そして、 degg+ ≦degg2≦degg3≦degg4 
・・・degh、≦degh、≦degh3≦degh
、・・・となるので、何回かの手続きの後に、 deg hl <deg g i≦t という関係式を満足する時点がくることになる。
〔実施例〕
以下、この発明の一実施例について図面を参照して説明
する。この説明は、下記の順序に従ってなされる。
a、基本的構成(制御部及び演算部) b、  4誤り訂正符号の例 c、5誤り訂正符号の一例 d、5誤り訂正符号の他の例 e、互除演算の具体的回路 a、基本的構成(制御部及び演算部) 第1図は、この発明の一実施例の基本的構成を示す。を
誤り訂正符号の場合には、この第1図に示す基本的構成
が所定個数、縦続接続される。
第1図に示すように、4本のデータ伝送ラインと2本の
フラグ伝送ラインとが設けられる。第1のデータライン
には、P系列のデータが供給され、第2のデータライン
には、Q系列のデータが供給−4A − され、第3のデータラインには、R系列のデータが供給
され、第4のデータラインには、S系列のデータが供給
される。CR及びIXが制御用のフラグであり、フラグ
伝送ラインに各々供給される。
基本的構成は、データ制御部1と演算部2とからなる。
データ制御部lには、クロス制御回路3が設けられ、第
1のデータラインと第2のデータラインとをクロスさせ
るかどうかの制御並びに第3のデータラインと第4のデ
ータラインとをクロスさせるかどをかの制御がクロス制
御回路3によりなされる。フラグ伝送ラインと第2のデ
ータ伝送ラインと第4のデータ伝送ラインとの入力端に
は、レジスタ4,5,6.7が各々接続されている。フ
ラグの処理を行うために、ORゲート8及びANDゲー
ト9とをデータ制御部1が有している。
演算部2には、フラグIXの処理のための加算回路11
とレジスタ12とデータに対する積和演算回路とが設け
られている。P系列及びQ系列に対する積和演算回路は
、乗算回路13とレジ4タ14と加算回路15とレジス
タ16と乗算回路17とにより構成されている。同様に
、R系列及びS系列に対する積和演算回路は、乗算回路
23とレジスタ24と加算回路25とレジスタ26と乗
算回路27七により構成されている。
P系列及びQ系列に対する積和演算回路のみを抜き出す
と第2図に示す構成となる。P系列として、多項式F(
x)(最高次係数:f)が供給され、Q系列として多項
式x”G(x)(最高次係数二g)が供給され、P系列
の出力として、R(x) =g−F(x) +f−x”
  ・G(x)が得られる。演算部が正規演算をするた
めの条件は、レジスタ14及び16に各々これらの最高
次係数f及びgが同時にロードできることである。
このことは、(deg F(x) −deg x’ G
(x) )ということと等価である。また、(g≠0)
である。
第2図に示すように、(deg F (x) >deg
 G(x) )で、n次の次数差がある二つの多項式を
、各々破除多項式及び除多項式とする場合、出力の多項
式R(x)は、多項式F(×)より少なくとも次26一 数が1次減少している。従って、F (x)をG (x
)で割れるところまで割るには、(n+1)個の演算部
を使えば良い。そして、次の新たな互除演算を続けるに
は、最終段出力P4のR(x)とQ4の出力G (x)
の各々が次段のQ系列及びP系列に人力されるように、
クロスさせれば良い。
データ制御部lの役目は、次の二つである。
第1には、二つの系列の多項式を何時クロスさせ、除多
項式と破除多項式を交換させるかの制御を行う。
第2には、(dig a+ (x) <deg tt 
(x) )の演算停止条件が成立したことを検出する。
この発明では、第1の制御を行う場合、多項式の係数を
全て格納できるようなバッファメモリを持たずに、実時
間処理を行う。この実時間処理を可能とするために、フ
ラグIX及びCRが用いられる。
フラグIXは、実際に除算演算を始める前の二つの多項
式の次数差を示す。ガロア体GF (2”)では、一般
に8ビツト必要である。
フラグCRは、条件が整えば、何時でも、P系列とQ系
列並びにR系列とS系列とをクロスしなさいということ
を示すフラグである。フラグCRがハイレベルの時がク
ロスしなさいを意味し、フラグCRがローレベルの時が
クロスしなくても良いを意味する。
フラグCRに関して、「条件が整えば」という事は、P
系列とQ系列の入力多項式の最高次数係数がレジスタ1
4及び16に同時にロードできるとういう条件である。
また、(I X=−1)となることは、除多項式(Q4
の出力)の次数が互除演算の結果である余り多項式(P
4出力)の次数よりも、1次大きいことを意味する。こ
の場合には、P系列とQ系列とを交換して、新しい除多
項式で互除演算を続けなければならない事を示している
。ここで、直ぐにP系列とQ系列とを交換して、演算に
入るべきかどうかの判定をすることにより、次段に伝達
するCR4を(L−+H)にすべきか、又はLのままで
良いかが違ってくる。このように、フラグCR−2’/
  − とIXとは、常に、ペアとして考えるべき信号である。
フラグIX及びCRの制御方法は、複雑であるので、第
3図のフローチャートに示す。
第3図の各ステップは、以下のものである。
ステップ■・・・初期条件の設定である。即ち、(CR
=H:ハイレベル)(IX=1)とフラグが設定される
。データは、P系列として、S(×)が供給され、Q系
列として、x g Lが供給され、R系列として、■が
供給され、S系列として、0が供給される。
ステップ■・・Q系列及びS系列の各々に1段の遅延を
入れる。
ステップ■・・・ (CR=H?)の判断。
ステップ■・・・ (IX−−1?)の判断。即ち、破
除多項式の次数より、除多項式の次数が大きいかどうか
の判断。
ステップ■■・・・最高次数が同時に入力されたかどう
かの判断。
ステップ■■・・・系列をクロスさせる処理。
ステップ■■■・・互除演算の処理。互除演算が=29
− = 28− されると、フラグIXが(+1)又は(−1)される。
ステップ[相]・・・互除演算がされず、フラグIXが
(+3)され、フラグCRがHとされる。
ステップ@・・・互除演算がされず、フラグIXが(+
1)される。
ステップQ ・・・(deg a+(x) <deg 
a (x) )の条件が成立したかどうかの判断。この
条件が成立すると、演算が停止される。
b、4誤り訂正符号の例 この発明を4誤りの訂正に通用した例について説明する
。第4図Aに示すように、n個のシンボルからなる受信
系列の場合、誤り位置多項式σ(x)或いは誤り評価多
項式ω(x)のXとして代入する値は、第4図Bに示す
ように、受信系列の最後から順に、(1,α−1,α−
”、  HHHα−(p−富)・・・α−(−11)と
される。
第5図Aにおいて、斜線で示す4個の誤りが生じており
、第5図Bに示す誤りパターンの場合を考吠る。シンド
ロームの発生が完了し、シンドローム多項式S(×)が
求められ、このシンドローム多項式S (x)が入力さ
れることから、処理が始められる。
まず、ステップ■の初期設定がなされる。次に、ステッ
プ■の段階で、Q系列即ち、B (x)のデータ系列に
1クロツクの遅延が入れられるので、P系列及びQ系列
の最高次係数1とα9とが同位相となる。
ステップ■では、(CR=H)であるから、ステップ■
へ移行し、更に、同時人力するから、ステップ■へ移行
する。ステップ■により、クロスさせられる処理がなさ
れ、第8図Aに示す演算部2AのP系列及びQ系列とし
て、B (x)及びS(×)が各々人力される。また、
ステップ■で、データ系列がクロスされたので、(CR
1=H)から(CR4=L)に変える。また、演算部2
Aでは、互除演算が実際に実行され、出力系列P4とし
ては、人力多項式P3(8次)より、次数が1減少した
多項式が出力される。従って、P系列とQ系列との相対
的次数差を示すフラグIXを1減少させたものが新たな
IX (IX4)とする操作がされる。
上述のように、第8図Aの処理では、第3図に示すフロ
ーチャートに従って、(■→■→■→■→■→■→0)
のステップの処理がされる。この処理は、演算停止の条
件が満足される迄、繰り返される。
第8図Bは、2段目の処理を示している。この2段目で
は、(■→■→■→■→0)の処理がされる。
第8図Cは、3段目の処理を示している。この3段目で
は、(■→■→■→■→■→■→0)の処理がされる。
第8図りは、4段目の処理を示している。この4段目で
は、(■→■→■→■→0)の処理がされる。
第8図Eは、5段目の処理を示している。この5段目で
は、(■→■→■→■→■→■→0)の処理がされる。
第8図Fは、6段目の処理を示している。この6段目で
は、(■→■→■→■→@l)の処理がされる。
第8図Gは、7段目の処理を示している。この7段目で
は、(■→■→■→■→■→■→0)の処理がされる。
第8図Hは、8段目の処理を示している。この8段目で
は、(■→■→■→■→0)の処理がされる。この段階
で、ステップ[相]の条件が成立するので、演算の停止
のステップ■に移行し、処理が終了する。
c、  5誤り訂正符号の一例 第6図Aにおいて斜線で示すように、5個のシンボルの
誤りが存在し、シンドローム多項式の上位の3個の係数
がOとなる場合について説明する。
上位の3個の係数がOとなるのは、第6図Bに示すよう
に、α7.α。α2,1.α2の誤りパターンの場合で
ある。シンドローム多項式S (x)の係数は、下記の
ものとなる。
So =α” 、  S、 =cx” 、  S、 =
cx”。
S3−α13. 34−α、S5=α+z、  3. 
= 137  、  Ss  、  S9 −0上述の
例に対して、この発明を適用した時の制御部1及び演算
部2の動作は、第9図に示すものとなる。第8図と同様
に、第9図Aから順に第9図81第9図C1・・・と処
理が進められる。
第9図Aの処理では、第3図に示すフローチャートに従
って、(■→■→■→■→@→0)のステップの処理が
される。
第9図Bは、2段目の処理を示している。この2段目で
は、(■→■→■→@→0)の処理がされる。
第9図Cは、3段目の処理を示している。この3段目で
は、(■→■→■→@→@))の処理がされる。
第9図りは、4段目の処理を示している。この4段目で
は、(■→■→■→■→■→0)の処理がされる。
第9図Eは、5段目の処理を示している。この5段目で
は、(■→■→■→■→0)の処理がされる。
第9図Fは、6段目の処理を示している。この6段目で
は、(■→■→■→■→0)の処理がされる。
第9図Gは、7段目の処理を示している。この7段目で
は、(■→■→■→■→0)の処理がされる。
第9図Hは、8段目の処理を示している。この8段目で
は、(■→■→■→■→0)の処理がされる。
第9図■は、9段目の処理を示している。この8段目で
は、(■→■→■→■→■→■→0)の処理がされる。
第9図Jは、10段目の処理を示している。この10段
目では、(■→■→■→■→[相])の処理がされる。
この段階で、ステップ[相]の条件が成立するので、演
算の停止のステップ■に移行し、処理が終了する。
上述の上位の3係数が全て0となる例は、前述の3誤り
訂正符号の例とは異なっている。即ち、上位の3係数が
全てOであるため、(B(x)=x−q  !11− 10)の系列を1クロツク遅延させただけでは、P系列
及びQ系列の最高次係数を同一タイミングで、レジスタ
にロードできない。シンドローム多項式S (x)が6
次であるため、B(×)を4段遅延する必要がある。こ
の遅延処理を行っているのが、データ制御部IA、IB
、IC,IDである。この時の処理は、第3図のフロー
チャートにおけるステップ■、■、■の処理であり、こ
の遅延処理を3回繰り返し、4回目でデータをクロスさ
せて互除演算がなされる。このクロスがされる迄、フラ
グCRは、Hである。また、二つの多項式の相対次数差
が4まで増加する。また、演算がされない(No  O
P[!RATION )とは、レジスタ14,16゜2
4.26には、1.0が各々ロードされる。更に、4段
目のデータ制御部IDで実際の演算が開始されてから、
(IX=−1)となる8段目までは、データラインがク
ロスされない。
d、5誤り訂正符号の他の例 第7図Aにおいて斜線で示すように、3個のシンボルの
誤りが存在し、シンドローム多項式の上位の第2番目及
び第3番目の2個の係数がOとなる場合について説明す
る。上位の2個の係数がOとなるのは、第7図Bに示す
ように、α5,1゜α3の誤りパターンの場合である。
シンドローム多項式S (x)の係数は、下記のものと
なる。
So−α、S1−α14.  S2−α2.S3−α7
S4−α13.  S、−α7.S6−α′4S7.S
s =O,Sq−α2 上述の例に対して、この発明を適用した時の制御部1及
び演算部2の動作は、第10図に示すものとなる。第8
図及び第9図と同様に、第10図Aから順に第10図B
、第10図01 ・・・と処理が進められる。
第10図Aの処理では、第3図に示すフローチャートに
従って、(■→■→■→■→■→■→0)のステップの
処理がされる。
第1O図Bは、2段目の処理を示している。この2段目
では、(■→■→■→■→0)の処理がされる。
第1O図Cは、3段目の処理を示している。この3段目
では、(■→■→■→■→[相]→0)の処理がされる
第1O図りは、4段目の処理を示している。この4段目
では、(■→■→■→■→■→0)の処理がされる。
第10図Eは、5段目の処理を示している。この5段目
では、(■→■→■→■→0)の処理がされる。
第10図Fは、6段目の処理を示している。この6段目
では、(■→■→■→■→0)の処理がされる。この段
階で、ステップ0の条件が成立するので、演算の停止の
ステップ[相]に移行し、処理が終了する。
上述の例で、注意する点は、第10図Cの3段目のデー
タ制御部ICの動作である。(I X=−1)であるか
ら、データ制御部ICのクロス制御は、ORゲート8へ
の信号をHとする。これは、(CR1=L)であっても
、この段以降、どこかでデータラインをクロスさせる必
要があることを意味する。そこで、データ制御部ICの
中でクロス可能かどうかを検出する。このために、Q系
列に1クロツクの遅延を入れた多項式系列とP系列の多
項式系列とを比較して、最高次係数が同時にレジスタに
ロードされるかどうかを判断する。この例では、Q系列
の最高次次数がα2の時、P系列は、まだOである。従
って、このデータ制御部ICでは、クロスできないこと
になるから、ANDゲート9に対する信号をHとして、
フラグ(CR4=H)として、次段以降でクロスさせる
ように、フラグを伝達している。また、この時には、演
算処理をしないように、レジスタ14.24の内容が1
とされ、レジスタ16.26の内容が0とされる。
更に、この3段目の演算部2Cでは、フラグIXに(+
3)の処理がなされている。(IX=−1)の時にクロ
スを行った時には、通常IXに(+1)の処理を行えば
良い。また、同時に、最高次係数がロード出来なくて、
演算部を非動作とする時にも、tXに1を加えた。上述
の例の3段目の演算部2Cでは、上記の二つのことが同
時に起きているので、IXに対して2を加えれば良いと
考えられるが、実際には、3を加える必要がある。
e、互除演算の具体的回路 第1図に示す基本的構成は1.第11図に示す回路によ
り具体化できる。第11図において、FQ○の符号は、
D型フリップフロップを示し、JQOは、JK型ラフリ
ップフロップ示し、T1〜T4がクロックイネーブルD
型フリップフロップを示す。第1図の基本的構成との対
応関係は、ORゲート8がOR7と対応し、ANDゲー
ト9がAND7と対応する。また、乗算回路13.17
がMULl、MUL2と対応し、加算回路15がADD
lと対応し、レジスタ14及び16がT1及びT2と対
応する。同様に、乗算回路23.27がMUL3.MU
L4と対応し、加算回路25がADD2と対応し、レジ
スタ24及び26がT3及びT4と対応する。更に、フ
ラグCRは、第11図においては、CRO5Sと表され
ている。
第11図の回路構成の特徴的な点は、フラグIXの取り
扱いである。上述の説明では、フラグIXは、独立に段
間で受は渡ししていた。しかしながら、フラグIXは、
通常でも、5ビット程度を必要とし、符号の最大能力を
持たせる時には、8ビツト必要となる。このため、各段
の構成をIC化した時に、入力及び出力で16本のビン
が必要となる。このことは、IC化にとって、コストの
上昇をもたらし、不利である。また、フラグIXの加減
算のために、通常の加算回路11を設けているが、この
加算回路11を省略できることが好ましい。
上述の理由で、第11図の構成においては、フラグIX
がP系列の先頭に付加されて、入力及び出力のピン数の
削減が図られている。また、IXの加減算が乗算回路M
UL 1で行われる構成とし、フラグIX用の加算回路
が省略されている。即ち、IXの加算をαIXと考えて
、IXの加減算が指数の加減算に置き換えられている。
この場合、(IX=−1)の検出を行うために、8ビツ
トの比較回路COMPが設けられ、α−1が検出された
ら比較回路COMPがHを出力する。この比較回路CO
MPの出力信号がクロックイネーブル付のフリップフロ
ップF102によりラッチされる。これから入力を始め
ているデータ系列の属性を示す信号INVが形成され、
この信号INVがOR7に入力される。
このOR7には、前段からのCRO3S信号がF21゜
F22を介して供給される。
第11図におけるMD倍信号、二つの役目を有している
。その一つは、多項式系列の入力開始を知らせることで
あり、第二には、[(P、 Q、 R。
Sの最大次数幅)+(IX用の1クロツク)〕のパルス
幅を有している。従って、MD倍信号、基本回路のデー
タ設定、モードリセットが行われる。
次に、J72.J82.J92は、JKフリップフロッ
プであって、P、 Q、 R系列に入力してくる多項式
の次数だけHとなる信号を作っているもので、最高次数
係数の後、途中の係数が“0”になっても、出力がLと
ならないように、JKフリップフロップが使用されてい
る。この出力を用い、J72の否定信号と、J82を1
段遅延させたF1aの出力信号とを比較することにより
、P。
Q系列の最高次係数がレジスタT1及びT2に同時に人
力させることが可能かどうかが判断されている。これが
AD7の信号で、一旦J74でラッチしている。これが
Hだと、クロス禁止(CRO3SIN旧旧T)という意
味でCRIN+(と記することにする。これは、第3図
のフローチャートでは、ステップ■及び■の判断ステッ
プに相当しており、(CRINII = H)がステッ
プ■及び■では、NOに相当し、(CRINH=L)が
ステップ■及び■では、YESに相当する。
J72の否定出力とJ92の出力信号とを比較すること
により、フローチャート中のステップ0である演算の停
止の条件を検出している。J93の出力信号がHとなれ
ば、全ての演算が停止され、P、R系列も、Q、  S
系列に遅延の段数があわせられるようになっている。こ
の制御を行っているのがMUXI−MUX4.MUX8
.MUX9である。また、互除演算で、最大次数が1減
少したときのみ、MUX7は、O入力を選択し、MDの
パルス幅が1クロック分小さくなるようにされている。
これらのデータセレクタがどのような選択動作を行うか
を第12図に示す。この第12図には、フローチャート
のどのステップに対応するかも示されている。
第13図は、第11図の具体回路の動作を示すタイミン
グチャートである。この第13図の例は、4誤り訂正の
例の場合である。第13図Aが一段目の回路の動作を示
し、以下、第13図B〜第13図1まで2段目〜9段目
の各段の動作が示されている。
〔発明の効果〕
この発明によれば、基本回路を縦続接続するだけで、何
重誤りでも、訂正できるリード・ソロモン符号の復号回
路が構成できる。特に、この発明は、バッファメモリを
持たず、実時間で演算が連続的に実行され、ディジタル
ビデオデータのような高速のデータ番二対して有効であ
る。
【図面の簡単な説明】
第1図はこの発明の一実施例の基本的構成のブロック図
、第2図は第1図から取り出された演算部のブロック図
、第3図は制御部の動作説明のためのフローチャート、
第4図、第5図、第6図。 及び第7図は誤りの例を各々示す路線図、第8図。 第9図及び第10図は基本的回路の動作を説明するため
のブロック図、第11図はこの発明の一実施例の具体回
路、第12図は具体回路の動作説明のための路線図、第
13図は具体回路の動作説明を示すタイミングチャート
、第14図はこの発明の説明の参考としたリード・ソロ
モン符号の復号回路の一例の説明のための路線図である
。 図面における主要な符号の説明 1、LA、IB・・・:データ制御部。 2.2A、2B・・・:演算部、3:クロス制御回路、
11,15,25:加算回路、14,16゜24.26
:レジスタ、13,17,23.27:乗算回路。

Claims (1)

  1. 【特許請求の範囲】 ユークリッド互除法により、誤り多項式σ(x)と誤り
    評価多項式ω(x)を導出するようにしたリード・ソロ
    モン符号の復号方法において、シンドローム多項式S(
    x)を求め、上記シンドローム多項式S(x)と訂正し
    ようとするシンボル数tで定まる初期多項式x^2^t
    との互いの最高次数を乗算しあいながら一つづつ順に次
    数を減らすことで、 f(x)・B(x)+g(x)・S(x)=h(x)(
    但し、h(x)の次数<g(x)の次数≦t)の関係を
    満足する多項式h(x)及びg(x)を求め、上記多項
    式g(x)を上記誤り位置多項式σ(x)とし、上記多
    項式h(x)を上記誤り評価多項式ω(x)とすること
    を特徴とするリード・ソロモン符号の復号方法。
JP62152233A 1987-06-18 1987-06-18 リ−ド・ソロモン符号の復号方法 Pending JPS63316524A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP62152233A JPS63316524A (ja) 1987-06-18 1987-06-18 リ−ド・ソロモン符号の復号方法
EP88305566A EP0295949B1 (en) 1987-06-18 1988-06-17 Method and apparatus for decoding Reed-Solomon code
AU18135/88A AU611448B2 (en) 1987-06-18 1988-06-17 Method and apparatus for decoding reed-solomon code
DE3853449T DE3853449D1 (de) 1987-06-18 1988-06-17 Verfahren und Gerät zur Decodierung eines Reed-Solomon-Kodes.
AT88305566T ATE120588T1 (de) 1987-06-18 1988-06-17 Verfahren und gerät zur decodierung eines reed- solomon-kodes.
CA000569732A CA1314995C (en) 1987-06-18 1988-06-17 Method and apparatus for decoding reed-solomon code
KR1019880007374A KR890000975A (ko) 1987-06-18 1988-06-18 유클리드 호제 연산회로
US07/950,779 US5341385A (en) 1987-06-18 1992-09-24 Method and apparatus for decoding Reed-Solomon code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62152233A JPS63316524A (ja) 1987-06-18 1987-06-18 リ−ド・ソロモン符号の復号方法

Publications (1)

Publication Number Publication Date
JPS63316524A true JPS63316524A (ja) 1988-12-23

Family

ID=15535996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62152233A Pending JPS63316524A (ja) 1987-06-18 1987-06-18 リ−ド・ソロモン符号の復号方法

Country Status (7)

Country Link
EP (1) EP0295949B1 (ja)
JP (1) JPS63316524A (ja)
KR (1) KR890000975A (ja)
AT (1) ATE120588T1 (ja)
AU (1) AU611448B2 (ja)
CA (1) CA1314995C (ja)
DE (1) DE3853449D1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4856003A (en) * 1987-05-07 1989-08-08 Digital Equipment Corporation Error correction code encoder
DE4140018A1 (de) * 1991-12-04 1993-06-09 Bts Broadcast Television Systems Gmbh, 6100 Darmstadt, De Verfahren und schaltungsanordnung zum decodieren von rs-codierten datensignalen
JP3239522B2 (ja) * 1992-10-30 2001-12-17 ソニー株式会社 データ消失訂正方法とその回路
US5517509A (en) * 1993-03-31 1996-05-14 Kabushiki Kaisha Toshiba Decoder for decoding ECC using Euclid's algorithm

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8400630A (nl) * 1984-02-29 1985-09-16 Philips Nv Decodeerinrichting voor een stroom van codesymbolen die woordsgewijze beschermd zijn door een dubbele reed-solomon-code met een minimum hamming-afstand van 5 over de codesymbolen en een verbladeringsmechanisme tussen de beide codes, alsmede speler voorzien van zo een decodeerinrichting.
US4649541A (en) * 1984-11-21 1987-03-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reed-Solomon decoder
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
US4856003A (en) * 1987-05-07 1989-08-08 Digital Equipment Corporation Error correction code encoder

Also Published As

Publication number Publication date
EP0295949A2 (en) 1988-12-21
DE3853449D1 (de) 1995-05-04
ATE120588T1 (de) 1995-04-15
AU611448B2 (en) 1991-06-13
KR890000975A (ko) 1989-03-17
EP0295949B1 (en) 1995-03-29
AU1813588A (en) 1988-12-22
EP0295949A3 (en) 1990-12-19
CA1314995C (en) 1993-03-23

Similar Documents

Publication Publication Date Title
JPS59123945A (ja) 多数バイトエラ−訂正システム
JPH0452556B2 (ja)
EP0249982B1 (en) Decoder
US4751704A (en) Method and apparatus for decoding BCH code
JP3354025B2 (ja) エラー位置多項式の計算方法およびその装置
US5341385A (en) Method and apparatus for decoding Reed-Solomon code
JPS63316524A (ja) リ−ド・ソロモン符号の復号方法
EP1175015B1 (en) Decoding circuit and decoding method thereof
JP2605966B2 (ja) 誤り訂正回路
EP0629052A1 (en) Method of and circuit for correcting errors
JPS63316525A (ja) ユ−クリッド互除演算回路
JPH06314978A (ja) チェン・サーチ回路
JP2600683B2 (ja) リード・ソロモン符号の復号方法
JP3126973B2 (ja) 誤り訂正処理装置
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JPS62122332A (ja) 復号化装置
JP2575506B2 (ja) チエンサーチ回路
JP2600681B2 (ja) リード・ソロモン符号の復号方法
JPS63167527A (ja) 拡張ガロア体上の最大公約多項式算出回路および多項式互除演算回路
JPS6394720A (ja) 誤り訂正符号の復号化回路
JPH0750595A (ja) 復号化装置
JPH011332A (ja) リ−ド・ソロモン符号の復号方法
JPH0434785B2 (ja)
JPH05259924A (ja) 誤り訂正符号の復号方法
JPH04297164A (ja) パケット受信機の誤り訂正回路