JP2013165408A - 積符号の復号装置、積符号の復号方法、及び、プログラム - Google Patents

積符号の復号装置、積符号の復号方法、及び、プログラム Download PDF

Info

Publication number
JP2013165408A
JP2013165408A JP2012027814A JP2012027814A JP2013165408A JP 2013165408 A JP2013165408 A JP 2013165408A JP 2012027814 A JP2012027814 A JP 2012027814A JP 2012027814 A JP2012027814 A JP 2012027814A JP 2013165408 A JP2013165408 A JP 2013165408A
Authority
JP
Japan
Prior art keywords
vector
inversion
decision
metric value
information table
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.)
Granted
Application number
JP2012027814A
Other languages
English (en)
Other versions
JP5757253B2 (ja
Inventor
Toru Fujimoto
亨 藤本
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 JP2012027814A priority Critical patent/JP5757253B2/ja
Publication of JP2013165408A publication Critical patent/JP2013165408A/ja
Application granted granted Critical
Publication of JP5757253B2 publication Critical patent/JP5757253B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】確実にコンカーレント符号語を探索可能な積符号の復号装置、積符号の復号方法、及び、プログラムを提供する。
【解決手段】決定ベクトル算出部002C2は、軟入力ベクトルとの間のメトリック値が最小となる決定ベクトルを特定する。検索部002C3は、要素ビットに対応する反転パターンを取得する。反転決定ベクトル生成部002C4は、反転決定ベクトルを生成する。メトリック値算出部002C5は、反転決定ベクトルのメトリック値を算出する。コンカーレント符号語特定部002C6は、反転決定ベクトルのメトリック値の中から、最も値が小さいメトリック値を有する反転決定ベクトルを当該要素ビットのコンカーレント符号語として特定する。軟出力ベクトル算出部002C8は、決定ベクトルのメトリック値と各要素ビットのコンカーレント符号語のメトリック値を用いて、軟出力ベクトル[rr]を生成する。
【選択図】図1

Description

本発明は、積符号の復号装置、積符号の復号方法、及び、プログラムに関する。
デジタル通信システムにおける信頼度向上のために、様々な符号化及びその復号方法が提案されている。訂正能力の高い符号による符号化は、復号処理が複雑となり装置化することが難しいが、連接符号化或いは積符号化を用いることで、比較的簡単に装置化可能であって高性能な符号化が可能となる。
積符号は、情報データを2重に符号化して冗長化するため、訂正能力が高いという特徴がある。そのため、DVD(Digital Versatile Disc)等の誤り訂正方式等に広く用いられている。
積符号の復号方法として、特許文献1に開示されている方法(Pyndiahアルゴリズム)が代表的なものである。特許文献1に開示されている積符号の復号方法では、決定ベクトル候補となるq個の符号語[C](t=1,2,3,…,q)を生成し、生成した各符号語[C]と受信ベクトル(軟入力ベクトル)[R’]とのメトリック(ユークリッド距離)を算出し、メトリック値が最小となる符号語を決定ベクトル[C]とする。
そして、決定ベクトル以外の決定ベクトル候補の符号語(以下、コンカーレント符号語候補という)の中からコンカーレント符号語[C]を探索する。コンカーレント符号語[C]の探索は、決定ベクトル[C]の構成要素Ckに対応する要素が反転しているコンカーレント符号語候補が存在するか否かにより行われる。探索の結果、条件を満たすコンカーレント符号語候補が存在した場合には、条件を満たすコンカーレント符号語候補の中から、受信ベクトル[R’]とのメトリック値が最小となるコンカーレント符号語候補を特定し、その候補をコンカーレント符号語[C]とする。
そして、コンカーレント符号語[C]が存在する場合は、軟出力ベクトル[rr]の構成要素rrkは次式により算出される。ここで、Mは、コンカーレント符号語と受信ベクトル(軟入力ベクトル)[R’]との間のメトリック値であり、Mは、決定ベクトル[C]と受信ベクトル(軟入力ベクトル)[R’]との間のメトリック値である。
(数1)
rrk=(M−M/4)・C
一方、コンカーレント符号語[C]が存在しない場合は、軟出力ベクトル[rr]の構成要素rrkはβを定数として次式により算出される。
(数2)
rrk=β・C
特許文献1に開示されている方法では、決定ベクトル[C]とコンカーレント符号語[C]の探索では、Chase復号が用いられるため符号語の候補が多様性に富んでおらず、コンカーレント符号語[C]が見つからない場合がある。そのため、コンカーレント符号語[C]が存在しない場合には、上述した算出式(数2)を用いて、軟出力ベクトル[rr]の構成要素rrkの推定を行う必要がある。しかしながら、この推定方法は、精度が高くないため、コンカーレント符号語[C]が見つからない場合は、軟出力の精度が劣化してしまう。
また、コンカーレント符号語[C]を決定ベクトル[C]以外の決定ベクトル候補(コンカーレント符号語候補)の符号語から探索するため、演算量の軽減を優先してテストベクトルの個数設定をすると、決定ベクトル[C]の構成要素Ckに対応する要素が反転しているコンカーレント符号語候補が存在しなくなる確率がますます高まり、その結果、軟出力の精度がさらに劣化する恐れがある。
軟出力の精度は、復号性能に大きく関わることから、コンカーレント符号語[C]を見つけられるか否かは、積符号の復号において非常に重要な問題である。
特開平7−202722号公報
本発明は、上記実情に鑑みてなされたものであり、確実にコンカーレント符号語を探索可能な積符号の復号装置、積符号の復号方法、及び、プログラムを提供することを目的とする。
また、本発明は、演算量を軽減することで高速処理が可能な積符号の復号装置、積符号の復号方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係る復号装置は、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号装置であって、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する決定ベクトル算出部と、
前記第2の決定ベクトルの要素ビットごとに、(i)該要素ビットが反転対象であり、(ii)前記第2の決定ベクトルの反転対象の要素ビットを反転させることで得られる反転決定ベクトルが、前記受信ベクトルに対応する配列を符号化した前記線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすような、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている第1の反転パターン情報テーブルを記憶する記憶部と、
前記第1の反転パターン情報テーブルに基づいて、前記第2の決定ベクトルの各要素ビットに対し、該要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの要素ビットを反転させることで生成される前記反転決定ベクトルのうちで、前記軟入力ベクトルとの間のメトリック値が最小となる反転決定ベクトルを該要素ビットのコンカーレント符号語として特定するコンカーレント符号語特定部と、
前記第2の決定ベクトルのメトリック値と、各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める軟出力ベクトル算出部と、
を備えることを特徴とする。
この場合、前記第2の決定ベクトルの各要素ビットに対し、前記第1の反転パターンテーブルを検索して、処理対象の要素ビットに対応する反転パターンを順次取得する検索部と、前記検索部により取得された反転パターンから生成される前記反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を順次算出し、処理対象の要素ビットに対応する反転パターンから生成される反転決定ベクトルごとに少なくとも該反転決定ベクトルのメトリック値を対応付けたメトリック値情報テーブルを生成し前記記憶部に格納するメトリック値算出部と、をさらに備え、前記コンカーレント符号語特定部は、前記記憶部に格納されている前記メトリック値情報テーブルに登録されている前記メトリック値のうちで、最小のメトリック値に対応する反転決定ベクトルを、処理対象の要素ビットのコンカーレント符号語として特定する、
こととしてもよい。
また、前記第1の反転パターン情報テーブルは、前記第1の反転パターン情報テーブルに含まれる反転パターンのうちで、特定される反転対象が異なる反転パターンに対し一意に識別可能なインデックス番号をそれぞれ対応付けた第2の反転パターン情報テーブルと、前記第2の決定ベクトルの要素ビットごとに、該要素ビットに対応する各反転パターンを前記インデックス番号で表したインデックス番号情報テーブルと、から構成され、前記インデックス番号情報テーブルを検索し、処理対象の要素ビットに対応するインデックス番号を取得し、前記第2の反転パターン情報テーブルを検索し、取得した前記インデックス番号に対応する反転パターンを特定することで、処理対象の要素ビットに対応する反転パターンを取得する検索部と、前記検索部により取得された反転パターンから生成される前記反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を順次算出し、該反転パターンに対応するインデックス番号と少なくとも処理対象の要素ビットに対応する反転パターンから生成される反転決定ベクトルのメトリック値とを対応付けたメトリック値情報テーブルを生成し前記記憶部に格納するメトリック値算出部と、をさらに備え、前記コンカーレント符号語特定部は、前記記憶部に格納されている前記メトリック値情報テーブルに登録されている前記メトリック値のうちで、最小のメトリック値に対応する反転決定ベクトルを、処理対象の要素ビットのコンカーレント符号語として特定する、
こととしてもよい。
また、前記メトリック値算出部が、前記検索部により取得された反転パターンから生成される反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を算出するのに先立って、前記メトリック値情報テーブルに登録されているインデックス番号を検索し、該反転パターンに対応するインデックス番号が登録されているか否かを判定する判定部を、さらに備え、前記判定部により、該反転パターンに対応するインデックス番号が登録されていないと判定された場合のみ、前記メトリック値算出部は、該反転パターンから生成される反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を算出し、該反転パターンに対応するインデックス番号と少なくとも該反転パターンから生成される反転決定ベクトルのメトリック値とを対応付けて前記メトリック値情報テーブルに登録する、
こととしてもよい。
また、前記線形符号は、ハミング符号である、
こととしてもよい。
この場合、前記受信データは、線形符号により2次元積符号化された受信データである、
こととしてもよい。
また、前記線形符号は、複数であり、前記記憶部は、異なる線形符号それぞれに対応する前記第1の反転パターン情報テーブルを格納する、
こととしてもよい。
上記目的を達成するために、本発明の第2の観点に係る復号装置は、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号装置であって、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する決定ベクトル算出部と、
前記第2の決定ベクトルの要素ビットごとに、(i)該要素ビットが反転対象であり、(ii)前記第2の決定ベクトルの反転対象の要素ビットを反転させることで得られる反転決定ベクトルが、前記受信ベクトルに対応する配列を符号化した前記線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすような、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルを記憶する記憶部と、
前記反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、に基づいて、前記軟出力ベクトルを求める軟出力ベクトル算出部と、
を備えることを特徴とする。
この場合、前記第2の決定ベクトルの各要素ビットに対し、前記反転パターンテーブルを検索して、処理対象の要素ビットに対応する反転パターンを順次取得する検索部と、前記検索部により取得された処理対象の要素ビットに対応する各反転パターンに対し、該反転パターンにより特定される前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、から、対応する要素ごとに乗算した値の和を算出し、処理対象の要素ビットに対応する反転パターンごとに、算出した和を対応付けた差分情報テーブルを生成する差分算出部と、をさらに備え、前記軟出力ベクトル算出部は、前記差分算出部により生成された前記差分情報テーブルを検索し、前記差分情報テーブルに登録されている前記和の中で、値が最小の和を用いて、前記軟出力ベクトルを算出する、
こととしてもよい。
また、前記差分算出部が、前記検索部により取得された反転パターンから生成される反転決定ベクトルの各要素ビットと前記軟入力ベクトルの各構成要素と、から、対応する要素ごとに乗算した値の和を算出するのに先立って、前記差分情報テーブルに登録されている反転パターンを検索し、該反転パターンに対応する差分情報が登録されているか否かを判定する判定部を、さらに備え、前記判定部により、該反転パターンに対応する差分情報が登録されていないと判定された場合のみ、前記差分算出部は、該反転パターンから生成される反転決定ベクトルの各要素ビットと前記軟入力ベクトルの各構成要素と、から、対応する要素ごとに乗算した値の和を算出し、該反転パターンに対応する反転パターンと該反転パターンから生成される差分情報とを対応付けて前記差分情報テーブルに登録する、
こととしてもよい。
上記目的を達成するために、本発明の第3の観点に係る復号方法は、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号方法であって、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定し、
前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、前記第2の決定ベクトルの各要素ビットに対し、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの要素ビットを反転させることで生成される反転決定ベクトルのうちで、前記軟入力ベクトルとの間のメトリック値が最小となる反転決定ベクトルを該要素ビットのコンカーレント符号語として特定し、
前記第2の決定ベクトルのメトリック値と、前記特定された各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める、
ことを特徴とする。
上記目的を達成するために、本発明の第4の観点に係る復号方法は、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号方法であって、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定し、
前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、に基づいて、前記軟出力ベクトルを求める、
ことを特徴とする。
上記目的を達成するために、本発明の第5の観点に係るプログラムは、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する機能を備えるコンピュータに、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する処理と、
前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、前記第2の決定ベクトルの各要素ビットに対し、処理対象の要素ビットに対応する前記反転パターンにより特定される反転対象の前記第2の決定ベクトルの要素ビットを反転させることで生成される反転決定ベクトルのうちで、前記軟入力ベクトルとの間のメトリック値が最小となる反転決定ベクトルを該要素ビットのコンカーレント符号語として特定する処理と、
前記第2の決定ベクトルのメトリック値と、前記特定された各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める処理と、
実行させることを特徴とする。
上記目的を達成するために、本発明の第6の観点に係るプログラムは、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する機能を備えるコンピュータに、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する処理と、
前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、に基づいて、前記軟出力ベクトルを求める処理と、
を実行させることを特徴とする。
本発明によれば、確実にコンカーレント符号語を探索可能となり、軟出力の精度の劣化を防ぎ、復号性能を高めることができる。また、本発明によれば、復号処理を高速化することが可能となる。
(a)は、実施形態1における、デジタル通信システムの構成を示すブロック図である。(b)は、実施形態1における、復号部の構成を示すブロック図である。 実施形態1における、積符号化された情報系列の構成を示す図である。 (a)は、実施形態1における、個数情報テーブルの一例を示す図である。(b)は、実施形態1における、反転パターン情報テーブルの一例を示す図である。 実施形態1における、メトリック値情報テーブルの一例を示す図である。 実施形態1における、復号処理のフローチャートを示す図である。 実施形態1における、軟出力ベクトル生成処理のフローチャートを示す図である。 実施形態2における、復号部の構成を示すブロック図である。 (a)は、実施形態2における、インデックス番号情報テーブルの一例を示す図である。(b)は、実施形態2における、反転パターン情報テーブルの一例を示す図である。 実施形態2における、メトリック値情報テーブルの一例を示す図である。 実施形態2における、軟出力ベクトル生成処理のフローチャートを示す図である。 実施形態3における、復号部の構成を示すブロック図である。 実施形態3における、差分情報テーブルの一例を示す図である。 実施形態3における、軟出力ベクトル生成処理のフローチャートを示す図である。
本発明の好適な実施形態に係る積符号の復号装置、及び、復号方法について、図面を参照しながら説明する。
(実施形態1)
図1(a)は、デジタル通信システム1の構成を示すブロック図である。本実施形態におけるデジタル通信システム1は、無線送信装置001と無線受信装置002とから構成され、無線送信装置001は、積符号化部001Aと、変調部001Bと、無線通信部001Cとから構成される。
積符号化部001Aは、図2に示すように、入力されたK2xK1の情報系列Kを、行方向に、線形符号C1により情報系列長K1、符号長N1となるように符号化し、列方向に、線形符号C2により情報系列長K2、符号長N2となるように符号化する。図中のブロック1は、情報データ(情報系列)、ブロック2乃至4はパリティ(冗長)を表している。積符号化部001Aにより積符号化された情報系列K、すなわち、N2xN1のデータ行列(以下、積符号化情報行列という){R}は、積符号化部001Aが備える内部メモリに記憶される。
積符号化部001Aにより積符号化された情報系列K(積符号化情報行列{R})は、例えば、一行単位で上側から最終行(第N2番目の行)まで順次読み出される。ここで、順次読み出された行を積符号化行情報ベクトル[R](i=1,2,…,N2)ということとする。
なお、本実施形態の復号処理では、行における処理と列における処理とは同じであることから、以下、行における処理について説明する。また、行に対応するベクトルの表記は符号iを使用し、例えば、[A]とし、列に対応するベクトルの表記は符号jを使用し、[A]とする。特に行と列の区別が必要ないときは[A]と表記することとする。
変調部001Bは、積符号化部001Aが備える内部メモリから順次読み出された積符号化行情報ベクトル[R]を所定の信号方式へ変調する。無線通信部001Cは、アンテナと無線通信モジュール等から構成され、変調後の積符号化行情報ベクトル[R]を増幅して通信路CHへ出力する。通信路CHにおいて、出力された積符号化行情報ベクトル[R]にノイズ成分が付加され、ノイズ成分が付加された積符号化行情報ベクトル[R]が無線受信装置002により受信される。なお、ノイズ成分が付加された積符号化行情報ベクトルについても、便宜上、積符号化行情報ベクトル[R]ということとする。
無線受信装置002は、無線通信部002Aと、復調部002Bと、復号部002Cとから構成される。無線通信部002Aは、アンテナと無線通信モジュール等から構成され、無線送信装置001の無線通信部001Cにより出力された積符号化行情報ベクトル[R]を受信する。復調部002Bは、無線通信部002Aが受信した積符号化行情報ベクトル[R]を復調し、復調後の積符号化行情報ベクトル[R]は、復号部002Cに入力される。
復号部002Cは、CPU(Central Processing Unit)と、ROM(Read Only Memory)とRAM(Random Access Memory)等から構成された記憶部002C1と、から構成される。復号部002Cは、順次入力される復調後の積符号化行情報ベクトル[R]から積符号化情報行列{R}を生成し、記憶部002C1に格納する。
記憶部002C1は、CPUのワークエリアとして機能すると共にCPUが実行する動作プログラム、詳しくは後述する個数情報テーブルT1と反転パターン情報テーブルT2を格納すると共に、詳しくは後述するメトリック値情報テーブルT3を格納する。また、記憶部002C1は、復号部002Cにより生成された積符号化情報行列{R}、後述の軟出力ベクトル算出部002C8により算出された軟出力ベクトル[rr]の各構成要素rrk等を格納する。
ここで、図3を参照して、記憶部002C1に格納される個数情報テーブルT1と反転パターン情報テーブルT2について説明する。図3(a)は、行方向の符号化がハミング符号(17,12,3)で行われた場合、つまり、行方向の符号長N1が”17”の場合における決定ベクトル[D]の要素ビットk(k=1,2,…,17)と、当該要素ビットkの位置が反転対象であり且つ最小ハミング距離を隔てる反転パターンPmkの個数Mkと、を対応付けた個数情報テーブルT1の例を示す図である。図3(a)に示す例では、上側から順番に要素ビット1、2、3、…、17にそれぞれ対応した反転パターンPmkの個数Mkを示している。なお、(17,12,3)のそれぞれの値は、左から符号長、情報データ長、最小ハミング距離を示すものである。
図3(b)は、行方向の符号化がハミング符号(17,12,3)で行われた場合、つまり、行方向の符号長N1が”17”の場合における、決定ベクトル[D]の要素ビットk(k=1,2,…,17)と、当該要素ビットkの位置が反転対象であり且つ最小ハミング距離を隔てる反転パターン群と、を対応付けた反転パターン情報テーブルT2の例を示す図である。例えば、反転パターンPmkが(1,2,15)の場合には、後述の反転決定ベクトル生成部002C4は、決定ベクトル[D]の要素ビット”1”と”2”と”15”の位置を反転(+1→−1又は−1→+1)させることで、反転決定ベクトル[RD]を生成する。つまり、各反転パターンPmkの()内の各数字は、反転させる決定ベクトル[D]の要素ビット位置を指示するものである。
また、要素ビットkに対応する各反転パターンPmkは、本実施形態では、左側から順番にPmk(mk=1)、Pmk(mk=2)、…、Pmk(mk=Mk)に対応し、符号”mk”は個数カウンタ002C11のカウンタ値mkに対応する。すなわち、要素ビットカウンタ002C12のカウンタ値kが”1”で、個数カウンタ002C11のカウンタ値mkが”1”の場合、図3(b)の例では、要素ビット”1”に対応する反転パターン群の中から一番左側の反転パターン(1,2,15)を後述の検索部002C3は取得する。
ここで、「反転パターンPmk」について、より具体的に説明する。まず、「最小ハミング距離を隔てる」とは、決定ベクトル[D]と反転パターンPmkが指示する決定ベクトル[D]の要素ビット位置を反転させることで生成される反転決定ベクトル[RDmk]とのハミング距離が最小ハミング距離と一致することを意味する。すなわち、反転させる要素ビット位置の数が最小ハミング距離であることを意味する。図3の例では、最小ハミング距離は”3”であることから、各反転パターンPmkが反転を指示する要素ビット位置の数は”3”となる。次に、各反転パターンPmkが反転を指示する決定ベクトル[D]の要素ビット位置は、任意に設定されるものではなく、反転パターンが指示する要素ビット位置を反転させることにより生成される反転決定ベクトル[RDmk]が符号語となるように設定される。
記憶部002C1は、列方向と行方向の符号化が別々の線形符号により行われた場合には、列方向と行方向それぞれについて別々の個数情報テーブルT1と反転パターン情報テーブルT2を格納するが、列方向と行方向の符号化が同じ線形符号により行われた場合には、列方向と行方向共通の個数情報テーブルT1と反転パターン情報テーブルT2を格納する。
次に、図4を参照して、メトリック値算出部002C5により生成され、記憶部002C1に格納されるメトリック値情報テーブルT3について説明する。図4は、第i行目の処理での要素ビットkに対応するメトリック値情報テーブルT3の例を示す図であり、メトリック値情報テーブルT3には、後述の検索部002C3により反転パターン情報テーブルT2から取得された反転パターンPmkから生成される反転決定ベクトル[RDmki]と、当該反転決定ベクトル[RDmki]と軟入力ベクトル[R’]との間のメトリック値Mmkiと、を対応付けられている。図中の(mk=1)等は、後述の個数カウンタ002C11のカウンタ値mkに対応する。例えば、反転決定ベクトル[RDmki](mk=1)は、後述の軟出力ベクトル生成処理における要素ビットカウンタ002C12のカウンタ値k、個数カウンタ002C11のカウンタ値mk=1のラウンドで、検索部002C3により取得された反転パターンPmk(mk=1)(本実施形態においては、反転パターン情報テーブルT2の要素ビットkに対応し、左側から数えて第1番目の反転パターンPmk(mk=1))から生成される反転決定ベクトルである。
例えば、図3の例では、要素ビットカウンタ002C12のカウンタ値k=1、個数カウンタ002C11のカウンタ値m1=1の場合、検索部002C3により取得される反転パターンPm1(m1=1)は(1,2,15)であり、反転決定ベクトル[RDm1i](m1=1)は、この反転パターンPm1(m1=1)から生成される反転決定ベクトルである。
メトリック値算出部002C5は、要素ビットカウンタ002C12のカウンタ値kと個数カウンタ002C11のカウンタ値mkとに対応する反転パターンPmkから生成された反転決定ベクトル[RDmki]のメトリック値Mmkiを算出する度に、メトリック値情報テーブルT3に、反転決定ベクトル[RDmki]とそのメトリック値Mmkiとを対応付けて登録する。同様に、記憶部002C1は、列処理においても、メトリック値算出部002C5により生成されるメトリック値情報テーブルT3を格納する。
図1に戻り、図1(b)に示すように、復号部002CのCPUは、動作プログラムを実行することにより、決定ベクトル算出部002C2と、検索部002C3と、反転決定ベクトル生成部002C4と、メトリック値算出部002C5と、コンカーレント符号語特定部002C6と、判定部002C7と、軟出力ベクトル算出部002C8と、行(列)カウンタ002C9と、繰り返し回数カウンタ002C10と、個数カウンタ002C11と、要素ビットカウンタ002C12として機能する。また、CPUは、動作プログラムを実行することにより、後述する本発明特有の軟出力ベクトル生成処理を含む復号処理を実行し、軟出力ベクトル生成処理では、記憶部002C1に格納されている各情報テーブルを用いて、決定ベクトル[D]の各要素ビットk(k=1,2,…,N1:行処理の場合)に対応するコンカーレント符号語[C]を探索し、探索により得られたコンカーレント符号語[C]を用いて、軟出力ベクトル[rr]の各構成要素rrkを求めることで軟出力ベクトル[rr]を生成する。
決定ベクトル算出部002C2は、従来技術であるChase復号等を用いて、線形符号C1及び線形符号C2の決定ベクトル[D]を求め、決定ベクトル[D]と軟入力ベクトル[R’]との間のメトリック値Mを記憶部002C1に格納する。検索部002C3は、記憶部002C1に格納されている個数情報テーブルT1を検索し、要素ビットカウンタ002C12のカウンタ値kに対応する要素ビットkの位置が反転対象であり且つ最小ハミング距離を隔てる反転パターンPmkの個数Mkを取得する。また、検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT2を検索し、要素ビットカウンタ002C12のカウンタ値kの要素ビットに対応する反転パターン群から、個数カウンタ002C11のカウンタ値mkに対応する反転パターンPmkを取得する。
反転決定ベクトル生成部002C4は、検索部002C3が取得した反転パターンPmk(mk=1,2,…,Mk)が指示する決定ベクトル[D]の要素ビット位置を反転させることで、要素ビットk(k=1,2,…,N1)における反転決定ベクトル[RDmk](mk=1,2,…,Mk)を生成する。
メトリック値算出部002C5は、反転決定ベクトル生成部002C4により生成された要素ビットk(k=1,2,…,N1)における反転決定ベクトル[RDmk]と軟入力ベクトル[R’]との間のメトリック値Mcmk(mk=1,2,…,Mk)を算出し、反転決定ベクトル[RDmk]と算出したメトリック値Mcmkとを対応付けてメトリック値情報テーブルT3に登録する。
コンカーレント符号語特定部002C6は、メトリック値情報テーブルT3に登録された、要素ビットk(k=1,2,…,N1)における反転決定ベクトル[RDmk]と軟入力ベクトル[R’]との間のメトリック値Mcmk(mk=1,2,…,Mk)の中から、最も値が小さいメトリック値を有する反転決定ベクトルを要素ビットkのコンカーレント符号語[C]として特定し、最も値が小さいメトリック値を要素ビットkのコンカーレント符号語[C]のメトリック値Mckとする。
判定部002C7は、個数カウンタ002C11のカウンタ値mkが、検索部002C3により取得された要素ビットk(k=1,2,…,N1)に対応する反転パターンPmkの個数Mk以下であるか否かを判定する。また、判定部002C7は、要素ビットカウンタ002C12のカウンタ値kが行方向の符号長N1以下であるか否かを判定する。
軟出力ベクトル算出部002C8は、記憶部002C1に格納されている決定ベクトル[D]のメトリック値Mと要素ビットkのコンカーレント符号語[C]のメトリック値Mckを用いて、次式より軟出力ベクトル[rr]の第k番目の構成要素rrk(k=1,2,…,N1)の値を算出し、軟出力ベクトル[rr]を生成する。
(数3)
rrk=(Mck−M)・Dk/4
行(列)カウンタ002C9は、復号部002Cにより記憶部002C1から順次読み出される積符号化行情報ベクトル[R]が、第一行目から最終行(第N2行目)まで復号処理されたかを管理するためのカウンタである。カウンタの初期設定値は”1”であり、処理対象の行に対応する訂正ベクトル[W]が生成されるたびにインクリメントされる。また、行(列)カウンタ002C9は、行処理と同様に、列処理において、順次読み出される積符号化列情報ベクトル[R]が、第1列から最終列(第N1列目)まで復号処理されたかを管理する。
繰り返し回数カウンタ002C10は、積符号化情報行列{R}に対して所定の回数の復号処理を実施したかを管理するカウンタである。カウンタの初期設定値は”1”であり、積符号化情報行列{R}から第一行目を読み出して最終列(第N1列目)までの処理を1回の処理とし、最終列(第N1列目)の処理を終えるたびにインクリメントされる。
個数カウンタ002C11は、記憶部002C1に格納されている個数情報テーブルT1が示す要素ビットkに対応する反転パターンPmkの個数Mk(k=1,2,…,N1)に対応するカウンタであり、反転パターン情報テーブルT2に示されている要素ビットkに対応する各反転パターンPmk(mk=1,2,…,Mk)から反転決定ベクトル[RDmk](mk=1,2,…,Mk)を生成したかを管理するためのものである。また、個数カウンタ002C11のカウンタ値mkの初期設定値は”1”であり、反転決定ベクトル[RDmk]が生成されるごとにインクリメントされる。
要素ビットカウンタ002C12は、決定ベクトル[D]を構成する要素ビットk(k=1,2,…,N1)の個数、すなわち、行方向の符号長N1に対応するカウンタであり、軟出力ベクトル算出部002C8が、決定ベクトル[D]の要素ビット個数分、すなわち、N1個の軟出力ベクトル[rr]の構成要素rrk(k=1,2,…,N1)を算出したかを管理するためのものである。要素ビットカウンタ002C12の初期設定値は”1”であり、軟出力ベクトル算出部002C8が、軟出力ベクトル[rr]の構成要素rrkを算出するごとにインクリメントされる。
次に、図5と図6を参照して、本発明の特徴的な部分である軟出力ベクトル生成処理を含む積符号の復号処理について説明する。図5は、復号処理全体のフローを示す図であり、従来技術と同様の処理を示している。図6は、図5の軟出力ベクトル生成ステップ(ステップ005)での本発明特有の軟出力ベクトル生成処理のフローを示す図である。
まず、図5を参照して、復号処理全体のフローについて説明する。前提条件として、復号部002Cが備える記憶部002C1に格納された積符号化情報行列{R}から一行単位で上側から最終行(第N2番目の行)まで順次読み出され、最終行まで読み出された後に、今度は、一列単位で左側から最終列(第N1番目の列)まで順次読み出されるものと仮定する。
無線送信装置001の積符号化部001Aの内部メモリに格納されている積符号化情報行列{R}から順次読み出された積符号化行情報ベクトル[R](i=1,2,…,N2)は、変調部001Bにより所定の信号方式に順次変調され、変調された積符号化行情報ベクトル[R]は、無線通信部001Cにより増幅され通信路CHへ順次出力される。そして、積符号化行情報ベクトル[R]は、無線受信装置002の無線通信部002Aにより順次受信され、復調部002Bにより順次復調され、復調された積符号化行情報ベクトル[R]は復号部002Cに順次入力される。
復号部002Cは、順次入力される積符号化行情報ベクトル[R]から積符号化情報行列{R}を生成し、記憶部002C1に格納する。
復号部002Cは、繰り返し回数カウンタ002C10を初期化、すなわち、カウンタ値itを”1”とする共に、訂正行列{W}を初期化、すなわち、訂正行列{W}の全構成要素を”0”にする(ステップ001)。そして、復号部002Cは、行(列)カウンタ002C9を初期化、すなわち、カウンタ値iを”1”にする(ステップ002)。
そして、復号部002Cは、行(列)カウンタ002C9のカウンタ値iに対応する第i行目の積符号化行情報ベクトル[R]を読み出し、訂正行列{W}の第i番目の行に対応する訂正ベクトル[W]と読み出された積符号化行情報ベクトル[R]を用いて、第i番目の行に対応する軟入力ベクトル[R’]を算出し、軟入力ベクトル[R’]を更新する(ステップ003)。
(数4)
[R’]=[R]+α1・[W] (i=1,2,…、N2)
そして、復号部002Cは、第i番目の行に対応する軟入力ベクトル[R’]の各構成要素R’k(k=1,2,…,N1)に対する硬判定値Dkを次式により求め、求めた硬判定値Dkを構成要素とするベクトルを決定ベクトル[D]とする(ステップ004)。つまり、決定ベクトル[D]をステップ004の処理で新たに求めた決定ベクトル[D]で更新する。
(数5)
k=sign(R’k) (k=1,2,…,N1)
なお、関数sign(x)は、x≧0の場合は、”+1”となり、x<0の場合は、”−1”となるシグネチャ関数である。
そして、復号部002Cは、第i番目の行に対応する軟入力ベクトル[R’]と決定ベクトル[D]を用いて、第i番目の行に対応する軟出力ベクトル[rr]を生成する(ステップ005)。
そして、復号部002Cは、軟出力ベクトル[rr]の構成要素rrkと軟入力ベクトル[R’]の構成要素R’kを用いて、次式によりWkを求め、求めたWkで構成されるベクトルを第i番目の行に対応する訂正ベクトル[W]とする(ステップ006)。つまり、訂正ベクトル[W]をステップ006の処理で新たに求めた訂正ベクトル[W]で更新する。
(数6)
k=rrk−R’k (k=1,2,…,N1)
そして、復号部002Cは、行(列)カウンタ002C9のカウンタ値iがN2であるか否かを判定する(ステップ007)。つまり、ステップ003乃006の処理を積符号化情報行列{R}の全行に対して行ったか否かを判定する。行(列)カウンタ002C9のカウンタ値iがN2でないと判定した場合には(ステップ007;NO)、行(列)カウンタ002C9のカウンタ値iをインクリメントし(ステップ008)、前述のステップ003乃006の処理を最終行(第N2番目の行)に至るまで繰り返す。
一方、行(列)カウンタ002C9のカウンタ値iがN2であると判定した場合には(ステップ007;YES)、復号部002Cは積符号化情報行列{R}から列を順次読み出して、行に対して行った処理と同様の処理を行う(ステップ009乃至015)。
そして、復号部002Cは、繰り返し回数カウンタ002C10のカウンタ値itが設定された繰り返し回数に達したか否かを判定する(ステップ016)。繰り返し回数カウンタ002C10のカウンタ値itが設定された繰り返し回数に達していないと判定した場合には(ステップ016;NO)、復号部002Cは、繰り返し回数カウンタ002C10のカウンタ値itをインクリメントし(ステップ017)、ステップ002の処理から復号処理を繰り返す。
一方、繰り返し回数カウンタ002C10のカウンタ値itが設定された繰り返し回数に達したと判定した場合には(ステップ016;YES)、復号部002Cは、軟出力行列{rr}の各構成要素の硬判定値を構成要素とするN2xN1の硬判定行列{Drr}を復号結果として出力して(ステップ018)、復号処理を終了する。この復号結果として出力されたN2xN1の硬判定行列{Drr}のK2xK1部分が復号処理により推定された情報系列を表し、推定された情報系列の構成要素は”+1”又は”−1”であるが、それぞれ2進法の”0”と”1”に対応する。
次に、図6を参照して、本発明特有の軟出力ベクトル生成処理について説明する。この軟出力ベクトル生成処理は、上述したように、図5に示す復号処理のステップ005とステップ012の処理に対応する処理である。なお、行における軟出力ベクトル生成処理と列おける軟出力ベクトル生成処理は同様の処理であることから、行における軟出力ベクトル生成処理、すなわち、ステップ005の処理に対応する処理について説明する。
決定ベクトル算出部002C2は、ステップ003の処理で求めた第i行目(i=1,2,…,N2)の軟入力ベクトル[R’]とステップ004の処理で求めた第i行目(i=1,2,…,N2)の決定ベクトル[D]を用いて、従来技術であるChase復号により生成した候補符号語[C]の中から、軟入力ベクトル[R’]とのメトリック値が最小となる候補符号語[Cdi]を決定ベクトル[D]とする(つまり、[Cdi]で[D]を更新する)と共に、候補符号語[Cdi]のメトリック値Mdiを記憶部002C1に格納する(ステップS01)。以下、候補符号語[Cdi]で更新された決定ベクトル[D]を決定ベクトル[Cdi]ということとする。
そして、復号部002Cは、要素ビットカウンタ002C12を初期化し、カウンタ値kを”1”とし(ステップS02)、検索部002C3は、記憶部002C1に格納されている個数情報テーブルT1を検索して、要素ビットカウンタ002C12のカウンタ値kの要素ビットに対応する反転パターンPmkの個数Mkを取得する(ステップS03)。そして、復号部002Cは、個数カウンタ002C11を初期化し、カウンタ値mkを”1”とし(ステップS04)、検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT2を検索して、要素ビットカウンタ002C12のカウンタ値kの要素ビットに対応する反転パターン群の中から、個数カウンタ002C11のカウンタ値mkに対応する反転パターンPmkを取得する(ステップS05)。
そして、反転決定ベクトル生成部002C4は、ステップS05の処理で検索部002C3が取得した反転パターンPmkが指示する決定ベクトル[Cdi]の要素ビット位置を反転させた反転決定ベクトル[RDmki]を生成し(ステップS06)、メトリック値算出部002C5は、ステップS06の処理で反転決定ベクトル生成部002C4により生成された反転決定ベクトル[RDmki]と軟入力ベクトル[R’]とのメトリック値Mmkiを算出し、反転決定ベクトル[RDmki]と算出したメトリック値Mmkiとを対応付けてメトリック値情報テーブルT3に登録する(ステップS07)。
そして、復号部002Cは、個数カウンタ002C11のカウンタ値mkをインクリメントし(ステップS08)、判定部002C7は、ステップS08の処理でインクリメントされた後のカウンタ値mkが、ステップS03の処理で取得した反転パターンPmkの個数Mkを越えたか否かを判定する(ステップS09)。カウンタ値mkが個数Mk以下であると判定された場合には(ステップS09;NO)、処理はステップS05の処理に戻り、前述の処理を繰り返す。
一方、カウンタ値mkが個数Mkを越えたと判定された場合には(ステップS09;YES)、コンカーレント符号語特定部002C6は、メトリック値情報テーブルT3を検索し、ステップS05乃至ステップS08の処理を繰り返すことで得られた、各反転パターンPmk(mk=1,2,…,Mk)から生成された反転決定ベクトル[RDmki]と軟入力ベクトル[R’]とのメトリック値Mmkiのうちで、最小のメトリック値Mckiを持つ反転決定ベクトルを特定し、要素ビットkのコンカーレント符号語[Cki]とし、そのメトリック値Mckiを記憶部002C1に格納する(ステップS10)。
そして、軟出力ベクトル算出部002C8は、ステップS10の処理で特定した要素ビットkのコンカーレント符号語[Cki]のメトリック値MckiとステップS01の処理で記憶部002C1に格納された決定ベクトル[Cdi]のメトリック値Mdiを用いて、上述した算出式(数3)により、要素ビットカウンタ002C12のカウンタ値kに対応する第k番目の軟出力ベクトル[rr]の構成要素rrkを算出し、算出した構成要素rrkを記憶部002C1に格納する(ステップS11)。そして、復号部002Cは、要素ビットカウンタ002C12のカウンタ値kをインクリメントすると共に、記憶部002C1に格納されているメトリック値情報テーブルT3を初期化する(ステップS12)。そして、判定部002C7は、ステップS12の処理でインクリメントされた後の要素ビットカウンタ002C12のカウンタ値kが決定ベクトル[Cdi]の要素ビット個数N1(行方向の符号長)を越えたか否かを判定する(ステップS13)。
カウンタ値が要素ビット個数N1以下であると判定された場合には(ステップS13;NO)、処理はステップS03の処理に戻り、前述の処理を繰り返す。一方、カウンタ値が要素ビット個数N1を越えたと判定された場合には(ステップS13;YES)、軟出力ベクトル算出部002C8は、前述の処理を決定ベクトル[Cdi]の要素ビット個数回(N1回)繰り返すことで得られた、構成要素rrk(k=1,2,…,N1)から、第i番目の行に対応する軟出力ベクトル[rr](=(rr1,rr2,…,rrN1))を生成する(ステップS14)。
次に、図3を参照して、復号部002Cの各機能部の動作を具体的な数値等を用いて説明する。
要素ビットカウンタ002C12のカウンタ値kが”1”の場合(ステップS02)、検索部002C3は、図3(a)に例示する番号情報テーブルT1から要素ビット”1”に対応する反転パターンの個数M1、すなわち、”4”を取得する(ステップS03)。復号部002Cは、個数カウンタ002C11のカウンタ値m1を初期化、すなわち、m1=1とする(ステップS04)。
そして、検索部002C3は、図3(b)に例示する反転パターン情報テーブルT2を検索して、個数カウンタ002C11のカウンタ値m1は”1”なので、要素ビット”1”に対応する反転パターン群から反転パターンPm1(m1=1)、すなわち、第1番目の反転パターン(1,2,15)を取得する(ステップS05)。そして、反転決定ベクトル生成部002C4は、検索部002C3が取得した反転パターン(1,2,15)が指示する決定ベクトル[[Cdi]([D])の要素ビット位置を反転させた反転決定ベクトル[RD1i]を生成する(ステップS06)。すなわち、決定ベクトル[Cdi]([D])の要素ビット位置”1”と”2”と”15”を反転させることで得られるベクトルを反転決定ベクトル[RD1i]とする。
そして、メトリック値算出部002C5は、反転決定ベクトル生成部002C4が生成した反転決定ベクトル[RD1i]と軟入力ベクトル[R’]との間のメトリック値M1iを算出し、反転決定ベクトル[RD1i]と算出したメトリック値M1iとを対応付けてメトリック値情報テーブルT3に登録する(ステップS07)。そして、復号部002Cは、個数カウンタ002C11のカウンタ値m1をインクリメントし(ステップS08)、判定部002C7は、個数カウンタ002C11のカウンタ値m1が、検索部002C3が番号情報テーブルT1から取得した要素ビット”1”に対応する反転パターンの個数M1、すなわち、”4”を越えたか否かを判定する(ステップS09)。本例では、判定部002C7は、カウンタm1は”4”以下であると判定し(ステップS09;NO)、処理は、ステップS05の処理に戻り、検索部002C3は、図3(b)に例示する反転パターン情報テーブルT2を検索して、個数カウンタ002C11のカウンタ値m1は”2”なので、要素ビット”1”に対応する反転パターン群から反転パターンPm1(m1=2)、すなわち、第2番目の反転パターン(1、4,6)を取得し、前述の処理を繰り返す。
第4番目の反転パターンPm1(m1=4)、すなわち、反転パターン(1、8,17)までの処理を終えると(ステップS09;YES)、コンカーレント符号語特定部002C6は、記憶部002C1に格納されているメトリック値情報テーブルT3を検索して、登録されているメトリック値Mm1iの中から、メトリック値が最小となる反転決定ベクトル[RD1i]を特定し、その反転決定ベクトルを要素ビット”1”のコンカーレント符号語[C1i]とすると共に、その最小のメトリック値Mm1iを要素ビット”1”のコンカーレント符号語[C1i]のメトリック値Mc1iとして記憶部002C1に格納する(ステップS10)。そして、軟出力ベクトル算出部002C8は、記憶部002C1に格納されている決定ベクトル[Cdi]([D])のメトリック値Mdiと要素ビット”1”のコンカーレント符号語[C1i]のメトリック値Mc1iと決定ベクトル[Cdi]([D])の要素ビット”1”(第1番目)の構成要素Cdi1とを用いて、上述した算出式(数3)より、軟出力ベクトル[rr]の第1番目の構成要素rr1を算出し、記憶部002C1に格納する(ステップS11)。
そして、復号部002Cは、要素ビットカウンタ002C12のカウンタ値kをインクリメントすると共に、メトリック値情報テーブルT3を初期化し(ステップS12)、判定部002C7は、インクリメント後のカウンタ値kが行方向の符号長”17”を越えたか否かを判定する(ステップS13)。インクリメント後のカウンタ値kが行方向の符号長”17”を越えるまで、前述の処理を繰り返し、軟出力ベクトル算出部002C8は、軟出力ベクトル[rr]の各構成要素rrk(k=1,2,…,17)を算出し、記憶部002C1に格納する。
判定部002C7が、インクリメント後のカウンタ値kが行方向の符号長”17”を越えたと判定すると(ステップS13;YES)、軟出力ベクトル算出部002C8は、算出した構成要素rrk(k=1,2,…,17)から軟出力ベクトル[rr]を生成する(ステップS14)。
本実施形態によれば、決定ベクトル[Cdi]([D])の各要素ビットk(k=1,2,…,N1)に対応する反転パターンの個数を示す個数情報テーブルT1と、各要素ビットkに対応する反転パターンPmk(mk=1,2,…,Mk)を示す反転パターン情報テーブルT2を予め記憶部002C1に格納し、これらの情報テーブル(T1とT2)を用いて、コンカーレント符号語[Cik]を特定し(ステップS10)、第i番目の行に対応する軟出力ベクトル[rr]を生成した(ステップS14)。こうすることで、各要素ビットkに対して必ずコンカーレント符号語[Cki]を見つけることが可能となることから、訂正ベクトル[W]を推定する必要がなくなり、訂正ベクトル[W]を推定することで生じる積符号の復号性能の劣化を防ぐことが可能となる。
(実施形態2)
実施形態1においては、決定ベクトル[Cdi]([D])の各要素ビットk(k=1,2,…,N1)に対応するコンカーレント符号語[Cki]を探索するに際し、予め記憶部002C1に格納されている個数情報テーブルT1と反転パターン情報テーブルT2を用いて、コンカーレント符号語[Cki]を特定した。
実施形態1においては、図3(b)に例示した反転パターン情報テーブルT2を記憶部002C1が格納したが、例えば、要素ビット”1”に対応する反転パターン(0,1,14)は、図3(b)に示すように、要素ビット”2”と”15”に対応する反転パターンでもある。しかしながら、実施形態1における反転パターン情報テーブルT2は、各要素ビットと反転パターン群とを対応付ける構成であるため、ある反転パターンが複数の要素ビットに対応する反転パターンである場合には、対応する要素ビットそれぞれに当該反転パターンを対応付ける必要がある。そのため、記憶部002C1に格納する反転パターン情報テーブルT2のテーブルサイズが大きくなってしまう。そこで、本実施形態では、同じ反転パターンが複数の要素ビットに対応することを考慮して、図8(a)に例示するインデックス番号情報テーブルT4を導入することで、反転パターン情報テーブルT2を、2つの情報テーブルに分割して記憶部002C1に格納する。こうすることで、テーブルサイズのコンパクト化を図る。
さらに、詳しくは後述するメトリック値情報テーブルT6(図9)をメトリック値算出部002C5が生成し、記憶部002C1に格納する。判定部002C7は、反転決定ベクトル生成部002C4が処理対象のインデックス番号sn(但し、n=mk)と一致するインデックス番号sに対応する反転パターンPsから反転決定ベクトル[RDsi]を生成するのに先立って、メトリック値情報テーブルT6のインデックス番号sの欄を検索し、インデックス番号snに一致するインデックス番号sがメトリック値情報テーブルT6に既に登録されているか否かを判定する。そして、該当するインデックス番号sが登録されていない場合のみ、反転決定ベクトル生成部002C4は、当該インデックス番号sに対応する反転パターンPsから反転決定ベクトル[RDsi]を生成し、メトリック値算出部002C5は、反転決定ベクトル生成部002C4により生成された反転決定ベクトル[RDsi]のメトリック値Msiを算出し、メトリック値情報テーブルT6に登録する。そして、コンカーレント符号語特定部002C6は、記憶部002C1に格納されているメトリック値情報テーブルT6を検索して、要素ビットkに対応するインデックス番号群[s]に含まれるインデックス番号sn(n=mk=1,2,…,Mk)と一致するインデックス番号sに対応するメトリック値Msiの中から、メトリック値が最小の反転決定ベクトル[RDsi]を特定することで、要素ビットkのコンカーレント符号語[Cki]を特定する。こうすることで、演算量を削減し、復号処理の高速化を図る。
本実施形態における、デジタル通信システム1の構成は、図1に示す実施形態1の構成と同じであり、図7に示すように、復号部002Cが備える各機能部の構成も同じである。但し、上述したように、記憶部002C1に予め格納される反転パターン情報テーブルT2が、インデックス番号情報テーブルT4と反転パターン情報テーブルT5とに分割されている点で、実施形態1とでは異なっている。また、記憶部002C1は、メトリック値算出部002C5により生成される、インデックス番号s(s=1,2,…,maxsn)と当該インデックス番号sに対応するに反転パターンPsから生成される反転決定ベクトル[RDsi]と当該反転決定ベクトル[RDsi]のメトリック値Msiとが対応付けられたメトリック値情報テーブルT6(詳しくは後述する)を格納する点で、実施形態1とでは異なっている。さらに、検索部002C3と反転決定ベクトル生成部002C4とメトリック値算出部002C5とコンカーレント符号語特定部002C6と判定部002C7とが果たす機能が若干実施形態1とでは異なっている。
ここで、図8を参照して、本実施形態において記憶部002C1が格納するインデックス番号情報テーブルT4と反転パターン情報テーブルT5について説明する。図8(a)と(b)は、図3(b)に例示した反転パターン情報テーブルT2を、インデックス番号情報T4と反転パターン情報テーブルT5とに分割した図である。図8(a)は、要素ビットkと各々反転パターンに対応付けられたインデックス番号群[s]とを対応付けたインデックス番号情報テーブルT4の例を示す図である。図8(b)は、インデックス番号s(s=1,2,3,…,max sn)と反転パターンPsとを対応付けた反転パターン情報テーブルT5の例を示す図である。これらの2つの情報テーブル(T4とT5)を組み合わせることで、実施形態1における反転パターン情報テーブルT2と同様の機能を果たす。
要素ビットkに対応するインデックス番号群[s]に含まれるインデックス番号sn(n=mk)の符号”k”は要素ビットカウンタ002C12のカウンタ値kに対応する番号である。つまり、例えば、インデックス番号snは、要素ビット”1”に対応するインデックス番号である。また、符号”n”は、個数カウンタ002C11のカウンタ値mkに対応する。例えば、s3は、要素ビット”1”に対応するインデックス番号群[s]の第3番目のインデックス番号を意味する。後述する軟出力ベクトル生成処理において、例えば、要素ビットカウンタ002C12のカウンタ値kが”1”で、個数カウンタ002C11のカウンタ値mkが”3”の場合には、検索部002C3は、図8(a)の例では、インデックス番号”14”を取得する。
例えば、要素ビットkが”1”の場合、すなわち、要素ビットカウンタ002C12のカウンタ値kが”1”の場合、図8(a)に例示したインデックス番号情報テーブルT4を参照すると、要素ビット”1”に対応するインデックス番号群[s]は(1,6,14,21)である。そして、図8(b)に例示した反転パターン情報テーブルT5を参照すると、インデックス番号情報テーブルT4から取得した各インデックス番号s1=1、s2=6、s3=14、s4=21に対応する反転パターンは、(1,4,6)、(1,7,11)、(1,2,15)、(1,8,17)である。これらの反転パターンは、図3(b)に例示した反転パターン情報テーブルT2における要素ビット”1”に対応する反転パターンと一致する。
なお、上述したように、記憶部002C1は、情報系列Kを積符号化した行方向の線形符号C1と列方向の線形符号C2が異なる場合には、行と列それぞれ別々のインデックス番号情報テーブルT4と反転パターンテーブルT5を格納するが、線形符号C1とC2が同じであれば、行と列に対応するインデックス番号情報テーブルT4と反転パターンテーブルT5を共通化することができる。
次に、図9を参照して、メトリック値算出部002C5により生成され、記憶部002C1に格納されるメトリック値情報テーブルT6について説明する。メトリック値情報テーブルT6は、図9に例示するように、インデックス番号s(s=1,2,…,maxsn)と、インデックス番号sに対応する反転パターンPsにより生成された反転決定ベクトル[RDsi]と、当該反転決定ベクトル[RDsi]と軟入力ベクトル[R’]との間のメトリック値Msiと、を対応付けた情報テーブルである。例えば、図8(a)の例では、要素ビットkに対応するインデックス番号群[s]に含まれるインデックス番号snの最大値は”23”であることから、maxsn=23となり、記憶部002C1は、インデックス番号s(s=1,2,…,23)と当該インデックス番号sに対応する反転パターンPsから生成される反転決定ベクトル[RDsi]と当該反転決定ベクトル[RDsi]のメトリック値Msiとの組を23組メトリック値情報テーブルT6に記憶することとなる。同様に、記憶部002C1は、列処理においても、メトリック値算出部002C5により生成されるメトリック値情報テーブルT6を格納する。
検索部002C3は、記憶部002C1に記憶されている個数情報テーブルT1を検索し、要素ビットカウンタ002C12のカウンタ値kに対応する要素ビットkの位置が反転対象であり且つ最小ハミング距離を隔てる反転パターンの個数Mkを取得する。また、検索部002C3は、記憶部002C1に記憶されているインデックス番号情報テーブルT4を検索して、要素ビットkに対応するインデックス番号群[s]の中から個数カウンタ002C11のカウンタ値mkに対応するインデックス番号sn(但し、n=mk)を取得する。さらに、検索部002C3は、記憶部002C1に記憶されている反転パターン情報テーブルT5を検索し、インデックス番号情報テーブルT4から取得したインデックス番号snと一致するインデックス番号sに対応する反転パターンPsを取得する。
反転決定ベクトル生成部002C4は、判定部002C7により処理対象のインデックス番号snと一致するインデックス番号sがメトリック値情報テーブルT6に登録されていないと判定された場合には、検索部002C3が取得した当該インデックス番号snと一致するインデックス番号sに対応する反転パターンPsから反転決定ベクトル[RDsi]を生成する。一方、判定部002C7により、処理対象のインデックス番号snと一致するインデックス番号sが既にメトリック値情報テーブルT6に登録されていると判定された場合には、反転決定ベクトル生成部002C4は、当該インデックス番号snと一致するインデックス番号sに対応する反転パターンPsから反転決定ベクトル[RDsi]を再度生成しない。
メトリック値算出部002C5は、判定部002C7により処理対象のインデックス番号snと一致するインデックス番号sがメトリック値情報テーブルT6に登録されていないと判定された場合のみ、反転決定ベクトル生成部002C4が生成した反転決定ベクトル[RDsi]と軟入力ベクトル[R’]との間のメトリック値Msiを算出する。そして、メトリック値算出部002C5は、反転決定ベクトル生成部002C4が生成した反転決定ベクトル[RDsi]と当該反転決定ベクトル[RDsi]のメトリック値Msiとインデックス番号sとを対応付けてメトリック値情報テーブルT6に登録する。
コンカーレント符号語特定部002C6は、メトリック値算出部002C5により生成され、記憶部002C1に格納されるメトリック値情報テーブルT6を用いて、要素ビットkのコンカーレント符号語[Cki]を特定する。具体的には、メトリック値情報テーブルT6のインデックス番号sの欄を検索し、検索部002C3によりインデックス番号情報テーブルT4から取得された要素ビットkに対応するインデックス番号群[s]に含まれるインデックス番号sn(n=mk=1,2,…,Mk)と一致するインデックス番号sに対応するメトリック値Msiの中から、最小のメトリック値を持つ反転決定ベクトル[RDsi]を要素ビットkのコンカーレント符号語[Cki]として特定する。また、コンカーレント符号語特定部002C6は、その最小のメトリック値をコンカーレント符号語[Cki]のメトリック値Mckiとして記憶部002C1に格納する。
判定部002C7は、個数カウンタ002C11のカウンタ値mkが、検索部002C3により個数情報テーブルT1から取得された要素ビットk(k=1,2,…,N1)に対応する反転パターンの個数Mk以下であるか否かを判定する。また、判定部002C7は、要素ビットカウンタ002C12のカウンタ値kが行方向の符号長N1以下であるか否かを判定する。本実施形態においては、判定部002C7は、さらに、検索部002C3がインデックス番号情報テーブルT4から取得したインデックス番号群[s]に含まれるインデックス番号snと一致するインデックス番号sに対応する反転パターンPsから、反転決定ベクトル生成部002C4が反転決定ベクトル[RDsi]を生成するのに先立って、記憶部002C1に格納されているメトリック値情報テーブルT6のインデックス番号sの欄を検索し、処理対象のインデックス番号smkと一致するインデックス番号sが登録されているか否かを判定する。
次に、図10を参照して、本実施形態における軟出力ベクトル生成処理のフローについて説明する。この軟出力ベクトル生成処理は、上述したように、図5に示す復号処理のステップ005とステップ012の処理に対応する処理である。なお、行における軟出力ベクトル生成処理と列おける軟出力ベクトル生成処理とは同様の処理であることから、行における軟出力ベクトル生成処理、すなわち、ステップ005の処理に対応する処理について説明する。
決定ベクトル算出部002C2は、図5のステップ003の処理で求めた第i行目(i=1,2,…,N2)の軟入力ベクトル[R’]と図5のステップ004の処理で求めた第i行目(i=1,2,…,N2)の決定ベクトル[D]を用いて、従来技術であるChase復号により生成した候補符号語[C]の中から、軟入力ベクトル[R’]とのメトリック値が最小となる候補符号語[Cdi]を決定ベクトルとする(つまり、決定ベクトル[D]をステップS101の処理で求めた決定ベクトル[Cdi]で更新する)と共に、候補符号語[Cdi]のメトリック値Mdiを記憶部002C1に格納する(ステップS101)。以下、候補符号語[Cdi]で更新された決定ベクトル[D]を決定ベクトル[Cdi]ということとする。
そして、復号部002Cは、要素ビットカウンタ002C12を初期化し、カウンタ値kを”1”とし(ステップS102)、検索部002C3は、記憶部002C1に格納されている個数情報テーブルT1を検索して、要素ビットカウンタ002C12のカウンタ値kの要素ビットに対応する反転パターンの個数Mkを取得する(ステップS103)。そして、復号部002Cは、個数カウンタ002C11を初期化し、カウンタ値mkを”1”とし(ステップS104)、検索部002C3は、記憶部002C1に格納されているインデックス番号情報テーブルT4を検索して、要素ビットカウンタ002C12のカウンタ値kの要素ビットに対応するインデックス番号群[s]から、個数カウンタ002C11のカウンタ値mkに対応するインデックス番号sn(但し、n=mk)取得する(ステップS105)。
そして、検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT5を検索して、ステップS105の処理で取得したインデックス番号snと一致するインデックス番号sに対応する反転パターンPsを取得する(ステップS106)。そして、判定部002C7は、記憶部002C1に格納されているメトリック値情報テーブルT6のインデックス番号sの欄を検索して、ステップS105の処理で検索部002C3が取得したインデックス番号snと一致するインデックス番号sが登録されているか否かを判定する(ステップS107)。
インデックス番号snと一致するインデックス番号sがメトリック値情報テーブルT6に登録されていると判定された場合には(ステップS107;YES)、処理はステップS110の処理へ進み、一方、インデックス番号snと一致するインデックス番号sがメトリック値情報テーブルT6に登録されていないと判定された場合には(ステップS107;NO)、反転決定ベクトル生成部002C4は、ステップS106の処理で検索部002C3が取得した反転パターンPsが指示する決定ベクトル[Cdi]の要素ビットを反転させた反転決定ベクトル[RDsi]を生成する(ステップS108)。
そして、メトリック値算出部002C5は、ステップS108の処理で反転決定ベクトル生成部002C4により生成された反転決定ベクトル[RDsi]と軟入力ベクトル[R’]とのメトリック値Msiを算出し、インデックス番号sと反転決定ベクトル[RDsi]と当該反転決定ベクトル[RDsi]のメトリック値Msiとを対応付けてメトリック値情報テーブルT6に登録する(ステップS109)。
そして、復号部002Cは、個数カウンタ002C11のカウンタ値mkをインクリメントし(ステップS110)、判定部002C7は、ステップS110の処理でインクリメントされた後のカウンタ値mkが、ステップS103の処理で取得した要素ビットkに対応する反転パターンの個数Mkを越えたか否かを判定する(ステップS111)。カウンタ値mkが個数Mk以下であると判定された場合には(ステップS111;NO)、処理はステップS105の処理に戻り、前述の処理を繰り返す。
一方、カウンタ値mkが個数Mkを越えたと判定された場合には(ステップS111;YES)、コンカーレント符号語特定部002C6は、メトリック値情報テーブルT6のインデックス番号sの欄を検索し、要素ビットkに対応するインデックス番号群[s]に含まれるインデックス番号snと一致するインデックス番号sに対応する反転決定ベクトル[RDsi]のメトリック値Msiのうちで、最小のメトリック値を持つ反転決定ベクトル[RDsi]を特定し、要素ビットkのコンカーレント符号語[Cki]とし、そのメトリック値Mckiを記憶部002C1に格納する(ステップS112)。
そして、軟出力ベクトル算出部002C8は、ステップS112の処理で特定した要素ビットkのコンカーレント符号語[Cki]のメトリック値MckiとステップS101の処理で記憶部002C1に格納されたメトリック値Mdiを用いて、上述した算出式(数3)により、要素ビットカウンタ002C12のカウンタ値kに対応する第k番目の軟出力ベクトル[rr]の構成要素rrkを算出し、算出した構成要素rrkを記憶部002C1に格納する(ステップS113)。そして、復号部002Cは、要素ビットカウンタ002C12のカウンタ値kをインクリメントし(ステップS114)、判定部002C7は、ステップS114の処理でインクリメントされた後の要素ビットカウンタ002C12のカウンタ値kが決定ベクトル[Cdi]の要素ビット個数N1(行方向の符号長)を越えたか否かを判定する(ステップS115)。
カウンタ値kが要素ビット個数N1以下であると判定された場合には(ステップS115;NO)、処理はステップS103の処理に戻り、前述の処理を繰り返す。一方、カウンタ値kが要素ビット個数N1を越えたと判定された場合には(ステップS115;YES)、軟出力ベクトル算出部002C8は、前述の処理を決定ベクトル[Cdi]の要素ビット個数回(N1回)繰り返すことで得られた、構成要素rrk(k=1,2,…,N1)から、第i番目の行に対応する軟出力ベクトル[rr](=(rr1,rr2,…,rrN1))を生成すると共に、メトリック値情報テーブルT6を初期化する(ステップS116)。
次に、図3と図8と図9を参照して、復号部002Cの各機能部の動作を具体的な数値等を用いて説明する。
要素ビットカウンタ002C12のカウンタ値kが”1”の場合(ステップS102)、検索部002C3は、図3(a)に例示する番号情報テーブルT1から要素ビット”1”に対応する反転パターンの個数M1、すなわち、”4”を取得する(ステップS103)。復号部002Cは、個数カウンタ002C11のカウンタ値m1を初期化、すなわち、m1=1とする(ステップS104)。
そして、検索部002C3は、図8(a)に例示するインデックス情報テーブルT4を検索して、個数カウンタ002C11のカウンタ値m1は”1”なので、要素ビット”1”に対応するインデックス番号群(1,6,14,21)からインデックス番号s1、すなわち、インデックス番号”1”を取得する(ステップS105)。次に、検索部002C3は、図8(b)に例示する反転パターン情報テーブルT5を検索して、検索部002C3によりインデックス情報テーブルT4から取得されたインデックス番号”1”に対応する反転パターンP1、すなわち、反転パターン(1,4,6)を取得する(ステップS106)。
そして、判定部002C7は、記憶部002C1に記憶されているメトリック値情報テーブルT6のインデックス番号sの欄を検索し、インデックス番号”1”と一致するインデックス番号sが登録されているか否かを判定する(ステップS107)。メトリック値情報テーブルT6の例を示す図6の例では、インデックス番号”1”がメトリック値情報テーブルT6にまだ登録されていないことから、判定部002C7は、インデックス番号”1”と一致するインデックス番号sが登録されていないと判定し(ステップS107;NO)、反転決定ベクトル生成部002C4は、検索部002C3により取得された反転パターン(1,4,6)が指示する決定ベクトル[[Cdi]([D])の要素ビット位置を反転させた反転決定ベクトル[RD1i]を生成する(ステップS108)。すなわち、決定ベクトル[Cdi]([D])の要素ビット位置”1”と”4”と”6を反転させることで得られたベクトルを反転決定ベクトル[RD1i]とする。
そして、メトリック値算出部002C5は、反転決定ベクトル生成部002C4により生成された反転決定ベクトル[RD1i]と軟入力ベクトル[R’]との間のメトリック値M1iを算出し、反転決定ベクトル生成部002C4により生成された反転決定ベクトル[RD1i]と当該反転決定ベクトル[RD1i]のメトリック値M1iとインデックス番号”1”とを対応付けてメトリック値情報テーブルT6に登録する(ステップS109)。
そして、復号部002Cは、個数カウンタ002C11のカウンタ値m1をインクリメントし(ステップS110)、判定部002C7は、個数カウンタ002C11のカウンタ値m1が、検索部002C3が番号情報テーブルT1から取得した要素ビット”1”に対応する反転パターンの個数M1、すなわち、”4”を越えたか否かを判定する(ステップS111)。個数カウンタ002C11のカウンタ値m1=2なので、判定部002C7は、カウンタm1は”4”以下であると判定し(ステップS111;NO)、処理は、ステップS105の処理に戻る。そして、検索部002C3は、図8(a)に例示するインデックス情報テーブルT4を検索して、個数カウンタ002C11のカウンタ値m1は”2”なので、要素ビット”1”に対応するインデックス番号群(1,6,14,21)からインデックス番号s2、すなわち、インデックス番号”6”を取得し、前述の処理を繰り返す。
インデックス番号s4、すなわち、インデックス番号”21”までの処理を終えると(ステップS111;YES)、コンカーレント符号語特定部002C6は、記憶部002C1に格納されているメトリック値情報テーブルT6のインデックス番号sの欄を検索して、インデックス番号”1”と”6”と”14”と”21”に対応するメトリック値Msiの中から、メトリック値が最小となる反転決定ベクトル[RDsi]を特定し、その反転決定ベクトル[RDsi]を要素ビット”1”のコンカーレント符号語[C1i]とすると共に、その最小のメトリック値を要素ビット”1”のコンカーレント符号語[C1i]のメトリック値Mc1iとして記憶部002C1に格納する(ステップS112)。
そして、軟出力ベクトル算出部002C8は、記憶部002C1に格納されている決定ベクトル[Cdi]([D])のメトリック値Mdiと要素ビット”1”のコンカーレント符号語[C1i]のメトリック値Mc1iと決定ベクトル[Cdi]([D])の要素ビット”1”(第1番目)の構成要素Cdi1とを用いて、上述した算出式(数3)より、軟出力ベクトル[rr]の第1番目の構成要素rr1を算出し、記憶部002C1に格納する(ステップS113)。
そして、復号部002Cは、要素ビットカウンタ002C12のカウンタ値kをインクリメントし(ステップS114)、判定部002C7は、インクリメント後のカウンタ値kが行方向の符号長”17”を越えたか否かを判定する(ステップS115)。インクリメント後のカウンタ値kが行方向の符号長”17”を越えるまで、前述の処理を繰り返えし、軟出力ベクトル算出部002C8は、軟出力ベクトル[rr]の各構成要素rrk(k=1,2,…,17)を算出し、記憶部002C1に格納する。
判定部002C7が、インクリメント後のカウンタ値kが行方向の符号長”17”を越えたと判定すると(ステップS115;YES)、軟出力ベクトル算出部002C8は、算出した構成要素rrk(k=1,2,…,17)から軟出力ベクトル[rr]を生成すると共に、メトリック値情報テーブルT6を初期化する(ステップS116)。
本実施形態によれば、要素ビットkと反転パターン群とが対応付けられている反転パターン情報テーブルT2を、インデックス番号情報テーブルT4と反転パターン情報テーブルT5に分割し、反転パターン群に含まれる反転パターンPmkのうちで、重複する反転パターンを除く反転パターンとインデックス番号sとを対応つけることで、異なる要素ビット間で重複する反転パターン分だけ、テーブルサイズをコンパクトにすることが可能となる。
また、本実施形態によれば、判定部002C7が、記憶部002C1に格納されているメトリック値情報テーブルT6のインデックス番号sの欄を検索し、処理対象のインデックス番号snと一致するインデックス番号sが登録されているか否かを判定し、処理対象のインデックス番号snと一致するインデックス番号sが登録されていないと判定された場合のみ、反転決定ベクトル生成部002C4は、インデックス番号snと一致するインデックス番号sに対応する反転パターンPsから反転決定ベクトル[RDsi]を生成し、メトリック値算出部002C5は、当該反転決定ベクトル[RDsi]のメトリック値Msiを算出し、インデックス番号sと反転決定ベクトル[RDsi]と当該反転決定ベクトル[RDsi]のメトリック値Msiとを対応付けてメトリック値情報テーブルT6に登録する。こうすることで、異なる要素ビット間で反転パターンが重複する場合に、重複する反転決定ベクトル生成処理とメトリック算出処理を省くことが可能となり、復号処理を高速化することが可能となる。
(実施形態3)
実施形態2においては、要素ビットkと反転パターン群とが対応付けられている反転パターン情報テーブルT2をインデックス番号情報テーブルT4と反転パターン情報テーブルT5とに分割して記憶部002C1に格納すると共に、インデックス番号sと反転決定ベクトル[RDsi]と当該反転決定ベクトル[RDsi]のメトリック値Msiとが対応付けられているメトリック値情報テーブルT6を記憶部002C1に格納した。そして、検索部002C3は、インデックス番号情報テーブルT4から取得したインデックス番号snと一致するインデックス番号sに対応する反転パターンPsを反転パターンテーブル情報テーブルT5から取得した。
そして、判定部002C7は、反転決定ベクトル生成部002C4が検索部002C3により取得された反転パターンPsから反転決定ベクトル[RDsi]を生成するのに先立って、メトリック値情報テーブルT6のインデックス番号sの欄を検索し、処理対象のインデックス番号snと一致するインデックス番号sが登録されているか否かを判定した。そして、処理対象のインデックス番号snと一致するインデックス番号sが登録されていないと判定された場合のみ、反転決定ベクトル生成部002C4は、反転パターンPsから反転決定ベクトル[RDsi]を生成し、メトリック値算出部002C5は、反転決定ベクトル[RDsi]のメトリック値Msiを算出し、インデックス番号sと反転決定ベクトル[RDsi]と当該反転決定ベクトル[RDsi]のメトリック値Msiとを対応付けてメトリック値情報テーブルT6に登録した。
本実施形態では、反転パターンPmk(又はPs)が反転を指示する要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkに着眼し、上述した軟出力ベクトルの算出式(数3)を簡略化すると共に、詳しくは後述する差分情報テーブルT7を用いて、軟出力ベクトル[rr]を算出することで、復号処理をさらに高速化する。
本実施形態における、デジタ通信システム1の構成は、図1に示す実施形態1の構成と基本的に同じである。但し、復号部002Cが備える機能部は、図11に示すように、記憶部002C1と、決定ベクトル算出部002C2と、検索部002C3と、判定部002C7と、軟出力ベクトル算出部002C8と、行(列)カウンタ002C9と、繰り返し回数カウンタ002C10と、個数カウンタ002C11と、要素ビットカウンタ002C12のみであり、復号部002Cは、さらに、差分算出部002C13を備える点で、実施形態1とは異なる。また、記憶部002C1は、メトリック値情報テーブルT3のかわりに詳しくは後述する差分情報テーブルT7を格納する点で、実施形態1とは異なる。さらに、軟出力ベクトル算出部002C8が果たす機能が若干実施形態1とは異なる。
なお、本実施形態において以下に説明する発明は、実施形態1と2のいずれにも適用可能である。以下、実施形態1に適用した場合について説明する。
軟出力ベクトル算出部002C8は、記憶部002C1に格納されている差分情報テーブルT7を検索して、反転パターンPmkが反転を指示する要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkと軟入力ベクトル[R’]の対応する構成要素R’pmkとの積(Dmk)x(R’pmk)の和Σ(Dmk)x(R’pmk)の中で、最小の値minΣ(Dmk)x(R’pmk)を取得し、後述する算出式(数7)により、軟出力ベクトル[rr]の各構成要素rrkを算出し、記憶部002C1に格納する。そして、全ての構成要素rrk(k=1,2,…,N1)を算出すると、軟出力ベクトル[rr]=(rr1,rr2,…,rrN1)を生成する。
差分算出部002C13は、検索部002C3により反転パターン情報テーブルT2から取得された反転パターンPmkが反転を指示する要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkと軟入力ベクトル[R’]の対応する構成要素R’pmkとの積を反転パターンPmkが指示する要素ビット位置pmkごとに求め、それらの積の和Σ(Dmk)x(R’pmk)と反転パターンPmkとを対応付けて差分情報テーブルT7に登録する。
ここで、図12を参照して、記憶部002C1が格納する差分情報テーブルT7について説明する。図12は、要素ビットkにおける差分情報テーブルT7の例を示す図であり、反転パターンPmkと、当該反転パターンPmkが反転を指示する各要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkと軟入力ベクトル[R’]の対応する構成要素R’pmkとの積(Dmk)x(R’pmk)の和Σ(Dmk)x(R’pmk)(pmk∈(反転パターンPmkが反転を指示する各要素ビット位置))と、が対応付けられて登録されている。要素ビット位置pmkは、上述したように、反転パターンPmkが反転を指示する各要素ビット位置を示し、例えば、反転パターンが(1,2,15)の場合は、pmk∈(1,2,15)となる。
次に、反転パターンPmkが反転を指示する各要素ビット位置pmkにおける、積(Dmk)x(R’pmk)の和であるΣ(Dmk)x(R’pmk)(pmk∈(反転パターンPmkが反転を指示する各要素ビット位置))が、反転決定ベクトル[RDmki]のメトリック値Mmkiから決定ベクトル[Cdi]([D])のメトリック値Mdiを減算し1/4を乗算した値(Mmki−Mdi)/4に等しいことを説明する。
反転パターンPmkが反転を指示する要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkと反転決定ベクトル[RDmki]の対応する構成要素RDmkimkとでは、RDmkimk=−Dmkの関係が成り立ち、それ以外の要素ビット位置における決定ベクトル[Cdi]([D])の構成要素Dp(p≠pmk)と反転決定ベクトル[RDmki]の対応する構成要素RDmkipとでは、RDmkip=Dp(但し、p≠pmk)の関係が成り立つ。したがって、(Mmki−Mdi)=Σ(RDmkip−R’p)−Σ(Dp−R’p)=4Σ(Dmk)x(R’pmk)(pmk∈(反転パターンPmkが反転を指示する各要素ビット位置))となる。
また、軟出力ベクトル[rr]の第k番目の構成要素rrkは、上述した算出式(数3)に示すように、要素ビットkのコンカーレント符号語[Cki]のメトリック値Mckiを用いて算出され、このメトリック値Mckiは要素ビットkに対応する各反転パターンPmk(mk=1,2、…,Mk)から生成された反転決定ベクトル[RDmki]のメトリック値Mmkiの中で最小のメトリック値である。したがって、(Mcki−Mdi)=min(Mmki−Mdi)=min4Σ(Dmk)x(R’pmk)(pmk∈(反転パターンPmkが反転を指示する各要素ビット位置))である。
すなわち、上述した軟出力ベクトル[rr]の算出式(数3)は、以下のように書き換えることが可能である。
(数7)
rrk==(Mck−M)・Dk/4=minDk・Σ(Dmk)x(R’pmk)(pmk∈(反転パターンPmkが反転を指示する各要素ビット位置))
次に、図13を参照して、本実施形態における、軟出力ベクトル生成処理について説明する。この軟出力ベクトル生成処理は、上述したように、図5に示す復号処理のステップ005とステップ012の処理に対応する処理である。なお行における軟出力ベクトル生成処理と列おける軟出力ベクトル生成処理とは同様の処理であることから、行における軟出力ベクトル生成処理、すなわち、ステップ005の処理に対応する処理について説明する。
決定ベクトル算出部002C2は、図5のステップ003の処理で求めた第i行目(i=1,2,…,N2)の軟入力ベクトル[R’]と図5のステップ004の処理で求めた第i行目(i=1,2,…,N2)の決定ベクトル[D]を用いて、従来技術であるChase復号により生成した候補符号語[C]の中から、軟入力ベクトル[R’]とのメトリック値が最小となる候補符号語[Cdi]を決定ベクトルとする(つまり、決定ベクトル[D]を新たに求めた決定ベクトル[Cdi]で更新する)と共に、候補符号語[Cdi]のメトリック値Mdiを記憶部002C1に格納する(ステップS201)。以下、候補符号語[Cdi]で更新された決定ベクトル[D]を決定ベクトル[Cdi]ということとする。
そして、復号部002Cは、要素ビットカウンタ002C12を初期化し、カウンタ値kを”1”とし(ステップS202)、検索部002C3は、記憶部002C1に格納されている個数情報テーブルT1を検索して、要素ビットカウンタ002C12のカウンタ値kの要素ビットに対応する反転パターンPmkの個数Mkを取得する(ステップS203)。そして、復号部002Cは、個数カウンタ002C11を初期化し、カウンタ値mkを”1”とし(ステップS204)、検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT2を検索して、要素ビットカウンタ002C12のカウンタ値kの要素ビットに対応する反転パターン群から、個数カウンタ002C11のカウンタ値mkに対応する反転パターンPmkを取得する(ステップS205)。
そして、差分算出部002C13は、ステップS205の処理で検索部002C3が取得した反転パターンPmkが反転を指示する要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkと軟入力ベクトル[R’]の対応する構成要素R’pmkとの積を反転パターンPmkが指示する要素ビット位置pmkごとに求め、それらの積の和Σ(Dmk)x(R’pmk)と反転パターンPmkとを対応付けて差分情報テーブルT7に登録する(ステップS206)。
そして、復号部002Cは、個数カウンタ002C11のカウンタ値mkをインクリメントし(ステップS207)、判定部002C7は、ステップS207の処理でインクリメントされた後のカウンタ値mkが、ステップS203の処理で取得した反転パターンPmkの個数Mkを越えたか否かを判定する(ステップS208)。カウンタ値mkが個数Mk以下であると判定された場合には(ステップS208;NO)、処理はステップS205の処理に戻り、前述の処理を繰り返す。
一方、カウンタ値mkが個数Mkを越えたと判定された場合には(ステップS208;YES)、軟出力ベクトル算出部002C8は、記憶部002C1に格納されている差分情報テーブルT7を検索して、要素ビットkに対応する各反転パターンPmkが反転を指示する要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkと軟入力ベクトル[R’]の対応する構成要素R’pmkとの積(Dmk)x(R’pmk)の和Σ(Dmk)x(R’pmk)の中から、最小の値minΣ(Dmk)x(R’pmk)を取得する。そして、上述した算出式(数7)により、要素ビットカウンタ002C12のカウンタ値kに対応する第k番目の軟出力ベクトル[rr]の構成要素rrkを算出し、算出した構成要素rrkを記憶部002C1に格納する(ステップS209)。
そして、復号部002Cは、要素ビットカウンタ002C12のカウンタ値kをインクリメントすると共に、記憶部002C1に格納されている差分情報テーブルT7を初期化する(ステップS210)。そして、判定部002C7は、ステップS210の処理でインクリメントされた後の要素ビットカウンタ002C12のカウンタ値kが決定ベクトル[Cdi]の要素ビット個数N1(行方向の符号長)を越えたか否かを判定する(ステップS211)。
カウンタ値が要素ビット個数N1以下であると判定された場合には(ステップS211;NO)、処理はステップS203の処理に戻り、前述の処理を繰り返す。一方、カウンタ値が要素ビット個数N1を越えたと判定された場合には(ステップS211;YES)、軟出力ベクトル算出部002C8は、前述の処理を決定ベクトル[Cdi]の要素ビット個数回(N1回)繰り返すことで得られた、構成要素rrk(k=1,2,…,N1)から、第i番目の行に対応する軟出力ベクトル[rr](=(rr1,rr2,…,rrN1))を生成する(ステップS212)。
本実施形態によれば、軟出力ベクトル算出部002C8が軟出力ベクトル[rr]の各構成要素rrkを算出するのに際し、記憶部002C1に格納されている、差分算出部002C13により生成された差分情報テーブルT7を用いる構成とした。こうすることで、反転ベクトル生成処理とメトリック値算出処理とコンカーレント符号語特定処理を省略することが可能となり、復号処理をさらに高速化することが可能となる。
また、本実施形態によれば、差分情報テーブルT7には、反転パターンPmkと、当該反転パターンPmkが反転を指示する各要素ビット位置pmkにおける決定ベクトル[Cdi]([D])の構成要素Dmkと軟入力ベクトル[R’]の対応する構成要素R’pmkとの積(Dmk)x(R’pmk)の和Σ(Dmk)x(R’pmk)(pmk∈(反転パターンPmkが反転を指示する各要素ビット位置))と、が対応付けられている。そのため、必要に応じて、差分情報テーブルT7から、要素ビットkのコンカーレント符号語[Cki]を特定することが可能となる。具体的には、和Σ(Dmk)x(R’pmk)が最小となる反転パターンPmkを特定し、その反転パターンPmkから反転決定ベクトル[RDmki]を生成し、生成した反転決定ベクトル[RDmki]が要素ビットkのコンカーレント符号語[Cki]となる。
なお、上記実施形態における無線送信装置001と無線受信装置002は、それぞれ基地局及び移動情報端末に適用でき、ピアツーピア通信装置等に適用できる。
また、上記実施形態において、行方向と列方向に対して1又は2つの線形符号より符号化された2次元積符号の復号方法について説明したが、これに限定されるものではなく、本発明は、1又は複数の線形符号による多次元積符号における復号においても適用できる。
また、上記実施形態において、検索部002C3は、記憶部002C1に格納されている個数情報テーブルT1から処理対象の要素ビットkに対応する反転パターンPmkの個数を取得すると説明したが、これに限定される物ではなく、反転パターン情報テーブルT2(又はT5)から反転パターンPmkの個数を取得してもよい。この場合、個数情報テーブルT1は不要となる。
また、上記実施形態における復号処理において、積符号化情報行列{R}からの行又は列の読み出し順序は任意である。
なお、上記実施形態において、実行されるプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD、MO(Magneto-Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行することとしてもよい。
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、取得等するようにしてもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。
1 デジタル通信システム
001 無線送信装置
001A 積符号化部
001B 変調部
001C 無線通信部
CH 通信路
002 無線受信装置
002A 無線通信部
002B 復調部
002C 復号部
002C1 記憶部
002C2 決定ベクトル算出部
002C3 検索部
002C4 反転決定ベクトル生成部
002C5 メトリック値算出部
002C6 コンカーレント符号語特定部
002C7 判定部
002C8 軟出力ベクトル算出部
002C9 行(列)カウンタ
002C10 繰り返し回数カウンタ
002C11 個数カウンタ
002C12 要素ビットカウンタ
002C13 差分算出部
T1 個数情報テーブル
T2,T5 反転パターン情報テーブル
T3,T6 メトリック値情報テーブル
T4 インデックス番号情報テーブル
T7 差分情報テーブル
K 情報系列
積符号化行情報ベクトル
Drr 硬判定行列
Pm1 反転パターン
Pm17 反転パターン
M1,M17 反転パターン個数
4,s171 インデックス番号

Claims (14)

  1. 線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号装置であって、
    前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する決定ベクトル算出部と、
    前記第2の決定ベクトルの要素ビットごとに、(i)該要素ビットが反転対象であり、(ii)前記第2の決定ベクトルの反転対象の要素ビットを反転させることで得られる反転決定ベクトルが、前記受信ベクトルに対応する配列を符号化した前記線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすような、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている第1の反転パターン情報テーブルを記憶する記憶部と、
    前記第1の反転パターン情報テーブルに基づいて、前記第2の決定ベクトルの各要素ビットに対し、該要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの要素ビットを反転させることで生成される前記反転決定ベクトルのうちで、前記軟入力ベクトルとの間のメトリック値が最小となる反転決定ベクトルを該要素ビットのコンカーレント符号語として特定するコンカーレント符号語特定部と、
    前記第2の決定ベクトルのメトリック値と、各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める軟出力ベクトル算出部と、
    を備えることを特徴とする復号装置。
  2. 前記第2の決定ベクトルの各要素ビットに対し、前記第1の反転パターンテーブルを検索して、処理対象の要素ビットに対応する反転パターンを順次取得する検索部と、
    前記検索部により取得された反転パターンから生成される前記反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を順次算出し、処理対象の要素ビットに対応する反転パターンから生成される反転決定ベクトルごとに少なくとも該反転決定ベクトルのメトリック値を対応付けたメトリック値情報テーブルを生成し前記記憶部に格納するメトリック値算出部と、
    をさらに備え、
    前記コンカーレント符号語特定部は、前記記憶部に格納されている前記メトリック値情報テーブルに登録されている前記メトリック値のうちで、最小のメトリック値に対応する反転決定ベクトルを、処理対象の要素ビットのコンカーレント符号語として特定する、
    ことを特徴とする請求項1に記載の復号装置。
  3. 前記第1の反転パターン情報テーブルは、前記第1の反転パターン情報テーブルに含まれる反転パターンのうちで、特定される反転対象が異なる反転パターンに対し一意に識別可能なインデックス番号をそれぞれ対応付けた第2の反転パターン情報テーブルと、前記第2の決定ベクトルの要素ビットごとに、該要素ビットに対応する各反転パターンを前記インデックス番号で表したインデックス番号情報テーブルと、から構成され、
    前記インデックス番号情報テーブルを検索し、処理対象の要素ビットに対応するインデックス番号を取得し、前記第2の反転パターン情報テーブルを検索し、取得した前記インデックス番号に対応する反転パターンを特定することで、処理対象の要素ビットに対応する反転パターンを取得する検索部と、
    前記検索部により取得された反転パターンから生成される前記反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を順次算出し、該反転パターンに対応するインデックス番号と少なくとも処理対象の要素ビットに対応する反転パターンから生成される反転決定ベクトルのメトリック値とを対応付けたメトリック値情報テーブルを生成し前記記憶部に格納するメトリック値算出部と、
    をさらに備え、
    前記コンカーレント符号語特定部は、前記記憶部に格納されている前記メトリック値情報テーブルに登録されている前記メトリック値のうちで、最小のメトリック値に対応する反転決定ベクトルを、処理対象の要素ビットのコンカーレント符号語として特定する、
    ことを特徴とする請求項1に記載の復号装置。
  4. 前記メトリック値算出部が、前記検索部により取得された反転パターンから生成される反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を算出するのに先立って、前記メトリック値情報テーブルに登録されているインデックス番号を検索し、該反転パターンに対応するインデックス番号が登録されているか否かを判定する判定部を、さらに備え、
    前記判定部により、該反転パターンに対応するインデックス番号が登録されていないと判定された場合のみ、前記メトリック値算出部は、該反転パターンから生成される反転決定ベクトルと前記軟入力ベクトルとの間のメトリック値を算出し、該反転パターンに対応するインデックス番号と少なくとも該反転パターンから生成される反転決定ベクトルのメトリック値とを対応付けて前記メトリック値情報テーブルに登録する、
    ことを特徴とする請求項3に記載の復号装置。
  5. 前記線形符号は、ハミング符号である、
    ことを特徴とする請求項1乃至4の何れか一に記載の復号装置。
  6. 前記受信データは、線形符号により2次元積符号化された受信データである、
    ことを特徴とする請求項1乃至5の何れか一に記載の復号装置。
  7. 前記線形符号は、複数であり、
    前記記憶部は、異なる線形符号それぞれに対応する前記第1の反転パターン情報テーブルを格納する、
    ことを特徴とする請求項1乃至6の何れか一に記載の復号装置。
  8. 線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号装置であって、
    前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する決定ベクトル算出部と、
    前記第2の決定ベクトルの要素ビットごとに、(i)該要素ビットが反転対象であり、(ii)前記第2の決定ベクトルの反転対象の要素ビットを反転させることで得られる反転決定ベクトルが、前記受信ベクトルに対応する配列を符号化した前記線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすような、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルを記憶する記憶部と、
    前記反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、に基づいて、前記軟出力ベクトルを求める軟出力ベクトル算出部と、
    を備えることを特徴とする復号装置。
  9. 前記第2の決定ベクトルの各要素ビットに対し、前記反転パターンテーブルを検索して、処理対象の要素ビットに対応する反転パターンを順次取得する検索部と、
    前記検索部により取得された処理対象の要素ビットに対応する各反転パターンに対し、該反転パターンにより特定される前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、から、対応する要素ごとに乗算した値の和を算出し、処理対象の要素ビットに対応する反転パターンごとに、算出した和を対応付けた差分情報テーブルを生成する差分算出部と、
    をさらに備え、
    前記軟出力ベクトル算出部は、前記差分算出部により生成された前記差分情報テーブルを検索し、前記差分情報テーブルに登録されている前記和の中で、値が最小の和を用いて、前記軟出力ベクトルを算出する、
    ことを特徴とする請求項8に記載の復号装置。
  10. 前記差分算出部が、前記検索部により取得された反転パターンから生成される反転決定ベクトルの各要素ビットと前記軟入力ベクトルの各構成要素と、から、対応する要素ごとに乗算した値の和を算出するのに先立って、前記差分情報テーブルに登録されている反転パターンを検索し、該反転パターンに対応する差分情報が登録されているか否かを判定する判定部を、さらに備え、
    前記判定部により、該反転パターンに対応する差分情報が登録されていないと判定された場合のみ、前記差分算出部は、該反転パターンから生成される反転決定ベクトルの各要素ビットと前記軟入力ベクトルの各構成要素と、から、対応する要素ごとに乗算した値の和を算出し、該反転パターンに対応する反転パターンと該反転パターンから生成される差分情報とを対応付けて前記差分情報テーブルに登録する、
    ことを特徴とする請求項9に記載の復号装置。
  11. 線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号方法であって、
    前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定し、
    前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、前記第2の決定ベクトルの各要素ビットに対し、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの要素ビットを反転させることで生成される反転決定ベクトルのうちで、前記軟入力ベクトルとの間のメトリック値が最小となる反転決定ベクトルを該要素ビットのコンカーレント符号語として特定し、
    前記第2の決定ベクトルのメトリック値と、前記特定された各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める、
    ことを特徴とする復号方法。
  12. 線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号方法であって、
    前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定し、
    前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、に基づいて、前記軟出力ベクトルを求める、
    ことを特徴とする復号方法。
  13. 線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する機能を備えるコンピュータに、
    前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する処理と、
    前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、前記第2の決定ベクトルの各要素ビットに対し、処理対象の要素ビットに対応する前記反転パターンにより特定される反転対象の前記第2の決定ベクトルの要素ビットを反転させることで生成される反転決定ベクトルのうちで、前記軟入力ベクトルとの間のメトリック値が最小となる反転決定ベクトルを該要素ビットのコンカーレント符号語として特定する処理と、
    前記第2の決定ベクトルのメトリック値と、前記特定された各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める処理と、
    実行させることを特徴とするプログラム。
  14. 線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する機能を備えるコンピュータに、
    前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する処理と、
    前記第2の決定ベクトルの要素ビットごとに、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンにより特定される反転対象の前記第2の決定ベクトルの各要素ビットと、該各要素ビットに対応する前記軟入力ベクトルの各構成要素と、に基づいて、前記軟出力ベクトルを求める処理と、
    を実行させることを特徴とするプログラム。
JP2012027814A 2012-02-10 2012-02-10 積符号の復号装置、積符号の復号方法、及び、プログラム Active JP5757253B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012027814A JP5757253B2 (ja) 2012-02-10 2012-02-10 積符号の復号装置、積符号の復号方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012027814A JP5757253B2 (ja) 2012-02-10 2012-02-10 積符号の復号装置、積符号の復号方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2013165408A true JP2013165408A (ja) 2013-08-22
JP5757253B2 JP5757253B2 (ja) 2015-07-29

Family

ID=49176516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012027814A Active JP5757253B2 (ja) 2012-02-10 2012-02-10 積符号の復号装置、積符号の復号方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5757253B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022091692A1 (ja) * 2020-10-26 2022-05-05 Nttエレクトロニクス株式会社 誤り訂正回路、誤り訂正方法及び通信装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61201363A (ja) * 1985-03-05 1986-09-06 Nec Corp シングルチツプマイクロコンピユ−タ
JPH07202722A (ja) * 1993-11-19 1995-08-04 Fr Telecom 連結ブロック・コードによって処理された情報ビットを検出する方法
JPH1013251A (ja) * 1996-06-25 1998-01-16 Saitama Nippon Denki Kk 符号誤り訂正回路
JPH10135849A (ja) * 1996-08-28 1998-05-22 Fr Telecom 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器
JP2003018022A (ja) * 2001-06-29 2003-01-17 Kddi Submarine Cable Systems Inc 復号方法及び装置
JP2003046395A (ja) * 2001-08-03 2003-02-14 Mitsubishi Electric Corp 積符号の復号方法および積符号の復号装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61201363A (ja) * 1985-03-05 1986-09-06 Nec Corp シングルチツプマイクロコンピユ−タ
JPH07202722A (ja) * 1993-11-19 1995-08-04 Fr Telecom 連結ブロック・コードによって処理された情報ビットを検出する方法
JPH1013251A (ja) * 1996-06-25 1998-01-16 Saitama Nippon Denki Kk 符号誤り訂正回路
JPH10135849A (ja) * 1996-08-28 1998-05-22 Fr Telecom 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器
JP2003018022A (ja) * 2001-06-29 2003-01-17 Kddi Submarine Cable Systems Inc 復号方法及び装置
JP2003046395A (ja) * 2001-08-03 2003-02-14 Mitsubishi Electric Corp 積符号の復号方法および積符号の復号装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022091692A1 (ja) * 2020-10-26 2022-05-05 Nttエレクトロニクス株式会社 誤り訂正回路、誤り訂正方法及び通信装置
JP2022069908A (ja) * 2020-10-26 2022-05-12 Nttエレクトロニクス株式会社 誤り訂正回路、誤り訂正方法及び通信装置
JP7097935B2 (ja) 2020-10-26 2022-07-08 Nttエレクトロニクス株式会社 誤り訂正回路、誤り訂正方法及び通信装置

Also Published As

Publication number Publication date
JP5757253B2 (ja) 2015-07-29

Similar Documents

Publication Publication Date Title
US10348336B2 (en) System and method for early termination of decoding in a multi user equipment environment
RU2580797C1 (ru) Способ мягкого декодирования блоковых кодов
EP2927758A1 (en) Detecting a data sequence from a sequence of symbols
KR20170020305A (ko) 체크 노드 계산유닛을 관리하는 방법, 장치, 및 상기 방법을 실행하기 위한 소프트웨어
JP3876662B2 (ja) 積符号の復号方法および積符号の復号装置
CN107508775B (zh) 一种稀疏码多址接入系统中的译码方法及装置
CN110995279B (zh) 一种极化码联合scf球形列表翻转译码方法
RU2444127C1 (ru) Способ мягкого декодирования систематических блоковых кодов
US10651873B2 (en) Polar code successive cancellation list decoding
JP5757253B2 (ja) 積符号の復号装置、積符号の復号方法、及び、プログラム
RU2538331C2 (ru) Мягкий декодер последовательного турбокода
Alnawayseh et al. Ordered statistics-based list decoding techniques for linear binary block codes
RU2327297C2 (ru) Способ декодирования блоковых кодов со стираниями элементов
KR101848431B1 (ko) 신호의 인터리빙 주기를 추정하기 위한 장치 및 방법
JP5757251B2 (ja) 積符号の復号装置、積符号の復号方法、及び、プログラム
US20170141797A1 (en) Method and device for an error correction of trans
US8943391B2 (en) Cyclic code decoding method and cyclic code decoder
RU2646372C1 (ru) Способ мягкого когнитивного декодирования систематических блоковых кодов
Bonvard et al. Order statistics on minimal Euclidean distance for blind linear block code identification
Gupta et al. Analog Lagrange Coded Computing: On the Curious Case of Adversarial Workers
WO2017075745A1 (en) Methods, systems, and computer-readable media for decoding cyclic code
JP2006180172A (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
Kim et al. Efficient method for interleaver parameter estimation in a fading channel
JP5132738B2 (ja) 誤り訂正復号器及び受信機
JP6177141B2 (ja) 対数尤度比算出装置、対数尤度比算出方法、及び対数尤度比算出用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150408

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150520

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5757253

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150