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

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

Info

Publication number
JP5757251B2
JP5757251B2 JP2012024556A JP2012024556A JP5757251B2 JP 5757251 B2 JP5757251 B2 JP 5757251B2 JP 2012024556 A JP2012024556 A JP 2012024556A JP 2012024556 A JP2012024556 A JP 2012024556A JP 5757251 B2 JP5757251 B2 JP 5757251B2
Authority
JP
Japan
Prior art keywords
vector
inversion
element bit
value
inversion pattern
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
JP2012024556A
Other languages
English (en)
Other versions
JP2013162424A (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 JP2012024556A priority Critical patent/JP5757251B2/ja
Publication of JP2013162424A publication Critical patent/JP2013162424A/ja
Application granted granted Critical
Publication of JP5757251B2 publication Critical patent/JP5757251B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

本発明は、積符号の復号装置、積符号の復号方法、及び、プログラムに関する。
デジタル通信システムにおける信頼度向上のために、様々な符号化及びその復号方法が提案されている。訂正能力の高い符号による符号化は、復号処理が複雑となり装置化することが難しいが、連接符号化或いは積符号化を用いることで、比較的簡単に装置化可能であって高性能な符号化が可能となる。
積符号は、情報データを2重に符号化して冗長化するため、訂正能力が高いという特徴がある。そのため、DVD(Digital Versatile Disc)等の誤り訂正方式等に広く用いられている。
積符号の復号方法として、特許文献1に開示されている方法(Pyndiahアルゴリズム)が代表的なものである。特許文献1に開示されている積符号の復号方法では、決定ベクトル候補となるq個の符号語[C](t=1,2,3,…,q)を生成し、生成した各符号語[C]と受信ベクトル(軟入力ベクトル)[R’]とのメトリック(ユークリッド距離)を算出し、メトリック値が最小となる符号語を決定ベクトル[C]とする。
そして、決定ベクトル[C]以外の決定ベクトル候補の符号語[C](以下、コンカーレント符号語候補という)の中からコンカーレント符号語[C]を探索する。コンカーレント符号語[C]の探索は、決定ベクトル[C]の構成要素Ckに対応する要素が反転しているコンカーレント符号語候補[C]が存在するか否かにより行われる。探索の結果、条件を満たすコンカーレント符号語候補[C]が存在した場合には、条件を満たすコンカーレント符号語候補[C]の中から、受信ベクトル(軟入力ベクトル)[R’]とのメトリック値が最小となるコンカーレント符号語候補[C]を特定し、その候補[C]をコンカーレント符号語[C]とする。
そして、コンカーレント符号語[C]が存在する場合は、軟出力ベクトル[rr]の構成要素rrkは次式により算出される。ここで、Mは、コンカーレント符号語[C]と受信ベクトル(軟入力ベクトル)[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]から探索するため、演算量の軽減を優先してテストベクトルの個数設定をすると、決定ベクトル[C]の構成要素Ckに対応する要素が反転しているコンカーレント符号語候補[C]が存在しなくなる確率がますます高まり、その結果、軟出力の精度がさらに劣化する恐れがある。
軟出力の精度は、復号性能に大きく関わることから、コンカーレント符号語[C]を見つけられるか否かは、積符号の復号において非常に重要な問題である。
特開平7−202722号公報
本発明は、上記実情に鑑みてなされたものであり、確実にコンカーレント符号語を探索可能な積符号の復号装置、積符号の復号方法、及び、プログラムを提供することを目的とする。
また、本発明は、コンカーレント符号語の候補を絞り込むことで演算量を軽減し、高速処理が可能な積符号の復号装置、積符号の復号方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係る復号装置は、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号装置であって、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する決定ベクトル算出部と、
前記第2の決定ベクトルの要素ビットごとに、(i)該要素ビットが反転対象であり、(ii)前記第2の決定ベクトルの反転対象の要素ビットを反転させることで得られる反転決定ベクトルが、前記受信ベクトルに対応する配列を符号化した前記線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすような、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルを記憶する記憶部と、
前記決定ベクトルの各要素ビットに対し、前記反転パターン情報テーブルを検索して、処理対象の要素ビットに対応する反転パターンを取得する検索部と、
前記取得された反転パターンにより特定される反転対象から処理対象の要素ビットを除外した要素ビットに対応する前記軟入力ベクトルの要素値の絶対値が最小となる要素ビットを反転対象に含む反転パターンを特定する反転パターン特定部と、
前記特定された反転パターンに基づいて、処理対象の要素ビットのコンカーレント符号語を特定するコンカーレント符号語特定部と、
前記第2の決定ベクトルのメトリック値と、各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める軟出力ベクトル算出部と、
を備えることを特徴とする。
また、前記反転パターン特定部が、反転パターンを特定するのに先立って、前記検索部により取得された反転パターンにより特定される反転対象から処理対象の要素ビットを除外した要素ビットに対応する前記軟入力ベクトルの要素値の絶対値の中に、予め設定された尤度閾値より小さい前記要素値の絶対値が存在するか否かを判定する尤度閾値判定部を、さらに備え、前記反転パターン特定部は、前記尤度閾値判定部により、尤度閾値より小さい前記要素値の絶対値が存在すると判定された場合に、該要素値に対応する要素ビットを反転対象に含む反転パターンを特定する、
こととしてもよい。
また、前記特定された反転パターンにより特定される反転対象の前記第2の決定ベクトルの要素ビットを反転することでコンカーレント符号語候補を生成するコンカーレント符号語候補生成部を、さらに備え、前記コンカーレント符号語特定部は、前記生成された各コンカーレント符号語候補と前記軟入力ベクトルとの間のメトリック値を求め、該メトリック値が最小となるコンカーレント符号語候補を処理対象の要素ビットのコンカーレント符号語として特定する、
こととしてもよい。
また、前記線形符号は、ハミング符号である、
こととしてもよい。
この場合、前記受信データは、線形符号により2次元積符号化された受信データである、
こととしてもよい。
また、前記線形符号は、複数であり、前記記憶部は、異なる線形符号それぞれに対応する前記反転パターン情報テーブルを格納する、
こととしてもよい。
上記目的を達成するために、本発明の第2の観点に係る復号方法は、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する復号方法であって、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定し、
前記第2の決定ベクトルの要素ビットごとに、(i)該要素ビットが反転対象であり、(ii)前記第2の決定ベクトルの反転対象の要素ビットを反転させることで得られる反転決定ベクトルが、前記受信ベクトルに対応する配列を符号化した前記線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすような、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンを取得し、
前記取得された反転パターンにより特定される反転対象から処理対象の要素ビットを除外した要素ビットに対応する前記軟入力ベクトルの要素値の絶対値が最小となる要素ビットを反転対象に含む反転パターンを特定し、
前記特定された反転パターンに基づいて、処理対象の要素ビットのコンカーレント符号語を特定し、
前記第2の決定ベクトルのメトリック値と、各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める、
ことを特徴とする。
上記目的を達成するために、本発明の第3の観点に係るプログラムは、
線形符号により多次元積符号化された受信データを、軟出力ベクトルを求めることで復号する機能を備えるコンピュータに、
前記受信データの各配列に相当する受信ベクトルと初期設定が0ベクトルである訂正ベクトルとから生成される軟入力ベクトルと、軟入力ベクトルを硬判定することで得られる第1の決定ベクトルと、に基づいて、Chase復号により、前記軟入力ベクトルとの間のメトリック値が最小となる第2の決定ベクトルを特定する処理と、
前記第2の決定ベクトルの要素ビットごとに、(i)該要素ビットが反転対象であり、(ii)前記第2の決定ベクトルの反転対象の要素ビットを反転させることで得られる反転決定ベクトルが、前記受信ベクトルに対応する配列を符号化した前記線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすような、反転させる前記第2の決定ベクトルの要素ビットを特定するための1又は複数の反転パターンが対応付けられている反転パターン情報テーブルに基づいて、処理対象の要素ビットに対応する反転パターンを取得する処理と、
前記取得された反転パターンにより特定される反転対象から処理対象の要素ビットを除外した要素ビットに対応する前記軟入力ベクトルの要素値の絶対値が最小となる要素ビットを反転対象に含む反転パターンを特定する処理と、
前記特定された反転パターンに基づいて、処理対象の要素ビットのコンカーレント符号語を特定する処理と、
前記第2の決定ベクトルのメトリック値と、各要素ビットのコンカーレント符号語のメトリック値と、に基づいて、前記軟出力ベクトルを求める処理と、
を実行させることを特徴とする。
本発明によれば、確実にコンカーレント符号語を探索可能となり、軟出力の精度の劣化を防ぎ、復号性能を高めることができる。また、本発明によれば、復号処理を高速化することが可能となる。
(a)は、実施形態1における、デジタル通信システムの構成を示すブロック図である。(b)は、実施形態1における、復号部の構成を示すブロック図である。 実施形態1における、積符号化された情報系列の構成を示す図である。 (a)は、実施形態1における、個数情報テーブルの一例を示す図である。(b)は、実施形態1における、反転パターン情報テーブルの一例を示す図である。 (a)と(b)と(c)は、いずれも、実施形態1における、軟入力ベクトルの例である。 実施形態1における、反転パターン情報テーブルの例を示す図である。 (a)と(b)と(c)は、いずれも、実施形態1における、最小絶対値情報テーブルの例である。 (a)と(b)は、いずれも、実施形態1における、コンカーレント符号語候補情報テーブルの例である。 実施形態1における、復号処理のフローチャートを示す図である。 実施形態1における、軟出力ベクトル生成処理のフローチャートを示す図である。 実施形態1における、最小絶対値判定処理のフローチャートを示す図である。 実施形態2における、復号部の構成を示すブロック図である。 実施形態2における、軟出力ベクトル生成処理のフローチャートを示す図である。
本発明の好適な実施形態に係る積符号の復号装置、及び、復号方法について、図面を参照しながら説明する。
(実施形態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は、図1(a)に示すように、無線通信部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を格納する。また、記憶部002C1は、復号部002Cにより生成された積符号化情報行列{R}(受信行列)、後述の反転パターン格納情報テーブルT3と最小絶対値情報テーブルT4とコンカーレント符号語候補情報テーブルT5、後述の軟出力ベクトル算出部002C11により算出された軟出力ベクトル[rr]の各構成要素rrk等を格納する。
ここで、図3を参照して、記憶部002C1に格納される個数情報テーブルT1と反転パターン情報テーブルT2について説明する。図3(a)は、行方向の符号化がハミング符号(13,9,3)で行われた場合、つまり、行方向の符号長N1が”13”の場合における決定ベクトル[D]の要素ビットk(k=1,2,…,13)と、当該要素ビットkの位置が反転対象であり且つ最小ハミング距離を隔てる反転パターンPmkの個数Mkと、を対応付けた個数情報テーブルT1の例を示す図である。図3(a)に示す例では、上側から順番に要素ビット1、2、3、…、13にそれぞれ対応した反転パターンPmkの個数Mkを示している。なお、(13,9,3)のそれぞれの値は、左から符号長、情報データ長、最小ハミング距離を示すものである。
図3(b)は、行方向の符号化がハミング符号(13,9,3)で行われた場合、つまり、行方向の符号長N1が”13”の場合における、決定ベクトル[D]の要素ビットk(k=1,2,…,13)と、当該要素ビットkの位置が反転対象であり且つ最小ハミング距離を隔てる反転パターン群と、を対応付けた反転パターン情報テーブルT2の例を示す図である。例えば、反転パターンPmkが(1,2,13)の場合には、後述のコンカーレント符号語候補生成部002C8は、決定ベクトル[D]の要素ビット”1”と”2”と”13”の位置を反転(+1→−1又は−1→+1)させることで、コンカーレント符号語候補[C]を生成する。つまり、各反転パターンPmkの()内の各数字は、反転させる決定ベクトル[D]の要素ビット位置を特定するものである。
また、要素ビットkに対応する各反転パターンPmkは、本実施形態では、左側から順番にPmk(mk=1)、Pmk(mk=2)、…、Pmk(mk=Mk)に対応し、符号”mk”は個数カウンタ002C14のカウンタ値mkに対応する。すなわち、要素ビットカウンタ002C15のカウンタ値kが”1”で、個数カウンタ002C14のカウンタ値mkが”1”の場合、図3(b)の例では、要素ビット”1”に対応する反転パターン群の中から一番左側の反転パターン(1,2,13)を後述の検索部002C3は取得する。
ここで、「反転パターンPmk」について、より具体的に説明する。まず、「最小ハミング距離を隔てる」とは、決定ベクトル[D]と反転パターンPmkが指示する決定ベクトル[D]の要素ビット位置を反転させることで生成されるベクトル(以下、反転決定ベクトルという)[RDmk]とのハミング距離が最小ハミング距離と一致することを意味する。すなわち、反転させる要素ビット位置の数が最小ハミング距離と一致することを意味する。図3の例では、最小ハミング距離は”3”であることから、各反転パターンPmkが特定する反転対象の要素ビットの数は”3”となる。次に、各反転パターンPmkが特定する反転対象の決定ベクトル[D]の要素ビットの位置は、任意に設定されるものではなく、反転パターンが指示する要素ビット位置を反転させることにより生成される反転決定ベクトル[RDmk]が符号語となるように設定される。
記憶部002C1は、列方向と行方向の符号化が別々の線形符号により行われた場合には、列方向と行方向それぞれについて別々の個数情報テーブルT1と反転パターン情報テーブルT2を格納するが、列方向と行方向の符号化が同じ線形符号により行われた場合には、列方向と行方向共通の個数情報テーブルT1と反転パターン情報テーブルT2を格納する。
図1に戻り、図1(b)に示すように、復号部002Cが備えるCPUは、動作プログラムを実行することにより、決定ベクトル生成部002C2と、検索部002C3と、尤度閾値判定部002C4と、第1反転パターン特定部002C5と、最小絶対値判定部002C6、第2反転パターン特定部002C7と、コンカーレント符号語候補生成部002C8と、コンカーレント符号語特定部002C9と、判定部002C10と、軟出力ベクトル算出部002C11と、行(列)カウンタ002C12と、繰り返し回数カウンタ002C13と、個数カウンタ002C14と、要素ビットカウンタ002C15として機能する。
また、復号部002Cが備える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を検索し、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットkに対応する反転パターンPmkの個数Mkを取得する。また、検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT2を検索し、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットkに対応する反転パターン群から、個数カウンタ002C14のカウンタ値mkにより特定される反転パターンPmkを取得する。
尤度閾値判定部002C4は、検索部002C3が取得した反転パターンPmkにより特定される反転対象から処理対象の要素ビットkを除外した各要素ビットにそれぞれ対応する軟入力ベクトル[R’]の要素値R’n(但し、n≠k)の絶対値|R’n|のうちで、予め設定されている尤度閾値α(本実施形態においては、尤度閾値α=0.3とする)より小さい絶対値|R’n|が存在する否かを判定する。
第1反転パターン特定部002C5は、尤度閾値判定部002C4により、反転パターンPmkにより特定される要素ビットk以外の反転対象に対応する軟入力ベクトル[R’]の各要素値R’n(但し、n≠k)の絶対値|R’n|うちで、尤度閾値αより小さい絶対値|R’n|が存在すると判定された場合に、判定対象の反転パターンPmkを図5に例示する反転パターン格納情報テーブルT3の反転パターン欄に格納する。
ここで、尤度閾値判定部002C4と第1反転パターン特定部002C5の動作を、図3乃至5を参照して、具体的に説明する。図4は、それぞれ、軟入力ベクトルの具体例を示す図である。図5は、反転パターン格納情報テーブルT3の例である。例えば、要素ビットカウンタ002C15のカウンタ値k=1で個数カウンタ002C14のカウンタ値m1=1の場合、検索部002C3は、反転パターン(1,2,13)を取得する。処理対象の要素ビットkは”1”なので、反転パターン(1,2,13)が特定する反転対象から要素ビット”1”を除外した要素ビットは、”2”と”13”となる。図4(a)を参照し、反転対象の要素ビット”2”と”13”に対応する軟入力ベクトル[R’]の要素値はそれぞれ、”0.75”と”−0.53”である。この場合、これらの要素値の絶対値はいずれも尤度閾値α=0.3以上であることから、尤度閾値判定部002C4は、尤度閾値αより小さい絶対値|R’n|が存在しないと判定する。
また、例えば、要素ビットカウンタ002C15のカウンタ値k=1で個数カウンタ002C14のカウンタ値m1=3の場合、検索部002C3は、反転パターン(1,4,5)を取得する。処理対象の要素ビットkは”1”なので、反転パターン(1,4,5)が特定する反転対象から要素ビット”1”を除外した要素ビットは、”4”と”5”となる。図4(a)を参照し、反転対象の要素ビット”4”と”5”に対応する軟入力ベクトル[R’]の要素値はそれぞれ、”−1.00”と”−0.25”である。この場合、要素値”−0.25”の絶対値”0.25”は尤度閾値α=0.3より小さいことから、尤度閾値判定部002C4は、尤度閾値αより小さい絶対値|R’n|が存在すると判定し、第1反転パターン特定部002C5は、図5に示すように、反転パターン(1,4,5)を反転パターン格納情報テーブルT3に格納する。要素ビットk=1に対応する反転パターンPm1からは、反転パターン(1,4,5)と反転パターン(1,6,11)とが反転パターン格納情報テーブルT3に格納される。
図1(b)に戻り、最小絶対値判定部002C6は、尤度閾値判定部002C4により、反転パターンPmkにより特定される要素ビットk以外の反転対象に対応する軟入力ベクトル[R’]の各要素値R’n(但し、n≠k)の絶対値|R’n|うちで、尤度閾値αより小さい絶対値|R’n|が存在しないと判定され、且つ、判定部002C10により、反転パターン格納情報テーブルT3に反転パターンが格納されていないと判定された場合に、以下の動作を実行する。最小絶対値判定部002C6は、反転パターンPmkにより特定される要素ビットk以外の反転対象に対応する軟入力ベクトル[R’]の各要素値R’n(但し、n≠k)の絶対値|R’n|うちで、最小値min|R’n|が詳しくは後述する最小絶対値情報テーブルT4に格納されている最小絶対値以下か否かを判定する。但し、最小絶対値判定部002C6は、最小絶対値情報テーブルT4に最小絶対値が格納されていない場合には、最小絶対値情報テーブルT4に格納されている最小絶対値以下であると判定する。
第2反転パターン特定部002C7は、最小絶対値判定部002C6により、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値以下であると判定された場合には、最小値min|R’n|と、反転パターンPmkと、を対応付けて最小絶対値情報テーブルT4を更新する。但し、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値と等しい場合には、反転パターンPmkを最小絶対値情報テーブルT4の反転パターンの欄に追加する。
ここで、最小絶対値判定部002C6と第2反転パターン特定部002C7の動作について、図3と図4と図6を参照して、具体的に説明する。図6は、最小絶対値情報テーブルT4の例である。例えば、図3と図4(b)の例では、処理対象の要素ビットkが”1”で尤度閾値α=0.3の場合、軟入力ベクトル[R’2]の要素値の絶対値が、尤度閾値以下の値となる要素ビットは”1”のみである。しかしながら、上述したように、要素ビット”1”は処理対象の要素ビットであることから除外され、反転パターン格納情報テーブルT3には、要素ビット”1”に対応する反転パターンPm1はいずれも格納されない。
この場合、例えば、個数カウンタ002C14のカウンタ値m1=1の時には、検索部002C3により取得される反転パターンは(1,2,13)である。そして、反転パターン(1,2,13)により特定される反転対象の要素ビットから処理対象の要素ビット”1”を除いた”2”と”13”にそれぞれ対応する軟入力ベクトル[R’2]の要素値の絶対値は”0.75”と”0.53”である。まだ、最小絶対値情報テーブルT4には最小絶対値が格納されていないことから、最小絶対値判定部002C6により、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値以下であると判定され、第2反転パターン特定部002C7は、図6(a)に示すように、最小値”0.53”と反転パターン(1,2,13)とを対応付けて最小絶対値情報テーブルT4に格納する。
また、例えば、個数カウンタ002C14のカウンタ値m1=2の時には、検索部002C3により取得される反転パターンは(1,3,10)である。そして、反転パターン(1,3,10)により特定される反転対象の要素ビットから処理対象の要素ビット”1”を除いた”3”と”10”にそれぞれ対応する軟入力ベクトル[R’2]の要素値の絶対値は”0.65”と”0.66”である。この場合、最小絶対値判定部002C6により、最小値min|R’n|(0.65)が最小絶対値情報テーブルT4に格納されている最小絶対値(0.53)以下でないと判定され、第2反転パターン特定部002C7は、最小絶対値情報テーブルT4を更新しない。すなわち、この時点での最小絶対値情報テーブルT4の状態は、図6(a)に示す状態である。
また、例えば、図3と図4(c)の例では、処理対象の要素ビットkが”1”で尤度閾値α=0.3の場合、軟入力ベクトル[R’3]の要素値の絶対値が、尤度閾値以下の値となる要素ビットは”1”のみである。しかしながら、上述したように、要素ビット”1”は処理対象の要素ビットであることから除外され、反転パターン格納情報テーブルT3には、要素ビット”1”に対応する反転パターンPm1はいずれも格納されない。この場合、例えば、個数カウンタ002C14のカウンタ値m1=2の時には、検索部002C3により取得される反転パターンは(1,3,10)である。そして、反転パターン(1,3,10)により特定される反転対象の要素ビットから処理対象の要素ビット”1”を除いた”3”と”10”にそれぞれ対応する軟入力ベクトル[R’3]の要素値の絶対値は”0.53”と”0.66”である。
この場合、図6(a)に示すように、最小値min|R’n|(0.53)は最小絶対値情報テーブルT4に格納されている最小絶対値”0.53”と等しいことから、最小絶対値判定部002C6により、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値以下であると判定され、第2反転パターン特定部002C7は、最小値min|R’n|と最小絶対値情報テーブルT4に格納されている最小絶対値が等しいことから、図6(b)に示すように、反転パターン(1,3,10)を最小絶対値情報テーブルT4の反転パターンの欄に追加する。
最小絶対値判定部002C6と第2反転パターン特定部002C7は、要素ビット”1”に対応する各反転パターン(1,2,13)と(1,3,10)と(1,4,5)と(1,6,11)と(1,7,9)について上述の処理を繰り返す。図6(c)は、反転パターン(1,7,8)まで処理を終えた時点での、図4(b)と(c)に示した軟入力ベクトル[R’2]と[R’3]を例にした場合の最小絶対値情報テーブルT4の状態を示す図である。図4(b)と(c)のいずれの場合も、反転パターン(1,6,11)が特定する反転対象の要素ビット”11”に対応する軟入力ベクトル[R’2](又は[R’3])の要素値”0.35”が最小絶対値となる。したがって、最小絶対値情報テーブルT4は、図6(c)に示すように、反転パターン(1,6,11)と最小絶対値”0.35”とが対応付けられた状態となる。
図1(b)に戻り、コンカーレント符号語候補生成部002C8は、判定部002C10により、反転パターン格納情報テーブルT3に反転パターンPmkが格納されていると判定された場合には、反転パターン格納情報テーブルT3に格納されている各反転パターンPmkから、反転パターンPmkが特定する反転対象の決定ベクトル[D]の要素ビットを反転させることで、要素ビットk(k=1,2,…,N1)のコンカーレント符号語候補[Ctk]を生成し、反転パターンPmkとそれぞれ対応付けて後述のコンカーレント符号語候補情報テーブルT5に格納する。
一方、判定部002C10により、反転パターン格納情報テーブルT3に反転パターンPmkが格納されていないと判定された場合には、コンカーレント符号語候補生成部002C8は、最小絶対値情報テーブルT4に格納されている反転パターンPmkから、反転パターンPmkが特定する反転対象の決定ベクトル[D]の要素ビットを反転させることで、要素ビットk(k=1,2,…,N1)のコンカーレント符号語候補[Ctk]を生成し、反転パターンPmkと対応付けて後述のコンカーレント符号語候補情報テーブルT5に格納する。
コンカーレント符号語特定部002C9は、コンカーレント符号語候補情報テーブルT5を参照し、コンカーレント符号語候補生成部002C8により生成されたコンカーレント符号語候補[Ctk]それぞれに対し、軟入力ベクトル[R’]との間のメトリック値Mtkを求め、最も値が小さいメトリック値minMtkを有するコンカーレント符号語候補[Ctk]を要素ビットkのコンカーレント符号語[C]として特定し、最も値が小さいメトリック値minMtkを要素ビットkのコンカーレント符号語[C]のメトリック値Mckとして、対応するコンカーレント符号語候補情報テーブルT5のメトリック値欄に格納する。
ここで、図3乃至7を参照して、コンカーレント符号語候補生成部002C8とコンカーレント符号語特定部002C9の具体的な動作について説明する。図7は、コンカーレント符号語候補情報テーブルT5の例を示す図である。例えば、図3と図4(a)の例では、処理対象の要素ビットkが”1”で尤度閾値α=0.3の場合、上述したように反転パターン格納情報テーブルT3には、反転パターン(1,4,5)と(1,6,11)とが格納される(図5を参照)。したがって、判定部002C10により、反転パターン格納情報テーブルT3に反転パターンPmkが格納されていると判定される。この場合、コンカーレント符号語候補生成部002C8は、反転パターン格納情報テーブルT3に格納されている反転パターン(1,4,5)と(1,6,11)とから、決定ベクトル[D]の要素ビット”1”と”4”と”5”とを反転させたコンカーレント符号語候補[C11]と決定ベクトル[D]の要素ビット”1”と”6”と”11”とを反転させたコンカーレント符号語候補[C21]を生成する。
そして、コンカーレント符号語候補生成部002C8は、図7(a)に示すように、反転パターン(1,4,5)と(1,6,11)をそれぞれコンカーレント符号語候補[C11]と[C21]とに対応付けてコンカーレント符号語候補情報テーブルT5に格納する。そして、コンカーレント符号語特定部002C9は、コンカーレント符号語候補情報テーブルT5(図7(a))を参照して、コンカーレント符号語候補[C11]と[C21]それぞれについて、軟入力ベクトル[R’]との間のメトリック値M11とM21を算出する。そして、コンカーレント符号語特定部002C9は、値が小さい方のメトリック値を要素ビット”1”のコンカーレント符号語[C]のメトリック値Mc1として、対応するコンカーレント符号語候補情報テーブルT5のメトリック値欄に格納する。図7(a)の例では、コンカーレント符号語候補[C11]が要素ビット”1”のコンカーレント符号語[C]として特定されたことを示している。
また、例えば、図3と軟入力ベクトルの一例を示す図4(b)の例では、処理対象の要素ビットkが”1”で尤度閾値α=0.3の場合、軟入力ベクトル[R’2]の要素ビット”1”の要素値0.20は尤度閾値以下であるが、処理対象の要素ビットkが”1”であるので除外され、反転パターン格納情報テーブルT3には、反転パターンPmkが格納されない。したがって、判定部002C10により、反転パターン格納情報テーブルT3に反転パターンPmkが格納されていないと判定される。反転パターン(1,7,9)の処理を終えた時点で、最小絶対値情報テーブルT4には、図6(c)に示すように、反転パターン(1,6,11)が格納されている。コンカーレント符号語候補生成部002C8は、図7(b)に示すように、決定ベクトル[D]の要素ビット”1”と”6”と”11”を反転させることでコンカーレント符号語候補[C1k]を生成し、反転パターン(1,6,11)とコンカーレント符号語候補[C11]とを対応付けてコンカーレント符号語候補情報テーブルT5に格納する。
そして、コンカーレント符号語特定部002C9は、コンカーレント符号語候補情報テーブルT5(図7(b))を参照して、コンカーレント符号語候補[C11]と軟入力ベクトル[R’]との間のメトリック値M11を算出する。そして、コンカーレント符号語特定部002C9は、メトリック値M11を要素ビット”1”のコンカーレント符号語[C]のメトリック値Mc1として、対応するコンカーレント符号語候補情報テーブルT5のメトリック値欄に格納する。
図1(b)に戻り、判定部002C10は、個数カウンタ002C14のカウンタ値mkが、検索部002C3により取得された要素ビットk(k=1,2,…,N1)に対応する反転パターンPmkの個数Mk以下であるか否かを判定する。また、判定部002C10は、要素ビットカウンタ002C15のカウンタ値kが行方向の符号長N1以下であるか否かを判定する。また、判定部002C10は、反転パターン格納情報テーブルT3を検索し、反転パターンPmkが格納されているか否かを判定する。
軟出力ベクトル算出部002C11は、記憶部002C1に格納されている決定ベクトル[D]のメトリック値Mと要素ビットkのコンカーレント符号語[C]のメトリック値Mckを用いて、次式より軟出力ベクトル[rr]の第k番目の構成要素rrk(k=1,2,…,N1)の値を算出し、軟出力ベクトル[rr]を生成する。
(数3)
rrk=(Mck−M)・Dk/4
行(列)カウンタ002C12は、復号部002Cにより記憶部002C1から順次読み出される積符号化行情報ベクトル[R]が、第一行目から最終行(第N2行目)まで復号処理されたかを管理するためのカウンタである。カウンタの初期設定値は”1”であり、処理対象の行に対応する訂正ベクトル[W]が生成されるたびにインクリメントされる。また、行(列)カウンタ002C12は、行処理と同様に、列処理において、順次読み出される積符号化列情報ベクトル[R]が、第1列から最終列(第N1列目)まで復号処理されたかを管理する。
繰り返し回数カウンタ002C13は、積符号化情報行列{R}に対して所定の回数の復号処理を実施したかを管理するカウンタである。カウンタの初期設定値は”1”であり、積符号化情報行列{R}から第一行目を読み出して最終列(第N1列目)までの処理を1回の処理とし、最終列(第N1列目)の処理を終えるたびにインクリメントされる。
個数カウンタ002C14は、記憶部002C1に格納されている個数情報テーブルT1により特定される要素ビットkに対応する反転パターンPmkの個数Mk(k=1,2,…,N1)に対応するカウンタであり、反転パターン情報テーブルT2により特定される要素ビットkに対応する全ての反転パターンPmk(mk=1,2,…,Mk)について、尤度閾値判定部002C4による判定処理がなされたかを管理するためのものである。また、個数カウンタ002C14のカウンタ値mkの初期設定値は”1”であり、尤度閾値判定部002C4による判定処理が実行されるごとにインクリメントされる。
要素ビットカウンタ002C15は、決定ベクトル[D]の要素ビットk(k=1,2,…,N1)の個数、すなわち、行方向の符号長N1に対応するカウンタであり、軟出力ベクトル算出部002C11が、決定ベクトル[D]の要素ビット個数分、すなわち、N1個の軟出力ベクトル[rr]の構成要素rrk(k=1,2,…,N1)を算出したかを管理するためのものである。要素ビットカウンタ002C15の初期設定値は”1”であり、軟出力ベクトル算出部002C11が、軟出力ベクトル[rr]の構成要素rrkを算出するごとにインクリメントされる。
次に、図8と図9を参照して、本発明の特徴的な部分である軟出力ベクトル生成処理を含む積符号の復号処理について説明する。図8は、復号処理全体のフローを示す図であり、従来技術と同様の処理を示している。図9は、図8の軟出力ベクトル生成ステップ(ステップ005、012)での本発明特有の軟出力ベクトル生成処理のフローを示す図である。
まず、図8を参照して、復号処理全体のフローについて説明する。前提条件として、復号部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は、繰り返し回数カウンタ002C13を初期化、すなわち、カウンタ値itを”1”とする共に、訂正行列{W}を初期化、すなわち、訂正行列{W}の全構成要素を”0”にする(ステップ001)。そして、復号部002Cは、行(列)カウンタ002C12を初期化、すなわち、カウンタ値iを”1”にする(ステップ002)。
そして、復号部002Cは、行(列)カウンタ002C12のカウンタ値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は、行(列)カウンタ002C12のカウンタ値iがN2であるか否かを判定する(ステップ007)。つまり、ステップ003乃006の処理を積符号化情報行列{R}の全行に対して行ったか否かを判定する。行(列)カウンタ002C12のカウンタ値iがN2でないと判定した場合には(ステップ007;NO)、行(列)カウンタ002C12のカウンタ値iをインクリメントし(ステップ008)、前述のステップ003乃006の処理を最終行(第N2番目の行)に至るまで繰り返す。
一方、行(列)カウンタ002C12のカウンタ値iがN2であると判定した場合には(ステップ007;YES)、復号部002Cは積符号化情報行列{R}から列を順次読み出して、行に対して行った処理と同様の処理を行う(ステップ009乃至015)。
そして、復号部002Cは、繰り返し回数カウンタ002C13のカウンタ値itが設定された繰り返し回数に達したか否かを判定する(ステップ016)。繰り返し回数カウンタ002C13のカウンタ値itが設定された繰り返し回数に達していないと判定した場合には(ステップ016;NO)、復号部002Cは、繰り返し回数カウンタ002C13のカウンタ値itをインクリメントし(ステップ017)、ステップ002の処理から復号処理を繰り返す。
一方、繰り返し回数カウンタ002C13のカウンタ値itが設定された繰り返し回数に達したと判定した場合には(ステップ016;YES)、復号部002Cは、軟出力行列{rr}の各構成要素の硬判定値を構成要素とするN2xN1の硬判定行列{Drr}を復号結果として出力して(ステップ018)、復号処理を終了する。この復号結果として出力されたN2xN1の硬判定行列{Drr}のK2xK1部分が復号処理により推定された情報系列を表し、推定された情報系列の構成要素は”+1”又は”−1”であるが、それぞれ2進法の”0”と”1”に対応する。
次に、図9を参照して、本発明特有の軟出力ベクトル生成処理について説明する。この軟出力ベクトル生成処理は、上述したように、図8に示す復号処理のステップ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は、要素ビットカウンタ002C15を初期化し、カウンタ値kを”1”とし(ステップS02)、検索部002C3は、記憶部002C1に格納されている個数情報テーブルT1を検索して、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットに対応する反転パターンPmkの個数Mkを取得する(ステップS03)。そして、復号部002Cは、個数カウンタ002C14を初期化し、カウンタ値mkを”1”とし(ステップS04)、検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT2を検索して、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットに対応する反転パターン群の中から、個数カウンタ002C14のカウンタ値mkにより特定される反転パターンPmkを取得する(ステップS05)。
そして、尤度閾値判定部002C4は、ステップS05の処理で検索部002C3が取得した反転パターンPmkにより特定される反転対象から処理対象の要素ビットkを除外した各要素ビットにそれぞれ対応する軟入力ベクトル[R’]の要素値R’n(但し、n≠k)の絶対値|R’n|のうちで、予め設定されている尤度閾値αより小さい絶対値|R’n|が存在する否かを判定する(ステップS06)。尤度閾値αより小さい絶対値|R’n|が存在すると判定された場合には(ステップS06;YES)、第1反転パターン特定部002C5は、判定対象の反転パターンPmkを反転パターン格納情報テーブルT3の反転パターン欄に格納し(ステップS07)、処理はステップS09の処理へ進む。
一方、尤度閾値αより小さい絶対値|R’n|が存在しないと判定された場合には(ステップS06;NO)、復号部002Cは詳しくは後述する最小絶対値判定処理を実行する(ステップS08)。そして、復号部002Cは、個数カウンタ002C14のカウンタ値mkをインクリメントし(ステップS09)、判定部002C10は、ステップS09の処理でインクリメントされた後のカウンタ値mkが、ステップS03の処理で取得した反転パターンPmkの個数Mkを越えたか否かを判定する(ステップS10)。カウンタ値mkが個数Mk以下であると判定された場合には(ステップS10;NO)、処理はステップS05の処理に戻り、前述の処理を繰り返す。
一方、カウンタ値mkが個数Mkを越えたと判定された場合には(ステップS10;YES)、判定部002C10は、反転パターン格納情報テーブルT3を検索し、反転パターンPmkが格納されているか否かを判定する(ステップS11)。反転パターン格納情報テーブルT3に反転パターンPmkが格納されていると判定された場合には(ステップS11;YES)、反転パターン格納情報テーブルT3に格納されている各反転パターンPmkから、反転パターンPmkが特定する反転対象の決定ベクトル[Cdi]([D])の要素ビットを反転させることで、要素ビットkのコンカーレント符号語候補[Ctki]を生成し、反転パターンPmkとそれぞれ対応付けてコンカーレント符号語候補情報テーブルT5に格納する(ステップS12)。
一方、反転パターン格納情報テーブルT3に反転パターンPmkが格納されていないと判定された場合には(ステップS11;NO)、コンカーレント符号語候補生成部002C8は、最小絶対値情報テーブルT4に格納されている反転パターンPmkから、反転パターンPmkが特定する反転対象の決定ベクトル[Cdi]([D])の要素ビットを反転させることで、要素ビットkのコンカーレント符号語候補[Ctki]を生成し、反転パターンPmkと対応付けて後述のコンカーレント符号語候補情報テーブルT5に格納する(ステップS13)。
そして、コンカーレント符号語特定部002C9は、コンカーレント符号語候補情報テーブルT5を検索し、コンカーレント符号語候補生成部002C8により生成されたコンカーレント符号語候補[Ctki]それぞれに対し、軟入力ベクトル[R’]との間のメトリック値Mtkiを求め、最も値が小さいメトリック値minMtkiを有するコンカーレント符号語候補[Ctki]を要素ビットkのコンカーレント符号語[Cki]として特定する。そして、コンカーレント符号語特定部002C9は、最も値が小さいメトリック値minMtkiを要素ビットkのコンカーレント符号語[Cki]のメトリック値Mckiとして、対応するコンカーレント符号語候補情報テーブルT5のメトリック値欄に格納する(ステップS14)。
そして、軟出力ベクトル算出部002C11は、ステップS14の処理で特定した要素ビットkのコンカーレント符号語[Cki]のメトリック値MckiとステップS01の処理で記憶部002C1に格納された決定ベクトル[Cdi]のメトリック値Mdiを用いて、上述した算出式(数3)により、要素ビットカウンタ002C15のカウンタ値kに対応する第k番目の軟出力ベクトル[rr]の構成要素rrkを算出し、算出した構成要素rrkを記憶部002C1に格納する(ステップS15)。
そして、復号部002Cは、要素ビットカウンタ002C15のカウンタ値kをインクリメントすると共に、記憶部002C1に格納されている反転パターン格納情報テーブルT3と最小絶対値情報テーブルT4とコンカーレント符号語候補情報テーブルT5とを初期化する(ステップS16)。そして、判定部002C10は、ステップS16の処理でインクリメントされた後の要素ビットカウンタ002C15のカウンタ値kが決定ベクトル[Cdi]の要素ビット個数N1(行方向の符号長)を越えたか否かを判定する(ステップS17)。
カウンタ値kが要素ビット個数N1以下であると判定された場合には(ステップS17;NO)、処理はステップS03の処理に戻り、前述の処理を繰り返す。一方、カウンタ値が要素ビット個数N1を越えたと判定された場合には(ステップS17;YES)、軟出力ベクトル算出部002C11は、前述の処理を決定ベクトル[Cdi]の要素ビット個数回(N1回)繰り返すことで得られた、構成要素rrk(k=1,2,…,N1)から、第i番目の行に対応する軟出力ベクトル[rr](=(rr1,rr2,…,rrN1))を生成し(ステップS18)、軟出力ベクトル生成処理を終了する。
次に、図10を参照して、最小絶対値判定処理について説明する。この最小絶対値判定処理は、図9の軟出力ベクトル生成処理のステップS08の処理に対応する処理である。
尤度閾値判定部002C4により、尤度閾値αより小さい絶対値|R’n|が存在しないと判定された場合には(ステップS06;NO)、判定部002C10は、反転パターン格納情報テーブルT3に反転パターンが格納されているか否かを判定する(ステップS101)。反転パターンが格納されていると判定された場合には(ステップS101;YES)、最小絶対値判定処理を終了し、処理は軟出力ベクトル生成処理のステップS09に進む。
一方、反転パターンが格納されていないと判定された場合には(ステップS101;NO)、最小絶対値判定部002C6は、反転パターンPmkにより特定される要素ビットk以外の反転対象に対応する軟入力ベクトル[R’]の各要素値R’n(但し、n≠k)の絶対値|R’n|うちで、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値以下か否かを判定する(ステップS102)。最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値以下でないと判定された場合には(ステップS102;NO)、最小絶対値判定処理を終了し、処理は軟出力ベクトル生成処理のステップS09に進む。
一方、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値以下であると判定した場合には(ステップS102;NO)、最小絶対値判定部002C6は、さらに、反転パターンPmkにより特定される要素ビットk以外の反転対象に対応する軟入力ベクトル[R’]の各要素値R’n(但し、n≠k)の絶対値|R’n|うちで、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値と等しいか否かを判定する(ステップS103)。
最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値と等しいと判定された場合には(ステップS103;YES)、第2反転パターン特定部002C7は、反転パターンPmkを最小絶対値情報テーブルT4の反転パターンの欄に追加する(ステップS104)。そして、最小絶対値判定処理を終了し、処理は軟出力ベクトル生成処理のステップS09に進む。
一方、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値と等しくないと判定された場合には、すなわち、最小値min|R’n|が最小絶対値情報テーブルT4に格納されている最小絶対値より小さい場合には(ステップS103;NO)、第2反転パターン特定部002C7は、反転パターンPmkと最小値min|R’n|とを対応付けて最小絶対値情報テーブルT4を更新する(ステップS105)。そして、最小絶対値判定処理を終了し、処理は軟出力ベクトル生成処理のステップS09に進む。
次に、図3と図4(a)と図5と図6(a)と図7を参照して、軟出力ベクトル生成処理について具体例に沿って説明する。
要素ビットカウンタ002C15のカウンタ値kが”1”の場合(ステップS02)、検索部002C3は、図3(a)に例示する番号情報テーブルT1から要素ビット”1”に対応する反転パターンの個数M1、すなわち、”5”を取得する(ステップS03)。復号部002Cは、個数カウンタ002C14のカウンタ値m1を初期化、すなわち、m1=1とする(ステップS04)。
そして、検索部002C3は、図3(b)に例示する反転パターン情報テーブルT2を検索して、個数カウンタ002C14のカウンタ値m1(m1=1,2,…,5)は”1”なので、要素ビット”1”に対応する反転パターン群から反転パターンPm1(m1=1)、すなわち、第1番目の反転パターン(1,2,13)を取得する(ステップS05)。反転パターン(1,2,13)により特定される反転対象から処理対象の要素ビット”1”を除外した要素ビット”2”と”13”にそれぞれ対応する軟入力ベクトル[R’1]の要素値の絶対値”0.75”と”0.53”は、尤度閾値”0.3”より大きいことから(ステップS06;NO)、最小絶対値判定処理を実行する(ステップS08)。
最小絶対値判定処理において、反転パターン格納情報テーブルT3には、まだ、反転パターンが格納されておらず(ステップS101;NO)、最小絶対値情報テーブルT4には、まだ、最小絶対値が格納されていないことから(ステップ102;YES、ステップ103;NO)、第2反転パターン特定部002C7は、反転パターン(1,2,13)と最小絶対値”0.53”とを対応付けて最小絶対値情報テーブルT4に格納する(ステップS107)。図6(a)は、この時点での、最小絶対値情報テーブルT4の状態を示している。
そして、復号部002Cは、個数カウンタ002C14のカウンタ値m1をインクリメントし(ステップS09)、インクリメント後の個数カウンタ002C14のカウンタ値m1は”2”なので(ステップS10;NO)、処理は、ステップS05の処理に戻る。
そして、検索部002C3は、図3(b)に例示する反転パターン情報テーブルT2を検索して、個数カウンタ002C14のカウンタ値m1は”2”なので、要素ビット”1”に対応する反転パターン群から反転パターンPm1(m1=2)、すなわち、第2番目の反転パターン(1,3,10)を取得し、前述の処理を繰り返す。
反転パターン(1,3,10)の処理では、反転パターン(1,3,10)により特定される反転対象から処理対象の要素ビット”1”を除外した要素ビット”3”と”10”に対応する軟入力ベクトル[R’1]の要素値の絶対値はいずれも尤度閾値”0.3”より大きく(ステップS06;NO)、最小絶対値情報テーブルT4に格納されている最小絶対値”053”よりも大きいので(ステップ101;NO、ステップ102;NO)、処理は、ステップS09の処理に進む。
個数カウンタ002C14のカウンタ値m1が”3”での処理、すなわち、反転パターン(1,4,5)の処理では、反転パターン(1,4,5)により特定される反転対象から処理対象の要素ビット”5”に対応する軟入力ベクトル[R’1]の要素値の絶対値”0.25”は尤度閾値”0.3”より小さいので(ステップS06;YES)、第1反転パターン特定部002C5は、反転パターン(1,4,5)を反転パターン格納情報テーブルT3に格納する(ステップS07)。
個数カウンタ002C14のカウンタ値m1が”4”での処理、すなわち、反転パターン(1,6,11)の処理では、反転パターン(1,6,11)により特定される反転対象から処理対象の要素ビット”11”に対応する軟入力ベクトル[R’1]の要素値の絶対値”0.15”は尤度閾値”0.3”より小さいので(ステップS06;YES)、第1反転パターン特定部002C5は、反転パターン(1,6,11)を反転パターン格納情報テーブルT3に格納する(ステップS07)。
個数カウンタ002C14のカウンタ値m1が”5”での処理、すなわち、反転パターン(1,7,9)の処理では、反転パターン(1,7,9)により特定される反転対象から処理対象の要素ビット”1”を除外した要素ビット”7”と”9”に対応する軟入力ベクトル[R’1]の要素値の絶対値はいずれも尤度閾値”0.3”より大きく(ステップS06;NO)、反転テーブル格納情報テーブルT3には、反転パターンが格納されているので(ステップ101;YES)、処理は、ステップS09の処理に進む。
図5は、要素ビット”1”に対応する全ての反転パターンについて、前述の処理を終えた時点での、反転パターン格納情報テーブルT3の状態を示していることから(ステップS11;YES)、コンカーレント符号語候補生成部002C8は、反転パターン格納情報テーブルT3に格納されている反転パターン(1,4,5)と(1,6,11)から、コンカーレント符号語候補[C11]と[C21]を生成する。そして、コンカーレント符号語候補生成部002C8は、それぞれ反転パターンと対応つけてコンカーレント符号語候補情報テーブルT5に格納する(ステップS12)。
そして、コンカーレント符号語特定部002C9は、コンカーレント符号語候補[C11]と[C21]とそれぞれに対し、軟入力ベクトル[R’1]との間のメトリック値M11とM21を算出する。そして、最小のメトリック値M11のコンカーレント符号語候補[C11]を要素ビット”1”のコンカーレント符号語[C]として特定し、そのメトリック値M11をMc1として、図7(a)に示すように、対応するコンカーレント符号語候補情報テーブルT5のメトリック値欄に格納する(ステップS14)。
そして、軟出力ベクトル算出部002C11は、記憶部002C1に格納されている決定ベクトル[C]([D])のメトリック値Mと要素ビット”1”のコンカーレント符号語[C]のメトリック値Mc1と決定ベクトル[C]([D])の要素ビット”1”(第1番目)の構成要素C1とを用いて、上述した算出式(数3)より、軟出力ベクトル[rr]の第1番目の構成要素rr1を算出し、記憶部002C1に格納する(ステップS15)。
そして、復号部002Cは、要素ビットカウンタ002C15のカウンタ値kをインクリメントすると共に、反転パターン格納情報テーブルT3と最小絶対値情報テーブルT4とコンカーレント符号語候補情報テーブルT5とを初期化する(ステップS16)。そして、判定部002C10は、インクリメント後のカウンタ値kが行方向の符号長”13”を越えたか否かを判定する(ステップS17)。インクリメント後のカウンタ値kが行方向の符号長”13”を越えるまで、前述の処理を繰り返えし、軟出力ベクトル算出部002C11は、軟出力ベクトル[rr]の各構成要素rrk(k=1,2,…,13)を算出し、記憶部002C1に格納する。
判定部002C10が、インクリメント後のカウンタ値kが行方向の符号長”13”を越えたと判定すると(ステップS17;YES)、軟出力ベクトル算出部002C11は、算出した構成要素rrk(k=1,2,…,13)から軟出力ベクトル[rr]を生成し(ステップS18)、軟出力ベクトル生成処理を終了する。
本実施形態によれば、決定ベクトル[Cdi]([D])の各要素ビットk(k=1,2,…,N1)に対応する反転パターンの個数を示す個数情報テーブルT1と、各要素ビットkに対応する反転パターンPmk(mk=1,2,…,Mk)を示す反転パターン情報テーブルT2を予め記憶部002C1に格納し、処理対象の要素ビットkに対応する反転パターンPmkにより特定される要素ビットk以外の反転対象に対応する軟入力ベクトル[R’]の要素値の絶対値|R’n|が、尤度閾値αより小さい反転パターンを特定した。こうすることで、軟入力ベクトル[R’]との間のメトリック値が小さいコンカーレント符号語候補[Ctki]が生成出来る可能性が高い反転パターンに絞り込むことが可能となる。その結果、コンカーレント符号語[Cki]の探索処理における演算量を軽減し、復号処理の高速化を図ることが可能となる。
また、本実施形態によれば、処理対象の要素ビットkに対応する反転パターンPmkにより特定される要素ビットk以外の反転対象に対応する軟入力ベクトル[R’]の各要素値の絶対値|R’n|が、いずれも尤度閾値α以上の場合には、最小絶対値判定部002C6と第2反転パターン特定部002C7とにより、絶対値|R’n|が最小となる反転パターンを特定した。こうすることで、確実にコンカーレント符号語[Cki]を見つけることが可能となることから、訂正ベクトル[W]を推定する必要がなくなり、訂正ベクトル[W]を推定することで生じる積符号の復号性能の劣化を防ぐことが可能となる。
(実施形態2)
実施形態1においては、決定ベクトル[Cdi]([D])の各要素ビットk(k=1,2,…,N1)に対応する反転パターンPmkごとに、軟入力ベクトル[R’]との間のメトリック値が小さいコンカーレント符号語候補[Ctki]が生成出来る可能性が高い反転パターンの絞り込みを行った。本実施形態においては、反転パターンの絞り込みを要素ビットkに対応する全ての反転パターンに対し1度の処理で行う。
本実施形態における、デジタル通信システム1の構成は、図1に示す実施形態1の構成と同じである。但し、図11に示すように、復号部002Cが備える各機能部の構成が異なり、復号部002Cは、記憶部002C1と、決定ベクトル生成部002C2と、検索部002C3と、尤度閾値判定部002C4と、第1反転パターン特定部002C5と、第2反転パターン特定部002C7と、コンカーレント符号語候補生成部002C8と、コンカーレント符号語特定部002C9と、判定部002C10と、軟出力ベクトル算出部002C11と、行(列)カウンタ002C12と、繰り返し回数カウンタ002C13と、要素ビットカウンタ002C15を備える。
また、番号情報テーブルT1と、反転パターン格納情報テーブルT3と、最小絶対値情報テーブルT4は、記憶部002C1に格納されない点で、実施形態1とは異なる。さらに、検索部002C3と、尤度閾値判定部002C4と、第1反転パターン特定部002C5と、第2反転パターン特定部002C7と、コンカーレント符号語候補生成部002C8と、判定部002C10が果たす機能が実施形態1とは若干異なる。
検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT2を検索し、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットkに対応する各反転パターンPk(本実施形態では、PmkでなくPkとする)により特定される反転対象の全ての要素ビットnを取得する。
尤度閾値判定部002C4は、検索部002C3が取得した要素ビットnから処理対象の要素ビットkを除外した各要素ビットn(n≠k)にそれぞれ対応する軟入力ベクトル[R’]の要素値R’n(但し、n≠k)の絶対値|R’n|の中に、予め設定されている尤度閾値α(本実施形態においては、尤度閾値α=0.3とする)より小さい絶対値|R’n|が存在する否かを判定する。
第1反転パターン特定部002C5は、尤度閾値判定部002C4により、要素ビットnから処理対象の要素ビットkを除外した各要素ビットn(n≠k)に対応する軟入力ベクトル[R’]の各要素値R’n(但し、n≠k)の絶対値|R’n|の中に、尤度閾値αより小さい絶対値|R’n|が存在すると判定された場合に、尤度閾値αより小さい絶対値|R’n|に対応する要素ビットnが反転対象である反転パターンPkを特定し、コンカーレント符号語候補情報テーブルT5の反転パターン欄に格納する。
第2反転パターン特定部002C7は、尤度閾値判定部002C4により、要素ビットnから処理対象の要素ビットkを除外した各要素ビットn(n≠k)に対応する軟入力ベクトル[R’]の各要素値R’n(但し、n≠k)の絶対値|R’n|の中に、尤度閾値αより小さい絶対値|R’n|が存在しないと判定された場合に、最小絶対値min|R’n|の要素ビットnが反転対象である反転パターンPkを特定する。そして、第2反転パターン特定部002C7は、特定した反転パターンPkをコンカーレント符号語候補情報テーブルT5の反転パターン欄に格納する。
コンカーレント符号語候補生成部002C8は、反転パターン格納情報テーブルT3に格納されている各反転パターンPkから、反転パターンPkが特定する反転対象の決定ベクトル[D]の要素ビットを反転させることで、要素ビットk(k=1,2,…,N1)のコンカーレント符号語候補[Ctk]を生成し、反転パターンPkとそれぞれ対応付けて、コンカーレント符号語候補[Ctk]をコンカーレント符号語候補情報テーブルT5に格納する。
判定部002C10は、要素ビットカウンタ002C15のカウンタ値kが行方向の符号長N1以下であるか否かを判定する。
次に、図12を参照して、本実施形態における軟出力ベクトル生成処理について説明する。この軟出力ベクトル生成処理は、上述したように、図8に示す復号処理のステップ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に格納する(ステップS201)。以下、候補符号語[Cdi]で更新された決定ベクトル[D]を決定ベクトル[Cdi]ということとする。
そして、復号部002Cは、要素ビットカウンタ002C15を初期化し、カウンタ値kを”1”とし(ステップS202)、検索部002C3は、記憶部002C1に格納されている反転パターン情報テーブルT2を検索して、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットkに対応する各反転パターンPkが特定する反転対象の全ての要素ビットnを取得する(ステップS203)。
そして、尤度閾値判定部002C4は、ステップS203の処理で検索部002C3が取得した要素ビットnから処理対象の要素ビットkを除外した要素ビットn(n≠k)にそれぞれ対応する軟入力ベクトル[R’]の要素値の絶対値|R’n|(但し、n≠k)の中に、予め設定されている尤度閾値αより小さい絶対値|R’ n|が存在する否かを判定する(ステップS204)。尤度閾値αより小さい絶対値|R’n|が存在すると判定された場合には(ステップS204;YES)、第1反転パターン特定部002C5は、最小絶対値min|R’n|の要素ビットnが反転対象である反転パターンPkを特定し、特定した反転パターンPkをコンカーレント符号語候補情報テーブルT5の反転パターン欄に格納し(ステップS205)、処理はステップS207の処理へ進む。
一方、尤度閾値αより小さい絶対値|R’n|が存在しないと判定された場合には(ステップS204;NO)、第2反転パターン特定部002C7は、最小絶対値min|R’n|の要素ビットnが反転対象である反転パターンPkを特定し、特定した反転パターンPkをコンカーレント符号語候補情報テーブルT5の反転パターン欄に格納する(ステップS206)。
コンカーレント符号語候補生成部002C8は、コンカーレント符号語候補情報テーブルT5に格納されている各反転パターンPkから、反転パターンPkが特定する反転対象の決定ベクトル[Cdi]([D])の要素ビットを反転させることで、要素ビットkのコンカーレント符号語候補[Ctki]を生成し、反転パターンPkとそれぞれ対応付けてコンカーレント符号語候補情報テーブルT5に格納する(ステップS207)。
そして、コンカーレント符号語特定部002C9は、コンカーレント符号語候補情報テーブルT5を検索し、コンカーレント符号語候補生成部002C8により生成されたコンカーレント符号語候補[Ctki]それぞれに対し、軟入力ベクトル[R’]との間のメトリック値Mtkiを求め、最も値が小さいメトリック値minMtkiを有するコンカーレント符号語候補[Ctki]を要素ビットkのコンカーレント符号語[Cki]として特定する。そして、コンカーレント符号語特定部002C9は、最も値が小さいメトリック値minMtkiを要素ビットkのコンカーレント符号語[Cki]のメトリック値Mckiとして、対応するコンカーレント符号語候補情報テーブルT5のメトリック値欄に格納する(ステップS208)。
そして、軟出力ベクトル算出部002C11は、ステップS14の処理で特定した要素ビットkのコンカーレント符号語[Cki]のメトリック値MckiとステップS01の処理で記憶部002C1に格納された決定ベクトル[Cdi]のメトリック値Mdiを用いて、上述した算出式(数3)により、要素ビットカウンタ002C15のカウンタ値kに対応する第k番目の軟出力ベクトル[rr]の構成要素rrkを算出し、算出した構成要素rrkを記憶部002C1に格納する(ステップS209)。
そして、復号部002Cは、要素ビットカウンタ002C15のカウンタ値kをインクリメントすると共に、記憶部002C1に格納されているコンカーレント符号語候補情報テーブルT5を初期化する(ステップS210)。そして、判定部002C10は、ステップS16の処理でインクリメントされた後の要素ビットカウンタ002C15のカウンタ値kが決定ベクトル[Cdi]の要素ビット個数N1(行方向の符号長)を越えたか否かを判定する(ステップS211)。
カウンタ値kが要素ビット個数N1以下であると判定された場合には(ステップS211;NO)、処理はステップS203の処理に戻り、前述の処理を繰り返す。一方、カウンタ値kが要素ビット個数N1を越えたと判定された場合には(ステップS211;YES)、軟出力ベクトル算出部002C11は、前述の処理を決定ベクトル[Cdi]の要素ビット個数回(N1回)繰り返すことで得られた、構成要素rrk(k=1,2,…,N1)から、第i番目の行に対応する軟出力ベクトル[rr](=(rr1,rr2,…,rrN1))を生成し(ステップS212)、軟出力ベクトル生成処理を終了する。
次に、図3(b)と図4(a)と図7(a)を参照して、本実施形態における軟出力処理について具体例に沿って説明する
要素ビットカウンタ002C15のカウンタ値kが”1”の場合(ステップS202)、検索部002C3は、図3(b)に例示する反転パターン情報テーブルT2を検索して、要素ビット”1”に対応する反転パターン(1,2,13)、(1,3,10)、(1,4,5)、(1,6,11)、(1,7,9)により特定される反転対象の全ての要素ビット(1,2,3,4,5,6,7,9,10,11,13)を取得する(ステップS203)。
これらの要素ビットの中で要素ビット”5”と”11”にそれぞれ対応する軟入力ベクトル[R’1]の要素値の絶対値”0.25”と”0.15”が、尤度閾値0.3より小さいことから(ステップS204;YES)、第1反転パターン特定部002C5は、要素ビット”5”と”11”が反転対象である反転パターン(1,4,5)と(1,6,11)を特定し、特定した反転パターン(1,4,5)と(1,6,11)をコンカーレント符号語候補情報テーブルT5の反転パターン欄に格納する(ステップS205)。
そして、コンカーレント符号語候補生成部002C8は、コンカーレント符号語候補情報テーブルT5に格納されている反転パターン(1,4,5)と(1,6,11)から、コンカーレント符号語候補[C11]と[C21]を生成する。そして、コンカーレント符号語候補生成部002C8は、それぞれ反転パターンと対応つけてコンカーレント符号語候補情報テーブルT5に格納する(ステップS207)。
そして、コンカーレント符号語特定部002C9は、コンカーレント符号語候補[C11]と[C21]とそれぞれに対し、軟入力ベクトル[R’1]との間のメトリック値M11とM21を算出する。そして、最小のメトリック値M11のコンカーレント符号語候補[C11]を要素ビット”1”のコンカーレント符号語[C]として特定し、そのメトリック値M11をMc1として、図7(a)に示すように、対応するコンカーレント符号語候補情報テーブルT5のメトリック値欄に格納する(ステップS208)。
そして、軟出力ベクトル算出部002C11は、記憶部002C1に格納されている決定ベクトル[C]([D])のメトリック値Mと要素ビット”1”のコンカーレント符号語[C]のメトリック値Mc1と決定ベクトル[C]([D])の要素ビット”1”(第1番目)の構成要素C1とを用いて、上述した算出式(数3)より、軟出力ベクトル[rr]の第1番目の構成要素rr1を算出し、記憶部002C1に格納する(ステップS209)。
そして、復号部002Cは、要素ビットカウンタ002C15のカウンタ値kをインクリメントすると共に、コンカーレント符号語候補情報テーブルT5を初期化する(ステップS210)。そして、判定部002C10は、インクリメント後のカウンタ値kが行方向の符号長”13”を越えたか否かを判定する(ステップS211)。インクリメント後のカウンタ値kが行方向の符号長”13”を越えるまで、前述の処理を繰り返えし、軟出力ベクトル算出部002C11は、軟出力ベクトル[rr]の各構成要素rrk(k=1,2,…,13)を算出し、記憶部002C1に格納する。
判定部002C10が、インクリメント後のカウンタ値kが行方向の符号長”13”を越えたと判定すると(ステップS211;YES)、軟出力ベクトル算出部002C11は、算出した構成要素rrk(k=1,2,…,13)から軟出力ベクトル[rr]を生成し(ステップS212)、軟出力ベクトル生成処理を終了する。
本実施形態によれば、検索部002C3は、反転パターン情報テーブルT2を検索して、処理対象の決定ベクトル[Cdi]([D])の要素ビットkに対応する反転パターンPkにより特定される反転対象の全ての要素ビットnを取得した(ステップS203。そして、尤度閾値判定部002C4は、要素ビットnから処理対象の要素ビットkを除外した要素ビットn(n≠k)にそれぞれ対応する軟入力ベクトル[R’]の要素値の絶対値|R’n|(但し、n≠k)の中に、予め設定されている尤度閾値αより小さい絶対値|R’n|が存在する否かを判定した(ステップS204)。そして、尤度閾値αより小さい絶対値|R’n|が存在すると判定された場合には、第1反転パターン特定部002C5は、最小絶対値min|R’n|の要素ビットnが反転対象である反転パターンPkを特定し、特定した反転パターンPkをコンカーレント符号語候補情報テーブルT5の反転パターン欄に格納した(ステップS205)。こうすることで、記憶部002C1に格納する情報テーブルを削減でき、メモリ資源を節約できると共に、実施形態1において反転パターンに対して繰り返し行っていた同様の処理を、一度に行うことが可能となる。その結果、復号処理をさらに高速化することが可能となる。
また、本実施形態によれば、尤度閾値αより小さい絶対値|R’n|が存在しないと判定された場合には(ステップS204;NO)、第2反転パターン特定部002C7は、最小絶対値min|R’n|の要素ビットnが反転対象である反転パターンPkを特定し、特定した反転パターンPkをコンカーレント符号語候補情報テーブルT5の反転パターン欄に格納した(ステップS206)。こうすることで、確実にコンカーレント符号語を見つけられることから、復号性能を高めることが可能となると共に、各反転パターンに対し繰り返し行った処理を、一度の処理で行うことが可能となる。その結果、復号処理をさらに高速化することが可能となる。
なお、上記実施形態における無線送信装置001と無線受信装置002は、それぞれ基地局及び移動情報端末に適用でき、ピアツーピア通信装置等に適用できる。
また、上記実施形態において、行方向と列方向に対して1又は2つの線形符号より符号化された2次元積符号の復号方法について説明したが、これに限定されるものではなく、本発明は、1又は複数の線形符号による多次元積符号における復号においても適用できる。
また、上記実施形態1において、検索部002C3は、記憶部002C1に格納されている個数情報テーブルT1から処理対象の要素ビットkに対応する反転パターンPmkの個数を取得すると説明したが、これに限定される物ではなく、反転パターン情報テーブルT2から反転パターンPmkの個数を取得してもよい。この場合、個数情報テーブルT1は不要となる。
また、上記実施形態における復号処理において、積符号化情報行列{R}からの行又は列の読み出し順序は任意である。
また、上記実施形態において、記憶部002C1に格納される反転パターン情報テーブルT2に含まれる反転パターンは、(i)処理対象の要素ビットkが反転対象であり、(ii)決定ベクトル[C]([D])の反転対象の要素ビットを反転させることで得られる反転決定ベクトル[RD]が、処理対象の配列を符号化した線形符号の符号語となり、(iii)反転対象の要素ビットの個数が該線形符号の最小距離と一致する、という条件を満たすものとして説明したが、これに限定されるものではなく、条件(i)と(ii)のみを満たす場合にも、本発明は適用できる。
また、上記実施形態において、尤度閾値αは、復号部002Cが備えるCPUの処理能力に応じ設定すればよい。尤度閾値αの設定値を大きくすれば、生成されるコンカーレント符号語候補[C]が増え、高い処理能力が必要になるが、コンカーレント符号語候補[C]が増えることで、軟入力ベクトル[R’]との間のメトリック値がより小さいコンカーレント符号語候補[C]を得られる可能性が高まる。また、符号化する際に用いられる線形符号の符号長やハミング距離に応じて、尤度閾値αの値を設定してもよい。
また、尤度閾値αの設定値を固定値とするのではなく、例えば、通信路CHの状態に応じて可変してもよい。なお、尤度閾値αは、積符号化が複数の線形符号による場合には、それぞれ別々の尤度閾値αを設定するのが好ましい。
また、上記実施形態2において、検索部002C3が、記憶部002C1に格納されている反転パターン情報テーブルT2を検索し、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットkに対応する各反転パターンPk(本実施形態では、PmkでなくPkとする)により特定される反転対象の全ての要素ビットnを取得すると説明したが、これに限定されるものではなく、検索部002C3が、要素ビットカウンタ002C15のカウンタ値kにより特定される要素ビットkに対応する各反転パターンPkを取得し、第1反転パターン特定部002C5と第2反転パターン特定部002C7が、取得された反転パターンPkにより特定される反転対象の全ての要素ビットnを特定するように構成してもよい。
なお、上記実施形態において、実行されるプログラムは、フレキシブルディスク、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 第1反転パターン特定部
002C6 最小絶対値判定部
002C7 第2反転パターン特定部
002C8 コンカーレント符号語候補生成部
002C9 コンカーレント符号語特定部
002C10 判定部
002C11 軟出力ベクトル算出部
002C12 行(列)カウンタ
002C13 繰り返し回数カウンタ
002C14 個数カウンタ
002C15 要素ビットカウンタ
T1 個数情報テーブル
T2 反転パターン情報テーブル
T3 反転パターン格納情報テーブル
T4 最小絶対値情報テーブル
T5 コンカーレント符号語候補情報テーブル
K 情報系列
[R] 積符号化行情報ベクトル
[R’1] 軟入力ベクトル
[R’2] 軟入力ベクトル
[R’3] 軟入力ベクトル
{Drr} 硬判定行列
Pm1 反転パターン
M1 反転パターン個数

Claims (8)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2013162424A JP2013162424A (ja) 2013-08-19
JP5757251B2 true JP5757251B2 (ja) 2015-07-29

Family

ID=49174319

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5757251B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0616305B2 (ja) * 1985-03-05 1994-03-02 日本電気株式会社 シングルチツプマイクロコンピユ−タ
FR2712760B1 (fr) * 1993-11-19 1996-01-26 France Telecom Procédé pour transmettre des bits d'information en appliquant des codes en blocs concaténés.
JPH1013251A (ja) * 1996-06-25 1998-01-16 Saitama Nippon Denki Kk 符号誤り訂正回路
FR2753026B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
JP2003018022A (ja) * 2001-06-29 2003-01-17 Kddi Submarine Cable Systems Inc 復号方法及び装置
JP3876662B2 (ja) * 2001-08-03 2007-02-07 三菱電機株式会社 積符号の復号方法および積符号の復号装置

Also Published As

Publication number Publication date
JP2013162424A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
JP4701343B2 (ja) トレリスに基づく受信器
US10348336B2 (en) System and method for early termination of decoding in a multi user equipment environment
EP3562071B1 (en) Polar code encoding and decoding method and device
WO2018166423A1 (zh) 极化码编码的方法和装置
US7979777B2 (en) Apparatus, method and program for decoding
RU2580797C1 (ru) Способ мягкого декодирования блоковых кодов
KR20170020305A (ko) 체크 노드 계산유닛을 관리하는 방법, 장치, 및 상기 방법을 실행하기 위한 소프트웨어
CN109428607B (zh) 极化码的译码方法、译码器及译码设备
JP3876662B2 (ja) 積符号の復号方法および積符号の復号装置
CN110995279B (zh) 一种极化码联合scf球形列表翻转译码方法
CN105406877B (zh) 一种短码长循环码的译码方法
US10651873B2 (en) Polar code successive cancellation list decoding
KR102269322B1 (ko) 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
JP2008544639A (ja) 復号方法と装置
JP5757251B2 (ja) 積符号の復号装置、積符号の復号方法、及び、プログラム
JP6094928B2 (ja) 復号システム及び復号方法
JP5757253B2 (ja) 積符号の復号装置、積符号の復号方法、及び、プログラム
US11233532B2 (en) Information decoder for polar codes
KR101848431B1 (ko) 신호의 인터리빙 주기를 추정하기 위한 장치 및 방법
US20220006472A1 (en) Method and apparatus for fast decoding linear code based on soft decision
JP4379329B2 (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
JP5132738B2 (ja) 誤り訂正復号器及び受信機
US8887023B2 (en) Method of identifying a correct decoding codeward
US8156412B2 (en) Tree decoding method for decoding linear block codes
RU2628191C2 (ru) Способ определения параметров помехоустойчивого кода

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

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150