JP5310701B2 - 復号装置および復号方法 - Google Patents

復号装置および復号方法 Download PDF

Info

Publication number
JP5310701B2
JP5310701B2 JP2010244519A JP2010244519A JP5310701B2 JP 5310701 B2 JP5310701 B2 JP 5310701B2 JP 2010244519 A JP2010244519 A JP 2010244519A JP 2010244519 A JP2010244519 A JP 2010244519A JP 5310701 B2 JP5310701 B2 JP 5310701B2
Authority
JP
Japan
Prior art keywords
value ratio
matrix
unit
node processing
row
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.)
Active
Application number
JP2010244519A
Other languages
English (en)
Other versions
JP2012099955A (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.)
JVCKenwood Corp
Original Assignee
JVCKenwood 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 JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2010244519A priority Critical patent/JP5310701B2/ja
Priority to PCT/JP2011/006039 priority patent/WO2012056713A1/ja
Priority to CN201180052487.2A priority patent/CN103190080B/zh
Publication of JP2012099955A publication Critical patent/JP2012099955A/ja
Priority to US13/871,901 priority patent/US9026880B2/en
Application granted granted Critical
Publication of JP5310701B2 publication Critical patent/JP5310701B2/ja
Active 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/07Arithmetic 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/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/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/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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array 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
    • 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/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
    • H03M13/1188Parity 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 wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3911Correction factor, e.g. approximations of the exp(1+x) function
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、復号技術に関し、特にLDPCによる符号化がなされたデータを復号する復号装置および復号方法に関する。
近年、低S/Nの伝送路でも強力な誤り訂正能力をもつ誤り訂正符号として、LDPC(Low Density Parity Check Code)が注目され、多くの分野で適用されている。LDPCでは、送信側において、疎な検査行列をもとに生成される符号化行列によって、データが符号化される。ここで、疎な検査行列とは、要素が1または0からなる行列であって、1の数が少ない行列である。一方、受信側において、検査行列をもとにして、データの復号とパリティ検査とがなされる。特に、BP(Belief Propagation)法等による繰り返し復号によって復号性能が向上する。
この復号では、検査行列の行方向に復号するチェックノード処理と、列方向に復号する変数ノード処理とを繰り返し実行する。チェックノード処理のひとつとして、Gallager関数や双曲線関数を用いるsum−product復号が知られている。sum−product復号では、伝送路ノイズの分散値から求まる通信路値を事前値として使用する。このようなsum−product復号において、繰り返し復号における繰り返し回数の低減によって、収束性を高速にすることが望まれている。これに対応するために、例えば、検査ノードに対して優先度を付与し、優先度の高い検査ノードから処理を実行することがなされている(例えば、特許文献1参照)。
特開2006−279396号公報
繰り返し復号における繰り返し回数の低減によって、収束性を高速にするためのひとつの解決策がshuffled復号を使用することである。これは、sum−product復号等において、1行に対するチェックノード処理が完了すると、変数ノード処理を直ちに実行することによって、事前値比を逐次更新する。一方、通常のsum−product復号では、検査行列のすべての行に対するチェックノード処理が終了した後に、変数ノード処理が実行される。shuffled復号によれば、チェックノード処理によって更新した外部値比を使用した変数ノード処理が逐次実行されるので、該当する列のすべての変数ノードに対する事前値比の更新が必要になる。その結果、列方向の非零要素の数(列重み)に比例して演算量は増加してしまう。
本発明はこうした状況に鑑みてなされたものであり、その目的は、高速な収束性を維持しながら、演算量の増加を抑制する技術を提供することにある。
上記課題を解決するために、本発明のある態様の復号装置は、符号化がなされたデータを入力する入力部と、入力部において入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するチェックノード処理部と、チェックノード処理部において更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定する特定部と、チェックノード処理部における行ごとの更新が終了すると、特定部において特定した新たな要素に対して、外部値比をもとに事前値比を更新する変数ノード処理部とを備える。チェックノード処理部と変数ノード処理部とは、交互に繰り返して処理を実行し、特定部は、新たな要素として、同一列中に含まれる複数の要素のうち、チェックノード処理部において次に更新がなされる要素を特定する。
この態様によると、新たな要素として、同一列中に含まれる複数の要素のうち、チェックノード処理部において次に更新がなされる要素を特定するので、変数ノード処理を実行すべき要素数を低減できる。
チェックノード処理部において使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、特定部は、パリティ検査行列の列方向において、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定してもよい。この場合、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定するので、基本行列単位の処理を実行できる。
チェックノード処理部において使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、特定部は、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止してもよい。この場合、チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止するので、基本行列に零行列が含まれていても変数ノード処理を実行できる。
本発明の別の態様は、復号方法である。この方法は、符号化がなされたデータを入力するステップと、入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するステップと、更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定するステップと、事前値比をもとに外部値比を更新するステップにおける行ごとの更新が終了すると、特定した新たな要素に対して、外部値比をもとに事前値比を更新するステップとを備える。事前値比をもとに外部値比を更新するステップと外部値比をもとに事前値比を更新するステップとは、交互に繰り返して処理を実行し、特定するステップは、新たな要素として、同一列中に含まれる複数の要素のうち、事前値比をもとに外部値比を更新するステップにおいて次に更新がなされる要素を特定する。
事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、特定するステップは、パリティ検査行列の列方向において、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定してもよい。
事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、特定するステップは、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止してもよい。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、高速な収束性を維持しながら、演算量の増加を抑制できる。
本発明の実施例1に係る通信システムの構成を示す図である。 図1のLDPC符号化部において使用される検査行列の一例を示す図である。 図1の復号部の構成を示す図である。 図3の復号部の動作を模式的に表したタナーグラフを示す図である。 図3の復号部における外部値比の更新の概要を示す図である。 図3の復号部における事前値比の更新の概要を示す図である。 図1の通信システムにおいて使用される検査行列を示す図である。 図7における検査行列を詳細に示した図である。 図3の特定部に記憶された列番号テーブルのデータ構造を示す図である。 図3の特定部に記憶された行番号テーブルのデータ構造を示す図である。 図3の復号部による復号手順を示すフローチャートである。 本発明の実施例2に係る通信システムにおいて使用される検査行列を示す図である。 図12における検査行列を詳細に示した図である。 本発明の実施例2に係る特定部に記憶された列番号テーブルのデータ構造を示す図である。 本発明の実施例2に係る特定部に記憶された行番号テーブルのデータ構造を示す図である。
(実施例1)
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例1は、LDPC符号化を実行する送信装置と、送信装置において符号化されたデータ(以下、「符号化データ」という)に対して検査行列をもとに繰り返し復号を実行する受信装置とを含む通信システムに関する。特に、受信装置は、min−sum復号において、shuffled復号も実行する。ここで、min−sum復号は、sum−product復号を簡略化した復号方法である。min−sum復号は、複雑な関数を用いることなく、比較演算、和演算等の簡単な処理だけでチェックノード処理を実行する。一方、前述のごとく、shuffled復号は、検査行列の1行に対するチェックノード処理が完了すると、変数ノード処理を実行する。しかしながら、変数ノード処理を実行すべき列には、複数の要素が含まれるので、処理量が増加する。これに対応するために、本実施例に係る通信システム、特に受信装置は、次の処理を実行する。
受信装置は、検査行列を構成する1行に対してチェックノード処理を実行する。詳細は後述するが、チェックノード処理によって外部値比が更新される。次に、受信装置は、外部値比を更新した要素から、当該要素が配置された列のうち、次にチェックノード処理を実行すべき新たな要素を特定する。ここでは、外部値比を更新した要素が配置された列の中から、ひとつの新たな要素だけが特定される。さらに、受信装置は、新たな要素に対して、変数ノード処理を実行する。これらに続いて、受信装置は、検査行列のうちの行を変更して、チェックノード処理を実行する。その後、受信装置は、チェックノード処理と変数ノード処理とを所定回数繰り返し実行する。
図1は、本発明の実施例1に係る通信システム100の構成を示す。通信システム100は、送信装置10、受信装置12を含む。送信装置10は、情報データ生成部20、LDPC符号化部22、変調部24を含む。受信装置12は、復調部26、復号部28、情報データ出力部30を含む。
情報データ生成部20は、送信すべきデータを取得し、情報データを生成する。なお、取得したデータがそのまま情報データとされてもよい。情報データ生成部20は、情報データをLDPC符号化部22へ出力する。LDPC符号化部22は、情報データ生成部20から、情報データを入力する。LDPC符号化部22は、LDPCでの検査行列をもとにしたパリティ(以下、「LDPCパリティ」という)を情報データに付加する。LDPCパリティを付加した情報データが、前述の符号化データに相当する。LDPC符号化部22は、符号化データを変調部24に出力する。図2は、LDPC符号化部22において使用される検査行列の一例を示す。検査行列Hmnは、m行n列の行列である。ここでは、説明を明瞭にするために、検査行列Hmnが4行8列であるとするが、これに限定されるものではない。図1に戻る。
変調部24は、LDPC符号化部22から符号化データを入力する。変調部24は、符号化データを変調する。変調方式として、PSK(Phase Shift Keying)、FSK(Frequency Shift Keying)等が使用される。変調部24は、変調した符号化データを変調信号として送信する。復調部26は、変調部24から通信路、例えば無線伝送路を介して変調信号を受信する。復調部26は、変調信号を復調する。復調には公知の技術が使用されればよいので、ここでは説明を省略する。復調部26は、復調結果(以下、「復調データ」という)を復号部28へ出力する。
復号部28は、復調部26からの復調データを入力する。復号部28は、復調データに対して、LDCPでの検査行列による復号処理を繰り返し実行する。復号処理として、例えば、min−sum復号が実行される。ここでは、特に、min−sum復号での変数ノード処理において、shuffled復号を実行する。min−sum復号は、次の手順で実行される。
1.初期化:事前値比を初期化し、最大復号繰り返し回数を設定する。
2.チェックノード処理:検査行列の行方向に対して外部値比を更新する。
3.変数ノード処理:検査行列の列方向に対して事前値比を更新する。
4.一時推定語を計算する。
復号部28は、復号結果(以下、「復号データ」という)を情報データ出力部30へ出力する。情報データ出力部30は、復号部28からの復号データを入力する。情報データ出力部30は、復号データをもとに情報データを生成する。なお、復号データがそのまま情報データとされてもよい。情報データ出力部30は、外符号復号部を含み、例えばCRC(Cyclic Redundancy Check)等の外符号を復号してもよい。
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
図3は、復号部28の構成を示す。復号部28は、フレーム構成部40、制御部42、データ記憶部44、min−sum処理部46、復号結果演算部48を含む。また、min−sum処理部46は、チェックノード処理部56、変数ノード処理部58、特定部60を含む。
フレーム構成部40は、図示しない復調部26からの復調データを入力する。復調データは、通信路を介してのLDPC符号化がなされたデータといえる。フレーム構成部40は、復調データに含まれたフレーム同期信号を検出する。フレーム構成部40は、フレーム同期信号をもとに、復調データによって形成されるフレームの単位を特定する。例えば、フレームの先頭部分にフレーム同期信号が配置され、かつフレームの期間が固定長である場合、フレーム構成部40は、フレーム同期信号を検出してから固定長の期間をフレームと特定する。なお、LDPC符号化の単位がフレームであってもよい。フレーム構成部40は、フレーム単位にまとめた復調データをデータ記憶部44に記憶させる。データ記憶部44は、フレーム単位で復調信号を一時的に記憶する。また、データ記憶部44は、検査行列に相当するテーブルを記憶する。さらに、データ記憶部44は、チェックノード処理において更新される外部値比、変数ノード処理において更新される事前値等も記憶する。
min−sum処理部46は、データ記憶部44からの復調データを入力する。min−sum処理部46は、復調データに対してmin−sum復号を実行する。min−sum復号では、チェックノード処理部56と変数ノード処理部58とが交互に動作される。なお、min−sum処理部46は、shuffled復号も実行するので、検査行列のうちの1行に対するチェックノード処理が終了すると、変数ノード処理が直ちに実行される。図4は、復号部28の動作を模式的に表したタナーグラフを示す。タナーグラフでは、b1からb8が変数ノードと呼ばれ、c1からc4がチェックノードと呼ばれる。ここでは、変数ノードの数をnとし、bnをn番目の変数ノードとする。また、チェックノードの数をmとし、cmをm番目のチェックノードとする。変数ノードb1からb8には、図3のデータ記憶部44に蓄えられたデータy1からy8が接続されている。
次のようにN(m)とM(n)を定義する。
Figure 0005310701
これらを図2の検査行列に適用すると、N(1)={1,2,3,4}、N(2)={1,3,5,7}、N(3)={2,4,6,8}、N(4)={5,6,7,8}、M(1)={1,2}、M(2)={1,3},M(3)={1,2}、M(4)={1,3}、M(5)={2,4}、M(6)={3,4}、M(7)={2,4}、M(8)={3,4}と示される。
チェックノード処理による外部値比αmnの更新は、図4のタナーグラフにおいて、チェックノードc1に接続されるb1、b2、b3、b4からの事前値比βmnを使用する。例えば、外部値比α11の更新は図5に示されるようになされる。図5は、復号部28における外部値比の更新の概要を示す。α11の更新には、変数ノードb1を除いたb2、b3、b4の事前値比が使用される。min−sum復号におけるチェックノード処理は、次のように示される。
Figure 0005310701
ここで、aは正規化定数であり、1よりも小さい。なお、事前値比βmnの初期値は、入力データynで初期化すればよい。入力yは、復調データに相当する。一方、sum−product復号におけるi回目の繰り返しに対するチェックノード処理は、次のように示される。
Figure 0005310701
更新された変数ノードに対して変数ノード処理が実行されることによって、M(n)にしたがって事前値比βmnの更新が逐次なされる。変数ノード処理による事前値比βmnの更新は、図4のタナーグラフにおいて、変数ノードb1に接続されるc1、c2からの外部値比を使用する。例えば、事前値比β11の更新は図6に示されるようになされる。図6は、復号部28における事前値比の更新の概要を示す。β11の更新には、チェックノードc1を除いたc2の外部値比が使用される。このような変数ノード処理は、次のように示される。
Figure 0005310701
ここで、λは入力yあるいは、通信路のノイズ分散値と入力yとから求まる値である。図3に戻る。
チェックノード処理部56は、式(2)にしたがって、データ記憶部44からの復調データに対して、検査行列の行ごとに、事前値比をもとに外部値比を更新する。本実施例における送信装置10と受信装置12とは、図2に示した検査行列とは別の検査行列を使用する。図7は、通信システム100において使用される検査行列を示す。図中の「1」は単位行列を示し、「α」は単位行列の巡回行列を示し、「α」は単位行列をnビット巡回した巡回行列を示す。ここでは、単位行列、巡回行列を基本行列と総称するが、基本行列は、単位行列および巡回行列のいずれであってもかまわない。単位行列(ブロック)を5×5の大きさの行列と定義すると、検査行列は図8のようにも示される。
図8は、図7における検査行列を詳細に示した図である。なお、「1」が記されていない要素は0になっている。図示のごとく、検査行列は、行方向に3ブロック(ブロック長B=5)、列方向に6ブロックの行列によって構成されている。ブロックごとの行列は、基本行列とも呼ばれる。行の位置を示す行番号、列の位置を示す列番号、行方向の要素「1」の数である行重み、列方向の要素「1」である列重みも図示の通りである。図3に戻る。
図8に示した検査行列をそのまま記憶すると記憶容量も大きくなる上、チェックノード処理、変数ノード処理演算が複雑になるので、特定部60は、検査行列の代わりに、列番号テーブル、行番号テーブルを記憶する。図9は、特定部60に記憶された列番号テーブルのデータ構造を示す。列番号テーブルは、各行に対する列インデックスcを示す。列インデックスcは、行方向における要素「1」の出現順を示す。図10は、特定部60に記憶された行番号テーブルのデータ構造を示す。行番号テーブルは、各列に対する行インデックスrを示す。行インデックスrは、列方向にみた要素1の出現順を示す。図3に戻る。
特定部60は、チェックノード処理部56において更新した外部値比に対応した要素から、同一列で異なった行の新たな要素を特定する。更新した外部値比がαmnである場合、これに対応した要素は、検査行列のm行n列に対応する。新たな要素は、同一列中に含まれる複数の要素のうち、チェックノード処理部56において次に更新がなされる要素に相当する。
このような処理を具体的に説明する。チェックノード処理部56において1行目(m=0)の処理が終了したとする。その際、チェックノード処理部56では、図10の列インデックスc=0〜5に対応する列番号n={0,5,10,15,20,25}の事前値比を使用して外部値比の更新がなされている。一行分のチェックノード処理が終了されると、特定部60は、図9の列番号テーブルと図10の行番号テーブルとをもとにして、チェックノード処理を実行した列位置と行位置とから、チェックノード処理の終了後に更新すべき事前値比を求める行位置を検出する。
特定部60は、チェックノード処理部56において処理した行の位置をブロック長(B)で除算した整数部分に1を加えることによって、次のように行インデックスrを導出する。なお、rが列重みに等しい場合にはr=0とする。
r=floor{(m=0)/(B=5)}+1=1・・・(5)
(floorは整数以下切捨て演算を示す。)
例えば、特定部60は、行番号テーブルのうちの列番号n={0,5,10,15,20,25}に対して、行インデックスrが1に対応した部分を抽出することによって、m={5,9,8,7,6,5}を特定する。すなわち、r=1より、1行目のチェックノード処理を行った後には(m、n)が、(5,0)、(9,5)、(8,10)、(7,15)、(6,20)、(5、25)と示される要素が特定される。
同様にして、行番号10のn={0,7,14,16,23,25}に対するチェックノード処理が終了した場合に、特定部60は、r=3を導出する。これは列重みに等しいので、特定部60は、r=0とする。特定部60は、行番号テーブルのうちの列番号n={0,7,14,16,23,25}に対して、行インデックスrが0に対応した部分を抽出することによって、m={0,2,4,1,3,0}を特定する。rが列重みに等しい場合r=0とするのは次の繰り返し復号の事前値比を求めるためである。つまり、特定部60は、検査行列の列方向において、チェックノード処理部56において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定する。
変数ノード処理部58は、チェックノード処理部56における行ごとの更新が終了すると、特定部60において特定した新たな要素に対して、式(4)にしたがって、外部値比をもとに事前値比を更新する。つまり、変数ノード処理部58において更新される事前値比βmnは、特定部60において特定された新たな要素に限定される。前述のごとく、特定部60において特定される新たな要素は、次以降のチェックノード処理での更新に使用される事前値比をもつ変数ノードに相当する。すなわち、次以降のチェックノード処理に用いる事前値比のみが導出される。
制御部42は、チェックノード処理部56と変数ノード処理部58とに対して、交互に処理を繰り返させる。つまり、前述のチェックノード処理部56と変数ノード処理部58の処理を最終行まで繰り返すと1回の繰り返し復号が終了するので、制御部42は、次の繰り返し復号を実行させる。制御部42は、このような繰り返し復号を実行させて、所定の繰り返し回数に到達した場合に復号処理を停止させる。
復号結果演算部48は、チェックノード処理部56での処理と変数ノード処理部58での処理とが所定回数繰り返された後、一時推定語を計算する。なお、復号結果演算部48は、所定回数繰り返される前であっても、パリティ検査の結果が正しければ一時推定語を計算してもよい。復号結果演算部48は、一時推定語を復号結果として出力する。
以上の構成による通信システム100の動作を説明する。図11は、復号部28による復号手順を示すフローチャートである。チェックノード処理部56は、βを初期化し(S10)、チェックノード処理を実行する(S12)。特定部60は、変数ノード処理を実行するための新たな要素を特定する(S14)。変数ノード処理部58は、特定した新たな要素に対して変数ノード処理を実行する(S16)。制御部42は、繰り返し処理を続行する場合(S18のY)、ステップ12に戻る。一方、制御部42は、繰り返し処理を続行しない場合(S18のN)、処理を終了する。
本発明の実施例によれば、新たな要素として、チェックノード処理を実行した要素に対して、同一列中に含まれる複数の要素のうち、次にチェックノード処理を実行すべき要素を特定するので、変数ノード処理の実行対象となる要素数を低減できる。また、変数ノード処理の実行対象となる要素数が低減されるので、shuffled復号の処理量を低減できる。また、shuffled復号の処理量が低減されるので、高速な収束性を維持しながら、演算量の増加を抑制できる。また、基本行列単位に新たな要素を特定するので、基本行列単位の処理を実行できる。また、基本行列単位の処理が実行されるので、処理量を低減できる。また、チェックノード処理の後、変数ノード処理はひとつの行に限って行えばよいので、列重み分の1の演算回数に演算量を低減できる。
(実施例2)
次に、本発明の実施例2を説明する。本発明の実施例2は、実施例1と同様に、min−sum復号において、shuffled復号も実行する受信装置に関する。実施例1における検査行列では、各行に対する行重みが等しい。一方、実施例2における検査行列では、各行に対する行重みが等しくない。この場合、チェックノード処理の後、新たな要素を特定する際に、同一列内に「1」の要素が存在しないことがありえる。そのような状況においても、shuffled復号を続行するために、実施例に係る受信装置は、同一列内に「1」の要素が存在しない場合に、当該列内の特定を停止し、他の列における変数ノード処理のみを実行する。実施例2に係る通信システム100は、図1と同様のタイプであり、復号部28は、図3と同様のタイプである。ここでは、差異を中心に説明する。
図12は、本発明の実施例2に係る通信システム100において使用される検査行列を示す。図中の「0」は、零行列を示す。図12は、図7と同様に示される。図13は、図12における検査行列を詳細に示した図である。図13は、図8と同様に示される。特定部60は、列番号テーブルと行番号テーブルとを記憶する。図14は、本発明の実施例2に係る特定部60に記憶された列番号テーブルのデータ構造を示し、図15は、本発明の実施例2に係る特定部60に記憶された行番号テーブルのデータ構造を示す。これらは、図9、図10と同様に示される。図3に戻る。
図13の場合、列重みの最小公倍数は6であり、特定部60は、0〜5の繰り返しを実行する。特定部60は、行インデックスカウンタを備え、初期値として「0」を設定する。また、特定部60は、図15における行インデックスの変わる行のチェックノード処理を実行する場合に、行インデックスカウンタをカウントアップする。つまり、図13の検査行列の場合には0行目の処理と5行目の処理と10行目の処理を行う際に、特定部60は、行インデックスカウンタをカウントアップする。
例えば、チェックノード処理部56において1行目(m=0)の処理が終了したとする。その際、チェックノード処理部56では、列インデックスc=0〜5に対応する列番号n={0,5,10,15,20,25}の事前値比を用いて外部値比の更新がなされる。特定部60は、0行目の行なので、行インデックスカウンタを1にカウントアップする。特定部60は、行番号テーブルのうちの列番号n={0,5,10,15,20,25}に対して、行インデックスrが1に対応した部分を抽出することによって、m={5,9,8,7,6}を特定する。つまり、列番号n=0に対する新たな要素は特定されない。これは、チェックノード処理部56において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止することに相当する。
本発明の実施例によれば、チェックノード処理した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止するので、基本行列に零行列が含まれていても変数ノード処理を実行できる。また、基本行列に零行列が含まれていても変数ノード処理が実行されるので、さまざまな形式の検査行列に本実施例を適用できる。また、LDPC復号の変数ノード処理の演算回数を減らしつつ、復号性能を同等に維持できる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本発明の実施例において、通信システム100は無線通信システムを前提としているので、送信装置10および受信装置12は、無線通信装置に含まれる。しかしながらこれに限らず例えば、通信システム100は有線通信システムを前提としてもよい。その際、送信装置10および受信装置12は、有線通信装置に含まれる。本変形例によれば、本発明をさまざまな装置に適用できる。
本発明の実施例において、受信装置12は、min−sum復号を実行している。しかしながらこれに限らず例えば、受信装置12は、min−sum復号の代わりに、sum−product復号を実行してもよい。その際、sum−product復号において、shuffled復号が実行されればよい。本変形例によれば、受信特性を向上できる。
本発明の実施例において、通信システム100では、図8や図13のような検査行列が使用されている。しかしながらこれに限らず例えば、通信システム100では、擬似巡回行列を用いたLDGM等の検査行列が使用されてもよい。本変形例によれば、さまざまなタイプの検査行列を使用できる。
本発明の実施例において、送信装置10は、LDPC符号化を実行している。しかしながらこれに限らず例えば、送信装置10は、LDPC符号化以外の符号化であっても、復号の際にmin−sum復号やsum−product復号を実行可能な符号化を実行してもよい。本変形例によれば、本発明をさまざまな符号化に適用できる。
10 送信装置、 12 受信装置、 20 情報データ生成部、 22 LDPC符号化部、 24 変調部、 26 復調部、 28 復号部、 30 情報データ出力部、 40 フレーム構成部、 42 制御部、 44 データ記憶部、 46 min−sum処理部、 48 復号結果演算部、 56 チェックノード処理部、 58 変数ノード処理部、 60 特定部、 100 通信システム。

Claims (6)

  1. 符号化がなされたデータを入力する入力部と、
    前記入力部において入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するチェックノード処理部と、
    前記チェックノード処理部において更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定する特定部と、
    前記チェックノード処理部における行ごとの更新が終了すると、前記特定部において特定した新たな要素に対して、外部値比をもとに事前値比を更新する変数ノード処理部とを備え、
    前記チェックノード処理部と前記変数ノード処理部とは、交互に繰り返して処理を実行し、
    前記特定部は、新たな要素として、同一列中に含まれる複数の要素のうち、前記チェックノード処理部において次に更新がなされる要素を特定することを特徴とする復号装置。
  2. 前記チェックノード処理部において使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、
    前記特定部は、パリティ検査行列の列方向において、前記チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定することを特徴とする請求項1に記載の復号装置。
  3. 前記チェックノード処理部において使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、
    前記特定部は、前記チェックノード処理部において更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止することを特徴とする請求項2に記載の復号装置。
  4. 符号化がなされたデータを入力するステップと、
    入力したデータに対して、パリティ検査行列の行ごとに、事前値比をもとに外部値比を更新するステップと、
    更新した外部値比に対応した要素であって、かつパリティ検査行列の行と列によって特定される要素から、同一列で異なった行の新たな要素を特定するステップと、
    前記事前値比をもとに外部値比を更新するステップにおける行ごとの更新が終了すると、特定した新たな要素に対して、外部値比をもとに事前値比を更新するステップとを備え、
    前記事前値比をもとに外部値比を更新するステップと前記外部値比をもとに事前値比を更新するステップとは、交互に繰り返して処理を実行し、
    前記特定するステップは、新たな要素として、同一列中に含まれる複数の要素のうち、前記事前値比をもとに外部値比を更新するステップにおいて次に更新がなされる要素を特定することを特徴とする復号方法。
  5. 前記事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列では、単位行列あるいは単位行列の巡回シフト行列によって構成される基本行列が行方向および列方向に複数配置されており、
    前記特定するステップは、パリティ検査行列の列方向において、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列に含まれた新たな要素を特定することを特徴とする請求項4に記載の復号方法。
  6. 前記事前値比をもとに外部値比を更新するステップにおいて使用されるパリティ検査行列に配置された基本行列は、零行列によっても構成され、
    前記特定するステップは、更新した外部値比に対応した要素が含まれた基本行列とは異なった基本行列が零行列であった場合、新たな要素の特定を停止することを特徴とする請求項5に記載の復号方法。
