JP5306342B2 - シャッフルldpcデコーディング - Google Patents
シャッフルldpcデコーディング Download PDFInfo
- Publication number
- JP5306342B2 JP5306342B2 JP2010514224A JP2010514224A JP5306342B2 JP 5306342 B2 JP5306342 B2 JP 5306342B2 JP 2010514224 A JP2010514224 A JP 2010514224A JP 2010514224 A JP2010514224 A JP 2010514224A JP 5306342 B2 JP5306342 B2 JP 5306342B2
- Authority
- JP
- Japan
- Prior art keywords
- symbol
- message
- matrix
- check node
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1168—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1114—Merged schedule message passing algorithm with storage of sums of check-to-bit node messages or sums of bit-to-check node messages, e.g. in order to increase the memory efficiency
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-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/112—Soft-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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-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/1122—Soft-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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6527—IEEE 802.11 [WLAN]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6544—IEEE 802.16 (WIMAX and broadband wireless access)
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6583—Normalization other than scaling, e.g. by subtraction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6588—Compression or short representation of variables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Error Detection And Correction (AREA)
Description
‐ 各シンボルノードに対し、前記LDPCコードの対応するシンボルのそれぞれのシンボル値の表現を記憶する第1のメモリ(1005)と、
‐ それぞれのチェックノードメッセージΛmnの表現を記憶する第2のメモリ(1015)と、
‐ 次の反復に対し、前記第1のメモリに記憶された対応するシンボル値の表現からシンボルメッセージλnmを計算するとともに、前の反復からチェックノードメッセージを計算する第1の計算手段(1010)と、
‐ この第1の計算手段から、第1のシーケンスで配置されたシンボルメッセージを受け、このシンボルメッセージを、対応するサブマトリックスにおけるゼロでないエレメントの位置に応じた異なるシーケンスで生ぜしめるシャフラ(1030)と、
‐ 前記LLR‐BPアルゴリズムに応じて、チェックノードメッセージを計算するとともに、計算したこのチェックノードメッセージの表現を前記第2のメモリに記憶させる第2の計算手段であって、この計算は、それぞれのチェックノードによりバレルシフタから受けたシンボルメッセージに応じて行うようにした当該第2の計算手段(DP‐0,DP‐1,DP‐D−1)と、
‐ 前記第1及び第2の計算手段の出力に応じて前記第1のメモリ内のシンボル値の表現を更新する第3の計算手段(1020)と
を具えるLDPCデコーダを提供する。
‐ 各シンボルノードに対し、前記LDPCコードの対応するシンボルのそれぞれのシンボル値の表現を第1のメモリに記憶させるステップと、
‐ それぞれのチェックノードメッセージΛmnの表現を第2のメモリに記憶させるステップと、
‐ 次の反復に対し、前記第1のメモリに記憶された対応するシンボル値の表現からシンボルメッセージλnmを計算するとともに、前の反復からチェックノードメッセージを計算する第1の計算を実行するステップと、
‐ この第1の計算により生ぜしめられ、第1のシーケンスで配置されたシンボルメッセージを受け、このシンボルメッセージを、サーキュラントの回転に応じた異なるシーケンスで生ぜしめるバレルシフト処理を実行するステップと、
‐ 前記LLR‐BPアルゴリズムに応じて、チェックノードメッセージを計算するとともに、計算したこのチェックノードメッセージの表現を前記第2のメモリに記憶させる第2の計算であって、この計算は、それぞれのチェックノードによりバレルシフタから受けたシンボルメッセージに応じて行う当該第2の計算を実行するステップと、
‐ 前記第1及び第2の計算の出力に応じて前記第1のメモリ内のシンボル値の表現を更新するステップと
を具えるLDPCデコーディング方法を提供する。
S1 +S2 +P1 =0mod2
S3 +S4 +P2 =0mod2
P3 +P4 +P5 =0mod2
S1 +S3 +P3 =0mod2
S2 +S4 +P4 =0mod2
P1 +P2 +P5 =0mod2
N(m)={n|n=0,1,…,N−1;Hmn≠0}
を規定する。
M(n)={m|m=0,1,…,M−1;Hmn≠0}
を規定する。
‐ Ln :入力メッセージをシンボルノードnで表現したxビットである。例えば、符号化されたワードを伝送するのに、BPSK変調が用いられている場合、Ln は、
‐ [数1]: i番目の反復においてシンボルノードnからチェックノードmに送信されるメッセージである。
このメッセージを“シンボルメッセージ”とも称する。このシンボルメッセージは、一般に、(Ln である)シンボルノードnで受信したもとの値と、接続されたチェックノードから受信した更新メッセージとに依存する。従って、第1の反復では、Ln のみがシンボルメッセージとして送信される。チェックノードからの更新メッセージを、
‐ λn :デコーダの出力メッセージである。通常、λnmの場合と相違し、デコーダの出力メッセージλn は代表的にシンボルノードnに得られる全ての情報を用いるものであり、最後の反復Iに必要となるだけである。
‐ Λメモリにおける全記憶容量は、1つの標準規格に対し要求された全てのコードに依存させる。一例として、DVB‐S2は規定された12レートを有し、Kは4〜30の範囲にある。メモリ内に記憶する必要があるベクトルの個数は各レートに対し異なる。DVB‐S2で使用するレートを10とした場合、上述したことは、b=5であるものとすると、全体の圧縮係数は3.4であることを意味する。
‐ Λメモリの1ワードに
‐ 2ポートメモリが得られ、高さが既に固定されているFPGA技術を対象とする場合、Λの圧縮は如何なる利点をももたらすものではない。
‐ 処理すべき“副層”の個数がだいぶ少ない場合には、圧縮型メモリの高さは、圧縮により領域上の利点が殆ど得られない程度に低くなりうる。
Claims (8)
- ガロアフィールド上のLDPCコードを反復復号するLDPCデコーダであって、LDPCコードは、複数のサブマトリックスより成る予め決定したM×NのパリティチェックマトリックスHにより表され、各サブマトリックスはゼロマトリックスか、又は各行及び列におけるゼロでないエレメントの個数が同じであるマトリックスであり、LDPCデコーダは、シンボルメッセージλnmをそれぞれのシンボルノードn(0≦n<N)から、接続されているチェックノードm(0≦m<M)に送給するとともに、チェックノードメッセージΛmnをそれぞれのチェックノードmから、接続されているシンボルノードnに送給することを表すLLR‐BP(Log-Likelihood Ratio Belief-Propagation)アルゴリズムに基づいており、シンボルノードとチェックノードとの間の接続は、前記パリティチェックマトリックスHにより規定される当該LDPCデコーダにおいて、このLDPCデコーダが、
‐ 各シンボルノードに対し、前記LDPCコードの対応するシンボルのそれぞれのシンボル値の表現を記憶する第1のメモリと、
‐ それぞれのチェックノードメッセージΛmnの表現を記憶する第2のメモリと、
‐ 次の反復に対し、前記第1のメモリに記憶された対応するシンボル値の表現からシンボルメッセージλnmを計算するとともに、前の反復からチェックノードメッセージを計算する第1の計算手段と、
‐ この第1の計算手段から、第1のシーケンスで配置されたシンボルメッセージを受け、このシンボルメッセージを、対応するサブマトリックスにおけるゼロでないエレメントの位置に応じた異なるシーケンスで生ぜしめるシャフラと、
‐ 前記LLR‐BPアルゴリズムに応じて、チェックノードメッセージを計算するとともに、計算したこのチェックノードメッセージの表現を前記第2のメモリに記憶させる第2の計算手段であって、この計算は、それぞれのチェックノードによりバレルシフタから受けたシンボルメッセージに応じて行うようにした当該第2の計算手段と、
‐ 前記第1及び第2の計算手段の出力に応じて前記第1のメモリ内のシンボル値の表現を更新する第3の計算手段と
を具えるLDPCデコーダ。 - 請求項2に記載のLDPCデコーダにおいて、前記第1の計算手段は、各反復において関連のチェックノードメッセージのそれぞれ1つを計算結果と合成することにより、単一のシンボルノードに関連するシンボルメッセージを反復計算するように配置されているLDPCデコーダ。
- 請求項1に記載のLDPCデコーダにおいて、LLR‐BPアルゴリズムは、min-sumアルゴリズムに基づいており、前記LDPCデコーダが、シンボルメッセージの値に補正係数αを乗じる補正手段と、値を予め決定した範囲に制限する飽和手段とを有しており、これら補正手段及び飽和手段は前記第1の計算手段と前記シャフラとの間に配置されているLDPCデコーダ。
- 請求項1に記載のLDPCデコーダにおいて、シンボルメッセージの表現が、予め決定したシーケンスで前記第1のメモリ内に記憶されており、LDPCデコーダは、前記第2の計算手段と前記第3の計算手段との間に配置されて前記予め決定したシーケンスに対応するシーケンスでチェックノードメッセージを生じる更なるシャフラを有しているLDPCデコーダ。
- 請求項1に記載のLDPCデコーダにおいて、LLR‐BPアルゴリズムは、min-sumアルゴリズムに基づいており、前記第2の計算手段は、チェックノードメッセージを圧縮し、このチェックノードメッセージを圧縮形態で前記第2のメモリに記憶させる圧縮手段を有し、前記第1の計算手段は、前記第2のメモリから読み出したチェックノードメッセージを解凍する解凍手段を有しているLDPCデコーダ。
- 請求項1に記載のLDPCデコーダにおいて、前記サブマトリックスは、ゼロマトリックスか又は少なくとも1つの対角を有する対角マトリックスであるサーキュラントであり、少なくとも1つのサーキュラントは、単位マトリックスを少なくとも1つの位置に亘って回転させることにより形成した対角マトリックスであり、前記シャフラは、サーキュラントの回転に応じてシンボルメッセージのシーケンスを変更するバレルシフタであるLDPCデコーダ。
- ガロアフィールド上のLDPCコードを反復復号するLDPCデコーディング方法であって、LDPCコードは、複数のサブマトリックスより成る予め決定したM×NのパリティチェックマトリックスHにより表し、各サブマトリックスはゼロマトリックスか、又は各行及び列におけるゼロでないエレメントの個数が同じであるマトリックスとし、前記LDPCデコーディング方法は、シンボルメッセージλnmをそれぞれのシンボルノードn(0≦n<N)から、接続されているチェックノードm(0≦m<M)に送給するとともに、チェックノードメッセージΛmnをそれぞれのチェックノードmから、接続されているシンボルノードnに送給することを表すLLR‐BP(Log-Likelihood Ratio Belief-Propagation)アルゴリズムに基づかせ、シンボルノードとチェックノードとの間の接続は、前記パリティチェックマトリックスHにより規定する当該LDPCデコーディング方法において、このLDPCデコーディング方法は、
‐ 各シンボルノードに対し、前記LDPCコードの対応するシンボルのそれぞれのシンボル値の表現を第1のメモリに記憶させるステップと、
‐ それぞれのチェックノードメッセージΛmnの表現を第2のメモリに記憶させるステップと、
‐ 次の反復に対し、前記第1のメモリに記憶された対応するシンボル値の表現からシンボルメッセージλnmを計算するとともに、前の反復からチェックノードメッセージを計算する第1の計算を実行するステップと、
‐ この第1の計算により生ぜしめられ、第1のシーケンスで配置されたシンボルメッセージを受け、このシンボルメッセージを、対応するサブマトリックスにおけるゼロでないエレメントの位置に応じた異なるシーケンスで生ぜしめるシャフル処理を実行するステップと、
‐ 前記LLR‐BPアルゴリズムに応じて、チェックノードメッセージを計算するとともに、計算したこのチェックノードメッセージの表現を前記第2のメモリに記憶させる第2の計算であって、この計算は、それぞれのチェックノードによりバレルシフタから受けたシンボルメッセージに応じて行う当該第2の計算を実行するステップと、
‐ 前記第1及び第2の計算の出力に応じて前記第1のメモリ内のシンボル値の表現を更新するステップと
を具えるLDPCデコーディング方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07111728 | 2007-07-04 | ||
EP07111728.7 | 2007-07-04 | ||
PCT/IB2008/052635 WO2009004572A1 (en) | 2007-07-04 | 2008-07-01 | Shuffled ldpc decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010532128A JP2010532128A (ja) | 2010-09-30 |
JP5306342B2 true JP5306342B2 (ja) | 2013-10-02 |
Family
ID=39816786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010514224A Expired - Fee Related JP5306342B2 (ja) | 2007-07-04 | 2008-07-01 | シャッフルldpcデコーディング |
Country Status (5)
Country | Link |
---|---|
US (1) | US8489962B2 (ja) |
EP (1) | EP2171857A1 (ja) |
JP (1) | JP5306342B2 (ja) |
CN (1) | CN101689865B (ja) |
WO (1) | WO2009004572A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418023B2 (en) | 2007-05-01 | 2013-04-09 | The Texas A&M University System | Low density parity check decoder for irregular LDPC codes |
US8196010B1 (en) | 2007-08-17 | 2012-06-05 | Marvell International, Ltd. | Generic encoder for low-density parity-check (LDPC) codes |
FR2944660B1 (fr) | 2009-04-16 | 2011-09-09 | St Microelectronics Sa | Decodeur ldpc |
KR20110124659A (ko) | 2010-05-11 | 2011-11-17 | 삼성전자주식회사 | 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 계층적 복호 장치 및 방법 |
JP5692780B2 (ja) * | 2010-10-05 | 2015-04-01 | 日本電気株式会社 | マルチコア型誤り訂正処理システムおよび誤り訂正処理装置 |
US8566667B2 (en) * | 2011-07-29 | 2013-10-22 | Stec, Inc. | Low density parity check code decoding system and method |
US8880985B2 (en) * | 2011-10-05 | 2014-11-04 | Nec Laboratories America, Inc. | High-speed long codeword QC-LDPC soft decision decoder |
JP5631846B2 (ja) * | 2011-11-01 | 2014-11-26 | 株式会社東芝 | 半導体メモリ装置および復号方法 |
US8762798B2 (en) | 2011-11-16 | 2014-06-24 | Stec, Inc. | Dynamic LDPC code rate solution |
US8775898B2 (en) * | 2012-05-17 | 2014-07-08 | Lsi Corporation | Systems and methods for hardware flexible low density parity check conversion |
US9213593B2 (en) * | 2013-01-16 | 2015-12-15 | Maxlinear, Inc. | Efficient memory architecture for low density parity check decoding |
US9037952B2 (en) * | 2013-02-06 | 2015-05-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Memory architecture for layered low-density parity-check decoder |
KR102019893B1 (ko) * | 2013-07-22 | 2019-09-09 | 삼성전자주식회사 | 저밀도 패리티 검사 부호를 지원하는 통신 시스템에서 신호 수신 장치 및 방법 |
GB2510932B (en) * | 2013-08-27 | 2015-01-21 | Imagination Tech Ltd | An improved decoder for low-density parity-check codes |
US9003257B1 (en) * | 2013-09-19 | 2015-04-07 | U-Blox Ag | Low density parity check encoder and encoding method |
EP3082267A4 (en) * | 2013-12-09 | 2017-08-16 | Mitsubishi Electric Corporation | Error-correction decoding device |
US9537508B1 (en) * | 2014-01-09 | 2017-01-03 | Marvell International Ltd. | Systems and methods for decoding cascade LDPC codes |
JP2015135621A (ja) | 2014-01-17 | 2015-07-27 | 富士通株式会社 | 演算装置、演算方法および無線通信装置 |
CN103944587B (zh) * | 2014-05-07 | 2017-01-04 | 四川大学 | 一种有序排列非零元素的多进制ldpc码校验矩阵构造方法 |
TWI551058B (zh) * | 2014-05-09 | 2016-09-21 | 衡宇科技股份有限公司 | 最小-總和演算法之低密度奇偶校驗碼解碼器及其解碼方法 |
KR102189440B1 (ko) | 2014-08-25 | 2020-12-14 | 삼성전자주식회사 | 에러 정정 디코더를 포함하는 스토리지 장치 및 에러 정정 디코더의 동작 방법 |
US9973212B2 (en) * | 2015-09-08 | 2018-05-15 | Storart Technology Co. Ltd. | Decoding algorithm with enhanced parity check matrix and re-encoding scheme for LDPC code |
CN106997777B (zh) * | 2015-09-18 | 2021-01-05 | 爱思开海力士有限公司 | 具有改进的硬解码吞吐量的vss ldpc解码器 |
KR102589918B1 (ko) | 2016-07-19 | 2023-10-18 | 삼성전자주식회사 | 저밀도 패리티 체크 디코더 및 그것을 포함하는 저장 장치 |
CN106533452B (zh) * | 2016-11-14 | 2019-05-07 | 中国电子科技集团公司第五十四研究所 | 一种多进制ldpc编码方法及编码器 |
US10289348B2 (en) * | 2016-12-30 | 2019-05-14 | Western Digital Technologies, Inc. | Tapered variable node memory |
CN108809327B (zh) * | 2017-05-05 | 2022-01-28 | 上海数字电视国家工程研究中心有限公司 | Ldpc译码方法 |
EP3419181A1 (en) * | 2017-06-19 | 2018-12-26 | Universite De Bretagne Sud | Simplified check node processing in non-binary ldpc decoder |
CN108736898B (zh) * | 2018-05-31 | 2021-09-07 | 东南大学 | 一种适用于5g系统的ldpc码编解码器复用方法 |
TWI677878B (zh) | 2018-10-12 | 2019-11-21 | 慧榮科技股份有限公司 | 編碼器及相關的編碼方法與快閃記憶體控制器 |
CN110768679B (zh) * | 2019-10-30 | 2023-08-22 | 湖南国科微电子股份有限公司 | 64进制ldpc的码字校验方法及系统 |
GB2595240B (en) * | 2020-05-18 | 2022-11-30 | Accelercomm Ltd | Low density parity check decoder, electronic device, and method therefor |
US20240014828A1 (en) * | 2020-09-03 | 2024-01-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for improved belief propagation based decoding |
CN113411087B (zh) * | 2021-06-30 | 2023-05-09 | 展讯半导体(成都)有限公司 | 解码q元LDPC的方法、电路及包括其的接收机 |
TWI804347B (zh) * | 2022-06-16 | 2023-06-01 | 慧榮科技股份有限公司 | 編碼器與快閃記憶體控制器 |
CN117879620A (zh) * | 2024-03-13 | 2024-04-12 | 荣耀终端有限公司 | 译码方法、可读存储介质、程序产品及电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415079B2 (en) * | 2000-09-12 | 2008-08-19 | Broadcom Corporation | Decoder design adaptable to decode coded signals using min* or max* processing |
US7093179B2 (en) * | 2001-03-22 | 2006-08-15 | University Of Florida | Method and coding means for error-correction utilizing concatenated parity and turbo codes |
US7587659B2 (en) * | 2002-05-31 | 2009-09-08 | Broadcom Corporation | Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders |
JP4224777B2 (ja) * | 2003-05-13 | 2009-02-18 | ソニー株式会社 | 復号方法および復号装置、並びにプログラム |
US7174495B2 (en) * | 2003-12-19 | 2007-02-06 | Emmanuel Boutillon | LDPC decoder, corresponding method, system and computer program |
US7730377B2 (en) * | 2004-07-22 | 2010-06-01 | Texas Instruments Incorporated | Layered decoding of low density parity check (LDPC) codes |
CN101069356A (zh) * | 2004-12-02 | 2007-11-07 | 三菱电机株式会社 | 解码装置以及通信装置 |
US7500172B2 (en) | 2005-02-26 | 2009-03-03 | Broadcom Corporation | AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes |
EP1966897A4 (en) * | 2005-12-27 | 2012-05-30 | Lg Electronics Inc | DEVICES AND METHODS FOR DECODING USING A CHANNEL CODE OR LPDC |
FR2896359A1 (fr) * | 2006-01-19 | 2007-07-20 | France Telecom | Procede d'encodage et de decodage rapides et dispositifs associes. |
CN100546205C (zh) * | 2006-04-29 | 2009-09-30 | 北京泰美世纪科技有限公司 | 构造低密度奇偶校验码的方法、译码方法及其传输系统 |
CN101212277A (zh) * | 2006-12-29 | 2008-07-02 | 中兴通讯股份有限公司 | 支持多协议标准的ldpc码译码装置 |
EP2056550B1 (en) * | 2007-10-30 | 2013-04-24 | Sony Corporation | Data processing apparatus and method |
-
2008
- 2008-07-01 WO PCT/IB2008/052635 patent/WO2009004572A1/en active Application Filing
- 2008-07-01 US US12/452,412 patent/US8489962B2/en not_active Expired - Fee Related
- 2008-07-01 CN CN2008800233220A patent/CN101689865B/zh not_active Expired - Fee Related
- 2008-07-01 EP EP08763425A patent/EP2171857A1/en not_active Withdrawn
- 2008-07-01 JP JP2010514224A patent/JP5306342B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2009004572A1 (en) | 2009-01-08 |
US20100251059A1 (en) | 2010-09-30 |
EP2171857A1 (en) | 2010-04-07 |
CN101689865A (zh) | 2010-03-31 |
US8489962B2 (en) | 2013-07-16 |
CN101689865B (zh) | 2012-10-24 |
JP2010532128A (ja) | 2010-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5306342B2 (ja) | シャッフルldpcデコーディング | |
CN109783270B (zh) | 用于解码纠错码的系统和方法 | |
KR101227264B1 (ko) | Ldpc 코드용 디코더 | |
US8291283B1 (en) | Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter | |
JP4516602B2 (ja) | データのエンコードおよびデコード方法および装置 | |
JP4062435B2 (ja) | 誤り訂正符号復号装置 | |
US8516347B1 (en) | Non-binary LDPC extrinsic calculation unit (LECU) for iterative decoding | |
US11115051B2 (en) | Systems and methods for decoding error correcting codes | |
US8880973B1 (en) | Detector-decoder interface for GF(q) iterative decoding | |
US8572463B2 (en) | Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size | |
US20110246862A1 (en) | Hard input low density parity check decoder | |
US20200321985A1 (en) | Non-concatenated fec codes for ultra-high speed optical transport networks | |
CN109586731B (zh) | 用于解码纠错码的系统和方法 | |
KR20100005231A (ko) | 패리티 검사 디코더들에서 사용하기 위한 노드 처리기들 | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
Thi et al. | Basic-set trellis min–max decoder architecture for nonbinary ldpc codes with high-order galois fields | |
Lin et al. | An efficient decoder architecture for nonbinary LDPC codes with extended min-sum algorithm | |
JP6395658B2 (ja) | 誤り訂正復号装置、受信装置及び誤り訂正復号方法 | |
US10419026B2 (en) | Method and apparatus for efficient data decoding | |
Choi et al. | Block-Layered Decoder Architecture for Quasi-Cyclic Nonbinary LDPC Codes | |
Kim | Improved trellis-based decoder for non-binary LDPC codes | |
WO2023139782A1 (ja) | 復号装置、制御回路、記憶媒体および復号方法 | |
Priewasser et al. | Trade-off analysis of decoding algorithms and architectures for multi-standard LDPC decoder | |
Osman et al. | Two extended programmable BCH soft decoders using least reliable bits reprocessing | |
SHENG | Contributions to the construction and decoding of non-binary low-density parity-check codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110623 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130219 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20130507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130517 |
|
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: 20130625 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |