【手続補正書】
【提出日】平成16年12月14日(2004.12.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  信号処理装置及び方法
【特許請求の範囲】
【請求項１】  所定の複数のデータレートの内の任意のデータレートで送信されてきたデータを、最尤復号する信号処理装置において、
受信データの平均値を計算し、その計算された平均値を利用して受信データを正規化する正規化手段と、
前記複数のデータレートを所定の順番で選択し、前記正規化手段の出力データのデータレートが選択したデータレートであるものとして、最尤復号処理を行う最尤復号手段と、
前記最尤復号処理により得られる所定のメトリック値からその中での最小のメトリック値を引く演算手段と、
前記演算手段での演算の結果得られる各レートでのステート０のメトリック値と誤り検出結果に基づいて、正しいデータレートを判定する判定手段と、
前記判定手段により判定されたレートでの復号データを出力する出力手段とを備えることを特徴とする
信号処理装置。
【請求項２】  請求項１記載の信号処理装置において、
前記正規化手段での受信データの平均値の計算は、先頭ビットからデータ長が最短となるデータレートでのテールビットの終了位置までのデータの絶対値の平均値を計算し、計算された平均値で各入力データを割り、さらに所定の定数をかけることを特徴とする
信号処理装置。
【請求項３】  所定の複数のデータレートの内の任意のデータレートで送信されてきたデータを、最尤復号する信号処理方法において、
受信データの平均値を計算し、その計算された平均値を利用して受信データを正規化するステップと、
前記複数のデータレートを所定の順番で選択し、前記正規化ステップの出力データのデータレートが選択したデータレートであるものとして、最尤復号処理を行うステップと、
前記最尤復号処理ステップにより得られる所定のメトリック値からその中での最小のメトリック値を引く算出ステップと、
前記算出ステップでの算出の結果得られる各レートでのステート０のメトリック値と誤り検出結果に基づいて、正しいデータレートを判定するステップと、
前記ステップにより判定されたレートでの復号データを出力する出力ステップとを備えることを特徴とする
信号処理方法。
【請求項４】  請求項３記載の信号処理方法において、
前記正規化ステップでの受信データの平均値の計算は、先頭ビットからデータ長が最短となるデータレートでのテールビットの終了位置までのデータの絶対値の平均値を計算し、計算された平均値で各入力データを割り、さらに所定の定数をかけることを特徴とする
信号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、畳み込み符号化されたデータを最尤復号する信号処理装置及び方法に関し、特に送信されたデータのデータレートを検出する信号処理装置及び方法に関する。
【０００２】
【従来の技術】
従来、データレートが複数用意された内の、所定のデータレートで送信させて、受信側でそのデータレートを検出することが行われている。図８は、従来の受信装置３を含む、所定の複数のデータレートのうち、任意のデータレートでデータが送受信される通信系の構成例を示している。
【０００３】
送信装置１は、畳み込み符号化したデータを、所定の複数のデータレートのうちの任意のデータレートで、通信路２を介して受信装置３に送信する。
【０００４】
図９は、ここで送受信されるデータのトランスポートフォーマットの例を示している。このフォーマットによれば、データストリームにＣＲＣ（Cyclic Redundancy Check ）符号が付加されているが、データレートに応じて、データストリームの長さは可変するため、終端のビット（ＣＲＣの最後のビット）ｎend は、データレートにより異なる。なお、以下の説明では、ＣＲＣの最後のビットを終端ビットｎend と称する。
【０００５】
例えば、図９に示すように、４つのデータレートＲ１，Ｒ２，Ｒ３，Ｒ４（データレートＲ１＜データレートＲ２＜データレートＲ３＜データレートＲ４）が存在する場合において、データレートＲ１〜Ｒ４のときのそれぞれの終端ビットｎend は、先頭ビットＳから数えて、第Ｅ１番目のビット（図９（ａ））、第Ｅ２番目のビット（図９（ｂ））、第Ｅ３番目のビット（図９（ｃ））、または第Ｅ４番目のビット（図９（ｄ））となる。
【０００６】
なお、データレートＲ１〜Ｒ３の場合のトランスポートフォーマットにおいて、データレートＲ１〜Ｒ３の終端ビットｎend である、第Ｅ１番目のビット、第Ｅ２番目のビット、または第Ｅ３番目のビットから、データレートＲ４の終端ビットｎend である第Ｅ４番目のビットに相当するビットまでは、何もデータがないエンプティ区間となる。
【０００７】
受信装置３は、送信装置１から、通信路２を介して送信されてきたデータ（図９）に対して、ビタビ復号処理を施す。受信装置３はまた、受信データのデータレートを検出し、復号データを、検出したデータレートで、受信装置に接続されたデータ処理装置（図示せず）に出力する。
【０００８】
次に、図８に示した送信装置１および受信装置３の構成について説明する。
【０００９】
送信装置１は、ＣＲＣ（Cyclic Redundancy Check ）エンコーダ１１、畳み込み符号化部１２、および変調部１３を有している。ＣＲＣエンコーダ１１は、送信されるデータのＣＲＣパリティビットを、データストリームに付加し、畳み込み符号化部１２に供給する。
【００１０】
畳み込み符号化部１２は、ＣＲＣエンコーダ１１からのデータに対し、畳み込み符号化を行って、変調部１３に供給する。変調部１３は、畳み込み符号化部１２からのデータを変調し、通信路２を介して受信装置３に送信する。
【００１１】
受信装置３は、復調部３１、ビタビ復号部３２、ＣＲＣデコーダ３３、およびデータレート検出部３４を有している。復調部３１は、受信データを復調して、ビタビ復号部３２に供給する。
【００１２】
ビタビ復号部３２は、データレート検出部３４に制御され、復調部３１からのデータに対して、ビタビ復号処理を施し、その結果得られたデータ（復号データ）を、ＣＲＣデコーダ３３に供給する。
【００１３】
ビタビ復号部３２は、このとき算出した最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を、データレート検出部２４に供給する。
【００１４】
ビタビ復号部３２は、ビタビ復号処理の結果得られた復号データを、データレート検出部２４が検出したデータレートで、図示せぬ装置に出力する。
【００１５】
ＣＲＣデコーダ３３は、データレート検出部３４に制御され、ビタビ復号部２２からのデータに対して、ＣＲＣ判定を行い、その判定結果を、データレート検出部３４に供給する。
【００１６】
データレート検出部３４は、ビタビ復号部２２およびＣＲＣデコーダ３３を制御して、ビタビ復号やＣＲＣ判定を行わせるとともに、ビタビ復号部３２からの、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値、並びにＣＲＣデコーダ３３からのＣＲＣ判定結果に基づいて、受信データのデータレートを検出する。
【００１７】
次に、受信データのデータレートを検出する場合の受信装置３の動作を、図１０のフローチャートを参照して説明する。なお、ここでは、図９に示したように、４つのデータレートＲi （ｉ＝１，２，３，４）が存在するものとする。
【００１８】
ステップＳ１において、データレート検出部３４は、内蔵する、カウンタｉの値を、値１に、レジスタＳmin の値を、所定の値Ｄ1 に、そしてレジスタＴｒの値を、値０に、それぞれ初期設定する。
【００１９】
ステップＳ２において、データレート検出部３４は、ビタビ復号部３２を制御して、先頭ビットＳから、カウンタｉの値で識別されるデータレートＲi の終端ビットｎend までの最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を算出させる。
【００２０】
これにより、ビタビ復号部３２は、加算、比較、および選択という、いわゆるＡＣＳ（Add Compare Select）処理を実行して、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を算出する。ビタビ復号部３２は、算出したこれらのデータを、データレート検出部３４に供給する。
【００２１】
受信装置３（データレート検出部３４）は、あり得るデータレートＲi を、予め認識しており、カウンタｉの値に基づいて、データレートＲi を識別することができるようになされている。
【００２２】
この例の場合、カウンタｉの値が値１、値２、値３、または値４（最大値）のとき（ｉ＝１，２，３，４）、データレートＲ１，Ｒ２，Ｒ３，Ｒ４がそれぞれ識別され、先頭ビットＳから、第Ｅ１番目（図９（ａ））、第Ｅ２番目（図９（ｂ））、第Ｅ３番目（図９（ｃ））、または第Ｅ４番目（図９（ｄ））のビットまでのそれぞれの、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値が算出される。
【００２３】
次に、ステップＳ３において、データレート検出部３４は、ステップＳ２で、ビタビ復号部３２から供給された、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値に基づいて、〔数１〕式を演算し、Ｓ値を算出する。
【００２４】
【数１】
Ｓ値＝１０Log((a0 −a min ) ／((a max −a min ))
【００２５】
なお、式中、a max は、最大パスメトリック値、a min は、最小パスメトリック値、およびa0は、ゼロステートパスメトリック値である。またＳ値の最大値は、値０で、最小値は、マイナス無限大である。
【００２６】
ステップＳ４において、データレート検出部３４は、ステップＳ３で、算出したＳ値が、閾値Ｄ以下であるか否かを判定する。
【００２７】
カウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートである場合、このときビタビ復号部３２で算出されるゼロステートパスメトリック値は、十分に小さい値となるため、〔数１〕式に示すＳ値は、小さい値となる。一方、データレートＲi が、受信データの真のデータレートでない場合、このとき算出されるゼロステートパスメトリック値は、十分に小さい値とはならないので、Ｓ値は、小さい値とはならない。すなわち、算出されたＳ値が、閾値Ｄ以下であるか否かを判定することにより、カウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートであるとすることができるか否か（真のデータレートである可能性があるか否か）を判定することができる。
【００２８】
なお、閾値Ｄは、真のデータレートのＳ値が、閾値Ｄ１より大きいと判定されないように、比較的大きな値となっている。
【００２９】
ステップＳ４で、Ｓ値が、閾値Ｄ以下であると判定された場合、すなわち、このときのカウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートであるとすることができる場合（真のデータレートである可能性がある場合）、ステップＳ５に進む。
【００３０】
ステップＳ５において、データレート検出部３４は、ビタビ復号部３２を制御して、トレースバック処理を実行させ、先頭ビットＳから、カウンタｉの値で識別されるデータレートＲi の終端ビットｎend （例えば、カウンタｉの値が値１である場合、第Ｅ1 番目のビット）までのデータストリームを生成させる。そしてステップＳ６において、データレート検出部３４は、ＣＲＣデコーダ３３を制御して、このとき生成されたデータのＣＲＣ判定を行わせる。
【００３１】
これにより、ビタビ復号部３２は、先頭ビットＳから、データレートＲi の終端ビットｎend までのデータストリームを生成し、ＣＲＣデコーダ３３に供給する。
【００３２】
ＣＲＣデコーダ３３は、ビタビ復号部３２から供給された復号データ（先頭データＳから、データレートＲi の終端ビットｎend までの復号データ）を生成多項式で割り、その余りを求める。
【００３３】
カウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートである場合、求められた余りは０となる可能性が高いが、データレートＲi が、受信データの真のデータレートでない場合、余りは０とならない可能性が高い。
【００３４】
ＣＲＣデコーダ３３は、求めた余りを、ＣＲＣ計算結果として、データレート検出部３４に通知する。
【００３５】
ステップＳ７において、データレート検出部３４は、ＣＲＣデコーダ３３からのＣＲＣ計算結果に基づいて、受信データにエラーが存在するか否かを判定する。すなわち、このときのカウンタｉの値で示されるデータレートＲi を、受信データのデータレートとした場合におけるＣＲＣ計算結果により、受信データにエラーが存在するか否かが判定される。ＣＲＣ計算結果が、０でない場合（データレートＲi が真のデータレートでない場合）、エラーが存在すると判定され、ＣＲＣ計算結果が、０である場合（真のデータレートである可能性がある場合）、エラーが存在しないと判定される。
【００３６】
ステップＳ７で、エラーが存在しないと判定された場合、ステップＳ８に進み、データレート検出部３４は、ステップＳ３で算出したＳ値が、レジスタＳmin の値以下であるか否かを判定する。なお、レジスタＳmin には、値Ｄが初期設定されるので、ステップＳ４で、最初にＹＥＳと判定されたＳ値は、当然レジスタＳmin 以下となる。
【００３７】
ステップＳ８で、Ｓ値が、レジスタＳmin の値以下であると判定された場合、ステップＳ９に進み、データレート検出部３４は、レジスタＳmin の値を、今回算出したＳ値に置き換える。すなわち、ステップＳ８での判定は、今回算出されたＳ値が、これまで算出されたＳ値の中で最小であるか否かを判定するものである。
【００３８】
データレート検出部３４はまた、このとき、レジスタＴｒの値を、このときのカウンタｉの値で置き換える。
【００３９】
ステップＳ４で、Ｓ値が閾値Ｄ以下ではないと判定されたとき、ステップＳ７で、エラーが存在すると判定されたとき、ステップＳ８で、Ｓ値が、レジスタＳmin の値以下ではないと判定されたとき、またはステップＳ９で、レジスタＳmin およびレジスタＴｒの値が置き換えられたとき、ステップＳ１０に進む。
【００４０】
ステップＳ１０において、データレート検出部３４は、カウンタｉの値が、最大値（値４）であるか否かを判定し、最大値ではないと判定した場合、ステップＳ１１に進み、カウンタｉの値を１だけインクリメントして、ステップＳ２に戻り、それ以降の処理を実行する。
【００４１】
ステップＳ１０で、カウンタｉの値が、最大値であると判定された場合、ステップＳ１２に進み、データレート検出部３４は、レジスタＴｒの値で識別されるデータレートＲi を、受信データの真のデータレートとして検出する。そしてデータレート検出部３４は、ビタビ復号部３２を制御して、復号データを、検出したデータレートＲi で出力させる。その後、処理は終了する。
【００４２】
特許文献１（特開２００２−７６９２３号公報）には、ここまで説明したデータレート検出処理が記載されている。
【００４３】
【特許文献１】
特開２００２−７６９２３号公報
【００４４】
【発明が解決しようとする課題】
以上のようにして、レートが可変の場合における、受信データのレート検出が行われるが、この場合、Ｓ値を算出するのに上述した〔数１〕式を使用すると、Ｌｏｇ（対数）や割り算を使用した演算であるため、計算量が大きく、例えばハードウェア化した場合には回路規模や消費電力が大きくなると言う問題があった。
【００４５】
本発明はかかる点に鑑みてなされたものであり、受信データのレート検出が簡単な処理で行えるようにすることを目的とする。
【００４６】
【課題を解決するための手段】
本発明の信号処理装置は、所定の複数のデータレートの内の任意のデータレートで送信されてきたデータを、最尤復号する信号処理装置において、受信データの平均値を計算し、その計算された平均値を利用して受信データを正規化する正規化手段と、複数のデータレートを所定の順番で選択し、正規化手段の出力データのデータレートが選択したデータレートであるものとして、最尤復号処理を行う最尤復号手段と、最尤復号処理により得られる所定のメトリック値からその中での最小のメトリック値を引く演算手段と、演算手段での演算の結果得られる各レートでのステート０のメトリック値と誤り検出結果に基づいて、正しいデータレートを判定する判定手段と、判定手段により判定されたレートでの復号データを出力する出力手段とを備えることを特徴とするものである。
【００４７】
本発明の信号処理方法は、所定の複数のデータレートの内の任意のデータレートで送信されてきたデータを、最尤復号する信号処理方法において、受信データの平均値を計算し、その計算された平均値を利用して受信データを正規化するステップと、複数のデータレートを所定の順番で選択し、正規化ステップの出力データのデータレートが選択したデータレートであるものとして、最尤復号処理を行うステップと、最尤復号処理ステップにより得られる所定のメトリック値からその中での最小のメトリック値を引く算出ステップと、算出ステップでの算出の結果得られる各レートでのステート０のメトリック値と誤り検出結果に基づいて、正しいデータレートを判定するステップと、ステップにより判定されたレートでの復号データを出力する出力ステップとを備えることを特徴とするものである。
【００４８】
このようにしたことで、データレート検出処理のために必要な計算量を少なくすることができる。
【００４９】
【発明の実施の形態】
以下、図１〜図７を参照して本発明の一実施の形態について説明する。なお、本実施の形態で説明する図１〜図７において、従来例として説明した図８〜図１０に対応する部分には同一符号を付す。
【００５０】
本例においては、従来例として説明したシステムと同様に、畳み込み符号化したデータを、所定の複数のデータレートの内、任意のデータレートでデータが送受信される通信系に適用したものである。即ち、本例の場合には、図９に示すように終端ビットｎend の位置が、先頭ビットＳから数えて、第Ｅ１番目のビット（図９（ａ））、第Ｅ２番目のビット（図９（ｂ））、第Ｅ３番目のビット（図９（ｃ））、または第Ｅ４番目のビット（図９（ｄ））となる、４種類のデータレートＲ１，Ｒ２，Ｒ３，Ｒ４（データレートＲ１＜データレートＲ２＜データレートＲ３＜データレートＲ４）が存在するデータフォーマットとしてある。
【００５１】
図１は、本例の受信装置４を含む通信系の構成例を示している。送信装置１側の構成については従来例で説明した構成と同じである。即ち、送信装置１は、畳み込み符号化したデータを、所定の複数のデータレートのうちの任意のデータレートで、通信路２を介して受信装置４に送信する。
【００５２】
送信装置１は、ＣＲＣ（Cyclic Redundancy Check ）エンコーダ１１、畳み込み符号化部１２、および変調部１３を有している。ＣＲＣエンコーダ１１は、送信されるデータのＣＲＣパリティビットを、データストリームに付加し、畳み込み符号化部１２に供給する。
【００５３】
畳み込み符号化部１２は、ＣＲＣエンコーダ１１からのデータに対し、畳み込み符号化を行って、変調部１３に供給する。変調部１３は、畳み込み符号化部１２からのデータを変調し、通信路２を介して受信装置４に送信する。
【００５４】
受信装置４は、送信装置１から、通信路２を介して送信されてきたデータに対して、ビタビ復号処理を施す。受信装置４はまた、受信データのデータレートを検出し、復号データを、検出したデータレートで、受信装置に接続されたデータ処理装置（図示せず）に出力する。
【００５５】
受信装置４の構成としては、復調部３１と、復調部３１で復調された信号を正規化するノーマライザ４１と、ノーマライザ４１の出力をビタビ復号するビタビ復号部４２と、ビタビ復号部４２が出力するデータのＣＲＣデコードを行うＣＲＣデコーダ３３と、受信データのデータレートを検出するデータレート検出部４３とを備える。
【００５６】
復調部３１は、受信データを復調して、ノーマライザ４１に供給する。ノーマライザ４１での正規化処理としては、受信データの平均値を計算し、その計算された平均値を利用して受信データを正規化する。具体的には、例えば、先頭ビットＳからデータ長が最短となるデータレートでの終端ビットｎend までのデータの絶対値の平均値を求める。そして、各入力データを求められた平均値で割り、さらに適切な定数Ａをかける。このように正規化処理を行うことで、ノーマライザ４１の出力は、受信信号レベルが変動しても、デコード処理単位でのデータの平均値がＡに正規化される。
【００５７】
ノーマライザ４１で正規化された復調データは、ビタビ復号部４２でビタビ復号される。
【００５８】
図２は、ビタビ復号部４２の構成例を示した図である。ビタビ復号部４２に入力したデータは、ブランチメトリック計算回路５２に供給されて、ブランチ毎のメトリックをブランチメトリック計算回路５２で計算する。
【００５９】
そして、ブランチメトリック計算回路５２が出力するブランチメトリックと、ステートメトリック記憶回路５５に記憶された各ステート毎のパスメトリックとをＡＣＳ回路５３に供給して、加算し比較する。ＡＣＳ回路５３での加算及び比較で得られた各ステート毎のパスメトリックは、メトリック再設定回路５４で、最小のパスメトリックを探し、その探した最小のパスメトリック値を、各ステートのパスメトリック値から引く正規化演算処理を行って、各ステートのパスメトリック値を再設定する。このように再設定することで、最小のパスメトリック値が常に０になる。
【００６０】
再設定回路５４が出力する各ステート毎のパスメトリック値は、メトリック記憶回路５５に記憶されて、ＡＣＳ回路５３に供給される。ＡＣＳ回路５３でのパス選択情報は、パスメモリ回路５６に記憶される。
【００６１】
ＡＣＳ回路５３では、ブランチメトリック計算回路５２から供給されるブランチメトリックと、メトリック記憶回路５５に記憶された各ステート毎のパスメトリックとに基づいて、各ステートに合流する２本のそれぞれのパスに対し、ブランチメトリックとパスメトリックを加算して比較し、この比較結果に基づき尤度の高いものを選択して、各ステート毎の新パスメトリックとする。その選択内容を、パス選択情報としてパスメモリ回路５６に供給し、最小のメトリックのステートの番号を最尤ステート情報としてパスメモリ回路５６に供給する。パスメモリ回路５６は、ＡＣＳ回路５３が出力するパス選択情報を記憶し、同時にＡＣＳ回路５３が出力する最尤ステート情報に基づいて、最尤パスに対応する情報の内、打ち切り長と呼ばれる一定の長さ以前の情報を復号データとして出力する。
【００６２】
具体的なパスの選択処理状態の例を図３のトレリスに示すと、例えばステートＳ０，Ｓ１，Ｓ２，Ｓ３の４つのステートが存在するとすると、各タイムスロット毎に全てのステートには合流する２本のパスが存在する。そこで、あるステートに合流する２本のそれぞれのパスに対し、受信信号とパスとのハミング距離（ブランチメトリック）と、それまでのブランチメトリックの累積和（ステートのパスメトリック）とをＡＣＳ回路５３で加算して比較し、この比較結果に基づいて尤度の高いものが選択される。ここで、各ステートＳ０〜Ｓ３のメトリック値は、そのままでは図３に示すように累積されて加算されていき、徐々に大きな値になっていくが、最小の値であるパスを順に辿ることで、最尤パスが選ばれ、正しい復号ができる。
【００６３】
ここで本例の場合には、既に説明したように、メトリック再設定回路５４で、最小のパスメトリックを探し、その探した最小のパスメトリック値を、各ステートのパスメトリック値から引くことで、パスメトリック値の値が累積加算されることがないようにしてある。なお、図３はパス選択の原理を示したトレリスであり、各ステートのメトリック値として、そのタイミングでの最小値を引く処理はしてない状態で示してある。従って、図３の例の場合には、メトリック値は累積加算された状態で示してあるが、既に説明したように本例の演算処理を行うことで、４つのステートの内の最小値は０になる。
【００６４】
このように、本例のビタビ復号部４２（図１）でのビタビ復号処理として、１ステップ毎の復号処理の際に、加算、比較、および選択処理であるＡＣＳ（Add Compare Select）演算処理の後に得られる、各ステートのパスメトリック値から最小のパスメトリック値を探し、その値を各ステートのパスメトリック値から引くようにしてある。この結果、先頭ビットから順にＡＣＳ演算処理でパスメトリック値を求めていく際に、パスメトリックの絶対値が大きくなっていくのを避けることができる。即ち、どの終端ビットｎend であっても、最小メトリック値減算後の最大メトリック値（〔数１〕式の（a max −a min ））に大きな差がなくなる。
【００６５】
このように本例の受信装置４は、ノーマライザ４１での正規化とビタビ復号部４２での最小パスメトリック値の減算により、様々な通信路環境あるいはどの終端ビットｎend であっても、〔数１〕式の（a max −a min ）に大きな差がなくなる。よって、Ｓ値とＤ値もしくは各終端ビットｎend 間のＳ値の比較において（a max −a min ）を考慮する必要がなくなる。また、〔数１〕式に付与されたｌｏｇは単純増加関数であり、最終的にＳ値は最小メトリック値減算後のゼロステートパスメトリック値a0′（＝a0-a min）として問題なくなる。
【００６６】
そこで本例の受信装置４では、ゼロステートパスメトリック値a0′のみをデータレート検出部４３に供給する。データレート検出部４３では、ビタビ復号部４２及びＣＲＣデコーダ３３を制御して、ビタビ復号やＣＲＣ判定を行わせるとともに、ビタビ復号部４２からの、ゼロステートパスメトリック値a0′並びにＣＲＣデコーダ３３からのＣＲＣ判定結果に基づいて、受信データのデータレートを検出する処理を行う。
【００６７】
次に、本例の受信装置４での受信データのデータレート検出処理を、図４のフローチャートを参照して説明する。この図４のフローチャートにおいて、従来例として説明した図１０のフローチャートと同じ処理が行われるステップには、同じステップ番号を付与してある。また、この例でも、図９に示したように、４つのデータレートＲi （ｉ＝１，２，３，４）が存在するものとする。
【００６８】
ステップＳ１において、データレート検出部４３は、内蔵する、カウンタｉの値を、値１に、レジスタＳmin の値を、所定の値Ｄに、そしてレジスタＴｒの値を、値０に、それぞれ初期設定する。
【００６９】
ステップＳ１３において、ビタビ復号部４２は、ノーマライザ４１で正規化されたデータに対し、加算、比較、及び選択といった、既に説明したＡＣＳ処理を順次実行し、ＡＣＳ処理後に得られる各ステートのパスメトリック値から最小のパスメトリック値を探し、その値を各ステートのパスメトリック値から引く。さらに、ビタビ復号部４２は、データレート検出部４３の制御を受け、カウンタｉの値で識別されるデータレートＲi の終端ビットｎend では、ゼロステートパスメトリック値a0′をデータレート検出部４３に供給する。
【００７０】
受信装置４内のデータレート検出部４３は、あり得るデータレートＲi を、予め認識しており、カウンタｉの値に基づいて、データレートＲi を識別することができるようになされている。
【００７１】
この例の場合、カウンタｉの値が値１、値２、値３、または値４（最大値）のとき（ｉ＝１，２，３，４）、データレートＲ１，Ｒ２，Ｒ３，Ｒ４がそれぞれ識別され、先頭ビットＳから、第Ｅ１番目（図９（ａ））、第Ｅ２番目（図９（ｂ））、第Ｅ３番目（図９（ｃ））、または第Ｅ４番目（図９（ｄ））のビットまでのそれぞれの、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値が算出される。
【００７２】
次に、ステップＳ１４において、データレート検出部４３は、ステップＳ１３で、ビタビ復号部４２から供給された、ゼロステートパスメトリック値a0′に基づいて、次式の演算を行って、Ｓ値を算出する。
【００７３】
【数２】
Ｓ値＝a0′
【００７４】
つまり、本例の場合にはＳ値はビタビ復号部４２から供給されたa0′値そのものである。このＳ値を用いて、以降の処理を行う。以降の処理ステップについては、従来例で説明した処理ステップと同じであるが、説明を繰り返しておく。即ち、ステップＳ４において、データレート検出部４３は、ステップＳ１４で、算出したＳ値が、閾値Ｄ以下であるか否かを判定する。
【００７５】
カウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートである場合、このときビタビ復号部４２で算出されるゼロステートパスメトリック値は、十分に小さい値となるため、〔数２〕式に示すＳ値は、小さい値となる。一方、データレートＲi が、受信データの真のデータレートでない場合、このとき算出されるゼロステートパスメトリック値は、十分に小さい値とはならないので、Ｓ値は、小さい値とはならない。すなわち、算出されたＳ値が、閾値Ｄ以下であるか否かを判定することにより、カウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートであるとすることができるか否か（真のデータレートである可能性があるか否か）を判定することができる。
【００７６】
なお、閾値Ｄは、真のデータレートのＳ値が、閾値Ｄより大きいと判定されないように、比較的大きな値となっている。
【００７７】
ステップＳ４で、Ｓ値が、閾値Ｄ以下であると判定された場合、すなわち、このときのカウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートであるとすることができる場合（真のデータレートである可能性がある場合）、ステップＳ５に進む。
【００７８】
ステップＳ５において、データレート検出部４３は、ビタビ復号部４２を制御して、トレースバック処理を実行させ、先頭ビットＳから、カウンタｉの値で識別されるデータレートＲi の終端ビットｎend （例えば、カウンタｉの値が値１である場合、第Ｅ1 番目のビット）までのデータストリームを生成させる。そしてステップＳ６において、データレート検出部４３は、ＣＲＣデコーダ３３を制御して、このとき生成されたデータのＣＲＣ判定を行わせる。
【００７９】
これにより、ビタビ復号部４２は、先頭ビットＳから、データレートＲi の終端ビットｎend までのデータストリームを生成し、ＣＲＣデコーダ２３に供給する。
【００８０】
ＣＲＣデコーダ３３は、ビタビ復号部４２から供給された復号データ（先頭データＳから、データレートＲi の終端ビットｎend までの復号データ）を生成多項式で割り、その余りを求める。
【００８１】
カウンタｉの値で識別されるデータレートＲi が、受信データの真のデータレートである場合、求められた余りは０となる可能性が高いが、データレートＲi が、受信データの真のデータレートでない場合、余りは０とならない可能性が高い。
【００８２】
ＣＲＣデコーダ３３は、求めた余りを、ＣＲＣ計算結果として、データレート検出部４３に通知する。
【００８３】
ステップＳ７において、データレート検出部４３は、ＣＲＣデコーダ３３からのＣＲＣ計算結果に基づいて、受信データにエラーが存在するか否かを判定する。すなわち、このときのカウンタｉの値で示されるデータレートＲi を、受信データのデータレートとした場合におけるＣＲＣ計算結果により、受信データにエラーが存在するか否かが判定される。ＣＲＣ計算結果が、０でない場合（データレートＲi が真のデータレートでない場合）、エラーが存在すると判定され、ＣＲＣ計算結果が、０である場合（真のデータレートである可能性がある場合）、エラーが存在しないと判定される。
【００８４】
ステップＳ７で、エラーが存在しないと判定された場合、ステップＳ８に進み、データレート検出部４３は、ステップＳ１４で算出したＳ値が、レジスタＳmin の値以下であるか否かを判定する。なお、レジスタＳmin には、値Ｄが初期設定されるので、ステップＳ４で、最初にＹＥＳと判定されたＳ値は、当然レジスタＳmin 以下となる。
【００８５】
ステップＳ８で、Ｓ値が、レジスタＳmin の値以下であると判定された場合、ステップＳ９に進み、データレート検出部４３は、レジスタＳmin の値を、今回算出したＳ値に置き換える。すなわち、ステップＳ８での判定は、今回算出されたＳ値が、これまで算出されたＳ値の中で最小であるか否かを判定するものである。
【００８６】
データレート検出部４３はまた、このとき、レジスタＴｒの値を、このときのカウンタｉの値で置き換える。
【００８７】
ステップＳ４で、Ｓ値が閾値Ｄ以下ではないと判定されたとき、ステップＳ７で、エラーが存在すると判定されたとき、ステップＳ８で、Ｓ値が、レジスタＳmin の値以下ではないと判定されたとき、またはステップＳ９で、レジスタＳmin およびレジスタＴｒの値が置き換えられたとき、ステップＳ１０に進む。
【００８８】
ステップＳ１０において、データレート検出部４３は、カウンタｉの値が、最大値（値４）であるか否かを判定し、最大値ではないと判定した場合、ステップＳ１１に進み、カウンタｉの値を１だけインクリメントして、ステップＳ１３に戻り、それ以降の処理を実行する。
【００８９】
ステップＳ１０で、カウンタｉの値が、最大値であると判定された場合、ステップＳ１２に進み、データレート検出部４３は、レジスタＴｒの値で識別されるデータレートＲi を、受信データの真のデータレートとして検出する。そしてデータレート検出部４３は、ビタビ復号部４２を制御して、復号データを、検出したデータレートＲi で出力させる。その後、処理は終了する。
【００９０】
以上説明したように、本例の受信装置での受信処理を行うことで、受信データのデータレート検出に必要なＳ値が、簡単な処理で得られる効果を有する。即ち、従来は〔数１〕式に示した複雑な演算を行ってＳ値を得る必要があったが、本例では、ノーマライザ４１での正規化処理と、ビタビ復号部４２での最小パスメトリック値の減算により、Ｓ値をビタビ復号部４２から供給される最小メトリック値減算後のゼロステートパスメトリック値とすることができ、データレート検出の計算量を小さくすることができる。
【００９１】
なお、本例の処理（数２式）と、従来の処理（数１式）では、データレートの検出能力は、ほとんど差がない。図５は、縦軸をブロックエラーレート（BLock Error Rate:BLER ）、横軸を基地局からの送信パワーで示してあり、２４０Ｈｚのフェージング状態で測定した例としてある。ここでのブロックエラーレートは、レジスタＴｒが初期値０のままで、データレート検出処理が失敗する確率である。特性ａは、本例の処理（数２式）により算出されたＳ値のエラーレートで、特性ｂは、従来の処理（数１式）により算出されたＳ値のエラーレートであり、それぞれの特性にはほとんど違いがない。
【００９２】
図６は、縦軸をＦＤＲ（Fault Detection Rate）、横軸を基地局からの送信パワーで示してあり、２４０Ｈｚのフェージング状態で測定した例としてある。ＦＤＲは、送信したデータレートと検出したデータレートが異なる確率である。但し、レジスタｔｒが初期値０のままである場合を除いてある。特性ｃは、本例の処理（数２式）により算出されたＳ値のエラーレートで、特性ｄは、従来の処理（数１式）により算出されたＳ値のエラーレートであり、この場合にも、それぞれの特性にはほとんど違いがない。
【００９３】
なお、本例のように、ノーマライザでの処理とビタビ復号部での最小パスメトリック値の減算を行うことで、その部分の回路規模は若干増えるが、Ｓ値の算出のための回路規模については大幅に小さくなる。
【００９４】
ノーマライザは、パラメータＡを適切な値に設定すれば、後段のビタビ復号部でのダイナミックレンジを減らすことができる。もしノーマライザがなければ、あり得る入力レンジ全てに対応した広いダイナミックレンジを確保する必要がある。さらに本処理の際に量子化、リミッタを行うことによりデータのビット幅を少なくすることも可能であり、一層ビタビ復号部４２の回路規模を少なくすることが可能となる。
【００９５】
ここまで説明した一連の処理は、ハードウェアにより実現させることもできるが、ソフトウェアにより実現させることもできる。一連の処理をソフトウェアにより実現する場合には、そのソフトウェアを構成するプログラムをコンピュータ装置などのデータ処理装置にインストールして、そのプログラムをコンピュータ装置などで実行することで、上述した受信装置４が機能的に実現される。
【００９６】
図７は、上述のような受信装置４として機能するコンピュータ１０１の構成例を示すブロック図である。ＣＰＵ（Central Processing Unit ）１１１にはバス１１５を介して入出力インターフェース１１６が接続されており、ＣＰＵ１１１は、入出力インターフェース１１６を介して、ユーザから、キーボード、マウスなどよりなる入力部１１８から指令が入力されると、例えば、ＲＯＭ（Read Only Memory）１１２、ハードディスク１１４、またはドライブ１２０に装着される磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３、若しくは半導体メモリ１３４などの記録媒体に格納されているプログラムを、ＲＡＭ（RandomAccess Memory ）１１３にロードして実行する。これにより、上述した各種の処理（例えば、図４のフローチャートにより示される処理）が行われる。さらに、ＣＰＵ１１１は、その処理結果を、例えば、入出力インターフェース１１６を介して、ＬＣＤ（Liquid Crystal Display）などよりなる表示部１１７に必要に応じて出力する。なお、プログラムは、ハードディスク１１４やＲＯＭ１１２に予め記憶しておき、コンピュータ１０１と一体的にユーザに提供したり、磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３，半導体メモリ１３４等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部１１９を介してハードディスク１１４に提供することができる。
【００９７】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９８】
【発明の効果】
本発明によると、受信データの平均値を計算し、その平均値を利用して受信データを正規化し、複数のデータレートを所定の順番で選択し、データのデータレートが選択したデータレートであるものとして、最尤復号処理を実行し、その最尤復号処理においてＡＣＳ演算後に各メトリック値からその中での最小のメトリック値を引き、その結果得られる各レートでのステート０のメトリック値と誤り検出結果に基づいて、正しいデータを判定するので、データレート検出処理に必要な計算量を少なくすることができる。従って、データレート検出に必要な回路規模を小さくすることができ、そのための消費電力についても低減できる。また、データレートが検出される速度を高速化することができる効果を有する。
【図面の簡単な説明】
【図１】
本発明の一実施の形態による構成例を示すブロック図である。
【図２】
本発明の一実施の形態によるビタビ復号部の構成例を示すブロック図である。
【図３】
ビタビ復号の復号トレリスの例を示す説明図である。
【図４】
本発明の一実施の形態によるデータレート検出処理例を示すフローチャートである。
【図５】
本発明の一実施の形態によるブロックエラーレート（ＢＬＥＲ）の一例を示す特性図である。
【図６】
本発明の一実施の形態による送信したデータレートと検出したデータレートが異なる確率の一例を示す特性図である。
【図７】
コンピュータ装置の一例を示すブロック図である。
【図８】
従来の構成例を示すブロック図である。
【図９】
データレートの種類の例を示す説明図である。
【図１０】
従来のデータレート検出処理例を示したフローチャートである。
【符号の説明】
１…送信装置、２…通信路、３，４…受信装置、１１…ＣＲＣエンコーダ、１２…畳込み符号化部、１３…変調部、３１…復調部、３２…ビタビ復号部、３３…ＣＲＣデコーダ、３４…データレート検出部、４１…ノーマライザ、４２…ビタビ復号部、４３…データレート検出部、５２…ブランチメトリック計算回路、５３…ＡＣＳ回路（加算、比較及び選択回路）、５４…メトリック再設定回路、５５…メトリック記憶回路、５６…パスメモリ回路、１１１…中央制御ユニット、１１２…ＲＯＭ、１１３…ＲＡＭ、１１４…ハードディスクドライブ、１１５…バスライン、１１６…入出力インターフェース、１１７…表示部、１１８…入力部、１１９…通信部、１２０…ドライブ、１３１…磁気ディスク、１３２…光ディスク、１３３…光磁気ディスク、１３４…半導体メモリ