(57)【特許請求の範囲】
【請求項１】
入力系列に畳み込み符号化を施すことにより畳み込み符号語系列を取得する畳み込み符号化部と、
前記畳み込み符号語系列にブロック符号化を施すことによりパリティ系列を取得するとともに、当該パリティ系列を前記畳み込み符号化部に出力するブロック符号化部と、
を具備する符号化装置。
【請求項２】
前記畳み込み符号化部は、前記入力系列にＬＤＰＣ−ＣＣ（Low-Density Parity-Check
Convolutional Codes：低密度パリティ検査畳み込み符号）符号化を施すことにより前記畳み込み符号語系列としてＬＤＰＣ−ＣＣ符号語系列を取得し、
前記ブロック符号化部は、前記ＬＤＰＣ−ＣＣ符号語系列にＬＤＰＣ−ＢＣ（Low-Density Parity-Check Block Codes：低密度パリティ検査ブロック符号）符号化を施すことによりパリティ系列を取得するとともに、前記パリティ系列を前記畳み込み符号化部に出力する、
請求項１に記載の符号化装置。
【請求項３】
前記ブロック符号化部は、前記ＬＤＰＣ−ＢＣ符号化により得られたパリティビットを並列にアキュムレートし、並列にアキュムレートした前記パリティビットを直列変換して前記パリティ系列として出力する出力部を有し、
前記出力部は、前記パリティビットをアキュムレートするタイミングと、アキュムレートした前記パリティビットを直列に出力するタイミングとを、前記ブロック符号化部に入力される前記ＬＤＰＣ−ＣＣ符号語系列の系列長に基づいて切り替える、
請求項２に記載の符号化装置。
【請求項４】
前記パリティビットをアキュムレートするタイミングは、前記畳み込み符号化部から前記ブロック符号化部に、前記入力系列が送信情報系列の場合の前記ＬＤＰＣ−ＣＣ符号語系列が出力されるタイミングである、
請求項３に記載の符号化装置。
【請求項５】
前記パリティビットを直列変換して出力するタイミングは、前記畳み込み符号化部から前記ブロック符号化部に、前記入力系列が送信情報系列の場合の前記ＬＤＰＣ−ＣＣ符号語系列の出力が終了したタイミングである、
請求項３に記載の符号化装置。
【請求項６】
前記ブロック符号化部は、低密度生成行列（ＬＤＧＭ：Low-Density Generation Matrix）を用いて前記ＬＤＰＣ−ＢＣ符号化を行う、
請求項２に記載の符号化装置。
【請求項７】
前記ブロック符号化部は、ＲＡ（Repeat Accumulate）符号を用いて前記ＬＤＰＣ−Ｂ
Ｃ符号化を行う、
請求項２に記載の符号化装置。
【請求項８】
前記ブロック符号化部は、前記ＬＤＰＣ−ＢＣとして構造的ＬＤＰＣ符号を用い、
前記構造的ＬＤＰＣ符号を構成する要素単位行列の行数をＬＤＰＣ−ＣＣのメモリ長以上とする、
請求項２に記載の符号化装置。
【請求項９】
前記ブロック符号化部は、ＬＤＰＣ−ＢＣの検査行列から得られる生成行列を用いて前記ＬＤＰＣ−ＢＣ符号化を行う、
請求項２に記載の符号化装置。
【請求項１０】
入力系列の受信対数尤度比系列にＬＤＰＣ−ＣＣ復号を施すことによりＬＤＰＣ−ＣＣ復号後軟判定値を取得するＬＤＰＣ−ＣＣ復号部と、
前記ＬＤＰＣ−ＣＣ復号後軟判定値を用いてＬＤＰＣ−ＢＣ復号を行うＬＤＰＣ−ＢＣ復号部と、
を具備する復号装置。
【請求項１１】
入力系列の受信対数尤度比系列にＬＤＰＣ−ＣＣ復号を施すことによりＬＤＰＣ−ＣＣ復号後軟判定値を取得するＬＤＰＣ−ＣＣ復号部と、
前記ＬＤＰＣ−ＣＣ復号後軟判定値を硬判定することにより硬判定値を取得する硬判定部と、
当該硬判定値を用いてＬＤＰＣ−ＢＣ復号を行うＬＤＰＣ−ＢＣ復号部と、
を具備する復号装置。
【請求項１２】
入力系列の受信対数尤度比系列にＬＤＰＣ−ＣＣ復号を施すことにより軟判定値を取得するＬＤＰＣ−ＣＣ復号部と、
前記軟判定値を硬判定することにより受信符号語系列を取得し、前記ＬＤＰＣ−ＣＣ復号に用いられるＬＤＰＣ−ＣＣ検査行列のメモリ長ごとに、前記受信符号語系列に対し誤り検出を行い、誤り検出結果に基づいて前記受信符号語系列に誤りラベルを付加する誤り検出部と、
前記誤りラベルに基づいて前記メモリ長ごとに前記受信符号語系列に対し消失訂正復号を行う消失訂正復号部と、
を具備する復号装置。
【請求項１３】
入力系列の受信対数尤度比系列にＬＤＰＣ−ＣＣ復号を施すことにより軟判定値を取得するＬＤＰＣ−ＣＣ復号部と、
当該軟判定値を用いてＬＤＰＣ−ＢＣ復号を行うことにより軟判定値を取得するＬＤＰＣ−ＢＣ復号部と、
を具備し、
前記ＬＤＰＣ−ＣＣ復号部は、前記ＬＤＰＣ−ＢＣ復号部により取得された前記軟判定値を事前値として前記ＬＤＰＣ−ＣＣ復号を行う、
復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、畳み込み符号を用いて誤り訂正符号化を施す符号化装置及び畳み込み符号化された符号系列を復号する復号装置に関する。例えば、低密度パリティ検査（ＬＤＰＣ：Low-Density Parity-Check）符号を用いる符号化装置及び復号装置に関する。
【背景技術】
【０００２】
近年、実現可能な回路規模で高い誤り訂正能力を発揮する誤り訂正符号として、低密度パリティ検査（ＬＤＰＣ：Low-Density Parity-Check）符号に注目が集まっている。ＬＤＰＣ符号は、その誤り訂正能力の高さと、実装の容易さとから、IEEE802.11nの高速無線ＬＡＮシステム、デジタル放送システムなどの誤り訂正符号化方式に採用されている。
【０００３】
ＬＤＰＣ符号は低密度なパリティ検査行列Ｈで定義される誤り訂正符号である。なお、低密度とは、行列中に含まれる１の要素数が０の要素数に比べて大幅に少ないことである。ＬＤＰＣ符号は、検査行列Ｈの列数Ｎと等しいブロック長を持つブロック符号である。
【０００４】
ところで、現在の通信システムの多くは、イーサネット（登録商標）のように可変長のパケット、または、フレームに基づいて通信を行うという特徴がある。このようなシステムにブロック符号であるＬＤＰＣ符号を適用する場合、例えば、可変長なイーサネット（登録商標）のフレームに対して、固定長のＬＤＰＣ符号のブロックをどのように対応させるかといった課題が発生する。ここで、ＬＤＰＣ符号は、無線ＬＡＮの規格であるIEEE802.11nに規格に採用されている。IEEE802.11nでは、送信情報系列にパディング、または、パンクチャなどを適用して、送信情報系列の長さと、ＬＤＰＣ符号のブロック長の調節を行っている。しかし、パディング、パンクチャにより符号化率の変化、または、冗長な系列の送信が必要になるという問題がある。
【０００５】
このようなブロック符号のＬＤＰＣ符号（以降「ＬＤＰＣ−ＢＣ（Low-Density Parity-Check Block Code）」と標記する）において、任意の長さの情報系列に対して、符号化・復号化が可能なＬＤＰＣ畳み込み符号（以降「ＬＤＰＣ−ＣＣ（Low-Density Parity-Check Convolutional Code）」と標記する）の検討が行われている（非特許文献１参照）。
【０００６】
ＬＤＰＣ−ＣＣは、低密度なパリティ検査行列により定義される畳み込み符号である。図２３に、一例として、符号化率Ｒ＝１／２（＝ｂ／ｃ）のＬＤＰＣ−ＣＣのパリティ検査行列Ｈ［０、ｎ］Ｔを示す。なお、ｎは、送信情報系列の長さを表し、Ｔは転置行列を表す。
【０００７】
同図から分かるように、検査行列Ｈ［０、ｎ］Ｔの要素ｈ１（ｍ）（ｔ），ｈ２（ｍ）（ｔ）は、０又は１をとる（ｍ＝０，１，…，Ｍ）。また、検査行列Ｈ［０、ｎ］Ｔに含まれるｈ１（ｍ）（ｔ），ｈ２（ｍ）（ｔ）以外の要素は全て０である（ｍ＝０，１，…，Ｍ）。図２３に示されるように、ＬＤＰＣ−ＣＣの検査行列は行列の対角項とその近辺の要素のみが１であり、行列の左下及び右上の要素はゼロであるという特徴がある。
【０００８】
ここで、符号化率Ｒ＝１／２（＝ｂ／ｃ）の例を示すと、ｈ１（０）（ｔ）＝１，ｈ２（０）（ｔ）＝１であるとき、ＬＤＰＣ−ＣＣの符号化は検査行列Ｈ［０、ｎ］Ｔに従って式（１）及び式（２）により行われる。
【０００９】
【数１】
0005219699.tif 000002
【数２】
0005219699.tif 000003
ｕｔは送信情報系列、ｖ１,ｔ、ｖ２,ｔは送信符号語系列を表す。また、Ｍは、ＬＤＰＣ−ＣＣにおけるメモリ長を表す。
【００１０】
図２４に、式（１）及び式（２）を行うＬＤＰＣ−ＣＣの符号化器の構成例を示す。図２４に示すように、ＬＤＰＣ−ＣＣ符号化器１０は、シフトレジスタ１１−１〜１１−Ｍ，１４−１〜１４−Ｍ、ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍ、ウェイト制御部１４、及びｍｏｄ２加算（排他的論理和演算）器１５を備えて構成される。
【００１１】
シフトレジスタ１１−１〜１１−Ｍ及び１４−１〜１４−Ｍはそれぞれ、ｖ１,ｔ−ｉ、ｖ２,ｔ−ｉ（ｉ＝０，…，Ｍ）を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送り、左隣のシフトレジスタから出力される値を保持する。
【００１２】
ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍは、ウェイト制御部１４から出力される制御信号に従ってｈ１（ｍ），ｈ２（ｍ）（ｍ＝０，１，…，Ｍ）の値を０／１に切り替える。ウェイト制御部１４は、内部に保持している検査行列に基づいて、そのタイミングにおけるｈ１（ｍ），ｈ２（ｍ）の値をウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍに送出する。ｍｏｄ２加算器１５は、ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍの出力結果のｍｏｄ２加算（排他的論理和演算）を行い、ｖ２,ｔ−ｉを算出する。
【００１３】
このような構成を採ることで、ＬＤＰＣ−ＣＣ符号化器１０は、検査行列に従ったＬＤＰＣ−ＣＣの符号化を行うことができる。
【００１４】
このように、ＬＤＰＣ−ＣＣの符号化器は、シフトレジスタと加算器、ウェイト乗算器のみで構成できるため、非常に簡易な回路で実現できるという特徴がある。また、ＬＤＰＣ−ＣＣは畳み込み符号の一種であるため、送信情報系列を固定長のブロックに区切って符号化する必要はなく、任意の長さの情報系列を符号化できる。
【００１５】
ＬＤＰＣ−ＣＣ復号には、ＬＤＰＣ−ＢＣと同様に検査行列Ｈに基づいてSum−Productアルゴリズムを適用することができる。そのため、ビタビアルゴリズムのような最尤系列推定に基づく復号アルゴリズムを使用する必要がなく、低処理遅延で復号処理を完了できる。さらに、非特許文献１では、行列の対角項付近にのみ１が存在するという検査行列の形を利用した復号アルゴリズムが提案されている。
【非特許文献１】Alberto Jimenez Felstorom, and Kamil Sh. Zigangirov,“Time-Varying Periodic Convolutional Codes With Low-Density Parity-Check-Matrix”,IEEE Transactions on Information Theory, Vol.45, No.6, pp.2181-2191, September 1999.
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、前述の通り、検査行列の対角項付近にのみに、値が１の要素（重み）が分布している。このため、重みがブロック長全体にわたってランダムに分布した検査行列を用いることができるＬＤＰＣ−ＢＣに比べ、ＬＤＰＣ−ＣＣの符号語の最小距離は、短くなるという特徴がある。そのため、ＬＤＰＣ−ＣＣは、復号後のビット誤り率特性に、高い誤り率でのエラーフロアが生じる傾向がある。
【００１７】
本発明はかかる点に鑑みてなされたものであり、任意の長さの情報系列に対して、符号化・復号が可能な畳み込み符号の特徴を用いて、エラーフロアを改善することができる符号化装置及び復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の符号化装置は、入力系列に畳み込み符号化を施すことにより畳み込み符号語系列を取得する畳み込み符号化部と、前記畳み込み符号語系列にブロック符号化を施すことによりパリティ系列を取得するとともに、当該パリティ系列を前記畳み込み符号化部に出力するブロック符号化部と、を具備する構成を採る。
【００１９】
この構成によれば、復号側で、畳み込み符号に対する復号処理により訂正困難であった誤りが残存するような場合であっても、当該誤りをブロック符号に対する復号処理によって訂正することができるので、任意の長さの送信情報系列に対し符号化・復号が可能な畳み込み符号の特徴を用いて、エラーフロアを改善することができる。
【００２０】
本発明の復号装置の一つの態様は、入力系列に畳み込み復号を施すことにより復号系列を取得する畳み込み復号部と、前記復号系列にブロック復号を施すブロック復号部と、を具備する構成を採る。
【００２１】
この構成によれば、符号化側で、送信情報系列の畳み込み符号化系列にブロック符号化を施すことにより取得されたパリティ系列に対し、さらに畳み込み符号化を施した場合に、復号側で、畳み込み符号に対する復号処理により訂正困難であった誤りが残存するような場合であっても、当該誤りをブロック符号に対する復号処理によって訂正することができ、任意の長さの送信情報系列に対し符号化・復号が可能な畳み込み符号の特徴を用いて、エラーフロアを改善することができる。
【発明の効果】
【００２２】
本発明によれば、任意の長さの情報系列に対し符号化・復号が可能な畳み込み符号の特徴を用いて、エラーフロアを改善することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２４】
（実施の形態１）
本実施の形態では、ＬＤＰＣ−ＣＣ符号化後の符号語系列をさらにＬＤＰＣ−ＢＣで符号化することで、連接符号の効果を得て、エラーフロアを解消するＬＤＰＣ符号化器及びＬＤＰＣ復号器について説明する。
【００２５】
（送信装置の全体構成）
図１に本実施の形態における送信装置の構成を示す。図１の送信装置１００は、ＬＤＰＣ符号化部１１０、インタリーブ部１２０、変調部１３０、制御情報生成部１４０、無線部１５０、及び送信アンテナ１６０を備えて構成される。
【００２６】
ＬＤＰＣ符号化部１１０は、送信情報系列に対し、誤り訂正符号化処理を行い、得られた送信符号語系列をインタリーブ部１２０に出力する。
【００２７】
インタリーブ部１２０は、送信符号語系列に対して、系列の順序の並び替え処理（インタリーブ）を行い、インタリーブ後の送信符号語系列を変調部１３０に出力する。
【００２８】
変調部１３０は、インタリーブ後の送信符号語系列を、ＰＳＫ（Phase Shift Keying），ＱＡＭ（Quadrature Amplitude-Modulation）などの変調方式で変調し、送信変調シンボル系列を無線部１５０に出力する。
【００２９】
制御情報生成部１４０は、送信装置と受信装置との間で信号を受信するために必要な制御情報を生成し、変調部１３０に送出する。制御情報の例として、変調方式、送信情報系列長、時間・周波数同期のためのプリアンブル信号がある。
【００３０】
無線部１５０は、送信変調シンボル系列に対して、Ｄ／Ａ（Digital to Analog）変換、周波数変換、ＲＦ（Radio Frequency）フィルタ処理などの無線変調処理を行い、送信ＲＦ信号を生成する。
【００３１】
送信アンテナ１６０は、送信ＲＦ信号を送信する。
【００３２】
（ＬＤＰＣ符号化部の構成）
図２に、ＬＤＰＣ符号化部の構成例を示す。図２のＬＤＰＣ符号化部１１０は、ＬＤＰＣ−ＣＣ符号化器１１１、ＬＤＰＣ−ＢＣ符号化器１１２、及び切り替え器１１３を備えて構成される。
【００３３】
ＬＤＰＣ−ＣＣ符号化器１１１は、入力系列に対しＬＤＰＣ−ＣＣ符号化を施す。ＬＤＰＣ−ＣＣ符号化器の構成は、図２４と同様であり、既に図２４において符号化率Ｒ＝１／２の場合の構成例を示しているので、説明を省略する。ＬＤＰＣ−ＣＣ符号化器１１１は、符号化後の送信符号語系列ｖ１,ｔ，ｖ２,ｔをインタリーブ部１２０へ出力するとともに、ＬＤＰＣ−ＢＣ符号化器１１２に出力する。
【００３４】
ＬＤＰＣ−ＢＣ符号化器１１２は、ＬＤＰＣ−ＣＣ符号化器１１１から出力される送信符号語系列ｖ１,ｔ，ｖ２,ｔにＬＤＰＣ−ＢＣ符号化処理を施し、符号化によって得られるパリティ系列ｖＢＣ,ｔを切り替え器１１３に出力する。
【００３５】
切り替え器１１３は、送信情報系列ｕｔを所定長だけＬＤＰＣ−ＣＣ符号化器１１１に出力すると、ＬＤＰＣ−ＢＣ符号化器１１２から出力されるパリティ系列ｖＢＣ,ｔをＬＤＰＣ−ＣＣ符号化器１１１に出力する。
【００３６】
（ＬＤＰＣ−ＢＣ符号化器の構成）
図３に、ＬＤＰＣ−ＢＣ符号化器の構成例を示す。図３のＬＤＰＣ−ＢＣ符号化器１１２は、並列・直列変換部１１２１、切り替え器１１２２、ウェイト乗算部１１２３−１〜１１２３−Ｐ、加算器１１２４−１〜１１２４−Ｐ、遅延器１１２５−１〜１１２５−Ｐ、検査行列記憶部１１２６、並列・直列変換部１１２７、及びＬＤＰＣ−ＢＣ符号化制御部１１２８を備えて構成される。
【００３７】
並列・直列変換部１１２１は、ＬＤＰＣ−ＣＣ符号化器１１１から並列に出力されるＬＤＰＣ−ＣＣ符号化後の送信符号語系列ｖ１,ｔ，ｖ２,ｔを直列の系列に変換し、切り替え器１１２２に出力する。
【００３８】
切り替え器１１２２は、ＬＤＰＣ−ＢＣ符号化制御部１１２８から出力される情報・パリティ切り替え信号に従い、送信符号語系列ｖ１,ｔ，ｖ２,ｔ又はＬＤＰＣ−ＢＣパリティ系列ｖＢＣ,ｐのうち一方をウェイト乗算部１１２３−１〜１１２３−Ｐに送出する。
【００３９】
ウェイト乗算部１１２３−１〜１１２３−Ｐは、検査行列記憶部１１２６に記憶されている検査行列の重みの位置に従い、入力されてきたビットに対して１又は０のウェイトを乗算する。なお、ウェイト乗算部１１２３−１〜１１２３−Ｐは、入力されてきたビットに直接１又は０を乗算する構成にしても良いし、重みが１の場合は、入力ビットを後段に出力し、０の場合は、入力ビットに関わらず、０を出力するという構成を採っても良い。
【００４０】
加算器１１２４−１〜１１２４−Ｐは、ウェイト乗算部１１２３−１〜１１２３−Ｐから出力されるビットと、遅延器１１２５−１〜１１２５−Ｐから出力されるビットのｍｏｄ２加算（排他的論理和演算）を行い、その結果を並列・直列変換部１１２７に出力する。
【００４１】
遅延器１１２５−１〜１１２５−Ｐは、入力ビットを１ビット分遅延させて加算器１１２４−１〜１１２４−Ｐに出力する。
【００４２】
検査行列記憶部１１２６は、ＬＤＰＣ−ＢＣを行う検査行列ＨＢＣを記憶しており、時刻に応じて、ウェイト乗算部１１２３−１〜１１２３−Ｐに１又は０の重みを出力する。
【００４３】
並列・直列変換部１１２７は、加算器１１２４−１〜１１２４−Ｐの出力結果であるパリティビットを並列にアキュムレート（蓄積）し、アキュムレートしたＰ個のパリティビットを直列に変換してパリティ系列ｖＢＣ,ｐとして切り替え器１１２２及び切り替え器１１３に出力する。なお、並列・直列変換部１１２７は、パリティビットをアキュムレートするタイミングと、アキュムレートしたパリティビットを直列に出力するタイミングとを、ＬＤＰＣ−ＢＣ符号化制御部１１２８からの指示信号に応じて切り替える。
【００４４】
ＬＤＰＣ−ＢＣ符号化制御部１１２８は、ＬＤＰＣ−ＣＣ符号語系列の系列長に基づいて、切り替え器１１２２及び検査行列記憶部１１２６に情報・パリティ切り替え信号を出力し、並列・直列変換部１１２７に指示信号を出力する。なお、ＬＤＰＣ−ＢＣ符号化制御部１１２８は、送信符号語系列長に対応するｎの値について、予めシステムなどから取得している。
【００４５】
具体的には、ＬＤＰＣ−ＢＣ符号化制御部１１２８は、送信情報系列のＬＤＰＣ−ＣＣ符号語の系列（ｖ１,０，ｖ２,０）が入力されたタイミングで、情報・パリティ切り替え信号及び指示信号を出力する。このタイミングで出力される情報・パリティ切り替え信号は、切り替え器１１２２に、並列・直列変換部１１２１の出力信号（Ｓ１２及びＳ１３）をＳ１５として出力するよう指示を与える。また、このタイミングで出力される情報・パリティ切り替え信号は、検査行列記憶部１１２６に、図７に示す検査行列ＨＢＣのシステマティック部分、すなわち、ＨＢＣｓの第１列目から順にウェイトを出力するよう指示を与える。また、このタイミングで出力される指示信号は、並列・直列変換部１１２７に、パリティビットをアキュムレートする指示を与える。
【００４６】
ＬＤＰＣ−ＢＣ符号化制御部１１２８は、送信情報系列のＬＤＰＣ−ＣＣ符号語の系列（ｖ１,ｔ，ｖ２,ｔ）をカウントする。
【００４７】
次に、ＬＤＰＣ−ＢＣ符号化制御部１１２８は、送信情報系列のＬＤＰＣ−ＣＣ符号語系列が入力し終わったタイミング（ｖ１,ｎ，ｖ２,ｎまで入力されたタイミング、又は、カウントの値がＬＤＰＣ−ＣＣ符号語系列の系列長になったタイミング）で、情報・パリティ切り替え信号及び指示信号を切り替え、切替後の情報・パリティ切り替え信号を切り替え器１１２２及び検査行列記憶部１１２６に出力し、切替後の指示信号を並列・直列変換部１１２７に出力する。
【００４８】
切替後の情報・パリティ切り替え信号は、切り替え器１１２２に、並列・直列変換部１１２７の出力信号（Ｓ１４）をＳ１５として出力するよう指示を与える。また、切替後の情報・パリティ切り替え信号は、検査行列記憶部１１２６に、図７に示す検査行列ＨＢＣのパリティビット部分、すなわちＨＢＣｐの第１列目（ＨＢＣの第ＫＢＣ＋１列目）から順にウェイトをウェイト乗算部１１２３−１〜１１２３−Ｐに出力していくよう指示を与える。
【００４９】
また、切替後の指示信号は、並列・直列変換部１１２７に、アキュムレート（蓄積）したパリティビットを直列に変換してパリティ系列ｖＢＣ,ｐとして出力するよう指示を与える。具体的には、ＬＤＰＣ−ＢＣ符号化制御部１１２８は、並列・直列変換部１１２７に、加算器１１２４−１の出力を初めに出力し、以降、加算器１１２４−Ｐまで順に各加算器１１２４−Ｐの出力を出力していくよう指示する。
【００５０】
これら切替後の情報・パリティ切り替え信号及び指示信号により、並列・直列変換部１１２７は、パリティ系列ｖＢＣ,ｐを出力し、切り替え器１１２２は、当該パリティ系列ｖＢＣ,ｐをウェイト乗算部１１２３−１〜１１２３−Ｐに出力する。
【００５１】
このように、送信装置１００は、ＬＤＰＣ−ＣＣ符号化器１１１において、送信情報系列にＬＤＰＣ−ＣＣ符号化を施すことによりＬＤＰＣ−ＣＣ符号語系列を取得し、ＬＤＰＣ−ＢＣ符号化器１１２において、当該ＬＤＰＣ−ＣＣ符号語系列にＬＤＰＣ−ＢＣ符号化を施すことによりパリティ系列を取得し、さらに、ＬＤＰＣ−ＣＣ符号化器１１１において、当該パリティ系列にＬＤＰＣ−ＣＣ符号化を施す。
【００５２】
（受信装置の全体構成）
図４に本実施の形態における受信装置の構成を示す。図４の受信装置２００は、受信アンテナ２１０、無線部２２０、直交復調部２３０、チャネル変動推定部２４０、制御情報検波部２５０、対数尤度演算部２６０、デインタリーブ部２７０、及びＬＤＰＣ復号部２８０を備えて構成される。
【００５３】
受信アンテナ２１０は、送信装置１００から送信された送信ＲＦ信号を受信し、無線部２２０に送出する。
【００５４】
無線部２２０は、ＲＦフィルタ処理、周波数変換、Ａ／Ｄ（Analog to Digital）変換などの無線復調処理を行い、無線復調処理後の受信信号を直交復調部２３０に出力する。
【００５５】
直交復調部２３０は、無線復調処理後の受信信号からＩチャネル、Ｑチャネルそれぞれのベースバンド信号を検出し、検出したベースバンド信号をチャネル変動推定部２４０、制御情報検波部２５０、及び対数尤度演算部２６０に送出する。
【００５６】
チャネル変動推定部２４０は、ベースバンド信号に含まれる既知信号を利用して、送信装置１００と受信装置２００との間の無線伝搬路におけるチャネル変動を推定し、推定結果を対数尤度演算部２６０に送出する。
【００５７】
また、制御情報検波部２５０は、ベースバンド信号に含まれる制御信号を検出し、対数尤度演算部２６０に送出する。
【００５８】
対数尤度演算部２６０は、ベースバンド信号から、送信された各符号語ビットの対数尤度比を求め、デインタリーブ部２７０に送出する。
【００５９】
デインタリーブ部２７０は、対数尤度比の系列の順序を、送信装置１００でのインタリーブ部１２０で行った並び替え処理の逆の処理を用いて並び替える。
【００６０】
ＬＤＰＣ復号部２８０は、対数尤度比系列を用いて誤り訂正復号を行い、復号結果の硬判定値を出力する。
【００６１】
（ＬＤＰＣ復号部の構成）
図５に、ＬＤＰＣ復号部の構成例を示す。図５のＬＤＰＣ復号部２８０は、ＬＤＰＣ−ＣＣ復号器２８１、ＬＤＰＣ−ＢＣ復号器２８２、及び硬判定部２８３を備えて構成される。
【００６２】
ＬＤＰＣ−ＣＣ復号器２８１は、デインタリーブ部２７０から出力される受信対数尤度系列に対し、ＬＤＰＣ−ＣＣ検査行列Ｈｃｃに基づいたＬＤＰＣ−ＣＣ復号処理を施す。ＬＤＰＣ−ＣＣ復号処理の詳細は、非特許文献１などに記載されているため説明を省略する。ＬＤＰＣ−ＣＣ復号器２８１は、ＬＤＰＣ−ＣＣ復号処理によって得られた、ＣＣ復号後軟判定値をＬＤＰＣ−ＢＣ復号器２８２に出力する。
【００６３】
ＬＤＰＣ−ＢＣ復号器２８２は、ＬＤＰＣ−ＣＣ復号器２８１から出力されるＣＣ復号後軟判定値に対し、ＬＤＰＣ−ＢＣ検査行列ＨＢＣに基づいたＬＤＰＣ−ＢＣ復号処理を施す。ＬＤＰＣ−ＢＣ復号処理は、Belief Propagation復号、Sum-Product復号などのよく知られた復号アルゴリズムを用いて実施することができるため、その説明を省略する。
【００６４】
ＬＤＰＣ−ＢＣ復号器２８２は、ＬＤＰＣ−ＢＣ復号後のＢＣ復号後軟判定値を硬判定部２８３に出力する。
【００６５】
硬判定部２８３は、ＢＣ復号後軟判定値を硬判定し、受信情報系列を取得する。
【００６６】
このように、受信装置２００は、ＬＤＰＣ−ＣＣ復号部２８１において、受信対数尤度比系列にＬＤＰＣ−ＣＣ復号を施すことにより、ＣＣ復号後軟判定値を取得する。次に、受信装置２００は、ＬＤＰＣ−ＢＣ復号器２８２において、ＣＣ復号後軟判定値に対し、ＬＤＰＣ−ＢＣ復号を施すことによりＢＣ復号後軟判定値を取得する。次に、受信装置２００は、硬判定部２８３において、ＢＣ復号後軟判定値を硬判定することにより受信情報系列を取得する。
【００６７】
（動作）
以下、上述のように構成された送信装置１００の動作について、図６のタイミング図を参照しながら、主にＬＤＰＣ符号化部１１０の動作を中心に説明する。なお、図６には、図２及び図３に対応する系列（Ｓ１１〜Ｓ１７）と同一の符号が付されている。
【００６８】
送信情報系列ｕｔ（ｔ＝１，…，ｎ）は、まず、ＬＤＰＣ符号化部１１０に入力されると、切り替え器１１３を経由してＬＤＰＣ−ＣＣ符号化器１１１に入力される。なお、送信情報系列ｕｔの添字「ｔ」は、時刻を表し、ｎは、送信情報系列長に対応する時刻を表す。図６（ａ）には、時刻ｔ１〜ｔ３の間、ＬＤＰＣ−ＣＣ符号化器１１１に、入力系列Ｓ１１として、送信情報系列ｕｔが入力される場合を示している。
【００６９】
送信情報系列ｕｔは、ＬＤＰＣ符号化部１１０のＬＤＰＣ−ＣＣ符号化器１１１によって、ＬＤＰＣ−ＣＣ符号化される。ＬＤＰＣ−ＣＣ符号化器１１１によってＬＤＰＣ−ＣＣ符号化されて取得された送信符号語系列ｖ１,ｔ，ｖ２,ｔ（符号化率Ｒ＝１／２の場合）は、後段のインタリーブ部１２０に出力し、さらに、ＬＤＰＣ−ＢＣ符号化器１１２に出力される。図６（ｂ）には、ＬＤＰＣ−ＣＣ符号化器１１１の出力系列Ｓ１２，Ｓ１３として、送信符号語系列ｖ１,ｔ，ｖ２,ｔが、時刻ｔ２〜ｔ４の間に出力される様子が示されている。
【００７０】
ＬＤＰＣ−ＢＣ符号化器１１２の並列・直列変換部１１２１では、まず、並列に入力される送信符号語系列ｖ１,ｔ，ｖ２,ｔが直列に変換され、直列変換後の送信符号語系列ｖ１,ｔ，ｖ２,ｔは、切り替え器１１２２に出力される。
【００７１】
ＬＤＰＣ−ＢＣ符号化制御部１１２８は、時刻ｔがｔ≦ｎの場合、すなわち、送信符号語系列ｖ１,ｔ，ｖ２,ｔの入力がある場合（以降、この時刻を「システマティック符号化期間」と呼ぶ）、送信符号語系列ｖ１,ｔ，ｖ２,ｔをウェイト乗算部１１２３−１〜１１２３−Ｐに送出するように、切り替え器１１２２を制御する。図６に示す例では、時刻ｔ２〜ｔ４が、「システマティック符号化期間」となる。また、図６（ｄ）に示すように、切り替え器１１２２の出力系列Ｓ１５として、直列変換された送信符号語系列ｖ１,ｔ，ｖ２,ｔが、刻ｔ２〜ｔ４の間に出力される様子が示されている。このとき、ウェイト乗算部１１２３−１〜１１２３−Ｐには、同一の送信符号語が送られる。なお、ＬＤＰＣ−ＢＣ符号化制御部１１２８は、送信符号後系列長に対応する時刻ｎについて予めシステム等から取得している。
【００７２】
ウェイト乗算部１１２３−１〜１１２３−Ｐでは、検査行列記憶部１１２６に記憶されている検査行列に基づいて、送信符号語系列ｖ１,ｔ，ｖ２,ｔに対して１又は０の乗算が行われる。
【００７３】
図７に、検査行列の一例を示す。図７に示す検査行列ＨＢＣの各行は、ＬＤＰＣ−ＢＣのパリティ検査方程式に対応し、各列はＬＤＰＣ−ＢＣ符号語に対応する。また、検査行列ＨＢＣは、ＨＢＣｓとＨＢＣｐの２つの部分から構成される。ＨＢＣｓは、ＬＤＰＣ−ＢＣにおいて、システマティックビット部分、すなわち、入力された送信符号語系列ｖ１,ｔ，ｖ２,ｔに対応する部分の部分行列である。また、ＨＢＣｐは、ＬＤＰＣ−ＢＣ符号化によって得られるパリティビット部分に対応する。また、ＨＢＣｐは、下三角行列であり、このような特徴を持つ検査行列はＬＤＧＭ（Low-Density Generation-Matrix）と呼ばれる。
【００７４】
システマティック符号化期間では、検査行列記憶部１１２６から、部分検査行列ＨＢＣｓの各列の重みが、それぞれウェイト乗算部１１２３−１〜１１２３−Ｐに送出される。また、ウェイト乗算部１１２３−１〜１１２３−Ｐ、加算器１１２４−１〜１１２４−Ｐ、遅延器１１２５−１〜１１２５−Ｐのそれぞれでは、検査行列ＨＢＣの１行目からＰ行目のパリティ検査方程式に対応する演算が行なわれ、結果が並列・直列変換部１１２７に出力される。なお、並列・直列変換部１１２７では、ＬＤＰＣ−ＢＣ符号化制御部１１２８から、システマティック符号化期間であることが通知されている間は、加算器１１２４−１〜１１２４−Ｐの出力がそれぞれ蓄積（アキュムレート）される。
【００７５】
次に、時刻ｔがｔ＞ｎの場合、すなわち、ＬＤＰＣ−ＣＣ符号化器１１１からの送信符号語系列ｖ１,ｔ，ｖ２,ｔの入力が終了した場合（以降「パリティ符号化期間」と呼ぶ）について説明する。図６に示す例では、時刻ｔ５〜時刻ｔ７が、「パリティ符号化期間」となる。
【００７６】
パリティ符号化期間になると、ＬＤＰＣ−ＢＣ符号化制御部１１２８は、パリティ符号化期間であることを示す情報・パリティ切り替え信号及び指示信号を、切り替え器１１２２及び並列・直列変換部１１２７に通知する。
【００７７】
並列・直列変換部１１２７からは、パリティ符号化期間の場合、検査行列ＨＢＣの第１行に対応する加算器１１２４−１の出力から順に加算器１１２４−１〜１１２４−Ｐの出力が直列に変換される。また、変換後のパリティ系列（以降「ＢＣパリティ系列」と呼ぶ）は、ＬＤＰＣ−ＣＣ符号化器１１１及び切り替え器１１２２に出力される（図６（ｃ）参照）。
【００７８】
そして、切り替え器１１２２では、パリティ符号化期間の場合、ウェイト乗算部１１２３−１〜１１２３−Ｐに送出するビットが、ＬＤＰＣ−ＣＣ符号化器１１１から出力される送信符号語系列ｖ１,ｔ，ｖ２,ｔに代えて、並列・直列変換部１１２７から出力されるＢＣパリティ系列ｖＢＣ,ｔに切り替えられる（図６（ｄ）参照）。
【００７９】
パリティ符号化期間になり、検査行列ＨＢＣのパリティビット部分、すなわちＨＢＣｐの第１列目（ＨＢＣの第ＫＢＣ＋１列目）から順にウェイトをウェイト乗算部１１２３−１〜１１２３−Ｐに出力していくよう指示を与える情報・パリティ切り替え信号が、ＬＤＰＣ−ＢＣ符号化制御部１１２８から、検査行列記憶部１１２６に出力される。次に、検査行列記憶部１１２６は、検査行列ＨＢＣの第ＫＢＣまでのウェイトを、ウェイト乗算部１１２３−１〜１１２３−Ｐに出力していない場合においても、第ＫＢＣ列までの列をスキップし、第ＫＢＣ＋１列目のウェイトをウェイト乗算部１１２３−１〜１１２３−Ｐに出力する。そして、以降、検査行列記憶部１１２６は、第ＫＢＣ＋２列目、第ＫＢＣ＋３列目、と第ＮＢＣ列目まで順にウェイト乗算部１１２３−１〜１１２３−Ｐにウェイトを出力する。
【００８０】
これにより、ウェイト乗算部１１２３−１〜１１２３−Ｐでは、ＢＣパリティビット系列ｖＢＣ,ｔのビット（以降「ＢＣパリティビット」と呼ぶ）と検査行列の重みとが乗算される。
【００８１】
部分検査行列ＨＢＣｐは、下三角行列になるように設計されているため、第２番目のＢＣパリティビットのウェイト乗算を行う際には、既に第１番目のＢＣパリティビットが求まっている。従って、ウェイト乗算部１１２３−１，加算器１１２４−１、遅延器１１２５−１の一連の処理を行わなくても良い。以降、同様に、第ｐ番目のＢＣパリティビットのウェイト乗算を行う際には、ｐ−１番目までのウェイト乗算部、加算器、遅延器の一連の処理を省略することができる。
【００８２】
このようにして、ＬＤＰＣ−ＢＣ符号化器１１２は、上述の処理で求めたＢＣパリティビットを直列変換して、ＢＣパリティ系列ｖＢＣ,ｔをＬＤＰＣ−ＣＣ符号化器１１１に出力する。
【００８３】
これにより、ＬＤＰＣ−ＣＣ符号化器１１１は、送信情報系列ｕｔの後に、ＬＤＰＣ−ＢＣ符号化器１１２から出力されるＢＣパリティ系列ｖＢＣ,ｔを接続して、ＬＤＰＣ−ＣＣ符号化を行うことになる（図６（ａ）参照）。ただし、ＬＤＰＣ−ＣＣ符号化器１１１は、ＢＣパリティ系列ｖＢＣ,ｔをＬＤＰＣ−ＣＣ符号化することで得られる送信符号語系列ｖ１,ｔ＋ｐ，ｖ２,ｔ＋ｐを、ＬＤＰＣ−ＢＣ符号化器１１２に対しては出力せずに、インタリーブ部１２０に対してのみ出力する（図６（ｅ）参照）。
【００８４】
なお、ＬＤＰＣ−ＢＣ符号化器１１２は、パリティ符号化期間になると、検査行列記憶部１１２６から出力する重みを、強制的にＨＢＣｐの重みに切り替えるという処理を行う。
【００８５】
具体的には、パリティ符号化期間では、検査行列記憶部１１２６からは、部分検査行列ＨＢＣｐの各列に対応する重みがそれぞれウェイト乗算部１１２３−１〜１１２３−Ｐに出力される。ここで、時刻ｔがＫＢＣよりも小さい場合、すなわち、ＨＢＣｓの全ての列の出力が終了していない場合であっても、パリティ符号化期間になると、検査行列記憶部１１２６から、ＨＢＣｐの重みが出力される。このようにすることで、入力される送信符号語系列の長さがＬＤＰＣ−ＢＣのシステマティックブロック長ＫＢＣより短い場合でも、送信符号後系列の入力が終わったタイミングにおいて、ＬＤＰＣ−ＢＣ符号化により得られるパリティ系列を出力することができる。
【００８６】
パリティ符号化期間になると、検査行列記憶部１１２６から出力する重みを、強制的にＨＢＣｐの重みに切り替えるという処理は、時刻ｎ以降ＫＢＣまでに得られる送信符号語系列が、全て０であると仮定してＬＤＰＣ−ＢＣの符号化を行っていることと等価である。そのため、復号時に、この仮定に基づいて復号処理を実施すれば、復号特性の劣化を招くことはない。
【００８７】
なお、検査行列ＨＢＣにおいて、システマティック部分に対応する部分行列ＨＢＣｓのサイズ（列数）を、送信装置１００を含む通信システムが取りうる、送信情報系列のＬＤＰＣ−ＣＣ符号語系列数の最大値とする。これにより、送信情報系列のＬＤＰＣ−ＣＣ符号語系列の数がＨＢＣｓのサイズを超え、この結果、ＬＤＰＣ−ＢＣ符号化されない送信情報系列のＬＤＰＣ−ＣＣ符号語が発生するのを回避することができる。
【００８８】
このようにして、ＬＤＰＣ符号化部１１０から、誤り訂正符号化後の送信符号語系列がインタリーブ部１２０に送出されると、インタリーブ部１２０では、送信符号語系列がインタリーブされる。次に、変調部１３０では、インタリーブ後の送信符号語系列と、制御情報生成部１４０から出力される制御情報とが変調される。次に、変調後の変調シンボル系列に対し、無線部１５０によって無線変調処理が行われ、生成された送信ＲＦ信号は、送信アンテナ１６０を介して送信される。
【００８９】
次に、上述のように構成された受信装置２００の動作について主にＬＤＰＣ復号部２８０の動作を中心に説明する。
【００９０】
送信装置１００から送信されたＲＦ信号は、受信装置２００の受信アンテナ２１０を介して受信され、無線部２２０に送出される。
【００９１】
無線部２２０では、送信装置１００から送信されたＲＦ信号に対し無線復調処理が施され、直交復調部２３０によって、Ｉチャネル、Ｑチャネルそれぞれのベースバンド信号が検出される。
【００９２】
制御情報検波部２５０では、ベースバンド信号に含まれる制御信号が検出され、検出された制御信号は対数尤度演算部２６０に送出される。
【００９３】
対数尤度演算部２６０によって、ベースバンド信号から、送信された各符号語ビットの対数尤度比が求められる。次に、デインタリーブ部２７０によって、対数尤度比の系列の順序が送信装置１００でのインタリーブ部１２０で行った並び替え処理と逆の処理が用いられて並び替えられる。デインタリーブ後の受信対数尤度系列は、ＬＤＰＣ復号部２８０のＬＤＰＣ−ＣＣ復号器２８１に送出される。
【００９４】
ＬＤＰＣ復号部２８０のＬＤＰＣ−ＣＣ復号器２８１では、デインタリーブ部２７０から出力される受信対数尤度系列に対し、ＬＤＰＣ−ＣＣ検査行列Ｈｃｃに基づいたＬＤＰＣ−ＣＣ復号処理が施さる。ＬＤＰＣ−ＢＣ復号器２８２では、ＬＤＰＣ−ＣＣ復号器２８１から出力されるＣＣ復号後軟判定値に対し、ＬＤＰＣ−ＢＣ検査行列ＨＢＣに基づいたＬＤＰＣ−ＢＣ復号処理が施される。
【００９５】
硬判定部２８３では、ＢＣ復号後軟判定値が硬判定され、受信情報系列が取得される。
【００９６】
このように、ＬＤＰＣ復号部２８０では、ＬＤＰＣ−ＣＣ復号処理が行なわれた後に得られたＬＤＰＣ−ＣＣ復号後軟判定値系列に対し、さらにＬＤＰＣ−ＢＣ復号処理が行なわれる。このＬＤＰＣ−ＣＣ復号後軟判定値系列は、送信情報系列に対しＬＤＰＣ−ＣＣ符号化して取得されたＬＤＰＣ−ＣＣ符号語に対し、さらにＬＤＰＣ−ＢＣ符号を施して取得されたパリティ系列を付加した系列に対応する。
【００９７】
このようにして、ＬＤＰＣ−ＣＣ復号後軟判定値系列をＬＤＰＣ−ＢＣ復号を行うようにすることで、ＬＤＰＣ−ＣＣの最小距離が短いことによりＬＤＰＣ−ＣＣ復号結果に誤りが残ったとしても、ＬＤＰＣ−ＢＣの復号利得により、その誤りを訂正することができる。その結果、ＬＤＰＣ−ＣＣのみを用いる場合に問題となっていたエラーフロアを改善することができる。
【００９８】
また、通常、複数の誤り訂正符号を連接符号化する場合、第１の符号の符号化器と第２の符号の符号化器との間にインタリーバが必要となり、また、第２の符号の復号器と第１の符号の復号器との間にデインタリーバが必要になる。これに対し、本実施の形態で用いるＬＤＰＣ−ＢＣ符号は、ブロック長に相当する長さのインタリーブ効果を内包している。このため、本構成のように、連接符号化する符号の一方にＬＤＰＣ−ＢＣ符号を用いることで、符号化器間のインタリーバ、復号器間のデインタリーバが不要となる。
【００９９】
以上のように、本実施の形態によれば、ＬＤＰＣ符号化部１１０は、ＬＤＰＣ−ＣＣ符号化を施すことによりＬＤＰＣ−ＣＣ符号語系列を取得するＬＤＰＣ−ＣＣ符号化器１１１と、得られたＬＤＰＣ−ＣＣ符号語系列にＬＤＰＣ−ＢＣ符号化を施すことによりパリティ系列を取得し、当該パリティ系列をＬＤＰＣ−ＣＣ符号化器１１１に出力するＬＤＰＣ−ＢＣ符号化器１１２と、を備え、ＬＤＰＣ−ＣＣ符号化器１１１は、送信情報系列にＬＤＰＣ−ＣＣ符号化を施すことによりＬＤＰＣ−ＣＣ符号語系列を取得し、ＬＤＰＣ−ＢＣ符号化器１１２は、当該ＬＤＰＣ−ＣＣ符号語系列にＬＤＰＣ−ＢＣ符号化を施すことによりパリティ系列を取得し、ＬＤＰＣ−ＣＣ符号化器１１１は、当該パリティ系列に、さらに、ＬＤＰＣ−ＣＣ符号化を施すようにした。
【０１００】
また、ＬＤＰＣ復号部２８０は、入力系列にＬＤＰＣ−ＣＣ復号を施すＬＤＰＣ−ＣＣ復号部２８１と、ＬＤＰＣ−ＣＣ復号部２８１からの出力系列にＬＤＰＣ−ＢＣ復号を施すＬＤＰＣ−ＢＣ復号部２８２と、を備え、ＬＤＰＣ−ＣＣ復号器２８１は、受信対数尤度比系列をＬＤＰＣ−ＣＣ復号することによりＬＤＰＣ−ＣＣ復号後軟判定値を取得し、ＬＤＰＣ−ＢＣ復号器２８２は、当該ＬＤＰＣ−ＣＣ復号後軟判定値を用いてＬＤＰＣ−ＢＣ復号を行うようにした。
【０１０１】
このようにすることで、ＬＤＰＣ符号化部１１０からは、送信情報系列のＬＤＰＣ−ＣＣ符号化系列に連接して、当該ＬＤＰＣ−ＣＣ符号化系列にＬＤＰＣ−ＢＣ符号化を施し取得されるパリティ系列に対し、さらにＬＤＰＣ−ＣＣ符号化を施し得られたＬＤＰＣ−ＣＣ符号化系列が出力されるようになる。このため、ＬＤＰＣ復号部２８０で、送信情報系列のＬＤＰＣ−ＣＣ符号化系列に対する復号処理が施された結果、誤りが生じた場合であっても、さらに、当該ＬＤＰＣ−ＣＣ符号化系列に対するパリティ系列の復号処理結果を用いることで、誤り訂正を行うことができるようになり、エラーフロアを改善することができる。
【０１０２】
（変形例）
図８に、ＬＤＰＣ復号部の別の構成例を示す。図５に示したＬＤＰＣ復号部２８０では、ＬＤＰＣ−ＣＣ復号器２８１及びＬＤＰＣ−ＢＣ復号器２８２の双方に軟入力軟出力（ＳＩＳＯ：Soft Input Soft Output）復号器を用いることにより、高い誤り訂正復号利得を得る。これに対し、図８に示すように、ＬＤＰＣ−ＣＣ復号器２８１とＬＤＰＣ−ＢＣ復号器２８２との間に硬判定部２８３を設け、ＬＤＰＣ−ＢＣ復号器２８２が硬判定のＬＤＰＣ−ＢＣ復号処理を行う構成としても良い。このようにすることで、ＬＤＰＣ−ＣＣ復号器２８１及びＬＤＰＣ−ＢＣ復号器２８２の双方が、ともにＳＩＳＯ復号アルゴリズムを適用する場合に比べ、誤り訂正復号利得が低下してしまうものの、ＬＤＰＣ−ＢＣ復号器２８２の構成を簡易にすることができる。また、ＬＤＰＣ−ＢＣ復号処理にかかる時間も短縮される。
【０１０３】
図９に、ＬＤＰＣ復号部のさらに別の構成例を示す。図９のＬＤＰＣ復号部２８０は、ＬＤＰＣ−ＣＣ復号器２８１、誤り検出・ラベル付け部２８４、及びＬＤＰＣ−ＢＣ消失訂正復号器２８５を備えて構成される。
【０１０４】
誤り検出・ラベル付け部２８４は、ＬＤＰＣ−ＣＣ復号器２８１から出力されるＣＣ復号後軟判定値を硬判定し、受信符号語系列を得る。さらに、誤り検出・ラベル付け部２８４は、検査行列Ｈｃｃに基づいたパリティ検査を行う。ＬＤＰＣ−ＣＣ符号化された符号語は、ＬＤＰＣ−ＣＣ符号のメモリ長Ｍの単位で、パリティ検査を満たすかどうかを判定することができる。具体的には、ＬＤＰＣ−ＣＣでは、式（３）を用いることにより、メモリ長Ｍの区切りごとに、パケット検査を行うことができる。
【数３】
0005219699.tif 000004
【０１０５】
このとき、誤り検出・ラベル付け部２８４は、受信符号語系列をメモリ長Ｍの区切りで、パリティ検査を満たす場合、誤り無しとしてその区切りに含まれる符号語を出力する。一方、パリティ検査を満たさない場合、誤り検出・ラベル付け部２８４は、誤りありと判定して、その区切りに含まれる符号語を全て「ε（消失）」として出力する。
【０１０６】
ＬＤＰＣ−ＢＣ消失訂正復号器２８５は、誤り検出・ラベル付け部２８４から出力される消失ラベル付きの受信符号語系列に対し、ＬＤＰＣ−ＢＣに基づく消失訂正復号アルゴリズムを適用し、消失訂正を行う。ＬＤＰＣ−ＢＣ消失訂正復号器２８５は、消失訂正復号処理を適用した後の受信情報系列を出力する。
【０１０７】
このように、ＬＤＰＣ−ＣＣのメモリ長Ｍの区切りでパリティ検査を行えるという特徴と、ＬＤＰＣ−ＢＣの消失訂正復号処理を組み合わせることで、少ない演算量、復号処理時間で連接符号の復号処理を実施することが可能となる。
【０１０８】
図１０に、ＬＤＰＣ復号部のさらに別の構成例を示す。図１０のＬＤＰＣ復号部２８０は、ＬＤＰＣ−ＣＣ復号器２８１、ＬＤＰＣ−ＢＣ復号器２８２、硬判定部２８３、及び減算器２８６，２８７を備えて構成される、ターボ復号器である。
【０１０９】
ＬＤＰＣ−ＣＣ復号器２８１は、まず、デインタリーブ部２７０から出力される受信対数尤度系列をＬＤＰＣ−ＣＣ復号し、ＬＤＰＣ−ＣＣ復号処理後のＣＣ復号後軟判定値を減算器２８６に出力する。次に、減算器２８６は、ＣＣ復号後軟判定値から減算器２８７から出力されるＢＣ復号後外部値系列を減算し、ＣＣ復号後外部値系列をＬＤＰＣ−ＢＣ復号器２８２及び減算器２８７に出力する。なお、初回のＬＤＰＣ−ＣＣ復号時は、ＢＣ復号後外部値系列としてオールゼロ系列が与えられる。
【０１１０】
次に、ＬＤＰＣ−ＢＣ復号器２８２は、ＣＣ復号後外部値系列を用いてＬＤＰＣ−ＢＣ復号処理を行い、ＢＣ復号後軟判定値を硬判定部２８３及び減算器２８７に出力する。
【０１１１】
減算器２８７は、ＢＣ復号後軟判定値から、ＣＣ復号後外部値系列を減算し、ＢＣ復号後外部値系列をＬＤＰＣ−ＣＣ復号器２８１に出力する。
【０１１２】
ＬＤＰＣ−ＣＣ復号器２８１は、減算器２８７から出力されるＢＣ復号後外部値系列と、受信対数尤度比系列を用いて再度復号処理を行う。
【０１１３】
この繰り返し復号処理を所定の回数繰り返した後、硬判定部２８３は、ＢＣ復号後軟判定値を硬判定した値から、受信情報系列を得る。
【０１１４】
このように、ＬＤＰＣ復号部２８０を、ＬＤＰＣ−ＣＣ復号とＬＤＰＣ−ＢＣ復号とのターボ復号の構成にすることで、２つの復号処理による反復復号利得が得られるため、復号利得が向上し、誤り率特性が改善する。
【０１１５】
また、以上の説明では、ＬＤＰＣ符号化部１１０は、ＬＤＰＣ−ＣＣ符号化後に得られる送信符号語系列を用いてＬＤＰＣ−ＢＣ符号化を行う場合について説明した。ＬＤＰＣ−ＣＣ符号化後の送信符号語系列を用いてＬＤＰＣ−ＢＣ符号化を行う場合には、ＬＤＰＣ−ＢＣ符号の符号長を長くすることができ、ＬＤＰＣ−ＢＣの訂正能力を向上することができる。また、図１０で説明したようなターボ復号型の復号アルゴリズムを適用することができる。
【０１１６】
なお、ＬＤＰＣ−ＢＣ符号化は、送信符号語系列に代えて、送信情報系列に直接施して実施することもできる。つまり、ＬＤＰＣ−ＣＣ符号化器１１１は、送信情報系列にＬＤＰＣ−ＣＣ符号化を施すことによりＬＤＰＣ−ＣＣ符号語系列を取得する。ＬＤＰＣ−ＢＣ符号化器１１２は、当該送信情報系列にＬＤＰＣ−ＢＣ符号化を施すことによりパリティ系列を取得する。ＬＤＰＣ−ＣＣ符号化器１１１は、当該パリティ系列に、さらに、ＬＤＰＣ−ＣＣ符号化を施すようにしても良い。送信情報系列に直接ＬＤＰＣ−ＢＣ符号化を施す場合には、符号化されるビット数が、ＬＤＰＣ−ＢＣ検査行列の大きさに依存するため、符号化ビットが少なくなり、符号化・復号処理の演算量、遅延時間を削減できるという効果が得られる。
【０１１７】
また、以上の説明では、ＬＤＰＣ−ＢＣの検査行列ＨＢＣとして図７に示す検査行列の場合を例に説明したが、これに限るものではなく、例えばＱＣ（Quasi Cyclic）−ＬＤＰＣ符号、Ａｒｒａｙ−ＬＤＰＣ符号などの構造的（Structured）ＬＤＰＣ符号であっても良い。構造的ＬＤＰＣ符号の検査行列ＨＢＣは、単位行列、単位行列を任意の回数巡回シフトした行列、及びゼロ行列を縦・横に複数並べた形を採る。構造的ＬＤＰＣ符号の一例を図１１に示す。ここで、ＨＢＣの各要素は、ｚ×ｚの単位行列の巡回シフト量を表している。要素が０の場合は単位行列であり、要素が１以上の場合は、単位行列をその数だけ右に巡回シフトした行列を表す。また、要素が−の場合は、ｚ×ｚのゼロ行列を表す。
【０１１８】
このような構造的ＬＤＰＣ符号をＬＤＰＣ−ＢＣの検査行列として用いる際、単位行列のサイズｚをＬＤＰＣ−ＣＣのメモリ長Ｍと同じか、メモリ長よりも大きく設定することが効果的である。ＬＤＰＣ−ＣＣは畳み込み符号であるため、誤りが発生した場合、その誤りが影響する範囲はメモリ長Ｍ程度となる。そのため、この長さを超えるサイズの単位行列を用いて構造的ＬＤＰＣ符号を構成すれば、一つのＬＤＰＣ−ＣＣの誤りの影響は、パリティ検査方程式の中の１ビットのみとなるので、効果的にＬＤＰＣ−ＢＣによる誤り訂正を行うことができる。
【０１１９】
また、ＬＤＰＣ−ＢＣの検査行列ＨＢＣは、ＲＡ（Repeat and Accumulate）符号であっても良い。ＲＡ符号の例を図１２に示す。ＲＡ符号は、システマティックビット部分に対応するＨＲＡｓとパリティビット部分に対応するＨＲＡｐから構成される。
【０１２０】
ＲＡ符号を用いた場合のＬＤＰＣ−ＢＣ符号化器の構成例を図１３に示す。なお、図１３のＬＤＰＣ−ＢＣ符号化器３１２において、図３のＬＤＰＣ−ＢＣ符号化器１１２と共通する構成部分には、図３と同一の符号を付して説明を省略する。図１３のＬＤＰＣ−ＢＣ符号化器３１２は、図３のＬＤＰＣ−ＢＣ符号化器１１２に対し、切り替え器１１２２を削除し、並列・直列変換部１１２７及びＬＤＰＣ−ＢＣ符号化制御部１１２８に代え、並列・直列変換部３１２１及びＬＤＰＣ−ＢＣ符号化制御部３１２４を備え、加算器３１２２及び遅延器３１２３を含む構成を採る。
【０１２１】
並列・直列変換部３１２１は、ＬＤＰＣ−ＢＣ符号化制御部３１２４から、パリティ系列の出力を指示する指示信号を受け取ると、並列に蓄積していた加算器１１２４−１〜１１２４−Ｐの計算結果を、加算器１１２４−１の計算結果から順に直列に加算器３１２２に出力する。
【０１２２】
加算器３１２２は、並列・直列変換部３１２１から出力された値と遅延器３１２３から出力された値とのｍｏｄ２加算を行い、その結果をパリティ系列として出力する。
【０１２３】
ＲＡ符号のＨＲＡｐは、図１２に示すような構成を採るので、ＲＡ符号の符号化は、図１３に示すように送信情報系列にＨＲＡｓの乗算を行った後、得られたＰＲＡ個のビットを順にアキュムレートすることで実現することができる。
【０１２４】
ＲＡ符号を用いた場合においても、送信情報系列の終了のタイミングで、ＬＤＰＣ−ＢＣ符号化で得られるパリティ系列を出力することができ、任意の長さの送信情報系列に対するＬＤＰＣ符号化を行うことができる。
【０１２５】
（実施の形態２）
本実施の形態では、ＬＤＰＣ−ＣＣとＬＤＰＣ−ＢＣの双方の特徴を併せ持った検査行列を用いることで、ＬＤＰＣ−ＣＣのエラーフロアを改善することができるＬＤＰＣ符号化器及びＬＤＰＣ復号器について説明する。
【０１２６】
図１４に、本実施の形態における検査行列の一例を示す。図１４の検査行列４００の重みが存在する位置は、部分行列４１０と部分行列４２０の内部のみで、それ以外は全て０である。部分行列４１０は、検査行列４００の対角線に沿った台形の行列であり、これは、ＬＤＰＣ−ＣＣの検査行列に対応する。また、部分行列４２０は、検査行列４００の右端に位置する複数の列で構成される、部分行列４２０は、送信情報系列の全体にわたって重みが分布しており、これはＬＤＰＣ−ＢＣの検査行列に対応する。部分行列４２０の列数をＰとする。このような行列により、ＬＤＰＣ−ＣＣとＬＤＰＣ−ＢＣの双方の特徴を併せ持った検査行列を表現できる。
【０１２７】
検査行列４００に基づいたＬＤＰＣ−ＣＣ符号の符号化を行うＬＤＰＣ符号化器の構成例を図１５に示す。なお、図１５のＬＤＰＣ符号化部５１０において、図３のＬＤＰＣ−ＢＣ符号化器１１２と共通する構成部分には、図３と同一の符号を付して説明を省略する。
【０１２８】
図１５のＬＤＰＣ符号化部５１０は、シフトレジスタ５１２１−１〜５１２１−Ｍ，５１２４−１〜５１２４−Ｍ、ウェイト乗算部５１２２−０〜５１２２−Ｍ，５１２３−０〜５１２３−Ｍ、ウェイト制御部５１２４、ｍｏｄ２加算器５１２５、ウェイト乗算部１１２３−１〜１１２３−Ｐ、加算器１１２４−１〜１１２４−Ｐ、遅延器１１２５−１〜１１２５−Ｐ、部分検査行列記憶部５１２６、並列・直列変換部５１２７、ＬＤＰＣ−ＢＣ符号化制御部５１２８を含む構成である。
【０１２９】
部分検査行列記憶部５１２６は、検査行列４００のうちの部分行列４２０を記憶しており、重みの位置にあわせて１又は０をウェイト乗算部１１２３−１〜１１２３−Ｐに送出する。
【０１３０】
並列・直列変換部５１２７は、ＬＤＰＣ−ＢＣ符号化制御部５１２８からの指示信号に応じて、加算器１１２４−１〜１１２４−Ｐの出力を並列に蓄積するという動作（並列蓄積動作）と、加算器１１２４−１〜１１２４−Ｐの出力を加算器１１２４−１の出力から順に直列にｍｏｄ２加算器５１２５に出力するという動作（直列出力動作）を行う。なお、並列蓄積動作中は、並列・直列変換部５１２７は、並列・直列変換部５１２７の出力を常に０にする。このようにすれば、並列蓄積動作中において、並列・直列変換部５１２７の出力がｍｏｄ２加算器５１２５の計算結果に影響を与えない。
【０１３１】
ＬＤＰＣ−ＢＣ符号化制御部５１２８は、送信情報系列数をｎとする場合に、現在符号化を行っている送信情報系列のインデックスが、（ｎ−Ｐ）以下の場合、並列・直列変換部５１２７に並列蓄積動作をするように指示信号を送出する。一方、送信情報系列のインデックスが、（ｎ−Ｐ）より大きくなった場合は、並列・直列変換部５１２７に直列出力動作を行うように指示信号を送出する。
【０１３２】
このようにすることで、送信情報系列のインデックスが（ｎ−Ｐ）より大きくなった場合に、部分行列４２０と送信情報系列との演算結果がｍｏｄ２加算器５１２５で加算されるようになる。
【０１３３】
このように、ＬＤＰＣ符号化部５１０は、上記のような構成をとることにより、検査行列４００に基づいたＬＤＰＣ−ＣＣ符号の符号化を行うことができる。
【０１３４】
次に、検査行列４００に基づいてＬＤＰＣ−ＣＣ復号を行うＬＤＰＣ復号部について説明する。
【０１３５】
図１６に、検査行列４００に基づいてＬＤＰＣ−ＣＣ復号を行うＬＤＰＣ復号部の構成例を示す。図１６のＬＤＰＣ復号部６８０は、ＬＤＰＣ−ＢＣパリティ演算器６８１、ＬＤＰＣ−ＣＣ復号器６８２及びＬＤＰＣ−ＢＣ復号器２８２を備えて構成される。
【０１３６】
ＬＤＰＣ−ＢＣパリティ演算器６８１は、検査行列４００の部分行列４２０の重みの位置に基づき、受信対数尤度系列の入力に従ってＰ個の列に対応するパリティ検査式の演算を行う。また、受信対数尤度比系列のインデックスが、（ｎ−Ｐ）より大きくなると、Ｐ個あるパリティ演算結果（ｑ１〜ｑｐ）を順にＬＤＰＣ−ＣＣ復号器６８２に出力する。
【０１３７】
図１７に、ＬＤＰＣ−ＢＣパリティ演算器６８１の具体的な構成例を示す。図１７に示すＬＤＰＣ−ＢＣパリティ演算器６８１の構成は、図１５に示したＬＤＰＣ符号化部５１０のＬＤＰＣ−ＢＣ符号化部分と同様の構成を採っている。
【０１３８】
ＬＤＰＣ−ＣＣ復号器６８２は、ＬＤＰＣ−ＣＣ復号を行う。詳細には、ＬＤＰＣ−ＣＣ復号器６８２は、受信対数尤度比系列のインデックスが（ｎ−Ｐ）以下の場合はＬＤＰＣ−ＣＣ復号を行う。一方、インデックスが（ｎ−Ｐ）より大きい場合は、ＬＤＰＣ−ＢＣパリティ演算器６８１から出力されるパリティ演算結果を含めてＬＤＰＣ−ＣＣ復号を行う。以下、インデックスが（ｎ−Ｐ）より大きい場合のＬＤＰＣ−ＣＣ復号の例について説明する。
【０１３９】
図１８は、インデックスが（ｎ−Ｐ）より大きい場合のＬＤＰＣ−ＣＣ復号に用いるＬＤＰＣ−ＣＣ検査行列を示す。図１８のＬＤＰＣ−ＣＣ検査行列７００は、部分行列４１０と、追加部分行列７１０とから構成される。図１４の部分行列４２０の列数をＰとした場合、追加部分行列７１０は、Ｐ×Ｐの正方行列となる（図１８の例では９×９の正方行列）。また、追加部分行列７１０の各行は、それぞれ、図１７のＬＤＰＣ−ＢＣパリティ演算器６８１から出力されるＬＤＰＣ−ＢＣパリティビットｑ１〜ｑｐに対応している。
【０１４０】
ＬＤＰＣ−ＣＣ復号器６８２は、この追加部分行列７１０中に含まれる重みも考慮して、ＬＤＰＣ−ＣＣ復号を行う。ＬＤＰＣ−ＣＣ復号器６８２は、ＬＤＰＣ−ＣＣ復号後のＣＣ復号後対数尤度比系列を、ＬＤＰＣ−ＢＣ復号器２８２に送出する。
【０１４１】
ＬＤＰＣ−ＢＣ復号器２８２は、部分行列４１０を用いて取得されたＣＣ復号後対数尤度比系列に対し、ＬＤＰＣ−ＢＣ復号処理を施す。ＬＤＰＣ−ＢＣ復号器２８２は、ＬＤＰＣ−ＢＣ復号後のＢＣ復号後対数尤度比系列を硬判定した後出力する。
【０１４２】
このようにＬＤＰＣ復号部６８０は、ＬＤＰＣ−ＣＣ復号後に、ＬＤＰＣ−ＢＣ復号を行うという構成を採る。このため、ＬＤＰＣ復号部６８０は、ＬＤＰＣ−ＣＣの最小距離が小さいことによりエラーフロアが生じた場合でも、発生した誤りをＬＤＰＣ−ＢＣ復号により適切に訂正することができる。
【０１４３】
以上のように、本実施の形態によれば、ＬＤＰＣ符号化部５１０は、対角成分がＬＤＰＣ−ＣＣ検査行列の対角成分であって、かつ、右端の複数行列がＬＤＰＣ−ＢＣ検査行列と入力データとを用いてＬＤＰＣ−ＣＣ符号語系列を生成するようにした。ＬＤＰＣ−ＣＣとＬＤＰＣ−ＢＣの双方の特徴を併せ持った検査行列を用いることで、ＬＤＰＣ−ＣＣの最小距離が小さいことによりエラーフロアが生じた場合でも、発生した誤りをＬＤＰＣ−ＢＣ復号に訂正しエラーフロアを改善することができる。
【０１４４】
（変形例）
なお、図１９に、ＬＤＰＣ復号部の別の構成例を示す。図１９に示すＬＤＰＣ復号部６８０ａは、ＬＤＰＣ−ＢＣパリティ演算器６８１ａ、ＬＤＰＣ−ＣＣ復号器６８２ａ及びＬＤＰＣ−ＢＣ復号器６８３を備えて構成され、ＬＤＰＣ−ＣＣの復号処理と、ＬＤＰＣ−ＢＣの復号処理を反復して行う。
【０１４５】
ＬＤＰＣ−ＣＣ復号器６８２ａは、ＬＤＰＣ−ＣＣ復号器６８２と同様に、ＬＤＰＣ−ＣＣ復号を行い、ＬＤＰＣ−ＣＣ復号後のＣＣ復号後対数尤度比系列をＬＤＰＣ−ＢＣ復号器６８３に送出する。
【０１４６】
ＬＤＰＣ−ＢＣ復号器６８３は、取得されたＣＣ復号後対数尤度比系列に対し、ＬＤＰＣ−ＢＣ復号処理を施し、ＬＤＰＣ−ＢＣ復号後のＢＣ復号後対数尤度比系列を、ＬＤＰＣ−ＢＣパリティ演算器６８１ａ及びＬＤＰＣ−ＣＣ復号器６８２ａに出力する。
【０１４７】
このように、ＬＤＰＣ復号部６８０ａは、ＬＤＰＣ復号部６８０と同様の一連の動作を行った後、ＬＤＰＣ−ＢＣ復号器６８３が出力したＢＣ復号後対数尤度比系列をＬＤＰＣ−ＣＣ復号器６８２ａ及びＬＤＰＣ−ＢＣパリティ演算器６８１ａに送出する。
【０１４８】
ＬＤＰＣ−ＢＣパリティ演算器６８１ａは、ＢＣ復号後対数尤度比系列を事前値としてＬＤＰＣ−ＢＣのパリティ演算を行う。また、ＬＤＰＣ−ＣＣ復号器６８２ａは、ＢＣ復号後対数尤度比系列を事前値としてＬＤＰＣ−ＣＣ復号を行う。このようにすることで、ＬＤＰＣ−ＢＣ復号により利得が向上した対数尤度比系列を用いて、再度ＬＤＰＣ−ＣＣ復号処理を行うことができるので、ＬＤＰＣ−ＣＣ復号によって得られる符号化ゲインを大きくすることができる。その結果ＬＤＰＣ−ＣＣのエラーフロア改善効果がさらに向上する。
【０１４９】
また、図２０にＬＤＰＣ復号部にさらに別の構成例を示す。図２０に示すＬＤＰＣ復号部６８０ｂは、ＬＤＰＣ−ＣＣ・ＢＣ復号器６８４を備える。ＬＤＰＣ−ＣＣ・ＢＣ復号器６８４は、検査行列４００で与えられるＬＤＰＣ符号を一つのブロック符号と考えて、一括して復号する。このようにすることで、ＬＤＰＣ−ＣＣとＬＤＰＣ−ＢＣの復号を一つの復号器で実施することができ、また、エラーフロア改善効果も得ることができる。
【０１５０】
ＬＤＰＣ−ＣＣ・ＢＣ復号器６８４は、図１４に示す検査行列４００を用いて、よく知られたBelief Propagation、または、Sum-Productアルゴリズムを用いた復号を行う。
【０１５１】
（実施の形態３）
実施の形態１では、ＬＤＰＣ−ＢＣ符号化器が、検査行列ＨＢＣを用いてＬＤＰＣ−ＢＣ符号化を行う場合について説明した。ＬＤＰＣ−ＢＣの符号化方法としては、検査行列を用いる方法に代えて、生成行列を用いる方法も適用することができる。本実施の形態では、生成行列を用いてＬＤＰＣ−ＢＣ符号化を行うＬＤＰＣ−ＢＣ符号化器について説明する。
【０１５２】
なお、生成行列を用いてＬＤＰＣ−ＢＣ符号化されたＬＤＰＣ−ＢＣ符号語の復号には、検査行列を用いてＬＤＰＣ−ＢＣ符号化されたＬＤＰＣ−ＢＣ符号語を復号する場合と同様に、Belief Propagation復号、または、Sum-Product復号などの反復復号を適用することができる。そのため、以下では、復号方法についての説明を省略し、符号化方法のみについて説明する。
【０１５３】
始めに、検査行列ＨＢＣを用いて生成行列ＧＢＣを導出する方法について説明する。
【０１５４】
検査行列ＨＢＣ（Ｋ×Ｎ行列）のうち、情報ビット部分に対応する部分行列をＨＢＣｓ（Ｋ×（Ｎ−Ｋ）行列）、パリティビット部分に対応する部分行列をＨＢＣｐ（Ｋ×Ｋ行列）とすると、以下の等式が成立する。
【数４】
0005219699.tif 000005
式（４）において、ｓは情報系列を表し、ｐはパリティ系列を表す。
【０１５５】
これらは全てＧＦ（２）上で考えることができ、このとき式（４）は以下のように変形することができる。
【数５】
0005219699.tif 000006
【数６】
0005219699.tif 000007
【０１５６】
ここで、式（５）及び式（６）のＧＢＣ（Ｋ×（Ｎ−Ｋ）行列）を生成行列と定義する。式（５）より、情報系列ｓに生成行列ＧＢＣを乗算することでパリティ系列ｐが得られる。すなわち、生成行列ＧＢＣを用いたＬＤＰＣ−ＢＣ符号化が実現される。
【０１５７】
ＬＤＰＣ−ＢＣの検査行列ＨＢＣは、ＧＦ（２）上の行列（行列の各要素が０又は１）であるため、ＨＢＣを変形して得られた生成行列ＧＢＣもＧＦ（２）上の行列となる。そのため、生成行列ＧＢＣと情報ビット系列ｓとの乗算は、ｍｏｄ２加算（排他的論理和）のみで実現することができる。
【０１５８】
（ＬＤＰＣ−ＢＣ符号化器の構成）
次に、上述の生成行列ＧＢＣを用いてＬＤＰＣ―ＢＣ符号化を行うＬＤＰＣ−ＢＣ符号化器について説明する。
【０１５９】
図２１に、本実施の形態におけるＬＤＰＣ−ＢＣ符号化器８１２の構成を示す。なお、図２１のＬＤＰＣ−ＢＣ符号化器８１２において、図３のＬＤＰＣ−ＢＣ符号化器１１２と共通する構成部分には、図３と同一の符号を付して詳しい説明を省略する。
【０１６０】
ＬＤＰＣ−ＢＣ符号化器８１２は、並列・直列変換部１１２１、ウェイト乗算部１１２３−１〜１１２３−Ｐ、加算器１１２４−１〜１１２４−Ｐ、遅延器１１２５−１〜１１２５−Ｐ、生成行列記憶部８１２６、並列・直列変換部８１２７、及びＬＤＰＣ−ＢＣ符号化制御部８１２８を含む構成である。
【０１６１】
並列・直列変換部１１２１は、ＬＤＰＣ−ＣＣ符号化器１１１から並列に出力されるＬＤＰＣ−ＣＣ符号化後の送信符号語系列ｖ１,ｔ、ｖ２,ｔを直列の系列に変換し、ウェイト乗算部１１２３−１〜１１２３−Ｐに出力する。
【０１６２】
ウェイト乗算部１１２３−１〜１１２３−Ｐは、生成行列記憶部８１２６に記憶されている生成行列の重みの位置に従い、入力されてきたビットに対して１又は０のウェイトを乗算する。なお、ウェイト乗算部１１２３−１〜１１２３−Ｐは、入力されてきたビットに直接１又は０を乗算する構成にしても良い。また、ウェイト乗算部１１２３−１〜１１２３−Ｐは、重みが１の場合は、入力ビットを後段に出力し、０の場合は、入力ビットに関わらず０を出力するという構成を採っても良い。
【０１６３】
加算器１１２４−１〜１１２４−Ｐは、ウェイト乗算部１１２３−１〜１１２３−Ｐから出力されるビットと、遅延器１１２５−１〜１１２５−Ｐから出力されるビットのｍｏｄ２加算（排他的論理和演算）を行い、その結果を並列・直列変換部８１２７に出力する。
【０１６４】
遅延器１１２５−１〜１１２５−Ｐは、入力ビットを１ビット分遅延させて出力する。
【０１６５】
生成行列記憶部８１２６は、ＬＤＰＣ−ＢＣ符号化を行う生成行列ＧＢＣを記憶しており、時刻に応じて、ウェイト乗算部１１２３−１〜１１２３−Ｐに１又は０の重みを出力する。
【０１６６】
並列・直列変換部８１２７は、加算器１１２４−１〜１１２４−Ｐの出力結果であるパリティビットを並列にアキュムレートし、アキュムレートしたＰ個のパリティビットを直列に変換してパリティ系列ｖＢＣ,ｐとして出力する。なお、並列・直列変換部８１２７は、パリティビットをアキュムレートするタイミングと、アキュムレートしたパリティビットを直列に出力するタイミングとを、ＬＤＰＣ−ＢＣ符号化制御部８１２８からの指示信号に応じて切り替える。
【０１６７】
ＬＤＰＣ−ＢＣ符号化制御部８１２８は、並列・直列変換部８１２７に指示信号を出力することにより、並列・直列変換部８１２７が、パリティビットをアキュムレートするか、アキュムレートしたパリティビットを直列に出力するか、切り替える。
【０１６８】
具体的には、ＬＤＰＣ−ＢＣ符号化制御部８１２８は、送信情報系列のＬＤＰＣ−ＣＣ符号語の系列（ｖ１,０、ｖ２,０）が入力されたタイミングで、並列・直列変換部８１２７に、パリティビットをアキュムレートする指示を与える指示信号を出力する。
【０１６９】
次に、ＬＤＰＣ−ＢＣ符号化制御部８１２８は、送信情報系列のＬＤＰＣ−ＣＣ符号語系列が入力し終わったタイミング（ｖ１,ｎ、ｖ２,ｎまで入力されたタイミング（パリティ符号化期間））において、並列・直列変換部８１２７に、アキュムレートしたパリティビットを、パリティ系列ｖＢＣ,ｐとして直列に出力する指示を与える指示信号を出力する。具体的には、ＬＤＰＣ−ＢＣ符号化制御部８１２８は、並列・直列変換部８１２７に、加算器１１２４−１の出力を初めに出力し、以降、加算器１１２４−Ｐの出力まで順に出力していくよう指示する。この指示信号により、並列・直列変換部８１２７は、パリティ系列ｖＢＣを出力する。
【０１７０】
なお、生成行列記憶部８１２６から生成行列ＧＢＣの最終列のウェイトが出力される途中で、パリティ系列ｖＢＣ,ｐを直列に出力するよう指示信号が出された場合、並列・直列変換部８１２７は、アキュムレートしたパリティビットを直ちにパリティ系列ｖＢＣとして直列に出力する。
【０１７１】
パリティ系列ｖＢＣ,ｐを直列に出力するよう指示信号が出されたタイミングで、生成行列記憶部８１２６から生成行列ＧＢＣの第ｋ列までのウェイトまでしかウェイト乗算部１１２３−１〜１１２３−Ｐに出力されていなかった場合、当該タイミングで並列・直列変換部８１２７から出力されるパリティ系列ｖＢＣは、情報ビットの第ｋ＋１番目から第ＫＢＣ番目までが全て０であると仮定して符号化を行った場合に得られるパリティ系列ｖＢＣと等価になる。なお、２ｎ＝ｋ、ＫＢＣ＞２ｎとなる。従って、復号時に、この仮定に基づいて復号処理を実施することにより、復号特性の劣化を防ぐことができる。
【０１７２】
ＬＤＰＣ−ＢＣ符号化器８１２の並列・直列変換部１１２１では、まず、並列に入力される送信符号語系列ｖ１,ｔ、ｖ２,ｔが直列に変換され、直列変換後の送信符号語系列ｖ１,ｔ、ｖ２,ｔは、ウェイト乗算部１１２３−１〜１１２３−Ｐに送出される。
【０１７３】
ウェイト乗算部１１２３−１〜１１２３−Ｐでは、検査行列記憶部８１２６に記憶されている検査行列に基づいて、送信符号語系列ｖ１,ｔ、ｖ２,ｔに対して１又は０の乗算が行われる。
【０１７４】
図２２に、符号化率Ｒ１／２の場合の生成行列ＧＢＣの一例を示す。図２２の生成行列ＧＢＣは、ＰＢＣ列ＫＢＣ行の行列である。生成行列ＧＢＣの各行は、パリティ系列ｐの生成多項式に対応し、各列は情報系列ｓに対応する。
【０１７５】
送信符号語系列ｖ１,ｔ，ｖ２,ｔの入力がある場合（システマティック符号化期間）、生成行列記憶部８１２６から、生成行列ＧＢＣの各列の重みがそれぞれウェイト乗算部１１２３−１〜１１２３−Ｐに送出される。ここで、ウェイトは、生成行列ＧＢＣの第１列目から順に送出される。次に、ウェイト乗算部１１２３−１〜１１２３−Ｐ、加算器１１２４−１〜１１２４−Ｐ、遅延器１１２５−１〜１１２５−Ｐのそれぞれでは、生成行列ＧＢＣの１行目からＰ行目のパリティ生成多項式に対応する演算が行なわれ、結果が並列・直列変換部８１２７に出力される。なお、並列・直列変換部８１２７では、ＬＤＰＣ−ＢＣ符号化制御部８１２８から、システマティック符号化期間であることが通知されている間は、加算器１１２４−１〜１１２４−Ｐの出力がそれぞれ蓄積（アキュムレート）される。
【０１７６】
パリティ符号化期間では、ＬＤＰＣ−ＢＣ符号化制御部８１２８から、パリティ符号化期間であることを示す指示信号が並列・直列変換部８１２７に通知される。
【０１７７】
並列・直列変換部８１２７からは、パリティ符号化期間の場合、検査行列ＧＢＣの第１行に対応する加算器１１２４−１の出力から順に、ＬＤＰＣ−ＣＣ符号化器１１１に、それぞれ対応する加算器１１２４−１〜１１２４−Ｐの出力が直列に出力される。
【０１７８】
以上のように、本実施の形態では、誤り訂正符号化部１１０に、生成行列ＧＢＣを用いたＬＤＰＣ−ＢＣ符号化を行うＬＤＰＣ−ＢＣ符号化器８１２を備えるようにした。実施の形態１におけるＬＤＰＣ−ＢＣ符号化器１１２では、検査行列ＨＢＣがＬＤＧＭのように下三角行列を含むことを利用して、パリティビットを算出するようにした。これに対し、本実施の形態では、パリティビットは生成行列ＧＢＣを用いて算出されるため、検査行列ＨＢＣが下三角行列を含まない場合においても、ＬＤＰＣ−ＢＣの符号化を行うことができる。
【０１７９】
また、実施の形態１におけるＬＤＰＣ−ＢＣ符号化器１１２は、部分検査行列ＨＢＣｐが下三角行列の検査行列ＨＢＣを用いてパリティビットを逐次的に求めるため、パリティ系列ｖＢＣ,ｐをフィードバックするための結線及び切り替え器１１２２が必要であった。これに対し、本実施の形態におけるＬＤＰＣ−ＢＣ符号化器８１２は、生成行列ＧＢＣを用いてパリティビットを一斉に算出するため、パリティ系列ｖＢＣ,ｐをフィードバックするための結線及び切り替え器１１２２が不要となる。また、本実施の形態では、フィードバックされたパリティ系列ｖＢＣ,ｐに対するＬＤＰＣ−ＢＣ符号化処理が不要となる。
【０１８０】
なお、上記実施の形態では、畳み込み符号としてＬＤＰＣ−ＣＣを用いる場合について説明したが、畳み込み符号はＬＤＰＣ−ＣＣに限られない。拘束長が比較的短く、検査行列が低密度にならない畳み込み符号であっても、本発明により、上記と同様に、エラーフロアを改善することができる。特に、畳み込み符号にＬＤＰＣ−ＣＣを用いると、復号側でSum-Product法などの反復復号を用いることにより、拘束長の長い畳み込み符号を使うことができるので、さらにより高い復号特性を得ることができる。
【０１８１】
また、上記実施の形態では、ブロック符号として、ＬＤＰＣ−ＢＣ、ＲＡ符号を用いる場合について説明したが、ブロック符号はＬＤＰＣ−ＢＣ、ＲＡ符号に限られない。ＬＤＰＣ−ＢＣ符号化器は、ブロック符号のシステマティックビット部分に相当する部分行列ＨＢＣｓのサイズ（列数）を、送信装置を含む通信システムが取りうる、送信情報系列の畳み込み符号語系列数の最大値とする。これにより、上記と同様に、ＬＤＰＣ−ＢＣ符号化器は、ブロック符号化されない送信情報系列の畳み込み符号語が発生するのを回避することができる。
【０１８２】
また、この符号化方法及び復号方法をソフトウェアとして行うことも可能である。例えば、上記符号化方法及び通信方法を実行するプログラムを予めＲＯＭ（Read Only Memory）に格納しておき、そのプログラムをＣＰＵ（Central Processor Unit）によって動作させるようにしても良い。
【０１８３】
また、上記符号化方法及び復号方法を実行するプログラムを、コンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのＲＡＭ（Random Access Memory）に記録して、コンピュータをそのプログラムに従って動作させるようにしても良い。
【０１８４】
また、本発明は、無線通信に限らず、電灯線通信（ＰＬＣ：Power Line Communication）、可視光通信、光通信においても有用であることは言うまでもない。
【産業上の利用可能性】
【０１８５】
本発明にかかる符号化装置及び復号装置は、任意の長さの情報系列に対して、符号化・復号が可能な畳み込み符号の特徴を用いて、エラーフロアを改善することができる。例えば、本発明に係る符号化装置及び復号装置は、ＬＤＰＣ符号を用いて誤り訂正符号化を施す符号化装置、ＬＤＰＣ符号化された符号系列を復号する復号装置などに有用である。
【図面の簡単な説明】
【０１８６】
【図１】本発明の実施の形態１における送信装置の構成を示すブロック図
【図２】実施の形態１におけるＬＤＰＣ符号化部の構成例を示すブロック図
【図３】実施の形態１におけるＬＤＰＣ−ＢＣ符号化器の構成例を示すブロック図
【図４】実施の形態１における受信装置の構成を示すブロック図
【図５】実施の形態１におけるＬＤＰＣ復号部の構成例を示すブロック図
【図６】ＬＤＰＣ符号化部の動作を説明するためのタイミング図
【図７】検査行列記憶部に記憶されている検査行列の一例
【図８】ＬＤＰＣ復号部の別の構成例を示すブロック図
【図９】ＬＤＰＣ復号部の別の構成例を示すブロック図
【図１０】ＬＤＰＣ復号部の別の構成例を示すブロック図
【図１１】構造的ＬＤＰＣ符号の一例を示す図
【図１２】ＲＡ符号の一例を示す図
【図１３】ＲＡ符号を用いた場合のＬＤＰＣ−ＢＣ符号化器の構成例を示すブロック図
【図１４】本発明の実施の形態２における検査行列の一例を示す図
【図１５】実施の形態２におけるＬＤＰＣ符号化部の構成例を示すブロック図
【図１６】実施の形態２におけるＬＤＰＣ復号部の構成例を示すブロック図
【図１７】実施の形態２におけるＬＤＰＣ−ＢＣパリティ演算器の構成例を示すブロック図
【図１８】実施の形態２における検査行列の一例を示す図
【図１９】ＬＤＰＣ復号部の別の構成例を示すブロック図
【図２０】ＬＤＰＣ復号部の別の構成例を示すブロック図
【図２１】本発明の実施の形態３におけるＬＤＰＣ−ＢＣ符号化器の構成例を示すブロック図
【図２２】実施の形態３における生成行列の一例を示す図
【図２３】ＬＤＰＣ−ＣＣの検査行列の一例を示す図
【図２４】ＬＤＰＣ−ＣＣ符号化器の構成例を示すブロック図
【符号の説明】
【０１８７】
１００  送信装置
１１０，５１０  ＬＤＰＣ符号化部
１２０  インタリーブ部
１３０  変調部
１４０  制御情報生成部
１５０，２２０  無線部
１６０  送信アンテナ
１１１  ＬＤＰＣ−ＣＣ符号化器
１１２，３１２，８１２  ＬＤＰＣ−ＢＣ符号化器
１１３  切り替え器
２００  受信装置
２１０  受信アンテナ
２３０  直交復調部
２４０  チャネル変動推定部
２５０  制御情報検波部
２６０  対数尤度演算部
２７０  デインタリーブ部
２８０，６８０，６８０ａ，６８０ｂ  ＬＤＰＣ復号部
２８１，６８２，６８２ａ  ＬＤＰＣ−ＣＣ復号器
２８２，６８３  ＬＤＰＣ−ＢＣ復号器
２８３  硬判定部
２８４  誤り検出・ラベル付け部
２８５  ＬＤＰＣ−ＢＣ消失訂正復号器
２８６，２８７  減算器
６８１，６８１ａ  ＬＤＰＣ−ＢＣパリティ演算器
６８４  ＬＤＰＣ−ＣＣ・ＢＣ復号器
１１２１  並列・直列変換部
１１２２  切り替え器
１１２３−１〜１１２３−Ｐ，５１２２−０〜５１２２−Ｍ，５１２３−０〜５１２３−Ｍ  ウェイト乗算部
１１２４−１〜１１２４−Ｐ，３１２２  加算器
１１２５−１〜１１２５−Ｐ，３１２３  遅延器
１１２６，８１２６  検査行列記憶部
１１２７，３１２１，５１２７，８１２７  並列・直列変換部
１１２８，３１２４，５１２８  ＬＤＰＣ−ＢＣ符号化制御部
５１２１−１〜５１２１−Ｍ，５１２４−１〜５１２４−Ｍ  シフトレジスタ
５１２４  ウェイト制御部
５１２５  ｍｏｄ２加算器
５１２６  部分検査行列記憶部
【図１】
0005219699.tif 000008
【図２】
0005219699.tif 000009
【図３】
0005219699.tif 000010
【図４】
0005219699.tif 000011
【図５】
0005219699.tif 000012
【図６】
0005219699.tif 000013
【図７】
0005219699.tif 000014
【図８】
0005219699.tif 000015
【図９】
0005219699.tif 000016
【図１０】
0005219699.tif 000017
【図１１】
0005219699.tif 000018
【図１２】
0005219699.tif 000019
【図１３】
0005219699.tif 000020
【図１４】
0005219699.tif 000021
【図１５】
0005219699.tif 000022
【図１６】
0005219699.tif 000023
【図１７】
0005219699.tif 000024
【図１８】
0005219699.tif 000025
【図１９】
0005219699.tif 000026
【図２０】
0005219699.tif 000027
【図２１】
0005219699.tif 000028
【図２２】
0005219699.tif 000029
【図２３】
0005219699.tif 000030
【図２４】
0005219699.tif 000031