(57)【要約】【課題】可変レートの畳込み符号などを受信した場合のレート検出が高速かつ簡単に行えるようにする。【解決手段】受信したデータの復号手段５１と、復号手段で復号されたデータが順に入力されて、そのデータに付加された誤り検出符号を使用して、所定単位毎に先頭ビットから各データレートの終端ビット位置までの誤り検出用計算処理を行う誤り計算処理手段５３と、誤り計算処理手段に入力したデータを一時記憶する記憶手段５６とを備えて、誤り計算処理手段に各終端ビット位置のデータが入力した場合に、そのデータを記憶手段に移して一時記憶させ、計算処理手段で各データレートの終端ビット位置のデータが入力して誤り検出用計算処理を行った後に、一時記憶されたデータを誤り計算処理手段に移すようにした。【選択図】      図１
2004222196.tif 000002
【特許請求の範囲】
【請求項１】
予め用意された複数のデータレートの内から選ばれた所定のデータレートで送信されてきたデータの前記データレートを、誤り検出符号に基づいた誤り判定で検出し、検出した前記データレートで前記データを復号する信号処理装置において、
受信したデータの復号処理を実行する復号手段と、
前記復号手段で復号されたデータが順に入力されて、そのデータに付加された誤り検出符号を使用して、所定単位毎に先頭ビットから各データレートの終端ビット位置までの誤り検出用計算処理を行う誤り計算処理手段と、
前記誤り計算処理手段に入力しているデータを一時記憶する記憶手段と、
前記誤り計算処理手段に、用意された複数のデータレートの各終端ビット位置のデータが入力した場合に、そのデータを前記記憶手段に移して一時記憶させ、前記計算処理手段で各データレートの終端ビット位置のデータが入力して誤り検出用計算処理を行った後に、一時記憶されたデータを前記誤り計算処理手段に移す制御手段と、
前記誤り計算処理手段による各終端ビット位置での計算結果に基づいて、受信したデータのデータレートを判定する判定手段とを備えることを特徴とする
信号処理装置。
【請求項２】
請求項１記載の信号処理装置において、
前記記憶手段は、前記制御手段に内蔵又は接続された汎用記憶手段を使用した
信号処理装置。
【請求項３】
請求項１記載の信号処理装置において、
前記判定手段での判定は、用意された全てのデータレートの終端ビット位置での誤り計算処理が終了した段階で行う
信号処理装置。
【請求項４】
予め用意された複数のデータレートの内から選ばれた所定のデータレートで送信されてきたデータの前記データレートを、誤り検出符号に基づいた誤り判定で検出し、検出した前記データレートで前記データを復号する信号処理方法において、
受信したデータの復号処理を実行する復号ステップと、
前記復号ステップで復号されたデータが順に入力されて、そのデータに付加された誤り検出符号を使用して、所定単位毎に先頭ビットから各データレートの終端ビット位置までの誤り検出用計算処理を行う誤り計算処理ステップと、
前記誤り計算処理ステップで、用意された複数のデータレートの各終端ビット位置のデータが入力した場合に、そのデータを一時記憶し、前記計算処理ステップで各データレートの終端ビット位置のデータが入力して誤り検出用計算処理を行った後に、一時記憶されたデータを元に戻す制御ステップと、
前記誤り計算処理ステップによる各終端ビット位置での計算結果に基づいて、受信したデータのデータレートを判定する判定ステップとを備えることを特徴とする
信号処理方法。
【請求項５】
請求項４記載の信号処理方法において、
前記判定ステップでの判定は、用意された全てのデータレートの終端ビット位置での誤り計算処理が終了した段階で行う
信号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、畳み込み符号などで符号化されたデータを最尤復号する信号処理装置及び方法に関し、特に送信されたデータのデータレートを検出する信号処理装置及び方法に関する。
【０００２】
【従来の技術】
従来、データレートが複数用意された内の、所定のデータレートで送信させて、受信側でそのデータレートを検出することが行われている。図５は、従来の受信装置３を含む、所定の複数のデータレートのうち、任意のデータレートでデータが送受信される通信系の構成例を示している。
【０００３】
送信装置１は、畳み込み符号化したデータを、所定の複数のデータレートのうちの任意のデータレートで、通信路２を介して受信装置３に送信する。
【０００４】
図６は、ここで送受信されるデータのトランスポートフォーマットの例を示している。このフォーマットによれば、データストリームにＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  ）符号が付加されているが、データレートに応じて、データストリームの長さは可変するため、終端のビット（ＣＲＣの最後のビット）ｎｅｎｄ  は、データレートにより異なる。なお、以下の説明では、ＣＲＣの最後のビットを終端ビットｎｅｎｄ  と称する。
【０００５】
例えば、図６に示すように、所定単位毎に、４つのデータレートＲ１，Ｒ２，Ｒ３，Ｒ４（データレートＲ１＜データレートＲ２＜データレートＲ３＜データレートＲ４）が存在する場合において、データレートＲ１〜Ｒ４のときのそれぞれの終端ビットｎｅｎｄ  は、先頭ビットＳから数えて、第Ｅ１番目のビット（図９（ａ））、第Ｅ２番目のビット（図９（ｂ））、第Ｅ３番目のビット（図９（ｃ））、または第Ｅ４番目のビット（図９（ｄ））となる。
【０００６】
なお、データレートＲ１〜Ｒ３の場合のトランスポートフォーマットにおいて、データレートＲ１〜Ｒ３の終端ビットｎｅｎｄ  である、第Ｅ１番目のビット、第Ｅ２番目のビット、または第Ｅ３番目のビットから、データレートＲ４の終端ビットｎｅｎｄ  である第Ｅ４番目のビットに相当するビットまでは、何もデータがないエンプティ区間となる。
【０００７】
受信装置３は、送信装置１から、通信路２を介して送信されてきたデータ（図６）に対して、ビタビ復号処理を施す。受信装置３はまた、受信データのデータレートを検出し、復号データを、検出したデータレートで、受信装置に接続されたデータ処理装置（図示せず）に出力する。
【０００８】
次に、図５に示した送信装置１および受信装置３の構成について説明する。
【０００９】
送信装置１は、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  ）エンコーダ１１、畳み込み符号化部１２、および変調部１３を有している。ＣＲＣエンコーダ１１は、送信されるデータのＣＲＣパリティビットを、データストリームに付加し、畳み込み符号化部１２に供給する。
【００１０】
畳み込み符号化部１２は、ＣＲＣエンコーダ１１からのデータに対し、畳み込み符号化を行って、変調部１３に供給する。変調部１３は、畳み込み符号化部１２からのデータを変調し、通信路２を介して受信装置３に送信する。
【００１１】
受信装置３は、復調部３１、ビタビ復号部３２、ＣＲＣデコーダ３３、およびデータレート検出部３４を有している。復調部３１は、受信データを復調して、ビタビ復号部３２に供給する。
【００１２】
ビタビ復号部３２は、データレート検出部３４に制御され、復調部３１からのデータに対して、ビタビ復号処理を施し、その結果得られたデータ（復号データ）を、ＣＲＣデコーダ３３に供給する。
【００１３】
ビタビ復号部３２は、このとき算出した最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を、データレート検出部３４に供給する。
【００１４】
ビタビ復号部３２は、ビタビ復号処理の結果得られた復号データを、データレート検出部３４が検出したデータレートで、図示せぬ装置に出力する。
【００１５】
ＣＲＣデコーダ３３は、データレート検出部３４に制御され、ビタビ復号部３２からのデータに対して、ＣＲＣ判定を行い、その判定結果を、データレート検出部３４に供給する。
【００１６】
データレート検出部３４は、ビタビ復号部３２およびＣＲＣデコーダ３３を制御して、ビタビ復号やＣＲＣ判定を行わせるとともに、ビタビ復号部３２からの、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値、並びにＣＲＣデコーダ３３からのＣＲＣ判定結果に基づいて、受信データのデータレートを検出する。
【００１７】
図７は、ビタビ復号部３２の構成例を示している。ＡＣＳ部３５は、加算、比較、および選択という、いわゆるＡＣＳ（Ａｄｄ  Ｃｏｍｐａｒｅ  Ｓｅｌｅｃｔ）処理を実行する回路であり、ブランチメトリック値およびステートメトリック値を算出するとともに、それらに基づいて所定の演算を行って、パスメトリック値を算出する。ＡＣＳ部３５はまた、算出したパスメトリック値（最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値）を、データレート検出部３４に供給するとともに、それらに基づいて、最も尤度の高いパスを選択し、そのパスの選択情報を、パスメモリ３６に供給する。
【００１８】
パスメモリ３６は、受信データの所定の数のビット（Ｌ個のビット）についての、ＡＣＳ部３５からの選択情報に基づく生き残りパスに関する情報（パスメモリデータ）を記憶し、その中で最も尤度の高いパスに対応する情報系列を、復号データとして、ＣＲＣデコーダ３３に供給する。パスメモリ３６はまた、データレート検出部３４により検出されたデータレートで、復号データを出力する。
【００１９】
図８は、ＣＲＣデコーダ３３の構成例を示している。ＣＲＣ算出部３７は、ビタビ復号部３２（パスメモリ３６）からの復号データおよびパスメモリデータを使用して、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  ）用の算出処理を行い、その結果をＣＲＣ判定部３８に供給する。
【００２０】
ＣＲＣ判定部３８は、ＣＲＣ算出部３７により算出されたＣＲＣと、ビタビ復号部３２からの復号データに含まれるＣＲＣ符号（図６参照）とを比較し、両者が一致するか否かを判定し、その判定結果を、データレート検出部３４に供給する。
【００２１】
次に、受信データのデータレートを検出する場合の受信装置３の動作を、図９のフローチャートを参照して説明する。なお、ここでは受信するデータとして、図６に示したように、４つのデータレートＲｉ  （ｉ＝１，２，３，４）が存在するものとする。
【００２２】
ステップＳ１において、データレート検出部３４は、内蔵する、カウンタｉの値を値１に、レジスタＳｍｉｎ  の値を、所定の値Ｄｂに、そしてレジスタｔｒの値を値０に、それぞれ初期設定する。
【００２３】
ステップＳ２において、データレート検出部３４は、ビタビ復号部３２を制御して、受信データの先頭ビットＳから、カウンタｉの値で識別されるデータレートＲｉ  の終端ビットｎｅｎｄ  までの最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を算出させる。
【００２４】
これにより、ビタビ復号部３２（ＡＣＳ部３５）は、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値を算出する。ビタビ復号部３２（ＡＣＳ部３５）は、算出したこれらのデータを保持するとともに、データレート検出部３４に供給する。
【００２５】
受信装置３（データレート検出部３４）は、あり得るデータレートＲｉ  を、予め認識しており、カウンタｉの値に基づいて、それらのデータレートＲｉ  を識別することができようになされている。
【００２６】
この例の場合、カウンタｉの値が値１、値２、値３、または値４（最大値）（ｉ＝１，２，３，４）で、データレートＲ１  ，Ｒ２  ，Ｒ３  ，Ｒ４  のそれぞれが識別される。即ち、ここでは先頭ビットＳから、第Ｅ１  番目（図６（Ａ））、第Ｅ２  番目（図６（Ｂ））、第Ｅ３  番目（図６（Ｃ））、または第Ｅ４  番目（図６（Ｄ））のビットまでのそれぞれの、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値が算出される。
【００２７】
次に、ステップＳ３において、データレート検出部３４は、ステップＳ２で、ビタビ復号部３２から供給された、最大パスメトリック値、最小パスメトリック値、およびゼロステートパスメトリック値に基づいて、式（１）を演算し、Ｓ値を算出する。
Ｓ値＝１０Ｌｏｇ（（ａ０  −ａ  ｍｉｎ  ）  ／（ａｍａｘ  −ａ  ｍｉｎ  ））・・・・（１）
なお、式中、ａ  ｍａｘ  は、最大パスメトリック値、ａ  ｍｉｎ  は、最小パスメトリック値、およびａ  ０  は、ゼロステートパスメトリック値を示す。またＳ値の最大値は、値０で、最小値は、マイナス無限大となる。
【００２８】
ステップＳ４において、データレート検出部３４は、ステップＳ３で、算出したＳ値が、閾値Ｄ１  以下であるか否かを判定する。
【００２９】
カウンタｉの値で識別されるデータレートＲｉ  が、受信データの真のデータレートである場合、このときビタビ復号部３２において算出されるゼロステートパスメトリック値は、十分に小さい値となるため、式（１）に示すＳ値は、小さい値となる。一方、データレートＲｉ  が、受信データの真のデータレートでない場合、このとき算出されるゼロステートパスメトリック値は、十分に小さい値とはならないので、Ｓ値は、小さい値とはならない。すなわち、算出されたＳ値が、閾値Ｄ１  以下であるか否かを判定することにより、データレートＲｉ  が、受信データの真のデータレートであるとすることができるか否か（真のデータレートである可能性があるか否か）を判定することができる。
【００３０】
なお、閾値Ｄ１  は、受信データの真のデータレートのＳ値が、ここでＮＯの判定がなされないように（閾値Ｄ１  以下ではないと判定されないように）、閾値Ｄ１  は、比較的大きな値となっている。
【００３１】
ステップＳ４で、Ｓ値が、閾値Ｄ１  以下であると判定された場合、すなわち、このときのカウンタｉの値で識別されるデータレートＲｉ  が、受信データの真のデータレートであるとすることができる場合（真のデータレートである可能性がある場合）、ステップＳ５に進む。
【００３２】
ステップＳ５において、データレート検出部３４は、ビタビ復号部３２を制御して、先頭ビットＳから、カウンタｉの値で識別されるデータレートＲｉ  の終端ビットｎｅｎｄ  までのデータストリームを、ビタビ復号させ、そしてＣＲＣデコーダ３３を制御して、このときの復号データおよびパスメモリデータに基づくＣＲＣ判定を行わせる。
【００３３】
これにより、ビタビ復号部３２は、ステップＳ２で算出した最大パスメトリック値、最小パスメトリック値、またはゼロステートパスメトリック値等を参照して、先頭ビットＳから、データレートＲｉ  の終端ビットｎｅｎｄ  までのデータストリームを、ビタビ復号し、その結果得られた復号データを、ＣＲＣデコーダ３３に供給する。またビタビ復号部３２は、パスメモリ３６に記憶されているパスメモリデータを、ＣＲＣデコーダ３３に供給する。
【００３４】
例えば、カウンタｉ＝１のときは、図１０（ａ）に示すように、受信データの先頭ビットＳから、第Ｅ１  番目のビットのＬ個前のビット（第（Ｅ１  −Ｌ）番目のビット）までの復号データ（図中、実線の双方向の矢印で示されているデータ）と、第（Ｅ１  −Ｌ＋１）番目のビットから第Ｅ１  番目のビットまでのデータについてのパスメモリデータ（図中、点線の双方向の矢印で示されているデータ）がＣＲＣデコーダ３３（ＣＲＣ算出部３７）に供給される。
【００３５】
カウンタｉ＝２のときは、図１０（ｂ）に示すように、受信データの先頭ビットＳから第（Ｅ２  −Ｌ）番目のビットまでの復号データと、第（Ｅ２  −Ｌ＋１）番目のビットから第Ｅ２  番目のビットまでのデータについてのパスメモリデータが、カウンタｉ＝３のときは、図１０（ｃ）に示すように、受信データの先頭ビットＳから第（Ｅ３  −Ｌ）番目のビットまでの復号データと、第（Ｅ３  −Ｌ＋１）番目のビットから第Ｅ３  番目のビットまでのデータについてのパスメモリデータが、そしてカウンタｉ＝４のときは、図１０（ｄ）に示すように、受信データの先頭ビットＳから第（Ｅ４  −Ｌ）番目のビットまでの復号データと、第（Ｅ４  −Ｌ＋１）番目のビットから第Ｅ４  番目のビットまでのデータについてのパスメモリデータが、それぞれＣＲＣデコーダ３３（ＣＲＣ算出部３７）に供給される。
【００３６】
ＣＲＣデコーダ３３（ＣＲＣ算出部３７）は、供給された復号データおよびパスメモリデータに基づいてＣＲＣを算出する。
【００３７】
ＣＲＣデコーダ３３（ＣＲＣ判定部３８）は、算出したＣＲＣと、本来、データストリームに付加されているＣＲＣが位置する場所のデータと比較し、その両者が一致するか否かを判定する。
【００３８】
カウンタｉの値で識別されるデータレートＲｉ  が、受信データの真のデータレートである場合、このとき算出されたＣＲＣと、データストリームに付加されているＣＲＣが比較され、そして両者は同じデータであるので、この場合、両者は一致すると判定される。一方、データレートＲｉ  が、受信データの真のデータレートでない場合、このとき算出されたＣＲＣと、データストリームに付加されているＣＲＣとが比較されないので（データレートＲｉ  のときにＣＲＣが位置する場所のデータストリームのデータが比較されるので）、また、算出されたＣＲＣは、データストリームに付加されている本来のＣＲＣとは同一のデータではないので、両者は当然一致しないと判定される。
【００３９】
ＣＲＣデコーダ３３（ＣＲＣ判定部３８）は、ＣＲＣ判定結果を、データレート検出部３４に通知する。
【００４０】
図５に戻り、ステップＳ６において、データレート検出部３４は、ＣＲＣデコーダ３３からのＣＲＣ判定結果に基づいて、受信データにエラーが存在するか否かを判定する。すなわち、このときのカウンタｉの値で示されるデータレートＲｉ  を、受信データのデータレートとした場合におけるＣＲＣ判定により、受信データにエラーが存在するか否かが判定される。ＣＲＣの判定結果が、一致しない旨を示す場合（データレートＲｉ  が真のデータレートではない場合）、エラーが存在すると判定され、一方、ＣＲＣの判定結果が、一致する旨を示す場合（真のデータレートである可能性がある場合）、エラーが存在しないと判定される。
【００４１】
ステップＳ６で、エラーが存在しないと判定された場合、ステップＳ７に進み、データレート検出部３４は、ステップＳ３で算出したＳ値が、レジスタＳｍｉｎ  の値より小さいか否かを判定し、小さいと判定した場合、ステップＳ８に進む。なお、レジスタＳｍｉｎ  に初期設定された値Ｄｂ  は、十分に大きな値であるので、通常、初めて算出されたＳ値は値Ｄｂ  より小さく、ステップＳ８に進む。
【００４２】
ステップＳ８において、データレート検出部３４は、レジスタＳｍｉｎ  の値を、今回算出したＳ値に置き換える。すなわち、ステップＳ７では、今回算出されたＳ値が、これまで算出されたＳ値の中で最小であるか否かが判定される。
【００４３】
データレート検出部３４はまた、このとき、レジスタｔｒの値を、このときのカウンタｉの値で置き換える。
【００４４】
ステップＳ４で、Ｓ値が、閾値Ｄ１  以下ではないと判定されたとき、ステップＳ６で、エラーが存在すると判定されたとき、ステップＳ７で、Ｓ値が、レジスタＳｍｉｎ  の値より小さくないと判定されたとき、またはステップＳ８で、レジスタＳｍｉｎ  およびレジスタｔｒの値が置き換えられたとき、ステップＳ９に進む。
【００４５】
ステップＳ９において、データレート検出部３４は、カウンタｉの値が、最大値（値４）であるか否かを判定し、最大値ではないと判定した場合、ステップＳ１０に進み、カウンタｉの値を１だけインクリメントして、ステップＳ２に戻り、それ以降の処理を実行する。
【００４６】
ステップＳ９で、カウンタｉの値が、最大値であると判定された場合、ステップＳ１１に進み、データレート検出部３４は、レジスタｔｒの値で識別されるデータレートＲｉ  を、受信データの真のデータレートとして検出する。そしてデータレート検出部３４は、ビタビ復号部３２（パスメモリ３６）を制御して、復号データを、検出したデータレートＲｉ  で出力させる。その後、処理は終了する。
【００４７】
ところで、上述したように、閾値Ｄ１  は、真のデータレートにおけるＳ値が、それよりも大きいと判定されないように（ステップＳ４）、比較的大きな値とされているが、このことより、算出される全てのＳ値（ステップＳ３）が、閾値Ｄ１  以下であると判定されることがある。すなわち、全てのデータレートＲｉ  におけるＣＲＣ判定が行われる（ステップＳ５）。
【００４８】
次に、ＣＲＣデコーダ３３内でのＣＲＣ計算処理例を、図１１のフローチャートを参照して説明する。ここでは、ビタビ復号部３２が出力するビット数をｘ、終端ビットの位置毎に付与した番号であるエンドビットポジション番号をｙ、最終エンドビットポジション番号をｎ、パスメモリのビット数をＬとする。まず、エンドビットポジション番号ｙを０に設定し（ステップＳ２１）、続いてそのエンドビットポジション番号ｙに１を加算する（ステップＳ２２）。また、ビット数ｘについても０に設定し（ステップＳ２３）、続いてそのビット数ｘに１を加算する（ステップＳ２４）。
【００４９】
そして、ＣＲＣ算出部３７にビタビ復号結果のｘ番目のデータを入力させる（ステップＳ２５）。そして、このビタビ復号部３２が出力するビット数ｘが、このとき設定されたエンドビットポジション番号ｙのビット数から、パスメモリのビット数Ｌを引いた値になったか否か判断する（ステップＳ２６）。該当する値になるまでステップＳ２４に戻って、ビタビ復号部３２の出力を入力させる。
【００５０】
ステップＳ２６の判断で、このとき設定されたエンドビットポジション番号ｙのビット数から、パスメモリのビット数Ｌを引いた値になったと判断した番号には、エンドビットポジション番号ｙのパスメモリデータを入力して、ＣＲＣ演算を完了させる（ステップＳ２７）。このＣＲＣ演算の完了後に、このとき設定されたエンドビットポジション番号ｙが、最終エンドビットポジション番号ｎと等しいか否か判断し（ステップＳ２８）、等しい場合には、ＣＲＣの計算処理を終了する。等しくない場合には、ステップＳ２２に戻ってエンドビットポジション番号ｙを進める。
【００５１】
この図１１のフローチャートに示した従来のＣＲＣの計算処理は、それぞれのエンドビットポジションになる毎に、そこまでのデータを入力させて演算を行う処理を繰り返す処理である。即ち、例えば図６に示したような４種類のデータレートが設定されて、４つの終端ビットｎｅｎｄ  の位置がある場合には、図１０（ａ）に示す１ビット目からエンドビットポジション番号１の終端ビット位置Ｅ１までのデータを、ＣＲＣ算出部３７に入力させて、ＣＲＣ演算を行う。そして、そのエンドビットポジション番号１のＣＲＣ演算が終了すると、図１０（ｂ）に示す１ビット目からエンドビットポジション番号２の終端ビット位置Ｅ２までのデータを、ＣＲＣ算出部３７に入力させて、ＣＲＣ演算を行う。さらに、エンドビットポジション番号２のＣＲＣ演算が終了すると、図１０（ｃ）に示す１ビット目からエンドビットポジション番号３の終端ビット位置Ｅ３までのデータを、ＣＲＣ算出部３７に入力させて、ＣＲＣ演算を行う。さらに、エンドビットポジション番号３のＣＲＣ演算が終了すると、図１０（ｄ）に示す１ビット目からエンドビットポジション番号４の終端ビット位置Ｅ４までのデータを、ＣＲＣ算出部３７に入力させて、ＣＲＣ演算を行う。
【００５２】
なお、図９のフローチャートに示したような、この繰り返しのＣＲＣ演算を行うために、ビタビ復号部３６側では、出力データを一時的に蓄積するメモリを必要とする。
【００５３】
このような各終端ビット位置毎のＣＲＣ演算を繰り返すことで、図９に示したフローチャートのステップＳ１１において、ＣＲＣ判定処理で正しいデータレートが検出されて、正しい復号データが出力されるようになる。
【００５４】
特許文献１（特開２００２−７６９２３号公報）には、ここまで説明したデータレート検出処理が記載されている。
【００５５】
【特許文献１】
特開２００２−７６９２３号公報
【００５６】
【発明が解決しようとする課題】
上述したデータレートの検出処理では、例えば図６に示した４種類のデータレートが存在する場合に、ＣＲＣ算出部に４回データを繰り返し入力させる必要があり、処理に時間がかかると言う問題があった。また、ビタビ復号部側で一時記憶させたデータを、繰り返しＣＲＣ算出部に送る必要があるので、メモリへのアクセス回数が多くなってしまい、回路の消費電力が増大する問題があった。さらに、メモリのエリアを他の用途と共有する場合には、メモリのアクセス回数が増えることにより、他のアクセスに支障が起きる確率が高くなる問題があった。
【００５７】
本発明はかかる点に鑑みてなされたものであり、受信データのレート検出が簡単な処理で行えるようにすることを目的とする。
【００５８】
【課題を解決するための手段】
本発明の信号処理装置は、予め用意された複数のデータレートの内から選ばれた所定のデータレートで送信されてきたデータのデータレートを、誤り検出符号に基づいた誤り判定で検出し、検出したデータレートでデータを最尤復号する信号処理装置において、受信したデータの最尤復号処理を実行する復号手段と、復号手段で復号されたデータが順に入力されて、そのデータに付加された誤り検出符号を使用して、所定単位毎に先頭ビットから各データレートの終端ビット位置までの誤り検出用計算処理を行う誤り計算処理手段と、誤り計算処理手段に入力したデータを一時記憶する記憶手段と、誤り計算処理手段に、用意された複数のデータレートの各終端ビット位置のデータが入力した場合に、そのデータを記憶手段に移して一時記憶させ、計算処理手段で各データレートの終端ビット位置のデータが入力して誤り検出用計算処理を行った後に、一時記憶されたデータを誤り計算処理手段に移す制御手段と、誤り計算処理手段による各終端ビット位置での計算結果に基づいて、受信したデータのデータレートを判定する判定手段とを備えることを特徴とするものである。
【００５９】
また本発明の信号処理方法は、所定の複数のデータレートの内の任意のデータレートのデータを誤り検出符号化及び誤り訂正符号化して送信されてきたデータを、最尤復号する信号処理方法において、受信データの平均値を計算し、その計算された平均値を利用して受信データを正規化するステップと、正規化ステップの出力の中から複数のデータを所定の順番で選択し、データのレートが、選択したデータレートであるものとして、最尤復号処理を行うステップと、最尤復号処理ステップにより得られる所定のメトリック値からその中での最小のメトリック値を引く算出ステップと、算出ステップでの算出の結果得られる各レートでのステート０でメトリック値と誤り検出結果に基づいて、正しいデータレートを判定するステップと、判定ステップにより判定されたレートでの復号データを出力する出力ステップとを備えることを特徴とするものである。
【００６０】
このようにしたことで、誤り計算処理手段による各終端ビット位置での計算を行う毎に、一時記憶手段に一時退避させておいたデータを、誤り計算後に戻す処理が行われて、ビタビ復号処理及び誤り計算処理を１単位のデータに対して１回だけ連続して処理を行うだけで、全てのレートでの終端ビット位置で誤り計算が行われることになる。
【００６１】
【発明の実施の形態】
以下、図１〜図４を参照して本発明の一実施の形態について説明する。
【００６２】
本例においては、従来例として説明したシステムと同様に、畳み込み符号化したデータを、所定の複数のデータレートの内、任意のデータレートでデータが送受信される通信系に適用したものである。即ち、本例の場合には、図６に示すように終端ビットｎｅｎｄ  の位置が、先頭ビットＳから数えて、第Ｅ１番目のビット（図６（ａ））、第Ｅ２番目のビット（図６（ｂ））、第Ｅ３番目のビット（図６（ｃ））、または第Ｅ４番目のビット（図６（ｄ））となる、４種類のデータレートＲ１，Ｒ２，Ｒ３，Ｒ４（データレートＲ１＜データレートＲ２＜データレートＲ３＜データレートＲ４）が存在するデータフォーマットとしてある。
【００６３】
図１は、本例の受信装置の構成例を示している。この受信装置は、送信側で所定の複数のデータレートのうちの任意のデータレートで畳み込み符号化したデータを、受信する装置である。この送信データには、ＣＲＣパリティビットを付加して畳み込み符号化してある。
【００６４】
図１の受信装置の構成について説明すると、受信データが供給されてビタビ復号するビタビ復号部５１では、畳み込み符号化されて送信されたデータのビタビ復号処理が行われる。ビタビ復号部５１の構成については、例えば従来例として図７に示した構成が適用され、ビタビ復号部５１が備えるパスメモリ５２から復号されたデータが出力される。
【００６５】
パスメモリ５２から出力される復号データは、ＣＲＣ計算部５３に供給されて、その復号データに基づいたＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  ）計算が行われる。また、パスメモリ５２から出力される復号データに付加されたＣＲＣ符号と、ＣＲＣ計算部５３で計算されたＣＲＣ符号との比較により、正しいＣＲＣ符号の位置を判定するＣＲＣ判定部５４を備えて、そのＣＲＣ判定部５４で判定された正しいデータレートの復号データを、後段の回路に出力させる構成としてある。ＣＲＣ計算部５３とＣＲＣ判定部５４が、従来例で説明したＣＲＣデコーダに相当する回路である。
【００６６】
パスメモリ５２からの復調データの出力と、ＣＲＣ計算部５３での計算処理は、制御部５５の制御で実行されるようにしてある。この制御部５５は、パスメモリ５２とＣＲＣ計算部５３だけを制御する制御手段として構成しても良いが、こらの回路の周辺の受信系の制御についても行う構成としても良い。この制御部５５には、汎用のメモリ５６が接続してあり、制御部５５による制御時に、一時記憶が必要なデータをこの汎用メモリ５６に記憶させることができるようにしてある。
【００６７】
図２は、このように構成される本例の受信装置内で、制御部５５の制御により実行される、ＣＲＣ計算部５３及びその周辺回路でのＣＲＣ計算処理の例を示したフローチャートである。以下、図２のフローチャートに基づいて説明すると、ここでは、ビタビ復号部５１のパスメモリ５２が出力するビット数をｘ、終端ビットの位置毎に付与した番号であるエンドビットポジション番号をｙ、最終エンドビットポジション番号をｎ、パスメモリのビット数をＬとする。まず、ビット数ｘを０に設定し、エンドビットポジション番号ｙを０に設定し（ステップＳ３１）、続いてそのエンドビットポジション番号ｙに１を加算する（ステップＳ３２）。また、ビット数ｘに１を加算する（ステップＳ３３）。
【００６８】
そして、ＣＲＣ計算部５３にビタビ復号結果のｘ番目のデータを入力させる（ステップＳ３４）。そして、このビタビ復号部５１のパスメモリ５２が出力するビット数ｘが、このとき設定されたエンドビットポジション番号ｙのビット数から、パスメモリのビット数Ｌを引いた値になったか否か判断する（ステップＳ３５）。該当する値になるまでステップＳ３３に戻って、パスメモリ５２の出力を入力させる。
【００６９】
ステップＳ３５の判断で、このとき設定されたエンドビットポジション番号ｙのビット数から、パスメモリのビット数Ｌを引いた値になったと判断した番号には、エンドビットポジション番号ｙが最終エンドビットポジション番号ｎになったか否か判断する（ステップＳ３６）。ここで、最終エンドビットポジション番号ｎになっていない場合には、ＣＲＣ計算部５３にここまで入力されているデータを、制御部５５に接続された汎用メモリ５６に一時退避させる（ステップＳ３７）。但し、ＣＲＣ計算部５３にもデータはそのまま残しておく。
【００７０】
そして、その退避させた直後に、ＣＲＣ計算部５３に残っているデータを使用して、そのときのデータレートの終端ビット位置でのＣＲＣ計算処理を完了させ、その結果をＣＲＣ判定部５４に送る（ステップＳ３８）。
【００７１】
そして、ステップＳ３８でのＣＲＣ計算部５３による計算処理が終了すると、制御部５５の制御により、直前のステップＳ３７で汎用メモリ５６に退避させたデータを、ＣＲＣ計算部５３に戻す処理を行う（ステップＳ３９）。このステップＳ３９での退避データを戻す処理が行われた後には、ステップＳ３２に戻って、エンドビットポジション番号ｙを１つ加算した上で、パスメモリからの以後の復号データの入力処理を続けて行う。
【００７２】
このように処理を行って、ステップＳ３６でエンドビットポジション番号ｙが最終エンドビットポジション番号ｎになった場合には、ここまで入力されたデータを使用して、ＣＲＣ計算部５３でＣＲＣ計算処理を完了させ、その結果をＣＲＣ判定部５４に送り、ＣＲＣ計算処理を終了させる（ステップＳ４０）。
【００７３】
ここまでの処理が完了することで、ＣＲＣ判定部５４には全てのエンドビットポジションでのＣＲＣ計算結果が供給されることになり、受信して復号されたデータのＣＲＣ符号との比較ができ、正しいエンドビットポジション（即ち正しいデータレート）が判定できることになり、正しいレートのデータを出力できることになる。
【００７４】
ここで、図２のフローチャートに示したＣＲＣ計算処理を、図３を参照して時系列的に説明する。図３（ａ）は、パスメモリ５２からＣＲＣ計算部５３への入力されるビット数を示し、図３（ｂ）は、そのＣＲＣ計算部５３に入力したデータに基づいてＣＲＣ計算が行われる位置を示したものである。
【００７５】
図３（ａ）に示すように、０ビットから順に１ビットずつＣＲＣ計算部５３に復号データが入力して、最初のエンドビットポジションのビット数からパスメモリのビット数を引いたビット数ｋとなったとき、ＣＲＣ計算部５３に入力した０ビットからｋビットまでのデータを、汎用メモリ５６に退避させた上で、ＣＲＣ計算部５３に残っているデータを使用して、図３（ｂ）に示すようにＣＲＣ計算処理を完了させ、その計算結果をＣＲＣ判定部５４に供給する。このＣＲＣ計算処理は、次の復号データがパスメモリ５２からＣＲＣ計算部５３に供給される前に迅速に実行される。
【００７６】
そして、ここでのＣＲＣ計算部５３での計算が完了すると、図３（ａ）に示すように、汎用メモリ５６に退避させたデータを、ＣＲＣ計算部５３に戻す復元処理を行った上で、パスメモリ５２から以降のデータの１ビットずつの入力処理を継続させる。このようにして、次のエンドビットポジションのビット数からパスメモリのビット数を引いたビット数ｌとなったとき、ＣＲＣ計算部５３に入力した０ビットからｌビットまでのデータを、汎用メモリ５６に退避させた上で、ＣＲＣ計算部５３に残っているデータを使用して、図３（ｂ）に示すようにＣＲＣ計算処理を完了させ、その計算結果をＣＲＣ判定部５４に供給する。このＣＲＣ計算処理についても、次の復号データがパスメモリ５２からＣＲＣ計算部５３に供給される前に迅速に実行される。
【００７７】
そして、ここでのＣＲＣ計算部５３での計算が完了すると、汎用メモリ５６に退避させたデータを、ＣＲＣ計算部５３に戻す復元処理を行った上で、パスメモリ５２から以降のデータの１ビットずつの入力処理を継続させる。
【００７８】
以後、この処理を繰り返し行って、最後のエンドビットポジションのビット数ｍからパスメモリのビット数を引いたビット数となったとき、ＣＲＣ計算部５３に入力したデータを使用して、図３（ｂ）に示すようにＣＲＣ計算処理を完了させ、その計算結果をＣＲＣ判定部５４に供給する。
【００７９】
このようにして、ＣＲＣ判定部５４では、全てのエンドビットポジションでのＣＲＣ計算の結果が供給され、そのときのデータレートに応じた正しいエンドビットポジションを判断できることになる。そして、パスメモリ５２からのＣＲＣ計算部５３へのデータ出力処理としては、１単位のデータ毎に、復号データを決められた順序で１回出力させるだけで良く、従来例として図１０に示したように、データレートの数だけ繰り返しＣＲＣ計算部５３にデータを送る必要がなくなる。従って、それだけパスメモリ５２やＣＲＣ計算部５３のアクセス回数を減らすことができ、データレートの検出のための消費電力を削減することができる。また、制御部５５の制御による、パスメモリ５２やＣＲＣ計算部５３のアクセスの回数が減ることで、制御部５５による他のアクセス制御に支障がでる確率を低くすることができ、良好なデータ受信処理ができるようになる。
【００８０】
なお、本例の処理を行うことで、ＣＲＣ計算部でのＣＲＣ計算の前後に、メモリへの退避と復元を行う必要があるが、その退避と復元については、そのときに蓄積しているデータを一括して退避及び復元すれば良く、制御部の制御によるアクセス回数そのものは、従来例として図１０に示した処理に比べれば、大幅に少なくなる。
【００８１】
また、データを退避するためのメモリとして、本例のように制御部５５が元々備える汎用のメモリを使用すれば、退避用の専用のメモリが必要なく、それだけ構成を簡単にすることができる。なお、データ退避用の専用のメモリを設けた構成としても良いことは勿論である。
【００８２】
なお、ここまで説明した一連の処理は、ハードウェアにより実現させることもできるが、ソフトウェアにより実現させることもできる。一連の処理をソフトウェアにより実現する場合には、そのソフトウェアを構成するプログラムをコンピュータ装置などのデータ処理装置にインストールして、そのプログラムをコンピュータ装置などで実行することで、上述した図１に示した受信装置が機能的に実現される。
【００８３】
図４は、上述のような受信装置として機能するコンピュータ１０１の構成例を示すブロック図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ）１１１にはバス１１５を介して入出力インタフェース１１６が接続されており、ＣＰＵ１１１は、入出力インタフェース１１６を介して、ユーザから、キーボード、マウスなどよりなる入力部１１８から指令が入力されると、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２、ハードディスク１１４、またはドライブ１２０に装着される磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３、若しくは半導体メモリ１３４などの記録媒体に格納されているプログラムを、ＲＡＭ（ＲａｎｄｏｍＡｃｃｅｓｓＭｅｍｏｒｙ  ）１１３にロードして実行する。これにより、上述した各種の処理（例えば、図２のフローチャートにより示される処理）が行われる。さらに、ＣＰＵ１１１は、その処理結果を、例えば、入出力インタフェース１１６を介して、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などよりなる表示部１１７に必要に応じて出力する。なお、プログラムは、ハードディスク１１４やＲＯＭ１１２に予め記憶しておき、コンピュータ１０１と一体的にユーザに提供したり、磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３，半導体メモリ１３４等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部１１９を介してハードディスク１１４に提供することができる。
【００８４】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８５】
【発明の効果】
本発明によると、誤り計算処理手段による各終端ビット位置での計算を行う毎に、一時記憶手段に一時退避させておいたデータを、誤り計算後に戻す処理が行われて、ビタビ復号処理及び誤り計算処理を１単位のデータに対して１回だけ連続して処理を行うだけで、全てのレートでの終端ビット位置で誤り計算が行われることになる。従って、従来のように繰り返し誤り計算処理手段にデータを入力させていた場合に比べて、データレート検出の処理速度を格段に向上させることができる。また、記憶手段へのアクセス回数を減らすことができるので、アクセスに要する消費電力を低減させることができる。さらに、記憶手段の記憶エリアを他の用途と共有する場合には、アクセス回数が減ることにより、他のアクセスに支障がでる確率を低くすることができ、良好なデータ受信処理ができるようになる。
【図面の簡単な説明】
【図１】本発明の一実施の形態による構成例を示すブロック図である。
【図２】本発明の一実施の形態によるＣＲＣ計算処理例を示すフローチャートである。
【図３】本発明の一実施の形態によるＣＲＣ計算処理状態の例を示す説明図である。
【図４】コンピュータ装置の一例を示すブロック図である。
【図５】従来の構成例を示すブロック図である。
【図６】データレートの種類の例を示す説明図である。
【図７】従来のビタビ復号部の構成例を示すブロック図である。
【図８】従来のＣＲＣデコーダの構成例を示すブロック図である。
【図９】従来のデータレート検出処理例を示したフローチャートである。
【図１０】従来のＣＲＣ計算処理状態の例を示す説明図である。
【図１１】従来のＣＲＣ計算処理例を示すフローチャートである。
【符号の説明】
１…送信装置、２…通信路、３，４…受信装置、１１…ＣＲＣエンコーダ、１２…畳込み符号化部、１３…変調部、３１…復調部、３２…ビタビ復号部、３３…ＣＲＣデコーダ、３４…データレート検出部、５１…ビタビ復号部、５２…パスメモリ、５３…ＣＲＣ計算部、５４…ＣＲＣ判定部、５５…制御部、５６…汎用メモリ、１１１…中央制御ユニット、１１２…ＲＯＭ、１１３…ＲＡＭ、１１４…ハードディスクドライブ、１１５…バスライン、１１６…入出力インターフェース、１１７…表示部、１１８…入力部、１１９…通信部、１２０…ドライブ、１３１…磁気ディスク、１３２…光ディスク、１３３…光磁気ディスク、１３４…半導体メモリ
【図１】
2004222196.tif 000003
【図２】
2004222196.tif 000004
【図３】
2004222196.tif 000005
【図４】
2004222196.tif 000006
【図５】
2004222196.tif 000007
【図６】
2004222196.tif 000008
【図７】
2004222196.tif 000009
【図８】
2004222196.tif 000010
【図９】
2004222196.tif 000011
【図１０】
2004222196.tif 000012
【図１１】
2004222196.tif 000013