JP5315693B2 - Ldpc符号化方式によるエンコーダ及びデコーダ - Google Patents

Ldpc符号化方式によるエンコーダ及びデコーダ Download PDF

Info

Publication number
JP5315693B2
JP5315693B2 JP2007528155A JP2007528155A JP5315693B2 JP 5315693 B2 JP5315693 B2 JP 5315693B2 JP 2007528155 A JP2007528155 A JP 2007528155A JP 2007528155 A JP2007528155 A JP 2007528155A JP 5315693 B2 JP5315693 B2 JP 5315693B2
Authority
JP
Japan
Prior art keywords
memory
minimum value
matrix
category
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
JP2007528155A
Other languages
English (en)
Other versions
JPWO2006120844A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007528155A priority Critical patent/JP5315693B2/ja
Publication of JPWO2006120844A1 publication Critical patent/JPWO2006120844A1/ja
Application granted granted Critical
Publication of JP5315693B2 publication Critical patent/JP5315693B2/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/1122Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule storing only the first and second minimum values per check node
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、誤り訂正符号化方式であるLDPC(Low-Density Parity-Check)符号化方式のデコーダ及びエンコーダに関するものである。
1962年にGallagerによりLDPC符号化方式が提案されている。LDPC符号とは線形符号でその検査マトリクスの殆どの要素が“0”であるものをいう。古典的な符号理論では検査マトリクスを定めて符号の設計を行っていた。符号化理論の新時代を担うと言われるターボ原理を発端とするLDPC符号化方式も同様の定義の仕方が可能である。しかし、本発明ではより本質を捉えたタナーグラフに基づく定義の仕方を用いることにする。
タナーグラフとは変数ノードとチェックノードと呼ばれる二種類のノードで符号を表現する二部グラフで、各ノードに接続している枝をエッジといい、各ノードに接続している枝の数をそのノードの次数と呼ぶ。この枝の総数は検査マトリクスの“1”の立っている数であって検査マトリクスの列方向の“1”の数を列重み、行方向の“1”の数を行重みという。LDPC符号化方式でこの検査マトリクスは一意ではない。LDPC符号化方式のデコードはこの検査マトリクスに依存しており、繰返し復号と呼ばれる方法で確率伝搬を計算することによって行われる。
近年、再発見されたLDPC符号を更にシャノン限界に肉薄するといわれる強力な誤り訂正能力として発展させた方法は、タナーグラフ上の各ノード間の確率伝搬計算において、グラフが持つ符号の局所的な構造に基づいた確率伝搬計算を伝播対象である対数尤度比(LLR)に対して行うに当たり、ランダム的に構成される符号と確率的繰り返し復号による方法で或る次数分布を持つLDPCと同じ符号のアンサンブルに対してLLRの確率密度関数の変化を繰り返し回数毎に計算する手法であるDE(Density Evolutionの略)を用いて次数分布を求めた点であり、非正則LDPC符号に対してこの手法を拡張し優れた次数分布を探索した点である。尚、ノードの次数が等しい正則グラフにより定まる符号を正則LDPC符号と呼び、次数が等しくない場合を非正則LDPCと同じ符号と呼ぶ。
タナーグラフ上の確率伝播計算はsum-productと呼ばれるメッセージ伝達型アルゴリズムが一般的であるが、これを忠実に実行しようとすると回路規模の増大を引き起こす。そこでMin(Max)Log領域における大胆な近似が行われている。尚、MaxLog領域における近似をLDPC符号ではminSumアルゴリズムとも呼ばれている。
以上説明した様に、シャノン限界に近い強力な誤り訂正能力を得ようとするにはDEに基づく次数分布に従った非正則LDPC符号を用いる必要がある。しかし、DEは元々符号長が事実上無限大の場合についての繰り返し復号特性限界を示すもので、実際には例えば少なくとも106〜107ビット程度の膨大な符号長を納める為のメモリが必要であり、更に、重み分布も100〜200程度の高い最大次数を必要としている。ここで次数が高いということは回路規模がそれだけ大きいことを意味している。
近年、移動通信等の通信分野で研究が著しく進められているが、それに伴い誤り訂正符号のエンコーダ及びデコーダの高性能化、高速化、効率化が強く求められている。しかしながら、シャノン限界に近い高性能化が実現出来たとしても移動体にとって現実的でないといった問題があった。
これに対して最近、非正則LDPC符号の高重み分布を下げる試みがなされており、その中にノードをカテゴリに分割して低重み分布で発生しやすいエラーフロアに対処する方法が取られている。尚、これらのカテゴリには重み1のノードを持つカテゴリや、変数ノードをパンクチャリングするカテゴリも含まれている。
また、sum―productの代わりにMin(Max)Log領域における大胆な近似を実現可能な回路規模のする為に用いられるが、その為に無視できない特性劣化を引き起こすといった問題があった。
更に、対向するエンコーダは、その生成マトリクスが喩え低重み分布による疎な検査マトリクスを用いたとしてもそれに反して殆ど確実に疎なマトリクスにならない。疎であるということは低複雑度を意味する。そこで疎な検査マトリクスを活かしつつ符号を生成する算法が「2001年、2月、アイ・イー・イー・イー・トランザクション・オン・インフォメーション・セオリ、第47巻、第2号、638〜656頁(IEEE Transactions on information theory Volume 47,Issue 2,pp.638-656 “Efficient encoding of low-density parity-check codes)」に開示されている。
特許文献1(特開2005−65271号公報)には、ターボ符号化方式における復号で使われるMax-Log-MAP と呼ばれるアルゴリズムが開示されている。LDPC符号化方式はターボ符号化方式と異なる方式であり、その符号化構造が全く異なる。只、繰り返し復号を行うという点で類似する。
繰り返し復号処理でのMaxLog 近似における重み付けであるが、特許文献1ではあたかも二つの重み付け(Wc、Wa)を行っている如くみえるが、二つの内の一方の重み付け(Wc)は受信信号における情報系列(Λc(xt、0))に対して行っているだけで繰り返し復号処理の間、この情報系列(Λc(xt、0))は同一の値を取る。即ち、繰り返し復号における確率伝播対象であるLLR とは無関係なものである。そもそも受信信号に対する重み付けは、情報系列やパリティ系列はもとより変復調における信号点マッピングを考慮して決めるべきものであって、繰り返し復号処理における確率伝播対象であるLLR とは別に考えるべきものである。この様に整理すると、この例での確率伝播対象であるLLR は外部対数尤度比(extrinxic LLR;以下外部LLRと略す。) 一つであることが分かる。ターボ符号におけるMax-Log-MAP でこの外部LLRに対して重み付け処理を行うことは既に公知の事実で、例えば、特許文献2(特許第3246484号公報)の第一図ではシフト加算によって0.75倍の重み付けを外部LLRに対して行い低複雑度で実現してる例が開示されている。
特許文献1の図5には、ハーフイタレーション毎の外部LLRに対して重み付け処理を行っている例が示されている。
即ち、特許文献1に開示される技術を含めて、基本的にターボ符号化方式の繰り返し復号は外部対数尤度比(extrinxic LLR)と呼ばれる一つの確率伝播対象に対して制御されているのである。
また、特許文献3(特開2004―266463号公報)にはLDPC符号化方式における解析の常套手段である密度発展法(Density Evolution)を、またこれも常套手段であるガウス近似法(Gaussin Approximation;以下GAと略す。)で行い、ラテン方陣を使った生成方法が開示されている。
即ち、特許文献3で用いている方法は“Symmetry condition“と呼ばれる関係が保存される確率伝播処理で、確率分布に対するトレースを平均値のみで行うことが出来、これで分散も同時にトレースしたことになるといった手法である。
2001年、2月、アイ・イー・イー・イー・トランザクション・オン・インフォメーション・セオリ、第47巻、第2号、638〜656頁(IEEE Transactions on information theory Volume 47,Issue2,pp.638-656 "Efficient encoding of low-density parity-check codes) 特開2005−65271号公報 特許第3246484号公報 特開2004―266463号公報
シャノン限界に近い強力な誤り訂正能力を得ようとするにはDEに基づく次数分布に従った非正則LDPC符号を用いる必要があるが、膨大な符号長を納める為のメモリが必要であり、回路規模が大きくなるという問題点がある。また、シャノン限界に近い高性能化が実現出来たとしても移動体にとって現実的でないといった問題があった。
非正則LDPC符号の高重み分布を下げる試みがなされているが無視できない特性劣化を引き起こすといった問題があった。
エンコーダには、疎なマトリクスが望まれるが、その生成マトリクスが喩え低重み分布による疎な検査マトリクスを用いたとしてもそれに反して殆ど確実に疎なマトリクスにならない。非特許文献1には疎な検査マトリクスを活かしつつ符号を生成する算法が開示されているものの、プログラムを作成する為の算法の開示されているのみで、高速動作が可能なアーキテクチャに対してはなんら触れられていない。
本発明は上述したような従来技術が有する問題点に鑑みてなされたものであって、移動通信等の通信分野で用いられる移動体で実装可能な回路規模で、シャノン限界に近い強力な誤り訂正能力を持つLDPC符号化方式を用いたデコーダ及びエンコーダを提供することを目的とするものである。
更に、上記を実現するに当たって各ノードをカテゴリ分割した場合で回路規模削減の為に確率伝搬計算をMaxLog近似(minSumアルゴリズムともいう)等の近似計算を用いた場合でも高性能を発揮する方法を提供することを目的とするものである。
更に、本発明は、高性能で高速化を実現するLDPCデコーダのアーキテクチャを提供することを目的とするものである。
更に、LDPCデコーダと対向するLDPCエンコーダでも回路規模の削減と高速化を実現する為の構成を提供することを目的とするものである。
本発明のLDPCデコーダは、複数のノードを数個のカテゴリに分類可能な疎な検査マトリクス、LDPC符号化方式におけるタナーグラフを用いて、各ノードを複数のカテゴリに分類し、繰り返し復号における確率伝播計算に際し前記カテゴリ毎に予め決定された重み付けを伝播対象である対数尤度比(以下LLRと略す)に対して行うことを特徴として構成される。
この場合、前記繰り返し復号における確率伝搬計算は、minSumアルゴリズムであって各カテゴリに属する検査マトリクスの列重みに合わせて重み付けする値を決定することとしてもよい。
また、前記タナーグラフとして、前記複数のカテゴリ内にRA構造のカテゴリを有し、該カテゴリの重み付けは他のカテゴリの重み付けより大きくしてもよい。
本発明の他の形態によるLDPCデコーダは、複数のノードを数個のカテゴリに分類可能な疎な検査マトリクス、LDPC符号化方式におけるタナーグラフを用いて、グラフを構成する各ノードを、その検査マトリクスの列重みによる複数のグループ分けし、繰り返し復号における確率伝播計算に際しては、前記グループ毎に決定された重み付けを伝播対象である対数尤度比(LLR)に対して行うことを特徴として構成される。
本発明の他の形態によるLDPCデコーダは、複数のノードを数個のカテゴリに分類可能な疎な検査マトリクス、LDPC符号化方式におけるタナーグラフを用いて、各ノードを複数のカテゴリに分類し、各カテゴリに属する検査マトリクスの重み分布に合わせて伝播対象である対数尤度比(LLR)を格納するメモリバンクの分割数を変えて該対数尤度比へのパラレルアクセスを可能にしたことを特徴とする。
この場合、LDPC符号化方式におけるタナーグラフを用いて、各ノードは複数のカテゴリに分類することが可能であって、各カテゴリに属する検査マトリクスの重み分布に合わせて伝播対象である対数尤度比(LLR)を格納するメモリバンクの分割数を変える構造を有し、前記対数尤度比へのパラレルアクセスを行う際、FIFO機能を有するキャッシング回路を介して行われることとしてもよい。
また、前記繰り返し復号における確率伝搬計算をminSumアルゴリズムによって行う際、第1の最小値検出回路によって第1の最小値を検出し、該検出された第1の最小値に対応する入力をマスクして第2の最小値を検出する第2の最小値検出回路を有し、第1及び第2の最小値回路をパイプライン構造によって構成することにより等価的に一クロックで近似計算を実行することとしてもよい。
また、前記繰り返し復号における確率伝搬計算をminSumアルゴリズムによって行う際、変数ノード分のLLRを一時保存する第1のメモリと、請求項7記載の第1の最小値及び第2の最小値とその入力の2を法とする極性和を保存するチェックノード分の第2のメモリを有し、該第1のメモリへの入力は、請求項7記載の第1の最小値及び第2の最小値を元にタナーグラフによって決定される接続に基づいて該第1のメモリの保存値に加算することによって順次行われ、該第1のメモリは、請求項2記載のカテゴリ分けがなされていて、カテゴリ毎に予め決められた重み付けを該第1のメモリ出力に対して行われ、その重み付けされたLLRと受信値LLRとを加算した後、前記第2のメモリ蓄積結果である第1の最小値及び第2の最小値と2を法とする極性和を元にタナーグラフによって決定される接続情報によって選択される値を差引き、再びminSumアルゴリズムを行う繰り返し復号を行なうこととしてもよい。
また、前記カテゴリ毎の重み付けを前記第1のメモリ出力ではなく、該第1のメモリ入力か若しくはminSumアルゴリズム出力に逆戻る迄の経路に施すこととしてもよい。
また、前記タナーグラフによって決定される接続情報は、検査マトリクスにおける1の位置をインデックスの形で保存することとしてもよい。
また、バリアブルノード分のLLRを一時保存する第1のメモリを2面持ち、更に第1の最小値及び第2の最小値とその入力の2を法とする極性和を保存するチェックノード分の第2のメモリを二面持ち、どちらか一方のメモリを出力として用いている場合は他のメモリを入力として用いて、繰り返し復号における繰り返しサイクル毎に交互に該メモリの入力と出力を入れ替えることとしてもよい。
本発明のLDPCエンコーダは、
複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスHの行列操作によって対角要素に1を持つ下三角マトリクスTを含む上三角零マトリクス
Figure 0005315693
なる関係を持つマトリクスA,B,Tを得る手段1を有し、更に該上三角零マトリクスより
Figure 0005315693
なるマトリクスFを得る手段2を有し、該手段1及び2は予め計算されるオフライン処理であって、その結果得られたマトリクスFの要素1の位置をインデックスの形で蓄積するメモリ1と、情報ビット系列Sが格納されているメモリ2と第1の行カウンタを有しており、該第1の行カウンタによってアドレッシングされた前記メモリ1が出力されるインデックスによって更にアドレッシングされる前記メモリ2の出力を排他的論理和することによって第1のパリティ系列p1を得る第1の回路を有しており、該パリティ系列p1と前記オフライン処理で得られたマトリクスBの積を取り、前記情報ビット系列Sと前記オフライン処理で得られたマトリクスAの積を取って排他的論理和することによって
Figure 0005315693
なる系列を格納するメモリ3を有し、前記オフライン処理で得られたマトリクスTの要素1の位置をインデックスの形で蓄積するメモリ4と、第2のパリティ系列p2が格納されるメモリ5と第2の行カウンタを有し、該第2の行カウンタによってアドレッシングされた前記メモリ4が出力されるインデックスによって更に逐次読み出しアドレッシングされる前記メモリ5の出力と、前記第2の行カウンタによってアドレッシングされるメモリ3の出力を排他的論理和をすることによって第2のパリティ系列p2を得て前記第2の行カウンタによって書き込みアドレッシングされる前記メモリ4へ書き込む第2の回路を有しており、前記オフライン処理と第2及び第2の回路によるオンライン処理によって符号化処理を行うことを特徴として構成される。
この場合、第2のパリティ系列p2が格納される前記メモリ5をマトリクスTの行重みの数分有したミラーメモリとし、マトリクスTの要素の1の位置がインデックスとして格納されているメモリ4は単位アドレスに対して行重み分のインデックスを出力するフォーマットであって、これらのインデックスを各ミラーメモリに対して読み出しアドレッシングすることによって行重み分の排他的論理和を一度に行うこととしてもよい。
本発明の他の形態によるLDPCデコーダは、符号を変数ノードとチェックノードにより表現するタナーグラフを用いたLDPCデコーダであって、
複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスの列重みによって複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第1の変数ノードメモリと、
前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンクを備えた第2の変数ノードメモリと、
前記第2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象である対数尤度比に応じて決定する重み付け処理部と、
前記第1の変数ノードメモリおよび第2の変数ノードメモリの各カテゴリ毎の格納内容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比として前記前記第1の変数ノードメモリおよび重み付け処理部へ出力するチェックノード処理手段と、
を有することを特徴とする。
この場合、チェックノード処理部での前記繰り返し復号における確率伝搬計算は、minSumアルゴリズムによって行なわれ、各カテゴリに属する検査マトリクスの列重みに合わせて重み付けする値を決定するとしてもよい。
また、前記複数のカテゴリ内にRA構造のカテゴリを有し、該カテゴリの重み付けは他のカテゴリの重み付けより大きくしてもよい。
本発明の他の形態によるLDPCデコーダは、符号を変数ノードとチェックノードにより表現するタナーグラフを用いたLDPCデコーダであって、
複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスの列重みによって複数のグループに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第1の変数ノードメモリと、
前記複数のグループ毎の重み付け値を各グループ毎に格納する複数のメモリバンクを備えた第2の変数ノードメモリと、
前記第2の対数ノードメモリに格納される各グループ毎の重み付け値を伝播対象である対数尤度比に応じて決定する重み付け処理部と、
前記第1の変数ノードメモリおよび第2の変数ノードメモリの各グループ毎の格納内容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比として前記前記第1の変数ノードメモリおよび重み付け処理部へ出力するチェックノード処理手段と、
を有することを特徴とする。
本発明の他の形態によるLDPCデコーダは、符号を変数ノードとチェックノードにより表現するタナーグラフを用いたLDPCデコーダであって、
複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第1の変数ノードメモリと、
前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンクを備えた第2の変数ノードメモリと、
前記第2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象である対数尤度比に応じて決定する重み付け処理部と、
前記第1の変数ノードメモリおよび第2の変数ノードメモリの各カテゴリ毎の格納内容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比として前記前記第1の変数ノードメモリおよび重み付け処理部へ出力するチェックノード処理手段と、
を有し、
前記第1の変数ノードメモリのメモリバンクの数は各カテゴリに属する、複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスの重み分布に合わせて変更可能とされ、これにより前記第1の変数ノードメモリへのパラレルアクセスが可能であることを特徴とする。
この場合、前記第1の変数ノードメモリへのパラレルアクセスを行うFIFO機能を有するキャッシング回路を備えることとしてもよい。
また、チェックノード処理手段は、
第1の最小値検出回路によって第1の最小値を検出する第1の最小値回路と、
前記第1の最小値回路により検出された第1の最小値に対応する入力をマスクして第2の最小値を検出する第2の最小値検出回路と、を有し、
前記第1及び第2の最小値回路はパイプライン構造とされて等価的に1クロックで近似計算を実行するとしてもよい。
また、チェックノード処理手段は、
前記複数のカテゴリに分類された前記第1の変数ノードメモリおよび重み付け処理部へ出力する対数尤度比を一時保存する第1のメモリと、
前記第1の最小値及び第2の最小値と、その入力の2を法とする極性和を保存するチェックノード分の第2のメモリと、
を有し、
前記第1のメモリへの入力が、前記第1の最小値及び第2の最小値を元にタナーグラフによって決定される接続に基づいて該第1のメモリの保存値に加算することが順次行ない、
各カテゴリ毎に予め決められた重み付けを該第1のメモリ出力に対して行い、その重み付けされたLLRと受信値LLRとを加算した後、前記第2のメモリ蓄積結果である第1の最小値及び第2の最小値と2を法とする極性和を元にタナーグラフによって決定される接続情報よって選択される値を差引き、再びminSumアルゴリズムを行う繰り返し復号を行なうこととしてもよい。
また、チェックノード処理手段は、
前記複数のカテゴリに分類された前記第1の変数ノードメモリおよび重み付け処理部へ出力する対数尤度比を一時保存する第1のメモリと、
前記第1の最小値及び第2の最小値と、その入力の2を法とする極性和を保存するチェックノード分の第2のメモリと、
を有し、
前記第1のメモリへの入力が、前記第1の最小値及び第2の最小値を元にタナーグラフによって決定される接続に基づいて該第1のメモリの保存値に加算することが順次行ない、
各カテゴリ毎に予め決められた重み付けを前記第1のメモリ入力若しくはminSumアルゴリズム出力に逆戻る迄の経路に対して行い、その重み付けされたLLRと受信値LLRとを加算した後、前記第2のメモリ蓄積結果である第1の最小値及び第2の最小値と2を法とする極性和を元にタナーグラフによって決定される接続情報よって選択される値を差引き、再びminSumアルゴリズムを行う繰り返し復号を行なうこととしてもよい。
この場合、前記タナーグラフによって決定される接続情報は、検査マトリクスにおける1の位置をインデックスの形で保存することとしてもよい。
また、前記第1の変数ノードメモリと前記第2の変数ノードメモリ、および、前記第1のメモリと第2のメモリは、どちらか一方を出力として用いている場合には他方が入力として用いられ、繰り返し復号における繰り返しサイクル毎に交互に入力と出力が入れ替えられるとしてもよい。
本発明の他の形態によるLDPCエンコーダは、予め計算されるオフライン処理によって、複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスHの行列操作により対角要素に1を持つ下三角マトリクスTを含む上三角零マトリクス
Figure 0005315693
なる関係を持つマトリクスA,B,Tを得る第1の手段と、
前記上三角零マトリクスより、予め計算されるオフライン処理によって
Figure 0005315693
なるマトリクスFを得る第2の手段と、を備え、
前記第1の手段および第2の手段により得られたマトリクスFの第1の要素の位置をインデックスの形で蓄積する第1のメモリと、
情報ビット系列Sが格納されている第2のメモリと、
第1の行カウンタと、
前記第1の行カウンタによってアドレッシングされた前記第1のメモリが出力するインデックスによってアドレッシングされた前記第2のメモリの出力の排他的論理和をとることによって第1のパリティ系列p1を得る第1の回路と、
前記第1のパリティ系列p1と前記オフライン処理で得られたマトリクスBの積を取り、前記情報ビット系列Sと前記オフライン処理で得られたマトリクスAの積を取って排他的論理和をとることによって得られた
Figure 0005315693
なる系列を格納する第3のメモリと、
前記マトリクスTの第1の要素の位置をインデックスの形で蓄積する第4のメモリと、
第2のパリティ系列p2が格納される第5のメモリと、
第2の行カウンタと、
前記第2の行カウンタによってアドレッシングされた前記第4のメモリが出力するインデックスによって逐次読み出しがアドレッシングされる前記第5のメモリの出力と、前記第2の行カウンタによってアドレッシングされる前記第3のメモリの出力の排他的論理和をとることによって前記第2のパリティ系列p2を得て前記第2の行カウンタによって書き込みアドレッシングされる前記第5のメモリへ書き込む第2の回路と、を有し、
前記オフライン処理と第1及び第2の回路によるオンライン処理によって符号化処理を行うことを特徴とする。
この場合、第2のパリティ系列p2が格納される前記第5のメモリがマトリクスTの行重みの数分有したミラーメモリであり、
マトリクスTの要素の1の位置がインデックスとして格納されている第4のメモリは単位アドレスに対して行重み分のインデックスを出力するフォーマットであって、これらのインデックスを各ミラーメモリに対して読み出しアドレッシングすることによって行重み分の排他的論理和をとることを一度に行うこととしてもよい。
本発明のLDPCデコーダは、タナーグラフにおいて各ノードが複数のカテゴリに分類することが可能であって、繰り返し復号における確率伝播計算に際し前記カテゴリ毎に予め決定された重み付けを伝播対象である対数尤度比(以下LLRと略す)に対して行うことが出来るので、カテゴリ毎に異なるLLRの確率分布の偏りを補正することが出来、性能を向上させることが出来る。
更に本発明のLDPCデコーダは、前記繰り返し復号における確率伝搬計算がMaxLog近似(或いはminSumアルゴリズムともいう)であって、各カテゴリに属する検査マトリクスの列重みに合わせて重み付けする値を決定することが出来るので、LLRの確率分布の偏りの原因である列重みの違いに合わせてLLRの偏りを補正することが出来、性能を向上させることが出来る。
更に本発明のLDPCデコーダは、前記タナーグラフにおいて、前記複数のカテゴリ内にRA構造(Repeat Accumulate構造の略でジグザグ構造ともいう)のカテゴリを有しており、該カテゴリの重み付けは他のカテゴリの重み付けより大きくするので、RA構造を導入したことによる特性向上効果と、LLRの偏りの大きい他のカテゴリとの差を補正することが出来、更に性能を向上させることが出来る。
更に本発明のLDPCデコーダは、LDPC符号化方式におけるタナーグラフおいて、グラフを構成する各ノードがその検査マトリクスの列重みによる複数のグループ分け可能であって、繰り返し復号における確率伝播計算に際しては、前記グループ毎に決定された重み付けを伝播対象である対数尤度比(LLR)に対して行う様にしているのでLLRの偏りをグループ毎に統一することが出来、適切な重み付けによる補正を掛けることが出来、性能を向上させる効果がある。
更に本発明のLDPCデコーダは、LDPC符号化方式におけるタナーグラフおいて、各ノードが複数のカテゴリに分類可能であって、各カテゴリに属する検査マトリクスの重み分布に合わせて伝播対象である対数尤度比(LLR)を格納するメモリバンクの分割数を変えて該対数尤度比へのパラレルアクセスを 可能にしているので、最適なメモリバンクの分割による低複雑度で効率的な高速動作を可能にする効果がある。
更に本発明のLDPCデコーダは、LDPC符号化方式におけるタナーグラフおいて、各ノードが複数のカテゴリに分類可能であって、各カテゴリに属する検査マトリクスの重み分布に合わせて伝播対象である対数尤度比(LLR)を格納するメモリバンクの分割数を変える構造を有し、前記対数尤度比へのパラレルアクセスを行う際FIFO機能を有するキャッシング回路を介して行われるので、一時的にアクセスが集中するタイミングが生じても平均化出来、メモリバンクの分割数の増加やオンチップバスの本数を削減させてLSIのチップ面積を削減出来、コスト低減を可能にする効果がある。
更に本発明のLDPCデコーダは繰り返し復号における確率伝搬計算をMaxLog近似(minSumアルゴリズムともいう)によって行う際、第1の最小値検出回路によって第1の最小値を検出し、該検出された第1の最小値に対応する入力をマスクして第2の最小値を検出する第2の最小値検出回路を有し、第1及び第2の最小値回路をパイプライン構造によって構成することにより等価的に一クロックで近似計算を実行することが出来るので高速動作を少ない回路規模で実現出来る効果がある。
更に本発明のLDPCデコーダは繰り返し復号における確率伝搬計算をMaxLog近似(minSumアルゴリズムともいう)によって行う際、変数ノード分のLLRを一時保存する第1のメモリと、特許請求の範囲第七項記載の第1の最小値及び第2の最小値とその入力の2を法とする極性和を保存するチェックノード分の第2のメモリを有し、該第1のメモリへの入力は、第1の最小値及び第2の最小値を元にタナーグラフによって決定される接続に基づいて該第1のメモリの保存値に加算することによって順次行われ、該第1のメモリは、カテゴリ分けがなされていて、カテゴリ毎に予め決められた重み付けを該第1のメモリ出力に対して行われ、その重み付けされたLLRと受信値LLRとを加算した後、前記第2のメモリ蓄積結果である第1の最小値及び第2の最小値と2を法とする極性和を元にタナーグラフによって決定される接続情報よって選択される値を差し引いた後、再びMaxLog近似(minSumアルゴリズムともいう)を行う繰り返し復号を実現出来るので、少ないメモリ構成並びに近似による回路規模削減効果、並びに高速化、更に適切な重み付け補正によって性能を向上させる効果がある。
更に本発明のLDPCデコーダは、前記カテゴリ毎の重み付けを前記第1のメモリ出力ではなく、該第1のメモリ入力か若しくはMaxLog近似(minSumアルゴリズムともいう)出力に逆戻る迄の経路に対し施すことを考慮してるのでLDPCデコーダの設計に際し自由度を持たせる効果がある。
更に本発明のLDPCデコーダは、前記タナーグラフによって決定される接続情報は、検査マトリクスにおける1の位置をインデックスの形で保存する形態をとっているので、少ないメモリ容量で接続情報を保持し回路規模を削減する効果がある。
更に本発明のLDPCデコーダは、バリアブルノード分のLLRを一時保存する第1のメモリを2面持ち、更に特許請求の範囲第七項記載の第1の最小値及び第2の最小値とその入力の2を法とする極性和を保存するチェックノード分の第2のメモリを二面持ち、どちらか一方のメモリを出力として用いている場合は他のメモリを入力として用いて、繰り返し復号における繰り返しサイクル毎に交互に該メモリの入力と出力を入れ替える形態をとっているので、効率的なメモリの使用で、スピードを倍増させることが出来る。
更に本発明のLDPCエンコーダは、検査マトリクスHの行列操作によって対角要素に“1”を持つ 下三角マトリクスTを含む上三角零マトリクス
Figure 0005315693
なる関係を持つマトリクスA,B,Tを得る手段1を有し、更に上三角零マトリクスより
Figure 0005315693
なるマトリクスFを得る手段2を有しており、該手段1及び2は予め計算されるオフライン処理であって、その結果得られたマトリクスFの要素1の位置をインデックスの形で蓄積するメモリ1と、情報ビット系列Sが格納されているメモリ2と第1の行カウンタを有しており、該第1の行カウンタによってアドレッシングされたメモリ1が出力されるインデックスによって更にアドレッシングされる前記メモリ2の出力を排他的論理和することによって第1のパリティ系列p1を得る第1の回路を有しており、パリティ系列p1と前記オフライン処理で得られたマトリクスBの積を取り、情報ビット系列Sと前記オフライン処理で得られたマトリクスAの積を取って排他的論理和することによって
Figure 0005315693
なる系列を格納するメモリ3を有しており、前記オフライン処理で得られたマトリクスTの要素1の位置をインデックスの形で蓄積するメモリ4と、第2のパリティ系列p2が格納されるメモリ5と第2の行カウンタを有し、該第2の行カウンタによってアドレッシングされた前記メモリ4が出力されるインデックスによって更に逐次読み出しアドレッシングされる前記メモリ5の出力と、前記第2の行カウンタによってアドレッシングされるメモリ3の出力を排他的論理和をすることによって第2のパリティ系列p2を得て第2の行カウンタによって書込アドレッシングされるメモリ4へ書き込む第2の回路を有し、オフライン処理と第1及び第2の回路によるオンライン処理によって符号化処理を行う形態をとっているので、疎な検査マトリクスの有効性を保持して得られる効果が有り、少ないメモリ容量と簡単な排他的論理和による少ない回路規模でエンコード処理を実現出来る効果がある。
更に本発明のLDPCエンコーダは、第2のパリティ系列p2が格納される前記メモリ5をマトリクスTの行重みの数分有したミラーメモリとし、マトリクスTの要素の1の位置がインデックスとして格納されているメモリ4は、単位アドレスに対して行重み分のインデックスを出力するフォーマットであって、これらのインデックスを各ミラーメモリに対して読出しアドレッシングすることによって行重み分の排他的論理和を一度に行うことが出来るので、エンコード処理を高速に行う効果がある。
本発明のLDPC符号化方式は、特許文献1に開示されるターボ符号とは全く異なる符号化構造であって、タナーグラフと呼ばれる二部グラフ上の確率伝播を計算することによって繰り返し復号が実行される。この繰り返し復号における確率伝播計算に際しタナーグラフを構成するノードを複数のカテゴリに分類し、分類したカテゴリ毎に独立に予め決められた重み付けを伝搬対象である対数尤度比に対して行っているのが本発明である。これによってエラーフロアの解消のみならず高性能化を実現しているのである。本発明はMaxLog近似(minSumアルゴリズム)による非線形処理を解析するものであるからもはや“Symmetry condition“の関係が保存されておらず、本発明の手法を用いる必要がある。
本発明はLDPC符号化方式のエンコーダとデコーダであってその解析法の権利化は行っていない。また本発明の理論的裏付けとなる解析方法も特許文献3とは異なるもので、特許文献3に開示される解析方法では本発明の符号化方式の解析は出来ない。
以上説明した様に、本発明のLDPC符号化方式によるエンコーダ及びデコーダは、移動通信等の通信分野でも実現可能な回路規模で高性能化、高速化、効率化を実現出来る手段を提供出来る。
その為に、タナーグラフの各ノードを複数のカテゴリに分類して低重み分布による処理規模削減を行って、更に、sum-productの代わりにMin(Max)Log領域における大胆な近似によって回路規模の大幅な削減が有効であるが、その為に引き起こされる性能劣化を生ずることなく高性能化、高速化、効率化出来る手段を提供出来る。
更に、本発明により低重み分布の検査マトリクスで高性能化、高速化、及び効率化を備えたデコーダを提供出来るが、エンコーダもまた同低重み分布の検査マトリクスの恩恵を得、高速に動作するアーキテクチャを実現出来る手段を提供出来る。
本発明のLDPC符号化方式によるデコーダの実施形態を示す図である。 図1に示したデコーダの具体的な回路構成を示す図である。 本発明のLDPC符号化方式によるカテゴリに分類されたタナーグラフ(ソケットモデル)の一例を示す図である。 本発明のLDPC符号化方式によるカテゴリに分類された検査マトリクスの一例を示す図である。 本発明のLDPC符号化方式によるカテゴリに分類された変数ノード及びチェックノードの重み分布の一例を示す図である。 本発明のLDPC符号化方式によるカテゴリ毎に重み付けした方式の効果を示すモンテカルロシミュレーションによるビット誤り率特性を示す図である。 従来の単一の重み付け方式を用いたモンテカルロシミュレーションによるビット誤り率特性を示す図である。 チェックノード処理におけるHyperbolic tangent ruleとそれを簡易化したMin(Max)Log領域で近似した回路を示す図である。 本発明のLDPC符号化方式によるエンコーダアーキテクチャの第1の回路を示す図である。 本発明のLDPC符号化方式によるエンコーダアーキテクチャの第2の回路を示す図である。 本発明のLDPC符号化方式によるエンコーダアーキテクチャの第2の回路を高速化した回路を示す図である。
符号の説明
101 変数ノードLLRを格納するメモリ
102 変数ノードLLRを格納するメモリ
103 重み付け処理部
104 減算器
105 チェックノード処理部
106 チェックノードメモリ
107 重み付け処理部
801 第1のメモリ
802 第2のメモリ
803 第1の行カウンタ
804 排他的論理和
805 遅延素子
806 パリティ系列p1用メモリ
901 第三のメモリ
902 第四のメモリ
903 第五のメモリ
904 行カウンタ
905 排他的論理和
906 遅延素子
907 セレクタ
1001 第三のメモリ
1002 第四のメモリ
1003 第五のメモリ
1003−1、2 ミラーメモリ
1004 第2の行カウンタ
1005 排他的論理和
次に、本発明の実施形態について式と図面を参照しながら説明する前に、先ず、本発明の裏付けとなる解析をMaxLog近似(minSumアルゴリズムともいう)よって生じる非線形処理を含む密度発展法(Density Evolution;以下DEと略す。)による解析的結果を交えて説明する。
先ず、Gaussian Approximation(以下GAと略す)による通常のDEと非線形処理を含むDEとの違いについて説明する。
通常のGAではsumproductによる繰り返し復号過程を前提として、伝播対象であるLLRの平均値をトレースすることによって行われる。即ち、列重みiのシンボルvに対してその平均値mv、iは、
Figure 0005315693
アンサンブル平均で考えて変数ノードの次数分布を
Figure 0005315693
とすると以下の関係を得る。
Figure 0005315693
ここで、以下に説明する分散と平均値の条件
Figure 0005315693
を用いて、
Figure 0005315693
Figure 0005315693
なるΦ(x)を用いると、
Figure 0005315693
となる。従って以下の関係を得る。
Figure 0005315693
又sum-product復号法における”tanh rule”により行重みjのシンボルuに対してその平均値mu、jは、
Figure 0005315693
アンサンブル平均で考えてチェックノードの次数分布を
Figure 0005315693
とすると
Figure 0005315693
で上記Φ(x)を用いると
Figure 0005315693
Figure 0005315693
であるから結局、
Figure 0005315693
更に(5)式の
Figure 0005315693
を用いると、
Figure 0005315693
を得る。更に(1)式の
Figure 0005315693
を用いると、以下の非正則に対する再帰式を得る。
Figure 0005315693
予め与えられた次数プロファイルの元で再起式である上記(9)式により繰り返し復号過程における平均的な振る舞いをみることが出来る。時間的に無限大へ発展していけばエラーフリーになるし、途中で発展がストップすればエラーフリーを実現することが出来ないということである。その境目を反復閾値(Threshold)と呼びその時の受信値LLR平均
Figure 0005315693
に対応するE/Nがエラーフリー実現に必要なレベルとなる。
ここで、上式の発展過程をトレースするパラメータは一変数のみで良い。これは以下の分かり易い例から見て取ることが出来る。今行重dの場合のHyperbolic Tangent Ruleを考えると、
Figure 0005315693
であるから、左辺の確率変数uに対する統計的性質(分散σ 2と平均値m)と右辺の確率変数
Figure 0005315693
に対する統計的性質(分散σ 2と平均値m)によって期待値を考える必要がある。そこで先ず右辺の分散を考えると、
Figure 0005315693
ここで
Figure 0005315693
は互いに独立で同じ統計的性質を持つとすると、
Figure 0005315693
ここで、
Figure 0005315693
両式の差は、
Figure 0005315693
上式において固定値は”0”になるかどうかにおいて関係ないので省略し、tanhを指数表現により非積分項を見ると以下の様になる。
Figure 0005315693
上式の最後の
Figure 0005315693
は積分変数を含ず固定値なので省略して、残った非積分関数を
Figure 0005315693
とおいて、
Figure 0005315693
この関数の対象関数f(−x)は
Figure 0005315693
となって非積分関数
Figure 0005315693
は奇関数であることが分かる。従って
Figure 0005315693
となって、任意の
Figure 0005315693
なるGAにおいて
Figure 0005315693
従って(10)式の分散の第1項は、
Figure 0005315693
従って(10)式の分散は、
Figure 0005315693
次に左辺の確率変数uに対する統計的性質(分散σ 2と平均値m)で左辺の分散を考えると、
Figure 0005315693
結局左辺右辺の関係は
Figure 0005315693
より
Figure 0005315693
であるから
Figure 0005315693
となりうる両辺の統計的性質(分散σ 2と平均値m)と(分散σ 2と平均値m)によって平衡状態が保たれるようになる。即ち、この条件が成り立つ統計的性質(分散σ 2と平均値m)を持つuが出力である。
一方、平均値の方は、上記の結果と矛盾無く状態が保存されているかどうかを見ると、
Figure 0005315693
より右辺は
Figure 0005315693
、左辺は当然
Figure 0005315693
従って平均値の観点からは、
Figure 0005315693
となりうる両辺の統計的性質(分散σu 2と平均値mu)と(分散σv 2と平均値mv)によって平衡状態が保たれるようになる。即ち、この条件が成り立つ統計的性質(分散σu 2と平均値mu)を持つuが出力である。
(21)式と(22)式の関係を見ると、例えば(22)式の関係が成り立つ条件を使って(21)式の左辺を計算すると、
Figure 0005315693
となって(21)式と(22)式の関係、即ち、平均値と分散の関係が矛盾無く成り立っていることが分かる。即ちHyperbolic Tangent Ruleにおける平均値とその分散のトレースは、平均値のみのトレースでも分散も同時にトレースしたことになるので、一変数のみ観測するばよい。
この関係は互いに独立な確率変数として扱っているので、Φ(*)によって異なる統計的環境に対する確率変数に対しても成り立つ。従って、以下に示すカテゴリに分類したタナーグラフについてもそのまま使えることになる。以下カテゴリに分類したタナーグラフにおけるGAについて記す。
上述した従来の非正則LDPCのGAではアンサンブル平均した形で全てのLLRを単一の平均値で扱っていた。カテゴリに分類したタナーグラフでは、カテゴリ毎にアンサンブル平均しているので、その分詳細で正確な過程を評価することが出来る。即ち、変数ノードからチェックノードへ、且つ、チェックノードから変数ノードへのメッセージをカテゴリ毎に別けて考えている点である。今カテゴリの数をne個とし、カテゴリiの或一つの枝が出る方向として接続されているチェックノード(変数ノード)に対し、カテゴリj(≠i)の枝がdj本、カテゴリiの枝がdi-1本入る方向として接続されているものとする。この状態でのGAを考える。
SumProductによる各更新過程の平均値を追い掛ける訳であるが、カテゴリ別に分けて考える為、
Figure 0005315693
毎にそれぞれまとめた次数の
Figure 0005315693
のベクトル表現を用いる。即ち任意の次数dでカテゴリiの内列重diのメッセージV(i)dに対する平均値
Figure 0005315693
は、
Figure 0005315693
ここで、カテゴリiの枝の内で任意に選んだ次数
Figure 0005315693
のノードに接続している枝の割合を表記するのに当たって以下の関係を用いる。
Figure 0005315693
カテゴリiの枝の総数は
Figure 0005315693
であるから結局任意に選んだ次数
Figure 0005315693
のノードに接続している枝の割合は
Figure 0005315693
となる。
そこでカテゴリi内のアンサンブル平均で考えて以下の関係を得る。
Figure 0005315693
ここで、Φ(x)を用いると、
Figure 0005315693
従って以下の関係を得る。
Figure 0005315693
同様にカテゴリj(≠i)の枝がdj本、カテゴリiの枝がdi-1本入る方向として接続されているものとして、カテゴリ別に分けて考える為
Figure 0005315693
毎にそれぞれまとめた次数
Figure 0005315693
のベクトル表現を用いる。任意の次数dでカテゴリiの内列重diのLLRU(i)dに対する平均値
Figure 0005315693
は、sumProductにおける“tanh rule“を用いて、
Figure 0005315693
ここで、カテゴリiの枝の内で任意に選んだ次数
Figure 0005315693
のノードに接続している枝の割合を表記するに当たって以下の関係を用いる。
Figure 0005315693
カテゴリiの枝の総数は
Figure 0005315693
であるから結局任意に選んだ次数
Figure 0005315693
のノードに接続している枝の割合は
Figure 0005315693
となる。
そこでカテゴリi内のアンサンブル平均で考えて以下の関係を得る。
Figure 0005315693
Φ(x)を用いると
Figure 0005315693
で上式より、
Figure 0005315693
であるから結局、
Figure 0005315693
更に、上述の
Figure 0005315693
はjに対しても同様の考えが成り立つから、
Figure 0005315693
を得る。更に上述の、
Figure 0005315693
を用いると、カテゴリに分類したタナーグラフにおけるGAの下記再帰式を得る。
Figure 0005315693
予め与えられた次数プロファイル
Figure 0005315693
の元で再帰式(32)により繰り返し復号過程における平均的な振る舞いをみることが出来る。平均値mが繰り返しと共に無限大へ発展していけばエラーフリーで、途中で発展がストップすればエラーフリーを実現出来ない。その境目を反復閾値(Threshold)と呼び、その時の通信路LLR平均m(i)u0 i=1〜neに対応するEb/N0がエラーフリー実現に必要なレベルとなる。また上式において、
Figure 0005315693
である。
以上はsumProductによるHyperbolic Tangent Ruleを用いた場合で、(21)式と(22)式の関係、即ち、平均値と分散の関係が繰り返し復号過程でも矛盾無く成り立っている場合である。即ちHyperbolic Tangent Ruleにおける平均値とその分散のトレースは、平均値のみのトレースでも分散も同時にトレースしたことになるので、一変数のみ観測すればよかった場合である。
しかし、MaxLog近似(或いはminSumアルゴリズムともいう)によって生じた非線形処理を含むGAの場合、もはや(21)式、(22)式の関係が成り立たなくなって、平均値のみのトレースで分散も同時にトレースしたことになるメリットを得ることが出来なくなってくる。
そこで、平均値と分散の両方を繰り返し復号過程でトレースし、そのSNRが十分に大きくなるかどうかで判断する。途中でSNRの増大がストップすれば性能が悪い。その境目の通信路LLR平均m(i)u0 i=1〜neに対応するEb/N0をもって必要なレベルを判断する。
その為に、MaxLog近似(或いはminSumアルゴリズムともいう)における確率分布を求める必要がある。以下行重み4の場合を例に取ってその確率分布について記す。
行重みが4であるから、d−1=3で3変数の確率分布を求めることになる。
今、行方向の演算を考え、各ノードにおける対数尤度比をLLRと表記する。従ってLLRは推定対象であるノードの個数を除くdc-1個の独立な確率変数によって決定され、その確率変数をベクトルで
Figure 0005315693
と表記し、それぞれの確率密度関数を平均値mj、分散σ2 jとして
Figure 0005315693
の様に表す。更に確率関数を以下の様に定義する。
Figure 0005315693
に対して
Figure 0005315693
、即ち、
Figure 0005315693
Figure 0005315693
はx以上の大きさを持つ確率変数
Figure 0005315693
の正の場合と負の場合の確率を表している。
LLRの確率密度分布(pdf)であるQL(x)を求める為にLLRの累積確率分布(cdf)を計算する。
Figure 0005315693
に対して、
Figure 0005315693
即ち、全ての
Figure 0005315693
Figure 0005315693
以上ならば
Figure 0005315693
Figure 0005315693
以上となる。従って
Figure 0005315693
で近似されるところの負の領域(odd number of negative value in Z)で最小の
Figure 0005315693
でも
Figure 0005315693
となるから、
Figure 0005315693
となり、
Figure 0005315693
で領域化される事象は全て
Figure 0005315693
に含まれることになる。逆に全ての
Figure 0005315693
Figure 0005315693
以上でなければ
Figure 0005315693
以下の事象が必ず存在するので
Figure 0005315693
に含まれない。従って行重みが4で3変数の累積分布FL(l)は、
Figure 0005315693
従って、求めようとしているLの確率密度分布QL(l)は、上記(36)式のLの累積確率分布(cdf)をlで微分することによって得られ、
Figure 0005315693
となる。l>0の場合も同じ結果になるのでここでは省略する。
(37)式よりMaxLog近似(或いはminSumアルゴリズムともいう)の平均値は、
Figure 0005315693
によって得ることが出来る。また、分散は、
Figure 0005315693
によって得ることが出来る。
これを(32)式に当てはめるとMaxLog近似(或いはminSumアルゴリズムともいう)によって生じた非線形処理を含むカテゴリに分類したタナーグラフにおけるGAとなる。そのGAによって最適な重み付けを検索した結果を以下の例で示す。
多変数多項式;
Figure 0005315693
実施したソケットモデルを図2に、検査マトリクスを図3に、また対応表を図4に示す。
この例はMulti-Typeと呼ばれるもので、Type毎にカテゴリ分けしている。上記(40)式の多項式や図2〜図4のソケットモデルなどから行重みが4の単一行重みであることが分かる。この例を上記MaxLog近似(或いはminSumアルゴリズムともいう)によって生じた非線形処理を含むカテゴリに分類したタナーグラフにおけるGAによって最適な重み付けを探索する。重み付けに相当する箇所をブロック図で示すと図1の様になる。即ち異なるカテゴリ毎に独立に重み付けがなされる様に構成されている。同図上でに相当する箇所の重み付けで最高性能を発揮する値を下記表の左に記入すると以下の様になる。
Figure 0005315693
この結果が示す様に、RA構造を持つ列重み2の箇所の重み付けが0.98で一番高く、他は0.58〜0.62程度となっている。これはRA構造を持つカテゴリのノードは他の高い列重みからの信頼度の高いLLRを得るのに対して逆にRA構造以外のカテゴリのノードはRA構造からの低い列重みからの信頼度の低いLLRを得る為、RA構造のカテゴリは高い重み付けで、他のカテゴリは低い重み付けになったものと思われる。
尚、カテゴリ分けのないタナーグラフでMaxLog近似(或いはminSumアルゴリズムともいう)を用いたとき重み付けによって補正を掛けることが知られているが、これは全てのノードに対して単一の重み付けを行っているものである。或いは列重みではなく行重みに注目して重み付けを行っている。これに対して本発明は列重みに注目して重み付けを行っている点に注意が必要である。
例えば、行重みに注目して重み付けを行ったとすると、上記の例では全ての行重みが4で重み付けの値は同じということになってしまう。それにも関わらず、重み付けをカテゴリ毎に変えることによって特性向上が示される点が従来と大きく異なる点で、これは上記のカテゴリ分けされた状態での非線形処理を含むDEを試みた本発明で始めて明らかになった点であり、本発明はこの解析結果に基づいて行われたものである。
以上の結果を基に実際のMaxLog近似を使ったLDPCデコーダでモンテカルロシミュレーションを行った結果を図5に示す。同図において左のラインがsum-productを用いた特性で右のラインがMaxLog近似(或いはminSumアルゴリズムともいう)を用いた特性である。この条件で用いた重み付けは以下の様になる。
Figure 0005315693
最終的なモンテカルロシミュレーションにおいても、上記結果が示す様にRA構造を持つ列重み2の箇所の重み付けが0.9999で一番高く、他は0.58〜0.69といった値になった。若干の最適化対象の動作点の違いで値が若干ずれているものの傾向としては同じものであることが分かる。
一方、従来の全てのノードに対して単一の重み付けを行う方法で他は全く同じ内容で重み付け係数の最適化を行いモンテカルロシミュレーションを行った結果を図6に示す。この時用いた重み付け係数を追記した表を以下に示す。
Figure 0005315693
図6の特性を見て分かるようにMaxLog近似(或いはminSumアルゴリズムともいう)を用いた右側のラインでは単一の重み付け係数だけではエラーフロアが生じてしまい用いることが出来ない状態となる。
以上が本発明の裏付けとなる解析結果であり、カテゴリに分類したタナーグラフによるMaxLog近似(或いはminSumアルゴリズムともいう)を用いたデコーダにカテゴリ毎の重み付けが有効であることを示すものである。
以下、図1を参照しながら本発明の実施例を説明する。図1は本発明のカテゴリに分類したタナーグラフによるMaxLog近似(或いはminSumアルゴリズムともいう)を用い、カテゴリ毎の重み付けを施すデコーダの構成を示すブロック図、図1Aはその具体的な回路構成を示す図である。
図1に示すデコーダは、変数ノードメモリ101および102より構成されるメモリ100、重み付け処理部103,107、減算器104、チェックノード処理部105およびチェックノードメモリ106から構成されている。
変数ノードを格納する変数ノードメモリ101と102はそれぞれ出力と入力とに切り替えられて使用されるもので、タナーグラフにおけるカテゴリ分割に従い、メモリバンク(不図示)によってこれらの内部は分割されている。また、受信値LLRを格納するエリアが設けられており、変数ノードの出力を受け持つ出力部は変数ノードを出力する際に受信値LLRを加算して出力する。
以下の説明では、変数ノードメモリ101と102のそれぞれが、現在、出力と入力に使用されているとして説明する。
上記の様にして出力された変数ノードLLRは、MaxLog近似(或いはminSumともいう)の為の第1の最小値と第2の最小値と2を法とする極性和と最小値の位置を納めたチェックノードメモリ106から生成された値、即ち、同じ行内における変数ノードLLR
Figure 0005315693
に対して
Figure 0005315693
なる選択と極性付けを行ってカテゴリに対応する重み付けが重み付け処理部103によりなされているが、重み付け処理部103と同じ重み付け値を出力する重み付け処理部107の出力値を減算器104で差し引いた後にチェックノード処理部105に出力される。
チェックノード処理部105では、MaxLog近似(或いはminSumともいう)の為の第1の最小値と第2の最小値と2を法とする極性和と最小値の位置の検出を行う。
チェックノード処理部105の具体的な回路構成を図7に示す。図7(a)に示すように、Min(Max)Log領域における近似アルゴリズムでHyperbolic tangent ruleを実現している。ここで、チェックノード処理におけるメッセージ更新規範を、Hyperbolic tangent ruleと呼んでおり、図7(b)に示す様に並列構成でパイプライン化しているので、平均的に見て1クロックで動作を完了する。回路動作はtree構成で最小値検出(min)を行い、その最小値をマスクして第2の最小値検出(Sub-min)を行っている。2step動作であるが、パイプライン化しているので等価的に1クロックで全ての処理が完結する。尚、煩雑になるので図ではパイプライン用のF/Fを省略している。
図1に戻って、このチェックノード処理をチェックノード処理部105で行った後、得られた値(min、Sub-min、2を法とする極性和であるsign、そして最小値の位置を示すPosition)をチェックノードメモリ106に格納する。
チェックノードメモリ106はメモリ100と同様に入力または出力として用いられる2つのメモリ部を備えるものであり、チェックノード処理部105の処理により得られた値を入力のメモリ部に格納する。また、同時に、それらを用いて選択と極性付けで得られた(41)式におけるuの値であるLLRを変数ノードメモリ102へ格納する。その際、重み付け処理部103で予めカテゴリ毎に決められた重み付けを行ってから102へ格納する。
尚、このブロック図では格納する際に重み付け処理を行っているが、出力である変数ノードメモリ101で受信値LLRを加算する前に重み付け処理を行ってもよいし、チェックノード処理部105で出力する際に重み付け処理を行っても良い。
次のサイクルでは、こんどは変数ノードメモリ102が出力で変数ノードメモリ101が入力となるべく構成が入れ替わる。煩雑になるので図では省略しているが重み付け処理部103も入力である変数ノードメモリ101に対して行われる様になる。また、二部構成のチェックノードメモリ106も入力と出力が入れ替わり、予め決められた繰り返し回数になるまで繰り返しサイクル毎に交互にメモリの入力と出力を入れ替える処理が行われる。
これらのメモリのアクセスはカテゴリ毎に分割されたメモリバンク内で更にカテゴリ内の重み分布に応じてメモリバンクによる分割がなされており、パラレルで処理がすすむ様になっている。また、各カテゴリ内の重み分布の関係で一時的にパラレルアクセスが集中するタイミングが生じた場合を考慮してFIFO機能を有するキャッシング回路を介してメモリアクセスを行う様になっているので、平均化の効果でメモリバンクの分割数の増加やオンチップバスの本数の削減を行っている。
また、図中特に記載されていないが、ターナーグラフによって決定される接続情報は検査マトリクスの1の位置をインデックスの形で保存しているメモリが有り、少ないメモリ容量でLLRの接続制御を行っている。
更に、図2,3,4を見て分かるように、この例ではカテゴリと列重みの関係がほぼ対応する様になっている。特に列重みに拘らずカテゴリ化で自由に重み付けを決めることも出来るが、この例の様に列重みによるグループ化をカテゴリに含ませることも可能である。
以上図1を参照しながらデコーダのアーキテクチャについて説明した。次に本発明によるエンコーダについて説明する。
低次数プロファイルによって決定される検査マトリクスHは疎な行列となるから復号の為の処理量が少なく低複雑化に適している。しかし疎な検査マトリクスHに対応した生成マトリクスGはほとんど確実に疎な行列でなくなるので、この為符号化処理が復号処理に対して無視出来ないということになる。しかし、この疎な検査マトリクスを活かしつつ符号を生成する算法が知られている。そこで、高速化可能で処理規模の小さいアーキテクチャについて図を参照しながら説明する。
本発明の符号化処理は、予め計算(Pre-calculation)を行うオフライン処理(Offline process)とハードウェアによるオンライン処理(Online process)によって構成されている。予め行うオフライン処理では検査マトリクスの疎な性質を保ったままで行列変換を行う。またハードウェアによるオンライン処理では検査マトリクスの疎な性質を保ったまま作られた四つのマトリクスA,B,T及びFを元に高速に符号化処理を実行する。
(1) Pre-calculation (Offline process)
検査マトリクスの行入れ替えおよび列入れ替えによって以下の上三角零行列Hを得る。
Figure 0005315693
ここで、Tは対角要素に”1”を持つ下三角行列で左から
Figure 0005315693
を掛けると、以下の行列を得る。
Figure 0005315693
ここでエンコーダ出力である符号語をベクトル表現で以下の様に表記する。
Figure 0005315693
同ベクトル内ベクトルでsは情報ビット系列を表し、p1,p2はそれぞれパリティビット系列を表す。
符号語ベクトルXと検査マトリクスHとの間には
Figure 0005315693
なる関係があるから、
Figure 0005315693
これより以下の関係を得る。
Figure 0005315693
(2) Hardware Encoding (Online process)
上式を元に与えられた情報ビット系列sからエンコーダ出力の一部であるパリティビット系列p1を高速に生成する。
i. s → p1 : 上式における第2の関係より、
Figure 0005315693
上式における演算は全てGF(2)上で行われ、ベクトルp1の大きさは”gap“と呼ばれる部分で非常に小さい。従って図8の様な簡単な回路で実現出来る。同図において、第1のメモリ801はオフライン処理で得られるマトリクスFの要素1の位置をインデックスとして蓄積しており、第1の行カウンタ803によってアドレッシングされこの第1のメモリ801が出力するインデックスによって更にアドレッシングされる第2のメモリ802には情報ビット系列Sが格納されている。従って、マトリクスFの要素である1のインデックスによって出力された情報ビットSを排他的論理和回路804と遅延素子805によって2を法とする積算することになるので出力先のパリティ系列p1を蓄積するメモリ806には上記(47)式の
Figure 0005315693
が格納されることになる。
ii. s, p1 → p 2 :上記(46)式における第1の関係より、
Figure 0005315693
ここで、マトリクスTは以下の様な対角要素に”1”を持つ下三角マトリクスである。
従って、
Figure 0005315693
これより以下の関係を得る。
Figure 0005315693
上式における演算は全てGF(2)上で行われ、マトリクスTは下三角行列で疎な行列でもある。また、AもBも疎な行列であるから、図9の様な簡単な回路で実現出来る。
同図において、第3のメモリ901には(47)式によるオンライン処理で得られたパリティ系列p1と上述のオフライン処理で得られたマトリクスBの積と前記情報ビット系列Sとオフライン処理で得られたマトリクスAの積の和である
Figure 0005315693
が格納されていて、第4のメモリ902にはオフライン処理で得られたマトリクスTの要素1の位置をインデックスとして蓄積している。
第5のメモリ903は第2のパリティ系列p2を格納し、第2の行カウンタ904によってアドレッシングされた第4のメモリ902が出力するインデックスを読み出しアドレスとするメモリであって、第5のメモリ903の出力と
Figure 0005315693
が格納されている第3のメモリ901の出力が行の初回のみ排他的論理和を取る様にセレクタ907が第2の行カウンタ904によって制御され、その後は第2のパリティ系列p2の方にセレクタ907が切り替わることによって、排他的論理和回路905と遅延素子906によって(50)式の演算が実行される。尚、
Figure 0005315693
のハードウェアでの演算は通常の設計事項であるのでここでは説明を省略する。
以上のオフライン処理と図8と図9に示されるハードウェアによるオンライン処理によって本発明のエンコーダが構成される。
図10はエンコード処理の負荷の殆どを担う図9の回路を高速化したもので、図9に示したものと同様に、第2の行カウンタ1004によってアドレッシングされたメモリ1002のマトリクスTの要素の1の位置をインデックスとして動作している。
7 図10において、図9に示した構成と異なる点はこのインデックスが行重み分有る点で、同一の行内にある全ての1の位置に対するインデックスをパラレルに第2のパリティ系列p2が格納されるメモリ1003にアドレッシングしている点である。その為、第2のパリティ系列p2が格納されるメモリとしてミラーメモリ1003−1,2を付加して
Figure 0005315693
が格納されている第3のメモリ1001の出力と共に排他的論理和回路1005によって一度期に(50)式の演算を行い、その結果をミラーメモリ1003−1,2を含む第2のパリティ系列p2が格納されるメモリ1003に格納して高速動作を実現したものである。

Claims (26)

  1. 複数のノードを数個のカテゴリに分類可能な疎な検査マトリクス、LDPC符号化方式におけるタナーグラフを用いて、各ノードを複数のカテゴリに分類し、繰り返し復号における確率伝播計算に際し前記カテゴリ毎に予め決定された重み付けを伝播対象である対数尤度比(以下LLRと略す)に対して行うことを特徴として構成されるLDPCデコーダ。
  2. 前記繰り返し復号における確率伝搬計算は、minSumアルゴリズムであって各カテゴリに属する検査マトリクスの列重みに合わせて重み付けする値を決定することを特徴として構成される請求項1項記載のLDPCデコーダ。
  3. 前記タナーグラフとして、前記複数のカテゴリ内にRA構造のカテゴリを有し、該カテゴリの重み付けは他のカテゴリの重み付けより大きくしたことを特徴として構成される請求項1または請求項2記載のLDPCデコーダ。
  4. 複数のノードを数個のカテゴリに分類可能な疎な検査マトリクス、LDPC符号化方式におけるタナーグラフを用いて、グラフを構成する各ノードを、その検査マトリクスの列重みによる複数のグループ分けし、繰り返し復号における確率伝播計算に際しては、前記グループ毎に決定された重み付けを伝播対象である対数尤度比(LLR)に対して行うことを特徴として構成されるLDPCデコーダ。
  5. 複数のノードを数個のカテゴリに分類可能な疎な検査マトリクス、LDPC符号化方式におけるタナーグラフを用いて、各ノードを複数のカテゴリに分類し、各カテゴリに属する検査マトリクスの重み分布に合わせて伝播対象である対数尤度比(LLR)を格納するメモリバンクの分割数を変えて該対数尤度比へのパラレルアクセスを可能にしたことを特徴として構成されるLDPCデコーダ。
  6. LDPC符号化方式におけるタナーグラフを用いて、各ノードは複数のカテゴリに分類することが可能であって、各カテゴリに属する検査マトリクスの重み分布に合わせて伝播対象である対数尤度比(LLR)を格納するメモリバンクの分割数を変える構造を有し、前記対数尤度比へのパラレルアクセスを行う際、FIFO機能を有するキャッシング回路を介して行われることを特徴として構成される請求項5項記載のLDPCデコーダ。
  7. 前記繰り返し復号における確率伝搬計算をminSumアルゴリズムによって行う際、第1の最小値検出回路によって第1の最小値を検出し、該検出された第1の最小値に対応する入力をマスクして第2の最小値を検出する第2の最小値検出回路を有し、第1及び第2の最小値回路をパイプライン構造によって構成することにより等価的に一クロックで近似計算を実行することを特徴として構成される請求項2項記載のLDPCデコーダ。
  8. 前記繰り返し復号における確率伝搬計算をminSumアルゴリズムによって行う際、変数ノード分のLLRを一時保存する第1のメモリと、請求項7記載の第1の最小値及び第2の最小値とその入力の2を法とする極性和を保存するチェックノード分の第2のメモリを有し、該第1のメモリへの入力は、請求項7記載の第1の最小値及び第2の最小値を元にタナーグラフによって決定される接続に基づいて該第1のメモリの保存値に加算することによって順次行われ、該第1のメモリは、請求項2記載のカテゴリ分けがなされていて、カテゴリ毎に予め決められた重み付けを該第1のメモリ出力に対して行われ、その重み付けされたLLRと受信値LLRとを加算した後、前記第2のメモリ蓄積結果である第1の最小値及び第2の最小値と2を法とする極性和を元にタナーグラフによって決定される接続情報によって選択される値を差引き、再びMaxLog近似minSumアルゴリズムを行う繰り返し復号を特徴として構成される請求項7記載のLDPCデコーダ。
  9. 前記カテゴリ毎の重み付けを前記第1のメモリ出力ではなく、該第1のメモリ入力か若しくはminSumアルゴリズム出力に逆戻る迄の経路に施すことを特徴として構成される請求項8記載のLDPCデコーダ。
  10. 前記タナーグラフによって決定される接続情報は、検査マトリクスにおける1の位置をインデックスの形で保存することを特徴として構成される請求項8または請求項9のLDPCデコーダ。
  11. バリアブルノード分のLLRを一時保存する第1のメモリを2面持ち、更に請求項7記載の第1の最小値及び第2の最小値とその入力の2を法とする極性和を保存するチェックノード分の第2のメモリを二面持ち、どちらか一方のメモリを出力として用いている場合は他のメモリを入力として用いて、繰り返し復号における繰り返しサイクル毎に交互に該メモリの入力と出力を入れ替えることを特徴として構成される請求項8記載のLDPCデコーダ。
  12. 複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスHの行列操作によって対角要素に1を持つ下三角マトリクスTを含む上三角零マトリクス
    Figure 0005315693
    なる関係を持つマトリクスA,B,Tを得る手段1を有し、更に該上三角零マトリクスより
    Figure 0005315693
    なるマトリクスFを得る手段2を有し、該手段1及び2は予め計算されるオフライン処理であって、その結果得られたマトリクスFの要素1の位置をインデックスの形で蓄積するメモリ1と、情報ビット系列Sが格納されているメモリ2と第1の行カウンタを有しており、該第1の行カウンタによってアドレッシングされた前記メモリ1が出力されるインデックスによって更にアドレッシングされる前記メモリ2の出力を排他的論理和することによって第1のパリティ系列p1を得る第1の回路を有しており、該パリティ系列p1と前記オフライン処理で得られたマトリクスBの積を取り、前記情報ビット系列Sと前記オフライン処理で得られたマトリクスAの積を取って排他的論理和することによって
    Figure 0005315693
    なる系列を格納するメモリ3を有し、前記オフライン処理で得られたマトリクスTの要素1の位置をインデックスの形で蓄積するメモリ4と、第2のパリティ系列p2が格納されるメモリ5と第2の行カウンタを有し、該第2の行カウンタによってアドレッシングされた前記メモリ4が出力されるインデックスによって更に逐次読み出しアドレッシングされる前記メモリ5の出力と、前記第2の行カウンタによってアドレッシングされるメモリ3の出力を排他的論理和をすることによって第2のパリティ系列p2を得て前記第2の行カウンタによって書き込みアドレッシングされる前記メモリ4へ書き込む第2の回路を有しており、前記オフライン処理と第2及び第2の回路によるオンライン処理によって符号化処理を行うことを特徴として構成されるLDPCエンコーダ。
  13. 第2のパリティ系列p2が格納される前記メモリ5をマトリクスTの行重みの数分有したミラーメモリとし、マトリクスTの要素の1の位置がインデックスとして格納されているメモリ4は単位アドレスに対して行重み分のインデックスを出力するフォーマットであって、これらのインデックスを各ミラーメモリに対して読み出しアドレッシングすることによって行重み分の排他的論理和を一度に行うことを特徴として構成される請求項12記載のLDPCエンコーダ。
  14. 符号を変数ノードとチェックノードにより表現するタナーグラフを用いたLDPCデコーダであって、
    複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスの列重みによって複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第1の変数ノードメモリと、
    前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンクを備えた第2の変数ノードメモリと、
    前記第2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象である対数尤度比に応じて決定する重み付け処理部と、
    前記第1の変数ノードメモリおよび第2の変数ノードメモリの各カテゴリ毎の格納内容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比として前記前記第1の変数ノードメモリおよび重み付け処理部へ出力するチェックノード処理手段と、
    を有することを特徴とするLDPCデコーダ。
  15. チェックノード処理部での前記繰り返し復号における確率伝搬計算は、minSumアルゴリズムによって行なわれ、各カテゴリに属する検査マトリクスの列重みに合わせて重み付けする値を決定することを特徴とする請求項14記載のLDPCデコーダ。
  16. 前記複数のカテゴリ内にRA構造のカテゴリを有し、該カテゴリの重み付けは他のカテゴリの重み付けより大きくしたことを特徴とする請求項14または請求項15記載のLDPCデコーダ。
  17. 符号を変数ノードとチェックノードにより表現するタナーグラフを用いたLDPCデコーダであって、
    複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスの列重みによって複数のグループに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第1の変数ノードメモリと、
    前記複数のグループ毎の重み付け値を各グループ毎に格納する複数のメモリバンクを備えた第2の変数ノードメモリと、
    前記第2の対数ノードメモリに格納される各グループ毎の重み付け値を伝播対象である対数尤度比に応じて決定する重み付け処理部と、
    前記第1の変数ノードメモリおよび第2の変数ノードメモリの各グループ毎の格納内容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比として前記前記第1の変数ノードメモリおよび重み付け処理部へ出力するチェックノード処理手段と、
    を有することを特徴とするLDPCデコーダ。
  18. 符号を変数ノードとチェックノードにより表現するタナーグラフを用いたLDPCデコーダであって、
    複数のカテゴリに分類された伝播対象である対数尤度比を各カテゴリ毎に格納する複数のメモリバンクを備えた第1の変数ノードメモリと、
    前記複数のカテゴリ毎の重み付け値を各カテゴリ毎に格納する複数のメモリバンクを備えた第2の変数ノードメモリと、
    前記第2の対数ノードメモリに格納される各カテゴリ毎の重み付け値を伝播対象である対数尤度比に応じて決定する重み付け処理部と、
    前記第1の変数ノードメモリおよび第2の変数ノードメモリの各カテゴリ毎の格納内容から繰り返し復号における確率伝播計算を行なって伝播対象である対数尤度比として前記前記第1の変数ノードメモリおよび重み付け処理部へ出力するチェックノード処理手段と、
    を有し、
    前記第1の変数ノードメモリのメモリバンクの数は各カテゴリに属する、複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスの重み分布に合わせて変更可能とされ、これにより前記第1の変数ノードメモリへのパラレルアクセスが可能であることを特徴とするLDPCデコーダ。
  19. 前記第1の変数ノードメモリへのパラレルアクセスを行うFIFO機能を有するキャッシング回路を備えることを特徴とする請求項18記載のLDPCデコーダ。
  20. チェックノード処理手段は、
    第1の最小値検出回路によって第1の最小値を検出する第1の最小値回路と、
    前記第1の最小値回路により検出された第1の最小値に対応する入力をマスクして第2の最小値を検出する第2の最小値検出回路と、を有し、
    前記第1及び第2の最小値回路はパイプライン構造とされて等価的に1クロックで近似計算を実行することを特徴とする請求項15記載のLDPCデコーダ。
  21. チェックノード処理手段は、
    前記複数のカテゴリに分類された前記第1の変数ノードメモリおよび重み付け処理部へ出力する対数尤度比を一時保存する第1のメモリと、
    前記第1の最小値及び第2の最小値と、その入力の2を法とする極性和を保存するチェックノード分の第2のメモリと、
    を有し、
    前記第1のメモリへの入力が、前記第1の最小値及び第2の最小値を元にタナーグラフによって決定される接続に基づいて該第1のメモリの保存値に加算することが順次行ない、
    各カテゴリ毎に予め決められた重み付けを該第1のメモリ出力に対して行い、その重み付けされたLLRと受信値LLRとを加算した後、前記第2のメモリ蓄積結果である第1の最小値及び第2の最小値と2を法とする極性和を元にタナーグラフによって決定される接続情報よって選択される値を差引き、再びminSumアルゴリズムを行う繰り返し復号を行なうことを特徴とする請求項20記載のLDPCデコーダ。
  22. チェックノード処理手段は、
    前記複数のカテゴリに分類された前記第1の変数ノードメモリおよび重み付け処理部へ出力する対数尤度比を一時保存する第1のメモリと、
    前記第1の最小値及び第2の最小値と、その入力の2を法とする極性和を保存するチェックノード分の第2のメモリと、
    を有し、
    前記第1のメモリへの入力が、前記第1の最小値及び第2の最小値を元にタナーグラフによって決定される接続に基づいて該第1のメモリの保存値に加算することが順次行ない、
    各カテゴリ毎に予め決められた重み付けを前記第1のメモリ入力若しくはminSumアルゴリズム出力に逆戻る迄の経路に対して行い、その重み付けされたLLRと受信値LLRとを加算した後、前記第2のメモリ蓄積結果である第1の最小値及び第2の最小値と2を法とする極性和を元にタナーグラフによって決定される接続情報よって選択される値を差引き、再びminSumアルゴリズムを行う繰り返し復号を行なうことを特徴とする請求項20記載のLDPCデコーダ。
  23. 前記タナーグラフによって決定される接続情報は、検査マトリクスにおける1の位置をインデックスの形で保存することを特徴として構成される請求項21または請求項22記載のLDPCデコーダ。
  24. 前記第1の変数ノードメモリと前記第2の変数ノードメモリ、および、前記第1のメモリと第2のメモリは、どちらか一方を出力として用いている場合には他方が入力として用いられ、繰り返し復号における繰り返しサイクル毎に交互に入力と出力が入れ替えられることを特徴とする請求項21記載のLDPCデコーダ。
  25. 予め計算されるオフライン処理によって、複数のノードを数個のカテゴリに分類可能な疎な検査マトリクスHの行列操作により対角要素に1を持つ下三角マトリクスTを含む上三角零マトリクス
    Figure 0005315693
    なる関係を持つマトリクスA,B,Tを得る第1の手段と、
    前記上三角零マトリクスより、予め計算されるオフライン処理によって
    Figure 0005315693
    なるマトリクスFを得る第2の手段と、を備え、
    前記第1の手段および第2の手段により得られたマトリクスFの第1の要素の位置をインデックスの形で蓄積する第1のメモリと、
    情報ビット系列Sが格納されている第2のメモリと、
    第1の行カウンタと、
    前記第1の行カウンタによってアドレッシングされた前記第1のメモリが出力するインデックスによってアドレッシングされた前記第2のメモリの出力の排他的論理和をとることによって第1のパリティ系列p1を得る第1の回路と、
    前記第1のパリティ系列p1と前記オフライン処理で得られたマトリクスBの積を取り、前記情報ビット系列Sと前記オフライン処理で得られたマトリクスAの積を取って排他的論理和をとることによって得られた
    Figure 0005315693
    なる系列を格納する第3のメモリと、
    前記マトリクスTの第1の要素の位置をインデックスの形で蓄積する第4のメモリと、
    第2のパリティ系列p2が格納される第5のメモリと、
    第2の行カウンタと、
    前記第2の行カウンタによってアドレッシングされた前記第4のメモリが出力するインデックスによって逐次読み出しがアドレッシングされる前記第5のメモリの出力と、前記第2の行カウンタによってアドレッシングされる前記第3のメモリの出力の排他的論理和をとることによって前記第2のパリティ系列p2を得て前記第2の行カウンタによって書き込みアドレッシングされる前記第5のメモリへ書き込む第2の回路と、を有し、
    前記オフライン処理と第1及び第2の回路によるオンライン処理によって符号化処理を行うことを特徴とするLDPCエンコーダ。
  26. 第2のパリティ系列p2が格納される前記第5のメモリがマトリクスTの行重みの数分有したミラーメモリであり、
    マトリクスTの要素の1の位置がインデックスとして格納されている第4のメモリは単位アドレスに対して行重み分のインデックスを出力するフォーマットであって、これらのインデックスを各ミラーメモリに対して読み出しアドレッシングすることによって行重み分の排他的論理和をとることを一度に行うことを特徴とする請求項25記載のLDPCエンコーダ。
JP2007528155A 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ Expired - Fee Related JP5315693B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007528155A JP5315693B2 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005141588 2005-05-13
JP2005141588 2005-05-13
PCT/JP2006/308116 WO2006120844A1 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ
JP2007528155A JP5315693B2 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ

Publications (2)

Publication Number Publication Date
JPWO2006120844A1 JPWO2006120844A1 (ja) 2008-12-18
JP5315693B2 true JP5315693B2 (ja) 2013-10-16

Family

ID=37396357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007528155A Expired - Fee Related JP5315693B2 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ

Country Status (6)

Country Link
US (1) US8140930B1 (ja)
EP (1) EP1881610B1 (ja)
JP (1) JP5315693B2 (ja)
KR (4) KR101356808B1 (ja)
CN (1) CN101233693B (ja)
WO (1) WO2006120844A1 (ja)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4526451B2 (ja) 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
JP4526450B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
JP4645640B2 (ja) * 2007-11-30 2011-03-09 住友電気工業株式会社 復号器、受信装置及び符号化データの復号方法
CN101299612B (zh) * 2008-06-10 2013-04-24 上海瀚讯无线技术有限公司 一种快速树图分解方法
TWI372523B (en) * 2008-11-14 2012-09-11 Realtek Semiconductor Corp Recording controller and decoder for parity-check code
JP5197544B2 (ja) * 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
JP5508549B2 (ja) * 2010-01-27 2014-06-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 繰り返し復号されるfec符号におけるエラーフロアの低減
US8661326B1 (en) * 2010-08-04 2014-02-25 Marvell International Ltd. Non-binary LDPC code decoding early termination
JP5091996B2 (ja) * 2010-09-09 2012-12-05 株式会社東芝 誤り訂正復号器、メモリコントローラ及び受信機
CN102130693B (zh) 2010-11-10 2013-06-05 华为技术有限公司 一种低密度奇偶校验码的译码方法和装置
JP5132758B2 (ja) * 2010-12-13 2013-01-30 株式会社東芝 誤り訂正復号器及び記憶装置
JP5413701B2 (ja) * 2011-03-22 2014-02-12 日本電気株式会社 誤り訂正符号化装置、誤り訂正符号化方法および誤り訂正符号化プログラム
JP5648852B2 (ja) * 2011-05-27 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5664919B2 (ja) * 2011-06-15 2015-02-04 ソニー株式会社 データ処理装置、及び、データ処理方法
CN104221291B (zh) * 2012-03-28 2018-02-23 英特尔公司 更新与迭代解码器关联的变量节点
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US9154261B2 (en) * 2013-01-16 2015-10-06 Broadcom Corporation Low density parity check (LDPC) coding in communication systems
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9178653B2 (en) * 2013-01-16 2015-11-03 Broadcom Corporation Very short size LDPC coding for physical and/or control channel signaling
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) * 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US8930790B1 (en) * 2013-09-13 2015-01-06 U-Blox Ag Method and apparatus for identifying selected values from among a set of values
JP5971670B2 (ja) 2013-12-09 2016-08-17 三菱電機株式会社 誤り訂正復号装置
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9935654B2 (en) 2015-02-06 2018-04-03 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
US9590657B2 (en) * 2015-02-06 2017-03-07 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
FR3032571B1 (fr) * 2015-02-11 2017-03-10 Commissariat Energie Atomique Methode de decodage iteratif de sequences lfsr a faible probabilite de fausse alarme
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10318389B2 (en) * 2016-07-15 2019-06-11 Quantum Corporation Joint de-duplication-erasure coded distributed storage
KR102666852B1 (ko) * 2016-07-21 2024-05-20 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그의 동작 방법
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
CN108574493B (zh) * 2017-03-10 2021-12-24 华为技术有限公司 数据处理的方法和装置
TWI657669B (zh) * 2017-11-28 2019-04-21 財團法人資訊工業策進會 低密度奇偶檢查碼解碼器及其解碼方法
US11200484B2 (en) * 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
CN112005499B (zh) * 2018-10-18 2023-02-03 华为技术有限公司 Ldpc码的译码方法和装置
CN111208538B (zh) * 2018-11-21 2022-04-26 展讯通信(上海)有限公司 电文的解调方法及装置
KR20200084687A (ko) 2019-01-03 2020-07-13 삼성전자주식회사 비이진 폴라 코드를 수신하는 장치 및 이의 디코딩 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004186940A (ja) * 2002-12-03 2004-07-02 Nec Corp 誤り訂正符号復号装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
JP3833545B2 (ja) 2002-02-13 2006-10-11 三菱電機株式会社 通信システム、受信機、送信機および通信方法
US7197690B2 (en) * 2002-05-31 2007-03-27 Broadcom Corporation Bandwidth efficient coded modulation scheme based on MLC (multi-level code) signals having multiple maps
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
JP2004088470A (ja) * 2002-08-27 2004-03-18 Sony Corp 復号装置及び復号方法
AU2003278536A1 (en) 2002-11-27 2004-06-18 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
JP4163023B2 (ja) 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
KR20040101743A (ko) 2003-05-26 2004-12-03 삼성전자주식회사 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법
US7391826B2 (en) 2003-08-08 2008-06-24 Lucent Technologies Inc. Decoding method and apparatus
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
KR20060032464A (ko) * 2004-10-12 2006-04-17 삼성전자주식회사 효율적인 저밀도 패리티 검사 코드 복호 방법 및 장치
KR100703271B1 (ko) 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004186940A (ja) * 2002-12-03 2004-07-02 Nec Corp 誤り訂正符号復号装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6011055104; Jun Heo: 'Performance and Convergence Analysis of Improved MIN-SUM Iterative Decoding Algorithm' IEICE transactions on communications Vol.E87-B, No.10, 20041001, pp.2847-2858 *
JPN6011055106; Akinori Ohhashi, et al.: 'Performance Analysis of BP-based Algorithms for Irregular Low-Density Parity-Check Codes on Fast Ray' Proceedings of the IEEE 60th Vehicular Technology Conference, 2004. VTC2004-Fall. Vol.4, 20040926, pp.2530-2534 *
JPN6012043912; Juntan Zhang,他3名: 'Improved min-sum decoding of LDPC codes using 2-dimensional normalization' Global Telecommunications Conference, 2005. GLOBECOM '05. IEEE Volume: 3, 20051128 *
JPN6013011778; 大橋 章範 他: 'イレギュラーLDPC符号を用いたBP-basedアルゴリズムの特性解析' 電子情報通信学会技術研究報告(信学技報) DSP2003-182 SAT2003-179 RCS2003-277 , 20040109 *

Also Published As

Publication number Publication date
KR101356808B1 (ko) 2014-01-28
KR20110125266A (ko) 2011-11-18
KR101390544B1 (ko) 2014-04-30
JPWO2006120844A1 (ja) 2008-12-18
KR100945991B1 (ko) 2010-03-09
US8140930B1 (en) 2012-03-20
CN101233693A (zh) 2008-07-30
KR20130038399A (ko) 2013-04-17
EP1881610A4 (en) 2010-10-06
CN101233693B (zh) 2012-11-14
WO2006120844A1 (ja) 2006-11-16
KR20090106620A (ko) 2009-10-09
EP1881610A1 (en) 2008-01-23
EP1881610B1 (en) 2015-06-03
KR20080004609A (ko) 2008-01-09

Similar Documents

Publication Publication Date Title
JP5315693B2 (ja) Ldpc符号化方式によるエンコーダ及びデコーダ
CN102412847B (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
JP4062435B2 (ja) 誤り訂正符号復号装置
JP5483875B2 (ja) Ldpc符号のブロックおよびレートに独立な復号の方法および装置
EP3092717B1 (en) Decoding of non-binary ldpc codes
US9195536B2 (en) Error correction decoder and error correction decoding method
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
JP2002353946A (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
CN109802688B (zh) 一种多进制ldpc译码系统和方法
Thi et al. Two-extra-column trellis min–max decoder architecture for nonbinary LDPC codes
Ciobanu et al. Adaptive multiset stochastic decoding of non-binary LDPC codes
US10554226B2 (en) Method for controlling a check node of a NB-LDPC decoder and corresponding check node
JP5148586B2 (ja) 復号装置および復号方法
Sarkis et al. Reduced-latency stochastic decoding of LDPC codes over GF (q)
US10727869B1 (en) Efficient method for packing low-density parity-check (LDPC) decode operations
US8347167B2 (en) Circuits for implementing parity computation in a parallel architecture LDPC decoder
Fayyaz et al. A low-complexity soft-output decoder for polar codes
US20080178066A1 (en) Method and apparatus for receiving data in communication system
KR100491338B1 (ko) 근사화 함수를 사용하는 오류정정부호의 복호 방법
Sha et al. Improved BP decoder for polar codes based on a modified kernel matrix
Sarkis et al. Relaxed half-stochastic decoding of LDPC codes over GF (q)
Vasić et al. Multi-bit flipping algorithms with probabilistic gradient descent
Leduc-Primeau et al. Stochastic decoding of error-correcting codes
Nakahara et al. Covariance Evolution for Spatially “Mt. Fuji” Coupled LDPC Codes
CN118573212A (zh) 基于分层校验子的译码器的fpga实现方法、系统及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

R150 Certificate of patent or registration of utility model

Ref document number: 5315693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees