JP4138700B2 - 復号装置および復号回路 - Google Patents

復号装置および復号回路 Download PDF

Info

Publication number
JP4138700B2
JP4138700B2 JP2004162418A JP2004162418A JP4138700B2 JP 4138700 B2 JP4138700 B2 JP 4138700B2 JP 2004162418 A JP2004162418 A JP 2004162418A JP 2004162418 A JP2004162418 A JP 2004162418A JP 4138700 B2 JP4138700 B2 JP 4138700B2
Authority
JP
Japan
Prior art keywords
likelihood
schedule
decoding
reliability
value
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
JP2004162418A
Other languages
English (en)
Other versions
JP2005347883A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004162418A priority Critical patent/JP4138700B2/ja
Priority to US11/138,999 priority patent/US20050268204A1/en
Priority to CN200510074219.7A priority patent/CN1705237A/zh
Publication of JP2005347883A publication Critical patent/JP2005347883A/ja
Application granted granted Critical
Publication of JP4138700B2 publication Critical patent/JP4138700B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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/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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] 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/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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

この発明は、例えば通信システムや情報入出力システムなどで用いられるLDPC(Low Density Parity Check)符号を用いた復号装置および復号回路に関する。
周知のように、LDPC符号、すなわち低密度パリティ検査符号によって符号化されたビット系列は、符号器で用いられる検査行列の変数ノードの次数によって誤り訂正能力が異なる特徴を持つ。
従来のLDPC符号を用いた復号装置、特に多値変調方式に対応する復号装置では、LDPC符号によって符号化されたビット系列を、変数ノードの次数すなわち各ビットに対する誤り訂正能力を考慮せず、ランダムに多値変調の信号点へ割り当てるか、もしくは直接多値変調の信号点へ順次割り当てて復号を行っている。
多値変調の場合、検査行列の変数ノードの次数を考慮して最適に信号点へ割り当てることにより、復号装置の信頼性を向上させることができることが知られている(例えば、非特許文献1参照)。
また、LDPC符号を用いた復号装置は、復号処理に反復的な処理を実行する必要があり、復号処理量が多く、その処理に多くの時間を費やすという問題があった。このため、高速通信を行う通信システムには不向きであり、通信システムに適応させるべく、システムの信頼度を損なうことなく上記復号処理量を軽減させたいという要望があった。
ところで、従来のLDPC符号の復号処理は、検査行列のすべての変数ノードと検査ノードの尤度値の演算をすべて並列に行なうことで、復号される情報ビット列の事後確率値を収束させている。また事後確率値の収束を早める方法としては、部分的に変数ノードと検査ノードの演算を直列に行なう方法が提案されている(例えば、非特許文献2参照)。しかし、この方法は、変調方式が2値の場合に有効であるが、多値変調を用いた通信システムに適用した場合、効率的に事後確率値の収束を早められない。
なお、ここで多値変調として用いられる変調方式は、M値PSK(Phase Shift Keying)、M値QAM(Quadrature Amplitude Modulation)、M値ASK(Amplitude Shift Keying)、M値AMPM(Amplitude Modulation-Phase Modulation)、M値PPM(Pulse Position Modulation)、OFDM(Orthogonal Frequency Division Multiplexing)、CDMA(Code Division Multiple Access)などが考えられる。
Capacity-approaching bandwidth-efficient coded modulation scheme based on low-density parity-check code(IEEE Transaction on Information Theory, vol.49, no.9, sept.2003)。 A new schedule for decoding low-density parity-check codes(IEEE GLOBECOM2001)。
従来の復号装置では、LDPC符号を用いる場合、復号処理量が多いため、復号処理に多くの時間を要するという問題があった。
この発明は上記の問題を解決すべくなされたもので、復号特性を悪化させることなく、効率的に復号を行うことが可能な復号装置および復号回路を提供することを目的とする。
上記の目的を達成するために、この発明は、LDPC符号を用いて符号化されたデータを復号する復号装置において、入力信号を検波して、データを構成する各バイナリデータの尤度値を求める検波手段と、この検波手段が求めた尤度値を記憶する記憶手段と、検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、このスケジュール作成手段が作成した演算スケジュールにしたがい、検波手段が求めた尤度値を用いた演算を行って、データを構成する各バイナリデータの確率値を求める確率値演算手段と、この確率値演算手段が求めた確率値に基づいて重み係数を求める重み付け手段と、この重み付け手段が求めた重み係数を、記憶手段が記憶する尤度値に乗算する乗算手段と、スケジュール作成手段が作成した演算スケジュールにしたがい、乗算手段の出力を用いた演算を行うことで復号を行う復号手段とを具備して構成するようにした。
以上述べたように、この発明では、LDPC符号を用いて符号化されたデータの尤度値を求め、この尤度値の信頼度に基づいて信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成し、この作成した演算スケジュールにしたがった演算を行うことで復号を行うようにしている。
したがって、この発明によれば、信頼度の高い尤度値を優先的に用いた演算を行うので、復号特性を悪化させることなく、効率的に復号を行うことが可能な復号装置および復号回路を提供できる。
以下、図面を参照して、この発明の一実施形態について説明する。なお、以下の説明では、この発明に係わる復号回路を、通信システムの受信装置内の復号装置に適用した場合を例に挙げて説明する。
図1は、この発明の第1の実施形態に係わる通信システムの構成を示すものである。この通信システムは、送信装置100と受信装置201とを備える。送信装置100が送信データをLDPC(Low Density Parity Check)符号によって符号化して無線送信する。そして、受信装置201は、送信装置100から無線送信されたデータを受信して、復号し受信データを得る。
送信装置100は、LDPC符号化部110、インターリーバ120、マッピング処理部130、変調部140を備える。LDPC符号化部110は、送信データをLDPC符号を用いて符号化し、符号化されたビット系列を出力する。このビット系列は、インターリーバ120によって、ビット単位でインターリーブされ、マッピング処理部130に出力される。
マッピング処理部130は、インターリーバ120にてインターリーブされたビット系列を、後段の変調部140で用いる変調方式に対応する単位のビット列に分けるラベル付けを行った後、このラベル付けしたビット列を上記変調方式の信号点に対応づけるマッピングを行う。ここで用いられるラベルとしては、グレイラベルやセットパーティショニング、ランダムラベルなどが考えられる。
変調部140が、図2に示すような信号点分布を有する8PSK(Phase Shift Keying)方式によって多値変調する場合を例に挙げて説明すると、マッピング処理部130は、変調部140で用いる変調方式が8PSK方式であることより、インターリーバ120にてインターリーブされたビット系列を、3ビット単位にビット列に分けるラベル付けを行う。
そして次にマッピング処理部130は、上記ラベル付けによって切り分けられた3ビット単位のビット列を、その内容に応じて8PSK方式のいずれかの信号点に対応づけるマッピングを行い、このマッピングの結果を変調部140に出力する。変調部140は、マッピング処理部130の処理結果を用いて、搬送波を多値変調し、アンテナを通じて空間に放射する。
受信装置201は、復調部210、検波部220、デインターリーバ230、LDPC復号部240、グルーピング処理部251、スケジューリング処理部261を備える。復調部210は、送信装置100から送信された無線信号をアンテナを通じて受信し、受信した無線信号を8PSK方式によって復調する。
検波部220は、復調部210の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この各ビットの尤度値は、デインターリーバ230によってデインターリーブされ、LDPC復号部240に出力される。デインターリーバ230は、送信装置100のインターリーバ120のインターリーブに対応するものである。
グルーピング処理部251は、マッピング処理部130のラベル付けとマッピングに応じて、LDPC復号部240の変数ノードをグループ分けするものである。マッピング処理部130は、ラベル付けとマッピングを、変調部140が採用する8PSK方式に基づいて行っている。8PSK方式の変調では、1シンボルあたり3ビットの情報を伝送することができる。
この3ビットを構成する各ビットデータは、図2に示すように、互いに信頼度が異なる。すなわち、1ビット目のデータは、隣接する信号点と比べると、必ず異なるデータとなっているため、誤りが生じる可能性が高く、信頼度が低いといえる。一方、3ビット目のデータは、破線で2つに分けられた範囲内の信号点で共通するため、1ビット目のデータに比べて誤りが生じる可能性が低く、信頼度が高いといえる。また、2ビット目のデータは、実線で4つに分けられた範囲内の信号点で共通し、1ビット目のデータに比べて誤りが生じる可能性が低いものの、3ビット目のデータに比べると誤りが生じる可能性が高い。
ここで、LDPC復号部240は、LDPC符号化部110の符号化処理に対応する構成となっており、変数ノードa,b,c,d,e、fと検査ノードA,B,C,Dを用いてLDPC復号を行うものとする。これらのノードの対応関係は、復号(符号化)アルゴリズムに基づいて決定されており、例えば図3に示すように対応づけられていたとする。 このような構成の場合、2つのシンボル、計6ビットの各尤度値が対応する変数ノードa,b,c,d,e、fに割り当てられ、変数ノードa,b,c,d,e、fは割り当てられた尤度値を保持する。
上記2つのシンボルのうち、一方のシンボルの1ビット目の尤度値が変数ノードaに保持され、2ビット目の尤度値は変数ノードbに保持され、3ビット目の尤度値は変数ノードcに保持される。また他方のシンボルの1ビット目の尤度値が変数ノードdに保持され、2ビット目の尤度値が変数ノードeに保持され、3ビット目の尤度値が変数ノードfに保持される。
この場合、変数ノードaと変数ノードdは、同じ信頼度の尤度値を保持するので、グルーピング処理部251は、変数ノードaと変数ノードdを同じグループG1に分ける。同様に、グルーピング処理部251は、変数ノードbと変数ノードeは同じ信頼度の尤度値を保持するので、変数ノードbと変数ノードeを同じグループG2に分ける。そして、グルーピング処理部251は、変数ノードcと変数ノードfが同じ信頼度の尤度値を保持するので、変数ノードbと変数ノードeを同じグループG3に分ける。
スケジューリング処理部261は、グルーピング処理部251によるグループ分けの結果と、図3に示した変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てる。
ここでは、LDPC復号部240の変数ノードと検査ノードの対応関係が図3に示すようなものであることより、スケジューリング処理部261は、図4に示すような演算スケジュールを組み立てる。この図において、「1」は変数ノードと検査ノードが対応づけられていることを示し、「0」は対応づけられていないことを示す。
すなわち、図4に示す演算スケジュールは、最も信頼度の高い尤度値を保持するグループG3の変数ノードが多く対応づけられた検査ノードから優先的に計算し、逆に、最も信頼度の低い尤度値を保持するグループG1の変数ノードが多く対応づけられた検査ノードを非優先的に計算するように組み立てられる。
LDPC復号部240は、スケジューリング処理部261によって組み立てられた演算スケジュールにしたがい、変数ノードと検査ノードを用いたLDPC復号演算を行うことで、受信データを構成する各ビットの確率値を求め、これを硬判定して受信データを得る。以下、図4に示した演算スケジュールを例に挙げて、LDPC復号演算を説明する。
LDPC復号部240は、演算スケジュールで順位1位の検査ノードDを用いて、これに対応する変数ノードa,b,c,d,fが保持する尤度値に基づく演算を行い、演算結果を検査ノードDに保持する。次に、LDPC復号部240は、検査ノードDに関わる変数ノードa,b,c,d,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,b,c,d,fに保持された尤度値を更新する。
次に、LDPC復号部240は、演算スケジュールで順位2位の検査ノードBを用いて、これに対応する変数ノードb,d,e,fが保持する尤度値に基づく演算を行い、演算結果を検査ノードBに保持する。次に、LDPC復号部240は、検査ノードBに関わる変数ノードb,d,e,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードb,d,e,fに保持された尤度値を更新する。
次に、LDPC復号部240は、演算スケジュールで順位3位の検査ノードAを用いて、これに対応する変数ノードa,c,eが保持する尤度値に基づく演算を行い、演算結果を検査ノードAに保持する。次に、LDPC復号部240は、検査ノードAに関わる変数ノードa,c,eを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,c,eに保持された尤度値を更新する。
最後に、LDPC復号部240は、演算スケジュールで順位4位の検査ノードCを用いて、これに対応する変数ノードa,c,dが保持する尤度値に基づく演算を行い、演算結果を検査ノードCに保持する。次に、LDPC復号部240は、検査ノードCに関わる変数ノードa,c,dを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,c,dに保持された尤度値を更新する。
LDPC復号部240は、上述したような演算スケジュールに従ったLDPC復号演算を、例えば予め設定した回数だけ繰り返し実行して、最終的に変数ノードa,b,c,d,e,fに保持された尤度値を事後確率値とし、これを硬判定して受信データを得る。なお、このように繰り返し回数を設定する方法以外にも、演算結果のパリティ検査を行ってシンドロームが「0」になった時点で繰り返し演算を停止するようにしてもよい。
また、復号の開始時に各変数ノードの尤度の信頼度を検出するために、LDPC復号部240は、すべての検査ノードA,B,C,Dを用いて、変数ノードa,b,c,d,e,fに保持された尤度値に基づく演算を行い、演算結果をそれぞれ検査ノードA,B,C,Dに保持し、次に、LDPC復号部240は、すべての変数ノードa,b,c,d,e,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dの尤度値に基づく演算を行って、この演算結果で変数ノードa,b,c,d,e,fに保持された尤度値を更新するステップを付加しても良い。
以上のように、上記構成の受信装置201では、図2に示したように、多値変調を行う場合に、1シンボル中に含まれるビット列の尤度値がビット毎に信頼度が異なることに着目し、この信頼度に応じてグルーピング処理部251がLDPC復号部240の変数ノードをグループ分けする。
そして、スケジューリング処理部261が、グルーピング処理部251によるグループ分けの結果と、LDPC復号部240のLDPC復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、上記信頼度の高い尤度値を多く保持する変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てておき、この演算スケジュールにしたがってLDPC復号部240がLDPC復号演算を行うようにしている。
したがって、上記構成の受信装置201によれば、LDPC復号演算を、信頼度の高い尤度値を保持する変数ノードを用いた検査ノードの演算から優先的に行うようにしているので、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
なお、上記実施の形態では、スケジューリング処理部261が、グルーピング処理部251によるグループ分けの結果と、LDPC復号部240のLDPC復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てるようにした。
これに対して、上記グループ分けとノードの対応関係は通信を行う前に既知であることより、グルーピング処理部251と、スケジューリング処理部261を備えなくても、予め組み立てた演算スケジュールをLDPC復号部240に設定することができる。また、上記グループ分けとノードの対応関係に基づいて、グルーピング処理部251と、スケジューリング処理部261によって、動的に演算スケジュールを可変することも可能である。
また、上記実施の形態では、図4に示したように、スケジューリング処理部261が、検査ノードの演算スケジュールを組み立てて、これに従ってLDPC復号部240がLDPC復号演算を行うようにした。これに代わって例えば、スケジューリング処理部261が、信頼度の高い尤度値を保持するグループの変数ノードを優先的に用いて演算を行うように、演算スケジュールを組み立てるようにしてもよい。
すなわち、図3に示す例では、いったん変数ノードと検査ノードによるLDPC復号演算を行った後に、まず信頼度の高い尤度値を保持するグループG3の変数ノードc,fを用いた演算を行い、そしてこの演算結果に基づいて検査ノードA,B,C,Dを用いた演算を行う。そして、次に信頼度の高い尤度値を保持するグループG2の変数ノードb,eを用いた演算を行い、そしてこの演算結果に基づいて検査ノードA,B,C,Dを用いた演算を行う。さらに、信頼度の低い尤度値を保持するグループG1の変数ノードa,dを用いた演算を行い、そしてこの演算結果に基づいて検査ノードA,B,C,Dを用いた演算を行う。
このような演算スケジュールであっても、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができ、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
次に、この発明の第2の実施形態に係わる受信装置202について説明する。図5は、その構成を示すものである。この受信装置202は、図1に示した送信装置100から無線送信されたデータを受信して、復号し受信データを得る。
この図に示す受信装置202は、復調部210、検波部220、デインターリーバ230、LDPC復号部240、グルーピング処理部252、スケジューリング処理部262、受信品質検出部270を備える。復調部210は、送信装置100から送信された無線信号をアンテナを通じて受信し、受信した無線信号を8PSK方式によって復調する。
検波部220は、復調部210の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この各ビットの尤度値は、デインターリーバ230によってデインターリーブされ、LDPC復号部240に出力される。デインターリーバ230は、送信装置100のインターリーバ120のインターリーブに対応するものである。
受信品質検出部270は、図6に示すように、復調部210の復調結果から、検波部220にて求められる尤度値が得られた信号の受信品質を検出し、この検出結果から、上記尤度値の信頼度を求める。
グルーピング処理部252は、受信品質検出部270が求めた信頼度に応じて、動的にLDPC復号部240の変数ノードをグループ分けする。ここでグルーピング処理部252は、受信品質が低く、信頼度が低い尤度値が割り当てられる変数ノードをグループG1に分類し、一方、受信品質が高く、信頼度が高い尤度値が割り当てられる変数ノードをグループG2に分類する。
ここで、LDPC復号部240は、LDPC符号化部110の符号化処理に対応する構成となっており、変数ノードa,b,c,d,e、fと検査ノードA,B,C,Dを用いてLDPC復号を行うものとする。これらのノードの対応関係は、復号(符号化)アルゴリズムに基づいて決定されており、例えば図7に示すように対応づけられていたとする。そして、変数ノードa,b,c,d,e、fにそれぞれ割り当てられる尤度値の信頼度が図6で示したようなa1,a2,a3,a4,a5,a6であったとする。
この場合、変数ノードa,b,eは、低い信頼度の尤度値を保持することになるので、グルーピング処理部252は、変数ノードa,b,eを同じグループG1に分ける。同様に、変数ノードc,d,fは、高い信頼度の尤度値を保持することになるので、グルーピング処理部252は、変数ノードc,d,fを同じグループG2に分ける。
スケジューリング処理部262は、グルーピング処理部252によるグループ分けの結果と、図7に示した変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てる。
ここでは、LDPC復号部240の変数ノードと検査ノードの対応関係が図7に示すようなものであることより、スケジューリング処理部262は、図8に示すような演算スケジュールを組み立てる。この図において、「1」は変数ノードと検査ノードが対応づけられていることを示し、「0」は対応づけられていないことを示す。
すなわち、図8に示す演算スケジュールは、信頼度の高い尤度値を保持するグループG2の変数ノードが多く対応づけられた検査ノードから優先的に計算し、逆に、信頼度の低い尤度値を保持するグループG1の変数ノードが多く対応づけられた検査ノードを非優先的に計算するように組み立てられる。
LDPC復号部240は、スケジューリング処理部262によって組み立てられた演算スケジュールにしたがい、変数ノードと検査ノードを用いたLDPC復号演算を行うことで、受信データを構成する各ビットの確率値を求め、これを硬判定して受信データを得る。以下、図8に示した演算スケジュールを例に挙げて、LDPC復号演算を説明する。
LDPC復号部240は、演算スケジュールで順位1位の検査ノードDを用いて、これに対応する変数ノードa,b,c,d,fが保持する尤度値に基づく演算を行い、演算結果を検査ノードDに保持する。次に、LDPC復号部240は、検査ノードDに関わる変数ノードa,b,c,d,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,b,c,d,fに保持された尤度値を更新する。
次に、LDPC復号部240は、演算スケジュールで順位2位の検査ノードBを用いて、これに対応する変数ノードb,d,e,fが保持する尤度値に基づく演算を行い、演算結果を検査ノードBに保持する。次に、LDPC復号部240は、検査ノードBに関わる変数ノードb,d,e,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードb,d,e,fに保持された尤度値を更新する。
次に、LDPC復号部240は、演算スケジュールで順位3位の検査ノードCを用いて、これに対応する変数ノードa,c,dが保持する尤度値に基づく演算を行い、演算結果を検査ノードCに保持する。次に、LDPC復号部240は、検査ノードCに関わる変数ノードa,c,dを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,c,dに保持された尤度値を更新する。
最後に、LDPC復号部240は、演算スケジュールで順位4位の検査ノードAを用いて、これに対応する変数ノードa,c,eが保持する尤度値に基づく演算を行い、演算結果を検査ノードAに保持する。次に、LDPC復号部240は、検査ノードAに関わる変数ノードa,c,eを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,c,eに保持された尤度値を更新する。
LDPC復号部240は、上述したような演算スケジュールに従ったLDPC復号演算を、例えば予め設定した回数だけ繰り返し実行して、最終的に変数ノードa,b,c,d,e,fに保持された尤度値を事後確率値とし、これを硬判定して受信データを得る。なお、このように繰り返し回数を設定する方法以外にも、演算結果のパリティ検査を行ってシンドロームが「0」になった時点で繰り返し演算を停止するようにしてもよい。
また、復号の開始時に各変数ノードの尤度の信頼度を検出するために、LDPC復号部240は、すべての検査ノードA,B,C,Dを用いて、変数ノードa,b,c,d,e,fに保持された尤度値に基づく演算を行い、演算結果をそれぞれ検査ノードA,B,C,Dに保持し、次に、LDPC復号部240は、すべての変数ノードa,b,c,d,e,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dの尤度値に基づく演算を行って、この演算結果で変数ノードa,b,c,d,e,fに保持された尤度値を更新するステップを付加しても良い。
以上のように、上記構成の受信装置202では、受信品質に応じて、検波部220が検出する尤度値の信頼度が変動することに着目したもので、受信品質検出部270によって、検波部220が検出する尤度値の信頼度を求め、この信頼度に応じてグルーピング処理部252がLDPC復号部240の変数ノードをグループ分けする。
そして、スケジューリング処理部262が、グルーピング処理部252によるグループ分けの結果と、LDPC復号部240のLDPC復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を多く保持する変数ノードを用いた検査ノードの演算から優先的に行うような演算スケジュールを動的に組み立て、この演算スケジュールにしたがってLDPC復号部240がLDPC復号演算を行うようにしている。
したがって、上記構成の受信装置202によれば、LDPC復号演算を、信頼度の高い尤度値を保持する変数ノードを多く用いた検査ノードの演算から優先的に行うようにしているので、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
なお、上記実施の形態では、図8に示したように、スケジューリング処理部262が、検査ノードの演算スケジュールを組み立てて、これに従ってLDPC復号部240がLDPC復号演算を行うようにした。これに代わって例えば、スケジューリング処理部262が、信頼度の高い尤度値を保持するグループの変数ノードを優先的に用いて演算を行うように、演算スケジュールを組み立てるようにしてもよい。
すなわち、図7に示す例では、いったん変数ノードと検査ノードによるLDPC復号演算を行った後に、まず信頼度の高い尤度値を保持するグループG2の変数ノードc,d,fを用いた演算を行い、そしてこの演算結果に基づいて検査ノードA,B,C,Dを用いた演算を行う。そして、次にグループG1の変数ノードa,b,eを用いた演算を行い、そしてこの演算結果に基づいて検査ノードA,B,C,Dを用いた演算を行う。
このような演算スケジュールであっても、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができ、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
次に、図9は、この発明の第3の実施形態に係わる通信システムの構成を示すものである。この通信システムは、送信装置100と受信装置203とを備える。送信装置100が送信データをLDPC符号によって符号化して無線送信する。そして、受信装置203は、送信装置100から無線送信されたデータを受信して、復号し受信データを得る。
送信装置100は、LDPC符号化部110、インターリーバ120、マッピング処理部130、変調部140を備える。LDPC符号化部110は、送信データをLDPC符号を用いて符号化し、符号化されたビット系列を出力する。このビット系列は、インターリーバ120によって、ビット単位でインターリーブされ、マッピング処理部130に出力される。
マッピング処理部130は、インターリーバ120にてインターリーブされたビット系列を、後段の変調部140で用いる変調方式に対応する単位のビット列に分けるラベル付けを行った後、このラベル付けしたビット列を上記変調方式の信号点に対応づけるマッピングを行う。ここで用いられるラベルとしては、グレイラベルやセットパーティショニング、ランダムラベルなどが考えられる。
変調部140が、図2に示すような8PSK方式によって多値変調する場合を例に挙げて説明すると、マッピング処理部130は、変調部140で用いる変調方式が8PSK方式であることより、インターリーバ120にてインターリーブされたビット系列を、3ビット単位にビット列に分けるラベル付けを行う。
そして次にマッピング処理部130は、上記ラベル付けによって切り分けられた3ビット単位のビット列を、その内容に応じて8PSK方式のいずれかの信号点に対応づけるマッピングを行い、このマッピングの結果を変調部140に出力する。変調部140は、マッピング処理部130の処理結果を用いて、搬送波を多値変調し、アンテナを通じて空間に放射する。
受信装置203は、復調部210、検波部220、デインターリーバ230、LDPC復号部240、グルーピング処理部253、スケジューリング処理部263を備える。復調部210は、送信装置100から送信された無線信号をアンテナを通じて受信し、受信した無線信号を8PSK方式によって復調する。
検波部220は、復調部210の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この各ビットの尤度値は、デインターリーバ230によってデインターリーブされ、LDPC復号部240に出力される。デインターリーバ230は、送信装置100のインターリーバ120のインターリーブに対応するものである。
グルーピング処理部253は、LDPC符号化部110の符号化処理に応じて、LDPC復号部240の変数ノードをグループ分けするものである。ここで、LDPC復号部240は、LDPC符号化部110の符号化処理に対応する構成となっており、変数ノードa,b,c,d,e、fと検査ノードA,B,C,Dを用いてLDPC復号を行うものとする。これらのノードの対応関係は、復号(符号化)アルゴリズムに基づいて決定されており、例えば図10に示すように対応づけられていたとする。
LDPCの検査行列の設計では、すべての変数ノードに接続される枝の数が等しい正則LDPCと、変数ノードに接続される枝の数が異なっている非正則LDPCがある。非正則LDPCを用いた場合、変調信号点による誤り確率がすべての変数ノードで同じであったとしても、各変数ノードへ接続する枝の数に応じて変数ノードそれぞれの誤り確率が異なる。
グルーピング処理部253は、LDPC復号部240の変数ノードを、検査ノードA,B,C,Dと接続される枝数に応じてグループ分けするものである。図10に示す構成の場合、変数ノードa,c,dは、枝数が同じ「3」であるので、グルーピング処理部253は、変数ノードa,c,dを同じグループG1に分ける。同様に、変数ノードb,e,fは、枝数が同じ「2」であるので、グルーピング処理部253は、変数ノードb,e,fを同じグループG2に分ける。
スケジューリング処理部263は、グルーピング処理部253によるグループ分けの結果と、図10に示した変数ノードと検査ノードの対応関係に基づいて、枝数の多い変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てる。
ここでは、LDPC復号部240の変数ノードと検査ノードの対応関係が図10に示すようなものであることより、スケジューリング処理部263は、図11に示すような演算スケジュールを組み立てる。この図において、「1」は変数ノードと検査ノードが対応づけられていることを示し、「0」は対応づけられていないことを示す。
すなわち、図11に示す演算スケジュールは、信頼度の高い尤度値を保持するグループG2の変数ノードが多く対応づけられた検査ノードから優先的に計算し、逆に、信頼度の低い尤度値を保持するグループG1の変数ノードが多く対応づけられた検査ノードを非優先的に計算するように組み立てられる。
LDPC復号部240は、スケジューリング処理部263によって組み立てられた演算スケジュールにしたがい、変数ノードと検査ノードを用いたLDPC復号演算を行うことで、受信データを構成する各ビットの確率値を求め、これを硬判定して受信データを得る。以下、図11に示した演算スケジュールを例に挙げて、LDPC復号演算を説明する。
LDPC復号部240は、演算スケジュールで順位1位の検査ノードDを用いて、これに対応する変数ノードa,b,c,d,fが保持する尤度値に基づく演算を行い、演算結果を検査ノードDに保持する。次に、LDPC復号部240は、検査ノードDに関わる変数ノードa,b,c,d,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,b,c,d,fに保持された尤度値を更新する。
次に、LDPC復号部240は、演算スケジュールで順位2位の検査ノードCを用いて、これに対応する変数ノードa,c,dが保持する尤度値に基づく演算を行い、演算結果を検査ノードCに保持する。次に、LDPC復号部240は、検査ノードCに関わる変数ノードa,c,dを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,c,dに保持された尤度値を更新する。
次に、LDPC復号部240は、演算スケジュールで順位3位の検査ノードBを用いて、これに対応する変数ノードb,d,e,fが保持する尤度値に基づく演算を行い、演算結果を検査ノードBに保持する。次に、LDPC復号部240は、検査ノードBに関わる変数ノードb,d,e,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードb,d,e,fに保持された尤度値を更新する。
最後に、LDPC復号部240は、演算スケジュールで順位4位の検査ノードAを用いて、これに対応する変数ノードa,c,eが保持する尤度値に基づく演算を行い、演算結果を検査ノードAに保持する。次に、LDPC復号部240は、検査ノードAに関わる変数ノードa,c,eを用いて、それぞれに対応づけられた検査ノードA,B,C,Dが保持する尤度値に基づく演算を行って、この演算結果で変数ノードa,c,eに保持された尤度値を更新する。
LDPC復号部240は、上述したような演算スケジュールに従ったLDPC復号演算を、例えば予め設定した回数だけ繰り返し実行して、最終的に変数ノードa,b,c,d,e,fに保持された尤度値を事後確率値とし、これを硬判定して受信データを得る。なお、このように繰り返し回数を設定する方法以外にも、演算結果のパリティ検査を行ってシンドロームが「0」になった時点で繰り返し演算を停止するようにしてもよい。
また、復号の開始時に各変数ノードの尤度の信頼度を検出するために、LDPC復号部240は、すべての検査ノードA,B,C,Dを用いて、変数ノードa,b,c,d,e,fに保持された尤度値に基づく演算を行い、演算結果をそれぞれ検査ノードA,B,C,Dに保持し、次に、LDPC復号部240は、すべての変数ノードa,b,c,d,e,fを用いて、それぞれに対応づけられた検査ノードA,B,C,Dの尤度値に基づく演算を行って、この演算結果で変数ノードa,b,c,d,e,fに保持された尤度値を更新するステップを付加しても良い。
以上のように、上記構成の受信装置203では、LDPC復号部240の変数ノードの枝数に応じて、変数ノードで求まる尤度の信頼度が異なることに着目し、この信頼度に応じてグルーピング処理部253がLDPC復号部240の変数ノードをグループ分けする。
そして、スケジューリング処理部263が、グルーピング処理部253によるグループ分けの結果と、LDPC復号部240のLDPC復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、上記信頼度の高い変数ノードを多く用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てておき、この演算スケジュールにしたがってLDPC復号部240がLDPC復号演算を行うようにしている。
したがって、上記構成の受信装置203によれば、LDPC復号演算を、枝数が多く信頼度の高い変数ノードを多く用いた検査ノードの演算から優先的に行うようにしているので、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
なお、上記実施の形態では、スケジューリング処理部263が、グルーピング処理部253によるグループ分けの結果と、LDPC復号部240のLDPC復号演算で用いる変数ノードと検査ノードの対応関係に基づいて、信頼度の高い尤度値を保持する変数ノードを用いた検査ノードの演算から優先的に行うような演算スケジュールを組み立てるようにした。
これに対して、上記グループ分けとノードの対応関係は通信を行う前に既知であることより、グルーピング処理部253と、スケジューリング処理部263を備えなくても、予め組み立てた演算スケジュールをLDPC復号部240に設定することができる。また、上記グループ分けとノードの対応関係に基づいて、グルーピング処理部253と、スケジューリング処理部263によって、動的に演算スケジュールを可変することも可能である。
また、上記実施の形態では、図11に示したように、スケジューリング処理部263が、検査ノードの演算スケジュールを組み立てて、これに従ってLDPC復号部240がLDPC復号演算を行うようにした。これに代わって例えば、スケジューリング処理部261が、枝数が多く信頼度の高い変数ノードを優先的に用いて演算を行うように、演算スケジュールを組み立てるようにしてもよい。
すなわち、図10に示す例では、いったん変数ノードと検査ノードによるLDPC復号演算を行った後に、まず枝数が多く信頼度の高いグループG1の変数ノードa,c,dを用いた演算を行い、そしてこの演算結果に基づいて検査ノードA,B,C,Dを用いた演算を行う。そして、次にグループG2の変数ノードb,e,fを用いた演算を行い、そしてこの演算結果に基づいて検査ノードA,B,C,Dを用いた演算を行う。
このような演算スケジュールであっても、変数ノードと検査ノードを用いた反復演算過程において、事後確率値を早く収束させることができ、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
次に、この発明の第4の実施形態に係わる受信装置204について説明する。図12は、その構成を示すものである。この受信装置204は、図1に示した送信装置100から無線送信されたデータを受信して、復号し受信データを得る。
この図に示す受信装置204は、復調部210、検波部224、デインターリーバ230、LDPC復号部244、インターリーバ280、重み付け部290を備える。復調部210は、送信装置100から送信された無線信号をアンテナを通じて受信し、受信した無線信号を8PSK方式によって復調する。
検波部224は、復調部210の復調結果を検波し、インターリーブされた状態のビット系列の各ビットの尤度値を求める。この段階で求められた尤度値は、初期尤度値として検波部224に備えられたバッファメモリ224aに一時的に蓄積されるとともに、デインターリーバ230に出力される。
そしてその後、検波部224は、後述する重み付け部290から重み係数Wが与えられると、この重み係数Wを上記バッファメモリ224aに蓄積しておいた各ビットの尤度値に乗算する。このようにして重み係数Wが乗算されたビット毎の尤度値は、補正尤度値としてデインターリーバ230に出力される。なお、検波部224は、求めた尤度値に、初期尤度値か補正尤度値かを識別する識別情報を付加して、デインターリーバ230に出力する。
デインターリーバ230は、検波部224から入力される初期尤度値および補正尤度値をそれぞれデインターリーブし、LDPC復号部244に出力する。デインターリーバ230は、送信装置100のインターリーバ120のインターリーブに対応するものである。
LDPC復号部244は、前述の第1乃至第3の実施形態で説明したLDPC復号部244と同様に、送信装置100のLDPC符号化部110の符号化処理に対応する構成となっており、変数ノードa,b,c,d,e、fと検査ノードA,B,C,Dを用いてLDPC復号を行うものである。
そして、LDPC復号部244は、図示しないスケジューリング処理部261などによって組み立てられた演算スケジュールにしたがい、上記変数ノードと上記検査ノードを用いたLDPC復号演算を行い、受信データを構成する各ビットの確率値を求める。なお、LDPC復号部244で用いられる演算スケジュールは、前述の第1乃至第3の実施形態で説明したいずれの手法で求めたスケジュールを適用することができる。
デインターリーバ230は、送信装置100のインターリーバ120と同等の構成となっており、同じ手順にしたがって、LDPC復号部244から入力される確率値をインターリーブし、重み付け部290に出力する。
重み付け部290は、デインターリーバ230にてインターリーブされた確率値に基づいて、検波部224のバッファメモリ224aに蓄積される初期尤度値にそれぞれ対応する重み係数Wを求め、検波部224に出力する。なお、ここでは、重み係数Wを確率値に基づいて求めるものとしたが、対数尤度値に基づいて重み係数Wを求めることも可能である。
以上のように、上記構成の受信装置204では、まず初期の処理として、検波部224が検波結果を初期尤度値としてバッファメモリ224aに一時的に蓄積しておき、この初期尤度値に基づいてLDPC復号部244が求めた確率値に基づいて、重み付け部290が上記初期尤度値を補正するための重み係数Wを求める。
そして、検波部224が上記重み係数Wで、バッファメモリ224aに一時的に蓄積しておいた初期尤度値を補正して、この補正によって得られた信頼度の高い補正尤度値に基づいてLDPC復号部244が受信データの確率値を求め、これを硬判定して受信データを得るようにしている。
したがって、上記構成の受信装置204によれば、演算スケジュールに従ってLDPC復号演算を行うとともに、このLDPC復号演算を反映させた信頼度の高い尤度値から事後確率値を求めるようにしているので、効率的に事後確率値を収束させることができる。このため、変調方式として多値変調が用いられる場合であっても、復号特性を悪化させることなく、効率的に事後確率値を収束させることができる。
また、上記構成の受信装置204では、LDPC復号部244が初期尤度値が入力される場合に初期確率値を求め、一方、補正尤度値が入力される場合には補正尤度値を用いて求めた確率値に基づく硬判定を行って、受信データを得るようにした。
つまり、LDPC復号部244が初期確率値と受信データを求めるようにしている。しかしながら、このように初期確率値を求める構成と受信データを求める構成とが1つである必要はなく、初期確率値を求める構成と、受信データを求める構成を別々に備えるようにしてもよい。
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
また上記実施の形態では、無線を用いる通信システムに適用した場合を例に挙げて説明したが、これに限定されるものではない。LDPC符号を用いて情報を入出力、伝送するものであれば、有線を用いる通信機器、ハードディスクドライブ、オーディオ機器など、種々の機器に適用可能である。
この発明の第1の実施の形態に係わる通信システムの構成を示す図。 8PSK変調の信号点の信頼度を説明するための図。 図1に示した受信装置のLDPC復号部で行われる復号演算の概念を説明するための図。 図1に示した受信装置のLDPC復号部で行われる復号演算の概念を説明するための図。 この発明の第2の実施の形態に係わる受信装置の構成を示す図。 受信品質に応じてビット列の信頼度が変動する様子を説明するための図。 図5に示した受信装置のLDPC復号部で行われる復号演算の概念を説明するための図。 図5に示した受信装置のLDPC復号部で行われる復号演算の概念を説明するための図。 この発明の第3の実施の形態に係わる通信システムの構成を示す図。 図9に示した受信装置のLDPC復号部で行われる復号演算の概念を説明するための図。 図9に示した受信装置のLDPC復号部で行われる復号演算の概念を説明するための図。 この発明の第4の実施の形態に係わる受信装置の構成を示す図。
符号の説明
100…送信装置、110…LDPC符号化部、120…インターリーバ、130…マッピング処理部、140…変調部、201〜204…受信装置、210…復調部、220…検波部、224…検波部、224a…バッファメモリ、230…デインターリーバ、240,244…LDPC復号部、251〜253…グルーピング処理部、261〜263…スケジューリング処理部、270…受信品質検出部、280…インターリーバ、290…重み付け部。

