説明

復号装置および復号方法

【課題】LDPC符号のmin−sum復号において、良好な復号性能を確保しつつ演算回数を低減する技術を提供する。
【解決手段】推定部40は、入力したデータをもとに、通信路の状況を推定する。テーブル記憶部42は、正規化定数パターンを複数種類記憶する。選択部44は、推定部40において推定した通信路の状況に応じて、テーブル記憶部42に記憶した複数種類の正規化定数パターンのうちのいずれかを選択する。LDPC復号部50は、選択部44において選択した正規化定数パターンを使用して、入力したデータに対してmin−sumアルゴリズムを繰り返し実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号技術に関し、特にLDPCによる符号化がなされたデータを復号する復号装置および復号方法に関する。
【背景技術】
【0002】
近年、低S/Nの伝送路でも強力な誤り訂正能力をもつ誤り訂正符号として、LDPC(Low Density Parity Check Code)が注目され、多くの分野で適用されている。LDPCでは、送信側において、疎な検査行列をもとに生成される符号化行列によって、データが符号化される。ここで、疎な検査行列とは、要素が1または0からなる行列であって、1の数が少ない行列である。一方、受信側において、検査行列をもとにして、データの復号とパリティ検査とがなされる。特に、BP(Belief Propagation)法等による繰り返し復号によって復号性能が向上することが知られている。
【0003】
この復号では、検査行列の行方向に復号するチェックノード処理と、列方向に復号する変数ノード処理とを繰り返し実行する。チェックノード処理のひとつとして、Gallager関数や双曲線関数を用いるsum−product復号が知られている。また、sum−product復号を簡略化した復号方法が、min−sum復号である。min−sum復号は、複雑な関数を用いることなく、比較演算、和演算等の簡単な処理だけでチェックノード処理を行うことが可能であり、処理の簡略化、高速化のために広く用いられている。min−sum復号でのチェックノード処理で外部値を更新する際の正規化補正において、最適な正規化定数を設定することによって、sum−product復号に近い特性が得られることが知られている。
【0004】
この正規化定数は検査行列や符号化率などの違いによって最適値が変わってくるので、システム毎に予め最適となる値を求めておいて使用するのが一般的である(例えば、特許文献1参照)。LDPCとは異なる符号方式を繰り返し復号する場合、繰り返し復号回数に応じて復号演算の重み係数を変えるような方式が提案されている。復号演算の重み係数を変えることによって、そのときの状態に適した復号が実現される(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−56597号公報
【特許文献2】特開平7−202722号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
min−sum復号の特性は正規化定数に大きく依存している。そこで、正規化定数を繰り返し復号回数に応じて変化させても、正規化定数の変化が、通信路の状態に適さないときに特性が悪化してしまう。そのため、min−sum復号においては正規化定数として固定値が使用されていた。
【0007】
本発明はこうした状況に鑑みてなされたものであり、その目的は、LDPC符号のmin−sum復号において、良好な復号性能を確保しつつ演算回数を低減する技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の復号装置は、通信路を介して、符号化がなされたデータを入力する入力部と、入力部において入力したデータをもとに、通信路の状況を推定する推定部と、min−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数が複数まとめられた正規化定数パターンを複数種類記憶する記憶部と、推定部において推定した通信路の状況に応じて、記憶部に記憶した複数種類の正規化定数パターンのうちのいずれかを選択する選択部と、選択部において選択した正規化定数パターンを使用して、入力部において入力したデータに対してmin−sumアルゴリズムを繰り返し実行する復号部とを備える。選択部は、選択した正規化定数パターンに含まれる複数の正規化定数のうちの1つの正規化定数を、復号部において実行されるmin−sumアルゴリズムの繰り返し回数に応じて随時切りかえながら選択し、復号部は、選択部が切りかえながら選択した正規化定数を使用する。
【0009】
この態様によると、min−sumアルゴリズムにおいて、通信路の状況に応じた正規化定数を選択しながら繰り返し復号を実行するので、良好な復号性能を確保しつつ演算回数を低減できる。
【0010】
本発明の別の態様もまた、復号装置である。この装置は、通信路を介して、符号化がなされたデータを入力する入力部と、入力部において入力したデータに対してmin−sumアルゴリズムを繰り返し実行する復号部と、復号部における復号結果の品質を導出する導出部と、導出部において導出した品質をもとに、予め規定した複数の正規化定数であって、かつ復号部において実行されるmin−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数のうちのいずれかを選択する選択部とを備える。復号部は、選択部が選択した正規化定数を使用する。
【0011】
この態様によると、min−sumアルゴリズムにおいて、復号結果の品質に応じた正規化定数を選択しながら繰り返し復号を実行するので、良好な復号性能を確保しつつ演算回数を低減できる。
【0012】
導出部は、復号部におけるmin−sumアルゴリズムの繰り返し毎に、復号結果の品質を導出し、選択部は、復号部におけるmin−sumアルゴリズムの繰り返し毎に、正規化定数のうちのいずれかを選択してもよい。この場合、繰り返し毎に正規化定数のうちのいずれかを選択するので、正規化定数を詳細に設定できる。
【0013】
入力部において入力したデータをもとに、通信路の状況を推定する推定部をさらに備えてもよい。選択部は、復号部がmin−sumアルゴリズムを最初に実行する際、推定部において推定した通信路の状況に応じて、正規化定数のうちのいずれかを選択してもよい。この場合、min−sumアルゴリズムを最初に実行する際、通信路の状況に応じて正規化定数のうちのいずれかを選択するので、通信路の状況に適した初期値を使用できる。
【0014】
導出部は、復号結果の品質として、min−sumアルゴリズムでの事後値比をもとにした各ビットの信頼度の絶対値平均を導出してもよい。この場合、事後値比をもとにした各ビットの信頼度の絶対値平均を導出するので、復号結果の品質を高精度に導出できる。
【0015】
導出部は、復号結果の品質として、誤り率を導出してもよい。この場合、誤り率を導出するので、復号結果の品質を高精度に導出できる。
【0016】
本発明のさらに別の態様は、復号方法である。この方法は、通信路を介して、符号化がなされたデータを入力するステップと、入力したデータをもとに、通信路の状況を推定するステップと、min−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数が複数まとめられた正規化定数パターンを複数種類記憶したメモリから、推定した通信路の状況に応じて、複数種類の正規化定数パターンのうちのいずれかを選択するステップと、選択した正規化定数パターンを使用して、入力したデータに対してmin−sumアルゴリズムを繰り返し実行するステップとを備える。選択するステップは、選択した正規化定数パターンに含まれる複数の正規化定数のうちの1つの正規化定数を、min−sumアルゴリズムの繰り返し回数に応じて随時切りかえながら選択し、min−sumアルゴリズムを繰り返し実行するステップは、選択するステップが切りかえながら選択した正規化定数を使用する。
【0017】
本発明のさらに別の態様もまた、復号方法である。この方法は、通信路を介して、符号化がなされたデータを入力するステップと、入力したデータに対してmin−sumアルゴリズムを繰り返し実行するステップと、復号結果の品質を導出するステップと、導出した品質をもとに、予め規定した複数の正規化定数であって、かつmin−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数のうちのいずれかを選択するステップとを備える。min−sumアルゴリズムを繰り返し実行するステップは、選択するステップが選択した正規化定数を使用する。
【0018】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0019】
本発明によれば、LDPC符号のmin−sum復号において、良好な復号性能を確保しつつ演算回数を低減できる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施例1に係る通信システムの構成を示す図である。
【図2】図1のLDPC符号化部、復号部において使用される検査行列を示す図である。
【図3】図1の復号部の構成を示す図である。
【図4】図3のテーブル記憶部に記憶された正規化定数テーブルのデータ構造を示す図である。
【図5】図3の復号部の動作を模式的に表したタナーグラフを示す図である。
【図6】図3の復号部における外部値比の概要を示す図である。
【図7】図3の復号部における事前値比の概要を示す図である。
【図8】図1の受信装置によるCNR=15.5dBでのBER特性を示す図である。
【図9】図1の受信装置によるCNR=18.0dBでのBER特性を示す図である。
【図10】図3の復号部による復号手順を示すフローチャートである。
【図11】本発明の実施例2に係る復号部の構成を示す図である。
【図12】図11のテーブル記憶部に記憶された正規化定数テーブルのデータ構造を示す図である。
【図13】図11の復号部による復号手順を示すフローチャートである。
【図14】本発明の実施例3に係る復号部の構成を示す図である。
【図15】図14のテーブル記憶部に記憶された正規化定数テーブルのデータ構造を示す図である。
【図16】図14の復号部による復号手順を示すフローチャートである。
【発明を実施するための形態】
【0021】
(実施例1)
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例1は、LDPC符号化を実行する送信装置と、送信装置において符号化されたデータ(以下、「符号化データ」という)に対して検査行列をもとに繰り返し復号を実行する受信装置とを含む通信システムに関する。特に、受信装置は、min−sumアルゴリズムを実行する。前述のごとく、min−sum復号は正規化定数への依存度が大きいので、正規化定数を繰り返し回数に応じて変更させる場合、高精度な正規化定数が必要とされる。そのため、これまでは正規化定数として固定値が使用されていた。しかしながら、良好な復号性能を確保しつつ演算回数を低減するためには、正規化定数を繰り返し回数に応じて変更させることが望ましい。
【0022】
これに対応するために、本実施例に係る受信装置は、次の処理を実行する。受信装置は、複数の正規化定数をまとめた正規化定数パターンを複数種類予め記憶する。受信装置は、受信した信号の通信路の状態として、CNR(Carrier to Noise Ratio)を測定し、測定結果をもとにいずれかの正規化定数パターンを選択する。受信装置は、正規化min−sumアルゴリズムの繰り返し復号の繰り返し回数に応じて、選択した正規化定数パターンに含まれた複数の正規化定数を順に選択して使用する。
【0023】
図1は、本発明の実施例1に係る通信システム100の構成を示す。通信システム100は、送信装置10、受信装置12を含む。送信装置10は、情報データ生成部20、LDPC符号化部22、変調部24を含む。受信装置12は、復調部26、復号部28、情報データ出力部30を含む。
【0024】
情報データ生成部20は、送信すべきデータを取得し、情報データを生成する。なお、取得したデータがそのまま情報データとされてもよい。情報データ生成部20は、情報データをLDPC符号化部22へ出力する。LDPC符号化部22は、情報データ生成部20から、情報データを入力する。LDPC符号化部22は、LDPCでの検査行列をもとにしたパリティ(以下、「LDPCパリティ」という)を情報データに付加する。LDPCパリティを付加した情報データが、前述の符号化データに相当する。LDPC符号化部22は、符号化データを変調部24に出力する。図2は、LDPC符号化部22、復号部28において使用される検査行列を示す。図2は、LDPC符号化部22において使用される検査行列を示す。検査行列は、7行18列であるとするが、これに限定されるものではない。図1に戻る。
【0025】
変調部24は、LDPC符号化部22から符号化データを入力する。変調部24は、符号化データを変調する。変調方式として、PSK(Phase Shift Keying)、FSK(Frequency Shift Keying)等が使用される。変調部24は、変調した符号化データを変調信号として送信する。
【0026】
復調部26は、変調部24から通信路、例えば無線伝送路を介して変調信号を受信する。復調部26は、変調信号を復調する。復調には公知の技術が使用されればよいので、ここでは説明を省略する。復調部26は、復調結果(以下、「復調データ」という)を復号部28へ出力する。
【0027】
復号部28は、復調部26からの復調データを入力する。復号部28は、復調データに対して、LDCPでの検査行列による復号処理を繰り返し実行する。復号処理として、例えば、min−sumアルゴリズムが実行される。min−sumアルゴリズムは、次の手順で実行される。
1.初期化:事前値比を初期化し、最大復号繰り返し回数を設定する。
2.チェックノード処理:検査行列の行方向に対して外部値比を更新する。
3.変数ノード処理:検査行列の列方向に対して事前値比を更新する。
4.一時推定語を計算する。
【0028】
これらの手順の詳細な説明は省略するが、後述のチェックノード処理において、正規化定数が使用される。復号部28は、復号結果(以下、「復号データ」という)を情報データ出力部30へ出力する。情報データ出力部30は、復号部28からの復号データを入力する。情報データ出力部30は、復号データをもとに情報データを生成する。なお、復号データがそのまま情報データとされてもよい。
【0029】
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0030】
図3は、復号部28の構成を示す。復号部28は、推定部40、テーブル記憶部42、選択部44、フレーム構成部46、フレームデータ記憶部48、LDPC復号部50、外符号復号部52を含む。
【0031】
フレーム構成部46は、図示しない復調部26からの復調データを入力する。復調データは、通信路を介してのLDPC符号化がなされたデータといえる。フレーム構成部46は、復調データに含まれたフレーム同期信号を検出する。フレーム構成部46は、フレーム同期信号をもとに、復調データによって形成されるフレームの単位を特定する。例えば、フレームの先頭部分にフレーム同期信号が配置され、かつフレームの期間が固定長である場合、フレーム構成部46は、フレーム同期信号を検出してから固定長の期間をフレームと特定する。フレーム構成部46は、フレーム単位の記憶をフレームデータ記憶部48に指示する。フレームデータ記憶部48は、フレーム構成部46と同様に復調データを入力する。フレームデータ記憶部48は、フレーム構成部46からの指示に応じて、フレーム単位で復調信号を記憶する。
【0032】
推定部40は、復調データをもとに、通信路の状況を推定する。ここでは、通信路値として、例えばCNRが測定され、このような通信路値は1フレーム分の復調データの分散量に相当する。推定部40は測定したCNR値を選択部44に出力する。
【0033】
テーブル記憶部42は、min−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数が複数まとめられた正規化定数パターンを複数種類記憶する。図4は、テーブル記憶部42に記憶された正規化定数テーブルのデータ構造を示す。図示のごとく、通信路値欄200、正規化定数パターン番号欄202、正規化定数パターン欄204が含まれる。通信路値のCNR値が14dB未満の場合には、正規化定数パターン番号1の正規化定数パターンが指定され、14dB以上で17dB未満の場合には、正規化定数パターン番号2の正規化定数パターンが指定され、17dB以上の場合には、正規化定数パターン番号3の正規化定数パターンが指定される。さらに、各正規化定数パターンには、10個の正規化定数が含まれている。図4における左端の正規化定数が、最初の繰り返し復号に使用され、右端の正規化定数が、最後の繰り返し復号に使用される。そのため、各正規化定数パターンにおいて、繰り返し回数が進むほど、正規化定数の値が大きくなる。図3に戻る。
【0034】
選択部44は、推定部40において測定したCNR値に応じて、テーブル記憶部42に記憶した複数種類の正規化定数パターンのうちのいずれかを選択する。例えば、推定部40においてCNR値が18dBと測定された場合、選択部44は、テーブル記憶部42から正規化定数パターン番号3の正規化定数パターンを選択する。その結果、{0.70,0.75,0.85,0.90,0.90,0.90,0.90,0.90,0.90,0.90}の正規化定数が選択される。ここで、選択部44は、LDPC復号部50において実行されるmin−sumアルゴリズムの繰り返し回数に応じて、選択した正規化定数パターンの中から、正規化定数を切りかえながら選択する。選択部44は、選択した正規化定数をLDPC復号部50に出力する。
【0035】
LDPC復号部50は、フレームデータ記憶部48からの復調データを入力するとともに、選択部44からの正規化定数を入力する。LDPC復号部50は、選択部44において選択した正規化定数パターンを使用して、復調データに対してmin−sumアルゴリズムを繰り返し実行する。特に、LDPC復号部50は、選択部44が切りかえながら選択した正規化定数を使用する。例えば、LDPC復号部50は、繰り返し復号の1回目に正規化定数「0.70」を使用し、2回目に正規化定数「0.75」を使用し、3回目に正規化定数「0.85」を使用する。つまり、LDPC復号部50は、正規化定数パターンの先頭から順番に繰り返し復号を行う毎に、正規化定数を変更しながら復号を行っていく。
【0036】
ここでは、min−sumアルゴリズムを説明する。図5は、復号部28の動作を模式的に表したタナーグラフを示す。タナーグラフでは、b1からb18が変数ノードと呼ばれ、c1からc7がチェックノードと呼ばれる。ここでは、変数ノードの数をnとし、bnをn番目の変数ノードとする。また、チェックノードの数をmとし、cmをm番目のチェックノードとする。変数ノードb1からb18には、図3のフレームデータ記憶部48に蓄えられたメッセージビットm1からm11とパリティビットp1からp7が接続されている。
【0037】
チェックノード処理では、チェックノードにつながる変数ノードとの間で、cmからbnへの外部値比α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は正規化定数である。図6は、復号部28における外部値比の概要を示す。外部値比α11は、β11’から導出される。図3に戻る。
【0038】
変数ノード処理では、αmnから変数ノードにつながるチェックノードとの間で、bnからcmへの事前値比βmnが更新される。βmnの計算は、検査行列Hmn=1を満たすすべての組(m、n)について、次のようになされる。
βmn=Σαm’n+λn・・・・(2)
ここで、λnは、メッセージビットm1からm11とパリティビットp1からp7に等しい。また、m’はB(n)\m:B(n)は変数ノードnに接続するチェックノード集合で、\mはmを含まない差集合を示す。図7は、復号部28における事前値比の概要を示す。事前値比β11は、α1’1から導出される。図3に戻る。
【0039】
チェックノード処理、変数ノード処理を行った後、LDPC復号部50は、式(3)、(4)を用いて一時推定語を計算し、パリティ検査を実行する。パリティ検査が条件を満たすか、予め設定した最大繰り返し復号回数になるまで繰り返し復号処理がなされることによって、LDPC復号は終了する。
Ln=Σαm’n+λn・・・・(3)
Xn=0(Ln≧0) or 1(Ln<0)・・・・(4)
なお、前述のごとく、チェックノード処理における正規化定数aが、繰り返し回数に応じて変更されていく。LDPC復号部50は、復号結果を外符号復号部52に出力する。外符号復号部52は、例えばCRC(Cyclic Redundancy Check)等の外符号復号を行った後、図1の情報データ出力部30に出力する。
【0040】
図8は、受信装置12によるCNR=15.5dBでのBER特性を示す。ここでは、図示のごとく、正規化定数を「0.65」に固定した場合と、正規化定数テーブルを使用した場合とが比較される。正規化定数テーブルを使用した場合、伝送路の状態が悪くCNR値が低いときに、繰り返し復号の最初に小さい値の正規化定数を使用することによって、外部値の更新量を抑えながら復号し、後半で大きい値の正規化定数を使用することによって、収束度が高められる。その結果、固定の正規化定数を使用した場合よりも、正規化定数テーブルを使用した場合の方において、特性が向上する。
【0041】
図9は、受信装置12によるCNR=18.0dBでのBER特性を示す。ここでも、図示のごとく、正規化定数を「0.65」に固定した場合と、正規化定数テーブルを使用した場合とが比較される。正規化定数テーブルを使用した場合、伝送路の状態がよくCNR値が高いときに、最初から正規化定数を大きめな値に設定し、繰り返し回数の増加とともに、その値をさらに大きくしながら復号がなされる。その結果、固定の正規化定数を使用した場合よりも、正規化定数テーブルを使用した場合の方において、特性が向上する。
【0042】
以上の構成による通信システム100の動作を説明する。図10は、復号部28による復号手順を示すフローチャートである。推定部40は、データ受信時の通信路値(CNR)を計算する(S10)。フレームデータ記憶部48が1フレーム分のデータを受信中であれば(S12のY)、ステップ10に戻る。フレームデータ記憶部48が1フレーム分のデータを受信中でなければ(S12のN)、選択部44は、推定部40でのデータ受信時の通信路値(CNR値)を読み込む(S14)。
【0043】
CNRが17.0dB以上でなく(S16のN)、14.0dB以上でなければ(S18のN)、選択部44は、正規化定数パターン番号1の正規化定数パターンを読み込む(S20)。14.0dB以上であれば(S18のY)、選択部44は、正規化定数パターン番号2の正規化定数パターンを読み込む(S22)。CNRが17.0dB以上であれば(S16のY)、選択部44は、正規化定数パターン番号3の正規化定数パターンを読み込む(S24)。選択部44は、読み込んだ正規化定数パターンを正規化定数毎にLDPC復号部50に出力する(S26)。LDPC復号部50は、正規化定数を変更しながら復号を行っていく(S28)。
【0044】
本発明の実施例によれば、min−sumアルゴリズムにおいて、CNR値に応じた正規化定数パターンに含まれた正規化定数を選択しながら繰り返し復号を実行するので、良好な復号性能を確保しつつ演算回数を低減できる。また、繰り返し復号を行う毎に正規化定数を変更するので、正規化定数を一定の値で復号を行うよりも良好な性能を確保しつつ、繰り返し復号回数が低減されるので、演算量を削減できる。また、min−sumアルゴリズムにおいて、繰り返し復号回数に応じて正規化定数を変化させて収束度を高め、正規化定数パターンをCNR値に合わせて選択することによって、良好な性能を確保しつつ、繰り返し復号回数を低減できる。
【0045】
(実施例2)
本発明の実施例2は、実施例1と同様に、min−sumアルゴリズムを実行する受信装置に関する。実施例1に係る受信装置では、CNRに応じた正規化定数パターンを選択し、正規化定数パターンにしたがって正規化定数を変化させている。実施例2に係る受信装置も正規化定数を変化させる。しかしながら、その受信装置は、繰り返し復号の1回が終了する毎に、各ビットの信頼度の絶対値平均(以下、「信頼度」という)を導出し、信頼度に応じて次回の正規化定数を決定する。つまり、信頼度をもとに、繰り返し復号の1回毎に正規化定数が決定される。実施例2に係る通信システム100は、図1と同様のタイプである。ここでは、差異を中心に説明する。
【0046】
図11は、本発明の実施例2に係る復号部28の構成を示す。復号部28は、テーブル記憶部42、選択部44、ビット信頼度導出部54、フレーム構成部46、フレームデータ記憶部48、LDPC復号部50、外符号復号部52を含む。
【0047】
ビット信頼度導出部54は、LDPC復号部50における復号結果の品質を導出する。ここで、ビット信頼度導出部54は、min−sumアルゴリズムの繰り返し毎に、復号結果の品質を導出する。特に、復号結果の品質として、min−sumアルゴリズムでの事後値比をもとにした各ビットの信頼度の絶対値平均、つまり前述の信頼度が導出される。ビット信頼度導出部54での処理をさらに詳細に説明する。ビット信頼度導出部54は、正規化min−sumアルゴリズムにて一時推定語を計算する際の(3)式の事後値比を使用して、各ビットの信頼度の絶対値平均を復号フレーム単位で次のように導出する。
Lavg=Σ|Σαm’n+ λn|/n・・・・(5)
【0048】
(5)式のビット信頼度の絶対値平均は、推定語の信頼度が高い場合に大きな値となり、推定語の信頼度が低い場合に小さな値となる。このビット信頼度の絶対値平均を繰り返し復号毎に求めることによって、繰り返し復号の各回の復号状態が確認できるようになり、この値に応じて次回復号を行う際に使用する正規化定数が決定される。テーブル記憶部42は、正規化定数を複数記憶する。図12は、テーブル記憶部42に記憶された正規化定数テーブルのデータ構造を示す。図示のごとく、ビット信頼度絶対値平均欄210、正規化定数欄212が含まれる。このように、ビット信頼度の絶対値平均に応じて使用すべき正規化定数がテーブル化されている。図11に戻る。
【0049】
選択部44は、ビット信頼度導出部54において導出した信頼度をもとに、テーブル記憶部42に記憶された複数の正規化定数のうちのいずれかを選択する。ここで、選択部44は、LDPC復号部50におけるmin−sumアルゴリズムの繰り返し毎に、正規化定数のうちのいずれかを選択する。選択部44は、選択した正規化定数をLDPC復号部50に出力する。LDPC復号部50は、選択部44が選択した正規化定数を使用して、復号データに対してmin−sumアルゴリズムを繰り返し実行する。
【0050】
以上の構成による通信システム100の動作を説明する。図13は、復号部28による復号手順を示すフローチャートである。LDPC復号部50は、正規化定数に初期値「0.65」を設定して復号を行う(S40)。ビット信頼度導出部54は、ビット信頼度の絶対値平均を計算する(S42)。選択部44は、ビット信頼度の絶対値平均を読み込む(S44)。絶対値の平均が14.0以上でなく(S46のN)、10.0以上でなく(S48のN)、6.0以上でなければ(S50のN)、選択部44は、正規化定数「0.55」を読み込む(S52)。
【0051】
6.0以上であれば(S50のY)、選択部44は、正規化定数「0.60」を読み込む(S54)。10.0以上であれば(S48のY)、選択部44は、正規化定数「0.70」を読み込む(S56)。14.0以上であれば(S46のY)、選択部44は、正規化定数「0.80」を読み込む(S58)。選択部44は、読み込んだ正規化定数をLDPC復号部50に出力する(S60)。LDPC復号部50は、正規化定数を変更して復号を行う(S62)。繰り返し復号中であれば(S64のY)、ステップ42に戻る。繰り返し復号中でなければ(S64のN)、処理は終了される。
【0052】
本発明の実施例によれば、min−sumアルゴリズムにおいて、信頼度に応じた正規化定数を選択しながら繰り返し復号を実行するので、良好な復号性能を確保しつつ演算回数を低減できる。また、繰り返し毎に正規化定数のうちのいずれかを選択するので、正規化定数を詳細に設定できる。また、事後値比をもとにして、各ビットの信頼度の絶対値平均を導出するので、復号結果の品質を高精度に導出できる。また、通信路の状況が悪いためにビット信頼度の絶対値平均が低い場合に、小さめな正規化定数を使って復号を行っており、通信路の状況がよいためにビット信頼度の絶対値平均が高い場合に、大きめの正規化定数を使って復号を行うので、繰り返し復号の収束度を向上できる。
【0053】
(実施例3)
本発明の実施例3は、これまで同様に、min−sumアルゴリズムを実行する受信装置に関する。実施例2に係る受信装置は、繰り返し復号の1回が終了する毎に、信頼度を導出し、信頼度に応じて次回の正規化定数を決定している。一方、実施例3に係る受信装置は、信頼度の代わりにビット誤り率を導出して、正規化定数を決定するためにビット誤り率を使用する。実施例3に係る通信システム100は、図1と同様のタイプである。ここでは、差異を中心に説明する。
【0054】
図14は、本発明の実施例3に係る復号部28の構成を示す。復号部28は、テーブル記憶部42、選択部44、誤り率導出部56、フレーム構成部46、フレームデータ記憶部48、LDPC復号部50、外符号復号部52を含む。
【0055】
誤り率導出部56は、復号結果の品質として、誤り率を導出する。LDPC復号部50での復号前のデータと復号後のデータを比較し、復号の前後でデータが異なる誤り訂正ビット数を導出し、次のようにビット誤り率を計測する。
ビット誤り率=誤り訂正ビット数/1フレーム分のビット数・・・・(6)
なお、ビット誤り率の計測は復号毎になされ、誤り率導出部56は、その結果を選択部44に出力する。
【0056】
テーブル記憶部42は、前述のごとく、正規化定数を複数記憶する。図15は、テーブル記憶部42に記憶された正規化定数テーブルのデータ構造を示す。図示のごとく、ビット誤り率欄220、正規化定数欄222が含まれる。このように、ビット誤り率に応じて使用すべき正規化定数がテーブル化されている。図14に戻る。選択部44は、誤り率導出部56において導出したビット誤り率をもとに、テーブル記憶部42に記憶された複数の正規化定数のうちのいずれかを選択する。
【0057】
以上の構成による通信システム100の動作を説明する。図16は、復号部28による復号手順を示すフローチャートである。LDPC復号部50は、正規化定数に初期値「0.65」を設定して復号を行う(S80)。誤り率導出部56は、ビット誤り率(BER)を計測する(S82)。選択部44は、ビット誤り率を読み込む(S84)。BERが1.0E−2以上でなく(S86のN)、1.0E−3以上でなく(S88のN)、1.0E−4以上でなければ(S90のN)、選択部44は、正規化定数「0.80」を読み込む(S92)。
【0058】
1.0E−4以上であれば(S90のY)、選択部44は、正規化定数「0.70」を読み込む(S94)。1.0E−3以上であれば(S88のY)、選択部44は、正規化定数「0.60」を読み込む(S96)。1.0E−2以上であれば(S86のY)、選択部44は、正規化定数「0.55」を読み込む(S98)。選択部44は、読み込んだ正規化定数をLDPC復号部50に出力する(S100)。LDPC復号部50は、正規化定数を変更して復号を行う(S102)。繰り返し復号中であれば(S104のY)、ステップ82に戻る。繰り返し復号中でなければ(S104のN)、処理は終了される。
【0059】
本発明の実施例によれば、誤り率を導出するので、復号結果の品質を高精度に導出できる。また、通信路の状態が悪くビット誤り率が高い場合に小さめな正規化定数を使って復号を行い、通信路の状態がよくビット誤り率が低い場合、あるいは繰り返し復号によってビット誤り率が低くなってきた場合に、大きめの正規化定数を使って復号を行うので、繰り返し復号の収束度を高めることができる。また、良好な性能を確保しつつ、繰り返し復号回数を低減でき、演算量を削減できる。
【0060】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0061】
本発明の実施例1から3において、通信システム100は無線通信システムを前提としているので、送信装置10および受信装置12は、無線通信装置に含まれる。しかしながらこれに限らず例えば、通信システム100は有線通信システムを前提としてもよい。その際、送信装置10および受信装置12は、有線通信装置に含まれる。本変形例によれば、本発明をさまざまな装置に適用できる。
【0062】
本発明の実施例1において、通信路値に対して3種類の正規化定数パターンが設定されている。しかしながらこれに限らず例えば、3種類とは異なった種類数の正規化定数パターンが設定されてもよい。また、ひとつの正規化定数パターンに含まれた正規化定数の数が10個以外であってもよい。本変形例によれば、通信システム100の設計の自由度を向上できる。
【0063】
本発明の実施例2、3において、ビット信頼度の絶対値平均やビット誤り率に対して4種類の正規化定数が設定されている。しかしながらこれに限らず例えば、4種類とは異なった種類数の正規化定数が設定されてもよい。本変形例によれば、通信システム100の設計の自由度を向上できる。
【0064】
本発明の実施例2、3において、LDPC復号部50は、正規化定数の初期値として固定値を使用している。しかしながらこれに限らず例えば、LDPC復号部50は、通信路の状況に応じた正規化定数を初期値として設定してもよい。例えば、図3の推定部40が復号部28に含まれ、推定部40は、復調データをもとに、CNR値を測定する。また、テーブル記憶部42は、CNR値と正規化定数とを対応づけた初期値用のテーブルも記憶し、選択部44は、推定部40において測定したCNR値に応じて、正規化定数のうちのいずれかを選択してもよい。本変形例によれば、min−sumアルゴリズムを最初に実行する際、CNR値に応じて正規化定数のうちのいずれかを選択するので、通信路の状況に適した初期値を使用できる。
【符号の説明】
【0065】
10 送信装置、 12 受信装置、 20 情報データ生成部、 22 LDPC符号化部、 24 変調部、 26 復調部、 28 復号部、 30 情報データ出力部、 40 推定部、 42 テーブル記憶部、 44 選択部、 46 フレーム構成部、 48 フレームデータ記憶部、 50 LDPC復号部、 52 外符号復号部、 54 ビット信頼度導出部、 56 誤り率導出部、 100 通信システム。

【特許請求の範囲】
【請求項1】
通信路を介して、符号化がなされたデータを入力する入力部と、
前記入力部において入力したデータをもとに、通信路の状況を推定する推定部と、
min−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数が複数まとめられた正規化定数パターンを複数種類記憶する記憶部と、
前記推定部において推定した通信路の状況に応じて、前記記憶部に記憶した複数種類の正規化定数パターンのうちのいずれかを選択する選択部と、
前記選択部において選択した正規化定数パターンを使用して、前記入力部において入力したデータに対してmin−sumアルゴリズムを繰り返し実行する復号部とを備え、
前記選択部は、選択した正規化定数パターンに含まれる複数の正規化定数のうちの1つの正規化定数を、前記復号部において実行されるmin−sumアルゴリズムの繰り返し回数に応じて随時切りかえながら選択し、
前記復号部は、前記選択部が切りかえながら選択した正規化定数を使用することを特徴とする復号装置。
【請求項2】
通信路を介して、符号化がなされたデータを入力する入力部と、
前記入力部において入力したデータに対してmin−sumアルゴリズムを繰り返し実行する復号部と、
前記復号部における復号結果の品質を導出する導出部と、
前記導出部において導出した品質をもとに、予め規定した複数の正規化定数であって、かつ前記復号部において実行されるmin−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数のうちのいずれかを選択する選択部とを備え、
前記復号部は、前記選択部が選択した正規化定数を使用することを特徴とする復号装置。
【請求項3】
前記導出部は、前記復号部におけるmin−sumアルゴリズムの繰り返し毎に、復号結果の品質を導出し、
前記選択部は、前記復号部におけるmin−sumアルゴリズムの繰り返し毎に、正規化定数のうちのいずれかを選択することを特徴とする請求項2に記載の復号装置。
【請求項4】
前記入力部において入力したデータをもとに、通信路の状況を推定する推定部をさらに備え、
前記選択部は、前記復号部がmin−sumアルゴリズムを最初に実行する際、前記推定部において推定した通信路の状況に応じて、正規化定数のうちのいずれかを選択することを特徴とする請求項2または3に記載の復号装置。
【請求項5】
前記導出部は、復号結果の品質として、min−sumアルゴリズムでの事後値比をもとにした各ビットの信頼度の絶対値平均を導出することを特徴とする請求項2から4のいずれかに記載の復号装置。
【請求項6】
前記導出部は、復号結果の品質として、誤り率を導出することを特徴とする請求項2から4のいずれかに記載の復号装置。
【請求項7】
通信路を介して、符号化がなされたデータを入力するステップと、
入力したデータをもとに、通信路の状況を推定するステップと、
min−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数が複数まとめられた正規化定数パターンを複数種類記憶したメモリから、推定した通信路の状況に応じて、複数種類の正規化定数パターンのうちのいずれかを選択するステップと、
選択した正規化定数パターンを使用して、入力したデータに対してmin−sumアルゴリズムを繰り返し実行するステップとを備え、
前記選択するステップは、選択した正規化定数パターンに含まれる複数の正規化定数のうちの1つの正規化定数を、min−sumアルゴリズムの繰り返し回数に応じて随時切りかえながら選択し、
前記min−sumアルゴリズムを繰り返し実行するステップは、前記選択するステップが切りかえながら選択した正規化定数を使用することを特徴とする復号方法。
【請求項8】
通信路を介して、符号化がなされたデータを入力するステップと、
入力したデータに対してmin−sumアルゴリズムを繰り返し実行するステップと、
復号結果の品質を導出するステップと、
導出した品質をもとに、予め規定した複数の正規化定数であって、かつmin−sumアルゴリズムでのチェックノード処理において事前値比をもとに外部値比を更新させる際に使用すべき正規化定数のうちのいずれかを選択するステップとを備え、
前記min−sumアルゴリズムを繰り返し実行するステップは、前記選択するステップが選択した正規化定数を使用することを特徴とする復号方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−70133(P2013−70133A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−205614(P2011−205614)
【出願日】平成23年9月21日(2011.9.21)
【出願人】(308036402)株式会社JVCケンウッド (1,152)
【Fターム(参考)】