JP2010244519A 2010-10-29 2010-10-29 復号装置および復号方法 Active JP5310701B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010244519A JP5310701B2 (ja) 2010-10-29 2010-10-29 復号装置および復号方法
PCT/JP2011/006039 WO2012056713A1 (ja) 2010-10-29 2011-10-28 復号装置および復号方法
CN201180052487.2A CN103190080B (zh) 2010-10-29 2011-10-28 解码装置及解码方法
US13/871,901 US9026880B2 (en) 2010-10-29 2013-04-26 Decoding apparatus and decoding method for decoding LDPC-encoded data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010244519A JP5310701B2 (ja) 2010-10-29 2010-10-29 復号装置および復号方法

Publications (2)

Publication Number Publication Date
JP2012099955A JP2012099955A (ja) 2012-05-24
JP5310701B2 true JP5310701B2 (ja) 2013-10-09

Family

ID=45993457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010244519A Active JP5310701B2 (ja) 2010-10-29 2010-10-29 復号装置および復号方法

Country Status (4)

Country Link
US (1) US9026880B2 (ja)
JP (1) JP5310701B2 (ja)
CN (1) CN103190080B (ja)
WO (1) WO2012056713A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365601B2 (ja) * 2010-09-30 2013-12-11 株式会社Jvcケンウッド 復号装置および復号方法
DE102014215478B4 (de) * 2014-08-05 2019-06-13 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Übertragen von Daten
CN105846830B (zh) * 2015-01-14 2019-07-30 北京航空航天大学 数据处理装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
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
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
US7730377B2 (en) * 2004-07-22 2010-06-01 Texas Instruments Incorporated Layered decoding of low density parity check (LDPC) codes
KR100703271B1 (ko) * 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
EP1819056B1 (en) * 2004-12-02 2013-07-17 Mitsubishi Electric Corporation Decoding device and communication device
EP1829223B1 (en) * 2004-12-22 2013-02-13 LG Electronics Inc. Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes
JP4519694B2 (ja) 2005-03-29 2010-08-04 財団法人北九州産業学術推進機構 Ldpc符号検出装置及びldpc符号検出方法
US8006161B2 (en) * 2005-10-26 2011-08-23 Samsung Electronics Co., Ltd Apparatus and method for receiving signal in a communication system using a low density parity check code
US8151161B2 (en) * 2005-12-27 2012-04-03 Lg Electronics Inc. Apparatus and method for decoding using channel code
US7647548B2 (en) * 2006-07-31 2010-01-12 Agere Systems Inc. Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture
US7644339B2 (en) * 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
JP5507813B2 (ja) * 2007-02-16 2014-05-28 パナソニック株式会社 送信装置及び受信装置
US20080320374A1 (en) * 2007-06-22 2008-12-25 Legend Silicon Corp. Method and apparatus for decoding a ldpc code
US20090070659A1 (en) * 2007-09-11 2009-03-12 Legend Silicon Corp. Ldpc decoder with an improved llr update method using a set of relative values free from a shifting action
US8429483B1 (en) * 2007-12-12 2013-04-23 Marvell International Ltd. Edge-based decoders for low-density parity-check codes
US8291292B1 (en) * 2008-01-09 2012-10-16 Marvell International Ltd. Optimizing error floor performance of finite-precision layered decoders of low-density parity-check (LDPC) codes
CN101803205B (zh) * 2008-08-15 2013-12-18 Lsi公司 近码字的ram列表解码
US8161345B2 (en) * 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
US9356623B2 (en) * 2008-11-26 2016-05-31 Avago Technologies General Ip (Singapore) Pte. Ltd. LDPC decoder variable node units having fewer adder stages
CN102265520B (zh) * 2008-12-26 2014-05-14 松下电器产业株式会社 编码方法、编码器以及解码器
US8464121B2 (en) * 2009-01-07 2013-06-11 Intel Corporation LDPC codes with small amount of wiring
JP4545217B1 (ja) * 2009-04-03 2010-09-15 三菱電機株式会社 復号装置および復号方法
US8578256B2 (en) * 2009-04-22 2013-11-05 Agere Systems Llc Low-latency decoder
US8438461B2 (en) * 2009-10-12 2013-05-07 Marvell World Trade Ltd. Power consumption in LDPC decoder for low-power applications
US8572463B2 (en) * 2010-02-01 2013-10-29 Sk Hynix Memory Solutions Inc. Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size
WO2011127287A1 (en) * 2010-04-08 2011-10-13 Marvell World Trade Ltd. Non-binary ldpc code decoder
US8464142B2 (en) * 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8589755B2 (en) * 2010-06-16 2013-11-19 Nec Laboratories America, Inc. Reduced-complexity LDPC decoding
US8443255B2 (en) * 2010-08-26 2013-05-14 Qualcomm Incorporated Parity check matrix optimization and selection for iterative decoding

Also Published As

Publication number Publication date
US20130238950A1 (en) 2013-09-12
CN103190080A (zh) 2013-07-03
WO2012056713A1 (ja) 2012-05-03
CN103190080B (zh) 2016-01-20
JP2012099955A (ja) 2012-05-24
US9026880B2 (en) 2015-05-05

Similar Documents

Publication Publication Date Title
JP2012151676A (ja) 復号装置および復号方法
JP7152394B2 (ja) Ldpcコードを符号化および復号化するための方法および装置
US10511326B2 (en) Systems and methods for decoding error correcting codes
JP4062435B2 (ja) 誤り訂正符号復号装置
US11115051B2 (en) Systems and methods for decoding error correcting codes
WO2014122772A1 (ja) 誤り訂正符号の検査行列のデータ構造、並びに誤り訂正符号の符号化率可変装置および可変方法
JP2008514106A (ja) Ldpcコードを用いた符号化及び復号化方法
KR20090126829A (ko) 반복 복호 방법과 반복 복호 장치
US20190103885A1 (en) Systems and methods for decoding error correcting codes
WO2021063217A1 (zh) 一种译码方法及装置
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
US20200153457A1 (en) Generalized low-density parity check codes (gldpc)
JP5310701B2 (ja) 復号装置および復号方法
US9143165B2 (en) Decoding apparatus and decoding method for decoding LDPC-encoded data
JP5772622B2 (ja) 復号装置および復号方法
WO2012042786A1 (ja) 復号装置および復号方法
WO2018084732A1 (en) Ldpc codes for incremental redundancy harq (ir-harq) schemes
EP3526899A1 (en) Decoding of low-density parity-check convolutional turbo codes
JP2013070133A (ja) 復号装置および復号方法
JP2013150193A (ja) 復号装置および復号方法
JP2013207396A (ja) 復号装置、復号方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5310701

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150