Claims (14)

  1. LDPC符号を用いて符号化されたデータを復号する復号装置において、
    入力信号を検波して、前記データを構成する各バイナリデータの尤度値を求める検波手段と、
    この検波手段が求めた尤度値を記憶する記憶手段と、
    前記検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、
    このスケジュール作成手段が作成した演算スケジュールにしたがい、前記検波手段が求めた尤度値を用いた演算を行って、前記データを構成する各バイナリデータの確率値を求める確率値演算手段と、
    この確率値演算手段が求めた確率値に基づいて重み係数を求める重み付け手段と、
    この重み付け手段が求めた重み係数を、前記記憶手段が記憶する尤度値に乗算する乗算手段と、
    前記スケジュール作成手段が作成した演算スケジュールにしたがい、前記乗算手段の出力を用いた演算を行うことで復号を行う復号手段とを具備することを特徴とする復号装置。
  2. さらに、前記データを構成する複数のバイナリデータを1つの信号点に割り当てる多値変調により生成された信号を復調する復調手段を備え、
    前記検波手段は、前記復調手段の出力を検波して、前記データを構成する各バイナリデータの尤度値を求め、
    前記スケジュール作成手段は、1つの信号点に割り当てられる複数のバイナリデータの各信頼度に基づいて、信頼度の高いバイナリデータの尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項1に記載の復号装置。
  3. 前記スケジュール作成手段は、前記検波手段が求めた各バイナリデータの尤度値の信頼度に応じて、前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項2に記載の復号装置。
  4. さらに、前記入力信号の品質を検出する品質検出手段を備え、
    前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この求めた信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項1に記載の復号装置。
  5. 前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この信頼度に応じて前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項4に記載の復号装置。
  6. 前記復号手段は、前記検波手段が求めた尤度値が割り当てられる複数の変数ノードと、複数の検査ノードとが復号アルゴリズムに基づいて対応づけられ、検査ノードが対応する変数ノードに割り当てられた尤度値を用いて確率値を求める第1の演算と、変数ノードが対応する検査ノードで求めた確率値を用いて確率値を求める第2の演算と、検査ノードが対応する変数ノードで求めた確率値を用いて確率値を求める第3の演算とを選択的に繰り返す演算を行うことで、変数ノードより前記データを構成する各バイナリデータの確率値を得るものであって、
    前記スケジュール作成手段は、前記第1の演算乃至第3の演算のうち、検査ノードが対応づけられた数が多い変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項1に記載の復号装置。
  7. 前記スケジュール作成手段は、検査ノードが対応づけられた数に応じて前記変数ノードをグループ分けし、検査ノードが対応づけられた数の多いグループに属する変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項6に記載の復号装置。
  8. LDPC符号を用いて符号化されたデータを復号する復号回路において、
    入力信号を検波して、前記データを構成する各バイナリデータの尤度値を求める検波手段と、
    この検波手段が求めた尤度値を記憶する記憶手段と、
    前記検波手段が求めた各バイナリデータの尤度値の信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成するスケジュール作成手段と、
    このスケジュール作成手段が作成した演算スケジュールにしたがい、前記検波手段が求めた尤度値を用いた演算を行って、前記データを構成する各バイナリデータの確率値を求める確率値演算手段と、
    この確率値演算手段が求めた確率値に基づいて重み係数を求める重み付け手段と、
    この重み付け手段が求めた重み係数を、前記記憶手段が記憶する尤度値に乗算する乗算手段と、
    前記スケジュール作成手段が作成した演算スケジュールにしたがい、前記乗算手段の出力を用いた演算を行うことで復号を行う復号手段とを具備することを特徴とする復号回路。
  9. さらに、前記データを構成する複数のバイナリデータを1つの信号点に割り当てる多値変調により生成された信号を復調する復調手段を備え、
    前記検波手段は、前記復調手段の出力を検波して、前記データを構成する各バイナリデータの尤度値を求め、
    前記スケジュール作成手段は、1つの信号点に割り当てられる複数のバイナリデータの各信頼度に基づいて、信頼度の高いバイナリデータの尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項8に記載の復号回路。
  10. 前記スケジュール作成手段は、前記検波手段が求めた各バイナリデータの尤度値の信頼度に応じて、前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項9に記載の復号回路。
  11. さらに、前記入力信号の品質を検出する品質検出手段を備え、
    前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この求めた信頼度に基づいて、信頼度の高い尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項8に記載の復号回路。
  12. 前記スケジュール作成手段は、前記品質検出手段が検出した品質に基づいて、前記検波手段が求めた各バイナリデータの尤度値の信頼度を求め、この信頼度に応じて前記検波手段が求めた尤度値をグループ分けし、信頼度の高いグループに属する尤度値を優先的に用いる演算を行う演算スケジュールを作成することを特徴とする請求項11に記載の復号回路。
  13. 前記復号手段は、前記検波手段が求めた尤度値が割り当てられる複数の変数ノードと、複数の検査ノードとが復号アルゴリズムに基づいて対応づけられ、検査ノードが対応する変数ノードに割り当てられた尤度値を用いて確率値を求める第1の演算と、変数ノードが対応する検査ノードで求めた確率値を用いて確率値を求める第2の演算と、検査ノードが対応する変数ノードで求めた確率値を用いて確率値を求める第3の演算とを選択的に繰り返す演算を行うことで、変数ノードより前記データを構成する各バイナリデータの確率値を得るものであって、
    前記スケジュール作成手段は、前記第1の演算乃至第3の演算のうち、検査ノードが対応づけられた数が多い変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項8に記載の復号回路。
  14. 前記スケジュール作成手段は、検査ノードが対応づけられた数に応じて前記変数ノードをグループ分けし、検査ノードが対応づけられた数の多いグループに属する変数ノードを用いた演算を優先的に行う演算スケジュールを作成することを特徴とする請求項13に記載の復号回路。
JP2004162418A 2004-05-31 2004-05-31 復号装置および復号回路 Expired - Fee Related JP4138700B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004162418A JP4138700B2 (ja) 2004-05-31 2004-05-31 復号装置および復号回路
US11/138,999 US20050268204A1 (en) 2004-05-31 2005-05-27 Decoding apparatus and decoding circuit
CN200510074219.7A CN1705237A (zh) 2004-05-31 2005-05-31 解码设备和解码电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004162418A JP4138700B2 (ja) 2004-05-31 2004-05-31 復号装置および復号回路

Publications (2)

Publication Number Publication Date
JP2005347883A JP2005347883A (ja) 2005-12-15
JP4138700B2 true JP4138700B2 (ja) 2008-08-27

Family

ID=35426834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004162418A Expired - Fee Related JP4138700B2 (ja) 2004-05-31 2004-05-31 復号装置および復号回路

Country Status (3)

Country Link
US (1) US20050268204A1 (ja)
JP (1) JP4138700B2 (ja)
CN (1) CN1705237A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4519694B2 (ja) * 2005-03-29 2010-08-04 財団法人北九州産業学術推進機構 Ldpc符号検出装置及びldpc符号検出方法
JP4526451B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
CN100546205C (zh) * 2006-04-29 2009-09-30 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输系统
KR100943602B1 (ko) * 2006-06-27 2010-02-24 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
JP4253332B2 (ja) 2006-07-03 2009-04-08 株式会社東芝 復号装置、方法およびプログラム
FR2904499B1 (fr) * 2006-07-27 2009-01-09 Commissariat Energie Atomique Procede de decodage a passage de messages avec ordonnancement selon une fiabilite de voisinage.
US8504890B2 (en) * 2006-12-17 2013-08-06 Ramot At Tel Aviv University Ltd. Scheduling for LDPC decoding
US8103945B2 (en) 2007-01-05 2012-01-24 Sony Corporation Decoding method and decoding apparatus as well as program
JP4862657B2 (ja) * 2007-01-05 2012-01-25 ソニー株式会社 復号方法および復号装置、並びにプログラム
JP4910708B2 (ja) * 2007-01-05 2012-04-04 ソニー株式会社 復号装置および復号方法
JP4862658B2 (ja) * 2007-01-05 2012-01-25 ソニー株式会社 復号方法および復号装置、並びにプログラム
US8219873B1 (en) * 2008-10-20 2012-07-10 Link—A—Media Devices Corporation LDPC selective decoding scheduling using a cost function
JP4799637B2 (ja) * 2009-04-15 2011-10-26 株式会社モバイルテクノ 低密度パリティチェック符号復号装置及び方法
US8656243B2 (en) 2010-01-13 2014-02-18 Intel Mobile Communications GmbH Radio receiver and method for channel estimation
US8660167B2 (en) 2010-01-25 2014-02-25 Intel Mobile Communications GmbH Device and method for distortion-robust decoding
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
US9379738B2 (en) * 2013-03-13 2016-06-28 Marvell World Trade Ltd. Systems and methods for decoding using partial reliability information
KR20150024489A (ko) * 2013-08-26 2015-03-09 삼성전자주식회사 메모리 시스템에서의 ldpc 디코딩 방법 및 이를 이용한 ldpc 디코더
EP2903166A1 (en) * 2014-02-03 2015-08-05 Centre National de la Recherche Scientifique (C.N.R.S.) Multiple-vote symbol-flipping decoder for non-binary LDPC codes
CN106911336B (zh) * 2017-01-17 2020-07-07 清华大学 多核调度的高速并行低密度奇偶校验译码器及其译码方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0443721A (ja) * 1990-06-11 1992-02-13 Matsushita Electric Ind Co Ltd ディジタル信号復号装置
US6381726B1 (en) * 1999-01-04 2002-04-30 Maxtor Corporation Architecture for soft decision decoding of linear block error correcting codes
US6480976B1 (en) * 1999-03-11 2002-11-12 Globespanvirata, Inc. System and method for resource optimized integrated forward error correction in a DMT communication system
AU2335001A (en) * 1999-12-20 2001-07-03 Research In Motion Limited Hybrid automatic repeat request system and method
US7184486B1 (en) * 2000-04-27 2007-02-27 Marvell International Ltd. LDPC encoder and decoder and method thereof
US6539367B1 (en) * 2000-05-26 2003-03-25 Agere Systems Inc. Methods and apparatus for decoding of general codes on probability dependency graphs
JP4389373B2 (ja) * 2000-10-11 2009-12-24 ソニー株式会社 2元巡回符号を反復型復号するための復号器
US6857097B2 (en) * 2001-05-16 2005-02-15 Mitsubishi Electric Research Laboratories, Inc. Evaluating and optimizing error-correcting codes using a renormalization group transformation
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US7000167B2 (en) * 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
US7246304B2 (en) * 2001-09-01 2007-07-17 Dsp Group Inc Decoding architecture for low density parity check codes
CN100592641C (zh) * 2002-02-28 2010-02-24 三菱电机株式会社 Ldpc码用检查矩阵生成方法及检查矩阵生成装置
JP3887255B2 (ja) * 2002-03-25 2007-02-28 富士通株式会社 反復復号を用いたデータ処理装置
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
EP1526647B1 (en) * 2002-07-02 2008-10-01 Mitsubishi Electric Corporation Generation of a check matrix for irregular low-density parity-check (LDPC) codes
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US7120856B2 (en) * 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
JP4546246B2 (ja) * 2002-10-05 2010-09-15 デジタル ファウンテン, インコーポレイテッド 連鎖的暗号化反応の系統的記号化および復号化
KR100502608B1 (ko) * 2002-12-24 2005-07-20 한국전자통신연구원 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기
JP4163023B2 (ja) * 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
US7222284B2 (en) * 2003-06-26 2007-05-22 Nokia Corporation Low-density parity-check codes for multiple code rates
US7340671B2 (en) * 2003-10-10 2008-03-04 Regents Of The University Of California Decoding low density parity codes
JP2005166089A (ja) * 2003-11-28 2005-06-23 Toshiba Corp ディスク記憶装置、データ再生装置及びデータ再生方法
US7254188B2 (en) * 2003-12-16 2007-08-07 Comtech Ef Data Method and system for modulating and detecting high datarate symbol communications
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US7246297B2 (en) * 2004-05-14 2007-07-17 Pirouz Zarrinkhat Time-invariant hybrid iterative decoders
US7181676B2 (en) * 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
US7127659B2 (en) * 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus

Also Published As

Publication number Publication date
JP2005347883A (ja) 2005-12-15
US20050268204A1 (en) 2005-12-01
CN1705237A (zh) 2005-12-07

Similar Documents

Publication Publication Date Title
JP4138700B2 (ja) 復号装置および復号回路
KR101492634B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 데이터 송수신 장치 및 방법
US8526547B2 (en) System and method performing Quadrature Amplitude Modulation by combining co-sets and strongly coded co-set identifiers
US20200014401A1 (en) Apparatus and methods for error detection coding
JP4253332B2 (ja) 復号装置、方法およびプログラム
EP1385270A2 (en) Method and system for generating low density parity check (LDPC) codes
KR100574306B1 (ko) Ldpc 코드를 디코딩하기 위한 방법 및 시스템
KR101481435B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호매핑 방법 및 이를 위한 장치
KR20090092197A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
JP2002271210A (ja) 穿孔されたパリティシンボルを復元するターボデコーダ用プリデコーダ及びターボコードの復元方法
US7958424B2 (en) Multi-channel LDPC decoder architecture
US20050210358A1 (en) Soft decoding of linear block codes
JP3665315B2 (ja) 変調タイプのブラインド検出方法およびそのシステム
US7907070B2 (en) Systems and methods for providing unequal error protection using embedded coding
KR100617703B1 (ko) 이동 통신 시스템에서 시공간 부호화 방법 및 장치
US8437431B1 (en) Sequential decoder fast incorrect path elimination method and apparatus for pseudo-orthogonal coding
KR102547369B1 (ko) 수신 장치 및 그의 디코딩 방법
US9020052B2 (en) MIMO communication method and devices
US10686557B2 (en) Enhanced decoding of coded sequences with structured data
Morais Channel Coding and Link Adaptation
KR20110101091A (ko) 통신 시스템에서 데이터 송신 장치 및 방법
KR20130044259A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080123

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080605

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20140613

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees