JP3245290B2 - 復号方法とその装置 - Google Patents

復号方法とその装置

Info

Publication number
JP3245290B2
JP3245290B2 JP35451893A JP35451893A JP3245290B2 JP 3245290 B2 JP3245290 B2 JP 3245290B2 JP 35451893 A JP35451893 A JP 35451893A JP 35451893 A JP35451893 A JP 35451893A JP 3245290 B2 JP3245290 B2 JP 3245290B2
Authority
JP
Japan
Prior art keywords
polynomial
decoding
error
updating
syndrome
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 - Fee Related
Application number
JP35451893A
Other languages
English (en)
Other versions
JPH07202720A (ja
Inventor
恵市 岩村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP35451893A priority Critical patent/JP3245290B2/ja
Priority to US08/363,957 priority patent/US5604752A/en
Priority to EP94309850A priority patent/EP0661841B1/en
Priority to DE69430236T priority patent/DE69430236T2/de
Publication of JPH07202720A publication Critical patent/JPH07202720A/ja
Application granted granted Critical
Publication of JP3245290B2 publication Critical patent/JP3245290B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル通信系及び
ディジタル記憶系において通信路または記憶媒体で受け
たデータ誤りを、受信側で自動的に訂正する復号方法と
その装置に関する。
【0002】
【従来の技術】誤り訂正符号の復号法は硬判定復号法と
軟判定復号法に分類することができる。硬判定復号法は
受信信号を“0”,“1”に硬判定したディジタル系列
に対し誤り訂正する方法で、復号装置の構成が容易なこ
とからCD(Compact Disk)をはじめ広く用いられてい
る。一方、軟判定復号法は受信信号を軟判定したディジ
タル系列の他にその確からしさを示すアナログ重みを求
め、これを利用して誤り訂正する。そのために誤り訂正
符号のもつ能力を十分に引き出すことができ、硬判定復
号法に対し、一般に、SN比を2〜3dB程度改善する
ことができると言われている。
【0003】次に示すGMD(Generalized Minimum Dis
tance)復号法は軟判定復号法の1つであり、アナログ重
みを用いて近似的に最尤復号を行うことができる復号法
として知られている。ここで、符号の最小距離をdとす
ると、従来のGMD復号では最大d−1個の誤りを訂正
することができ、1回の硬判定復号による訂正能力の約
2倍の誤り訂正を実現することができる。
【0004】
【発明が解決しようとする課題】しかしながら、GMD
復号は最大(d−1)/2回の硬判定復号を必要とする
ために、1回の復号でよい硬判定復号法に比べて、大き
な計算量を必要とするため、計算回路規模や演算時間が
大きくなるという問題があった。
【0005】本発明は上記従来例に鑑みてなされたもの
で、通信符号を、計算量が小さく高速に復号できる復号
方法とその装置を提供することを目的とする。
【0006】
【0007】
【発明を解決する為の手段】上記目的を達成するための
本発明による復号装置は以下の構成を備える。即ち、符
号化された受信語を復号する復号装置であって、受信語
に基づいてシンドローム多項式を生成するシンドローム
多項式生成手段と、生成された前記シンドローム多項式
を用いて、設定された誤り位置多項式と誤り数値多項式
とを、順次所定回更新する多項式更新手段と、前記多項
式更新手段による各回の更新後に、最新の誤り位置多項
式の次数を所定の閾値と比較する比較手段とを備え、
記多項式更新手段が、前記比較手段による比較結果に応
じた更新手順により、前記誤り位置多項式と前記誤り数
値多項式との次回の更新を行なう。
【0008】また、好ましくは、前記シンドローム多項
式生成手段は、受信語と当該受信語の消失位置とに基づ
いてシンドローム多項式を生成する。 また、好ましく
は、前記所定の閾値は、前記多項式更新手段により実行
された更新の回数に応じて定まる値である。 また、好ま
しくは、前記多項式更新手段は、前記受信語の消失位置
と、前記シンドローム多項式と、第1及び第2の補助多
項式とを参照し、前記誤り位置多項式と、前記誤り数値
多項式と、さらに前記第1及び第2の補助多項式とを更
新する。
【0009】また、本発明の他の態様による復号方法
は、符号化された受信語を復号する復号方法であって、
受信語に基づいてシンドローム多項式を生成するシンド
ローム多項式生成工程と、生成された前記シンドローム
多項式を用いて、設定された誤り位置多項式と誤り数値
多項式とを、順次所定回更新する多項式更新工程と、
記多項式更新手段による各回の更新後に、最新の誤り位
置多項式の次数を所定の閾値と比較する比較工程とを備
え、 前記多項式更新工程では、前記比較工程による比較
結果に応じた更新手順により、前記誤り位置多項式と前
記誤り数値多項式との次回の更新を行なう。
【0010】また、好ましくは、前記シンドローム多項
式生成工程では、受信語と当該受信語の消失位置とに基
づいてシンドローム多項式を生成する。 また、好ましく
は、前記所定の閾値は、前記多項式更新工程により実行
された更新の回数に応じて定まる値である。 また、好ま
しくは、前記多項式更新工程では、前記受信語の消失位
置と、前記シンドローム多項式と、第1及び第2の補助
多項式とを参照し、前記誤り位置多項式と、前記誤り数
値多項式と、さらに前記第1及び第2の補助多項式とを
更新する。
【0011】
【作用】以上の構成において受信語に基づいてシンド
ローム多項式生成され、生成された前記シンドローム
多項式を用いて、設定された誤り位置多項式と誤り数値
多項式とが順次所定回更新される。そして、この各回の
更新後に、最新の誤り位置多項式の次数が所定の閾値と
比較される。ここで、前記誤り位置多項式と前記誤り数
値多項式との次回の更新は、この比較結果に応じた更新
手順により行われる。
【0012】
【0013】
【0014】
【0015】
【実施例】以下、本発明の1実施例であるGMD復号方
法とその装置について説明する。まず、GMD復号法の
概要を説明を簡潔に行ってから、本題の説明に入ること
にする。
【0016】[GMD復号法の概要]符号長nの受信系
列R=(R0,R1,…,Rn-1)の各シンボルに対し
て、その確からしさを示すアナログ重みをθ=(θ0
θ1,…,θn-1)とする。ただし、0≦θi≦1とし、
θi>θjであれば受信系列RのシンボルRiは、Rjより
信頼度が高いものとする。
【0017】また、関数χ(a,b)を、 χ(a,b): 1 if a=b : -1 if a≠b (式1) と定義し、受信系列R=(R0,R1,…,Rn-1)とこ
の受信系列Rを復号して得られた符号語C=(C0
1,…,Cn-1)との内積R・Cを次のように定義す
る。
【0018】
【数2】 (式2) このとき、次の不等式を満足する受信系列Rは正しく訂
正できることが既に証明されている。ただし、dはCの
最小距離である。 R・C>n−d (式3) 従って、次の4つのステップからなる処理を有限回繰り
返し行えば、(式3)を満足する受信系列Rを見つけ出
すことができ、正しく復号できる。 ステップ1: 受信系列Rのなかでアナログ重みの小さ
い方からj個(初期値は0)のシンボルを消失とし、そ
れ以外のシンボルを硬判定したテスト系列R’を生成す
る。
【0019】ステップ2: テスト系列R’に対し硬判
定復号を行った符号語C’を得る。訂正できない場合は
ステップ4に進む。
【0020】ステップ3: 受信系列Rと符号語Cとの
内積R・Cが(式3)の不等式を満足するか否かを判定
する。不等式が成立するときは符号語Cを出力し、不成
立の時はステップ4へ行く。
【0021】ステップ4: 「j=j+2」としてか
ら、ステップ1へ行く。ただし、j≦dとなるときは誤
り訂正能力を越す誤りが発生した場合であり、復号を終
了する。
【0022】[終了]これによってGMD復号は最大d
−1個の誤りを訂正することができ、1回の硬判定復号
による訂正能力の約2倍の誤り訂正を実現することがで
きる。しかし、GMD復号は最大(d−1)/2回の硬
判定復号を必要とするために、1回の復号でよい硬判定
復号法に比べて、大きな計算量を必要とし実用的にはあ
まり用いられなかった。
【0023】そこで、E.R.Berlekamp は受信系列を符号
の生成多項式で除した剰余多項式を用いて行う剰余復号
法を提案し、その剰余復号法をGMD復号に適用すれ
ば、GMD復号に要する計算量を大幅に減少しうる可能
性があることを示した。更に、剰余復号を効率的に実行
するWelch-Berlekamp (WB)アルゴリズムと呼ばれる
次のようなアルゴリズムを提案した。それ以後、森井・
荒木らは最大2回の剰余復号法によって最大d−1個の
誤りを訂正できる、即ちGMD復号が行えることを示
し、E.R.Berlekamp によって示されたGMD復号に要す
る計算量の減少の可能性を明らかにした。
【0024】
【数3】 しかし、従来のGMD復号のアルゴリズムによる復号化
処理では次数に対する計算量は考慮されていなかった。
【0025】WBアルゴリズムでの復号化処理では、
(4)の判定を行うために、図2に示すようなaj,bj
との乗算を行う2つの乗算器30、31と、多項式Uj
(x),Qj(x)の次数を検査する2つの次数検査回
路32、33を必要とする。
【0026】第1の実施例では、上述の2つの多項式の
次数検査回路を、1つの多項式の次数検査回路だけで実
現できる復号化処理における判定方法を説明する。
【0027】尚、この手法は、後述する再帰化WBアル
ゴリズムの復号化処理においても適用でき、全体として
最も計算量の小さな復号化処理が実現できる。
【0028】次に、第1の実施例のポイントである1つ
の多項式の次数検査回路だけで実現できる復号化処理に
おける判定方法に焦点を当てて、以下説明する。
【0029】森井・荒木の「Welch-Berlekampアルゴリ
ズムの再帰構造化について(IT91-100)」では、WBア
ルゴリズムに関して、 degUj(x)+degQj(x)=j となることが示されている。ここで、この式を変形し
て、 degQj(x)=j―degUj(x) (式4) また、4)の条件式において、ajとbjは0でなければ
次数とは関係ないので次のように書き直すことができ
る。 aj=0 or degQj(x)<degUj(x) (式5) よって、(式5)の条件式に(式4)を代入すると次の
ようになる。 aj=0 or j/2 < degUj(x) (式6) aj=0の検査は、3)の最後において行っているので
計算量は増さず、jの値は5)の更新時に検査している
ので、(式6)において必要な検査は多項式Uj(x)
の次数だけである。従って、4)の判定において次数に
関する計算量を減少することができる。
【0030】次に、第1の実施例の復号化処理方法を図
1のフローチャートを用いて説明する。この復号化処理
方法は、従来のWBアルゴリズムに比べて多項式Q
j(x)の次数を検査する必要がないために、より少な
い回路で高速に実行することができる。
【0031】まず、p元のガロア体を、以下GF(p)
と記述することにする。このGF(p)上の生成多項
式、 G(x)=(x−αb )・(x−αb+1 )…(x−αb+d-2 ) ここで、 α: GF(p)上の原始元 d: 符号の最小距離 b: 任意の整数。 を用いたリードソロモン符号を復号化する処理手順を以
下説明する。
【0032】ステップS1では、処理回数を数える変数
jを初期化、即ち「j=0」とする。また、誤り位置多
項式Uj(x)とその誤り位置補助多項式Pj(x)を
「0」に初期化し、誤り数値多項式Vj(x)とその誤
り数値補助多項式Qj(x)を「1」に初期化する。
【0033】ステップS2では、第1の復号化処理の処
理回数を数える変数jと、所定の処理回数の上限値を決
定する数Nを2倍した数とを比較し、等しくなったら第
1の復号化処理を終了する。等しくない場合は、ステッ
プS3へ進む。
【0034】尚、ここで、Nは符号の誤り訂正能力を意
味する。
【0035】ステップS3では、誤り数値多項式V
j(x)と誤り位置多項式Uj(x)とシンドローム多項
式S(x)とから、スカラ量ajを計算する。また、誤
り数値補助多項式Qj(x)と誤り位置補助多項式P
j(x)とシンドローム多項式S(x)とから、スカラ
量bjを計算する。
【0036】ここで、シンドローム多項式S(x)は、
次式を計算することによって、得られる。
【0037】 T(x)=(x−x0)・(x−x1)…(x−x2N-1) ここで、Ri(i=0,…,n−1)は、符号長nの受
信語である。また、xj(j=0,…,2N-1)は信頼度が
低く消失誤りとされる受信シンボルの位置を表わすGF
(p)上の元である。xj(j=0,…,2N-1)はまた、
信頼度が低い順にjによって番号づけられている。その
jを、誤り数値多項式Vj(xj)、誤り位置多項式Uj
(xj)、誤り数値補助多項式Qj(xj)、誤り位置補
助多項式Pj(xj)とシンドローム多項式S(xj)に
順に代入することによって、2つのスカラ量aj,bj
計算する。ただし、ステップS4において、aj=0か
どうか判定して、aj=0であれば、ステップS5へ進
み、bj=1とする。
【0038】ステップS6では、ajが「0」である
か、または、Uj(x)の次数が「j/2」より大きい
かどうかチェックする。そして、この条件を満たさなけ
れば、ステップS8へ進み、「j+1」次の各多項式V
j+1(x),Uj+1(x),Qj+1(x),Pj+1(x)を
計算する。
【0039】ステップS7では、j次の各多項式と
j,bjとから、「j+1」次の各多項式V
j+1(x),Uj+1(x),Qj+1(x),Pj+1(x)を
計算する。
【0040】ステップS9では、jを1つカウントアッ
プして、ステップS2からの処理を繰り返す。
【0041】以上の処理により、従来のWBアルゴリズ
ムを用いた復号方法より、より簡単な演算で、リードソ
ロモン符号を復号することができる。
【0042】ここで、ステップS6の判定処理は、例え
ば、図3に示す回路構成によって実現できる。図3で、
「aj=0」に対応する比較器1は0検出回路であり、
例えば、排他的論理和ゲートを用いることで非常に簡単
に実現できる。また、OR回路2も1ビットのORゲー
トで実現できる。従って、多項式Uj(x)に関する次
数検査回路が1回路のみでよく、全体として簡単な回路
構成と成っている。同様に、ソフトウエアで実現する場
合でも、より少ない計算量で次数検査が実現できる。こ
のことは、図2に示した回路と比較すると、その優位性
をはっきり認識することができる。図2を参照して、乗
算器30、31は、ガロア体上の乗算であるので、整数
の乗算と比べて回路構成が複雑である。また、次数検査
回路や乗算器が各2回路ずつ必要であるために回路規模
が大きかった。それに対して、図3の回路では、乗算器
が不要で、次数検査回路3が1つでよいため、図2の回
路規模に比べてはるかに簡単な構成となることがわか
る。
【0043】以上説明したように、第1の実施例によれ
ば、従来のWBアルゴリズムによる復号処理に対して、
より簡単な演算で高速に復号処理を行うことができる。 (第2の実施例)第2の実施例では、WBアルゴリズム
を変形した再帰化WBアルゴリズム(「Welch-Berlekam
pアルゴリズムの再帰構造化について(IT91-100)、森
井、荒木」参照)と比較して、より簡単な演算で高速に
復号できる第2の復号化処理方法を説明する。
【0044】まず、再帰化WBアルゴリズムを以下に示
す。
【0045】尚、再帰化WBアルゴリズムはWBアルゴ
リズムに比べて、全体の計算量がさらに減少することが
示されている。
【0046】
【数4】
【数5】 第2の実施例の復号化処理方法では、演算の変数を少な
くすることによって、全体の計算量を削減することがメ
インアイデアとなっている。
【0047】再帰化WBアルゴリズムでの復号化処理で
は、図5に示すように40)の判定処理をサポートする
ための回路構成例である。この図で、47と48は、そ
れぞれLとL’のテンポラリ値を格納するためのレジス
タである。加算器50、49は、それぞれ、レジスタ4
7、48に格納されているLとL’を1カウントアップ
する。非ゼロ検出回路43、44は、それぞれaj,bj
の値が非ゼロかどうか検出する回路である。非ゼロであ
れば、それぞれの値がAND演算回路に送られ、加算器
50、49からのLとL’の出力値とのAND演算がな
される。ここで、AND演算回路45、46の出力は、
それぞれ、aj・xL',bj・xLの次数をしめす値とな
る。そして、それらの次数は比較器40で比較され、比
較結果が出力される。
【0048】第2の実施例は、再帰化WBアルゴリズム
による復号化処理をさらに簡単な演算で高速に実行でき
る第2の実施例の復号化処理方法であって、図4のフロ
ーチャートを参照しながら説明する。
【0049】第2の実施例の復号化処理方法では、再帰
化WBアルゴリズムによる復号化処理に比べて、多項式
j(x)の次数に相当するL’に関する演算を行う必
要がなくなる。
【0050】ステップS10では、処理回数を数える変
数jを初期化、即ち「j=0」とする。また、誤り位置
多項式Uj(x)とその誤り位置補助多項式Pj(x)を
「0」に初期化し、誤り数値多項式Vj(x)とその誤
り数値補助多項式Qj(x)を「1」に初期化する。こ
こで、Pj(x),Qj(x),Uj(x),Vj(x)を
行列Pの各要素として表わすことにする。また、各多項
式Qj(x),Uj(x)の次数をそれぞれ表わすLを
「0」に初期化する。
【0051】さらに、xjを代入することによってaj
jを計算する次の多項式Aj(x),Bj(x)を導入
し、行列Δの各要素とする。 Aj(x)=Vj(x)−S(x)・Uj(x) Bj(x)=Qj(x)−S(x)・Pj(x) ここで、Δの初期値は各多項式の初期値を代入して、 A0(x)=−S(x) B0(x)=1 となる。
【0052】ステップS11では、第2の復号化処理の
処理回数を数える変数jと、所定の処理回数の上限値を
決定する数Nを2倍した数とを比較し、等しくなったら
第2の復号化処理を終了する。等しくない場合は、ステ
ップS12へ進む。
【0053】尚、ここで、Nは符号の誤り訂正能力を意
味する。
【0054】ステップS12では、Aj(x),B
j(x)にxjを代入することによって、aj,bjを得
る。ただし、ステップS13において、aj=0かどう
か判定して、aj=0であれば、ステップS14へ進
み、bj=1とする。
【0055】ステップS15では、ajが「0」である
か、または、Lが「j/2」より大きいかどうかチェッ
クする。そして、Lが「j/2」より小さければ、ステ
ップS16へ進む。そして、大きければ、ステップS1
7へ進み、行列Yを以下のように設定し、Lを1カウン
トアップする。
【0056】
【数6】 ステップS16では、行列Yを以下のように設定する。
【0057】
【数7】 ステップS18では、行列PとΔの更新計算を行う。
【0058】ステップS19では、jを1つカウントア
ップして、ステップS11からの処理ステップを実行す
る。
【0059】こうして求められた誤り位置多項式と誤り
数値多項式とから、復号データを生成する。
【0060】以上の処理により、従来の再帰化WBアル
ゴリズムを用いた復号方法より、より簡単な演算で、リ
ードソロモン符号を復号することができる。
【0061】第2の復号化処理方法におけるステップS
15の判定処理は、例えば図6に示す回路構成で実現で
きる。図6を参照して、比較器22は、ajと「0」の
比較を行い、その比較結果をOR回路20に出力する。
レジスタ24は、テンポラリのLの値を格納する。この
Lは、加算器23でカウントアップされ、比較器21と
レジスタ24へ出力される。レジスタ24では、カウン
トアップされたL値を格納する。一方、比較器21で
は、カウントアップされたL値と「j/2」と比較し、
その比較結果をOR回路20に出力する。OR回路20
では、比較器21からの出力と比較器22からの出力を
入力して、論理OR演算を行い、演算結果を出力する。
【0062】ここで、図5に示した再帰化WBアルゴリ
ズムでの次数処理の回路構成と第2の実施例の次数処理
の回路と比較すると、より小さな回路でかつ小さな計算
量で次数処理が実現できることは明らかである。即ち、
再帰化WBアルゴリズムでの次数処理の回路構成に対
し、少なくとも、L’に関するレジスタ48及び加算器
49が不要となっている。
【0063】尚、この次数に関する計算量の減少手法は
上述のWBアルゴリズムや再帰化WBアルゴリズムだけ
でなく、(式4),(式5)の関係を持つ他のアルゴリ
ズムに対しても有効であることは言うまでもない。
【0064】また、(式4)ではQj(x)の次数をUj
(x)の次数によって表したが、次のようにUj(x)
の次数をQj(x)の次数によって表すこともできる。 degUj(x)=j―degQj(x) (式7) よって、ステップS15の条件式は次のように表すこと
もできる。 aj=0 or j/2>degQj(x) (式8) この場合、Qj(x)の次数(L’)の代わりにU
j(x)の次数(L)の検査(計算)を省略することが
できる。
【0065】また、Pj(x),Uj(x)は誤り位置多
項式を表し、Qj(x),Vj(x)は誤り数値多項式を
表すが、本発明によってQj(x)はアルゴリズムの制
御に関係しなくなるので、BCH符号のように誤り数値
多項式が不要の場合、Qj(x),Vj(x)自体を省略
でき、さらに計算量の削減が可能になる。
【0066】以上説明したように、第2の実施例の復号
化処理方法では、次数に関する計算量を減少することが
でき、全体として最も計算量の小さなGMD復号アルゴ
リズムを構成することができる。また、BCH符号のよ
うに誤り数値多項式が不要の場合、Qj(x),V
j(x)の演算をする必要がなくなり、さらに計算量の
削減が可能になる。 (第3の実施例)第3の実施例では、従来の並列化が困
難であったWBアルゴリズムに対して、並列処理による
高速実行を可能とする新たな復号化方法を説明する。
【0067】前述したWBアルゴリズムは、jにおける
多項式(Uj(x)、Vj(x)、Pj(x)、Qj(x))とj+
1における多項式(Uj+1(x)、Vj+1(x)、P
j+1(x)、Qj+1(x))を並列に計算することは困難であ
る。何故ならば、j+1における多項式を計算するため
にはaj、bjが必要であり、aj、bjはjにおける多項
式の全ての係数を用いて計算される。従って、aj、bj
が得られるのはjにおける多項式の計算が終わった後で
あるので、j+1における多項式の計算が終わった後で
しか始まらない。従って、図7に示すように、WBアル
ゴリズムでは、多項式の更新演算は逐次的に計算され
る。簡単に図7について以下説明する。横軸70は、演
算の時間軸を示す。また、縦軸71には、WBアルゴリ
ズムを用いた復号化処理のための各変数を配置してい
る。演算順序は、まず、a0、b0を求め、次にそれらの
値を用いて、P1,Q1,U1,V1を計算する。次に、P1,
1,U1,V1から、a1、b1を求める。同様の手順で、
2,Q2,U2,V2を求め、続いてa2、b2を求め、・・
・最後にPp,Qp,Up,Vpを求める。
【0068】このような漸化的演算手続きは、前述の再
帰化WBアルゴリズムについても同様である。従って、
WBアルゴリズムとその再帰化WBアルゴリズムは、j
の更新に関する並列処理ができないため、高速化を計る
ことができなかった。
【0069】従って、第3の実施例では、復号化処理を
高速に行う並列化復号処理方法を提供することを目的と
する。以下、第3の実施例の並列化復号処理方法を詳細
に説明する。
【0070】まず、次の多項式Aj(x)、Bj(x)を
定義する。 Aj(x)=Vj(x)―S(x)・Uj(x)=ΣAm・Xm (式9) Bj(x)=Qj(x)―S(x)・Pj(x)=ΣBm・Xm (式10) 従って、WBアルゴリズムの3)において求められるa
j、bjは、 aj=Aj(xj) (式11) bj=Bj(xj) (式12) また、次のような多項式Z(x,y)、C(x,y)、
D(x,y)を定義する。
【0071】
【数109】 (式13)
【数110】 (式14)
【数111】 (式15) よって、式(14),(15)においてi=mとすれ
ば、aj,bjは多項式C(x,y),D(x,y)のx
v ・yj 次の係数となることがわかる。
【0072】また、C(x,y),D(x,y)は次の
ように更新できる。
【0073】(a)deg(aj・Qj(x))<deg
(bj・Uj(x))の場合
【数112】 (b)deg(aj・Qj(x))≧deg(bj・U
j(x))の場合
【数113】 よって、第1の実施例で述べたWBアルゴリズムの3)
で、aj,bjを計算しなくても、aj,bjは多項式Cj
(x,y),Dj(x,y)のxv ・yj 次の係数とな
っているので、WBアルゴリズムを次のように変形でき
る。 [第3の実施例の復号化アルゴリズム]
【数114】
【数115】 図8は、上述の第3の実施例の復号化アルゴリズムの復
号化処理のフローチャートである。以下、このフローチ
ャートを用いて説明する。
【0074】ステップS80では、処理回数を数える変
数jを初期化、即ち「j=0」とする。また、C
0(x,y)、D0(x,y)、V0(x)、P0(x)、
0(x)、Q0(x)の各多項式を初期化する。
【0075】ステップS81では、処理回数を数える変
数jと所定の繰り返し数pを比較し、一致すれば、復号
化処理を終了する。一致しなければ、ステップS82へ
進む。
【0076】ステップS82では、Cj(x,y)のxv
・yj次の係数をajに設定する。また、Dj(x,y)
のxv・yj次の係数をbjに設定する。
【0077】ステップS83では、aj=0かどうか判
定して、aj=0であれば、ステップS84へ進み、bj
=1とする。
【0078】ステップS85では、aj・Qj(x)の次
数と,bj・Uj(x)の次数を比較して、aj・Q
j(x)の次数の方が小さければステップS86へ進
み、大きければステップS87へ進む。
【0079】ステップS86とステップS87では、そ
れぞれ、図8の対応するステップ内に記述した各多項式
の更新演算を行う。
【0080】ステップS88では、jを1カウントアッ
プし、ステップS81からの処理に戻る。
【0081】以上の説明した第3の実施例による復号化
方法では、jに関する並列処理が可能である。第3の実
施例による復号化方法では、aj,bjはCj(x,
y),Dj(x,y)のxv ・yj 次の係数となってい
る。Cj(x,y)とDj(x,y)を用いてC
j+1(x,y)またはDj+1(x,y)が最高次数から下
位次数の方へ順次計算されているとすると、C
j+1(x,y),Dj+1(x,y)のxv ・yj次の係数
が得られた時点でj+1における多項式の演算を始める
ことができる。これはjにおける多項式とj+1におけ
る多項式を並列に計算できることを意味する。従って、
第3の実施例による復号化方法では、図9に示すように
jに関する多項式の演算を並列に実行することができ
る。この図で、横軸90は各演算の時間軸である。ま
た、縦軸91には、第3の復号化処理のための各変数を
配置している。この図から明かなように、第3の実施例
の復号化処理では、多項式の更新演算を行う処理回路を
複数用意すれば、その数に比例した高速化が容易に行え
ることがわかる。また、各jにおける多項式の更新演算
を1クロックで計算した場合でも、図10に示すように
pクロック程度の計算時間で良く、通常のWBアルゴリ
ズムによる演算より高速に演算が行える。尚、図30の
横軸100は各演算の時間軸である。また、縦軸101
には、第3の復号化処理のための各変数を配置してい
る。
【0082】よって、第3の実施例の復号化処理は、例
えば図11のような装置によって実現できる。以下、各
処理部の説明を行う。
【0083】メモリ110は、ステップS80で設定さ
れている初期値及びその更新値を記憶する。メモリ11
0は、制御回路112と多項式演算処理回路111から
必要に応じてアクセスされる。
【0084】制御回路112は、以下の制御を行う。即
ち、 a1: jが予め決められた処理回数pと等しいかどう
かを判断し、等しくなければステップS82の処理を選
択し、 a2: またajが0に等しいかどうか判定して、等し
ければbj=1とし、 a3: 等しくなければ、ステップS85の次数判定を
行い、その判定結果で、ステップS86かステップS8
7の処理を選択する。処理を選択した後、多項式演算処
理回路111に対し選択した処理の実行を要求する。多
項式演算処理回路111はその要求に従い選択された処
理を実行する。
【0085】多項式演算処理回路111は、制御回路1
12の処理要求に基づき、選択された処理、即ち、ステ
ップS86かステップS87の演算処理を実行する。
【0086】ただし、制御回路112と多項式演算処理
回路111はCPU等を用いてソフト的に実行すること
もできるので、分離してある必要はない。また、制御回
路112と多項式演算処理回路111において必要な演
算は簡単な整数の乗除算と加減算であるので、特殊な処
理回路は必要としない。
【0087】また、Pj+1(x),Qj+1(x),Uj+1
(x),Vj+1(x),Cj+1(x,y),Dj+1(x,
y)の更新演算は、同時に実行することができるので処
理回路を複数独立に持つこともできるし、また、各多項
式の更新演算は同様の処理あるので1つの回路によって
も実行できる。以上から、第3の実施例の復号化処理を
実行するための回路構成は簡単になることがわかる。
【0088】尚、第3の実施例の復号化方法で示したW
Bアルゴリズムの変形手法は、前述した“Welch-Berlek
amp アルゴリズムの再帰構造化について”(IT91−
100)において示された再帰化WBアルゴリズムに対
しても適用でき、並列化処理による高速化が図られるこ
とは言うまでもない。
【0089】また、Cj(x,y),Dj(x,y)はそ
のxv ・yj の係数であるaj,bjを求めるために用い
られ、その他の係数は不要である。よって、よく知られ
た連分数法(L.R.Welch and R.A.Scholtz: “Continued
fractions and Berlekamp'salgorithm,”IEEE Trans.In
f.Theory,IT-25,pp.19-27,Jan 1979 参照)のように、
最終結果に関係のない演算を省くことができ、全体の計
算量を削減することができる。
【0090】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることは言うまでもない。
【0091】一般的に、高速なアルゴリズムとは計算量
の少ないアルゴリズムを指す場合が多い。しかし、高速
化を実現する場合、アルゴリズムの計算量を減少させる
アプローチとアルゴリズムの並列度を高めるアプローチ
が考えられる。それは並列処理によって複数の処理を同
時に実行すれば処理時間が短縮できるためである。最近
はVLSI技術の進歩により大規模な並列処理チップを
容易に実現することができるようになった。よって、並
列度の高いアルゴリズムの方が高速処理向きである場合
も多い。第3の実施例は、こうしたVLSI技術の進歩
によって並列化処理回路を安価に構成できるようになっ
てきたという背景を鑑みて発明された一例である。
【0092】以上説明したように、第3の実施例の復号
化処理方法によれば、従来のWBアルゴリズムよりも並
列度が高く、高速処理を実現できる。また、従来のWB
アルゴリズムが多項式の更新演算とaj,bjを求める
代入演算という2種類の演算を必要とするのに対して、
第3の実施例による復号化処理方法では、多項式の更新
演算だけでよいので、より簡単かつ高速な復号を行う通
信装置を構成できる。
【0093】(第4の実施例)第1〜第3の実施例で
は、通信符号の復号方法と復号装置に焦点をあてて説明
したが、第4の実施例では、それら復号方法と復号装置
を備える通信装置の一例を示す。
【0094】図12は、第4の実施例の通信装置120
の構成概要を示す図である。この図を参照して、以下第
4の実施例の通信装置120を詳細に説明する。
【0095】CPU121は、通信装置120全体の制
御を行う。その制御プログラムは、予めROM124に
格納されており、CPU121はこの制御プログラムを
実行する。キーボード122は、通信装置120に対す
るコマンドやデータを入力する入力端末である。RAM
123は、CPU121が各種処理を実行するための作
業データや、通信データを格納する。モニタ125は、
通信装置120での各種処理結果、通信データ、キーボ
ード122からの入力コマンド等を表示する。符号部1
27は、RAM123に格納されている通信データを符
号化処理を行い、通信線129に対して符号データを出
力する。復号部126は、外部の通信装置からから通信
線128を介して伝送された符号データを復号し、RA
M123へ格納させる。
【0096】ここで、復号部126は、実施例1〜3の
復号方法で復号処理を行う部分である。復号部126に
は、復号処理を制御するCPUA130と、実施例1〜
3で示した各復号方法に対応する復号プログラムが格納
されているメモリ131を内蔵している。
【0097】第4の実施例の通信装置では、受信した符
号データを高速に復号することができる。尚、本発明
は、複数の機器から構成されるシステムに適用しても、
1つの機器から成る装置に適用してもよい。又、本発明
はシステム或いは装置にプログラムを供給することによ
って達成される場合にも適用できることは言うまでもな
い。
【0098】
【発明の効果】以上説明したように本発明によれば、
成されたシンドローム多項式を用いて、設定された誤り
位置多項式と誤り数値多項式とを、順次所定回更新する
際に、各回の更新後に、最新の誤り位置多項式の次数を
所定の閾値とを比較し、比較結果に応じた更新手順によ
り、誤り位置多項式と誤り数値多項式との次回の更新を
行なうようにしたので、複数の多項式の次数についての
比較・判定を要さず、通信符号の高い訂正能力での復号
を小さな回路規模で高速に実行できる。
【0099】
【0100】
【図面の簡単な説明】
【図1】第1の実施例の復号化処理を説明するフローチ
ャートである。
【図2】WBアルゴリズムによる次数計算回路構成を説
明する図である。
【図3】第1の実施例の次数計算回路構成を説明する図
である。
【図4】第2の実施例の復号化処理を説明するフローチ
ャートである。
【図5】再帰化WBアルゴリズムによる次数計算回路構
成を示す図である。
【図6】第2の実施例の次数計算回路構成を説明する図
である。
【図7】WBアルゴリズムによる復号処理の手順を説明
する図である。
【図8】第3の実施例の並列復号化処理を説明するフロ
ーチャートである。
【図9】第3の実施例の並列復号化処理の並列処理を説
明する図である。
【図10】第3の実施例の並列復号化処理の並列処理を
説明する図である。
【図11】第3の実施例の並列復号化処理回路構成を説
明する図である。
【図12】第4の実施例の通信装置の1構成例を説明す
る図である。
【符号の説明】
1、4、21、22 比較器 2、20 OR演算回路 3 次数検査回路 23 加算器 24 レジスタ 110 メモリ 111 多項式演算処理回路 112 制御回路
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−74066(JP,A) 特開 平7−50595(JP,A) 特開 平6−197026(JP,A) 特開 平5−315974(JP,A) 特開 平5−252053(JP,A) 特開 平5−225716(JP,A) 米国特許5604752(US,A) (58)調査した分野(Int.Cl.7,DB名) H03M 13/00 H04L 1/00

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 符号化された受信語を復号する復号装置
    であって、 受信語に基づいてシンドローム多項式を生成するシンド
    ローム多項式生成手段と、 生成された前記シンドローム多項式を用いて、設定され
    た誤り位置多項式と誤り数値多項式とを、順次所定回
    新する多項式更新手段と、前記多項式更新手段による各回の更新後に、最新の誤り
    位置多項式の次数を所定の閾値と比較する比較手段とを
    備え、 前記多項式更新手段が、前記比較手段による比較結果に
    応じた更新手順により、前記誤り位置多項式と前記誤り
    数値多項式との次回の更新を行なう ことを特徴とする復
    号装置。
  2. 【請求項2】 前記シンドローム多項式生成手段は、受
    信語と当該受信語の消失位置とに基づいてシンドローム
    多項式を生成することを特徴とする請求項1に記載の復
    号装置。
  3. 【請求項3】 前記所定の閾値は、前記多項式更新手段
    により実行された更新の回数に応じて定まる値である
    とを特徴とする請求項1に記載の復号装置。
  4. 【請求項4】 前記多項式更新手段は、 前記受信語の消失位置、前記シンドローム多項式と
    第1及び第2の補助多項式とを参照し、前記 誤り位置多項式と、前記誤り数値多項式と、さらに
    前記第1及び第2の補助多項式とを更新することを特徴
    とする請求項に記載の復号装置。
  5. 【請求項5】 符号化された受信語を復号する復号方法
    であって、 受信語に基づいてシンドローム多項式を生成するシンド
    ローム多項式生成工程と、 生成された前記シンドローム多項式を用いて、設定され
    た誤り位置多項式と誤り数値多項式とを、順次所定回
    新する多項式更新工程と、前記多項式更新手段による各回の更新後に、最新の誤り
    位置多項式の次数を所定の閾値と比較する比較工程とを
    備え、 前記多項式更新工程では、前記比較工程による比較結果
    に応じた更新手順によ り、前記誤り位置多項式と前記誤
    り数値多項式との次回の更新を行なう ことを特徴とする
    復号方法。
  6. 【請求項6】 前記シンドローム多項式生成工程では、
    受信語と当該受信語の消失位置とに基づいてシンドロー
    ム多項式を生成することを特徴とする請求項5に記載の
    復号方法。
  7. 【請求項7】 前記所定の閾値は、前記多項式更新工程
    により実行された更新の回数に応じて定まる値である
    とを特徴とする請求項5に記載の復号方法。
  8. 【請求項8】 前記多項式更新工程では、 前記受信語の消失位置、前記シンドローム多項式と
    第1及び第2の補助多項式とを参照し、前記 誤り位置多項式と、前記誤り数値多項式と、さらに
    前記第1及び第2の補助多項式とを更新することを特徴
    とする請求項に記載の復号方法。
