特許第5772622号(P5772622)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社JVCケンウッドの特許一覧

<>
  • 特許5772622-復号装置および復号方法 図000002
  • 特許5772622-復号装置および復号方法 図000003
  • 特許5772622-復号装置および復号方法 図000004
  • 特許5772622-復号装置および復号方法 図000005
  • 特許5772622-復号装置および復号方法 図000006
  • 特許5772622-復号装置および復号方法 図000007
  • 特許5772622-復号装置および復号方法 図000008
  • 特許5772622-復号装置および復号方法 図000009
  • 特許5772622-復号装置および復号方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5772622
(24)【登録日】2015年7月10日
(45)【発行日】2015年9月2日
(54)【発明の名称】復号装置および復号方法
(51)【国際特許分類】
   H03M 13/19 20060101AFI20150813BHJP
【FI】
   H03M13/19
【請求項の数】7
【全頁数】14
(21)【出願番号】特願2012-9986(P2012-9986)
(22)【出願日】2012年1月20日
(65)【公開番号】特開2013-150194(P2013-150194A)
(43)【公開日】2013年8月1日
【審査請求日】2014年7月31日
(73)【特許権者】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】中野 栄治
【審査官】 藤江 大望
(56)【参考文献】
【文献】 特表2012−500514(JP,A)
【文献】 米国特許出願公開第2009/0282319(US,A1)
【文献】 特開2009−100222(JP,A)
【文献】 国際公開第2006/059688(WO,A1)
【文献】 米国特許出願公開第2007/0168833(US,A1)
【文献】 国際公開第2011/145133(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/19
IEEE Xplore
CiNii
(57)【特許請求の範囲】
【請求項1】
LDPC符号化がなされたデータを入力する入力部と、
前記入力部において入力したデータに対する第1の復号処理を実行する第1復号処理部と、
前記入力部において入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行する第2復号処理部と、
前記第1復号処理部と前記第2復号処理部とを制御する制御部とを備え、
前記第1復号処理部において実行される第1の復号処理と、前記第2復号処理部において実行される第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、
前記制御部は、
前記第1復号処理部あるいは前記第2復号処理部から、繰り返し単位における復号結果を受けつける受付部と、
前記受付部において受けつけた復号結果の信頼度合いを導出する導出部と、
前記導出部において導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき前記第1復号処理部あるいは前記第2復号処理部を選択する選択部とを備え、
前記第2復号処理部において実行される第2の復号処理では、前記第1復号処理部において実行される第1の復号処理よりも、演算量が少なく、かつ収束速度が遅いことを特徴とする復号装置
【請求項2】
LDPC符号化がなされたデータを入力する入力部と、
前記入力部において入力したデータに対する第1の復号処理を実行する第1復号処理部と、
前記入力部において入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行する第2復号処理部と、
前記第1復号処理部と前記第2復号処理部とを制御する制御部とを備え、
前記第1復号処理部において実行される第1の復号処理と、前記第2復号処理部において実行される第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、
前記制御部は、
前記第1復号処理部あるいは前記第2復号処理部から、繰り返し単位における復号結果を受けつける受付部と、
前記受付部において受けつけた復号結果の信頼度合いを導出する導出部と、
前記導出部において導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき前記第1復号処理部あるいは前記第2復号処理部を選択する選択部とを備え、
前記第1復号処理部において実行される第1の復号処理は、行方向処理と列方向処理をビットごとに交互に実行し、
前記第2復号処理部において実行される第2の復号処理は、行方向処理をまとめて実行してから、列方向処理をまとめて実行することを特徴とする復号装置
【請求項3】
前記導出部は、復号結果の信頼度合いとして、しきい値以下の対数事後確率比を有したビットの繰り返し単位におけるカウント値を使用することを特徴とする請求項1または2に記載の復号装置。
【請求項4】
前記選択部は、信頼度合いが別のしきい値よりも高い場合に前記第2復号処理部を選択し、その他の場合に前記第1復号処理部を選択することを特徴とする請求項3に記載の復号装置。
【請求項5】
前記選択部は、前記第2復号処理部を選択した場合、残りの繰り返し単位における復号処理は前記第2復号処理部を継続的に選択することを特徴とする請求項1から4のいずれかに記載の復号装置。
【請求項6】
LDPC符号化がなされたデータを入力するステップと、
入力したデータに対する第1の復号処理を実行するステップと、
入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行するステップと、
前記第1の復号処理を実行するステップと前記第2の復号処理を実行するステップとを制御するステップとを備え、
第1の復号処理と第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、
前記制御するステップは、
前記第1の復号処理を実行するステップあるいは前記第2の復号処理を実行するステップから、繰り返し単位における復号結果を受けつけるステップと、
受けつけた復号結果の信頼度合いを導出するステップと、
導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき前記第1の復号処理を実行するステップあるいは前記第2の復号処理を実行するステップを選択するステップとを備え、
前記第2の復号処理では、前記第1の復号処理よりも、演算量が少なく、かつ収束速度が遅いことを特徴とする復号方法。
【請求項7】
LDPC符号化がなされたデータを入力するステップと、
入力したデータに対する第1の復号処理を実行するステップと、
入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行するステップと、
前記第1の復号処理を実行するステップと前記第2の復号処理を実行するステップとを制御するステップとを備え、
第1の復号処理と第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、
前記制御するステップは、
前記第1の復号処理を実行するステップあるいは前記第2の復号処理を実行するステップから、繰り返し単位における復号結果を受けつけるステップと、
受けつけた復号結果の信頼度合いを導出するステップと、
導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき前記第1の復号処理を実行するステップあるいは前記第2の復号処理を実行するステップを選択するステップとを備え、
前記第1の復号処理は、行方向処理と列方向処理をビットごとに交互に実行し、
前記第2の復号処理は、行方向処理をまとめて実行してから、列方向処理をまとめて実行することを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号技術に関し、特にLDPCによる符号化がなされたデータを復号する復号装置および復号方法に関する。
【背景技術】
【0002】
近年、低S/Nの伝送路でも強力な誤り訂正能力をもつ誤り訂正符号として、LDPC(Low Density Parity Check Code)が注目され、多くの分野で適用されている。LDPCでは、送信側において、疎な検査行列をもとに生成される符号化行列によって、データが符号化される。ここで、疎な検査行列とは、要素が1または0からなる行列であって、1の数が少ない行列である。一方、受信側において、検査行列をもとにして、データの復号とパリティ検査とがなされる。特に、BP(Belief Propagation)法等による繰り返し復号によって復号性能が向上する。
【0003】
この復号では、検査行列の行方向に復号するチェックノード処理と、列方向に復号する変数ノード処理とを繰り返し実行する。チェックノード処理のひとつとして、Gallager関数や双曲線関数を用いるsum−product復号が知られている。sum−product復号では、伝送路ノイズの分散値から求まる通信路値を事前値として使用する。sum−product復号を簡略化した復号方法が、min−sum復号である。そのため、min−sum復号は、処理の簡略化、高速化のために使用される。一方、繰り返し復号による収束性を早めるためには、シャッフル復号の使用が望ましい。シャッフル復号は、チェックノード処理を実行した列を対象として直ちに変数ノード処理を実行することによって、事前値比の更新を逐次実行する。
【0004】
またLDPC復号を応用した例として、パリティ制約を表す部分行列を含み、LDPC復号に用いられる検査行列と部分行列とを使用して、パリティ制約を満たすようにデータを復号する第1の復号部と、検査行列を使用して、復号されたデータをLDPC復号する第2の復号部を併用する技術も提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−271956号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
先行技術のように、ビタビ復号とLDPC復号のふたつの復号方式を併用した場合、性能改善を望めるが、ビタビ復号を実行するための演算量が必要になるので、演算量削減は望めない。一方、シャッフル復号によれば、各行の各ビットのチェックノード処理の後、逐次的に変数ノード処理を実行するので、収束を高速にできるが、演算量が増大する。また、min−sum復号やsum−product復号において、すべての行のチェックノード処理が完了してから、変数ノード処理を実行する場合、収束は遅いが演算量が少ないという特徴がある。このような状況下、LDPC復号の演算量の増加を抑制しながら高速化することが望まれる。
【0007】
本発明はこうした状況に鑑みてなされたものであり、その目的は、LDPC復号の演算量の増加を抑制しながら収束速度を高速化する技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の復号装置は、LDPC符号化がなされたデータを入力する入力部と、入力部において入力したデータに対する第1の復号処理を実行する第1復号処理部と、入力部において入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行する第2復号処理部と、第1復号処理部と第2復号処理部とを制御する制御部とを備える。第1復号処理部において実行される第1の復号処理と、第2復号処理部において実行される第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、制御部は、第1復号処理部あるいは第2復号処理部から、繰り返し単位における復号結果を受けつける受付部と、受付部において受けつけた復号結果の信頼度合いを導出する導出部と、導出部において導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき第1復号処理部あるいは第2復号処理部を選択する選択部と、を備える。第2復号処理部において実行される第2の復号処理では、第1復号処理部において実行される第1の復号処理よりも、演算量が少なく、かつ収束速度が遅い。
【0009】
この態様によると、繰り返し単位における復号結果の信頼度合いをもとに、次の繰り返し単位において第1の復号処理あるいは第2の復号処理を選択するので、復号の状況に応じた復号処理を使用できる。
【0010】
この場合、演算量の少ない第2の復号処理と、収束速度の速い第1の復号処理とを組み合わせるので、演算量の増加を抑制しながら収束速度を高速化できる。
【0011】
本発明の別の態様もまた、復号装置である。この装置は、LDPC符号化がなされたデータを入力する入力部と、入力部において入力したデータに対する第1の復号処理を実行する第1復号処理部と、入力部において入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行する第2復号処理部と、第1復号処理部と第2復号処理部とを制御する制御部とを備える。第1復号処理部において実行される第1の復号処理と、第2復号処理部において実行される第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、制御部は、第1復号処理部あるいは第2復号処理部から、繰り返し単位における復号結果を受けつける受付部と、受付部において受けつけた復号結果の信頼度合いを導出する導出部と、導出部において導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき第1復号処理部あるいは第2復号処理部を選択する選択部と、を備える。第1復号処理部において実行される第1の復号処理は、行方向処理と列方向処理をビットごとに交互に実行し、第2復号処理部において実行される第2の復号処理は、行方向処理をまとめて実行してから、列方向処理をまとめて実行してもよい。この場合、行方向処理と列方向処理をビットごとに交互に実行する処理と、行方向処理をまとめて実行してから、列方向処理をまとめて実行する処理とを組み合わせるので、演算量の増加を抑制しながら収束速度を高速化できる。
【0012】
選択部は、信頼度合いが別のしきい値よりも高い場合に前記第2復号処理部を選択し、その他の場合に前記第1復号処理部を選択してもよい。この場合、信頼度合いがしきい値よりも高い場合に演算量を低減し、その他の場合に収束速度を高速にできる。
【0013】
選択部は、第2復号処理部を選択した場合、残りの繰り返し単位における復号処理は第2復号処理部を継続的に選択してもよい。この場合、第2復号処理部を選択しつづけるので、演算量の増加を抑制できる。
【0014】
導出部は、復号結果の信頼度合いとして、しきい値以下の対数事後確率比を有したビットの繰り返し単位におけるカウント値を使用してもよい。この場合、対数事後確率比を使用するので、新たな導出を不要にできる。
【0015】
本発明のさらに別の態様は、復号方法である。この方法は、LDPC符号化がなされたデータを入力するステップと、入力したデータに対する第1の復号処理を実行するステップと、入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行するステップと、第1の復号処理を実行するステップと第2の復号処理を実行するステップとを制御するステップとを備える。第1の復号処理と第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、制御するステップは、第1の復号処理を実行するステップあるいは第2の復号処理を実行するステップから、繰り返し単位における復号結果を受けつけるステップと、受けつけた復号結果の信頼度合いを導出するステップと、導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき第1の復号処理を実行するステップあるいは第2の復号処理を実行するステップを選択するステップと、を備える。第2の復号処理では、第1の復号処理よりも、演算量が少なく、かつ収束速度が遅い。
本発明のさらに別の態様もまた、復号方法である。この方法は、LDPC符号化がなされたデータを入力するステップと、入力したデータに対する第1の復号処理を実行するステップと、入力したデータに対する第2の復号処理であって、かつ第1の復号処理とは異なった第2の復号処理を実行するステップと、第1の復号処理を実行するステップと第2の復号処理を実行するステップとを制御するステップとを備える。第1の復号処理と第2の復号処理とは、いずれも繰り返し実行可能な復号処理であり、制御するステップは、第1の復号処理を実行するステップあるいは第2の復号処理を実行するステップから、繰り返し単位における復号結果を受けつけるステップと、受けつけた復号結果の信頼度合いを導出するステップと、導出した信頼度合いをもとに、次の繰り返し単位における復号処理を実行させるべき第1の復号処理を実行するステップあるいは第2の復号処理を実行するステップを選択するステップと、を備える。第1の復号処理は、行方向処理と列方向処理をビットごとに交互に実行し、第2の復号処理は、行方向処理をまとめて実行してから、列方向処理をまとめて実行する。
【0016】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0017】
本発明によれば、LDPC復号の演算量の増加を抑制しながら収束速度を高速化できる。
【図面の簡単な説明】
【0018】
図1】本発明の実施例に係る通信システムの構成を示す図である。
図2図1のLDPC符号化部において使用される検査行列を示す図である。
図3図1の復号部の構成を示す図である。
図4図3の復号部の動作を模式的に表したタナーグラフを示す図である。
図5図3の復号部における外部値比の更新の概要を示す図である。
図6図3の復号部における事前値比の更新の概要を示す図である。
図7図7(a)−(b)は、図3の復号部の動作概要を示す図である。
図8図3の復号部による復号手順を示すフローチャートである。
図9図3の復号部による別の復号手順を示すフローチャートである。
【発明を実施するための形態】
【0019】
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、LDPC符号化を実行する送信装置と、送信装置において符号化されたデータ(以下、「符号化データ」という)に対して検査行列をもとに繰り返し復号を実行する受信装置とを含む通信システムに関する。前述のごとく、受信装置において、LDPC復号の演算量の増加を抑制しながら収束速度を高速化することが望まれる。これに対応するために、本実施例に係る通信システム、特に受信装置は、次のように構成される。
【0020】
受信装置は、LDPC復号として、2種類の復号を実行可能である。ひとつ目は、シャッフル復号であり、行方向のチェックノード処理を1ビット実行した後、列方向の変数ノード処理を逐次実行する(以下、「第1復号」という)。ふたつ目は、行方向のチェックノード処理をまとめてから、列方向の変数ノード処理をまとめて実行する(以下、「第2復号」という)。なお、第1復号と第2復号とのいずれにおいても、チェックノード処理には、min−sumアルゴリズムが使用される。受信装置は、第1復号あるいは第2復号における繰り返し単位の復号結果を取得すると、復号結果に対する信頼度を導出する。受信装置は、信頼度が低ければ、次の繰り返し単位に対して第1復号を実行する。一方、受信装置は、信頼度が高ければ、次の繰り返し単位に対して第2復号を実行する。受信装置は、このような処理を繰り返す。つまり、信頼度が低ければ、第1復号によって収束速度が高速化され、信頼度が高ければ、第2復号によって演算量の増加が抑制される。
【0021】
図1は、本発明の実施例に係る通信システム100の構成を示す。通信システム100は、送信装置10、受信装置12を含む。送信装置10は、情報データ生成部20、LDPC符号化部22、変調部24を含む。受信装置12は、復調部26、復号部28、情報データ出力部30を含む。
【0022】
情報データ生成部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、0よりなるものとしているが、これらに限定されるものではない。図1に戻る。
【0023】
変調部24は、LDPC符号化部22から符号化データを入力する。変調部24は、符号化データを変調する。変調方式として、PSK(Phase Shift Keying)、FSK(Frequency Shift Keying)等が使用される。変調部24は、変調した符号化データを変調信号として送信する。復調部26は、変調部24から通信路、例えば無線伝送路を介して変調信号を受信する。復調部26は、変調信号を復調する。復調には公知の技術が使用されればよいので、ここでは説明を省略する。復調部26は、復調結果(以下、「復調データ」という)を復号部28へ出力する。
【0024】
復号部28は、復調部26からの復調データを入力する。復号部28は、復調データに対して、LDCPでの検査行列による復号処理を繰り返し実行する。復号処理は、次の手順で実行される。
1.初期化:事前値比を初期化し、最大復号繰り返し回数を設定する。
2.チェックノード処理:検査行列の行方向に対して外部値比を更新する。
3.変数ノード処理:検査行列の列方向に対して事前値比を更新する。
4.一時推定語を計算する。
ここで、2.チェックノード処理と3.変数ノード処理に対して、前述のごとく、第1復号と第2復号とのうちのいずれかが選択されて実行される。選択は、繰り返し単位になされており、例えば、復号の初期段階において第1復号が実行され、それにつづいて第2復号が実行される。また、第1復号と第2復号での2.チェックノード処理に対して、例えば、min−sumアルゴリズムが実行される。
【0025】
復号部28は、復号結果(以下、「復号データ」という)を情報データ出力部30へ出力する。情報データ出力部30は、復号部28からの復号データを入力する。情報データ出力部30は、復号データをもとに情報データを生成する。なお、復号データがそのまま情報データとされてもよい。情報データ出力部30は、外符号復号部を含み、例えばCRC(Cyclic Redundancy Check)等の外符号を復号してもよい。
【0026】
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0027】
図3は、復号部28の構成を示す。復号部28は、フレーム構成部40、制御部42、データ記憶部44、復号結果演算部48、第1復号処理部50、第2復号処理部52を含む。また、制御部42は、受付部54、導出部56、選択部58を含む。
【0028】
フレーム構成部40は、図示しない復調部26からの復調データを入力する。復調データは、通信路を介してのLDPC符号化がなされたデータといえる。フレーム構成部40は、復調データに含まれたフレーム同期信号を検出する。フレーム構成部40は、フレーム同期信号をもとに、復調データによって形成されるフレームの単位を特定する。例えば、フレームの先頭部分にフレーム同期信号が配置され、かつフレームの期間が固定長である場合、フレーム構成部40は、フレーム同期信号を検出してから固定長の期間をフレームと特定する。なお、LDPC符号化の単位がフレームであってもよい。フレーム構成部40は、フレーム単位にまとめた復調データをデータ記憶部44に記憶させる。データ記憶部44は、フレーム単位で復調データを一時的に記憶する。
【0029】
第2復号処理部52は、データ記憶部44からのデータ、例えば復調データに対して第2復号を実行する。前述のごとく、第2復号は、行方向処理をまとめて実行してから、列方向処理をまとめて実行する。min−sumアルゴリズムでは、チェックノード処理と変数ノード処理とを交互に実行する。図4は、復号部28の動作を模式的に表したタナーグラフを示す。タナーグラフでは、b1からb8が変数ノードと呼ばれ、c1からc4がチェックノードと呼ばれる。ここでは、変数ノードの数をnとし、bnをn番目の変数ノードとする。また、チェックノードの数をmとし、cmをm番目のチェックノードとする。変数ノードb1からb8には、図3のデータ記憶部44に蓄えられたデータy1からy8が接続されている。図3に戻る。
【0030】
チェックノード処理として、min−sumアルゴリズムが実行されており、チェックノード処理では、繰り返し復号の最初に事前値比βを初期化する。ここでは、データ記憶部44に記憶された復調データがそのまま使用される。次に、チェックノード処理では、事前値比の絶対値の最小値min|βmn’|を求める。チェックノード処理では、チェックノードにつながる変数ノードとの間で、cmからbmへの外部値比αmnを更新させる。αmnの計算は、検査行列Hmn=1を満たすすべての組(m、n)について、次のようになされる。
【0031】
αmn=a(Πsign(βmn’))・min|βmn’|・・・(1)
ここで、n’はA(m)\n :A(m)はチェックノードmに接続する変数ノード集合で、\nはnを含まない差集合を示す。また、signはシグネチャ関数、min|βmn’|は絶対値の最小値選択を示す。ここで、aは正規化定数である。図5は、復号部28における外部値比の更新の概要を示す。外部値比α11は、β11’から導出される。つまり、チェックノード処理では、事前値比をもとに外部値比を更新させる。図3に戻る。事前値比の絶対値の最小値min|βmn’|の導出は、繰り返しごとになされる。
【0032】
変数ノード処理では、α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から導出される。つまり、変数ノード処理では、外部値比をもとに事前値比を更新させる。図3に戻る。第2復号処理部52は、繰り返し単位の復号処理を完了すると、その結果(以下、「復号結果」という)をデータ記憶部44に出力する。復号結果には、外部値比αmn、事前値比βmn、対数事後確率比Lnが含まれる。
【0033】
第1復号処理部50は、データ記憶部44からのデータ、例えば復調データに対して第1復号を実行する。前述のごとく、第1復号は、シャッフル復号に相当し、行方向のチェックノード処理が1ビット実行された後、列方向の変数ノード処理が実行される。これは、行方向処理と列方向処理をビットごとに交互に実行することに相当する。つまり、第1復号と第2復号とは異なっている。なお、第1復号処理部50における第1復号のチェックノード処理でも、min−sumアルゴリズムが実行されている。このように、第1復号と第2復号とは、いずれも繰り返し実行可能な復号処理である。また、第2復号は、第1復号よりも、演算量が少なく、かつ収束速度が遅い。第1復号処理部50は、繰り返し単位の復号処理を完了すると、その結果(以下、「復号結果」という)をデータ記憶部44に出力する。
【0034】
制御部42は、第1復号処理部50と第2復号処理部52とを制御する。具体的には、繰り返し単位ごとに、第1復号処理部50と第2復号処理部52とのいずれか一方を動作させる。受付部54は、繰り返し単位の復号処理が完了するごとに、データ記憶部44から復号結果を受けつける。これは、第1復号処理部50あるいは第2復号処理部52においてなされた繰り返し単位の復号結果である。
【0035】
導出部56は、受付部54において受けつけた復号結果の信頼性を導出する。具体的に説明すると、導出部56は、ビットごとの対数事後確率比をしきい値と比較する。ここで、しきい値以下の対数事後確率比を有したビットが、信頼性の低いビットに相当する。つまり、導出部56は、復号結果の信頼性として、対数事後確率比を使用する。導出部56は、繰り返し単位において、検出された信頼性の低いビットの数をカウントする。導出部56は、カウント値を選択部58に出力する。
【0036】
選択部58は、導出部56からカウント値を入力する。選択部58は、カウント値をもとに、次の繰り返し単位における復号処理を実行させるべき第1復号処理部50あるいは第2復号処理部52を選択する。選択部58は、カウント値がしきい値以上の場合に第1復号処理部50を選択し、カウント値がしきい値よりも低い場合に第2復号処理部52を選択する。これは、信頼性がしきい値よりも高い場合に第2復号処理部52を選択し、その他の場合に第1復号処理部50を選択することに相当する。制御部42、第1復号処理部50、第2復号処理部52は、繰り返し復号回数に達するまで、前述の処理を繰り返す。なお、選択部58は、繰り返し復号の途中で、第2復号処理部52を選択した場合、残りの繰り返し単位における復号処理は第2復号処理部52を継続的に選択してもよい。繰り返し回数に達すると繰り返し復号が終了され、最終的な復号結果がデータ記憶部44に記憶される。
【0037】
復号結果演算部48は、第1復号処理部50や第1復号処理部50での処理が所定回数繰り返された後、データ記憶部44に記憶された復号結果をもとに一時推定語を計算する。なお、復号結果演算部48は、所定回数繰り返される前であっても、パリティ検査の結果が正しければ一時推定語を計算してもよい。復号結果演算部48は、一時推定語を復号結果として出力する。
【0038】
図7(a)−(b)は、復号部28の動作概要を示す。ここでは、一例として、繰り返し回数8回であり、低信頼度ビットのしきい値が「100」である場合を示す。そのため、低信頼度ビットが100以上の場合に第1復号が選択され、低信頼度ビットが100未満の場合に第2復号が選択される。図7(a)は、繰り返し単位ごとに低信頼度ビットの個数を毎回確認する場合の結果を示す。図示のごとく、繰り返し1回目は低信頼度ビット数が200個なので第1復号が選択され、同様に繰り返し2、3回目も第1復号が選択される。繰り返し4回目では、低信頼度ビット数が90個になるので、第2復号が選択される。繰り返し5回目では、低信頼度ビットが105個であるので、第1復号が再び選択される。以下、繰り返し6〜8回目は、低信頼度ビットが100個未満であるので、第2復号が選ばれる。
【0039】
図7(b)は、低信頼度ビットの個数がしきい値未満になるまで低信頼度ビットの個数を確認する場合の結果を示す。図示のごとく、繰り返し1回目は低信頼度ビット数が200個なので第1復号が選択され、同様に繰り返し2、3回目も第1復号が選択される。繰り返し4回目では、低信頼度ビット数が90個になるので、第2復号が選択される。一度、第2復号が選択されたら以降の繰り返しでは低信頼度ビット数はカウントされず、第2復号が選択される。低信頼度ビット数のカウントが省略されることと、第2復号が実行されることとによって、演算量が削減される。
【0040】
以上の構成による通信システム100の動作を説明する。図8は、復号部28による復号手順を示すフローチャートである。データ記憶部44は、復調データを記憶する(S10)。導出部56は、対数事後確率比Lnより信頼度を導出し、信頼度がしきい値以下である場合に当該ビットが低信頼度ビットであると判定するとともに、低信頼度ビットの数をカウントする(S12)。低信頼度ビットカウント値がしきい値以上であれば(S14のY)、選択部58は、第1復号処理部50を選択する(S16)。一方、低信頼度ビットカウント値がしきい値以上でなければ(S14のN)、選択部58は、第2復号処理部52を選択する(S18)。所定の繰り返し回数だけ復号処理を繰り返していなければ(S20のN)、ステップ12に戻る。所定の繰り返し回数だけ復号処理を繰り返していれば(S20のY)、復号結果演算部48は、復号結果を演算して出力する(S22)。
【0041】
図9は、復号部28による別の復号手順を示すフローチャートである。図8と異なる点は、一度、第2復号が選択されると、それにつづく繰り返し単位では、常に第2復号が選択されつづけられることである。データ記憶部44は、復調データを記憶する(S50)。導出部56は、対数事後確率比Lnより信頼度を導出し、信頼度がしきい値以下である場合に当該ビットが低信頼度ビットであると判定するとともに、低信頼度ビットの数をカウントする(S52)。低信頼度ビットカウント値がしきい値以上であれば(S54のY)、選択部58は、第1復号処理部50を選択する(S56)。所定の繰り返し回数だけ復号処理を繰り返していなければ(S58のN)、ステップ52に戻る。一方、低信頼度ビットカウント値がしきい値以上でなければ(S54のN)、選択部58は、第2復号処理部52を選択する(S60)。所定の繰り返し回数だけ復号処理を繰り返していなければ(S62のN)、ステップ60に戻る。所定の繰り返し回数だけ復号処理を繰り返していれば(S58のY)、(S62のY)、復号結果演算部48は、復号結果を演算して出力する(S22)。
【0042】
本発明の実施例によれば、繰り返し単位における復号結果の信頼性をもとに、次の繰り返し単位において第1復号あるいは第2復号を選択するので、復号の状況に応じた復号処理を使用できる。また、演算量の少ない第2復号と、収束速度の速い第1復号とを組み合わせるので、演算量の増加を抑制しながら収束速度を高速化できる。また、行方向処理と列方向処理をビットごとに交互に実行する第1復号と、行方向処理をまとめて実行してから、列方向処理をまとめて実行する第2復号とを組み合わせるので、演算量の増加を抑制しながら収束速度を高速化できる。また、信頼度が低い状況において第1復号を選択し、信頼度が高い状況になると第2復号を選択するので、信頼度が低い状況において収束速度を高速化でき、信頼度が高い状況になると演算量を低減できる。また、第2復号が選択されると、その後、第2復号が選択されつづけるので、演算量の増加を抑制できる。また、信頼度として対数事後確率比を使用するので、新たな導出を不要にできる。
【0043】
また、信頼度の低いビットのカウント値に応じて繰り返し復号ごとに、信頼度の低いビットが多い場合に収束が速い第1復号を選択し、信頼度の低いビットが少ない場合に演算量が少ない第2復号を選択することによって、演算量を抑えて性能を改善できる。また、信頼度の低いビットをカウントして、カウント値が閾値以上であれば第1復号を選択し、カウント値がしきい値より少なければ第2復号を選択することよって、第1復号や第2復号を固定的に使用する場合と、同じ演算量で比較すると、復号性能を向上できる。また、これらと、同じ性能で比較すると、演算量を低減できる。
【0044】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0045】
本発明の実施例において、通信システム100は無線通信システムを前提としているので、送信装置10および受信装置12は、無線通信装置に含まれる。しかしながらこれに限らず例えば、通信システム100は有線通信システムを前提としてもよい。その際、送信装置10および受信装置12は、有線通信装置に含まれる。本変形例によれば、本発明をさまざまな装置に適用できる。
【0046】
本発明の実施例において、導出部56は、信頼性として対数事後確率比を使用している。しかしながらこれに限らず例えば、導出部56は、信頼性として対数尤度比を使用してもよい。本変形例によれば、設計の自由度を向上できる。
【0047】
本発明の実施例において、繰り返し単位ごとに、第1復号処理部50あるいは第2復号処理部52が選択されている。しかしながらこれに限らず、繰り返し単位の途中において、第1復号処理部50から第2復号処理部52への切替がなされてもよい。本変形例によれば、2種類の復号を詳細に切りかえることができる。
【0048】
本発明の実施例において、復号部28は、min−sumアルゴリズムを実行している。しかしながらこれに限らず例えば、復号部28は、min−sumアルゴリズムの代わりに、sum−productアルゴリズムを実行してもよい。本変形例によれば、復号特性を向上できる。
【0049】
本発明の実施例において、第1復号処理部50と第2復号処理部52とは別の構成としている。しかしながらこれに限らず例えば、第1復号処理部50と第2復号処理部52とのうち、チェックノード処理を実行するための構成と変数ノード処理を実行するための構成とが共通化されてもよい。本変形例によれば、回路規模を低減できる。
【符号の説明】
【0050】
10 送信装置、 12 受信装置、 20 情報データ生成部、 22 LDPC符号化部、 24 変調部、 26 復調部、 28 復号部、 30 情報データ出力部、 40 フレーム構成部、 42 制御部、 44 データ記憶部、 48 復号結果演算部、 50 第1復号処理部、 52 第2復号処理部、 54 受付部、 56 導出部、 58 選択部、 100 通信システム。
図1
図2
図3
図4
図5
図6
図7
図8
図9