JP4526451B2 - 復号装置と方法並びにプログラム - Google Patents

復号装置と方法並びにプログラム Download PDF

Info

Publication number
JP4526451B2
JP4526451B2 JP2005191153A JP2005191153A JP4526451B2 JP 4526451 B2 JP4526451 B2 JP 4526451B2 JP 2005191153 A JP2005191153 A JP 2005191153A JP 2005191153 A JP2005191153 A JP 2005191153A JP 4526451 B2 JP4526451 B2 JP 4526451B2
Authority
JP
Japan
Prior art keywords
message
node
check
bit
check node
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
JP2005191153A
Other languages
English (en)
Other versions
JP2007013519A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2005191153A priority Critical patent/JP4526451B2/ja
Priority to US11/476,679 priority patent/US7805654B2/en
Publication of JP2007013519A publication Critical patent/JP2007013519A/ja
Application granted granted Critical
Publication of JP4526451B2 publication Critical patent/JP4526451B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/11Error 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 using multiple parity bits

Description

本発明は、復号技術に関し、低密度パリティ検査符号(Low Density Parity Check Codes、「LDPC」と略記される)の復号に用いて好適な装置と方法並びにプログラムに関する。
近年、誤り訂正技術は、無線、有線、記録システムにおいて幅広く利用されている。この中で低密度パリティ検査符号(LDPC)と、その復号法であるsum−productアルゴリズム(以下「SPA」と略記される)の組み合わせは、非常に強力な復号特性を持ち、次世代の誤り訂正符号として有望視されている。送信側の符号化器では、後述する検査行列Hを生成し、生成行列G(k行n列、kは情報長、nは符号語長)を求める(ただし、GHT=0(Tは転置行列))。符号化器は情報長kのメッセージ(m1,m2,…,mk)を受け取り生成行列Gを用いて(m1,m2,…,mk)Gから符号語(c1,c2,…,cn)を生成し(ただし、(c1,c2,…,cn)HT=0)、生成した符号語を変調して送信する。復号器では、通信路を介して受け取った変調信号を復調し、SPAによる繰り返し復号を行い、推定結果(もとの(m1,m2,…,mk))を出力する(特許文献1)。LDPC符号とSPA復号についてその概略を説明しておく。
LDPC符号は非常に疎な検査行列により定義される線形符号である。LDPC符号の検査行列は、「ターナーグラフ」と呼ばれる2部グラフにより表現できる。M*N行列である検査行列Hが与えられているものとする。ターナーグラフを構成するノード(頂点)は、N個のビットノードと、M個のチェックノードから構成される。ビットノード、チェックノードは検査行列Hの列と行にそれぞれ対応しており、検査行列Hのi行j列の要素が1の場合、j番目のビットノードとi番目のチェックノードとが結ばれる。
一例として、検査行列Hが式(1)の場合、そのターナーグラフは、図5に示したものとなる。

Figure 0004526451
各ビットノードは、受信ビット(符号語の各シンボル)に対応し、各チェックノードはそれぞれが接続するビットノード間(シンボル間)のパリティ検査制約(条件)に対応する。上記検査行列Hにおいて、符号語長10のメッセージ(m1,…,m10)についてパリティ検査条件として、チェックノード1はm1+m2+m3+m4=0に対応し、チェックノード2はm1+m5+m6+m7=0に対応し、チェックノード3はm1+m8+m9+m10=0に対応する。
SPAは、LDPC符号を定義する検査行列から構成されるターナーグラフ上でメッセージを送受して復号を行う。接続するビットノードとチェックノード間でのメッセージのやりとりの1往復分を「1イタレーション(one iteration)」と呼ぶ(なお、iterationはイテレーションともいう)。
十分な復号特性を得るためには複数回のイタレーションが必要となる。ノード間でやりとりされるメッセージのうちビットノードnからチェックノードmへのメッセージQnmは、次式(2)で与えられる。また、チェックノードmからビットノードnへのメッセージRmnは、次式(3)で与えられる。なお、複数回のイタレーションの後のビットノードにおけるメッセージQnmの計算結果の符号に応じて受信ビットの推定が行われる(符号の正負に応じて0、1)。

Figure 0004526451
ただし、式(2)のm'に関するRm'nの総和演算(ΣRm'n)におけるm'∈μ(n)のμ(n)はビットノードnに隣接するチェックノードのセット(集合)を表している。すなわち、検査行列Hの第n列目の1がたっている行番号の集りであり、上式(1)の検査行列Hの場合、μ(1)={1,2,3}、μ(2)={1}である。
また、式(2)において、ln[pn(1)/pn(0)]は、入力LLR(Log Likelihood Ratio:対数尤度比)である。なお、ln[pn(1)/pn(0)]は、後述の(ln[P(yn|xn=0)/P(yn|xn=1)])と同じものを表す。
Figure 0004526451
ただし、
Figure 0004526451
式(3)のn'に関するQn'mの総和演算(ΣQn'm)、及び、sign(Qn'm)の積演算Πsign(Qn'm)におけるn'∈ν(m)のν(m)は、チェックノードmに隣接(接続)するビットノードのセット(集合)である。すなわち、式(1)の検査行列Hの第m行目の1がたっている列番号であり、上式(1)の検査行列Hの場合、ν(1)={1,2,3,4}である。
LDPC復号器を実現する場合、従来より、チェックノードを複数のグループに分割し、パイプライン処理でメッセージ計算を行う構成が用いられている。このグループ分けを「クラスタリング」と呼び、計算順序を「スケジューリング」と呼ぶ。
図6は、式(1)で定義されるLDPC符号を、クラスタサイズ1(1クラスタあたり1チェックノード)で復号した場合のメッセージ伝達の様子を示す図である。図6には、図5に示したターナーグラフ(クラスタサイズ1)の場合のビットノードとチェックノード間のメッセージ伝達の様子が示されている。図6において、図5と同様に、数字(ビットノード番号)を囲んだ丸印がビットノード、数字(チェックノード番号)を囲んだ長方形がチェックノードを表し、各ノードからの矢印がメッセージの伝搬を表している。
ビットノード1、2、3、4からチェックノード1へのメッセージQ11、Q21、Q31、Q41が送信され、チェックノード1からビットノード1、2、3、4へそれぞれメッセージR11、R12、R13、R14が送信される。次に、ビットノード1、5、6、7からチェックノード2へのメッセージQ12、Q52、Q62、Q72が送信され、チェックノード2からビットノード1、5、6、7へそれぞれメッセージR21、R25、R26、R27が送信される。次に、ビットノード1、8、9、10からチェックノード3へのメッセージQ13、Q83、Q93、Q103が送信され、チェックノード3からビットノード1、8、9、10へそれぞれメッセージR31、R38、R39、R310が送信される。上記した一連のメッセージ・パッシングが1イタレーションを構成する。
図5のターナーグラフはループを含んでいない。ここで、ループとは、あるノードから始まる周回路である。
ターナーグラフがループを含んでいない場合、SPAは、正確な事後確率を計算できる。
一方、次式(5)の検査行列Hで定義されるターナーグラフは、図7に示すように、長さ4のループを含んでいる。図7において、矢印はノード間でのメッセージの伝達の向きを示している。

Figure 0004526451
すなわち、図7に示すように、チェックノード1からビットノード3、ビットノード3からチェックノード2、チェックノード2からビットノード2、ビットノード2からチェックノード1へと長さ4のループとなる。
このように、メッセージが周回すると、復号器において、正確な事後確率が計算できなくなり、復号特性が劣化する。そして、このループが短いほど、復号特性の劣化が著しくなることが知られている(非特許文献1)。
ところで、LDPC復号器を実現する場合、メッセージを保存するレジスタ、もしくはメモリと、メッセージをやり取りするインターコネクトパスが、チップ面積の大部分を占める。
そこで、上式(2)を、次式(6)で近似することにより、メッセージ数を削減する方法が提案されている(非特許文献2)。

Figure 0004526451
上式(6)において、Rmnはチェックノードmからビットノードnへのメッセージであり、上式(3)で与えられる。
またm'に関するRm’nの総和演算(ΣRm’n)におけるm'∈{S(k)∩μ(n)}のS(k)は、時刻kにおいて、計算中のクラスタに含まれるチェックノードのセットであり、μ(n)はビットノードnに隣接するチェックノードのセットであり、∩はANDを表している。したがって、m'に関するRm’nの総和演算では、S(k)とμ(n)の両方に含まれるチェックノードm'からのメッセージRm’nの総和をとり、前の時刻k-1のQn(k-1)と加算したものを、時刻kのメッセージQ'n(k)としている。ビットノードnから、ビットノードnに接続するチェックノードに同一のメッセージQ'n(k)を渡す。
ビットノードのメッセージ計算処理では、チェックノードmからビットノードnへのメッセージRmnを、クラスタ単位で計算し、計算結果をQ'nに積算していく。
Q'n(k)の初期値Q'n(0)は、入力(通信路)LLRである。LLRは対数尤度比(ln[P(yn|xn=0)/P(yn|xn=1)])である。なお、yIは受信シンボル、xIは送信シンボル、nIを平均0の白色ガウス雑音の加法的白色ガウス通信路とし(yi=xi+ni)、バイナリバイポーラ変換(0→+1、1→-1)が行われる。
上式(6)の近似により、1つのビットノードからは、全ての隣接するチェックノード(該1つのビットノードに接続する全てのチェックノード)に対して同一のメッセージが出力されることになる。このため、メッセージ保存用のレジスタ、及びインターコネクト・パス等のリソースを大幅に削減することができる。
また、上式(6)の近似により、式(2)と比較して、メッセージ計算の演算量をほぼ50%以上削減することができる。すなわち、演算速度、処理性能を向上させる。
特開2003−244109号公報 D.J.C.Mackay,"Good error-correcting codes based on very sparse matrices", IEEE Trans. Inform. Theory, vol.45, pp391-431(1999) Yeo,E.; Pakzad, P.; Nikolic, B.; Anantharam,V, "High throughput low-density parity-check decoder architectures", Global Telecommunications Conference 2001, Volume: 5 , 25-29 Nov. 2001, pp3019-3024
上記したように、上式(6)の近似により、式(2)と比較して、メッセージ計算の演算量を特段に削減するものであるが、以下のような課題を有している。この課題の検討は、本発明者の研究結果によるものである。
すなわち、上式(6)の近似においては、ターナーグラフ上にループが存在しない場合でも、チェックノードmからビットノードnに出力されたメッセージRmnが再び元のチェックノードmに伝達されてしまう。この場合、短いループが存在する場合と同様に、事後確率が正確に計算できなくなり、その結果、誤り訂正能力の劣化を招くことになる。
例えば図5のターナグラフの場合、式(2)のQnmの計算においてμ(1)={1、2、3}である。ビットノード1からチェックノード1へのメッセージQ11の計算におけるΣRm’nの総和演算は、m'∈μ(1)についてなされ、ΣRm’n=R11+R21+R31とされ、式(2)においては、総和(R11+R21+R31)から、R11を差し引いているため、R21+R31となる。
一方、式(6)で近似を行った場合、Q'1(k)におけるΣRm’nの総和演算は、R11+R21+R31となり、このQ'n(k)が、ビットノード1からチェックノード1、2、3に伝達される。チェックノード1で受信するメッセージ中にR11が含まれ、実質的に、短いループが存在することと等価となる。
図8は、メッセージ計算のタイミング動作を示す図である。図8(A)は、チェックノードにおけるメッセージの計算に遅延が無い場合のタイミング動作を示す図であり、図8(B)は、チェックノードにおけるメッセージの計算に2クロックサイクルの処理遅延がある場合のタイミング動作を示す図である。
図8(A)、図8(B)において、入力メッセージは、図5、図6のビットノード1から各チェックノードに対する入力メッセージである。計算クラスタのC1、C2、C3は、第1、第2、第3クラスタを表しており、出力メッセージは、対応するクラスタから出力されるメッセージである。なお、図5、図6、図8では、1クラスタを1チェックノードとしており、チェックノード1は第1クラスタ(C1)としてグループ化され、チェックノード2は第2クラスタ(C2)としてグループ化され、チェックノード3は第3クラスタ(C3)としてグループ化されている。したがって、図5、図6、図8の場合、第1、第2、第3クラスタは、チェックノード1、2、3である。また、図中のRCXYは、第Yイタレーション時の第Xクラスタの出力を表している。入力メッセージのLは入力LLRの値である。
上式(6)の近似を用いた場合、ターナーグラフ上にループが存在しない場合でも、チェックノードから出力されたメッセージが再び元のチェックノードに伝達されてしまう。例えば、第1イタレーション時の第1クラスタC1の出力RC11(第1イタレーションの第1クラスタの出力であって、その内容はチェックノード1からビットノード1へのメッセージR11である)は、次の第2イタレーションにおいて、もとの第1クラスタC1(チェックノード1)へ渡される(図8(A)、図8(B)参照)。
この結果、ターナーグラフ上にループが存在しない場合でも、短いループが存在する場合と同様に、事後確率が正確に計算できなくなり、誤り訂正能力が劣化することになる。
チェックノードのメッセージ計算に遅延がある場合、誤り訂正能力が大きく劣化する。これは、チェックノードに入力されるメッセージの内のそのチェックノードから出力されたメッセージの割合が大きくなるためである。
例えば、第2イタレーション時に第1クラスタC1に入力されるメッセージは、チェックノードでのメッセージ計算に遅延なしの場合、L+RC11+RC12+RC13である(図8(A)参照)。ここで、Lは入力LLRの値である。これに対して、チェックノードでのメッセージ計算に2クロックサイクルの遅延がある場合、L+RC11になり(図8(B)参照)、第1クラスタC1の出力メッセージであるRC11の割合が大きくなる。このため、誤り訂正能力が劣化し、復号特性が低下する。
本願で開示される発明は、上記課題を解決するため、概略以下の構成とされる。
本発明の1つのアスペクトに係る装置は、入力された低密度パリティ検査符号から、低密度パリティ検査行列に対応した複数のチェックノード及び複数のビットノードの間でメッセージのやり取りをイタレーション毎に繰り返して復号する復号装置において、時間的に前と後の関係にある少なくとも2つのイタレーションのうち一のイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番とを変える手段(スケジューラ)を備えている。
本発明において、N個のクラスタ(クラスタサイズが1のとき1クラスタあたり1チェックノード)を有し、メッセージ計算の処理遅延Dのチェックノードでメッセージ計算を行う場合、前記スケジュール部は、
第Xイタレーションの第Y番目にメッセージを計算するクラスタを、
(((Y-1)+(X-1)*(N-D))%N)+1
(ただし、%は剰余を表す。)
とする。
本発明は、さらに、前記ビットノードにおいて、前記チェックノードから前記ビットノードに送信されたメッセージに対して重み付けを行う手段を備えた構成としてもよい。
本発明において、一のビットノードから、該ビットノードに接続された全てのチェックノードに対して同一メッセージを渡すように制御し、前記チェックノードに入力されるメッセージにおいて、前記チェックノードから出力されたメッセージの割合が少なくなるように制御する。
本発明においては、前記チェックノードで過去に計算されたメッセージほど、該メッセージの影響が少なくなるようにする。
本発明においては、前記ビットノードが、前記チェックノードから受け取ったメッセージを保持し、以降、前記チェックノードからメッセージを受け取るたびに、前記保持するメッセージに対して1よりも小の正値の重みを乗算し乗算結果を保持する手段を備えた構成としてもよい。
本発明においては、前記ビットノードは、チェックノードからi回目(iは2以上の正数)にメッセージを受け取った際に、重み係数をwとして、チェックノードからj回目(ただし、jは1以上でiより小の整数)に受け取ったメッセージに対してw(i−j)を乗じたものと、i回目(iは2以上の正数)の前記メッセージに基づき、前記チェックノードへのメッセージを計算するようにしてもよい。
本発明の他のアスペクトに係る方法は、入力された低密度パリティ検査符号から、低密度パリティ検査行列に対応した複数のチェックノード及び複数のビットノードの間でメッセージのやり取りをイタレーション毎に繰り返して復号する復号方法であって、
時間的に前と後の関係にある少なくとも2つのイタレーションのうち一のイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番とを変える工程を含む。
本発明の他のアスペクトに係るコンピュータ・プログラムは、
入力された低密度パリティ検査符号から、低密度パリティ検査行列に対応した複数のチェックノード及び複数のビットノードの間でメッセージのやり取りをイタレーション毎に繰り返して復号するコンピュータに、時間的に前と後の関係にある少なくとも2つのイタレーションのうち一のイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番とを変える処理を実行させるプログラムよりなる。該プログラムはコンピュータで機械読み出し可能な媒体等に記憶される。
本発明によれば、メッセージ計算式を近似しメッセージ数を削減したSPAを適用したLDPC復号器において、時間的に前と後の少なくとも2つのイタレーションにおけるメッセージ計算の実行の順番を変えることで、チェックノードに入力されるメッセージ内における当該チェックノードからのメッセージの割合を少なくし復号特性を向上させることができる。
また、本発明によれば、メッセージ計算式を近似しメッセージ数を削減したSPAを適用したLDPC復号器において、メッセージ計算を行った時間が過去になるほど、該メッセージの影響が少なくなるように重み付けすることにより、復号特性を向上させることができる。
上記した本発明についてさらに詳細に説述すべく、添付図面を参照して以下に説明する。本発明は、好ましい一の実施形態において、入力されたLDPC符号から検査行列Hに対応した複数のチェックノード及び複数のビットノードの間でメッセージ(信頼性情報)のやり取りをイタレーション(iteration)毎に繰り返して復号する復号装置において、メッセージ計算を近似し、ビットノードnから、該ビットノードnに接続された全てのチェックノードへ同一メッセージQnを渡すように制御し、時間的に前と後の関係にある少なくとも2つのイタレーションのうち1つのイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番を変える制御を行うスケジューリング手段を備えている。2つのイタレーションは時間的に隣合うイタレーションであってもよい。イタレーション毎にメッセージ計算の順番を切り替えるようにしてもよい。
本発明は、好ましい別の実施形態において、上記スケジューリング手段に加えて、ビットノードからチェックノードmに入力されるメッセージ内において、当該チェックノードmから出力されたメッセージRmnの割合が少なくなるように制御する手段を備えている。チェックノードでのメッセージ計算を行った時間が過去になるほど、ビットノードnからチェックノードmに入力されるメッセージQn内での、先に当該チェックノードmから出力されたメッセージRmnの影響が少なくなるように、該メッセージRmnに対して重み付けが行われる。以下実施例に即して説明する。
本発明の第1の実施例について説明する。図1は、本実施例を説明するための図である。上式(1)の10x3検査行列Hに対応して10個ビットノード(第1乃至第10ビットノードメッセージ計算部)と、3個のチェックノード(第1乃至第3チェックノードメッセージ計算部)から構成される。第1乃至第10ビットノードメッセージ計算部に入力される入力LLR(対数尤度比)は、通信路LLRである。
チェックノードmからビットノードnへのメッセージRmnをクラスタ単位で計算し、計算結果をQ'nに積算していく。この近似により、1つのビットノードからは、全ての隣接チェックノードに同一のメッセージが出力されることになり、メッセージ保存レジスタ、インターコネクトパスが大幅に削減できる。
本実施例では、ビットノードからチェックノードへのメッセージの計算は、式(6)の近似を用いて行われ、1つのビットノードから、該1つのビットノードが接続する全てのチェックノードへ同一のメッセージQ'n(k)を出力する。また、チェックノードmからビットノードnへのメッセージRmnの計算には、上式(2)の計算式が用いられる。
図8は、クラスタサイズを1とし、3個のチェックノード1〜3をそれぞれクラスタC1〜C3に対応させた場合であるため、図8(B)に示したように、ビットノードのメッセージ計算において、式(6)の近似を用いた場合、メッセージ計算遅延が2クロックサイクルの場合、第2イタレーションにおいてビットノード1からクラスタC1としてグループ化されたチェックノード1へ入力されるメッセージはL+RC11となり、第1イタレーションでクラスタC1としてグループ化されたチェックノード1で計算されたメッセージRC11の割合が大きくなり、復号特性の低下を伴う。
そこで、本実施例では、時間的に前と後の関係にある少なくとも2つのイタレーションのうち、1つのイタレーション(例えば第1イタレーション)におけるチェックノードのメッセージ計算の順番と、他の(例えば第2イタレーション)におけるチェックノードのメッセージ計算の順番を変えるスケジューリング手段(後述するスケジューラ等)を備えている。
図2は、本発明の第1の実施例の動作を説明するためのタイミング図であり、図8のメッセージ計算のタイミング図と同様、クラスタサイズを1とし、3つのチェックノードを3個のクラスタC1、C2、C3に分割しており、C1、C2、C3はチェックノード1、2、3に対応する。図8と同様、チェックノードにおけるメッセージ計算の処理遅延を2クロックサイクルとしている。
図2に示すように、第1イタレーションにおけるメッセージ計算順序は、C1、C2、C3、第2イタレーションにおけるメッセージ計算順序はC2、C3、C1、第3イタレーションにおけるメッセージ計算順序はC3、C1、C2とされる。
第1イタレーションにおけるクラスタC1のメッセージRC11は2クロックサイクル分おくれて、クラスタC3のメッセージ計算時にビットノード1に出力される。第1イタレーションにおけるクラスタC2のメッセージRC12は2クロックサイクルおくれて、第2イタレーションのクラスタC2のメッセージ計算時にビットノード1に出力される。第1イタレーションにおけるクラスタC3のメッセージRC13は2クロックサイクルおくれて、第2イタレーションのクラスタC3のメッセージ計算時にビットノード1に出力される。
第2イタレーションでは、まずビットノード1において、上式(6)に基づき計算されたメッセージL+RC11がクラスタC2に入力される。入力メッセージL+RC11には、クラスタC2(チェックノード2)で計算したメッセージRC12は含まれていず、短ループはない。
つづいて第2イタレーションにおいて、クラスタC2からのメッセージRC12を受け取ったビットノード1において、式(6)に基づきメッセージL+RC11+RC12を計算し、このメッセージL+RC11+RC12がクラスタC3に入力される。入力メッセージL+RC11+RC12には、クラスタC3(チェックノード3)で計算したメッセージRC13は含まれていず、短ループはない。
第2イタレーションにおいて、クラスタC3からのメッセージRC13を受け取ったビットノード1において、式(6)に基づきメッセージL+RC11+RC12+RC13を計算し、このメッセージL+RC11+RC12+RC13がクラスタC1に入力される。入力メッセージL+RC11+RC12+RC13には、クラスタC1(チェックノード1)で計算したメッセージRC11は含まれているが、L+RC11+RC12+RC13の中の一部であり、図8に示したように、L+RC11ではないため、その影響は抑制され、図8の場合よりも、復号特性を向上させることができる。
本実施例では、イタレーション毎に、メッセージを計算するクラスタの順番を変えている。
一般には、N個のクラスタを処理遅延Dのチェックノードメッセージ計算部で処理する場合、第Xイタレーションの第Y番目に計算するクラスタは、一般式として、次式(7)で与えられる。
(((Y-1)+(X-1)*(N-D))%N)+1 (7)
ただし、%は剰余を表す。
次に本発明の第2の実施例を説明する。本発明の第2の実施例は、前記第1の実施例と同様、メッセージ計算するクラスタの順番をイタレーション毎に変える制御を行うとともに、さらに、チェックノードへ送信するメッセージ内において、以前に計算されたメッセージほど(チェックノードでメッセージ計算を行った時間が過去になるほど)、その影響が少なくなるように重み付けをすることにより、復号特性を向上させるようにしたものである。
本発明の第2の実施例においては、ビットノードからチェックノードへのメッセージの計算は、基本的に、上式(6)の近似を用いて行われ、1つのビットノードから、該1つのビットノードが接続する全てのチェックノードに対して同一のメッセージQ'n(k)(ただし、kは離散時刻)を出力する。チェックノードmからビットノードnへのメッセージRmnの計算は、上式(3)が用いられる。
本実施例においては、ビットノードからチェックノードへのメッセージ計算の近似式(6)を、次式(8)及び(9)のように変形している。
Figure 0004526451
Figure 0004526451
ただし、wは重み係数(1より小の正数)である。
ビットノードnは、時刻kにおいてLLRと状態量QSn(k)を保持し、その加算結果Q'n(k)を隣接する全てのチェックノードに対して送信する(上式(8)参照)。QSn(k)の初期値QSn(0)は0である。状態量QSn(k)は、前回(時刻k-1)のQSn(k-1)に重みwを乗算したもの(QSn(k-1)*w)と、今回受信したメッセージRm'nの総和(ΣRm'n)とを加算した結果で更新される(上式(9)参照)。
この重み付け処理により、メッセージ計算した時間が過去になるほど、そのメッセージの影響が少なくなる。このため、上式(6)の近似式を用いた場合と比べて、チェックノードに入力されるメッセージの内での、当該チェックノードから出力されたメッセージの割合が小さくなり、誤り訂正能力が向上する。
すなわち、本実施例では、イタレーション毎に、チェックノードメッセージ計算部でのメッセージ計算の順番を変え、さらに、チェックノードでメッセージ計算を行った時間が過去になるほど、チェックノードへ送信するメッセージの当該メッセージの影響が少なくなるように、重み付けをすることにより復号特性を向上させる。
式(1)の10x3検査行列Hで定義されるLDPC符号に即して、本発明の第2の実施例について説明する。図1に示すように、前記実施例と同様、上式(1)の10x3検査行列Hに対応して10個ビットノード(第1乃至第10ビットノードメッセージ計算部)と、3個のチェックノード(第1乃至第3チェックノードメッセージ計算部)から構成される。第1乃至第10ビットノードメッセージ計算部に入力される入力LLR(対数尤度比)は、通信路LLRである。
チェックノードmからビットノードnへのメッセージRmnをクラスタ単位で計算し、計算結果をQ'nに積算していく。この近似により、1つのビットノードからは、全ての隣接チェックノードに同一のメッセージが出力されることになり、メッセージ保存レジスタ、インターコネクトパスが大幅に削減できる。
第nビットノードメッセージ計算部(nは1〜3)では、ビットノードnからチェックノードへのメッセージの計算に、上式(8)、(9)を用いる。
第mチェックノードメッセージ計算部(mは1〜10)は、上式(3)にしたがって、チェックノードmからビットノードnへのメッセージRmnを計算する。
図3は、図1において、クラスタサイズを1とし(1クラスタあたり1チェックノード)、3つのチェックノードを3個のクラスタに分割している場合の動作タイミングを説明する図である。図2と同様、チェックノードにおけるメッセージ計算の処理遅延を2クロックサイクルとしている。
図3に示すように、第1イタレーションにおけるメッセージ計算順序はC1、C2、C3、第2イタレーションにおけるメッセージ計算順序はC2、C3、C1、第3イタレーションにおけるメッセージ計算順序はC3、C1、C2とされる。
第1イタレーションにおけるクラスタC1のメッセージRC11は2クロックおくれてクラスタC2のメッセージ計算時にビットノード1に出力される。第1イタレーションにおけるクラスタC2のメッセージRC12は2クロックおくれて、第2イタレーションのクラスタC2のメッセージ計算時にビットノード1に出力される。第1イタレーションにおけるクラスタC3のメッセージRC13は2クロックおくれて、第2イタレーションのクラスタC3のメッセージ計算時にビットノード1に出力される。
第2イタレーションでは、まずビットノード1においてメッセージL+RC11がクラスタC2に入力される。入力メッセージL+RC11には、クラスタC2(チェックノード2)で計算したメッセージRC12は含まれていず、短ループはない。
次に、第2イタレーションにおいて、クラスタC2からのメッセージRC12を受け取ったビットノード1において、式(8)、(9)に基づき、メッセージL+RC11*w+RC12を計算し、このメッセージL+RC11*w+RC12がクラスタC3に入力される。入力メッセージL+RC11*w+RC12には、クラスタC3(チェックノード3)で計算したメッセージRC13は含まれていず、短ループはない。
次に、第2イタレーションにおいて、クラスタC3からのメッセージRC13を受け取ったビットノード1において、式(8)、(9)に基づき、メッセージL+RC11*w2+RC12*w+RC13を計算し、このメッセージL+RC11*w2+RC12*w+RC13がクラスタC1に入力される。入力メッセージL+RC11*w2+RC12*w+RC13には、クラスタC1(チェックノード1)で計算したメッセージRC11は含まれているが、L+RC11*w2+RC12*w+RC13の中の一部であり、しかも、RC11*w2と重み係数wの2乗が乗算されているため、その割合がさらに小さく設定されている。このため、クラスタC1(チェックノード1)への入力メッセージL+RC11*w2+RC12*w+RC13内でのメッセージRC11の影響は抑制され、クラスタC1にメッセージ(L+RC11)が入力される構成の図8(B)の場合と比べて、特段に復号特性を向上させることができる。
図4は、本発明の復号回路の一実施例の構成を示す図である。図4には、n個のビットノードメッセージ計算部11〜1nと、スケジューラ8と、MCU(Message Computation Unit:「チェックノードメッセージ計算部」ともいう)9と、出力セレクタ10を備えている。スケジューラ8は、ビットノードメッセージ計算部1〜1の出力先のチェックノードを選択する。MCU9は、チェックノードを構成するコントローラである。MCU9の出力は、出力セレクタ10を介してビットノードメッセージ計算部11〜1nのうち選択されたビットノードメッセージ計算部に転送される。図4には、クラスタサイズが1の場合の構成が示されている。
ビットノードメッセージ計算部1は、セレクタ2と、加算器3と、乗算器4と、レジスタ5と、レジスタ7と、加算器6を備えている。レジスタ7は入力LLRを保持する。加算器6はレジスタ5(Reg1)の値と入力LLR(レジスタ7の出力)を加算する。なお、n個のビットノードメッセージ計算部1〜1は、同一構成とされる。
乗算器4は、レジスタ5(Reg1)の出力に重み係数wを乗ずる。レジスタ5に時刻k-1の状態量QSn(k-1)が格納されているとき、乗算器4はQSn(k-1)*wを出力する(上式(9)参照)。
加算器3は、乗算器4の出力(QSn(k-1)*w)と、MCU9からのメッセージRm'nを加算し、今回(時刻k)の状態量QSn(k)を求め(式(9)参照)、レジスタ5を更新する。なお、本実施例では、クラスタサイズが1の場合であるため、MCU9から着目するビットノードnに入力されるメッセージは一つしかない。このため、ΣRm'nの積算処理(上式(9)参照)は行われない。クラスタサイズが2以上の場合、加算器3は、複数のMCU9からのメッセージの積算結果(ΣRm'n)を乗算器4の出力(QSn(k-1)*w)と加算する。
加算器6は、LLR+QSn(k)を計算し、Q'n(k)として出力する(上式(8)参照)。
スケジューラ8は、イタレーション毎のクラスタ(チェックノード)のメッセージ計算順番を切り替える。例えば図2、図3に示したように、第1イタレーションでは、C1、C2、C3、第2イタレーションでは、C2、C3、C1、第3イタレーションでは、C3、C1、C2等)を可変制御する。さらに、スケジューラ8は、ビットノードからのメッセージを、該ビットノードに接続する全てのチェックノードに供給するスイッチとして機能し、例えば図6のメッセージ伝達における、ビットノードからチェックノードへのメッセージのパスを切り替え制御する。
MCU9は、式(3)に基づき、メッセージRmnを計算して出力し、出力セレクタ10は、MCU9からのメッセージを宛先ビットノードに分配する。
出力セレクタ10は、例えば図5のメッセージ伝達における、チェックノードからビットノードへのメッセージのパスを切り替え制御する。
図3において、重み係数wの値を1とした場合の構成(あるいは、乗算器4を省略した構成)が、図2を参照して説明した本発明の第1の実施例の構成に対応する。重み係数wを、0<w<1とした場合が、図3を参照して説明した第2の実施例に対応する。
図3を参照して、図4の構成において、ビットノードメッセージ計算部11(ビットノード1)から出力されるメッセージについて説明する。セレクタ2の入力”0”は、式(9)の累算演算において、レジスタ5の初期化を行うための入力であり、セレクタ2で0が選択されレジスタ5に保持されると、加算器6の出力は、入力LLRの値Lであり、チェックノードにはメッセージLが入力される。
このとき、乗算器4の出力は0であり、チェックノードから送信されたメッセージRC11を受けると、加算器3の出力はRC11であり、セレクタ2は加算器3の出力を選択するため、レジスタ5にはRC11が格納され、加算器6で入力LLRの値Lと加算したメッセージL+RC11が、チェックノードに出力される。
そしてレジスタ5の出力RC11に乗算器4でwを乗算したRC11*wが、クラスタC2(チェックノード2)からのメッセージRC12を加算した結果RC11*w+RC12がセレクタ2で選択され、レジスタ5に保持される。加算器6は、メッセージL+RC11*w+RC12を出力する。以下同様にして、重みの累積処理が行われ、第2イタレーションにおいてビットノード1からチェックノード1には、L+RC11*w2+RC12*w+RC13が入力される。
なお、図4に示したビットノードメッセージ計算部のレジスタ、セレクタ、加算器、乗算器の処理は、コンピュータで実行させるプログラムで実現してもよい。スケジューラ、MCU、出力セレクタの処理もコンピュータプログラムで行ってもよい。このコンピュータプログラムは、コンピュータで機械読み出し可能な媒体等に記憶され、主記憶等にロードされ実行される。
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者がなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施例を説明する図である。 本発明の第1実施例の動作を説明する図である。 本発明の他の実施例の動作を説明する図である。 本発明の装置の一実施例を示す図である。 ターナーグラフの一例である。 クラスタサイズ1の場合のメッセージ伝達の様子を示す図である。 ループのあるターナーグラフである。 ビットノードとクラスタ間のメッセージを時系列で表したタイミング図である。
符号の説明
〜1n ビットノードメッセージ計算部
2 セレクタ
3 加算器
4 乗算器
5 レジスタ
6 加算器
7 レジスタ
8 スケジューラ
9 MCU
10 出力セレクタ

Claims (24)

  1. 入力された低密度パリティ検査符号から、低密度パリティ検査行列に対応した複数のチェックノード及び複数のビットノードの間でメッセージのやり取りをイタレーション毎に繰り返して復号しメッセージ計算式を近似しメッセージ数を削減したSum-Product-Algorithmを適用したLDPC復号装置であって、
    時間的に前と後の関係にある少なくとも2つのイタレーションのうち一のイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番とを変えるスケジュール部を備えている、ことを特徴とするLDPC復号装置。
  2. 一のビットノードから前記一のビットノードに接続された全てのチェックノードへ同一メッセージを渡すように制御する手段を備えている、ことを特徴とする請求項1記載のLDPC復号装置。
  3. N個のクラスタ(クラスタサイズが1のとき1クラスタあたり1チェックノード)を有し、メッセージ計算の処理遅延Dのチェックノードでメッセージ計算を行う場合、
    前記スケジュール部は、
    第Xイタレーションの第Y番目にメッセージを計算するクラスタを、
    (((Y-1)+(X-1)*(N-D))%N)+1
    (ただし、%は剰余を表す。)
    とする、ことを特徴とする請求項1記載のLDPC復号装置。
  4. 前記ビットノードから前記チェックノードに入力されるメッセージのうち前記チェックノードから前記ビットノードに入力されたメッセージに重み付けを行う手段を含む、ことを特徴とする請求項1記載のLDPC復号装置。
  5. 一のビットノードから前記一のビットノードに接続された全てのチェックノードへ同一メッセージを渡すように制御する手段と、
    前記ビットノードが、前記チェックノードに入力されるメッセージ内において、前記チェックノードから出力されたメッセージの割合が少なくなるように制御する手段と、
    を備えている、ことを特徴とする請求項4記載のLDPC復号装置。
  6. 前記チェックノードで過去に計算されたメッセージほど、前記メッセージの影響が少なくなるようにする、ことを特徴とする請求項4記載のLDPC復号装置。
  7. 前記ビットノードが、前記チェックノードから受け取ったメッセージを保持し、以降、前記チェックノードからメッセージを受け取るたびに、前記保持するメッセージに対して1よりも小の正値の重みを乗算し乗算結果を保持する手段を備えている、ことを特徴とする請求項4記載のLDPC復号装置。
  8. 前記ビットノードは、チェックノードからi回目(iは2以上の正数)にメッセージを受け取った際に、重み係数をwとして、チェックノードからj回目(ただし、jは1以上でiより小の整数)に受け取ったメッセージに対してw(i−j)を乗じたものと、i回目(iは2以上の正数)の前記メッセージに基づき、前記チェックノードへのメッセージを計算する、ことを特徴とする請求項7記載のLDPC復号装置。
  9. 入力された低密度パリティ検査符号から、低密度パリティ検査行列に対応した複数のチェックノード及び複数のビットノードの間でメッセージのやり取りをイタレーション毎に繰り返して復号しメッセージ計算式を近似しメッセージ数を削減したSum-Product-Algorithmを適用したLDPC復号装置において、
    一のビットノードから、前記一のビットノードに接続された全てのチェックノードへ同一メッセージを渡すように制御する手段と、
    時間的に前と後の関係にある少なくとも2つのイタレーションのうち一のイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番とを変えることで、前記チェックノードに入力されるメッセージ内における、前記チェックノードと同一のチェックノードから以前に出力されたメッセージの割合が少なくなるように制御する手段と、
    を備えている、ことを特徴とするLDPC復号装置。
  10. 入力された低密度パリティ検査符号から、低密度パリティ検査行列に対応した複数のチェックノード及び複数のビットノードの間でメッセージのやり取りをイタレーション毎に繰り返して復号しメッセージ計算式を近似しメッセージ数を削減したSum-Product-Algorithmを適用したLDPC復号方法であって、
    時間的に前と後の関係にある少なくとも2つのイタレーションのうち一のイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番とを変える工程を含む、ことを特徴とするLDPC復号方法。
  11. 一のビットノードから前記一のビットノードに接続された全てのチェックノードに対して同一メッセージが渡される、ことを特徴とする請求項10記載のLDPC復号方法。
  12. N個のクラスタ(クラスタサイズが1のとき1クラスタあたり1チェックノード)を有し、メッセージ計算処理遅延Dのチェックノードでメッセージ計算を行う場合、第Xイタレーションの第Y番目にメッセージを計算するクラスタを、
    (((Y-1)+(X-1)*(N-D))%N)+1
    (ただし、%は剰余を表す。)とする、ことを特徴とする請求項10記載のLDPC復号方法。
  13. 前記ビットノードから前記チェックノードに入力されるメッセージのうち前記チェックノードから前記ビットノードに入力されたメッセージに重み付けを行う工程を含む、ことを特徴とする請求項10記載のLDPC復号方法。
  14. 一のビットノードから前記一のビットノードに接続された全てのチェックノードに対して同一メッセージを渡すように制御する工程と、
    前記ビットノードが、前記チェックノードに入力されるメッセージ内において、前記チェックノードから出力されたメッセージの割合が少なくなるように制御する工程と、
    を備えている、ことを特徴とする請求項13記載のLDPC復号方法。
  15. 前記チェックノードで過去に計算されたメッセージほど、前記メッセージの影響が少なくなるようにする、ことを特徴とする請求項13記載のLDPC復号方法。
  16. 前記ビットノードが、前記チェックノードから受け取ったメッセージを保持し、以降、前記チェックノードからメッセージを受け取るたびに、前記保持するメッセージに対して1よりも小の正値の重みを乗算し乗算結果を保持する工程を含む、ことを特徴とする請求項13記載のLDPC復号方法。
  17. 前記ビットノードは、チェックノードからi回目(iは2以上の正数)にメッセージを受け取った際に、重み係数をwとして、チェックノードからj回目(ただし、jは1以上でiより小の整数)に受け取ったメッセージに対してw(i−j)を乗じたものと、i回目(iは2以上の正数)の前記メッセージに基づき、前記チェックノードへのメッセージを計算する、ことを特徴とする請求項16記載のLDPC復号方法。
  18. 入力された低密度パリティ検査符号から、低密度パリティ検査行列に対応した複数のチェックノード及び複数のビットノードの間でメッセージのやり取りをイタレーション毎に繰り返して復号しメッセージ計算式を近似しメッセージ数を削減したSum-Product-Algorithmを適用したLDPC復号処理を実行するコンピュータに、
    時間的に前と後の関係にある少なくとも2つのイタレーションのうち一のイタレーションにおけるチェックノードのメッセージ計算の順番と、他のイタレーションにおけるチェックノードのメッセージ計算の順番とを変える処理を、実行させるプログラム。
  19. 請求項18記載のプログラムにおいて、
    N個のクラスタ(クラスタサイズが1のとき1クラスタあたり1チェックノード)を有し、メッセージ計算の処理遅延Dのチェックノードでメッセージ計算を行う場合、
    第Xイタレーションの第Y番目にメッセージを計算するクラスタを、
    (((Y-1)+(X-1)*(N-D))%N)+1
    (ただし、%は剰余を表す。)
    とする、ことを特徴とするプログラム。
  20. 請求項18記載のプログラムにおいて、
    前記ビットノードから前記チェックノードに入力されるメッセージのうち前記チェックノードから前記ビットノードに入力されたメッセージに重み付けを行う処理を、
    前記コンピュータに実行させるプログラム。
  21. 請求項20記載のプログラムにおいて、
    一のビットノードから前記一のビットノードに接続された全てのチェックノードへ同一メッセージを渡すように制御する処理と、
    前記ビットノードが、前記チェックノードに入力されるメッセージ内において、前記チェックノードから出力されたメッセージの割合が少なくなるように制御する処理と、
    を前記コンピュータに実行させるプログラム。
  22. 請求項20記載のプログラムにおいて、
    前記チェックノードで過去に計算されたメッセージほど、前記メッセージの影響が少なくなるようにする処理を、
    前記コンピュータに実行させるプログラム。
  23. 請求項20記載のプログラムにおいて、
    前記ビットノードが、前記チェックノードから受け取ったメッセージを保持し、以降、前記チェックノードからメッセージを受け取るたびに、前記保持するメッセージに対して1よりも小の正値の重みを乗算し乗算結果を保持する処理を、
    前記コンピュータに実行させるプログラム。
  24. 請求項23記載のプログラムにおいて、
    前記ビットノードは、チェックノードからi回目(iは2以上の正数)にメッセージを受け取った際に、重み係数をwとして、チェックノードからj回目(ただし、jは1以上でiより小の整数)に受け取ったメッセージに対してw(i−j)を乗じたものと、i回目(iは2以上の正数)の前記メッセージに基づき、前記チェックノードへのメッセージを計算する処理を、
    前記コンピュータに実行させるプログラム。
JP2005191153A 2005-06-30 2005-06-30 復号装置と方法並びにプログラム Expired - Fee Related JP4526451B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005191153A JP4526451B2 (ja) 2005-06-30 2005-06-30 復号装置と方法並びにプログラム
US11/476,679 US7805654B2 (en) 2005-06-30 2006-06-29 Decoding device and decoding method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005191153A JP4526451B2 (ja) 2005-06-30 2005-06-30 復号装置と方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007013519A JP2007013519A (ja) 2007-01-18
JP4526451B2 true JP4526451B2 (ja) 2010-08-18

Family

ID=37718942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005191153A Expired - Fee Related JP4526451B2 (ja) 2005-06-30 2005-06-30 復号装置と方法並びにプログラム

Country Status (2)

Country Link
US (1) US7805654B2 (ja)
JP (1) JP4526451B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647548B2 (en) * 2006-07-31 2010-01-12 Agere Systems Inc. Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture
FR2912574B1 (fr) * 2007-02-13 2010-09-17 Commissariat Energie Atomique Procede de decodage a passage de messages et a convergence forcee.
CN101803206B (zh) * 2008-08-15 2013-09-04 Lsi公司 近码字的rom列表解码
US8719686B2 (en) * 2011-11-22 2014-05-06 Lsi Corporation Probability-based multi-level LDPC decoder
US9944520B2 (en) 2013-01-15 2018-04-17 Alcatel Lucent Syndrome of degraded quantum redundancy coded states
US9286154B2 (en) 2013-06-07 2016-03-15 Alcatel Lucent Error correction for entangled quantum states
US9195536B2 (en) 2013-07-05 2015-11-24 Kabushiki Kaisha Toshiba Error correction decoder and error correction decoding method
US9762262B2 (en) 2014-06-18 2017-09-12 Alcatel Lucent Hardware-efficient syndrome extraction for entangled quantum states
JP2016144052A (ja) 2015-02-02 2016-08-08 株式会社東芝 復号装置および復号方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005347883A (ja) * 2004-05-31 2005-12-15 Toshiba Corp 復号装置および復号回路
JP2007013518A (ja) * 2005-06-30 2007-01-18 Nec Electronics Corp 復号装置と方法並びにプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3833545B2 (ja) * 2002-02-13 2006-10-11 三菱電機株式会社 通信システム、受信機、送信機および通信方法
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
EP1536568A1 (en) * 2003-11-26 2005-06-01 Matsushita Electric Industrial Co., Ltd. Belief propagation decoder cancelling the exchange of unreliable messages
US7191376B2 (en) * 2003-12-04 2007-03-13 Mitsubishi Electric Research Laboratories, Inc. Decoding Reed-Solomon codes and related codes represented by graphs
WO2006059688A1 (ja) * 2004-12-02 2006-06-08 Mitsubishi Denki Kabushiki Kaisha 復号装置及び通信装置
KR101390544B1 (ko) 2005-05-13 2014-04-30 닛본 덴끼 가부시끼가이샤 Ldpc 부호화 방식에 의한 인코더 및 디코더

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005347883A (ja) * 2004-05-31 2005-12-15 Toshiba Corp 復号装置および復号回路
JP2007013518A (ja) * 2005-06-30 2007-01-18 Nec Electronics Corp 復号装置と方法並びにプログラム

Also Published As

Publication number Publication date
JP2007013519A (ja) 2007-01-18
US20070033481A1 (en) 2007-02-08
US7805654B2 (en) 2010-09-28

Similar Documents

Publication Publication Date Title
JP4526450B2 (ja) 復号装置と方法並びにプログラム
JP4526451B2 (ja) 復号装置と方法並びにプログラム
JP4627317B2 (ja) 通信装置および復号方法
US7343548B2 (en) Method and apparatus for encoding and decoding data
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
JP4327731B2 (ja) 低密度パリティ検査符号を用いる符号化器と、その符号化方法
JP4389373B2 (ja) 2元巡回符号を反復型復号するための復号器
JP4821613B2 (ja) 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法
JP4519694B2 (ja) Ldpc符号検出装置及びldpc符号検出方法
US8205130B2 (en) Decoding apparatus
CN110771047B (zh) 具有f功能和g功能的llr域计算的极性解码器
CN106936444B (zh) 一种集合译码方法和集合译码器
CN112865812B (zh) 一种多元ldpc译码方法、计算机存储介质及计算机
JP5333233B2 (ja) 復号装置、データ蓄積装置、データ通信システム、および復号方法
Lin et al. An efficient fully parallel decoder architecture for nonbinary LDPC codes
US8572462B2 (en) Decoding apparatus and decoding method
US8762812B2 (en) Decoding device, decoding method, and program
Zhang et al. Fast factorization architecture in soft-decision Reed-Solomon decoding
JP5488472B2 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
JP6395658B2 (ja) 誤り訂正復号装置、受信装置及び誤り訂正復号方法
Zolotarev et al. High throughput software multithreshold decoder on GPU
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
EP2797237A1 (en) High speed add-compare-select circuit
Chen et al. FPGA implementation of a factorization processor for soft-decision reed-solomon decoding
KR101221062B1 (ko) 가변 usc 부호를 이용한 부호화 및 복호화 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

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: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100601

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

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees