(57)【要約】【課題】畳み込み符号化された信号を復号するための処理量を低減したい。【解決手段】生成部６０は、拘束長および符号化率に応じて規定された生成行列によって畳み込み符号化されたビットデータであって、かつ符号化率をもとに規定される系列数のビットデータを順次入力する。仮復号データシフトレジスタ部６６は、仮復号データ４１０に対して、少なくとも拘束長に応じた期間にわたって遅延を行う。生成部６０は、遅延を行った仮復号データ４１０および入力したビットデータに対して、生成行列をもとにした排他的論理和演算を実行することによって、復号の候補となるビットデータを系列単位に生成する。比較部６２および選択部６４は、生成した系列単位のビットデータのうちのいずれかを復号結果として選択し、選択した復号結果を出力する。【選択図】図４
2007288766.tif 000002
【特許請求の範囲】
【請求項１】
拘束長および符号化率に応じて規定された生成行列によって畳み込み符号化されたビットデータであって、かつ符号化率をもとに規定される系列数のビットデータを順次入力する入力部と、
前記入力部において入力したビットデータの復号結果としてのビットデータに対して、少なくとも拘束長に応じた期間にわたって遅延を行う遅延部と、
前記遅延部において遅延を行ったビットデータおよび前記入力部において入力したビットデータに対して、生成行列をもとにした排他的論理和演算を実行することによって、復号の候補となるビットデータを系列単位に生成する生成部と、
前記生成部において生成した系列単位のビットデータのうちのいずれかを復号結果として選択し、選択した復号結果を前記遅延部に出力する選択部と、
を備えることを特徴とする復号装置。
【請求項２】
前記入力部に入力されるビットデータの系列数は奇数であり、
前記選択部は、奇数個のビットデータに対して多数決を行うことによって、復号結果としてのビットデータを選択することを特徴とする請求項１に記載の復号装置。
【請求項３】
前記遅延部において遅延されているビットデータを補正する補正部をさらに備え、
前記入力部において入力したビットデータの系列数は奇数であり、ビットデータの系列数よりも小さい奇数の系列に、デパンクチャ処理によって追加されたビットデータが挿入されており、
前記選択部は、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータのうち、いずれかを選択するとともに、選択したビットデータの信頼性情報を生成し、
前記遅延部は、前記選択部において選択したビットデータを遅延させるとともに、前記選択部において生成した信頼性情報を遅延させ、
前記補正部は、前記遅延部において遅延した信頼性情報と、前記選択部において生成した信頼性情報をもとに、ビットデータの補正を行うことを特徴とする請求項１に記載の復号装置。
【請求項４】
前記入力部において入力したビットデータのうち、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になるタイミングも存在し、
前記選択部は、前記タイミングにおいて、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを選択するとともに、予め定めた信頼性情報を生成し、
前記補正部は、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１にならないタイミングにおいて、補正を実行することを特徴とする請求項３に記載の復号装置。
【請求項５】
前記入力部に入力されるビットデータの系列数は奇数であり、
前記選択部は、前記生成部において生成した系列単位のビットデータを加算し、加算結果をもとに、復号結果としてのビットデータを選択することを特徴とする請求項１に記載の復号装置。
【請求項６】
前記遅延部において遅延されているビットデータを補正する補正部をさらに備え、
前記入力部において入力したビットデータの系列数は奇数であり、ビットデータの系列数よりも小さい奇数の系列に、デパンクチャ処理によって追加されたビットデータが挿入されており、
前記選択部は、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを加算し、加算結果をもとに、復号結果としてのビットデータを選択するとともに、選択したビットデータの信頼性情報を生成し、
前記遅延部は、前記選択部において選択したビットデータを遅延させるとともに、前記選択部において生成した信頼性情報を遅延させ、
前記補正部は、前記遅延部において遅延した信頼性情報と、前記選択部において生成した信頼性情報をもとに、ビットデータの補正を行うことを特徴とする請求項１に記載の復号装置。
【請求項７】
前記入力部において入力したビットデータのうち、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になるタイミングも存在し、
前記選択部は、前記タイミングにおいて加算を行わず、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを選択するとともに、予め定めた信頼性情報を生成し、
前記補正部は、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１にならないタイミングにおいて、補正を実行することを特徴とする請求項６に記載の復号装置。
【請求項８】
請求項１から７のいずれかに記載の復号装置と、
ビタビ復号器と、
前記復号装置と前記ビタビ復号器のいずれかを選択する復号選択部と、
を備えることを特徴とする受信装置。
【請求項９】
本受信装置に入力されるビットデータに対する品質を評価する評価部をさらに備え、
前記復号選択部は、前記評価部における評価結果をもとに選択を実行することを特徴とする請求項８に記載の受信装置。
【請求項１０】
前記評価部は、ビットデータに対する品質として、ビットデータのもとになる受信信号の強度を測定し、
前記復号選択部は、前記評価部において測定した強度をもとに選択を実行することを特徴とする請求項９に記載の受信装置。
【請求項１１】
前記評価部は、ビットデータに対する品質として、前記復号装置あるいは前記ビタビ復号器での復号結果に含まれる誤りの程度を評価することを特徴とする請求項９に記載の受信装置。
【請求項１２】
請求項３、４、６、７のいずれかに記載の復号装置と、
前記復号装置における復号結果の品質を評価する評価部と、
ビタビ復号器と、
前記評価部における評価結果をもとに、前記復号装置から前記ビタビ復号器への切替を実行する復号選択部とを備え、
前記評価部は、復号結果の評価として、前記復号装置での補正部において補正がなされた場合を検出し、
前記復号選択部は、前記評価部での検出数が増加すると、切替を実行することを特徴とする受信装置。
【請求項１３】
請求項３、４、６、７のいずれかに記載の復号装置と、
前記復号装置における復号結果の品質を評価する評価部と、
前記評価部における評価結果をもとにした送信条件を送信装置に通知する通知部と、
を備えることを特徴とする受信装置。
【請求項１４】
拘束長および符号化率に応じて規定された生成行列によって畳み込み符号化されたビットデータであって、かつ符号化率をもとに規定される系列数のビットデータを順次入力するステップと、
入力したビットデータの復号結果としてのビットデータに対して、少なくとも拘束長に応じた期間にわたって遅延を行うステップと、
遅延を行ったビットデータおよび入力したビットデータに対して、生成行列をもとにした排他的論理和演算を実行することによって、復号の候補となるビットデータを系列単位に生成するステップと、
生成した系列単位のビットデータのうちのいずれかを復号結果として選択するステップと、
を備えることを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号技術に関し、特に畳み込み符号化された信号を復号する復号方法ならびにそれを利用した復号装置および受信装置に関する。
【背景技術】
【０００２】
伝送路において生じた信号の誤りを訂正するための符号化技術のひとつに、畳み込み符号化技術があり、畳み込み符号化された信号を復号するための復号器としてビタビ復号器がある。このような畳み込み符号化とビタビ復号の組合せによって、高い誤り訂正能力を実現できる（例えば、特許文献１参照）。
【特許文献１】特開平５−２４４０１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年、畳み込み符号化技術が、移動通信や無線ＬＡＮ等にも適用され、そのため、バッテリー駆動の端末装置においても、畳み込み符号化された信号を復号する必要性が生じている。ビタビ復号において、一般的に、処理量は大きく、消費電力も大きい。そのため、畳み込み符号化された信号を復号するための処理量の低減が望まれている。
【０００４】
本発明者はこうした状況を認識して本発明をなしたものであり、その目的は、畳み込み符号化された信号を復号するための処理量を低減する復号技術を提供することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様の復号装置は、拘束長および符号化率に応じて規定された生成行列によって畳み込み符号化されたビットデータであって、かつ符号化率をもとに規定される系列数のビットデータを順次入力する入力部と、入力部において入力したビットデータの復号結果としてのビットデータに対して、少なくとも拘束長に応じた期間にわたって遅延を行う遅延部と、遅延部において遅延を行ったビットデータおよび入力部において入力したビットデータに対して、生成行列をもとにした排他的論理和演算を実行することによって、復号の候補となるビットデータを系列単位に生成する生成部と、生成部において生成した系列単位のビットデータのうちのいずれかを復号結果として選択し、選択した復号結果を遅延部に出力する選択部と、を備える。
【０００６】
この態様によると、生成行列をもとにした排他的論理和演算を実行するので、処理量を低減でき、生成した系列単位のビットデータのうちのいずれかを復号結果として選択するので、受信品質の低減を小さくできる。
【０００７】
入力部に入力されるビットデータの系列数は奇数であり、選択部は、奇数個のビットデータに対して多数決を行うことによって、復号結果としてのビットデータを選択してもよい。この場合、多数決によって選択を実行するので、処理を簡易にできる。
【０００８】
遅延部において遅延されているビットデータを補正する補正部をさらに備えてもよい。入力部において入力したビットデータの系列数は奇数であり、ビットデータの系列数よりも小さい奇数の系列に、デパンクチャ処理によって追加されたビットデータが挿入されており、選択部は、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータのうち、いずれかを選択するとともに、選択したビットデータの信頼性情報を生成し、遅延部は、選択部において選択したビットデータを遅延させるとともに、選択部において生成した信頼性情報を遅延させ、補正部は、遅延部において遅延した信頼性情報と、選択部において生成した信頼性情報をもとに、ビットデータの補正を行う。この場合、信頼性情報をもとに、ビットデータを補正するので、受信品質の低減を小さくできる。
【０００９】
入力部において入力したビットデータのうち、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になるタイミングも存在し、選択部は、タイミングにおいて、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを選択するとともに、予め定めた信頼性情報を生成し、補正部は、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１にならないタイミングにおいて、補正を実行してもよい。この場合、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になる場合であっても、復号を実行できる。
【００１０】
入力部に入力されるビットデータの系列数は奇数であり、選択部は、生成部において生成した系列単位のビットデータを加算し、加算結果をもとに、復号結果としてのビットデータを選択してもよい。この場合、多数決によって選択を実行するので、処理を簡易にできる。
【００１１】
遅延部において遅延されているビットデータを補正する補正部をさらに備えてもよい。入力部において入力したビットデータの系列数は奇数であり、ビットデータの系列数よりも小さい奇数の系列に、デパンクチャ処理によって追加されたビットデータが挿入されており、選択部は、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを加算し、加算結果をもとに、復号結果としてのビットデータを選択するとともに、選択したビットデータの信頼性情報を生成し、遅延部は、選択部において選択したビットデータを遅延させるとともに、選択部において生成した信頼性情報を遅延させ、補正部は、遅延部において遅延した信頼性情報と、選択部において生成した信頼性情報をもとに、ビットデータの補正を行う。この場合、信頼性情報をもとに、ビットデータを補正するので、受信品質の低減を小さくできる。
【００１２】
入力部において入力したビットデータのうち、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になるタイミングも存在し、選択部は、タイミングにおいて加算を行わず、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを選択するとともに、予め定めた信頼性情報を生成し、補正部は、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１にならないタイミングにおいて、補正を実行してもよい。この場合、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になる場合であっても、復号を実行できる。
【００１３】
本発明の別の態様は、受信装置である。この装置は、復号装置と、ビタビ復号器と、復号装置とビタビ復号器のいずれかを選択する復号選択部と、を備える。
【００１４】
この態様によると、処理量を低減するために復号装置を使用し、受信品質を改善するためにビタビ復号器を選択するので、必要に応じて、処理量の低減あるいは受信品質の改善を実現できる。
【００１５】
本受信装置に入力されるビットデータに対する品質を評価する評価部をさらに備え、復号選択部は、前記評価部における評価結果をもとに選択を実行してもよい。この場合、品質に応じて、復号装置とビタビ復号器のいずれかを選択できる。
【００１６】
評価部は、ビットデータに対する品質として、ビットデータのもとになる受信信号の強度を測定し、復号選択部は、評価部において測定した強度をもとに選択を実行してもよい。この場合、信号強度に応じて選択を実行するので、信号強度の変化が生じた場合であっても速やかに切替を実行できる。
【００１７】
評価部は、ビットデータに対する品質として、復号装置あるいはビタビ復号器での復号結果に含まれる誤りの程度を評価してもよい。「誤りの程度」とは、復号されたビットデータのうち、誤っているデータの総数であってもよいし、復号されたビットデータに対して、誤っているデータの割合であってもよく、誤りの発生頻度に相当すればよい。この場合、復号装置あるいはビタビ復号器での復号結果に含まれる誤りの程度に応じて切替を実行するので、切替の精度を向上できる。
【００１８】
本発明のさらに別の態様もまた、受信装置である。この装置は、復号装置と、復号装置における復号結果の品質を評価する評価部と、ビタビ復号器と、評価部における評価結果をもとに、復号装置からビタビ復号器への切替を実行する復号選択部とを備える。評価部は、復号結果の評価として、復号装置での補正部において補正がなされた場合を検出し、復号選択部は、前記評価部での検出数が増加すると、切替を実行することを特徴とする受信装置。
【００１９】
この態様によると、補正される場合が増加すると、復号装置からビタビ復号器への切替を実行するので、受信品質の悪化を抑制できる。
【００２０】
本発明のさらに別の態様もまた、受信装置である。この装置は、復号装置と、復号装置における復号結果の品質を評価する評価部と、評価部における評価結果をもとにした送信条件を送信装置に通知する通知部と、を備える。
【００２１】
この態様によると、復号装置に適した条件を送信装置に通知できる。
【００２２】
本発明のさらに別の態様は、復号方法である。この方法は、拘束長および符号化率に応じて規定された生成行列によって畳み込み符号化されたビットデータであって、かつ符号化率をもとに規定される系列数のビットデータを順次入力するステップと、入力したビットデータの復号結果としてのビットデータに対して、少なくとも拘束長に応じた期間にわたって遅延を行うステップと、遅延を行ったビットデータおよび入力したビットデータに対して、生成行列をもとにした排他的論理和演算を実行することによって、復号の候補となるビットデータを系列単位に生成するステップと、生成した系列単位のビットデータのうちのいずれかを復号結果として選択するステップと、を備える。
【００２３】
なお、以上の構成要素の任意の組合せ、本発明の表現を、方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２４】
本発明によれば、畳み込み符号化された信号を復号するための処理量を低減できる。
【発明を実施するための最良の形態】
【００２５】
本発明を具体的に説明する前に、概要を述べる。本発明の実施例は、畳み込み符号化された信号を復号するための復号装置に関する。畳み込み符号化された信号である受信データが常時３系列存在する場合、復号装置は、仮の復号データ系列を保存するシフトレジスタの値と３系列の受信データとを使用しながら、より確からしい復号データを導出し、導出した復号データによって仮の復号データ系列が保存されたシフトレジスタを更新する。なお、より確からしい復号データは、３系列の受信データのそれぞれとシフトレジスタの値とをもとに導出された３つのデータに対して、多数決を実行することによって導出される。
【００２６】
また、送信側での畳み込み符号化後のパンクチャ処理によって、削除されなかった有効な受信データが常時３系列以上存在しない場合、有効な受信データがひとつであれば、仮の復号データ系列を保存するシフトレジスタの値と受信データとを使用しながら、復号データを導出し、仮の復号データ系列を保存するシフトレジスタを更新する。有効な受信データがふたつ以上であれば、仮の復号データ系列を保存するシフトレジスタの値と２系列以上の受信データとを使用ながら、より確からしい復号データを導出し、仮の復号データ系列を保存するシフトレジスタを更新する。確からしさの優劣がない場合、予め定めた規則で復号データを決定し、仮の復号データ系列を保存するシフトレジスタを更新する。また、有効な受信データが複数の場合に導出した復号データの信頼性情報は、信頼性情報シフトレジスタに保存される。また、信頼性情報シフトレジスタに保存した値と、信頼性情報とによって、仮の復号データ系列を保存したシフトレジスタの値を補正する。
【００２７】
図１は、本発明の実施例に係る送信装置１００の構成を示す。送信装置１００は、畳み込み符号化部１０、パンクチャ部１２、インタリーブ部１４、ＩＱマッピング部１６、変調部１８、ＲＦ部２０、アンテナ２２を含み、畳み込み符号化部１０は、シフトレジスタ２４と総称される第０シフトレジスタ２４ａ、第１シフトレジスタ２４ｂ、第２シフトレジスタ２４ｃ、第３シフトレジスタ２４ｄ、第４シフトレジスタ２４ｅ、第５シフトレジスタ２４ｆ、排他的論理和部２６と総称される第１排他的論理和部２６ａ、第２排他的論理和部２６ｂ、第３排他的論理和部２６ｃを含む。また信号として、ＴＸ＿Ａ６００、ＴＸ＿Ｂ６０２、ＴＸ＿Ｃ６０４を含む。
【００２８】
畳み込み符号化部１０は、畳み込み符号化を実行する。畳み込み符号化は、シフトレジスタ２４、排他的論理和部２６によって実行され、符号化率が１／３、拘束長が７の畳み込み符号化に相当する。ここで、畳み込み符号化部１０に入力される送信データをＴと示し、第０シフトレジスタ２４ａから第５シフトレジスタ２４ｆでのシフトレジスタ値をシフトレジスタ値を｛SR0、SR1、SR2、SR3、SR4、SR5｝と示すと、排他的論理和部２６のそれぞれから出力される畳み込み符号ＴＸ＿Ａ６００、ＴＸ＿Ｂ６０２、ＴＸ＿Ｃ６０４は、次のように示される。
TX_A = T + SR1 + SR2 + SR4 + SR5          （１）
TX_B = T + SR0 + SR1 + SR3 + SR5          （２）
TX_C = T + SR0 + SR1 + SR2 + SR5          （３）
ここで、排他的論理和部２６においてなされる式（１）から（３）の加算は、排他的論理和、すなわちmodulo2加算である。以降の数式の加算についても、特に指定がない場合はmodulo2加算とする。また、式（１）から（３）の右辺を成分とする行列が、畳み込み符号化における生成行列に相当する。
【００２９】
パンクチャ部１２は、ＴＸ＿Ａ６００、ＴＸ＿Ｂ６０２、ＴＸ＿Ｃ６０４に対してパンクチャ処理を実行することによって、非送信データを削除し、送信レートを調整する。図２は、パンクチャ部１２における処理の概要を示す。１／３欄５００は、符号化率１／３のときのパンクチャ処理を示し、１／２欄５０２は、符号化率１／２のときのパンクチャ処理を示し、５／８欄５０４は、符号化率５／８のときのパンクチャ処理を示し、３／４欄５０６は、符号化率３／４のときのパンクチャ処理を示す。処理ステップは、連続した畳み込み符号を識別するための番号に相当し、符号化率が１／３、１／２のときには、処理ステップ「１」のみが存在する。また、符号化率が５／８のときには、処理ステップ「１」から「５」が繰り返し実行され、符号化率が３／４のときには、処理ステップ「１から「３」が繰り返し実行される。図１に戻る。
【００３０】
インタリーブ部１４は、パンクチャ部１２におけるパンクチャ処理によって削除されない畳み込み符号に対して、パラレル／シリアル変換を逐次実行した後に、インタリーブ処理を実行する。インタリーブの規則は、予め定められているものとする。ＩＱマッピング部１６は、インタリーブ部１４においてインタリーブ処理したデータに対して、ＱＰＳＫやＱＡＭのごとく複数ビット単位で複素平面上へ配置する。変調部１８は、複素平面上に配置された信号に対して直交変調を実行し、ＲＦ部２０は、直交変調された信号に対して無線周波数への周波数変換を実行し、アンテナ２２から無線伝送路へ送信する。
【００３１】
この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた受信機能を有したプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００３２】
図３は、本発明の実施例に係る受信装置２００の構成を示す。受信装置２００は、アンテナ４０、ＲＦ部４２、復調部４４、ＩＱデマッピング部４６、デインタリーブ部４８、デパンクチャ部５０、復号部５２、制御部５４を含む。信号として、ＲＸ＿Ａ６０６、ＲＸ＿Ｂ６０８、ＲＸ＿Ｃ６１０、復号データ４０４を含む。
【００３３】
アンテナ４０は、図１の送信装置１００からの信号を受信し、ＲＦ部４２は、受信した信号の周波数を無線周波数から中間周波数に変換する。復調部４４は、中間周波数の信号に対して直交検波を実行し、さらに同期検波あるいは遅延検波を実行する。ＩＱデマッピング部４６は、復調された信号をビットデータに変換する。ＩＱデマッピング部４６の処理は、ＩＱマッピング部１６の処理に対応するものとする。デインタリーブ部４８は、ＩＱデマッピング部４６において変換されたビットデータに対してデインタリーブを実行する。デインタリーブの規則は、予め定められており、インタリーブ部１４でのインタリーブの規則に対応している。
【００３４】
デパンクチャ部５０は、デインタリーブ部４８においてデインタリーブされたデータに対して、デパンクチャ処理を実行する。デパンクチャ処理は、図２において「削除」と示された位置にダミービットを挿入することによって実行される。その結果、ＲＸ＿Ａ６０６、ＲＸ＿Ｂ６０８、ＲＸ＿Ｃ６１０が出力される。復号部５２は、ＲＸ＿Ａ６０６からＲＸ＿Ｃ６１０に対して復号を行い、その結果として復号データ４０４を出力する。復号の詳細は、後述する。制御部５４は、受信装置２００全体のタイミングおよび動作を制御する。
【００３５】
図４は、復号部５２の構成を示す図である。復号部５２は、生成部６０、比較部６２、選択部６４、仮復号データシフトレジスタ部６６、信頼性情報シフトレジスタ部６８、パターン照合部７０を含み、生成部６０は、排他的論理和部７６と総称される第１排他的論理和部７６ａ、第２排他的論理和部７６ｂ、第３排他的論理和部７６ｃを含み、仮復号データシフトレジスタ部６６は、シフトレジスタ７２と総称される第０シフトレジスタ７２ａ、第１シフトレジスタ７２ｂ、第２シフトレジスタ７２ｃ、第３シフトレジスタ７２ｄ、第４シフトレジスタ７２ｅ、第５シフトレジスタ７２ｆ、第６シフトレジスタ７２ｇ、第７シフトレジスタ７２ｈ、第Ｎシフトレジスタ７２ｎ＋１を含む。
【００３６】
信頼性情報シフトレジスタ部６８は、シフトレジスタ７４と総称される第０シフトレジスタ７４ａ、第１シフトレジスタ７４ｂ、第２シフトレジスタ７４ｃ、第３シフトレジスタ７４ｄ、第４シフトレジスタ７４ｅ、第５シフトレジスタ７４ｆ、第６シフトレジスタ７４ｇ、第７シフトレジスタ７４ｈ、第Ｎシフトレジスタ７４ｎ＋１を含む。信号として、パンクチャ情報４０６、符号化率４０８、仮復号データ４１０、エラービット位置４１２、リセット信号４１４、照合エラー４１６、選択制御信号４２０、信頼性情報４２２、ＤＥＣ＿Ａ６１２、ＤＥＣ＿Ｂ６１４、ＤＥＣ＿Ｃ６１６を含む。
【００３７】
生成部６０は、ＲＸ＿Ａ６０６、ＲＸ＿Ｂ６０８、ＲＸ＿Ｃ６１０を順次入力する。このように、入力されるビットデータの系列数は奇数の「３」である。ここで、ＲＸ＿Ａ６０６、ＲＸ＿Ｂ６０８、ＲＸ＿Ｃ６１０は、送信装置１００において、拘束長および符号化率に応じて規定された生成行列によって畳み込み符号化されたビットデータであって、かつ符号化率をもとに規定される系列数のビットデータに相当する。図１の送信装置１００の場合、符号化率をもとに規定される系列数は、「３」である。
【００３８】
仮復号データシフトレジスタ部６６は、シフトレジスタ７２によって、生成部６０に入力したビットデータの復号結果としてのビットデータに対して、少なくとも拘束長に応じた期間にわたって遅延を行う。ここでは、拘束長は７であるので、拘束長以上の期間にわたった遅延が行われる。なお、シフトレジスタ７２の数が拘束長に相当する。なお、以下の説明において、復号結果を仮復号データ４１０とする。そのため、仮復号データシフトレジスタ部６６は、選択部６４より出力される仮復号データ４１０を保存する。
【００３９】
生成部６０は、仮復号データシフトレジスタ部６６において遅延を行った仮復号データ４１０、およびＲＸ＿Ａ６０６、ＲＸ＿Ｂ６０８、ＲＸ＿Ｃ６１０に対して、生成行列をもとにした排他的論理和演算を実行することによって、系列単位にＤＥＣ＿Ａ６１２、ＤＥＣ＿Ｂ６１４、ＤＥＣ＿Ｃ６１６を生成する。仮復号データシフトレジスタ部６６での仮復号データ４１０は、図示のごとく、｛SR0、SR1、SR2、SR3、SR4、SR5｝と示され、ＲＸ＿Ａ６０６からＲＸ＿Ｃ６１０と、仮復号データシフトレジスタ部６６での値を使用しながら、ＲＸ＿Ａ６０６からＲＸ＿Ｃ６１０が復号される。modulo2加算では、X = −Xであるので、式（１）、（２）、（３）を変形すると、以下のように示される。
【００４０】
T = TX_A + SR1 + SR2 + SR4 + SR5          （４）
T = TX_B + SR0 + SR1 + SR3 + SR5          （５）
T = TX_C + SR0 + SR1 + SR2 + SR5          （６）
パンクチャ処理によって削除されない送信データがなく、かつ受信エラーがない場合、RX_A = TX_A、RX_B = TX_B、RX_C = TX_Cが成立するので、以下のように示される。
【００４１】
T = RX_A + SR1 + SR2 + SR4 + SR5          （７）
T = RX_B + SR0 + SR1 + SR3 + SR5          （８）
T = RX_C + SR0 + SR1 + SR2 + SR5          （９）
となる。各式のTをDEC_A、DEC_B、DEC_Cとすると、以下のように示される。
【００４２】
DEC_A = RX_A + SR1 + SR2 + SR4 + SR5    （１０）
DEC_B = RX_B + SR0 + SR1 + SR3 + SR5    （１１）
DEC_C = RX_C + SR0 + SR1 + SR2 + SR5    （１２）
式（１０）、（１１）、（１２）のそれぞれはＤＥＣ＿Ａ６１２、ＤＥＣ＿Ｂ６１４、ＤＥＣ＿Ｃ６１６に相当し、これらは生成部６０において導出される。また、式（１０）から（１２）の右辺を成分とする行列が、式（１）から（３）の右辺と同様に、畳み込み符号化における生成行列に相当する。
【００４３】
符号化率が１／３の場合、式（１０）から式（１２）の演算結果、すなわちＤＥＣ＿Ａ６１２からＤＥＣ＿Ｃ６１６は一致するはずである。単一エラーが発生すると、これらのうちのひとつが、残りのふたつと一致しなくなる。比較部６２では、ＤＥＣ＿Ａ６１２、ＤＥＣ＿Ｂ６１４、ＤＥＣ＿Ｃ６１６が一致するか否かを確認する。比較部６２は、ＤＥＣ＿Ａ６１２からＤＥＣ＿Ｃ６１６のうち、仮にＤＥＣ＿Ｃ６１６が異なっていれば、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｂ６１４を正しいと決定する。このように比較部６２は、奇数個のビットデータであるＤＥＣ＿Ａ６１２からＤＥＣ＿Ｃ６１６に対して多数決することによって、復号結果としてのビットデータを選択し、その結果を選択制御信号４２０として選択部６４に出力する。
【００４４】
選択部６４は、選択制御信号４２０をもとに、ＤＥＣ＿Ａ６１２からＤＥＣ＿Ｃ６１６のうちのいずれかを復号結果として選択し、選択した復号結果を仮復号データ４１０として仮復号データシフトレジスタ部６６に出力する。前述の場合、選択部６４は、ＤＥＣ＿Ａ６１２を選択して、仮復号データシフトレジスタ部６６に出力する。なお、比較部６２において、ＤＥＣ＿Ｂ６１４が異なっている場合も、選択部６４は、同様にＤＥＣ＿Ａ６１２を選択して、仮復号データシフトレジスタ部６６に出力する。一方、比較部６２において、ＤＥＣ＿Ａ６１２が異なっている場合は、選択部６４は、ＤＥＣ＿Ｃ６１６を選択して、仮復号データシフトレジスタ部６６に出力する。エラーが発生していない場合、ＤＥＣ＿Ａ６１２、ＤＥＣ＿Ｂ６１４、ＤＥＣ＿Ｃ６１６は一致するので、選択部６４は、ＤＥＣ＿Ａ６１２を選択して、仮復号データシフトレジスタ部６６に出力する。選択部６４において以上のような選択がなされるように、比較部６２は、選択制御信号４２０を出力する。
【００４５】
ここでは、単一エラーを想定しているので、仮復号データシフトレジスタ部６６に入力された仮復号データ４１０は正しい復号結果である。そのため、仮復号データシフトレジスタ部６６によって適当な遅延を経て、最終的な復号結果として復号データ４０４が出力される。なお、符号化率が１／３である場合、復号部５２は、仮復号データ４１０をそのまま復号データ４０４として出力してもよい。以上の処理により、仮復号データシフトレジスタ部６６に保持されている仮復号データ４１０の値は、送信処理での畳み込み符号化部のシフトレジスタ２４に相当する正しい値に逐次更新されるので、継続して単一のエラー発生を検出し、これを補正することができる。
【００４６】
次に符号化率1／２の場合について説明する。符号化率1／２の場合、図２のごとく、ＤＥＣ＿Ｂ６１４は、パンクチャ処理によって削除された無効データであるので、復号部５２は、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６を比較して単一エラーを訂正する。このように、生成部６０に入力したビットデータの系列数は奇数の「３」であるが、ビットデータの系列数よりも小さい奇数「１」の系列に、デパンクチャ処理によって追加されたビットデータ、すなわちＤＥＣ＿Ｂ６１４が挿入されている。
【００４７】
選択部６４は、ＤＥＣ＿Ｂ６１４以外の系列におけるビットデータのうち、いずれかを選択する。ここでは、ＤＥＣ＿Ａ６１２が常時選択される。エラーが発生していない場合、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６は一致する。また選択部６４は、選択したＤＥＣ＿Ａ６１２を仮復号データ４１０として仮復号データシフトレジスタ部６６に出力する。比較部６２は、選択部６４において選択したビットデータの信頼性情報を生成する。例えば、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６とが一致している場合、比較部６２は、信頼性情報「０」を信頼性情報シフトレジスタ部６８に出力する。ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６のどちらかにエラーが発生した場合、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６は不一致になる。その際、選択部６４は、ＤＥＣ＿Ａ６１２を仮復号データシフトレジスタ部６６に出力し、比較部６２は、信頼性情報「１」を信頼性情報シフトレジスタ部６８に出力する。信頼性情報「０」は、仮復号データ４１０の信頼性が高い場合に相当し、信頼性情報「１」は、仮復号データ４１０の信頼性が低い場合に相当する。
【００４８】
仮復号データシフトレジスタ部６６は、シフトレジスタ７２によって、選択部６４において選択したビットデータの仮復号データ４１０を遅延させ、信頼性情報シフトレジスタ部６８は、シフトレジスタ７４によって、比較部６２において生成した信頼性情報を遅延させる。パターン照合部７０は、仮復号データシフトレジスタ部６６において遅延されている仮復号データ４１０を補正する。ここで、パターン照合部７０は、信頼性情報シフトレジスタ部６８において遅延した信頼性情報４２２と、比較部６２において生成した比較部６２をもとに、仮復号データ４１０を補正する。詳細は以下のとおりである。
【００４９】
次時間のＲＸ＿Ａ６０６とＲＸ＿Ｃ６１０にエラーが発生しないと仮定する。前時間のＲＸ＿Ａ６０６が正しく、ＲＸ＿Ｃ６１０がエラーであったとすると、前時間のＤＥＣ＿Ａ６１２は正しいので、信頼性情報シフトレジスタ部６８は正しく更新されている。したがって、次時間のＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６は一致する。その場合も、選択部６４は、ＤＥＣ＿Ａ６１２を仮復号データシフトレジスタ部６６に出力し、仮復号データシフトレジスタ部６６は更新される。また、比較部６２は、信頼性情報シフトレジスタ部６８に信頼性情報「０」を出力する。
【００５０】
一方、前時間のＲＸ＿Ａ６０６にエラーが発生し、ＲＸ＿Ｃ６１０が正しければ、前時間のＤＥＣ＿Ａ６１２は正しくないので、仮復号データシフトレジスタ部６６の第０シフトレジスタ７２ａに記憶された仮復号データ４１０の値SR0は、正しい値から反転した結果になっている。ここで、排他的論理和部７６におけるmodulo2加算処理、あるいは式（１０）、（１２）から明らかなように、SR0は、第３排他的論理和部７６ｃでのＤＥＣ＿Ｃ６１６の導出に使用されるが、第１排他的論理和部７６ａでのＤＥＣ＿Ａ６１２の導出に使用されない。したがって、ＲＸ＿Ａ６０６とＲＸ＿Ｃ６１０が正しいにもかかわらず、ＤＥＣ＿Ａ６１２は正しく、ＤＥＣ＿Ｃ６１６は正しくなくなり、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６とが一致しなくなる。このとき、比較部６２は、信頼性情報「１」を出力する。
【００５１】
以上により、パターン照合部７０では、信頼性情報シフトレジスタ部６８における第０シフトレジスタ７４ａの値が「１」であり、かつ比較部６２において生成された信頼性情報４２２が「０」であることを検出すれば、前時間のＤＥＣ＿Ｃ６１６がエラーであることを決定する。さらに、パターン照合部７０では、仮復号データシフトレジスタ部６６での第０シフトレジスタ７２ａの値が正しいことも決定する。一方、パターン照合部７０では、信頼性情報シフトレジスタ部６８における第０シフトレジスタ７４ａの値が「１」であり、かつ比較部６２において生成された信頼性情報４２２が「１」であることを検出すれば、前時間のＲＸ＿Ａ６０６がエラーであることを決定する。
【００５２】
さらに、パターン照合部７０では、仮復号データシフトレジスタ部６６での第０シフトレジスタ７２ａの値が誤っていることも決定する。この場合、パターン照合部７０は、決定した誤りの位置に相当したエラービット位置４１２を仮復号データシフトレジスタ部６６に出力し、仮復号データシフトレジスタ部６６は、エラービット位置４１２にしたがって第０シフトレジスタ７２ａの値を反転し、反転した値を第１シフトレジスタ７２ｂに入力するとともに、第０シフトレジスタ７２ａに仮復号データ４１０を入力することによって、シフトレジスタ７２を更新する。なお、パターン照合部７０は、上記の処理においてエラーを検出した場合に、照合エラー４１６を出力する。照合エラー４１６は、パターン照合部７０においてエラーが検出された場合に有効な値を示すような信号である。また、照合エラー４１６は、パターン照合部７０において補正がなされた場合に有効な値を示すような信号であってもよい。
【００５３】
次に、符号化率５／８の場合について説明する。符号化率が５／８である場合、図２のごとく、パンクチャ処理されることによって、処理ステップ「１」、「３」、「５」において、ＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８とが有効になり、処理ステップ「２」、「４」において、ＲＸ＿Ｃ６１０が有効になる。そのため、生成部６０に入力したビットデータのうち、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になるタイミングも存在する。図５は、復号部５２において、符号化率が５／８のときの単一エラーの発生パターンを示す。図示のごとく、エラーパターンは、エラーパターン１欄５１０からエラーパターン８欄５２４のように、８種類存在する。図５中の「○」は正データに相当し、「×」は誤データに相当し、「−」は無効データに相当する。図４に戻る。
【００５４】
選択部６４は、前述の処理に加え、前述のタイミングにおいて、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを選択し、これを仮復号データ４１０として出力する。ここでは、ＲＸ＿Ｃ６１０を選択する。選択部６４は、ＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８が有効な場合にＤＥＣ＿Ａ６１２を選択し、ＲＸ＿Ｃ６１０が有効な場合にＤＥＣ＿Ｃ６１６を選択する。
【００５５】
比較部６２は、前述の処理に加え、前述のタイミングにおいて、予め定めた信頼性情報を生成し、これを信頼性情報４２２として出力する。比較部６２では、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｂ６１４とが一致する場合に信頼性情報「０」を生成し、一致しない場合に信頼性情報「１」を生成し、ＲＸ＿Ｃ６１０が有効な場合に信頼性情報「２」を生成する。ここで、信頼性情報「２」は、無効であることを示す。
【００５６】
以上の動作にもとづいて、図５のように単一エラーが発生した場合に、仮復号データシフトレジスタ部６６と信頼性情報シフトレジスタ部６８とに保持される値は、図６に示される。図６は、復号部５２において、符号化率が５／８のときの単一エラーの発生パターンを特定するための信頼性情報シフトレジスタ部６８の値と、発生パターンが特定できたときの仮復号データシフトレジスタ部６６の誤り位置を示す。上段が仮復号データシフトレジスタ部６６での値を示し、下段が信頼性情報シフトレジスタ部６８での値を示す。また、図６は、図５に示されたエラーパターンに対応づけられている。図４に戻る。
【００５７】
パターン照合部７０は単一エラーの発生パターンを逐次照合し、一致した場合に対応したエラービット位置４１２を仮復号データシフトレジスタ部６６に出力し、仮復号データシフトレジスタ部６６はエラービット位置４１２にしたがって誤りを訂正した後、シフトレジスタ７２を更新する。さらに、パターン照合部７０は、信頼性情報シフトレジスタ部６８の「１」の値に限って、これを「０」にリセットする。そのために、パターン照合部７０は、リセット信号４１４を出力する。誤りが訂正された信頼性情報シフトレジスタ部６８の値はいくらかの遅延を経て、最終的な復号データ４０４として出力される。なお、パターン照合部７０は、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１にならないタイミングにおいて、補正を実行する。
【００５８】
ここで、仮復号データシフトレジスタ部６６の誤り位置の求め方を図７（ａ）−（ｃ）を使用しながら説明する。図７（ａ）−（ｃ）は、復号部５２において、符号化率が５／８のときの補正処理の概要を示す。図７（ａ）は、図５のエラーパターン３に相当し、図７（ｂ）は、図５のエラーパターン４に相当し、図７（ｃ）は、図５のエラーパターン５に相当する。ここで、受信データ欄５３０は、ＲＸ＿Ａ６０６からＲＸ＿Ｃ６１０の値を示し、復号結果欄５３２は、ＤＥＣ＿Ａ６１２からＤＥＣ＿Ｃ６１６の値を示し、ＤＥＣ＿ＡとＤＥＣ＿Ｂとの比較結果欄５３４は、比較部６２での比較結果を示し、仮復号データ欄５３６は、選択部６４において選択される仮復号データ４１０の値を示し、仮復号データシフトレジスタ欄５３８は、シフトレジスタ７２において保持されている値を示す。なお、仮復号データシフトレジスタ部６６の初期値は、すべて「０」に設定され、「０」のみが受信されるものとする。したがって単一エラーは「１」と示される。
【００５９】
（１）生成部６０が、式（１０）、（１１）、（１２）にもとづき、ＤＥＣ＿Ａ６１２からＤＥＣ＿Ｃ６１６を導出する。
（２）ＲＸ＿Ｃ６１０が無効データである場合、比較部６２は、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｂ６１４とを比較し、一致、不一致を調べる。
（３）ＲＸ＿Ｃ６１０が無効データである場合、選択部６４は、ＤＥＣ＿Ａ６１２を仮復号データ４１０として選択し、仮復号データシフトレジスタ部６６の第０シフトレジスタ７２ａに出力する。ＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８とが無効データである場合、選択部６４は、ＤＥＣ＿Ｃ６１６を仮復号データ４１０として選択し、仮復号データシフトレジスタ部６６の第０シフトレジスタ７２ａに出力する。また、仮復号データシフトレジスタ部６６の第１シフトレジスタ７２ｂから第Ｎシフトレジスタ７２ｎ＋１はステップごとにシフトされる。
【００６０】
以上を繰り返すと、図７（ａ）−（ｃ）が得られる。エラーパターン３、４、５のいずれも処理ステップｔ＝３において、比較部６２は、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｂ６１４との不一致を初めて検出する。処理ステップｔ＝1において、比較部６２は、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｂ６１４との一致を検出しているので、処理ステップｔ＝３において、処理ステップｔ＝２のＲＸ＿Ｃ６１０、処理ステップｔ＝３のＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８のいずれかがエラーであることが分かる。処理ステップｔ＝４では、有効データがＲＸ＿Ｃ６１０のみなので、比較部６２は、比較を行わない。次に、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｂ６１４とを比較できるのは処理ステップｔ＝５のときである。この時点で、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｂ６１４とが不一致となるのはパターン４のみである。したがって、信頼性情報４２２として｛不一致、比較なし、不一致｝の結果が得られれば、パターン４であることが特定できる。
【００６１】
ここで、仮復号データシフトレジスタ部６６の初期値はすべて「０」に設定され、「０」のみを受信するものとしているので、仮復号データシフトレジスタ部６６に保持された値と仮復号データ４１０は、常にすべて０でなくてはならない。その結果、仮復号データシフトレジスタ部６６に保持された値、仮復号データ４１０のうち、「１」になっているでデータビットがエラーであるといえる。「１」になっているデータビットは仮復号データ４１０、および第０シフトレジスタ７２ａに保持された値、第１シフトレジスタ７２ｂに保持された値である。したがって、エラーを補正するためにはこれらを反転すればよい。なお、図７（ａ）−（ｃ）では、反転の処理を示してない。パターン３と５については、処理ステップｔ＝５までにおいて、いづれも｛不一致、比較なし、一致｝の結果になっているので、パターンが特定できない。
【００６２】
このため、ＤＥＣ＿Ａ６１２とＤＥＣ＿Ｃ６１６の比較結果がパターン３と５で異なる処理タイミングまで上記の処理を進める。処理ステップｔ＝８の時点において、パターン３は｛不一致｝、パターン５は｛一致｝となっているので、このとき初めてパターン３と５が判別できる。パターン３については、処理ステップｔ＝８の時点において、仮復号データ４１０、仮復号データシフトレジスタ部６６においてエラーを示す「１」となっているデータビットは、仮復号データ４１０、第０シフトレジスタ７２ａ、第１シフトレジスタ７２ｂ、第２シフトレジスタ７２ｃ、第３シフトレジスタ７２ｄ、第５シフトレジスタ７２ｆである。一方、パターン５にはエラーを示す「１」となっているデータビットは含まれておらず、補正の必要はない。以上のようにして、他の単一エラーパターンについても予め調べておく。パターン照合部７０は、このようなエラーパターンと誤り訂正位置との関係を予め保持しており、仮復号データシフトレジスタ部６６の値を補正する。
【００６３】
最後に、符号化率が３／４である場合について説明する。図８は、復号部５２において、符号化率が３／４のときの単一エラーの発生パターンを示す。図示のごとく、エラーパターンは、エラーパターン１欄５１０からエラーパターン６欄５２０のように、６種類存在する。ここで、図８は、図５と同様に示されているので、説明を省略する。比較部６２および選択部６４の動作は、上述した符号化率５／８の場合と同様であるので、説明を省略する。図９は、復号部５２において、符号化率が３／４のときの単一エラーの発生パターンを特定するための信頼性情報シフトレジスタ部６８の値と、発生パターンが特定できたときの仮復号データシフトレジスタ部６６の誤り位置を示す。図９は、図６と同様に示されているので、説明を省略する。
【００６４】
以下、本実施例の変形例を説明する。実施例において比較部６２が、ＤＥＣ＿Ａ６１２からＤＥＣ＿Ｃ６１６の一致を検出することによって、仮復号データ４１０を決定していた。一方、変形例では、送信側と同様の生成行列による排他的論理和演算を実行し、その結果を加算する。さらに、変形例は、加算結果の大きさをもとに、仮復号データ４１０を決定する。
【００６５】
図１０は、復号部５２の別の構成を示す。復号部５２は、生成部８０、選択部８６、仮復号データシフトレジスタ部６６、信頼性情報シフトレジスタ部６８、パターン照合部７０を含み、生成部８０は、排他的論理和部８２と総称される第１排他的論理和部８２ａ、第２排他的論理和部８２ｂ、第３排他的論理和部８２ｃ、比較部８４を含み、仮復号データシフトレジスタ部６６は、シフトレジスタ７２と総称される第０シフトレジスタ７２ａ、第１シフトレジスタ７２ｂ、第２シフトレジスタ７２ｃ、第３シフトレジスタ７２ｄ、第４シフトレジスタ７２ｅ、第５シフトレジスタ７２ｆ、第６シフトレジスタ７２ｇ、第７シフトレジスタ７２ｈ、第Ｎシフトレジスタ７２ｎ＋１を含む。
【００６６】
信頼性情報シフトレジスタ部６８は、シフトレジスタ７４と総称される第０シフトレジスタ７４ａ、第１シフトレジスタ７４ｂ、第２シフトレジスタ７４ｃ、第３シフトレジスタ７４ｄ、第４シフトレジスタ７４ｅ、第５シフトレジスタ７４ｆ、第６シフトレジスタ７４ｇ、第７シフトレジスタ７４ｈ、第Ｎシフトレジスタ７４ｎ＋１を含む。信号として、パンクチャ情報４０６、符号化率４０８、仮復号データ４１０、エラービット位置４１２、リセット信号４１４、照合エラー４１６、選択制御信号４２０、信頼性情報４２２、ＤＥＣ＿Ａ６１８、ＤＥＣ＿Ｂ６２０、ＤＥＣ＿Ｃ６２２を含む。図１０において、図４における符号と同一の符号を付した構成要素は、図４の対応する構成要素と同一の機能を有する。
【００６７】
生成部８０は、奇数の系列のビットデータ、ここではＲＸ＿Ａ６０６からＲＸ＿Ｃ６１０を入力する。生成部８０は、ＲＸ＿Ａ６０６からＲＸ＿Ｃ６１０と、シフトレジスタ７２に記憶された値｛SR0、SR1、SR2、SR3、SR4、SR5｝を使用して、復号データとして「０」と「１」のどちらがより確からしいかを推定する。具体的に、比較部８４は、ＤＥＣ＿Ａ６１８とＲＸ＿Ａ６０６との排他的論理和、ＤＥＣ＿Ｂ６２０とＲＸ＿Ｂ６０８との排他的論理和、ＤＥＣ＿Ｃ６２２とＲＸ＿Ｃ６１０との排他的論理和のうち、少なくともひとつを実行し、さらにその結果を加算生成部において生成した系列単位のビットデータを加算した後に、加算結果をもとに、復号結果としてのビットデータを選択する。
【００６８】
シフトレジスタ７２は、以下の排他的論理和を実行する。
DEC_A = SR1 + SR2 + SR4 + SR5        （１３）
DEC_B = SR0 + SR1 + SR3 + SR5        （１４）
DEC_C = SR0 + SR1 + SR2 + SR5        （１５）
送受信でレジスタ値｛SR0、SR1、SR2、SR3、SR4、SR5｝が一致していれば、畳み込み符号化は、式（１）、（２）、（３）にて示されるので、Ｔ = 0の場合の送信データ、および復号データが「０」となる場合の受信データの期待値は、以下のように示される。
【００６９】
TX_A0 = RX_A0 = DEC_A                            （１６）
TX_B0 = RX_B0 = DEC_B                            （１７）
TX_C0 = RX_C0 = DEC_C                            （１８）
また、Ｔ = 1の場合の送信データ、および復号データが「１」となる場合の受信データの期待値は、以下のように示される。
TX_A1 = RX_A1 = 1 + DEC_A                      （１９）
TX_A1 = RX_A1 = 1 + DEC_B                      （２０）
TX_A1 = RX_A1 = 1 + DEC_C                      （２１）
【００７０】
比較部８４では、式（１３）、（１４）、（１５）をもとに、ＲＸ＿Ａ６０６からＲＸ＿Ｃ６１０が、式（１６）、（１７）、（１８）と、式（１９）、（２０）、（２１）のどちらに近いかを検出する。このため、比較部８４では、以下のごとく、Ｔ = 0の場合とのハミング距離を計算する。
S = {RX_A + DEC_A} + {RX_B + DEC_B} + {RX_C + DEC_C}  （２２）
ここで、｛  ｝内の加算はmodulo2加算で、｛  ｝外の加算はmodulo2加算でない通常の加算を示す。
【００７１】
符号化率が１／３である場合、送信データＴ = 0の場合、式（１３）、（１４）、（１５）をもとに、以下のように示される。
S = { DEC_A + DEC_A} + { DEC_B + DEC_B} + { DEC_C + DEC_C}
= 0 + 0 + 0
= 0                                                  （２３）
一方、Ｔ = 1の場合、式（１９）、（２０）、（２１）をもとに、以下のように示される。
S = { 1 + DEC_A + DEC_A}
+ { 1 + DEC_B + DEC_B}
+ { 1 + DEC_C + DEC_C}
= 1 + 1+ 1
= 3                                                  （２４）
【００７２】
したがって、S = 0の場合、復号データは「０」であると推定できる。また、S = 3の場合、復号データは「１」であると推定できる。仮にＲＸ＿Ａ６０６に単一エラーが発生した場合、Ｔ = 0であれば、以下のように示される。
S = { DEC_A + 1 + DEC_A} + { DEC_B + DEC_B} + { DEC_C + DEC_C}
= 1 + 0 + 0
= 1                                                    （２５）
一方、Ｔ = 1であれば、以下のように示される。
S = { 1 + DEC_A + 1 + DEC_A}
+ { 1 + DEC_B + DEC_B}
+ { 1 + DEC_C + DEC_C}
= 0 + 1+ 1
= 2                                                    （２６）
【００７３】
ＲＸ＿Ｂ６０８とＲＸ＿Ｃ６１０の単一エラーについても同様である。したがって、S = 1の場合、復号データは「０」であると推定できる。また、S = 2の場合、復号データは「１」であると推定できる。比較部８４は、以上のような式（２２）にもとづいた推定を行い、選択部８６に対して、仮復号データシフトレジスタ部６６に入力すべき仮復号データ４１０として「０」を指示する選択制御信号４２０を出力し、または「１」を指示する選択制御信号４２０を出力する。仮復号データ４１０には、仮復号データシフトレジスタ部６６での適当な遅延がなされた後、最終的な復号データ４０４として出力される。
【００７４】
符号化率が１／２である場合、前述のごとく、図２にしたがいＲＸ＿Ｂ６０８がパンクチャ処理により無効になる。そのため、比較部８４は、デパンクチャ処理によって追加されたビットデータに対応した系列以外の系列におけるビットデータを加算し、加算結果をもとに、復号結果としてのビットデータを選択するとともに、選択したビットデータの信頼性情報を生成する。式（２２）は、以下のように示される。
S = {RX_A + DEC_A} + {RX_C + DEC_C}              （２７）
【００７５】
エラーがない場合、式（２３）、式（２４）と同様の計算をすると、Ｔ = 0であれば、S = 0になり、Ｔ = 1であれば、S = 2となる。この場合、比較部８４は、信頼性情報シフトレジスタ部６８にエラーなしの信頼性情報４２２として「０」を出力する。また、比較部８４は、選択部８６に、仮復号データ４１０として「０」あるいは「１」を指示する選択制御信号４２０を出力する。ＲＸ＿Ａ６０６またはＲＸ＿Ｃ６１０の単一エラーの場合、式（２５）、式（２６）と同様の計算をすると、Ｔ = 0であれば、S = 1になり、Ｔ = 1の場合も、S = 1となる。この場合、比較部８４は、信頼性情報シフトレジスタ部６８にエラーありの信頼性情報４２２として「１」を出力する。また、比較部８４は、選択部８６に、仮復号データ４１０として{RX_A + DEC_A}の結果を入力するように指示する。以上の処理により、パターン照合部７０は、前述の実施例と同様に、次時間で、前時間のＲＸ＿Ｂ６０８の正誤を判定でき、仮復号データシフトレジスタ部６６に保持された値を補正できる。
【００７６】
符号化率が５／８である場合、前述のごとく、図２にしたがいＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８、またはＲＸ＿Ｃ６１０がパンクチャ処理により無効になる。比較部８４は、ＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８とがパンクチャ処理により無効になるタイミングにおいて、排他的論理和以外の加算を行わず、ＲＸ＿Ｃ６１０とＤＥＣ＿Ｃ６２２との排他的論理和の結果を選択するとともに、予め定めた比較部８４を出力する。式（２２）は、ＲＸ＿Ｃ６１０が無効の場合、以下のように示される。
S = {RX_A + DEC_A} + {RX_B + DEC_B}              （２８）
また、ＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８が無効の場合、以下のように示される。
S = {RX_C + DEC_C}                                （２９）
【００７７】
エラーがない場合、式（２３）、式（２４）と同様の計算をすると、式（２８）はＴ = 0であれば、S = 0になり、Ｔ = 1であれば、S = 2となる。この場合、比較部８４は、信頼性情報シフトレジスタ部６８にエラーなしの信頼性情報として「０」を入力する。また、比較部８４は、選択部８６に、信頼性情報シフトレジスタ部６８に入力する仮復号データ４１０として「０」、または「１」を指示するための選択制御信号４２０を出力する。ＲＸ＿Ａ６０６またはＲＸ＿Ｃ６１０が単一エラーである場合、式（２５）、式（２６）と同様の計算をすると、T = 0であれば、S = 1になり、T = 1の場合も、S = 1となる。この場合、比較部８４は、信頼性情報シフトレジスタ部６８にエラーありの信頼性情報として「１」を出力する。また、比較部８４は、選択部８６に、仮復号データシフトレジスタ部６６に入力する仮復号データ４１０として{RX_A + DEC_A}の結果を入力するように指示する。
【００７８】
また、エラーがない場合、式（２３）、式（２４）と同様の計算をすると、式（２９）はT = 0であれば、S = 0になり、T = 1であれば、S = 1となる。この場合、比較部８４は、信頼性情報シフトレジスタ部６８に信頼性の無効を示した信頼性情報「２」を出力する。また、比較部８４は、選択部８６に、仮復号データシフトレジスタ部６６に入力する仮復号データ４１０として{RX_C + DEC_C}の結果を入力するように指示する。以上の処理により、パターン照合部７０は、前述の実施例と同様に、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１にならないタイミングにおいて、信頼性情報シフトレジスタの値を照合することにより、補正すべき仮復号シフトレジスタのビット位置を特定する。
【００７９】
符号化率が３／４である場合も、符号化率が５／８である場合と同様に、ＲＸ＿Ａ６０６とＲＸ＿Ｂ６０８、またはＲＸ＿Ｃ６１０がパンクチャ処理により無効であるので、復号部５２は、符号化率が５／８である場合と同様の処理を実行する。以上の処理により、パターン照合部７０は、前述の実施例と同様に、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１にならないタイミングにおいて、信頼性情報シフトレジスタの値を照合することにより、補正すべき仮復号シフトレジスタのビット位置を特定する。
【００８０】
図１１は、復号部５２のさらに別の構成を示す。復号部５２は、ビタビ復号部１１０、簡易復号部１１２、受信制御部１１４、信号選択部１１６を含む。信号として、ＳＮＲ推定値４６０、受信停止処理４６２、再送要求４６４、選択信号４７０を含む。
【００８１】
ビタビ復号部１１０は、受信データ４０２に対してビタビ復号を実行する。ここで、ビタビ復号は、公知の技術でよいので、説明を省略する。簡易復号部１１２は、前述した実施例および変形例での復号部５２に相当する。信号選択部１１６は、復号結果として、ビタビ復号部１１０からの出力あるいは簡易復号部１１２からの出力を選択する。なお、選択は、受信制御部１１４からの選択信号４７０をもとになされる。また、受信制御部１１４は、復号データ４０４をもとに、復号部５２における復号結果の品質を評価する。受信制御部１１４は、評価結果をもとにした送信条件を図示しない送信装置１００に通知する。なお、受信制御部１１４は、以下に示す動作のいずれかに対応してもよい。
【００８２】
（１）受信制御部１１４は、図示しない推定部において推定されたＳＮＲ推定値４６０を受けつけ、ＳＮＲが予め定められたしきい値以上の良好な通信環境で、簡易復号部１１２の使用を決定し、しきい値を下回る環境で、ビタビ復号部１１０の使用を決定する。
（２）受信制御部１１４は、受信データの一部を復号するためにビタビ復号部１１０を使用し、残りを復号するために簡易復号部１１２を使用する。例えば、受信制御部１１４は、制御信号とデータ信号とによって構成されるパケット信号に対して、制御信号の復号にビタビ復号部１１０を使用し、データ信号の復号に簡易復号部１１２を使用する。
【００８３】
（３）受信制御部１１４は、簡易復号部１１２を使用する場合に、1以上のパケットロスト累積値、あるいは信頼性情報系列の照合エラーの累積値を検出すると、データレートの低下を決定し、その結果を送信装置１００に通知する。データレートの低下によって、エラーの発生頻度も低下する。その結果、受信品質の低下が抑制される。
（４）受信制御部１１４は、簡易復号部１１２を使用する場合に、1以上のパケットロスト累積値、あるいは信頼性情報系列の照合エラーの累積値を検出すると、パケットのデータ長の短縮を決定し、その結果を送信装置１００に通知する。パケットのデータ長の短縮によって、エラーによる再送頻度が低減される。
【００８４】
（５）受信制御部１１４は、簡易復号部１１２を使用する場合に、1以上のパケットロスト累積値、あるいは信頼性情報系列の照合エラーの累積値を検出すると、ビタビ復号部１１０の使用に切りかえる。
（６）受信制御部１１４は、信頼性情報系列の照合エラー４１６を検出すると、復調、復号処理などの受信処理を停止し、これを受信停止処理４６２として図示しない制御部５４に通知する。
（７）受信制御部１１４は、信頼性情報系列の照合エラー４１６を検出すると、ビタビ復号部１１０に再送要求を送信する必要があることを再送要求４６４として通知する。
【００８５】
ここで、前述の受信制御部１１４に関する説明の（１）、（５）をより詳細に説明する。このような構成では、通信環境が良好であれば、簡易復号を実行し、通信環境が悪化すれば、ビタビ復号を実行する形態に相当する。また、本構成の目的は、処理量や消費電力を低減しながらも、受信品質の悪化を抑制することである。ここでは、構成を変形例１から４として説明する。
【００８６】
（変形例１）
図３の復調部４４には、図示しないＳＮＲ推定部が含まれている。ＳＮＲ推定部は、中間周波数の信号あるいは直交検波後のベースバンドの信号に対して、ＳＮＲを測定する。この処理は、受信データ４０２のもとになる受信信号の強度の測定に相当する。また、測定されたＳＮＲは、受信データ４０２に対する品質に相当する。さらに、ＳＮＲ測定部は、測定したＳＮＲをＳＮＲ推定値４６０として、復号部５２に出力する。
【００８７】
受信制御部１１４は、ＳＮＲ推定部より受けつけたＳＮＲ推定値４６０と、予め定めたしきい値とを比較する。ＳＮＲ推定値４６０がしきい値よりも良好であれば、受信制御部１１４は、簡易復号の実行を決定する。その結果、受信制御部１１４は、簡易復号部１１２を選択するような選択信号４７０を生成し、生成した選択信号４７０を出力する。一方、ＳＮＲ推定値４６０がしきい値よりも悪化していれば、受信制御部１１４は、ビタビ復号の実行を決定する。その結果、受信制御部１１４は、ビタビ復号部１１０を選択するような選択信号４７０を生成し、生成した選択信号４７０を出力する。
【００８８】
選択信号４７０の内容にしたがって、ビタビ復号部１１０あるいは簡易復号部１１２がアクティブになり、復号処理を実行する。信号選択部１１６は、復号結果を復号データ４０４として出力する。このような受信制御部１１４の処理は、ＳＮＲ推定部において推定したＳＮＲをもとに、復号処理の選択を実行することに相当する。
【００８９】
（変形例２）
受信制御部１１４は、受信処理を開始する際、簡易復号部１１２に復号を実行させ、かつ信号選択部１１６に、簡易復号部１１２からの復号データを最終的な復号データ４０４として出力させる。また、受信制御部１１４は、復号データ４０４を入力する。ここで、復号データ４０４には、ＣＲＣなどのエラーチェック符号が含まれるものとするが、エラーチェック符号は公知の技術でよい。受信制御部１１４は、エラーチェック符号を使用することによって、復号が正常に行われているかを調べる。
【００９０】
つまり、受信制御部１１４は、所定の期間にわたって、復号エラーの発生回数を積算し、予め定めたしきい値と比較する。これは、簡易復号部１１２での復号結果に含まれる誤りの程度を評価することに相当する。発生回数がしきい値よりも大きくなると、受信制御部１１４は、簡易復号部１１２の使用からビタビ復号部１１０の使用への切替を実行する。その結果、ビタビ復号部１１０が復号を実行し、信号選択部１１６は、ビタビ復号部１１０からの復号データを最終的な復号データ４０４として出力する。なお、受信制御部１１４は、ビタビ復号部１１０の使用から簡易復号部１１２の使用への切替を実行してもよい。その際、受信制御部１１４は、ビタビ復号部１１０での復号結果に含まれる誤りの程度を評価する。
【００９１】
（変形例３）
受信制御部１１４は、受信処理を開始する際、簡易復号部１１２に復号を実行させ、かつ信号選択部１１６に、簡易復号部１１２からの復号データを最終的な復号データ４０４として出力させる。受信制御部１１４は、簡易復号部１１２から照合エラー４１６を受けつけ、照合エラー４１６の発生回数を積算し、予め定めたしきい値と比較する。これは、パターン照合部７０において補正がなされた場合を積算することに相当する。発生回数がしきい値よりも大きくなると、つまり補正の実行回数が増加すると、受信制御部１１４は、簡易復号部１１２の使用からビタビ復号部１１０の使用への切替を実行する。その結果、ビタビ復号部１１０が復号を実行し、信号選択部１１６は、ビタビ復号部１１０からの復号データを最終的な復号データ４０４として出力する。
【００９２】
（変形例４）
変形例１から３を組み合わせながら、受信制御部１１４が、ビタビ復号部１１０、簡易復号部１１２、信号選択部１１６を制御してもよい。例えば、受信制御部１１４は、受信処理を開始する際に、簡易復号部１１２に復号を実行させ、かつ信号選択部１１６に、簡易復号部１１２からの復号データを最終的な復号データ４０４として出力させる。受信制御部１１４は、変形例２あるいは３のとおりに、簡易復号部１１２の使用からビタビ復号部１１０の使用への切替を実行する。その後、受信制御部１１４は、変形例１において説明したように、ＳＮＲ推定値４６０としきい値とを比較する。ＳＮＲ推定値４６０がしきい値よりも大きくなった場合、受信制御部１１４は、簡易復号部１１２による復号が可能であると判断し、再度、簡易復号部１１２を用いて復号するように切替を実行する。
【００９３】
本発明の実施例によれば、生成行列をもとにした排他的論理和演算を実行するので、処理量を低減できる。また、処理量が低減されるので、消費電力を低減できる。また、生成した系列単位のビットデータのうちのいずれかを復号結果として選択するので、受信品質の低減を小さくできる。また、多数決によって選択を実行するので、処理を簡易にできる。
また、パンクチャ処理によって無効にされたデータが含まれている場合であっても、適用できる。また、信頼性情報をもとに、ビットデータを補正するので、受信品質の低減を小さくできる。また、デパンクチャ処理によって追加されたビットデータ以外のビットデータの数が１になる場合であっても、復号を実行できる。
【００９４】
また、処理量を低減するために簡易復号部を使用し、受信品質を改善するためにビタビ復号部を選択するので、必要に応じて、処理量の低減あるいは受信品質の改善を選択できる。また、復号装置に適した条件を送信装置に通知できる。また、ビタビ復号部と比較して、簡易に構成でき、回路規模を小さくできる。また、信頼性情報系列の照合エラーにより、パケットロストの発生を事前に予測できる。また、照合エラーを検出した場合に、直ちに復調や復号処理を停止するので、電力の無駄な消費を抑えることができる。
【００９５】
また、品質に応じて、簡易復号部とビタビ復号器のいずれかを選択できる。また、ＳＮＲ推定値に応じて選択を実行するので、ＳＮＲ推定値の変化が生じた場合であっても速やかに切替を実行できる。また、簡易復号部あるいはビタビ復号器での最終的な復号データに含まれる誤りの程度に応じて切替を実行するので、切替の精度を向上できる。また、補正される場合が増加すると、簡易復号部からビタビ復号器への切替を実行するので、受信品質の悪化を抑制できる。また、通信環境が良好であれば消費電力を低減できる。また、通信環境が悪化しても、データ再送によるスループット低下を抑制できる。
【００９６】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施例に係る送信装置の構成を示す図である。
【図２】図１のパンクチャ部における処理の概要を示す図である。
【図３】本発明の実施例に係る受信装置の構成を示す図である。
【図４】図３の復号部の構成を示す図である。
【図５】図４の復号部において、符号化率が５／８のときの単一エラーの発生パターンを示す図である。
【図６】図４の復号部において、符号化率が５／８のときの単一エラーの発生パターンを特定するための信頼性情報シフトレジスタの値と、発生パターンが特定できたときの仮復号データシフトレジスタの誤り位置を示す図である。
【図７】図７（ａ）−（ｃ）は、図４の復号部において、符号化率が５／８のときの補正処理の概要を示す図である。
【図８】図４の復号部において、符号化率が３／４のときの単一エラーの発生パターンを示す図である。
【図９】図４の復号部において、符号化率が３／４のときの単一エラーの発生パターンを特定するための信頼性情報シフトレジスタの値と、発生パターンが特定できたときの仮復号データシフトレジスタの誤り位置を示す図である。
【図１０】図３の復号部の別の構成を示す図である。
【図１１】図３の復号部のさらに別の構成を示す図である。
【符号の説明】
【００９８】
５２  復号部、  ６０  生成部、  ６２  比較部、  ６４  選択部、  ６６  仮復号データシフトレジスタ部、  ６８  信頼性情報シフトレジスタ部、  ７０  パターン照合部、  ７２  シフトレジスタ、  ７４  シフトレジスタ、  ７６  排他的論理和部。
【図１】
2007288766.tif 000003
【図２】
2007288766.tif 000004
【図３】
2007288766.tif 000005
【図４】
2007288766.tif 000006
【図５】
2007288766.tif 000007
【図６】
2007288766.tif 000008
【図７】
2007288766.tif 000009
【図８】
2007288766.tif 000010
【図９】
2007288766.tif 000011
【図１０】
2007288766.tif 000012
【図１１】
2007288766.tif 000013