(57)【特許請求の範囲】
【請求項１】
線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力する入力部と、
前記入力部において入力した受信値のうち、前記線形符号に対する受信値を外部値によって更新する第１更新部と、
前記第１更新部において更新した受信値に対して、信頼度を評価してテストパターンを生成し、生成した前記テストパターンを代数復号し、代数復号の結果得られた符号語を候補として前記受信値とのメトリックを計算し、メトリックが最小である符号語を決定ベクトルとして更新し、更新した前記決定ベクトルの各要素に対して、前記決定ベクトル以外の代数復号の結果得られた符号語の中に、前記決定ベクトルの要素と符号が反転している要素を持つ符号語が存在するか否かを検索し、検索条件に合致する符号語が存在した場合、検索条件に合致した符号語のメトリック値を用いた第１の計算を行った結果を事後値とし、検索条件に合致する符号語が存在しない場合、定数を用いた第２の計算を行った結果を前記事後値とし、前記事後値から前記第１更新部で更新された受信値を減算して訂正ベクトルを導出する第１導出部と、
前記第１導出部において導出した訂正ベクトルによって、前記入力部において入力した受信値のうち、パリティ符号に対する受信値を更新する第２更新部と、
前記第２更新部において更新した受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として導出する第２導出部と、
前記第１更新部と前記第１導出部との組合せと、前記第２更新部と前記第２導出部との組合せを所定回数にわたって交互に繰り返し実行させる制御部と、
を備え、
前記制御部による所定回数の繰り返し実行が終わると、前記第２更新部で更新した受信値と前記第２導出部で導出した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記第１更新部は、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記第２更新部は、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記第１更新部において使用される第１の係数と、前記第２更新部において使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定されることを特徴とする復号装置。
【請求項２】
線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力する入力部と、
前記入力部において入力した受信値のうち、前記線形符号に対する受信値を外部値によって更新する第１更新部と、
前記第１更新部において更新した受信値をもとに所定の計算を行った結果を事後値とし、前記事後値をもとに訂正ベクトルを導出する第１導出部と、
前記第１導出部において導出した訂正ベクトルによって、前記入力部において入力した受信値のうち、パリティ符号に対する受信値を更新する第２更新部と、
前記第２更新部において更新した受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として導出する第２導出部と、
前記第１更新部と前記第１導出部との組合せと、前記第２更新部と前記第２導出部との組合せを所定回数にわたって交互に繰り返し実行させる制御部と、
を備え、
前記制御部による所定回数の繰り返し実行が終わると、前記第２更新部で更新した受信値と前記第２導出部で導出した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記第１更新部は、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記第２更新部は、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記第１更新部において使用される第１の係数と、前記第２更新部において使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定されることを特徴とする復号装置。
【請求項３】
線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力するステップと、
外部値によって、入力した受信値のうち、前記線形符号に対する受信値を更新するステップと、
更新した前記線形符号に対する受信値をもとに、訂正ベクトルを更新するステップと、
更新した前記訂正ベクトルによって、前記入力した受信値のうち、前記パリティ符号に対する受信値を更新するステップと、
更新した前記パリティ符号に対する受信値をもとに、外部値を更新するステップと、
前記線形符号に対する受信値を更新するステップと前記訂正ベクトルを更新するステップとの組合せと、前記パリティ符号に対する受信値を更新するステップと前記外部値を更新するステップとの組合せを所定回数にわたって交互に繰り返し実行させるステップとを備え、
前記訂正ベクトルを更新するステップは、
更新した線形符号に対する受信値に対して、信頼度を評価してテストパターンを生成するステップと、
生成した前記テストパターンを代数復号するステップと、
前記テストパターンを代数復号した結果から得られた符号語を候補として受信値とのメトリックを計算するととともに、メトリックの最小値を探索し、メトリックが最小である符号語を決定ベクトルとして更新するステップと、
更新した前記決定ベクトルの各要素に対して、前記決定ベクトル以外に残った候補の符号語の中に、前記決定ベクトルの要素と符号が反転している要素を持つ符号語が存在するか否かを検索するステップと、
検索条件に合致する符号語が存在した場合、検索条件に合致した符号語のメトリック値を用いた第１の計算を行った結果を事後値とし、検索条件に合致する符号語が存在しない場合、定数を用いた第２の計算を行った結果を前記事後値とし、前記事後値から前記更新された受信値を減算して前記訂正ベクトルを導出するステップとを含み、
前記外部値を更新するステップでは、更新した前記パリティ符号に対する受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として導出し、
前記所定回数の繰り返し実行が終わると、前記パリティ符号に対する受信値を更新するステップで更新した受信値と前記外部値を更新するステップで更新した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記線形符号に対する受信値を更新するステップは、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記パリティ符号に対する受信値を更新するステップは、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記線形符号に対する受信値を更新するステップにおいて使用される第１の係数と、前記パリティ符号に対する受信値を更新するステップにおいて使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定されることを特徴とする復号方法。
【請求項４】
線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力するステップと、
外部値によって、入力した受信値のうち、前記線形符号に対する受信値を更新するステップと、
更新した前記線形符号に対する受信値をもとに所定の計算を行った結果を事後値とするとともに、前記事後値をもとに訂正ベクトルを更新するステップと、
更新した前記訂正ベクトルによって、入力した受信値のうち、前記パリティ符号に対する受信値を更新するステップと、
更新したパリティ符号に対する受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として更新するステップと、
前記線形符号に対する受信値を更新するステップと前記訂正ベクトルを更新するステップとの組合せと、前記パリティ符号に対する受信値を更新するステップと前記外部値を更新するステップとの組合せを所定回数にわたって交互に繰り返し実行させるステップと、
を備え、
前記所定回数の繰り返し実行が終わると、前記パリティ符号に対する受信値を更新するステップで更新した受信値と前記外部値を更新するステップで更新した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記線形符号に対する受信値を更新するステップは、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記パリティ符号に対する受信値を更新するステップは、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記線形符号に対する受信値を更新するステップにおいて使用される第１の係数と、前記パリティ符号に対する受信値を更新するステップにおいて使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定されることを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術に関し、特に積符号化された情報データを復号する復号装置、復号方法に関する。
【背景技術】
【０００２】
ディジタル通信システムにおける信頼度を向上するために、さまざまな符号化方式および復号方式が提案されている。一般的に、符号の訂正能力が高くなるほど、復号処理が複雑になるので、装置化が困難になる。一方、連接符号化や積符号化を使用すれば、比較的簡単な装置構成であっても、訂正能力が向上する。積符号化を使用する場合、符号化の対象となる情報データがＫ１×Ｋ２の行列に配置されている場合に、列方向に情報データ長Ｋ１、符号長Ｎ１、最小ハミング距離ｄ１となるような符号化がなされる。また、行方向に情報データ長Ｋ２、符号長Ｎ２、最小ハミング距離ｄ２となるような符号化がなされる。その結果、積符号としては、情報データ長Ｋ１×Ｋ２、符号長Ｎ１×Ｎ２、最小ハミング距離ｄ１×ｄ２になるので、行および列に採用した比較的短い最小ハミング距離の符号から、その積に相当する最小ハミング距離がえられる。このような積符号に対する最尤復号の複雑さを回避することも検討されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２０２７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
積符号に対する最尤復号の複雑さを回避するための復号では、行方向の復号がなされた後に列方向の復号がなされるとともに、これらの処理が繰り返される。具体的に説明すると、行方向において受信値が訂正ベクトルによって更新されてから、更新した受信値をもとに軟出力ベクトルが計算され、つづいて訂正ベクトルが更新される。更新された訂正ベクトルによって、列方向における受信値が更新されてから、更新した受信値をもとに軟出力ベクトルが計算され、つづいて訂正ベクトルが更新される。更新された訂正ベクトルは、行方向での受信値の更新に使用される。このような処理は、行方向と列方向に同一の符号が使用されていることを前提とする。しかしながら、行方向と列方向に別の符号を使用することが望まれることもある。例えば、一方に線形符号を使用し、他方にパリティ符号を使用する場合である。
【０００５】
ここで、更新した受信値をもとに軟出力ベクトルを計算する際、受信値に対する評価とテストパターンの作成がなされる。しかしながら、受信値に対する評価と作成するテストパターンの選択によっては、符号語の候補が検索されずに繰り返し復号の効果が発揮されないことがあったり、誤訂正を発生してしまったりする。このような状況の発生を低減するために、テストパターン数を増加することが可能であるが、その結果、本来の目的である演算量削減の効果が薄れてしまう。特に、前述のごとく、一方に線形符号を使用し、他方にパリティ符号を使用する場合に、パリティ側の復号に前述の処理を適用すれば、これらの課題が顕著に現れる。
【０００６】
本発明はこうした状況に鑑みてなされたものであり、その目的は、線形符号とパリティ符号とによる積符号がなされた情報データを復号する際に、演算量の増加と復号特性の悪化とを抑制する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の復号装置は、線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力する入力部と、
前記入力部において入力した受信値のうち、前記線形符号に対する受信値を外部値によって更新する第１更新部と、
前記第１更新部において更新した受信値に対して、信頼度を評価してテストパターンを生成し、生成した前記テストパターンを代数復号し、代数復号の結果得られた符号語を候補として前記受信値とのメトリックを計算し、メトリックが最小である符号語を決定ベクトルとして更新し、更新した前記決定ベクトルの各要素に対して、前記決定ベクトル以外の代数復号の結果得られた符号語の中に、前記決定ベクトルの要素と符号が反転している要素を持つ符号語が存在するか否かを検索し、検索条件に合致する符号語が存在した場合、検索条件に合致した符号語のメトリック値を用いた第１の計算を行った結果を事後値とし、検索条件に合致する符号語が存在しない場合、定数を用いた第２の計算を行った結果を前記事後値とし、前記事後値から前記第１更新部で更新された受信値を減算して訂正ベクトルを導出する第１導出部と、
前記第１導出部において導出した訂正ベクトルによって、前記入力部において入力した受信値のうち、パリティ符号に対する受信値を更新する第２更新部と、
前記第２更新部において更新した受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として導出する第２導出部と、
前記第１更新部と前記第１導出部との組合せと、前記第２更新部と前記第２導出部との組合せを所定回数にわたって交互に繰り返し実行させる制御部と、
を備え、
前記制御部による所定回数の繰り返し実行が終わると、前記第２更新部で更新した受信値と前記第２導出部で導出した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記第１更新部は、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記第２更新部は、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記第１更新部において使用される第１の係数と、前記第２更新部において使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定される。
【０００８】
この態様によると、ひとつの方向に対して、信頼度を評価してテストパターンを生成する処理を実行し、別の方向に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を導出するので、演算量の増加と復号特性の悪化とを抑制できる。この場合、線形符号の符号化率とパリティ符号の符号化率とをもとにふたつの係数の関係が設定されているので、符号化率に適した係数を使用できる。
【０００９】
本発明の別の態様もまた、復号装置である。この装置は、線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力する入力部と、
前記入力部において入力した受信値のうち、前記線形符号に対する受信値を外部値によって更新する第１更新部と、
前記第１更新部において更新した受信値をもとに所定の計算を行った結果を事後値とし、前記事後値をもとに訂正ベクトルを導出する第１導出部と、
前記第１導出部において導出した訂正ベクトルによって、前記入力部において入力した受信値のうち、パリティ符号に対する受信値を更新する第２更新部と、
前記第２更新部において更新した受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として導出する第２導出部と、
前記第１更新部と前記第１導出部との組合せと、前記第２更新部と前記第２導出部との組合せを所定回数にわたって交互に繰り返し実行させる制御部と、
を備え、
前記制御部による所定回数の繰り返し実行が終わると、前記第２更新部で更新した受信値と前記第２導出部で導出した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記第１更新部は、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記第２更新部は、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記第１更新部において使用される第１の係数と、前記第２更新部において使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定される。
【００１０】
この態様によると、ひとつの方向に対して、更新した受信値をもとに事後値を導出するとともに、事後値をもとに訂正ベクトルを導出し、別の方向に対して、更新した受信値をもとに外部値を直接導出するので、演算量の増加と復号特性の悪化とを抑制できる。この場合、線形符号の符号化率とパリティ符号の符号化率とをもとにふたつの係数の関係が設定されているので、符号化率に適した係数を使用できる。
【００１２】
本発明のさらに別の態様は、復号方法である。この方法は、線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力するステップと、
外部値によって、入力した受信値のうち、前記線形符号に対する受信値を更新するステップと、
更新した前記線形符号に対する受信値をもとに、訂正ベクトルを更新するステップと、
更新した前記訂正ベクトルによって、前記入力した受信値のうち、前記パリティ符号に対する受信値を更新するステップと、
更新した前記パリティ符号に対する受信値をもとに、外部値を更新するステップと、
前記線形符号に対する受信値を更新するステップと前記訂正ベクトルを更新するステップとの組合せと、前記パリティ符号に対する受信値を更新するステップと前記外部値を更新するステップとの組合せを所定回数にわたって交互に繰り返し実行させるステップとを備え、
前記訂正ベクトルを更新するステップは、
更新した線形符号に対する受信値に対して、信頼度を評価してテストパターンを生成するステップと、
生成した前記テストパターンを代数復号するステップと、
前記テストパターンを代数復号した結果から得られた符号語を候補として受信値とのメトリックを計算するととともに、メトリックの最小値を探索し、メトリックが最小である符号語を決定ベクトルとして更新するステップと、
更新した前記決定ベクトルの各要素に対して、前記決定ベクトル以外に残った候補の符号語の中に、前記決定ベクトルの要素と符号が反転している要素を持つ符号語が存在するか否かを検索するステップと、
検索条件に合致する符号語が存在した場合、検索条件に合致した符号語のメトリック値を用いた第１の計算を行った結果を事後値とし、検索条件に合致する符号語が存在しない場合、定数を用いた第２の計算を行った結果を前記事後値とし、前記事後値から前記更新された受信値を減算して前記訂正ベクトルを導出するステップとを含み、
前記外部値を更新するステップでは、更新した前記パリティ符号に対する受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として導出し、
前記所定回数の繰り返し実行が終わると、前記パリティ符号に対する受信値を更新するステップで更新した受信値と前記外部値を更新するステップで更新した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記線形符号に対する受信値を更新するステップは、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記パリティ符号に対する受信値を更新するステップは、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記線形符号に対する受信値を更新するステップにおいて使用される第１の係数と、前記パリティ符号に対する受信値を更新するステップにおいて使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定される。
【００１３】
本発明のさらに別の態様もまた、復号方法である。この方法は、線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値を入力するステップと、
外部値によって、入力した受信値のうち、前記線形符号に対する受信値を更新するステップと、
更新した前記線形符号に対する受信値をもとに所定の計算を行った結果を事後値とするとともに、前記事後値をもとに訂正ベクトルを更新するステップと、
更新した前記訂正ベクトルによって、入力した受信値のうち、前記パリティ符号に対する受信値を更新するステップと、
更新したパリティ符号に対する受信値の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を前記外部値として更新するステップと、
前記線形符号に対する受信値を更新するステップと前記訂正ベクトルを更新するステップとの組合せと、前記パリティ符号に対する受信値を更新するステップと前記外部値を更新するステップとの組合せを所定回数にわたって交互に繰り返し実行させるステップと、
を備え、
前記所定回数の繰り返し実行が終わると、前記パリティ符号に対する受信値を更新するステップで更新した受信値と前記外部値を更新するステップで更新した外部値をもとに、前記事後値を更新させて、前記事後値を硬判定して復号結果とし、
前記線形符号に対する受信値を更新するステップは、線形符号に対する受信値を更新する際に、前記外部値に第１の係数を乗算しており、
前記パリティ符号に対する受信値を更新するステップは、パリティ符号に対する受信値を更新する際に、前記訂正ベクトルに第２の係数を乗算しており、
前記線形符号に対する受信値を更新するステップにおいて使用される第１の係数と、前記パリティ符号に対する受信値を更新するステップにおいて使用される第２の係数との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定される。
【００１４】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば線形符号とパリティ符号とによる積符号がなされた情報データを復号する際に、演算量の増加と復号特性の悪化とを抑制できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例に係る通信システムの構成を示す図である。
【図２】図１の符号化部においてなされる符号化の概要を示す図である。
【図３】図１の復号部の構成を示す図である。
【図４】図１の復号部による復号手順を示すフローチャートである。
【図５】図１の復号部による軟出力ベクトルの計算手順を示すフローチャートである。
【図６】本発明の実施例の比較対象となる復号手順を示すフローチャートである。
【図７】本発明の実施例と比較対象との受信特性を示す図である。
【図８】本発明の実施例に係る係数と受信特性との関係を示す図である。
【図９】本発明の実施例に係る係数と受信特性との別の関係を示す図である。
【図１０】本発明の実施例に係る係数と受信特性とのさらに別の関係を示す図である。
【発明を実施するための形態】
【００１７】
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、行方向に線形符号化がなされ、かつ列方向にパリティ符号化がなされた情報データを復号するための復号装置に関する。ここで、パリティ符号化がなされる情報データ長は可変であるとする。本実施例に係る復号装置は、行方向の復号処理と列方向の復号処理とを交互に繰り返し実行する。行方向の復号処理において、受信値は、訂正ベクトルではなく外部値によって更新される。更新された受信値によって訂正ベクトルが更新される。列方向の復号処理において、受信値は、更新された訂正ベクトルによって更新される。更新された受信値によって外部値が更新される。ここで、外部値を更新する際に、つまりパリティ符号化がなされた情報データを処理する際に、絶対値最小の値の検索と符号の総積の演算が実行されており、受信値に対する評価とテストパターンの作成は実行されていない。
【００１８】
さらに、行方向の復号処理において、受信値を更新する際に、外部値に第１の係数α１が乗算されており、列方向の復号処理において、受信値を更新する際に、訂正ベクトルに第２の係数α２が乗算されている。これは、誤訂正の発生を低減するためである。前述のごとく、パリティ符号化での情報データは可変長である。その際、ふたつの係数を固定値とした場合、適切でない係数によって誤訂正の増加をまねく危険が生じる。これに対応するため、第１の係数α１と第２の係数α２との比は、線形符号化の符号化率とパリティ符号化の符号化率をもとに設定される。
【００１９】
図１は、本発明の実施例に係る通信システム１００の構成を示す。通信システム１００は、送信装置１０、受信装置１２を含む。また、送信装置１０は、符号化部２０、変調部２２、送信部２４を含み、受信装置１２は、受信部３０、復調部３２、復号部３４を含む。
【００２０】
符号化部２０は、送信すべき情報データを取得する。符号化部２０は、情報データに対して積符号化を実行する。図２は、符号化部２０においてなされる符号化の概要を示す。図のごとく、符号化部２０は、情報データをＫ２行、Ｋ１列の行列に並べる。符号化部２０は、線形符号化を行単位に実行することによって、第１パリティを生成するとともに、第１パリティを情報データに付加する。また、符号化部２０は、パリティ符号化を列単位に実行することによって、第２パリティおよび第３パリティを生成するとともに、第１パリティが付加された情報データに、第２パリティおよび第３パリティを付加する。符号化の結果（以下、「符号化データ」という）は、図２のごとく、Ｎ２行、Ｎ１列の行列に並べられる。符号化データは、例えば、行ごとに左端から右端まで順に読み出される。その後、符号化データは、図示しないインターリーバなどによって並び替えられてもよい。以下、並び替えがなされた符号化データもまた符号化データと呼ばれる。符号化部２０は、符号化データを変調部２２に出力する。
【００２１】
変調部２２は、符号化部２０から符号化データを入力する。変調部２２は、符号化データを変調する。変調方式として、ＰＳＫ（Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）、ＦＳＫ（Ｆｒｅｑｕｅｎｃｙ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）等が使用される。変調部２２は、変調した符号化データを変調信号として送信部２４に出力する。送信部２４は、変調部２２から変調信号を入力する。送信部２４は、変調信号に対して、無線周波数への周波数変換および増幅を実行し、その結果（以下、「送信信号」という）をアンテナから送信する。
【００２２】
受信部３０は、アンテナにて、送信装置１０からの送信信号を受信する。受信部３０は、受信した信号に対して増幅および周波数変換を実行し、その結果（以下、「受信信号」という）を復調部３２に出力する。復調部３２は、受信部３０から受信信号を入力する。復調部３２は、受信信号を復調する。復調には公知の技術が使用されればよいので、ここでは説明を省略する。復調部３２は、復調結果（以下、「復調データ」という）を復号部３４に出力する。復号部３４は、復調部３２から復調データを入力する。当該復調データは、積符号化、つまり線形符号化とパリティ符号化とがなされた情報データに相当する。復号部３４は、復調データに対して、復号処理を繰り返し実行する。復号処理の詳細は後述する。復号部３４は、復号結果、つまり情報データを出力する。
【００２３】
この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２４】
図３は、復号部３４の構成を示す。復号部３４は、入力部４０、繰り返し処理部４２、制御部４４を含む。また、繰り返し処理部４２は、第１更新部４６、第１導出部４８、第２更新部５０、第２導出部５２を含む。
【００２５】
入力部４０は、図示しない復調部３２からの復調データを入力する。復調データは、線形符号およびパリティ符号による積符号化が情報データに対してなされた受信値に相当する。具体的に説明すると、積符号化されたＮ２行Ｎ１列の受信値の１ブロック分が入力される。なお、Ｎ２行Ｎ１列の行列が１ブロックに相当する。ここでは、受信値の行列、硬判定の行列、訂正行列、軟出力行列を｛Ｒ｝、｛Ｄ｝、｛Ｗ｝、｛ｒｒ｝と表記する。また、受信値の行列、硬判定の行列、訂正行列、軟出力行列の各行を［Ｒｉ］、［Ｄｉ］、［Ｗｉ］［ｒｒｉ］、各列を［Ｒｊ］、［Ｄｊ］、［Ｗｊ］［ｒｒｊ］と表記し、これらをベクトルと呼ぶこととする。さらに、行列内のｉ行ｊ列成分は、Ｒｉｊ、Ｄｉｊ、Ｗｉｊ、ｒｒｉｊを表記する。また、ベクトルは、特に符号語であるか否かに注目した場合に、「符号語」と表記することもある。入力部４０は、受信値の行列を繰り返し処理部４２に出力する。繰り返し処理部４２は、繰り返し復号の前に、繰り返し処理回数ｉｔおよび訂正行列｛Ｗ｝を初期化する。
【００２６】
第１更新部４６は、入力部４０において入力した受信値のうち、線形符号に対する受信値を外部値ａによって更新する。これは、受信値の行列の行単位に受信ベクトル［Ｒ’ｉ］を更新することに相当しており、第１更新部４６は、処理の始めに行カウントｉを１に初期化する。更新は、次のようになされる。
Ｒ’ｉｋ←Ｒｉｋ＋α１ｉｔ・ａｉｋ
ここで、ｋは、１からＮ１の整数であり、α１は、前述の第１の係数である。
【００２７】
つまり、第１更新部４６は、線形符号に対する受信値を更新する際に、外部値に第１の係数α１を乗算している。なお、繰り返し処理回数のカウント値ｉｔ＝１の場合は、［Ｗｉ］＝０であるので、受信ベクトルは、受信行列の該当する行のベクトルに一致する。この場合は、カウント値ｉｔ＝１を検出して更新処理を省略してもよい。また、第１更新部４６は、更新した受信ベクトル［Ｒ’ｉ］を硬判定した結果を仮の決定ベクトル［Ｄｉ］として次のように更新する。
Ｄｉｋ←ｓｉｇｎ  Ｒ’ｉｋ
これは、更新した受信ベクトル［Ｒ’ｉ］に対する硬判定値を求めて決定ベクトル［Ｄｉ］を更新することに相当する。
【００２８】
第１導出部４８は、更新した受信ベクトル［Ｒ’ｉ］を硬判定した結果を仮の決定ベクトル［Ｄｉ］とする。第１導出部４８は、メトリックが最小となる符号語によって決定ベクトル［Ｄｉ］を更新し、そのメトリックを保存する。また、第１導出部４８は、決定ベクトル［Ｄｉ］の各要素に対するコンカレントベクトル［Ｃｔｉ］を検索して軟出力ベクトル［ｒｒｉ］を導出する。この第１導出部４８の動作を詳細に説明する。
【００２９】
（１）第１導出部４８は、第１更新部４６において更新した受信ベクトル［Ｒ’ｉ］に対して、信頼度を評価し、信頼度が最小のものからｐ個分の要素位置を決定する。信頼度の評価は、例えば受信ベクトル［Ｒ’ｉ］の各ビットに対して、硬判定をした時に受信値が閾値(±1が期待値の場合は０)から離れていたビットほど信頼度が高いと評価し、閾値に近かったビットほど信頼度が低いと評価する。第１導出部４８は、選択したｐ個の要素位置各々について信頼度の低い要素に該当する位置が１で、それ以外は０であるテストベクトルを信頼度の低い要素ｐ個分について生成する。また、第１導出部４８は、ｐ個のテストベクトルの任意の２個のテストベクトルの要素ごとの排他的論理和を演算する。第１導出部４８は生成したｐ個分のテストベクトルに新たなテストベクトルを含めたｑ個のテストベクトル［Ｔｓｉ］（ｓ＝１，２，・・・，ｑ）を生成する。なお、ｑ＝ｐ（ｐ+１）／２である。以下で、概念的に例を挙げて説明する。これは、実施例ではなく、説明を分かりやすくする例である。なお、説明の都合上、ハミング符号とは異なる符号を用い、ｐ、ｑの値についても、適当な値を用いて説明する。第１導出部４８は、例えば、決定ベクトル[D]=[ 0 1 0 0 1 0 0 0 0 0 1 ]p=3 とし、信頼度評価結果で、1番目と5番目、8番目が低かったと判断したとする。その場合、第１導出部４８は、例えば、テストベクトルとして、[ 1 0 0 0 0 0 0 0 0 0 0 0 ]   (1番目が1)[ 0 0 0 0 1 0 0 0 0 0 0 0 ] (5番目が1)[ 0 0 0 0 0 0 0 1 0 0 0 0 ](8番目が1)を生成する。次に第１導出部４８は、例えば、[ 1 0 0 0 1 0 0 0 0 0 0 0 ] (1番目が1のテストベクトルと5番目が1のテストベクトルの排他的論理和)[ 1 0 0 0 0 0 0 1 0 0 0 0 ] (1番目が1のテストベクトルと5番目が1のテストベクトルとの排他的論理和)  [ 0 0 0 0 1 0 0 1 0 0 0 0 ] (5番目が1のテストベクトルと8番目が1のテストベクトルの排他的論理和)をさらなるテストベクトルとして作成する。さらに、第１導出部４８は、第１更新部４６で更新された決定ベクトル［Ｄｉ］と、生成したテストベクトル［Ｔｓｉ］から、次のようにｑ個のワード[Ｕｓｉ]を生成する。
【数１】
0005796524.tif 000002
このワード[Ｕｓｉ]は、前述のテストパターンに相当する。
【００３０】
（２）第１導出部４８は、決定ベクトル［Ｄｉ］およびｑ個のワードについて代数復号を実行する。
（３）第１導出部４８は、代数復号結果から得られたｑ'個の符号語を決定ベクトル候補［Ｃｔｉ］（ｔ＝１，２，・・・，ｑ’）とする。第１導出部４８は、更新された受信ベクトル［Ｒ’ｉ］と各決定ベクトル候補［Ｃｔｉ］についてメトリックを計算するとともに、メトリックの最小値を探索することによってメトリックが最小である決定ベクトル候補［Ｃｔ］を決定ベクトル［Ｄｉ］として更新する。また、第１導出部４８は、その際のメトリック値を保存する。ここでは、決定ベクトル［Ｄｉ］のメトリック値をＭｄとする。
【００３１】
（４）第１導出部４８は、更新した決定ベクトル［Ｄｉ］の各要素に対して、決定ベクトル［Ｄｉ］以外に残ったｑ’−１個の候補ベクトルの中からコンカレント符号語を検索して要素ごとの軟出力を求める処理を実行する。第１導出部４８は、要素番号カウント値ｋを１に初期化し、決定ベクトル［Ｄｉ］の要素Ｄｉｋと異なる要素を持つ符号語を検索する。つまり、第１導出部４８は、候補ベクトルの符号語の中に、決定ベクトル［Ｄｉ］の要素と符号が反転している要素を持つ符号語が存在するか否かを検索する。
【００３２】
（５）第１導出部４８は、候補ベクトルの符号語の中に、決定ベクトル［Ｄｉ］の要素と符号が反転している要素を持つ符号語が存在するか否かの検索を実行する。第１導出部４８は、検索結果に応じて異なる計算を実行することによって事後値ベクトル（軟出力ベクトル）[ｒｒｉ]を導出する。すなわち、第１導出部４８は、候補ベクトルの符号語の中に、検索条件に合致する符号語が存在した場合、検索条件に合致した符号語のメトリック値を用いた第１の計算を行うことにより軟出力ベクトル［ｒｒｉ］を導出し、検索条件に合致する符号語が存在しない場合、定数を用いて第２の計算を行うことにより軟出力ベクトル［ｒｒｉ］を導出する。詳細には、第１導出部４８は、候補ベクトルの符号語の中で１つの符号語が検索条件に合致した場合、検索条件に合致した符号語のメトリック値をＭｃとし、複数の符号語が検索条件に合致した場合、先に求めた［Ｒ’ｉ］とのメトリック値が最小のもの（コンカレントベクトル［Ｃｔｉ］）を選択し、そのメトリック値をＭｃとして、次のようにｋ番目の軟出力値ｒｒｉｋを更新する。
【数２】
0005796524.tif 000003
一方、検索条件に合致する符号語が存在しない場合、第１導出部４８は、定数βを用いて次のようにｋ番目の軟出力値ｒｒｉｋを更新する。
【数３】
0005796524.tif 000004
【００３３】
第１導出部４８は、導出された軟出力ベクトル［ｒｒｉ］から更新された受信ベクトル［Ｒ’ｉ］を減算して、訂正ベクトル［Ｗｉ］を導出し、１行分の軟入力軟出力復号が終了する。その後、第１導出部４８は、行カウントｉがＮ２であるか否かを判定することにより、行処理の終了確認を行い、行処理が完了していれば列処理へと移行し、完了していなければ、行カウントｉ←ｉ＋１として次の行の復号処理を実行する。列処理への移行は第２更新部５０への移行に相当する。以上のように、第１導出部４８は、第１更新部４６において更新した受信ベクトル［Ｒ’ｉ］をもとに事後値ベクトルとしての軟出力ベクトル[ｒｒｉ]を導出する。また、第１導出部４８は、事後値ベクトルとしての軟出力ベクトル[ｒｒｉ]をもとに第２更新部５０に渡す外部値としての訂正ベクトル［Ｗｉ］を導出する。
【００３４】
第２更新部５０は、第１導出部４８において導出した訂正ベクトル［Ｗｊ］によって、入力部４０において入力した受信値のうち、パリティ符号に対する受信値を更新する。これは、受信値の行列の列単位に受信ベクトル［Ｒ’ｊ］を更新することに相当しており、第２更新部５０は、処理の始めに列カウントｊを１に初期化する。更新は、次のようになされる。
Ｒ’ｋｊ←Ｒｋｊ＋α２ｉｔ・Ｗｋｊ
ここで、ｋは、１からＮ２の整数であり、α２は、前述の第２の係数である。
【００３５】
つまり、第２更新部５０は、パリティ符号に対する受信値を更新する際に、訂正ベクトル［Ｗｊ］に第２の係数α２を乗算している。また、第２更新部５０は、受信ベクトル［Ｒ’ｊ］を硬判定した結果を、仮の決定ベクトル［Ｄｊ］として次のように更新する。
Ｄｋｊ←ｓｉｇｎ  Ｒ’ｋｊ
これは、更新した受信ベクトル［Ｒ’ｊ］に対する硬判定値を求めて決定ベクトル［Ｄｊ］を更新することに相当する。
【００３６】
第２導出部５２は、第２更新部５０において更新した受信ベクトル［Ｒ’ｊ］の各要素に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を外部値ベクトル［ａｊ］として導出する。外部値ベクトルのｋ番目の要素ａｋｊは、受信ベクトル［Ｒ’ｊ］の要素Ｒ’ｇｊ（ｇ＝１，２，・・・，Ｎ２、ｇ≠ｋ）の絶対値が最小の値と、同じく受信ベクトル［Ｒ’ｊ］の要素Ｒ’ｇｊの符号の総積を乗じたものである。
【数４】
0005796524.tif 000005
このように第２導出部５２は、第２更新部５０において更新した受信値をもとに、外部値を直接導出する。
【００３７】
第２導出部５２は、列処理の終了を確認し、列処理が終了していれば、繰り返し復号の終了を確認する。繰り返し処理回数ｉｔが目標回数に達していれば、軟出力行列｛ｒｒ｝を次のように計算する。
【数５】
0005796524.tif 000006
最終的に、第２導出部５２は、ｓｉｇｎ｛ｒｒ｝を出力して繰り返し復号を完了する。繰り返し処理回数ｉｔが目標回数に達していない場合には、繰り返し処理回数ｉｔ←ｉｔ＋１として再び行処理に戻る。行処理に戻ることは、第１更新部４６の処理に戻ることに相当する。列処理が完了していない場合は、ｊ←ｊ+１として次の列処理へと移行する。
【００３８】
制御部４４は、第１更新部４６と第１導出部４８との組合せと、第２更新部５０と第２導出部５２との組合せを所定回数にわたって交互に繰り返し実行させる。これは、行方向の処理と列方向の処理とを交互に繰り返し実行させることに相当する。つまり、制御部４４は、行方向の復号を行ごとに実行させ、完了した時点で列方向の処理へと移行し、列ごとに復号を繰り返させる。制御部４４は、列処理まで完了した時点で、繰り返し処理回数ｉｔを確認し、設定した回数の復号処理が完了した時点で軟出力行列｛ｒｒ｝を硬判定した結果を出力させて終了となる。また、制御部４４は、設定した回数の復号処理が完了していなければ行処理から繰り返させる。
【００３９】
以下では、ふたつの係数α１とα２について説明する。訂正ベクトルや外部値に対して係数を乗算する理由は、繰り返し処理の初期段階において事前値を低めに設定して誤訂正の危険性を低減するためである。積符号としてふたつの線形符号が使用されている場合、ふたつの係数に対して同一の値が設定されている。しかしながら、本実施例のように、線形符号とパリティ符号とが組み合わされており、特に可変長のパリティ符号に対応させた場合には、行および列での符号化率が大きく異なりうる。その際、α１およびα２の設定が固定であると、それらは適切な係数といえない。その結果、誤訂正の増加をまねく危険が生じる。これに対応するため、第１の係数α１と第２の係数α２との比は、線形符号の符号化率とパリティ符号の符号化率とをもとに設定される。具体的には、α１とα２の関係が、行の符号化率と列の符号化率の２乗比をもとに設定される。
【数６】
0005796524.tif 000007
【００４０】
以下では、本実施例での列方向の軟出力値を検討する。軟出力値Ｌ（ｕｋ）は、通信路値Ｌｃ・Ｒｋ、事前値Ｌｅｒ(ｕｋ)、外部値Ｌｅｃ（ｕｋ）によって次のように示される。
【数７】
0005796524.tif 000008
ここで、軟出力Ｌ（ｕｋ）に対するｕｋは、他のｕｋと別に示されるべきであるが、ここでは表記を簡略化するためにｕｋのまま示す。
【００４１】
Ｌｃ・Ｒｋはｕｋの直接の受信値であり、Ｌｅｃ（ｕｋ）は、ｕｋの間接の受信値であり、すなわちパリティ計算にかかわる自分以外の受信値から得られる情報である。Ｌｅｒ（ｕｋ）は、行方向の復号の結果から渡された事前値である。符号要素が＋１および−１の二値（＋１がヌル値）で構成されるものとする。通信路状況が一定であるという条件の下では、Ｌｃは定数値として扱うことができる。また、Ｌｅｒ（ｕｋ）は、行復号時に得た訂正ベクトルの要素Ｗｋへ正規化定数α１を乗じた値である。従来、訂正ベクトル［Ｗｋ］は、決定ベクトルとコンカレントベクトルの検索を行った結果から得られるメトリック差から軟出力、つまり事後値を求めて、上記式の関係を使って外部値が導出されていた。しかしながら、本実施例のパリティ符号の場合には、以下のように外部値を求めることになる。
【００４２】
１列分の符号語を、｛ｕ１，ｕ２，・・・，ｕＪ｝（Ｊ＝Ｎ２）とすると、パリティ符号を構成しているので、ｕ１＋ｕ２＋ｕ３＋・・・＋ｕ（Ｊ−１）＝ｕＪであり、例えばｕ１に着目すると、ｕ１＝ｕ２＋ｕ３＋・・・＋ｕＪでもある。ここで、「＋」は排他的論理和を示す。これより、ｕ２〜ｕＪの排他的論理和の対数確率比から、ｕ１への間接的な情報である外部値Ｌｅｃ（ｕ１）が次のように導出される。
【数８】
0005796524.tif 000009
これを一般的な形式に直せば、次のように示される。
【数９】
0005796524.tif 000010
Ｌｅｃ（ｕｋ）は次のように近似される。
（Πｊｓｉｇｎ（Ｌ（ｕｊ）））・ｍｉｎｊ｜Ｌ（ｕｊ）｜
（ｊ＝１，２，・・・，Ｊ、ただしｊ≠ｋ、Σは排他的論理和）
ここで、Ｌ（ｕｊ）が軟入力であると考えれば、Ｌｅｃ（ｕｋ）は二値±１に対する閾値０に対する尤度に相当し、前述した外部値の計算の手順に等しくなる。
【００４３】
以上の構成による通信システムの動作を説明する。図４は、復号部３４による復号手順を示すフローチャートである。入力部４０は、受信値の行列｛Ｒ｝を入力する（Ｓ１０）。繰り返し処理部４２は、繰り返し処理回数ｉｔを１に初期化し、訂正行列｛Ｗ｝を初期化する（Ｓ１２）。第１更新部４６は、ｉを１に初期化する（Ｓ１４）。第１更新部４６は、受信ベクトル［Ｒ’ｉ］をＲ’ｉｋ←Ｒｉｋ＋α１ｉｔ・ａｉｋによって更新するとともに、決定ベクトル［Ｄｉ］をＤｉｋ←ｓｉｇｎＲ’ｉｋによって更新する（Ｓ１６）。第１導出部４８は、メトリック最小となる符号語探索を実行することによって決定ベクトル［Ｄｉ］を更新するととともに、メトリックＭｄｉを保存し、コンカレントベクトル［Ｃｔｉ］を探索し、軟出力ベクトル［ｒｒｉ］を計算する（Ｓ１８）。第１導出部４８は、訂正ベクトル［Ｗｉ］をＷｉｋ＝ｒｒｉｋ−Ｒ’ｉｋによって更新する（Ｓ２０）。ｉ＝Ｎ２でなければ（Ｓ２２のＮ）、ｉに１を加算して（Ｓ２４）、ステップ１６に戻る。
【００４４】
ｉ＝Ｎ２であれば（Ｓ２２のＹ）、第２更新部５０は、ｊを１に初期化する（Ｓ２６）。第２更新部５０は、受信ベクトル［Ｒ’ｊ］をＲ’ｋｊ←Ｒｋｊ＋α２ｉｔ・Ｗｋｊによって更新する（Ｓ２８）。第２導出部５２は、外部値ベクトル［ａｊ］をａｋｊ←Π（ｓｉｇｎ（Ｒ’ｇｊ））・ｍｉｎ｜Ｒ’ｇｊ｜によって計算する（Ｓ３０）。ｊ＝Ｎ１でなければ（Ｓ３２のＮ）、ｊに１を加算して（Ｓ３４）、ステップ２８に戻る。ｊ＝Ｎ１であり（Ｓ３２のＹ）、ｉｔ＝目標回数でなければ（Ｓ３６のＮ）、ｉｔに１を加算して（Ｓ３８）、ステップ１４に戻る。ｉｔ＝目標回数であれば（Ｓ３６のＹ）、第２導出部５２は、軟出力｛ｒｒ｝をｒｒｉｊ←Ｒ’ｉｊ＋ａｉｊによって計算する（Ｓ４０）。第２導出部５２は、ｓｉｇｎ｛ｒｒ｝を出力する（Ｓ４２）。
【００４５】
図５は、復号部３４による軟出力ベクトルの計算手順を示すフローチャートである。これは、図４のステップ１８の処理に相当する。第１導出部４８は、更新された受信値［Ｒ’ ｉ］を入力するとともに、決定ベクトル［Ｄｉ］も入力する（Ｓ６０）。第１導出部４８は、更新された受信値［Ｒ’ ｉ］の信頼性を評価することによって、信頼性が最小の符号語からｐ個の要素位置を選択する（Ｓ６２）。第１導出部４８は、選択したｐ個の要素からｑ個のテストベクトルＴｓを生成し、ｑ個のワード［Ｕｓｉ］を［Ｕｓｉ］＝［Ｔｓｉ］＋［Ｄｉ］によって生成する（Ｓ６４）。第１導出部４８は、ワード［Ｕｓｉ］および［Ｄｉ］を代数復号し、得られたｑ’個の符号語を決定ベクトル候補［Ｃｔｉ］とする（Ｓ６６）。
【００４６】
第１導出部４８は、更新された受信値［Ｒ’ ｉ］と決定ベクトル候補［Ｃｔｉ］のメトリックＭｔを計算し、決定ベクトル候補［Ｃｔｉ］の中で最小のメトリックを持つ符号語［Ｃｄ］を新たな決定ベクトル[Ｄ]とし、メトリックをＭｄとする（Ｓ６８）。ｋを１に初期化し（Ｓ７６）、Ｄｋ≠Ｃｔｋが存在しなければ（Ｓ７２のＮ）、第１導出部４８は、ｒｒｋ←β・Ｄｋを計算する（Ｓ７４）。Ｄｋ≠Ｃｔｋが存在すれば（Ｓ７２のＹ）、第１導出部４８は、Ｍｃ←ｍｉｎＭｔを計算することによって、ｒｒｋ←（Ｍｃ−Ｍｄ）／４・Ｄｋを計算する（Ｓ７６）。ｋ＝Ｎ１でなければ（Ｓ７８のＮ）、ｋに１を加算して（Ｓ８０）、ステップ７２に戻る。ｋ＝Ｎ１であれば（Ｓ７８のＹ）、第１導出部４８は、軟出力ベクトル［ｒｒｉ］を出力するとともに、決定ベクトル［Ｄｉ］を出力する（Ｓ８２）。
【００４７】
ここで、本実施例の比較対象となる繰り返し復号を説明する。比較対象に係る復号処理では、実施例における行方向の処理を列方向に対しても実行する。なお、比較対象に係る復号処理では、外部値が規定されておらず、行方向および列方向において訂正ベクトルが更新されている。図６は、本発明の実施例の比較対象となる復号手順を示すフローチャートである。ここでは、本実施例との比較を明確にするために、本実施例の入力部４０、繰り返し処理部４２、第１更新部４６、第１導出部４８、第２更新部５０、第２導出部５２に対応した構成が、入力部、繰り返し処理部、第１更新部、第１導出部、第２更新部、第２導出部であるとする。
【００４８】
入力部は、受信値の行列｛Ｒ｝を入力する（Ｓ１００）。繰り返し処理部は、繰り返し処理回数ｉｔを１に初期化し、訂正行列｛Ｗ｝を初期化する（Ｓ１０２）。第１更新部は、ｉを１に初期化する（Ｓ１０４）。第１更新部４６は、受信ベクトル［Ｒ’ｉ］をＲ’ｉｋ←Ｒｉｋ＋α１・Ｗｉｋによって更新するとともに、［Ｄｉ］をＤｉｋ←ｓｉｇｎＲ’ｉｋによって更新する（Ｓ１０６）。第１導出部４８は、メトリック最小となる符号語探索を実行することによって決定ベクトル［Ｄｉ］を更新するととともに、メトリックＭｄｉを保存し、コンカレントベクトル［Ｃｔｉ］を探索し、軟出力ベクトル［ｒｒｉ］を計算する（Ｓ１０８）。第１導出部４８は、訂正ベクトル［Ｗｉ］をＷｉｋ＝ｒｒｉｋ−Ｒ’ｉｋによって更新する（Ｓ１１０）。ｉ＝Ｎ２でなければ（Ｓ１１２のＮ）、ｉに１を加算して（Ｓ１１４）、ステップ１０６に戻る。
【００４９】
ｉ＝Ｎ２であれば（Ｓ１１２のＹ）、第２更新部５０は、ｊを１に初期化する（Ｓ１１６）。第２更新部５０は、受信ベクトル［Ｒ’ｊ］をＲ’ｋｊ←Ｒｋｊ＋α２・Ｗｋｊによって更新するとともに、決定ベクトル［Ｄｊ］をＤｋｊ←ｓｉｇｎＲ’ｋｊによって更新する（Ｓ１１８）。第２導出部５２は、メトリック最小となる符号語探索を実行することによって［Ｄｊ］を更新するととともに、メトリックＭｄｊを保存し、コンカレントベクトル［Ｃｔｊ］を探索し、軟出力ベクトル［ｒｒｊ］を計算する（Ｓ１２０）。第２導出部５２は、訂正ベクトル［Ｗｊ］をＷｋｊ＝ｒｒｋｊ−Ｒ’ｋｊによって更新する（Ｓ１２２）。ｊ＝Ｎ１でなければ（Ｓ１２４のＮ）、ｊに１を加算して（Ｓ１２６）、ステップ１１８に戻る。ｊ＝Ｎ１であり（Ｓ１２４のＹ）、ｉｔ＝目標回数でなければ（Ｓ１２８のＮ）、ｉｔに１を加算して（Ｓ１３０）、ステップ１０４に戻る。ｉｔ＝目標回数であれば（Ｓ１２８のＹ）、第２導出部５２は、ｓｉｇｎ｛ｒｒ｝を出力する（Ｓ１３２）。
【００５０】
これまで説明した本実施例の効果をシミュレーション結果をもとに説明する。ここでは、線形符号として、Ｈａｍｍｉｎｇ（１７，１２，３）符号を使用し（Ｋ１＝１２、Ｎ１＝１７）、パリティ符号として、単純パリティ（Ｋ２＝３、Ｎ２＝４）を使用するものとする。前述のごとく、列方向の復号を実行する際に、受信ベクトルの評価は行わず、すべてのビットについて１ビット反転を行って、総当り方式で決定ベクトル［Ｄ］を検索した。図７は、本発明の実施例と比較対象との受信特性を示す。本実施例の方が、同一Ｅｂ/Ｎｏに対するエラーレートが比較対象よりも低くなっている。比較対象は、しきい値の設定によって符号化候補検索の範囲を絞り、その結果演算量を削減している。そのため、比較対象において総当りを実行した場合、演算量が大幅に増加する。しかしながら、本実施例は、比較対象ほど演算量を増加させることなく、同等以上の性能を確保できる。
【００５１】
第２の係数α２の違いによる受信特性の違いをシミュレーション結果をもとに説明する。ここでは、次の条件を使用した。
Ｔｙｐｅ１：Ｈａｍｍｉｎｇ（１６，１１，４）（Ｋ１＝１１，Ｎ１＝１６）、単純パリティ（Ｋ２＝７、Ｎ２＝８）
Ｔｙｐｅ２：Ｈａｍｍｉｎｇ（１６，１１，４）（Ｋ１＝１１，Ｎ１＝１６）、単純パリティ（Ｋ２＝１、Ｎ２＝２）
Ｔｙｐｅ３：Ｈａｍｍｉｎｇ（１７，１２，３）（Ｋ１＝１２，Ｎ１＝１７）、単純パリティ（Ｋ２＝３、Ｎ２＝４）
また、α１={0.2, 0.5, 0.9, 1.0}とし、上述の数６でα２を算出するときのα１の係数は、Ｔｙｐｅ１において０．６２、Ｔｙｐｅ２において１．９、Ｔｙｐｅ３において０．８９とした。これらは、符号化率の２乗比から導出した。
【００５２】
図８は、本発明の実施例に係る係数と受信特性との関係を示す。これは、Ｔｙｐｅ１の場合のシミュレーション結果に相当する。図９は、本発明の実施例に係る係数と受信特性との別の関係を示す。これは、Ｔｙｐｅ２の場合のシミュレーション結果に相当する。図１０は、本発明の実施例に係る係数と受信特性とのさらに別の関係を示す。これは、Ｔｙｐｅ３の場合のシミュレーション結果に相当する。図８と図９を比較すると、線形符号は共通でも係数の最適値は異なっている。そのため、係数は、単純に符号化方式によらない。また、図８と図１０を比較すると、線形符号が異なっていても、符号化率の２乗比で求めた係数を演算することによって、差異は小さくなっている。さらに、いずれのＴｙｐｅにおいても、符号化率の２乗比で導出した係数を演算することによって、受信特性が得られている。
【００５３】
本発明の実施例によれば、ひとつの方向に対して、信頼度を評価してテストパターンを生成する処理を実行し、別の方向に対して、自身を除いた符号の総積と自身を除いた絶対値の最小値との積を導出するので、可変長のパリティ符号が別の方向に使用されている場合に、信頼度を評価してテストパターンを生成することを回避できる。また、可変長のパリティ符号が別の方向に使用されている場合に、信頼度を評価してテストパターンを生成することが回避されるので、演算量の増加と復号特性の悪化とを抑制できる。
【００５４】
また、ふたつの方向で処理を変えるので、線形符号化とパリティ符号化が組み合わされている積符号化に対しても復号を実行できる。また、ひとつの方向に対して、更新した受信値をもとに事後値を導出するとともに、事後値をもとに訂正ベクトルを導出し、別の方向に対して、更新した受信値をもとに外部値を直接導出するので、演算量の増加と復号特性の悪化とを抑制できる。また、線形符号の符号化率とパリティ符号の符号化率とをもとにふたつの係数の関係が設定されているので、符号化率に適した係数を使用できる。また、符号化率に適した係数が使用されるので、符号長を自由に設定できる。
【００５５】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５６】
本発明の実施例において、行方向に線形符号化が使用され、列方向にパリティ符号化が使用されている。しかしながらこれに限らず例えば、列方向に線形符号化が使用され、行方向にパリティ符号化が使用されていてもよい。その際、第１更新部４６と第１導出部４８の組合せと、第２更新部５０と第２導出部５２との組合せとの順序が逆になる。本変形例によれば、積符号の構成の自由度を向上できる。
【００５７】
本発明の実施例において、通信システムは無線通信システムを前提としているので、送信装置１０および受信装置１２は、無線通信装置に含まれる。しかしながらこれに限らず例えば、通信システムは有線通信システムを前提としてもよい。その際、送信装置１０および受信装置１２は、有線通信装置に含まれる。本変形例によれば、本発明をさまざまな装置に適用できる。
【符号の説明】
【００５８】
１０  送信装置、  １２  受信装置、  ２０  符号化部、  ２２  変調部、  ２４  送信部、  ３０  受信部、  ３２  復調部、  ３４  復号部、  ４０  入力部、  ４２  繰り返し処理部、  ４４  制御部、  ４６  第１更新部、  ４８  第１導出部、  ５０  第２更新部、  ５２  第２導出部、  １００  通信システム。
【図１】
0005796524.tif 000011
【図２】
0005796524.tif 000012
【図３】
0005796524.tif 000013
【図４】
0005796524.tif 000014
【図５】
0005796524.tif 000015
【図６】
0005796524.tif 000016
【図７】
0005796524.tif 000017
【図８】
0005796524.tif 000018
【図９】
0005796524.tif 000019
【図１０】
0005796524.tif 000020