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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements 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
ディジタル記憶系において通信路または記憶媒体で受け
たデータ誤りを、受信側で自動的に訂正する復号方法と
その装置に関する。
軟判定復号法に分類することができる。硬判定復号法は
受信信号を“0”,“1”に硬判定したディジタル系列
に対し誤り訂正する方法で、復号装置の構成が容易なこ
とからCD(Compact Disk)をはじめ広く用いられてい
る。一方、軟判定復号法は受信信号を軟判定したディジ
タル系列の他にその確からしさを示すアナログ重みを求
め、これを利用して誤り訂正する。そのために誤り訂正
符号のもつ能力を十分に引き出すことができ、硬判定復
号法に対し、一般に、SN比を2〜3dB程度改善する
ことができると言われている。
tance)復号法は軟判定復号法の1つであり、アナログ重
みを用いて近似的に最尤復号を行うことができる復号法
として知られている。ここで、符号の最小距離をdとす
ると、従来のGMD復号では最大d−1個の誤りを訂正
することができ、1回の硬判定復号による訂正能力の約
2倍の誤り訂正を実現することができる。
復号は最大(d−1)/2回の硬判定復号を必要とする
ために、1回の復号でよい硬判定復号法に比べて、大き
な計算量を必要とするため、計算回路規模や演算時間が
大きくなるという問題があった。
で、通信符号を、計算量が小さく高速に復号できる復号
方法とその装置を提供することを目的とする。
本発明による復号装置は以下の構成を備える。即ち、符
号化された受信語を復号する復号装置であって、受信語
に基づいてシンドローム多項式を生成するシンドローム
多項式生成手段と、生成された前記シンドローム多項式
を用いて、設定された誤り位置多項式と誤り数値多項式
とを、順次所定回更新する多項式更新手段と、前記多項
式更新手段による各回の更新後に、最新の誤り位置多項
式の次数を所定の閾値と比較する比較手段とを備え、 前
記多項式更新手段が、前記比較手段による比較結果に応
じた更新手順により、前記誤り位置多項式と前記誤り数
値多項式との次回の更新を行なう。
式生成手段は、受信語と当該受信語の消失位置とに基づ
いてシンドローム多項式を生成する。 また、好ましく
は、前記所定の閾値は、前記多項式更新手段により実行
された更新の回数に応じて定まる値である。 また、好ま
しくは、前記多項式更新手段は、前記受信語の消失位置
と、前記シンドローム多項式と、第1及び第2の補助多
項式とを参照し、前記誤り位置多項式と、前記誤り数値
多項式と、さらに前記第1及び第2の補助多項式とを更
新する。
は、符号化された受信語を復号する復号方法であって、
受信語に基づいてシンドローム多項式を生成するシンド
ローム多項式生成工程と、生成された前記シンドローム
多項式を用いて、設定された誤り位置多項式と誤り数値
多項式とを、順次所定回更新する多項式更新工程と、前
記多項式更新手段による各回の更新後に、最新の誤り位
置多項式の次数を所定の閾値と比較する比較工程とを備
え、 前記多項式更新工程では、前記比較工程による比較
結果に応じた更新手順により、前記誤り位置多項式と前
記誤り数値多項式との次回の更新を行なう。
式生成工程では、受信語と当該受信語の消失位置とに基
づいてシンドローム多項式を生成する。 また、好ましく
は、前記所定の閾値は、前記多項式更新工程により実行
された更新の回数に応じて定まる値である。 また、好ま
しくは、前記多項式更新工程では、前記受信語の消失位
置と、前記シンドローム多項式と、第1及び第2の補助
多項式とを参照し、前記誤り位置多項式と、前記誤り数
値多項式と、さらに前記第1及び第2の補助多項式とを
更新する。
ローム多項式が生成され、生成された前記シンドローム
多項式を用いて、設定された誤り位置多項式と誤り数値
多項式とが順次所定回更新される。そして、この各回の
更新後に、最新の誤り位置多項式の次数が所定の閾値と
比較される。ここで、前記誤り位置多項式と前記誤り数
値多項式との次回の更新は、この比較結果に応じた更新
手順により行われる。
法とその装置について説明する。まず、GMD復号法の
概要を説明を簡潔に行ってから、本題の説明に入ること
にする。
列R=(R0,R1,…,Rn-1)の各シンボルに対し
て、その確からしさを示すアナログ重みをθ=(θ0,
θ1,…,θn-1)とする。ただし、0≦θi≦1とし、
θi>θjであれば受信系列RのシンボルRiは、Rjより
信頼度が高いものとする。
の受信系列Rを復号して得られた符号語C=(C0,
C1,…,Cn-1)との内積R・Cを次のように定義す
る。
正できることが既に証明されている。ただし、dはCの
最小距離である。 R・C>n−d (式3) 従って、次の4つのステップからなる処理を有限回繰り
返し行えば、(式3)を満足する受信系列Rを見つけ出
すことができ、正しく復号できる。 ステップ1: 受信系列Rのなかでアナログ重みの小さ
い方からj個(初期値は0)のシンボルを消失とし、そ
れ以外のシンボルを硬判定したテスト系列R’を生成す
る。
定復号を行った符号語C’を得る。訂正できない場合は
ステップ4に進む。
内積R・Cが(式3)の不等式を満足するか否かを判定
する。不等式が成立するときは符号語Cを出力し、不成
立の時はステップ4へ行く。
ら、ステップ1へ行く。ただし、j≦dとなるときは誤
り訂正能力を越す誤りが発生した場合であり、復号を終
了する。
−1個の誤りを訂正することができ、1回の硬判定復号
による訂正能力の約2倍の誤り訂正を実現することがで
きる。しかし、GMD復号は最大(d−1)/2回の硬
判定復号を必要とするために、1回の復号でよい硬判定
復号法に比べて、大きな計算量を必要とし実用的にはあ
まり用いられなかった。
の生成多項式で除した剰余多項式を用いて行う剰余復号
法を提案し、その剰余復号法をGMD復号に適用すれ
ば、GMD復号に要する計算量を大幅に減少しうる可能
性があることを示した。更に、剰余復号を効率的に実行
するWelch-Berlekamp (WB)アルゴリズムと呼ばれる
次のようなアルゴリズムを提案した。それ以後、森井・
荒木らは最大2回の剰余復号法によって最大d−1個の
誤りを訂正できる、即ちGMD復号が行えることを示
し、E.R.Berlekamp によって示されたGMD復号に要す
る計算量の減少の可能性を明らかにした。
処理では次数に対する計算量は考慮されていなかった。
(4)の判定を行うために、図2に示すようなaj,bj
との乗算を行う2つの乗算器30、31と、多項式Uj
(x),Qj(x)の次数を検査する2つの次数検査回
路32、33を必要とする。
次数検査回路を、1つの多項式の次数検査回路だけで実
現できる復号化処理における判定方法を説明する。
ゴリズムの復号化処理においても適用でき、全体として
最も計算量の小さな復号化処理が実現できる。
の多項式の次数検査回路だけで実現できる復号化処理に
おける判定方法に焦点を当てて、以下説明する。
ズムの再帰構造化について(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)の判定において次数に
関する計算量を減少することができる。
1のフローチャートを用いて説明する。この復号化処理
方法は、従来のWBアルゴリズムに比べて多項式Q
j(x)の次数を検査する必要がないために、より少な
い回路で高速に実行することができる。
と記述することにする。このGF(p)上の生成多項
式、 G(x)=(x−αb )・(x−αb+1 )…(x−αb+d-2 ) ここで、 α: GF(p)上の原始元 d: 符号の最小距離 b: 任意の整数。 を用いたリードソロモン符号を復号化する処理手順を以
下説明する。
jを初期化、即ち「j=0」とする。また、誤り位置多
項式Uj(x)とその誤り位置補助多項式Pj(x)を
「0」に初期化し、誤り数値多項式Vj(x)とその誤
り数値補助多項式Qj(x)を「1」に初期化する。
理回数を数える変数jと、所定の処理回数の上限値を決
定する数Nを2倍した数とを比較し、等しくなったら第
1の復号化処理を終了する。等しくない場合は、ステッ
プS3へ進む。
味する。
j(x)と誤り位置多項式Uj(x)とシンドローム多項
式S(x)とから、スカラ量ajを計算する。また、誤
り数値補助多項式Qj(x)と誤り位置補助多項式P
j(x)とシンドローム多項式S(x)とから、スカラ
量bjを計算する。
次式を計算することによって、得られる。
信語である。また、xj(j=0,…,2N-1)は信頼度が
低く消失誤りとされる受信シンボルの位置を表わすGF
(p)上の元である。xj(j=0,…,2N-1)はまた、
信頼度が低い順にjによって番号づけられている。その
xjを、誤り数値多項式Vj(xj)、誤り位置多項式Uj
(xj)、誤り数値補助多項式Qj(xj)、誤り位置補
助多項式Pj(xj)とシンドローム多項式S(xj)に
順に代入することによって、2つのスカラ量aj,bjを
計算する。ただし、ステップS4において、aj=0か
どうか判定して、aj=0であれば、ステップS5へ進
み、bj=1とする。
か、または、Uj(x)の次数が「j/2」より大きい
かどうかチェックする。そして、この条件を満たさなけ
れば、ステップS8へ進み、「j+1」次の各多項式V
j+1(x),Uj+1(x),Qj+1(x),Pj+1(x)を
計算する。
aj,bjとから、「j+1」次の各多項式V
j+1(x),Uj+1(x),Qj+1(x),Pj+1(x)を
計算する。
プして、ステップS2からの処理を繰り返す。
ムを用いた復号方法より、より簡単な演算で、リードソ
ロモン符号を復号することができる。
ば、図3に示す回路構成によって実現できる。図3で、
「aj=0」に対応する比較器1は0検出回路であり、
例えば、排他的論理和ゲートを用いることで非常に簡単
に実現できる。また、OR回路2も1ビットのORゲー
トで実現できる。従って、多項式Uj(x)に関する次
数検査回路が1回路のみでよく、全体として簡単な回路
構成と成っている。同様に、ソフトウエアで実現する場
合でも、より少ない計算量で次数検査が実現できる。こ
のことは、図2に示した回路と比較すると、その優位性
をはっきり認識することができる。図2を参照して、乗
算器30、31は、ガロア体上の乗算であるので、整数
の乗算と比べて回路構成が複雑である。また、次数検査
回路や乗算器が各2回路ずつ必要であるために回路規模
が大きかった。それに対して、図3の回路では、乗算器
が不要で、次数検査回路3が1つでよいため、図2の回
路規模に比べてはるかに簡単な構成となることがわか
る。
ば、従来のWBアルゴリズムによる復号処理に対して、
より簡単な演算で高速に復号処理を行うことができる。 (第2の実施例)第2の実施例では、WBアルゴリズム
を変形した再帰化WBアルゴリズム(「Welch-Berlekam
pアルゴリズムの再帰構造化について(IT91-100)、森
井、荒木」参照)と比較して、より簡単な演算で高速に
復号できる第2の復号化処理方法を説明する。
す。
リズムに比べて、全体の計算量がさらに減少することが
示されている。
くすることによって、全体の計算量を削減することがメ
インアイデアとなっている。
は、図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で比較され、比
較結果が出力される。
による復号化処理をさらに簡単な演算で高速に実行でき
る第2の実施例の復号化処理方法であって、図4のフロ
ーチャートを参照しながら説明する。
化WBアルゴリズムによる復号化処理に比べて、多項式
Qj(x)の次数に相当するL’に関する演算を行う必
要がなくなる。
数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」に初期化する。
bjを計算する次の多項式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 となる。
処理回数を数える変数jと、所定の処理回数の上限値を
決定する数Nを2倍した数とを比較し、等しくなったら
第2の復号化処理を終了する。等しくない場合は、ステ
ップS12へ進む。
味する。
j(x)にxjを代入することによって、aj,bjを得
る。ただし、ステップS13において、aj=0かどう
か判定して、aj=0であれば、ステップS14へ進
み、bj=1とする。
か、または、Lが「j/2」より大きいかどうかチェッ
クする。そして、Lが「j/2」より小さければ、ステ
ップS16へ進む。そして、大きければ、ステップS1
7へ進み、行列Yを以下のように設定し、Lを1カウン
トアップする。
ップして、ステップS11からの処理ステップを実行す
る。
数値多項式とから、復号データを生成する。
ゴリズムを用いた復号方法より、より簡単な演算で、リ
ードソロモン符号を復号することができる。
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演算を行い、演算結果を出力する。
ズムでの次数処理の回路構成と第2の実施例の次数処理
の回路と比較すると、より小さな回路でかつ小さな計算
量で次数処理が実現できることは明らかである。即ち、
再帰化WBアルゴリズムでの次数処理の回路構成に対
し、少なくとも、L’に関するレジスタ48及び加算器
49が不要となっている。
上述のWBアルゴリズムや再帰化WBアルゴリズムだけ
でなく、(式4),(式5)の関係を持つ他のアルゴリ
ズムに対しても有効であることは言うまでもない。
(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)の検査(計算)を省略することが
できる。
項式を表し、Qj(x),Vj(x)は誤り数値多項式を
表すが、本発明によってQj(x)はアルゴリズムの制
御に関係しなくなるので、BCH符号のように誤り数値
多項式が不要の場合、Qj(x),Vj(x)自体を省略
でき、さらに計算量の削減が可能になる。
化処理方法では、次数に関する計算量を減少することが
でき、全体として最も計算量の小さなGMD復号アルゴ
リズムを構成することができる。また、BCH符号のよ
うに誤り数値多項式が不要の場合、Qj(x),V
j(x)の演算をする必要がなくなり、さらに計算量の
削減が可能になる。 (第3の実施例)第3の実施例では、従来の並列化が困
難であったWBアルゴリズムに対して、並列処理による
高速実行を可能とする新たな復号化方法を説明する。
多項式(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,
Q1,U1,V1から、a1、b1を求める。同様の手順で、
P2,Q2,U2,V2を求め、続いてa2、b2を求め、・・
・最後にPp,Qp,Up,Vpを求める。
帰化WBアルゴリズムについても同様である。従って、
WBアルゴリズムとその再帰化WBアルゴリズムは、j
の更新に関する並列処理ができないため、高速化を計る
ことができなかった。
高速に行う並列化復号処理方法を提供することを目的と
する。以下、第3の実施例の並列化復号処理方法を詳細
に説明する。
定義する。 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)を定義する。
ば、aj,bjは多項式C(x,y),D(x,y)のx
v ・yj 次の係数となることがわかる。
ように更新できる。
(bj・Uj(x))の場合
j(x))の場合
で、aj,bjを計算しなくても、aj,bjは多項式Cj
(x,y),Dj(x,y)のxv ・yj 次の係数とな
っているので、WBアルゴリズムを次のように変形でき
る。 [第3の実施例の復号化アルゴリズム]
号化処理のフローチャートである。以下、このフローチ
ャートを用いて説明する。
数jを初期化、即ち「j=0」とする。また、C
0(x,y)、D0(x,y)、V0(x)、P0(x)、
U0(x)、Q0(x)の各多項式を初期化する。
数jと所定の繰り返し数pを比較し、一致すれば、復号
化処理を終了する。一致しなければ、ステップS82へ
進む。
・yj次の係数をajに設定する。また、Dj(x,y)
のxv・yj次の係数をbjに設定する。
定して、aj=0であれば、ステップS84へ進み、bj
=1とする。
数と,bj・Uj(x)の次数を比較して、aj・Q
j(x)の次数の方が小さければステップS86へ進
み、大きければステップS87へ進む。
れぞれ、図8の対応するステップ内に記述した各多項式
の更新演算を行う。
プし、ステップS81からの処理に戻る。
方法では、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の復号化処理のための各変数を配置してい
る。
えば図11のような装置によって実現できる。以下、各
処理部の説明を行う。
れている初期値及びその更新値を記憶する。メモリ11
0は、制御回路112と多項式演算処理回路111から
必要に応じてアクセスされる。
ち、 a1: jが予め決められた処理回数pと等しいかどう
かを判断し、等しくなければステップS82の処理を選
択し、 a2: またajが0に等しいかどうか判定して、等し
ければbj=1とし、 a3: 等しくなければ、ステップS85の次数判定を
行い、その判定結果で、ステップS86かステップS8
7の処理を選択する。処理を選択した後、多項式演算処
理回路111に対し選択した処理の実行を要求する。多
項式演算処理回路111はその要求に従い選択された処
理を実行する。
12の処理要求に基づき、選択された処理、即ち、ステ
ップS86かステップS87の演算処理を実行する。
回路111はCPU等を用いてソフト的に実行すること
もできるので、分離してある必要はない。また、制御回
路112と多項式演算処理回路111において必要な演
算は簡単な整数の乗除算と加減算であるので、特殊な処
理回路は必要としない。
(x),Vj+1(x),Cj+1(x,y),Dj+1(x,
y)の更新演算は、同時に実行することができるので処
理回路を複数独立に持つこともできるし、また、各多項
式の更新演算は同様の処理あるので1つの回路によって
も実行できる。以上から、第3の実施例の復号化処理を
実行するための回路構成は簡単になることがわかる。
Bアルゴリズムの変形手法は、前述した“Welch-Berlek
amp アルゴリズムの再帰構造化について”(IT91−
100)において示された再帰化WBアルゴリズムに対
しても適用でき、並列化処理による高速化が図られるこ
とは言うまでもない。
の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 参照)のように、
最終結果に関係のない演算を省くことができ、全体の計
算量を削減することができる。
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることは言うまでもない。
の少ないアルゴリズムを指す場合が多い。しかし、高速
化を実現する場合、アルゴリズムの計算量を減少させる
アプローチとアルゴリズムの並列度を高めるアプローチ
が考えられる。それは並列処理によって複数の処理を同
時に実行すれば処理時間が短縮できるためである。最近
はVLSI技術の進歩により大規模な並列処理チップを
容易に実現することができるようになった。よって、並
列度の高いアルゴリズムの方が高速処理向きである場合
も多い。第3の実施例は、こうしたVLSI技術の進歩
によって並列化処理回路を安価に構成できるようになっ
てきたという背景を鑑みて発明された一例である。
化処理方法によれば、従来のWBアルゴリズムよりも並
列度が高く、高速処理を実現できる。また、従来のWB
アルゴリズムが多項式の更新演算とaj,bjを求める
代入演算という2種類の演算を必要とするのに対して、
第3の実施例による復号化処理方法では、多項式の更新
演算だけでよいので、より簡単かつ高速な復号を行う通
信装置を構成できる。
は、通信符号の復号方法と復号装置に焦点をあてて説明
したが、第4の実施例では、それら復号方法と復号装置
を備える通信装置の一例を示す。
の構成概要を示す図である。この図を参照して、以下第
4の実施例の通信装置120を詳細に説明する。
御を行う。その制御プログラムは、予めROM124に
格納されており、CPU121はこの制御プログラムを
実行する。キーボード122は、通信装置120に対す
るコマンドやデータを入力する入力端末である。RAM
123は、CPU121が各種処理を実行するための作
業データや、通信データを格納する。モニタ125は、
通信装置120での各種処理結果、通信データ、キーボ
ード122からの入力コマンド等を表示する。符号部1
27は、RAM123に格納されている通信データを符
号化処理を行い、通信線129に対して符号データを出
力する。復号部126は、外部の通信装置からから通信
線128を介して伝送された符号データを復号し、RA
M123へ格納させる。
復号方法で復号処理を行う部分である。復号部126に
は、復号処理を制御するCPUA130と、実施例1〜
3で示した各復号方法に対応する復号プログラムが格納
されているメモリ131を内蔵している。
号データを高速に復号することができる。尚、本発明
は、複数の機器から構成されるシステムに適用しても、
1つの機器から成る装置に適用してもよい。又、本発明
はシステム或いは装置にプログラムを供給することによ
って達成される場合にも適用できることは言うまでもな
い。
成されたシンドローム多項式を用いて、設定された誤り
位置多項式と誤り数値多項式とを、順次所定回更新する
際に、各回の更新後に、最新の誤り位置多項式の次数を
所定の閾値とを比較し、比較結果に応じた更新手順によ
り、誤り位置多項式と誤り数値多項式との次回の更新を
行なうようにしたので、複数の多項式の次数についての
比較・判定を要さず、通信符号の高い訂正能力での復号
を小さな回路規模で高速に実行できる。
ャートである。
明する図である。
である。
ャートである。
成を示す図である。
である。
する図である。
ーチャートである。
明する図である。
説明する図である。
明する図である。
る図である。
Claims (8)
- 【請求項1】 符号化された受信語を復号する復号装置
であって、 受信語に基づいてシンドローム多項式を生成するシンド
ローム多項式生成手段と、 生成された前記シンドローム多項式を用いて、設定され
た誤り位置多項式と誤り数値多項式とを、順次所定回更
新する多項式更新手段と、前記多項式更新手段による各回の更新後に、最新の誤り
位置多項式の次数を所定の閾値と比較する比較手段とを
備え、 前記多項式更新手段が、前記比較手段による比較結果に
応じた更新手順により、前記誤り位置多項式と前記誤り
数値多項式との次回の更新を行なう ことを特徴とする復
号装置。 - 【請求項2】 前記シンドローム多項式生成手段は、受
信語と当該受信語の消失位置とに基づいてシンドローム
多項式を生成することを特徴とする請求項1に記載の復
号装置。 - 【請求項3】 前記所定の閾値は、前記多項式更新手段
により実行された更新の回数に応じて定まる値であるこ
とを特徴とする請求項1に記載の復号装置。 - 【請求項4】 前記多項式更新手段は、 前記受信語の消失位置と、前記シンドローム多項式と、
第1及び第2の補助多項式とを参照し、前記 誤り位置多項式と、前記誤り数値多項式と、さらに
前記第1及び第2の補助多項式とを更新することを特徴
とする請求項1に記載の復号装置。 - 【請求項5】 符号化された受信語を復号する復号方法
であって、 受信語に基づいてシンドローム多項式を生成するシンド
ローム多項式生成工程と、 生成された前記シンドローム多項式を用いて、設定され
た誤り位置多項式と誤り数値多項式とを、順次所定回更
新する多項式更新工程と、前記多項式更新手段による各回の更新後に、最新の誤り
位置多項式の次数を所定の閾値と比較する比較工程とを
備え、 前記多項式更新工程では、前記比較工程による比較結果
に応じた更新手順によ り、前記誤り位置多項式と前記誤
り数値多項式との次回の更新を行なう ことを特徴とする
復号方法。 - 【請求項6】 前記シンドローム多項式生成工程では、
受信語と当該受信語の消失位置とに基づいてシンドロー
ム多項式を生成することを特徴とする請求項5に記載の
復号方法。 - 【請求項7】 前記所定の閾値は、前記多項式更新工程
により実行された更新の回数に応じて定まる値であるこ
とを特徴とする請求項5に記載の復号方法。 - 【請求項8】 前記多項式更新工程では、 前記受信語の消失位置と、前記シンドローム多項式と、
第1及び第2の補助多項式とを参照し、前記 誤り位置多項式と、前記誤り数値多項式と、さらに
前記第1及び第2の補助多項式とを更新することを特徴
とする請求項5に記載の復号方法。
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)
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)
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 |
-
1993
- 1993-12-29 JP JP35451893A patent/JP3245290B2/ja not_active Expired - Fee Related
-
1994
- 1994-12-27 US US08/363,957 patent/US5604752A/en not_active Expired - Lifetime
- 1994-12-28 DE DE69430236T patent/DE69430236T2/de not_active Expired - Lifetime
- 1994-12-28 EP EP94309850A patent/EP0661841B1/en not_active Expired - Lifetime
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 |