JP35451893A 1993-12-29 1993-12-29 復号方法とその装置 Expired - Fee Related JP3245290B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP35451893A JP3245290B2 (ja) 1993-12-29 1993-12-29 復号方法とその装置
US08/363,957 US5604752A (en) 1993-12-29 1994-12-27 Communication method and apparatus therefor
EP94309850A EP0661841B1 (en) 1993-12-29 1994-12-28 Parity and syndrome generation for error detection and correction in digital communication systems
DE69430236T DE69430236T2 (de) 1993-12-29 1994-12-28 Paritäts- und Syndromgenerator zur Fehler-Erkennung und -Korrektur in digitalen Übertragungssystemen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35451893A JP3245290B2 (ja) 1993-12-29 1993-12-29 復号方法とその装置

Publications (2)

Publication Number Publication Date
JPH07202720A JPH07202720A (ja) 1995-08-04
JP3245290B2 true JP3245290B2 (ja) 2002-01-07

Family

ID=18438102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35451893A Expired - Fee Related JP3245290B2 (ja) 1993-12-29 1993-12-29 復号方法とその装置

Country Status (4)

Country Link
US (1) US5604752A (ja)
EP (1) EP0661841B1 (ja)
JP (1) JP3245290B2 (ja)
DE (1) DE69430236T2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3507119B2 (ja) * 1994-03-15 2004-03-15 キヤノン株式会社 擬似乱数生成装置とそれを用いた通信装置
JPH0936755A (ja) * 1995-07-21 1997-02-07 Canon Inc 復号装置及びその方法
EP1056236B1 (en) 1999-05-28 2011-07-20 Canon Kabushiki Kaisha Apparatus and method for correcting data errors
US6634007B1 (en) * 1999-11-08 2003-10-14 Codevector Technology Algebraic soft decoding of reed-solomon codes
JP2001359070A (ja) * 2000-06-14 2001-12-26 Canon Inc データ処理装置、データ処理方法及びコンピュータ可読記憶媒体
JP2003078421A (ja) * 2001-09-04 2003-03-14 Canon Inc 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
JP2003324418A (ja) * 2002-02-27 2003-11-14 Canon Inc 画像処理装置、データ処理装置及びデータ処理方法
JP2006025409A (ja) * 2004-06-11 2006-01-26 Canon Inc 画像処理装置及び画像処理方法
US9419651B2 (en) * 2008-12-31 2016-08-16 Stmicroelectronics, Inc. Non-polynomial processing unit for soft-decision error correction coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633470A (en) * 1983-09-27 1986-12-30 Cyclotomics, Inc. Error correction for algebraic block codes
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
US5323402A (en) * 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder

Also Published As

Publication number Publication date
DE69430236T2 (de) 2002-09-12
DE69430236D1 (de) 2002-05-02
EP0661841A3 (en) 1995-11-22
EP0661841B1 (en) 2002-03-27
US5604752A (en) 1997-02-18
EP0661841A2 (en) 1995-07-05
JPH07202720A (ja) 1995-08-04

Similar Documents

Publication Publication Date Title
EP1131893B1 (en) Forward error corrector
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
US6543026B1 (en) Forward error correction apparatus and methods
JP2001502153A (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
JPH0936755A (ja) 復号装置及びその方法
EP0836285B1 (en) Reed-Solomon decoder with general-purpose processing unit and dedicated circuits
JPH0728227B2 (ja) Bch符号の復号装置
JP3245290B2 (ja) 復号方法とその装置
JP3354025B2 (ja) エラー位置多項式の計算方法およびその装置
US20100174970A1 (en) Efficient implementation of a key-equation solver for bch codes
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
US6915478B2 (en) Method and apparatus for computing Reed-Solomon error magnitudes
US20030131308A1 (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
JP3248098B2 (ja) シンドローム計算装置
JPH06314978A (ja) チェン・サーチ回路
US6446233B1 (en) Forward error correction apparatus and methods
JP2575506B2 (ja) チエンサーチ回路
US5978950A (en) Polynomial evaluator for use in a reed-solomon decoder
JP2773701B2 (ja) 誤り訂正復号装置
JP3398560B2 (ja) 短縮化誤り訂正復号装置
JP2944813B2 (ja) 誤り訂正符号の復号装置
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
JP2008112522A (ja) 誤り検出装置および誤り検出方法
JPH09185518A (ja) 原始元αのべき乗生成方式及びその装置
KR900000670Y1 (ko) 리드-솔로몬 엔코오더의 코오드워드 발생회로

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011005

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071026

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081026

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091026

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091026

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111026

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111026

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131026

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees