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

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

Info

Publication number
JP5370337B2
JP5370337B2 JP2010244691A JP2010244691A JP5370337B2 JP 5370337 B2 JP5370337 B2 JP 5370337B2 JP 2010244691 A JP2010244691 A JP 2010244691A JP 2010244691 A JP2010244691 A JP 2010244691A JP 5370337 B2 JP5370337 B2 JP 5370337B2
Authority
JP
Japan
Prior art keywords
value ratio
value
unit
prior
updating
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
JP2010244691A
Other languages
English (en)
Other versions
JP2012099971A (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 JP2010244691A priority Critical patent/JP5370337B2/ja
Priority to CN201180052472.6A priority patent/CN103190079B/zh
Priority to PCT/JP2011/006038 priority patent/WO2012056712A1/ja
Publication of JP2012099971A publication Critical patent/JP2012099971A/ja
Priority to US13/871,858 priority patent/US9143165B2/en
Application granted granted Critical
Publication of JP5370337B2 publication Critical patent/JP5370337B2/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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復号を簡略化した復号方法が、min−sum復号である。min−sum復号は、複雑な関数を用いることなく、比較演算、和演算等の簡単な処理だけでチェックノード処理を行うことが可能である。さらに、min−sum復号は、通信路値を必要としないので、処理の簡略化、高速化のために広く用いられている。min−sum復号の回路規模を削減するために、検査行列の各行での事前値比の最小値と次に小さな値を使用することが提案されている(例えば、特許文献1参照)。
特開2010−28408号公報
検査行列の各行での事前値比の最小値を導出する処理は、非常に簡単な回路によって実現される。次に小さな値を導出するためには、最小値を導出した後、再度最小値を探索したり、ふたつのメモリを備え、両方の値と入力値を比べながらメモリの入れ替え処理を行ったりする必要があり、回路が複雑になる。そのため、min−sum復号における演算量を低減させることが要求される。
本発明はこうした状況に鑑みてなされたものであり、その目的は、min−sum復号における演算量を低減させる技術を提供することにある。
上記課題を解決するために、本発明のある態様の復号装置は、LDPC符号化がなされたデータを入力する入力部と、入力部において入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行する復号部とを備える。復号部は、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の符号の総積を導出する初期化部と、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、初期化部において導出した符号の総積とをもとに、符号を導出する導出部と、導出部において導出した符号を使用して、処理対象の行のうちのひとつの外部値比を更新する更新部と、を備える。
この態様によると、各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出しておき、各外部値比の導出に符号の総積を使用するので、演算量を低減できる。
初期化部は、繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定し、導出部は、外部値比の更新に未使用の事前値比が配置された列と、初期化部において特定した列とが異なる場合、初期化部において特定した事前値比の絶対値の最小値を更新部に使用させてもよい。この場合、予め特定した事前値比の絶対値の最小値を外部値比の更新に使用するので、事前値比の絶対値の最小値の導出を省略できる。
本発明の別の態様もまた、復号装置である。この装置は、LDPC符号化がなされたデータを入力する入力部と、入力部において入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行する復号部とを備える。復号部は、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定する初期化部と、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、初期化部において特定した列とが同一である場合、初期化部において特定した事前値比の絶対値の最小値以外の値を導出する導出部と、導出部において導出した値を使用して、処理対象の行のうちのひとつの外部値比を更新する更新部とを備える。導出部は、外部値比の更新に未使用の事前値比が配置された列と、初期化部において特定した列とが異なる場合、初期化部において特定した事前値比の絶対値の最小値を更新部に使用させる。
この態様によると、外部値比の更新に未使用の事前値比が配置された列と、予め特定した列とが同一である場合だけ最小値以外の値を導出し、それ以外であれば、予め特定した最小値を使用するので、演算量を低減できる。
本発明のさらに別の態様は、復号方法である。この方法は、LDPC符号化がなされたデータを入力するステップと、入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行するステップとを備える。実行するステップは、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の符号の総積を導出するステップと、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、導出した符号の総積とをもとに、符号を導出するステップと、導出した符号を使用して、処理対象の行のうちのひとつの外部値比を更新するステップと、を備えることを特徴とする復号方法。
繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を更新するステップに使用させるステップと、をさらに備えてもよい。
本発明のさらに別の態様もまた、復号方法である。この方法は、LDPC符号化がなされたデータを入力するステップと、入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行するステップとを備える。実行するステップは、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、特定した列とが同一である場合、特定した事前値比の絶対値の最小値以外の値を導出するステップと、導出した値を使用して、処理対象の行のうちのひとつの外部値比を更新するステップとを備える。導出するステップは、外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を更新するステップに使用させてもよい。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、min−sum復号における演算量を低減できる。
本発明の実施例に係る通信システムの構成を示す図である。 図1のLDPC符号化部において使用される検査行列を示す図である。 図1の復号部の構成を示す図である。 図3の復号部の動作を模式的に表したタナーグラフを示す図である。 図3の復号部における外部値比更新動作の概要を示す図である。 図3の復号部における事前値比更新動作の概要を示す図である。 図3の復号部による復号手順を示すフローチャートである。 図3の復号部による別の復号手順を示すフローチャートである。
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、LDPC符号化を実行する送信装置と、送信装置において符号化されたデータ(以下、「符号化データ」という)に対して検査行列をもとに繰り返し復号を実行する受信装置とを含む通信システムに関する。特に、受信装置は、min−sumアルゴリズムを実行する。min−sunアルゴリズムは、チェックノード処理と変数ノード処理とを含んでいるが、チェックノード処理の方が変数ノード処理よりも複雑な処理である。そのため、チェックノード処理を簡易にすることによって、min−sumアルゴリズムの処理を簡易にすることが望まれる。これに対応するために、本実施例に係る通信システムは、次の処理を実行する。
受信装置は、検査行列の各行に対してチェックノード処理を開始するまでに、処理対象となる行に含まれた事前値比の中から、事前値比の絶対値の最小値を特定するとともに、当該最小値が配置された列も特定する。さらに、受信装置は、事前値比の符号の総積を導出する。受信装置は、最小値、列に関する情報、符号の総積を使用して、外部値比を更新する。つまり、受信装置は、ひとつの行に含まれる複数の外部値比を更新する際に、それらに共通した処理を予めまとめて実行することによって、チェックノード処理の処理量を削減する。
図1は、本発明の実施例に係る通信システムの構成を示す。通信システム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アルゴリズムは、次の手順で実行される。
1.初期化:事前値比を初期化し、最大復号繰り返し回数を設定する。
2.チェックノード処理:検査行列の行方向に対して外部値比を更新する。
3.変数ノード処理:検査行列の列方向に対して事前値比を更新する。
4.一時推定語を計算する。
復号部28は、復号結果(以下、「復号データ」という)を情報データ出力部30へ出力する。情報データ出力部30は、復号部28からの復号データを入力する。情報データ出力部30は、復号データをもとに情報データを生成する。なお、復号データがそのまま情報データとされてもよい。情報データ出力部30は、外符号復号部を含み、例えばCRC等の外符号を復号してもよい。
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
図3は、復号部28の構成を示す。復号部28は、フレーム構成部40、制御部42、データ記憶部44、min−sum処理部46、復号結果演算部48を含む。また、min−sum処理部46は、チェックノード処理部56、変数ノード処理部58を含み、チェックノード処理部56は、初期化部60、導出部62、更新部64を含む。
フレーム構成部40は、図示しない復調部26からの復調データを入力する。復調データは、通信路を介してのLDPC符号化がなされたデータといえる。フレーム構成部40は、復調データに含まれたフレーム同期信号を検出する。フレーム構成部40は、フレーム同期信号をもとに、復調データによって形成されるフレームの単位を特定する。例えば、フレームの先頭部分にフレーム同期信号が配置され、かつフレームの期間が固定長である場合、フレーム構成部40は、フレーム同期信号を検出してから固定長の期間をフレームと特定する。なお、LDPC符号化の単位がフレームであってもよい。フレーム構成部40は、フレーム単位にまとめた復調データをデータ記憶部44に記憶させる。データ記憶部44は、フレーム単位で復調信号を一時的に記憶する。
min−sum処理部46は、データ記憶部44からの復調データを入力する。min−sum処理部46は、復調データに対してmin−sumアルゴリズムを実行する。min−sumアルゴリズムでは、チェックノード処理部56と変数ノード処理部58とが交互に実行される。図4は、復号部28の動作を模式的に表したタナーグラフを示す。タナーグラフでは、b1からb8が変数ノードと呼ばれ、c1からc4がチェックノードと呼ばれる。ここでは、変数ノードの数をnとし、bnをn番目の変数ノードとする。また、チェックノードの数をmとし、cmをm番目のチェックノードとする。変数ノードb1からb8には、図3のデータ記憶部44に蓄えられたデータy1からy8が接続されている。図3に戻る。
チェックノード処理部56は、繰り返し復号の最初に事前値比βを初期化する。ここでは、データ記憶部44に記憶された復調データがそのまま使用される。次に、チェックノード処理部56は、事前値比の絶対値の最小値min|βmn’|を求める。チェックノード処理部56は、チェックノードにつながる変数ノードとの間で、cmからbmへの外部値比αmnを更新させる。αmnの計算は、検査行列Hmn=1を満たすすべての組(m、n)について、次のようになされる。
αmn=a(Πsign(βmn’))・min|βmn’|・・・(1)
ここで、n’はA(m)\n :A(m)はチェックノードmに接続する変数ノード集合で、\nはnを含まない差集合を示す。また、signはシグネチャ関数、min|βmn’|は絶対値の最小値選択を示す。ここで、aは正規化定数である。図5は、復号部28における外部値比更新動作の概要を示す。外部値比α11は、β11’から導出される。つまり、チェックノード処理部56は、事前値比をもとに外部値比を更新させる。図3に戻る。事前値比の絶対値の最小値min|βmn’|の導出は、繰り返しごとになされる。
変数ノード処理部58は、αmnから変数ノードにつながるチェックノードとの間で、bnからcmへの事前値比βmnを更新する。βmnの計算は、検査行列Hmn=1を満たすすべての組(m、n)について、次のようになされる。
βmn=Σαm’n+λn・・・・(2)
ここで、λnは、入力データynに等しい。入力データynは、復調部26からの復調データに相当する。また、m’はB(n)\m:B(n)は変数ノードnに接続するチェックノード集合で、\mはmを含まない差集合を示す。図6は、復号部28における事前値比更新動作の概要を示す。事前値比β11は、α1’1から導出される。つまり、変数ノード処理部58は、外部値比をもとに事前値比を更新させる。図3に戻る。
復号結果演算部48は、チェックノード処理部56での処理と変数ノード処理部58での処理とが所定回数繰り返された後、一時推定語を計算する。なお、復号結果演算部48は、所定回数繰り返される前であっても、パリティ検査の結果が正しければ一時推定語を計算してもよい。復号結果演算部48は、一時推定語を復号結果として出力する。制御部42は、min−sum処理部46の動作タイミングを制御する。
チェックノード処理部56の式(1)は、検査行列の各行の1の数によって演算を繰り返し、変数ノード処理部58の式(2)は、各列の1の数によって演算を繰り返す。つまり、チェックノード処理は、式(1)に示したように、検査行列のm行目において、要素が1であるn番目(列インデックスがn)の外部値比αmnを更新し、変数ノード処理は式(2)に示したように、事前値比βmnを更新する。チェックノード処理について、演算を簡略化することは、式(1)を簡単に実行することに相当し、LDPC復号の処理速度を上げるためには式(1)の簡略化が求められる。以下では、式(1)の簡略化について説明する。
初期化部60は、チェックノード処理における初期化を実行する。初期化には2種類あり、(1)繰り返し復号前の初期化と(2)行単位の処理の初期化である。(1)繰り返し復号前の初期化として、前述のごとく、初期化部60は、図3のデータ記憶部44に蓄えられたデータy1からy8を事前値比βmnに設定する。
(2)行単位の処理の初期化は、LDPC符号化の検査行列における各行のチェックノード処理を開始するまでの処理に相当する。初期化部60は、処理対象の行に含まれた事前値比の絶対値の最小値βtmpを特定する。また、初期化部60は、特定した事前値比の絶対値の最小値βtmpが配置された列Nminを特定する。ここで、列は、前述の列インデックスに相当する。初期化部60は、事前値比の絶対値の最小値βtmpと列インデックスNminを図3のデータ記憶部44に記憶する。さらに、初期化部60は、処理対象の行に含まれた事前値比βmnの符号の総積SIGNtmpを導出する。初期化部60は、符号の総積SIGNtmpもデータ記憶部44に記憶する。
ここでは、1行目に対して初期化を実行する場合を具体的に説明する。その際、図4のごとく、チェックノードはC1である。また、β11=−3、β12=4、β13=−2、β14=−5であるとする。初期化部60は、事前値比の絶対値の最小値βtmpとして「2」を特定し、それに対応した列インデックスNminとして「3」を特定する。また、初期化部60は、符号の総積SIGNtmpとして「マイナス(−)」を導出する。なお、符号の総積SIGNtmpは事前値比の符号の総積で導出されているが、その代わりに、符号の排他的論理和等、他の演算によって導出されてもよい。
導出部62は、処理対象の行のうちのひとつの外部値比に対して、式(1)の(Πsign(βmn’))とmin|βmn’|とを導出する。さらに、導出部62は、行内において、外部値比を順次変更していく。導出部62は、処理対象の行のうちのひとつの外部値比αmnに対して、当該外部値比αmnの更新に未使用の事前値比βmnが配置された列と、初期化部60において特定した列インデックスNminとが同一であるか否かを確認する。ここで、当該外部値比αmnの更新に未使用の事前値比βmnとは、当該外部値比αmnと同一の列インデックス「n」を有した事前値比である。例えば、処理対象の行のうちのひとつの外部値比が「α11」である場合、更新に未使用の事前値比は「β11」である。同様に、「α12」、「α13」、「α14」に対して、更新に未使用の事前値比は「β12」、「β13」、「β14」である。
同一である場合、導出部62は、初期化部60において特定した事前値比の絶対値の最小値βtmp以外の値(以下では、説明の便宜上、この値も「事前値比の絶対値の最小値βtmp」という)を導出する。前述の例では、「α13」のときに、βtmpとして「3」が導出される。一方、異なる場合、導出部62は、初期化部60において特定した事前値比の絶対値の最小値βtmpを特定する。前述の例では、「α11」、「α12」、「α14」のときに、βtmp「2」が特定される。
さらに、導出部62は、当該外部値比αmnの更新に未使用の事前値比βmnの符号と、初期化部60において導出した符号の総積SIGNtmpとをもとに、符号を導出する。前述の例では、「α11」、「α12」、「α13」、「α14」に対して、更新に未使用の事前値比βmnの符号は、「マイナス(−)」、「プラス(+)」、「マイナス(−)」、「マイナス(−)」である。また、符号の総積SIGNtmpは、「マイナス(−)」である。そのため、「α11」、「α12」、「α13」、「α14」に対して、符号は、「プラス(+)」、「マイナス(−)」、「プラス(+)」、「プラス(+)」になる。導出部62は、事前値比の絶対値の最小値βtmpと符号とを更新部64へ出力する。
更新部64は、導出部62において導出した事前値比の絶対値の最小値βtmpと符号を使用して、処理対象の行のうちのひとつの外部値比αmnを更新する。さらに、導出部62は、行内において、外部値比αmnを順次更新していく。前述の例において、これまでの処理をまとめると次のようになる。「α11」の列インデックスは「1」であり、Nmin=3とは異なるので、「α11」は、符号の総積「SIGNtmp」の「−」に「β11」の符号マイナスを乗じた「プラス(+)」と、「βtmp=2」とから、「+2」と導出される。「α12」の列インデックスは「2」であり、Nmin=3とは異なるので、「α12」は、符号の総積「SIGNtmp」の「−」に「β12」の符号プラスを乗じた「マイナス(−)」と、「βtmp=2」とから、「−2」と導出される。
「α13」の列インデックスは「3」であり、Nminと等しいので、符号の総積「SIGNtmp」の「−」に「β12」の符号マイナスを乗じた「プラス(+)」と、通常の式(1)から演算された「3」とから、「3」と導出される。「α14」の列インデックスは「4」であり、Nmin=3とは異なるので、「α14」は、符号の総積「SIGNtmp」の「−」に「β14」の符号マイナスを乗じた「プラス(+)」と、「βtmp=2」とから、「+2」と導出される。その結果、α11、α12,α13、α14はそれぞれ+2、−2、+3、+2と導出される。
なお、導出されたαには1より小さい常数(正規化常数)を乗じることによって、正規化min−sum復号に対応させてもよい。以上のように1行目のチェックノード処理が終了されると、2行目のチェックノード処理がなされてもよいし、1行目のチェックノード処理で更新された外部値比αを使用して変数ノード処理がなされてもよい。
以上の構成による通信システム100の動作を説明する。図7は、復号部28による復号手順を示すフローチャートである。初期化部60は、事前値比βを初期化する(S10)。行の先頭であれば(S12のY)、初期化部60は、初期化処理を実行し(S14)、ステップ12に戻る。行の先頭でない場合(S12のN)、列がNminでなければ(S16のN)、導出部62、更新部64は、βtmpを使用して外部値比αmnを更新する(S18)。列がNminであれば(S16のY)、導出部62、更新部64は、別のβを選択して外部値比αmnを更新する(S20)。1行が終了していなければ(S22のN)、ステップ12に戻る。1行が終了し(S22のY)、最後の行が終了していなければ(S24のN)、ステップ12に戻る。最後の行が終了すれば(S24のY)、変数ノード処理部58は、変数ノード処理を実行する(S26)。
図8は、復号部28による別の復号手順を示すフローチャートである。これは、変数ノード処理を行処理ごとに実行する場合に相当する。初期化部60は、事前値比βを初期化する(S50)。行の先頭であれば(S52のY)、初期化部60は、初期化処理を実行し(S54)、ステップ52に戻る。行の先頭でない場合(S52のN)、列がNminでなければ(S56のN)、導出部62、更新部64は、βtmpを使用して外部値比αmnを更新する(S58)。列がNminであれば(S56のY)、導出部62、更新部64は、別のβを選択して外部値比αmnを更新する(S60)。1行が終了していなければ(S62のN)、ステップ52に戻る。1行が終了していれば(S62のY)、変数ノード処理部58は、変数ノード処理を実行する(S64)。最後の行が終了していなければ(S66のN)、ステップ52に戻る。最後の行が終了すれば(S66のY)、処理は終了される。
本発明の実施例によれば、各行のチェックノード処理を開始するまでに、処理対象の行に含まれた事前値比の符号の総積を導出しておき、各外部値比の導出に総積を使用するので、各外部値比を導出する際に符号の総積の演算を省略できる。また、各外部値比を導出する際に符号の総積の演算が省略されるので、演算量を低減できる。また、予め特定した事前値比の絶対値の最小値を外部値比の更新に使用するので、事前値比の絶対値の最小値の導出を省略できる。
また、事前値比の絶対値の最小値の導出が省略されるので、演算量を低減できる。また、外部値比の更新に未使用の事前値比が配置された列と、予め特定した列インデックスとが同一である場合だけ最小値以外の値を導出し、それ以外であれば、予め特定した最小値を使用するので、演算量を低減できる。また、演算量が低減されるので、min−sumアルゴリズムの簡易化を実現できる。また、列インデックスがNminでなければ、チェックノード処理での演算を回避できる。また、チェックノード処理の演算をそのまま実行する場合と比較して、加算、乗算回数を1/4程度に低減できる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本発明の実施例において、通信システム100は無線通信システムを前提としているので、送信装置10および受信装置12は、無線通信装置に含まれる。しかしながらこれに限らず例えば、通信システム100は有線通信システムを前提としてもよい。その際、送信装置10および受信装置12は、有線通信装置に含まれる。本変形例によれば、本発明をさまざまな装置に適用できる。
10 送信装置、 12 受信装置、 20 情報データ生成部、 22 LDPC符号化部、 24 変調部、 26 復調部、 28 復号部、 30 情報データ出力部、 40 フレーム構成部、 42 制御部、 44 データ記憶部、 46 min−sum処理部、 48 復号結果演算部、 56 チェックノード処理部、 58 変数ノード処理部、 60 初期化部、 62 導出部、 64 更新部、 100 通信システム。

Claims (6)

  1. LDPC符号化がなされたデータを入力する入力部と、
    前記入力部において入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行する復号部とを備え、
    前記復号部は、
    LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の符号の総積を導出する初期化部と、
    前記処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、前記初期化部において導出した符号の総積とをもとに、符号を導出する導出部と、
    前記導出部において導出した符号を使用して、前記処理対象の行のうちのひとつの外部値比を更新する更新部と、
    を備えることを特徴とする復号装置。
  2. 前記初期化部は、繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定し、
    前記導出部は、外部値比の更新に未使用の事前値比が配置された列と、前記初期化部において特定した列とが異なる場合、前記初期化部において特定した事前値比の絶対値の最小値を前記更新部に使用させることを特徴とする請求項1に記載の復号装置。
  3. LDPC符号化がなされたデータを入力する入力部と、
    前記入力部において入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行する復号部とを備え、
    前記復号部は、
    LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定する初期化部と、
    前記処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、前記初期化部において特定した列とが同一である場合、前記初期化部において特定した事前値比の絶対値の最小値以外の値を導出する導出部と、
    前記導出部において導出した値を使用して、前記処理対象の行のうちのひとつの外部値比を更新する更新部とを備え、
    前記導出部は、外部値比の更新に未使用の事前値比が配置された列と、前記初期化部において特定した列とが異なる場合、前記初期化部において特定した事前値比の絶対値の最小値を前記更新部に使用させることを特徴とする復号装置。
  4. LDPC符号化がなされたデータを入力するステップと、
    入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行するステップとを備え、
    前記実行するステップは、
    LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の符号の総積を導出するステップと、
    前記処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比の符号と、導出した符号の総積とをもとに、符号を導出するステップと、
    導出した符号を使用して、前記処理対象の行のうちのひとつの外部値比を更新するステップと、
    を備えることを特徴とする復号方法。
  5. 繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、
    外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を前記更新するステップに使用させるステップと、
    をさらに備えることを特徴とする請求項4に記載の復号方法。
  6. LDPC符号化がなされたデータを入力するステップと、
    入力したデータに対して、min−sumアルゴリズムを実行することによって、事前値比をもとに外部値比を更新させるチェックノード処理と、外部値比をもとに事前値比を更新させる変数ノード処理とを、所定の最大復号繰り返し回数交互に、繰り返し実行するステップとを備え、
    前記実行するステップは、
    LDPC符号化の検査行列における各行のチェックノード処理を開始するまでに、繰り返し毎の処理対象の行に含まれた事前値比の絶対値の最小値を特定するとともに、特定した事前値比の絶対値の最小値が配置された列を特定するステップと、
    前記処理対象の行のうちのひとつの外部値比に対して、当該外部値比の更新に未使用の事前値比が配置された列と、特定した列とが同一である場合、特定した事前値比の絶対値の最小値以外の値を導出するステップと、
    導出した値を使用して、前記処理対象の行のうちのひとつの外部値比を更新するステップとを備え、
    前記導出するステップは、外部値比の更新に未使用の事前値比が配置された列と、特定した列とが異なる場合、特定した事前値比の絶対値の最小値を前記更新するステップに使用させることを特徴とする復号方法。
JP2010244691A 2010-10-29 2010-10-29 復号装置および復号方法 Active JP5370337B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010244691A JP5370337B2 (ja) 2010-10-29 2010-10-29 復号装置および復号方法
CN201180052472.6A CN103190079B (zh) 2010-10-29 2011-10-28 解码装置及解码方法
PCT/JP2011/006038 WO2012056712A1 (ja) 2010-10-29 2011-10-28 復号装置および復号方法
US13/871,858 US9143165B2 (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
JP2010244691A JP5370337B2 (ja) 2010-10-29 2010-10-29 復号装置および復号方法

Publications (2)

Publication Number Publication Date
JP2012099971A JP2012099971A (ja) 2012-05-24
JP5370337B2 true JP5370337B2 (ja) 2013-12-18

Family

ID=45993456

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US9143165B2 (ja)
JP (1) JP5370337B2 (ja)
CN (1) CN103190079B (ja)
WO (1) WO2012056712A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365601B2 (ja) * 2010-09-30 2013-12-11 株式会社Jvcケンウッド 復号装置および復号方法
EP2784766A1 (en) 2013-03-28 2014-10-01 F. Hoffmann-La Roche AG Training device for medicine injection devices and reset device for resetting such a training device
US9391647B2 (en) * 2014-07-18 2016-07-12 Storart Technology Co., Ltd. Decoder and decoding method thereof for min-sum algorithm low density parity-check code
KR20180009558A (ko) * 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3891186B2 (ja) * 2004-03-22 2007-03-14 住友電気工業株式会社 復号装置および前処理装置
CN101248583B (zh) * 2005-07-13 2012-04-18 三菱电机株式会社 通信装置以及解码方法
KR20080033381A (ko) * 2005-08-10 2008-04-16 미쓰비시덴키 가부시키가이샤 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기
JP2010028408A (ja) * 2008-07-18 2010-02-04 Sony Corp 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP2012099971A (ja) 2012-05-24
CN103190079A (zh) 2013-07-03
US9143165B2 (en) 2015-09-22
WO2012056712A1 (ja) 2012-05-03
CN103190079B (zh) 2016-10-12
US20130246882A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
JP2012151676A (ja) 復号装置および復号方法
CN109891753B (zh) 用于编码和译码ldpc码的方法和装置
JP4062435B2 (ja) 誤り訂正符号復号装置
CN101032082B (zh) 编码和解码数据的方法和设备
JP5705106B2 (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
KR100849044B1 (ko) 패리티 체크 행렬 생성 방법, 데이터 전송 시스템, 부호화장치, 복호 장치 및 패리티 체크 행렬 생성 프로그램을 저장하는 컴퓨터로 판독가능한 기록 매체
EP1909395A1 (en) Communication apparatus and decoding method
EP1790082B1 (en) Method and apparatus for encoding and decoding data
JP2008514106A (ja) Ldpcコードを用いた符号化及び復号化方法
JP5370337B2 (ja) 復号装置および復号方法
KR20070063851A (ko) 패리티 검사 행렬, 패리티 검사 행렬 생성 방법, 인코딩방법 및 에러 정정 장치
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
US8214717B2 (en) Apparatus and method for decoding LDPC code based on prototype parity check matrixes
US8327215B2 (en) Apparatus and method for encoding LDPC code using message passing algorithm
JP5310701B2 (ja) 復号装置および復号方法
US20100185913A1 (en) Method for decoding ldpc code and the circuit thereof
JP5365601B2 (ja) 復号装置および復号方法
WO2012042786A1 (ja) 復号装置および復号方法
JP5772622B2 (ja) 復号装置および復号方法
JP2013150193A (ja) 復号装置および復号方法
EP3526899B1 (en) Decoding of low-density parity-check convolutional turbo codes
JP2013207396A (ja) 復号装置、復号方法、プログラム
JP2013070133A (ja) 復号装置および復号方法
JP2012175564A (ja) 復号装置、符号化装置、復号方法、符号化方法
JP5434454B2 (ja) 復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130729

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130902

R150 Certificate of patent or registration of utility model

Ref document number: 5370337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150