JP3876662B2 - 積符号の復号方法および積符号の復号装置 - Google Patents
積符号の復号方法および積符号の復号装置 Download PDFInfo
- Publication number
- JP3876662B2 JP3876662B2 JP2001236692A JP2001236692A JP3876662B2 JP 3876662 B2 JP3876662 B2 JP 3876662B2 JP 2001236692 A JP2001236692 A JP 2001236692A JP 2001236692 A JP2001236692 A JP 2001236692A JP 3876662 B2 JP3876662 B2 JP 3876662B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- code
- soft
- decoding
- soft output
- 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
Images
Classifications
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/453—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
-
- 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- 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
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
【発明の属する技術分野】
この発明は、ディジタル通信システムまたはディジタル記録システムの信頼性を向上するために適用される積符号の復号方法および復号装置に関する。
【0002】
【従来の技術】
従来よりディジタル通信/記録システムの信頼性向上ためにリード・ソロモン符号などの誤り訂正符号が適用されてきたが、近年、システムの高速・大容量化に伴い、より強力な誤り訂正符号の適用が必要となっている。一般に訂正能力の高い符号は復号複雑度が高く装置化が難しいが、連接符号や積符号の手法を用いれば比較的容易に高性能な符号を実現することができる。特に積符号は情報データを2重に符号化するため冗長度が大きく訂正能力が高いという特長があり、CD−ROMやDVDの誤り訂正方式に応用されている。図1は積符号の構成を示す図で、垂直方向の符号は符号長N1、情報長K1の2元線形符号C1、水平方向の符号は符号長N2、情報長K2の2元線形符号C2である。また、図中のブロック1は情報データ、ブロック2〜4はチェック(冗長)を表す。
【0003】
次に積符号の符号化方法について図1を参照して説明する。まず、情報データK1・K2ビットはK1行K2列の2次元配列(ブロック1)に格納される。ブロック1を式1で表す。ただし、Di,j(i=1,2,…,K1,j=1,2,…,K2)は0または1を表す。
【0004】
【式1】
【0005】
次に第1列から第K2列の各列にC1符号のチェック(N1−K1ビット)が付加されて全体でN1行K2列の2次元配列が生成される(ブロック2の生成)。
次に第1行から第N1行にC2符号のチェック(N2−K2ビット)が付加されて全体でN1行N2列の積符号が生成される(ブロック3およびブロック4の生成)。
【0006】
図2は特開平7−202722に開示された積符号を用いたディジタル通信システムの構成を示すブロック図であり、201は入力された情報データを符号化する符号化器、202は符号化器201で生成された積符号を通信路に適した信号に変換する変調器、203は通信路、204は通信路から供給される受信信号を復調して復調データに変換する復調器、205は復調器で復調された復調データを復号して情報データを推定する復号器である。なお、符号化器と変調器で送信機が構成され、復調器と復号器で受信機が構成される。
【0007】
次に図2の動作について説明する。入力された情報データK1・K2ビットは符号化器201に供給されて前述したN1行N2列の積符号が生成される。生成された積符号を式2の行列Cで表す。積符号Cの要素は2進数の0または1で表されるが、以下では2進数の0を“+1”で表し、2進数の1を“−1”で表すことにする。
【0008】
【式2】
【0009】
符号器201において生成された積符号は変調器202に供給され、通信路203に適した信号に変換されて通信路に送出される。通信路203では送信信号に加法的雑音が重畳されるものと仮定する。通信路203を介して受信された信号は受信機の復調器204に供給される。
【0010】
復調器204では受信信号が整形されて復調データYが生成される(式3)。ここで復調データYの各成分はYi,j=Ci,j+Ni,j(Ni,jは雑音成分)と表される。復調器204で生成された復調データYは復号器205に供給されて送信された情報データの推定が行われる。以下では復調データYを{Y}と表し、入力行列と言う。
【0011】
【式3】
【0012】
図3は復号器205の動作を説明するためのフローチャートであり、301は入力行列{Y}の入力ステップ、302は訂正行列{W}および決定行列{D}に初期値をセットするステップ、303Aはカウンタjに初期値をセットするステップ、304Aは軟入力ベクトル[Rk](k=1,2,…,N1)を計算するステップ、305Aは軟出力ベクトル[Lk](k=1,2,…,N1)を計算するステップ、306Aは訂正行列{W}を更新するステップ、307Aはカウンタjの値を比較するステップ、308Aはカウンタjをインクリメントするステップである。
【0013】
また、303Bはカウンタiに初期値をセットするステップ、304Bは軟入力ベクトル[Rk](k=1,2,…,N2)を計算するステップ、305Bは軟出力ベクトル[Lk](k=1,2,…,N2)を計算するステップ、306Bは訂正行列{W}を更新するステップ、307Bはカウンタiの値を比較するステップ、308Bはカウンタiをインクリメントするステップ、309は積符号の復号を繰り返すか否かを判定するステップ、310は決定行列{D}を出力するステップである。
【0014】
次に図3のフローチャートの動作について図面を参照して詳細に説明する。まず、ステップ301ではN1行N2列の入力行列{Y}(式3)が入力される。次にステップ302ではN1行N2列の訂正行列{W}(式4)の全要素に初期値0が格納される。
【0015】
【式4】
【0016】
また、N1行N2列の決定行列{D}に初期値sgn{Y}が格納される。即ち、決定行列{D}の(i,j)成分、Di,jに入力行列{Y}の(i,j)成分、Yi,jの符号sgn(Yi,j)が代入される。ただし、sgnは次式5で定義される関数である。
【0017】
【式5】
【0018】
ステップ303Aではカウンタjに初期値1をセットする。次にステップ304A以降においてC1符号の復号を開始する。ステップ304Aでは入力行列{Y}の第j列と訂正行列{W}の第j列を成分ごとに加算する。即ち、式6に従って入力行列の(k,j)要素Yk,jと訂正行列の(k,j)要素Wk,jを加算して軟入力値Rk(k=1,2,…,N1)を計算する。ただし、式6のαは適当な正規化定数である。
【0019】
【式6】
Rk←Yk,j+α・Wk,j (k=1,2,…,N1)
【0020】
以下では前述の特開平7−202722に従って入力行列の第j列を[Yk,j]、決定行列の第j列を[Dk,j]、訂正行列の第j列を[Wk,j]と表してそれぞれ入力ベクトル、決定ベクトル、訂正ベクトルと呼ぶことにする。ステップ305Aでは決定ベクトル[Dk,j]を更新し、軟出力ベクトル[Lk](k=1,2,…,N1)を計算する。ステップ305Aの詳細な動作については後述する。ステップ306Aではステップ305Aで計算された軟出力ベクトルから軟入力ベクトルを減算したものを訂正行列{W}の第j列に格納する(式7)。
【0021】
【式7】
Wk,j←Lk−Rk (k=1,2,…,N1)
【0022】
ステップ307Aにおいてカウンタjの値がN2未満であるか否かを判定し、N2未満であればカウンタjをインクリメントして(ステップ308A)、ステップ304A以降の処理を繰り返す。一方、カウンタの値がN2であればステップ303Bに進んでC2符号の復号を開始する。なお、この時点で訂正行列{W}の全要素の更新が完了している。
【0023】
ステップ303Bではカウンタiに1をセットしてステップ304Bに進む。ステップ304Bでは入力行列{Y}の第i行と訂正行列{W}の第i行を成分ごとに加算する。即ち、式8に従って入力行列の(i,k)要素Yi,kと訂正行列の(i,k)要素Wi,kを加算して軟入力値Rk(k=1,2,…,N2)を計算する。ただし、式8のαは適当な正規化定数である。
【0024】
【式8】
Rk←Yi,k+α・Wi,k (k=1,2,…,N2)
【0025】
上述したC1符号の復号と同様に入力行列の第i行を[Yi,k]、決定行列の第i行を[Di,k]、訂正行列の第i行を[Wi,k]と表してそれぞれ入力ベクトル、決定ベクトル、訂正ベクトルと呼ぶことにする。ステップ305Bでは決定ベクトル[Di,k]を更新し、軟出力ベクトル[Lk](k=1,2,…,N2)の計算を行う。ステップ305Bの詳細な動作については後述する。ステップ306Bではステップ305Bで計算された軟出力ベクトルから軟入力ベクトルを減算したものを訂正行列{W}の第i行に格納する(式9)。
【0026】
【式9】
Wi,k←Lk−Rk (k=1,2,…,N2)
【0027】
ステップ307Bにおいてカウンタiの値がN1未満であるか否かを判定し、N1未満であればカウンタiをインクリメントして(ステップ308B)、ステップ304B以降の処理を繰り返す。一方、カウンタiの値がN1であればステップ309に進む。この時点で積符号を構成するC1符号およびC2符号のそれぞれ1回の復号が完了している。ステップ309ではもう一度C1符号の復号を繰り返すか否かを判定する。通常、所定の回数の繰り返し復号が完了した段階で復号処理を終了する。C1符号の復号を繰り返す場合はステップ303Aに進み、前述のC1符号の復号を再開する。一方、復号を繰り返さない場合はステップ310に進み、決定行列{D}を出力して復号処理を終了する。
【0028】
ステップ310において出力された決定行列{D}のK1行K2列に格納されたデータDi,j(i=1,2,…,K1,j=1,2,…,K2)は復号により推定された情報データを表す。なお、決定行列{D}の成分は“±1”であるが、“+1”は2進数の0に、“−1”は2進数の1に対応する。
【0029】
次にステップ305AのC1符号の軟入力軟出力復号について説明する。図4にステップ305Aの詳細なフローチャートを示す。このフローチャートの動作を図面を用いて説明する。ステップ401では軟入力ベクトル[Rk]と決定ベクトル[Dk]が入力される。
【0030】
ステップ402では軟入力ベクトル[R]のなかで絶対値最小のp個の要素を選ぶ。p個の位置をk1、k2、…、kpとする。ステップ403ではステップ402で選んだp個の位置km(m=1,2,…,p)においてTkm=0または1、それ以外の位置ではTk=0(k≠km)としたテストベクトル[Tk]を生成する。テストベクトルとしては全部でq=2p個あるので添字sを付けて[Ts](s=1,2,…,q)のように表す。生成したテストベクトル[Ts]と決定ベクトル[Dk]を成分毎に加算してC1符号の代数的復号を実行するためのワード[Us]を生成する(式10)。式10では[Dk]の成分の“+1”は2進数の0に、“−1”は2進数の1に変換して法2の下で加算する。
【0031】
【式10】
[Us]=[Dk]+[Ts](s=1,2,…,q)
【0032】
ステップ404ではステップ403で生成されたq個のワード[Us](s=1,2,…,q)をC1符号の代数的復号を実行して符号語の候補を生成する。復号により生成されたr個の符号語を[Ct]=(Ct 1,Ct 2,..,Ct N1)(t=1,2,…,r)とする。
【0033】
ステップ405では軟入力ベクトル[R]と候補符号語[Ct](t=1,2,…,r)のユークリッド距離Mtを計算する。軟入力ベクトル[R]と候補符号語[Ct]のユークリッド距離Mtは式11で与えられる。
【0034】
【式11】
【0035】
ステップ406ではステップ405で計算されたユークリッド距離の最小値を与える符号語[Cd]を選ぶ(Mt≧Md)。また、決定ベクトルに符号語[Cd]を代入する(式12)。
【0036】
【式12】
[D]←[Cd]
【0037】
ステップ407ではカウンタkに初期値1をセットしてステップ408に進む。ステップ408では候補符号語[Ct](t=1,2,…,r)の中でk番目の値Ct kがステップ406で選ばれた[Cd]のk番目の値Cd kと異なるもの(即ち、Ct k=−Cd kとなる符号語[Ct])が存在するか否かを判定する。存在しない場合はステップ409に進み、存在する場合はステップ410においてそのような符号語の中でユークリッド距離が最小となる符号語(コンカレント符号語と呼び、[Cc]で表す)を選んでステップ411に進む。ステップ409では式13に示す軟出力値を計算する。ただし、式13のβは適当な定数である。
【0038】
【式13】
Lk←βCd k
ステップ411では式14に示す軟出力値を計算する。ただし、Mcはコンカレント符号語[Cc]と軟入力ベクトル[R]のユークリッド距離を表す。
【0039】
【式14】
Lk←((Mc−Md)/4)Cd k
【0040】
ステップ412ではカウンタkの値がN1に等しいか否かを判定する。等しくない場合はステップ413に進み、カウンタkの値をインクリメントしてステップ408以降の処理を繰り返す。一方、等しい場合はステップ414に進んで軟出力ベクトル[Lk]と決定ベクトル[Dk]を出力してすべての処理を終了する。以上の処理によりステップ305AのC1符号の軟入力軟出力復号が完了する。なお、ステップ305BのC2符号の軟入力軟出力復号も上述のC1符号の軟入力軟出力復号と同様である。
【0041】
式13および式14から分かるように従来の軟出力値はステップ404で生成された候補符号語の内、高々2個の符号語を用いて計算される。
【0042】
【発明が解決しようとする課題】
従来の積符号の復号方法は上述のように構成されていたので、符号語生成ステップで見つかった多数の符号語の内、ユークリッド距離に関して軟入力ベクトルに最も近い符号語[Cd]とコンカレント符号語[Cs]のみが反映されるだけで、その他の候補符号語の情報が全く反映されていないという問題点があった。
【0043】
また、訂正行列の更新では軟入力軟出力復号により計算された軟出力ベクトルから軟入力ベクトルを減算したものを新たな訂正ベクトルとしているので前段の復号で得られた訂正ベクトルの情報が欠落してしまうという問題点があった。
【0044】
この発明は上記のような問題を解決するためになされたもので、符号語生成ステップで見つかった符号語を効率的に利用して軟出力値を計算するとともに、より精度の高い訂正値を計算して復号性能を改善することができる、積符号の復号方法および復号装置ならびに積符号を用いたディジタル伝送システムを提供することを目的とする。
【0045】
【課題を解決するための手段】
この発明に係る積符号の復号方法は、符号長N1、情報長K1の2元線形C1符号および符号長N2、情報長K2の2元線形C2符号からなる積符号の復号方法において、
C1符号の受信値と予め設定された訂正値を加算して第1の軟入力値を生成する第1の軟入力値生成ステップと、
前記第1の軟入力値生成ステップにおいて生成された第1の軟入力値からC1符号の軟入力軟出力復号により第1の軟出力値を生成する第1の軟出力値生成ステップと、
前記第1の軟出力値生成ステップにおいて生成された前記第1の軟出力値から前記C1符号の受信値を減算して前記訂正値を更新する第1の訂正値更新ステップと、
C2符号の受信値と前記第1の訂正値更新ステップにおいて更新された前記訂正値を加算して第2の軟入力値を生成する第2の軟入力値生成ステップと、
前記第2の軟入力値生成ステップにおいて生成された第2の軟入力値からC2符号の軟入力軟出力復号により第2の軟出力値を生成する第2の軟出力値生成ステップと、
前記第2の軟出力値生成ステップにおいて生成された前記軟出力値より送信された符号語を推定する符号語推定ステップとを備える。
【0046】
また、この発明に係る積符号の復号方法は、前記第2の軟出力値生成ステップにおいて生成された前記第2の軟出力値から前記C2符号の受信値を減算して前記訂正値を更新する第2の訂正値更新ステップを備え、更新された訂正値を第1の軟入力値生成ステップに入力して積符号を繰り返して復号する。
【0047】
また、この発明に係る積符号の復号方法は、前記第1の軟出力値生成ステップが、
前記第1の軟入力値から硬判定を生成する硬判定生成ステップと、
前記第1の軟入力値から信頼性の低いp個の位置を検出する位置検出ステップと、
前記位置検出ステップにおいて検出された位置に基づいてテストベクトルを生成し、前記硬判定と加算してC1復号するためのq個の復号入力値を生成する復号入力値生成ステップと、
前記複数q個の復号入力値からC1復号により複数r個のC1符号の符号語[Ct](t=1,2,…,r)を生成するC1符号語生成ステップと、
前記r個のC1符号語の尤度Pt(t=1,2,…,r)を計算する尤度計算ステップと、
前記尤度Pt(t=1,2,…,r)の最大値を与える符号語[Cd]を検出する最大尤度符号語検出ステップと、
変数L0およびL1に初期値を設定する初期値設定ステップと、
前記r個のC1符号語[Ct](t=1,2,…,r)のtが1なる符号語からk番目の値が0ならば前記L0とPtの大きい方とその差分に対する補正値を加算した値を前記L0に代入し、そうでなければ前記L1とPtの大きい方とその差分に対する補正値を加算した値を前記L1に代入して、tがrなる符号語までtをインクリメントして前記L0または前記L1の更新を行う更新ステップとを有し、前記L0と前記L1の差分からk番目の軟出力値を計算する。
【0048】
また、この発明に係る積符号の復号方法は、前記更新ステップは前記補正値を格納したテーブルを備える。
【0049】
また、この発明に係る積符号の復号方法は、前記L0またはL1が計算されない場合において軟出力値生成ステップは最大尤度符号語の成分に比例する量を軟入力値に加算して軟出力値を生成する。
【0050】
また、この発明に係る積符号の復号方法は、前記第2の軟出力値生成ステップは段落番号“0047”記載の第1の軟出力値生成ステップと同様に構成され、前記符号語推定ステップは前記第2の軟出力値生成ステップで生成された軟出力値の正負に基づいて符号語を推定する。
【0051】
また、この発明に係る積符号の復号方法は、前記符号語推定ステップにおいて推定された符号語のシンドロームがすべて0であれば繰り返して復号せずに復号処理を終了する。
【0052】
また、この発明に係る積符号の復号方法は、前記C1符号およびC2符号の受信値の信頼度を判定する判定ステップを付加し、その判定結果が硬判定である場合に、硬判定値が0ならばM、1ならば−M(Mは適当な定数)と設定して復号する。
【0053】
この発明に係る積符号の復号装置は、符号長N1、情報長K1の2元線形C1符号と符号長N2、情報長K2の2元線形C2符号から構成される積符号を復号する装置であって、
通信路から入力される受信値を格納するための第1のメモリと、
訂正値を格納するための第2のメモリと、
前記受信値と前記訂正値を加算して軟入力値を生成する加算器と、
前記軟入力値から軟出力値を生成するため、
前記軟入力値からC1符号の候補符号語を生成する第1のチェイス復号回路と、
前記軟入力値からC2符号の候補符号語を生成する第2のチェイス復号回路と、
前記C1符号またはC2符号の候補符号語の尤度を生成する候補符号語尤度計算回路と、
前記候補符号語の尤度から軟出力値を生成する軟出力値計算回路とから構成される軟入力軟出力復号器と、
前記軟出力値から前記受信値を差し引いて前記訂正値を生成する減算器と、
前記軟出力値より復号ビットを判定する判定回路と、
前記復号ビットを格納するための第3のメモリと、
を備える。
【0054】
また、この発明に係る積符号の復号装置は、前記軟出力値計算回路が、
入力された2つのデータから大きいデータを選択する第1の選択回路と、
入力された2つのデータから小さいデータを選択する第2の選択回路と、
前記第1の選択回路の出力から前記第2の選択回路の出力を減算する減算器と、前記減算器の出力を変換するルックアップテーブルと、
前記ルックアップテーブルの出力と前記第1の選択回路の出力を加算する加算器と、
前記加算器の出力を記憶するための記憶回路とを備える。
【0055】
また、この発明に係る積符号の復号装置は、C1符号とC2符号が同一である場合、前記軟入力軟出力復号器は第1のチェイス復号回路と第2のチェイス復号回路が1個のチェイス復号回路で構成され、共用される。
【0056】
また、この発明に係る積符号の復号装置は、軟入力軟出力復号器が多数並列に配置される。
【0057】
また、この発明に係る積符号の復号装置は、前記判定回路が、積符号のシンドローム計算回路を備えて誤りが残存するか否かの判定を行う。
【0058】
また、この発明に係る積符号の復号装置は、前記判定回路が、復号ビットと受信値を比較して誤り数を計算する誤り数計算回路を備える。
【0059】
【発明の実施の形態】
実施の形態1.
この発明の実施の形態1に係る積符号の復号方法について図面を参照しながら説明する。従来技術と同じく図2のディジタル通信システムのブロック図を用いて本願の積符号の復号方法について説明する。
【0060】
図5は本願の積符号の復号方法のフローチャートである。501は入力行列{Y}の入力ステップ、502は訂正行列{W}に初期値をセットするステップ、503Aはカウンタjに初期値をセットするステップ、504Aは軟入力ベクトル[Rk](k=1,2,…,N1)を計算するステップ、505Aは軟出力ベクトル[Lk](k=1,2,…,N1)を計算するステップ、506Aは訂正行列{W}を更新するステップ、507Aはカウンタjの値を比較するステップ、508Aはカウンタjをインクリメントするステップである。
【0061】
また、503Bはカウンタiに初期値をセットするステップ、504Bは軟入力ベクトル[Rk](k=1,2,…,N2)を計算するステップ、505Bは軟出力ベクトル[Lk](k=1,2,…,N2)を計算するステップ、506Bは訂正行列{W}と決定行列{D}を更新するステップ、507Bはカウンタiの値を比較するステップ、508Bはカウンタiをインクリメントするステップ、509は積符号の復号を繰り返すか否かを判定するステップ、510は決定行列{D}を出力するステップである。
【0062】
図5のフローチャートの動作について詳細に説明する。まず、ステップ501においてN1行N2列の入力行列{Y}(式3)が入力される。次にステップ502ではN1行N2列の訂正行列{W}(式15)の全要素に初期値0が格納される。
【0063】
【式15】
【0064】
ステップ503Aではカウンタjに初期値1をセットする。次にステップ504A以降においてC1符号の復号を開始する。ステップ504Aでは入力行列{Y}の第j列と訂正行列{W}の第j列を成分ごとに加算する。即ち、式16に従って入力行列の(k,j)要素Yk,jと訂正行列の(k,j)要素Wk,jを加算して軟入力値Rk(k=1,2,…,N1)を計算する。ただし、式16のαは適当な正規化定数である。
【0065】
【式16】
Rk←Yk,j+α・Wk,j (k=1,2,…,N1)
【0066】
従来技術の説明と同様に入力行列の第j列を[Yk,j]、訂正行列の第j列を[Wk,j]と表し、それぞれ入力ベクトル、訂正ベクトルと呼ぶことにする。ステップ505Aではステップ504Aで計算された軟入力ベクトル[Rk]から軟出力ベクトル[Lk](k=1,2,…,N1)を計算する。ステップ505Aの軟出力ベクトルの計算方法については後述する。ステップ506Aではステップ505Aで計算された軟出力値Lkから入力値Yk,jを減算して訂正行列{W}の第j列に格納する(式17)。
【0067】
【式17】
Wk,j←Lk−Yk,j (k=1,2,…,N1)
【0068】
従来技術では軟出力ベクトル[Lk]から軟入力ベクトル[Rk]を減算して訂正ベクトル[Wk,j]を更新したが、本願では軟出力ベクトル[Lk]から入力ベクトル[Yk,j]を減算して計算するため、繰り返し復号の前段の訂正情報をより反映した精度の高い訂正ベクトルを得ることができる効果がある。
【0069】
ステップ507Aにおいてカウンタjの値がN2未満であるか否かを判定し、N2未満であればカウンタjをインクリメントして(ステップ508A)、ステップ504A以降の処理を繰り返す。一方、カウンタの値がN2であればステップ503Bに進んでC2符号の復号を開始する。
【0070】
ステップ503Bではカウンタiに1をセットしてステップ504Bに進む。ステップ504Bでは入力行列{Y}の第i行と訂正行列{W}の第i行を成分ごとに加算する。即ち、式18に従って入力行列の(i,k)要素Yi,kと訂正行列の(i,k)要素Wi,kを加算して軟入力値Rk(k=1,2,…,N2)を計算する。ただし、式18のαは適当な正規化定数である。
【0071】
【式18】
Rk←Yi,k+α・Wi,k (k=1,2,…,N2)
【0072】
上述したC1符号の復号と同様に入力行列の第i行を[Yi,k]、訂正行列の第i行を[Wi,k]と表し、それぞれ入力ベクトル、訂正ベクトルと呼ぶことにする。ステップ505Bではステップ504Bで計算された軟入力ベクトル[Rk]から軟出力ベクトル[Lk](k=1,2,…,N2)を計算する。
【0073】
ステップ506Bではステップ505Bで計算された軟出力ベクトルから入力ベクトルを減算して訂正行列{W}の第i行に格納する(式19)。
【0074】
【式19】
Wi,k←Lk−Yi,k(k=1,2,…,N2)
【0075】
また、決定行列{D}の(i,k)成分Di,kにLkの硬判定が代入される(式20)。
【0076】
【式20】
【0077】
ステップ507Bにおいてカウンタiの値がN1未満であるか否かを判定し、N1未満であればカウンタiをインクリメントして(ステップ508B)、ステップ504B以降の処理を繰り返す。一方、カウンタiの値がN1であればステップ509に進む。この時点で積符号を構成するC1符号およびC2符号それぞれ1回の復号が完了している。ステップ509では復号を繰り返すか否かを判定する。復号を再開する場合はステップ503Aに進み、前述したC1符号の復号を再開する。一方、復号を繰り返さない場合はステップ510に進み、決定行列{D}を出力して処理を終了する。
【0078】
決定行列{D}のK1行K2列に格納されたデータDi,j(i=1,2,…,K1,j=1,2,…,K2)は推定情報データを表す。ステップ509では決定行列{D}のシンドロームを計算して誤りが残存しているか否かを調べ、誤りがあると判定された場合は復号を繰り返し、誤りがないと判定された場合は復号を終了するようにしてもよい。
【0079】
次にステップ505AのC1符号の軟入力軟出力復号について説明する。図6にステップ505Aの詳細なフローチャートを示す。以下、図6を用いてC1符号の軟入力軟出力復号について説明する。まず、ステップ601では軟入力ベクトル[Rk]が入力される。ステップ602では軟入力ベクトル[Rk]の硬判定ベクトル[Hk]が生成される(式21)。
【0080】
【式21】
【0081】
ステップ603では軟入力ベクトル[Rk]のなかで絶対値最小のp個の要素が選ばれる。選ばれたp個の位置をk1、k2、…、kpとする。ステップ604ではステップ603で選ばれたp個の位置km(m=1,2,…,p)においてTkm=0または1、それ以外の位置ではTk=0(k≠km)としたテストベクトル[T]が生成される。テストベクトルとしては全部でq=2p個あるので添字sを付けて[Ts](s=1,2,…,q)のように表す。生成されたテストベクトル[Ts]とステップ602で生成された硬判定ベクトル[H]を加算してC1符号の代数的復号を実行するためのワード[Us]を生成する(式22)。
【0082】
【式22】
[Us]=[H]+[Ts](s=1,2,…,q)
【0083】
ステップ605ではステップ604で生成されたワード[Ul]をC1符号の代数的復号を実行して符号語の候補を生成する。生成されたr個の符号語を[Ct]=(Ct 1,Ct 2,..,Ct N1)(t=1,2,…,r)とする。
【0084】
ステップ606では軟入力ベクトル[R]と候補符号語[Ct](t=1,2,…,r)の内積Ptを計算する。軟入力ベクトル[R]と候補符号語[Ct]の内積Ptは式23で与えられる。
【0085】
【式23】
【0086】
ステップ607ではステップ606で計算された内積Ptの最大値を与える符号語[Cd]を選ぶ。ステップ608ではカウンタkに初期値1をセットする。ステップ609ではカウンタtに初期値1をセットし、変数L0およびL1に“−∞”をセットする。ここで、“−∞”はコンピュータまたはハードウェアが表現できる最小値を表す。ステップ610ではt番目の候補符号語[Ct]のk番目の要素Ct kが0であるか否かを判定する。Ct kが0であればステップ611に進み、そうでなければステップ612に進む。
【0087】
ステップ611では式24を計算してステップ613に進む。
【0088】
【式24】
【0089】
ステップ612では式25を計算してステップ613に進む。
【0090】
【式25】
【0091】
ただし、式24および式25の関数fは式26で与えられる。式26のmaxは2変数の大きい方を選択することを表す。
【0092】
【式26】
【0093】
ステップ613ではカウンタtがステップ605で生成された候補符号語の総数rより小さいか否かを判定する。tがrより小さいときはステップ614に進み、カウンタtの値をインクリメントしてステップ610以降の処理を繰り返す。一方、カウンタtがrと一致した場合はステップ615に進む。
【0094】
ステップ615では変数L0またはL1が−∞に等しいか否かを判定する。等しい場合はステップ616に進み、そうでなければステップ617に進む。ステップ616では式27に示す軟出力値を計算する。ただし、βは適当な正規化定数である。
【0095】
【式27】
Lk←Rk+βCd k
ステップ617では式28に示す軟出力値を計算する。
【0096】
【式28】
Lk←(L0−L1)/4
【0097】
ステップ618ではカウンタの値kがN1より小さいか否かを判定する。小さい場合はステップ619に進み、カウンタkの値をインクリメントしてステップ609以降の処理を繰り返す。一方、等しい場合はステップ620に進み、軟出力ベクトル[Lk]を出力して処理を終了する。以上の処理によりステップ505AのC1符号の軟入力軟出力復号が完了する。また、ステップ505BのC2符号の軟入力軟出力復号はステップ505AのC1符号の軟入力軟出力復号と同様である。
【0098】
このように本実施の形態1の軟出力値Lkはステップ605で生成された候補符号語のすべてを用いて計算されるので、従来の軟出力値よりも精度が高いという特長がある。以下において従来技術および本願の軟出力値の計算式について比較検討する。ここではC1符号の軟出力値の計算を例にとって説明する。軟入力ベクトル[Rk]が与えられたとき、k番目の軟出力値Lkの正確な値は式29で計算されることが知られている。ただし、式29の分子はC1符号の符号語C=[Ck](k=1,2,…,N1)でCj=+1であるものについて総和をとり、分母はC1符号の符号語C=[Ck]でCj=−1であるものについて総和をとる。
【0099】
【式29】
【0100】
Cj=+1となる符号語C=[Ck]のなかでベクトル[Rk]とユークリッド距離に関して最も近い符号語を[C+1 k]とし、また、Cj=−1となる符号語[Ck]でベクトル[Rk]とユークリッド距離に関して最も近い符号語を[C−1 k]とすると、式29は次式30で近似される。
【0101】
【式30】
【0102】
従来技術の軟出力値の計算は式30に基づいている。一方、本願では式29の分母分子の符号語[Ck]を符号語生成ステップで生成された候補符号語[Ct](t=1,2,…,r)に制限した上で[Rk]と候補符号語[Ct]のユークリッド距離ではなく、より計算の容易な内積を用いて式31により計算している。
【0103】
【式31】
【0104】
式31の第1項および第2項は式32の関係を利用して再帰的に計算できる。特に、式33の関数Lの量子化値をテーブルに格納しておけば式31の計算を高速化できる。
【0105】
【式32】
【0106】
【式33】
【0107】
本実施の形態の積符号の復号方法は以上述べたように構成されるので、より精度の高い軟出力値を生成することができる効果がある。また、訂正ベクトルは前段の復号結果も反映する構成としているので復号性能の大幅な改善が可能となる。
【0108】
また、積符号の受信値が硬判定で与えられる場合には、軟入力値として硬判定が0ならばM、1ならば−M(Mは適当な数)として本願の復号方法を適用するなどの変形例も考えられる。
【0109】
また、ステップ509において積符号のシンドロームを計算して、シンドロームがすべて0であれば復号を終了し、そうでなければ繰り返して復号するようにすれば無駄な繰り返しをせずに済む効果がある。
【0110】
実施の形態2.
実施の形態1で説明した積符号の復号方法をハードウェアで実現することも可能である。図7は積符号を構成するC1符号とC2符号が同一の場合の復号装置の構成を示すブロック図で、701は加算器、702は減算器、703は第1のメモリで送信側の復調器から供給される積符号の受信語を格納するためのメモリ、704はC1符号およびC2符号の軟入力軟出力復号を行う軟入力軟出力復号器、705は軟入力軟出力復号器704から供給される軟出力値により送信符号語を判定する判定回路、706は判定回路705により判定された送信符号語を格納するための第2のメモリ、707は減算器702から供給される訂正値を格納するための第3のメモリ、708は第3のメモリ707から供給される訂正値を正規化する正規化回路である。
【0111】
次に図の復号装置の動作について説明する。まず、復調器から供給される受信語Yは第1のメモリ703に格納される。積符号のC1符号(垂直方向)またはC2符号(水平方向)を復号する場合、第3のメモリ707の所定のアドレスに格納された訂正値が読み出され、正規化回路708において適当な正規化が施されて加算器701に供給される。加算器701では第1のメモリ703の所定のアドレスに格納された受信値と正規化回路708から供給される訂正値が加算されて軟入力値が生成される。なお、初回の復号では第3のメモリ707からの読み出しは行わず、加算器701では受信値をそのままスルーして軟入力軟出力復号器704に供給する。
【0112】
加算器701において生成された軟入力値は軟入力軟出力復号器704に供給される。軟入力軟出力復号器704はC1符号またはC2符号の1符号語分の軟入力値(実施の形態1で説明した軟入力ベクトル)を受信すると、図6に示す復号フローチャートに従って復号処理を開始する。
【0113】
図8は軟入力軟出力復号器704の構成を示すブロック図で、801は軟入力ベクトルから送信符号語の候補を生成するチェイス復号回路、802は候補符号語の尤度を計算する候補符号語尤度計算回路、803は候補符号語から軟出力値を計算する軟出力値計算回路である。なお、801のチェイス復号回路は公知の技術で構成されるのでその詳細は述べない。D.Chase, "A class of algorithms for decoding block codes with channel measurement information", (IEEE Trans. Inform. Thoery, Vol.IT-18, pp.170-182)参照。
【0114】
次に図8の軟入力軟出力復号器704の動作について説明する。801のチェイス復号回路は図6のステップ601から605までの処理を実行して軟入力ベクトル[R]から候補符号語[Ct](t=1,2,…,r)を生成する。
【0115】
チェイス復号回路801において生成された候補符号語[Ct](t=1,2,…,r)は候補符号語尤度計算回路802に供給される。候補符号語尤度計算回路802では軟入力ベクトル[R]と候補符号語[Ct](t=1,2,…,r)の内積Pt(式23)が計算され、その最大値を与える候補符号語[Cd]が検出される。候補符号語尤度計算回路802で計算された内積Ptと最大尤度の符号語[Cd]は軟出力値計算回路803に供給される。
【0116】
軟出力値計算回路803では式27または式28に基づいて軟出力値が生成される。図9にL0またはL1を計算するための回路の構成例を示す。901は内積Ptが入力される入力端子、902は計算結果を記憶するレジスタ、903は2入力から大きい方を選択して出力するMAX回路、904は2入力から小さい方を選択して出力するMIN回路、905は式33の量子化値を格納したルックアップテーブル、906はMAX回路903の出力からMIN回路904の出力を減算する減算器、907はMAX回路903の出力とルックアップテーブル905の出力を加算する加算器、908はレジスタ902の内容を出力する出力端子である。
【0117】
次に図9の回路の動作をL0を計算する場合を例にとって説明する。レジスタ902には初期値として十分小さい値が設定される。入力端子901から候補符号語[Ct]でk番目の値Ct kが0である符号語の内積Ptが入力される。MAX回路903では入力された内積Ptとレジスタ902に格納されているデータの比較が行われ、大きい方のデータが選択されて減算器906と加算器907に供給される。また、MIN回路904では入力された内積Ptとレジスタ902に格納されているデータの比較が行われ、小さい方のデータが選択されて減算器906に供給される。
【0118】
減算器906ではMAX回路903の出力データからMIN回路904の出力データが差し引かれ、結果がルックアップテーブル905に供給される。ルックアップテーブル905では式33のlog値を参照して参照結果が加算器907に供給される。加算器907ではMAX回路903の出力とルックアップテーブル905の出力が加算されてレジスタ902に格納される。
【0119】
L1の計算も上述のL0の計算と同様に図9の回路を用いて計算されるので説明を省略する。計算されたL0とL1から式28により軟出力値が生成される。なお、L0またはL1が計算されないときは式27により軟入力値と最大尤度の符号語[Cd]の成分から軟出力値が生成される。
【0120】
軟出力値計算回路(704の軟入力軟出力復号器)において生成された軟出力値は705の判定回路および702の減算器に供給される。702の減算器では軟出力値から受信値が差し引かれて訂正値が生成されて第2のメモリの所定のアドレスに格納される。705の判定回路では軟出力値に基づいて送信符号語が判定されて第3のメモリの所定のアドレスに格納される。
【0121】
本実施の形態2の積符号の復号装置は以上述べたように構成されるので、ルックアップテーブルを参照して精度の高い軟出力値を生成することができる。また、訂正値は軟出力値から受信値を差し引いて生成されるのでより効果的な訂正値を生成することが可能である。
【0122】
また、上の例ではC1符号とC2符号が等しい場合について説明したが、C1符号とC1符号が異なる場合も同様に復号装置を構成できる。即ち、軟入力軟出力復号器にC1符号のための第1のチェイス復号器とC2符号のための第2のチェイス復号器を設ければよく、それ以外の回路は共用できる。
【0123】
さらに、上の例では軟入力軟出力復号器を1つだけ配置する構成としたが、多数並列に配置すればより高速な復号装置が得られる。
【0124】
さらに、判定回路は推定された送信符号語のシンドロームを計算して誤りがあるか否かの判定を行い、誤りがあれば繰り返して復号し、誤りがなければ復号を終了するようにすれば無駄な繰り返し復号をせずに済む効果がある。また、判定回路は推定された送信符号語と受信語から誤り数を計測して通信路の状態をモニタするようにすれば復号の繰り返し回数の設定に役立つなどの効果がある。即ち、通信路の状態が悪ければ繰り返し回数を多くし、通信路の状態が良ければ繰り返し回数を少なくすればよい。
【0125】
本実施の積符号の復号装置はこのように良好なディジタル伝送を確立するのに適した構成であり、積符号の符号化装置と復号装置とを伝送媒体で接続すれば高性能なディジタル伝送システムが構成できる。なお、伝送媒体としては無線や光ファイバに限らず、光ディスクなどの記録媒体であってもよいことは言うまでもない。
【発明の効果】
以上述べたようにこの発明の積符号の復号方法又復号装置によれば、より精度の高い軟出力値を生成することができる効果がある。また、軟入力値の生成に用いる訂正値は前段の復号結果も反映する構成としているので復号性能の大幅な改善が可能となる。
【図面の簡単な説明】
【図1】 積符号の構成を示す図である。
【図2】 ディジタル通信システムの構成を示すブロック図である。
【図3】 積符号の従来の復号方法のフローチャートである。
【図4】 図3の動作を説明するための図である。
【図5】 実施の形態1の積符号の復号方法のフローチャートである。
【図6】 図5の動作を説明するための図である。
【図7】 実施の形態2の積符号の復号装置の構成を示すブロック図である。
【図8】 図7の構成を説明するための図である。
【図9】 図7の構成を説明するための図である。
【符号の説明】
701:加算器、702:減算器、703:第1のメモリ、704:軟入力軟出力復号器、705:判定回路、706:第2のメモリ、707:第3のメモリ、708:正規化回路、801:チェイス復号回路、802:候補符号語尤度計算回路、803:軟出力値計算回路。
Claims (14)
- 符号長N1、情報長K1の2元線形C1符号および符号長N2、情報長K2の2元線形C2符号からなる積符号の復号方法において、
C1符号の受信値と予め設定された訂正値を加算して第1の軟入力値を生成する第1の軟入力値生成ステップと、
前記第1の軟入力値生成ステップにおいて生成された第1の軟入力値からC1符号の軟入力軟出力復号により第1の軟出力値を生成する第1の軟出力値生成ステップと、
前記第1の軟出力値生成ステップにおいて生成された前記第1の軟出力値から前記C1符号の受信値を減算して前記訂正値を更新する第1の訂正値更新ステップと、
C2符号の受信値と前記第1の訂正値更新ステップにおいて更新された前記訂正値を加算して第2の軟入力値を生成する第2の軟入力値生成ステップと、
前記第2の軟入力値生成ステップにおいて生成された第2の軟入力値からC2符号の軟入力軟出力復号により第2の軟出力値を生成する第2の軟出力値生成ステップと、
前記第2の軟出力値生成ステップにおいて生成された前記軟出力値より送信された符号語を推定する符号語推定ステップと、
を備えたことを特徴とする積符号の復号方法。 - 前記第2の軟出力値生成ステップにおいて生成された前記第2の軟出力値から前記C2符号の受信値を減算して前記訂正値を更新する第2の訂正値更新ステップを備え、更新された訂正値を第1の軟入力値生成ステップに入力して積符号を繰り返して復号することを特徴とする請求項1記載の積符号の復号方法。
- 前記第1の軟出力値生成ステップは、
前記第1の軟入力値から硬判定を生成する硬判定生成ステップと、
前記第1の軟入力値から信頼性の低いp個の位置を検出する位置検出ステップと、
前記位置検出ステップにおいて検出された位置に基づいてテストベクトルを生成し、前記硬判定と加算してC1復号するためのq個の復号入力値を生成する復号入力値生成ステップと、
前記q個の復号入力値からC1復号によりr個のC1符号の符号語[Ct](t=1,2,…,r)を生成するC1符号語生成ステップと、
前記r個のC1符号語の尤度Pt(t=1,2,…,r)を計算する尤度計算ステップと、
前記尤度Pt(t=1,2,…,r)の最大値を与える符号語[Cd]を検出する最大尤度符号語検出ステップと、
変数L0およびL1に初期値を設定する初期値設定ステップと、
前記r個のC1符号語[Ct](t=1,2,…,r)のtが1なる符号語からk番目の値が0ならば前記L0とPtの大きい方とその差分に対する補正値を加算した値を前記L0に代入し、そうでなければ前記L1とPtの大きい方とその差分に対する補正値を加算した値を前記L1に代入して、tがrなる符号語までtをインクリメントして前記L0または前記L1の更新を行う更新ステップとを有し、
前記L0と前記L1の差分からk番目の軟出力値を計算することを特徴とする請求項1又は2記載の積符号の復号方法。 - 前記更新ステップは前記補正値を格納した補正値テーブルを備え、前記L0又はL1と前記Ptの差分の値により、前記テーブルから補正値を選択することを特徴とする請求項3記載の積符号の復号方法。
- 前記L0またはL1が計算されない場合において軟出力値生成ステップは最大尤度符号語の成分に比例する量を軟入力値に加算して軟出力値を生成することを特徴とする請求項3記載の積符号の復号方法。
- 前記第2の軟出力値生成ステップは請求項3記載の第1の軟出力値生成ステップと同様に構成され、
前記符号語推定ステップは前記第2の軟出力値生成ステップで生成された軟出力値の正負に基づいて符号語を推定することを特徴とする請求項3ないし請求項5の何れかに記載の積符号の復号方法。 - 前記符号語推定ステップにおいて推定された符号語のシンドロームがすべて0であれば繰り返して復号せずに復号処理を終了することを特徴とする請求項2ないし請求項6の何れかに記載の積符号の復号方法。
- 前記C1符号およびC2符号の受信値の信頼度を判定する判定ステップを付加し、その判定結果が硬判定である場合に、硬判定値が0ならばM、1ならば−M(Mは適当な定数)と設定して復号することを特徴とする請求項1ないし請求項7記載の積符号の復号方法。
- 符号長N1、情報長K1の2元線形C1符号と符号長N2、情報長K2の2元線形C2符号から構成される積符号を復号する装置であって、通信路から入力される受信値を格納するための第1のメモリと、
訂正値を格納するための第2のメモリと、
前記受信値と前記訂正値を加算して軟入力値を生成する加算器と、
前記軟入力値から軟出力値を生成するため、
前記軟入力値からC1符号の候補符号語を生成する第1のチェイス復号回路と、
前記軟入力値からC2符号の候補符号語を生成する第2のチェイス復号回路と、
前記C1符号またはC2符号の候補符号語の尤度を生成する候補符号語尤度計算回路と、
前記候補符号語の尤度から軟出力値を生成する軟出力値計算回路とから構成される軟入力軟出力復号器と、
前記軟出力値から前記受信値を差し引いて前記訂正値を生成する減算器と、
前記軟出力値より復号ビットを判定する判定回路と、
前記復号ビットを格納するための第3のメモリと、
を備えたことを特徴とする積符号の復号装置。 - 前記軟出力値計算回路は、
入力された2つのデータから大きいデータを選択する第1の選択回路と、
入力された2つのデータから小さいデータを選択する第2の選択回路と、
前記第1の選択回路の出力から前記第2の選択回路の出力を減算する減算器と、前記減算器の出力を変換するルックアップテーブルと、
前記ルックアップテーブルの出力と前記第1の選択回路の出力を加算する加算器と、
前記加算器の出力を記憶するための記憶回路と、
を備えることを特徴とする請求項9記載の積符号の復号装置。 - C1符号とC2符号が同一である場合、前記軟入力軟出力復号器は第1のチェイス復号回路と第2のチェイス復号回路が1個のチェイス復号回路で構成され、共用されることを特徴とする請求項9又は請求項10記載の積符号の復号装置。
- 前記軟入力軟出力復号器を多数並列に配置することを特徴とする請求項9又は請求項10記載の積符号の復号装置。
- 前記判定回路は、積符号のシンドローム計算回路を備えて誤りが残存するか否かの判定を行うことを特徴とする請求項9ないし請求項12の何れかに記載の積符号の復号装置。
- 前記判定回路は、復号ビットと受信値を比較して誤り数を計算する誤り数計算回路を備えることを特徴とする請求項9ないし請求項13の何れかに記載の積符号の復号装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001236692A JP3876662B2 (ja) | 2001-08-03 | 2001-08-03 | 積符号の復号方法および積符号の復号装置 |
EP02016641A EP1282237A3 (en) | 2001-08-03 | 2002-07-25 | Decoding method and decoding apparatus of product code |
US10/209,923 US7185259B2 (en) | 2001-08-03 | 2002-08-02 | Decoding method and decoding apparatus of product code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001236692A JP3876662B2 (ja) | 2001-08-03 | 2001-08-03 | 積符号の復号方法および積符号の復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003046395A JP2003046395A (ja) | 2003-02-14 |
JP3876662B2 true JP3876662B2 (ja) | 2007-02-07 |
Family
ID=19067914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001236692A Expired - Fee Related JP3876662B2 (ja) | 2001-08-03 | 2001-08-03 | 積符号の復号方法および積符号の復号装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7185259B2 (ja) |
EP (1) | EP1282237A3 (ja) |
JP (1) | JP3876662B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005528840A (ja) * | 2002-05-31 | 2005-09-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 線形ブロック符号の軟復号化 |
US7328395B1 (en) | 2004-04-13 | 2008-02-05 | Marvell International Ltd. | Iterative Reed-Solomon error-correction decoding |
FR2871631B1 (fr) * | 2004-06-10 | 2006-09-22 | Centre Nat Rech Scient Cnrse | Procede de decodage iteractif de codes blocs et dispositif decodeur correspondant |
US7310767B2 (en) * | 2004-07-26 | 2007-12-18 | Motorola, Inc. | Decoding block codes |
US7454690B1 (en) * | 2004-10-27 | 2008-11-18 | Marvell International Ltd. | Architecture and control of reed-solomon list decoding |
US9203438B2 (en) * | 2006-07-12 | 2015-12-01 | Ternarylogic Llc | Error correction by symbol reconstruction in binary and multi-valued cyclic codes |
KR20090083758A (ko) * | 2008-01-30 | 2009-08-04 | 삼성전자주식회사 | 연접 부호 복호화 방법 및 장치 |
GB0821615D0 (en) | 2008-11-26 | 2008-12-31 | Cambridge Silicon Radio Ltd | Signal reception |
RU2009116361A (ru) * | 2009-04-30 | 2010-11-10 | ЭлЭсАй Корпорейшн (US) | Декодер кодов рида-соломона с мягким решением на основе декодера кодов рида-соломона с исправлением ошибок и стираний |
JP5757251B2 (ja) * | 2012-02-07 | 2015-07-29 | 株式会社Jvcケンウッド | 積符号の復号装置、積符号の復号方法、及び、プログラム |
JP5757253B2 (ja) * | 2012-02-10 | 2015-07-29 | 株式会社Jvcケンウッド | 積符号の復号装置、積符号の復号方法、及び、プログラム |
US9166627B2 (en) | 2013-08-07 | 2015-10-20 | International Business Machines Corporation | Combination error and erasure decoding for product codes |
RU2541844C1 (ru) * | 2013-10-28 | 2015-02-20 | Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) | Способ декодирования кода-произведения с использованием упорядоченного по весу смежного класса векторов ошибок и устройство его реализующее |
US9852022B2 (en) | 2015-09-04 | 2017-12-26 | Toshiba Memory Corporation | Memory system, memory controller and memory control method |
US10313056B2 (en) * | 2017-02-06 | 2019-06-04 | Mitsubishi Electric Research Laboratories, Inc. | Irregular polar code encoding |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2712760B1 (fr) * | 1993-11-19 | 1996-01-26 | France Telecom | Procédé pour transmettre des bits d'information en appliquant des codes en blocs concaténés. |
US5815515A (en) * | 1996-03-28 | 1998-09-29 | Lsi Logic Corporation | Edge metric calculation method and apparatus using permutations |
US5968199A (en) * | 1996-12-18 | 1999-10-19 | Ericsson Inc. | High performance error control decoder |
JPH1117555A (ja) * | 1997-06-26 | 1999-01-22 | Mitsubishi Electric Corp | データ伝送システム、受信装置および記録媒体 |
US6477680B2 (en) * | 1998-06-26 | 2002-11-05 | Agere Systems Inc. | Area-efficient convolutional decoder |
JP3246484B2 (ja) * | 1999-07-07 | 2002-01-15 | 日本電気株式会社 | ターボデコーダ |
-
2001
- 2001-08-03 JP JP2001236692A patent/JP3876662B2/ja not_active Expired - Fee Related
-
2002
- 2002-07-25 EP EP02016641A patent/EP1282237A3/en not_active Withdrawn
- 2002-08-02 US US10/209,923 patent/US7185259B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003046395A (ja) | 2003-02-14 |
EP1282237A3 (en) | 2003-12-03 |
US20030070131A1 (en) | 2003-04-10 |
EP1282237A2 (en) | 2003-02-05 |
US7185259B2 (en) | 2007-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3876662B2 (ja) | 積符号の復号方法および積符号の復号装置 | |
JP3328093B2 (ja) | エラー訂正装置 | |
KR101143695B1 (ko) | 트렐리스-기반 수신기와 이를 위한 프로세서 시스템, 방법 및 컴퓨터 판독가능 매체 | |
EP0771080B1 (en) | Maximum-likelihood decoding with soft decisions | |
US7676734B2 (en) | Decoding apparatus and method and information processing apparatus and method | |
JP4185167B2 (ja) | 積符号の反復復号化 | |
US5802116A (en) | Soft decision Viterbi decoding with large constraint lengths | |
KR19990028216A (ko) | 테일-바이팅 트렐리스 코드용 최적 소프트-출력 디코더 | |
US20070162821A1 (en) | Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus | |
JP2001036417A (ja) | 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体 | |
EP0660534A2 (en) | Error correction systems with modified viterbi decoding | |
US7681110B2 (en) | Decoding technique for linear block codes | |
Barg et al. | On the complexity of minimum distance decoding of long linear codes | |
KR100737070B1 (ko) | 신호 디코딩 방법 및 디코딩 시스템과, 머신 액세스 가능한 기록 매체 | |
KR100456474B1 (ko) | 블록터보 부호의 반복 복호 방법 및 블록터보 부호의 반복복호 프로그램을 저장한 기록매체 | |
KR102269322B1 (ko) | 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치 | |
US7392454B2 (en) | Error locating methods and devices for algebraic geometric codes | |
US20080152045A1 (en) | High-throughput memory-efficient BI-SOVA decoder architecture | |
US7962841B2 (en) | Data decoding apparatus and method in a communication system | |
US6701483B1 (en) | Fast search-based decoding scheme | |
JPH0445017B2 (ja) | ||
US6778107B2 (en) | Method and apparatus for huffman decoding technique | |
EP1511178A1 (en) | A method of decoding a data word | |
KR20070058430A (ko) | 블록 부호를 재귀반복적으로 복호하기 위한 방법 및 장치 | |
JPH06284018A (ja) | ビタビ復号方法および誤り訂正復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040705 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061023 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3876662 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091110 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131110 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |