(57)【要約】      （修正有）【課題】頻繁で正確なチャンネル推定を行ない、チャンネル変化を効率的に追跡する。【解決手段】ディジタル通信システムにおける等化、とくに最尤系列推定（Maximum Likelihood Sequence Estimation, MLSE）の等化性能を向上させた方法および装置について記述されている。ディジタル通信システムの等化器300には、等化前に受信データを記憶する第１のバッファ308と、誤り検査された受信データを記憶する第２のバッファ324と、前記第１および第２のバッファに接続されていて、かつ前記第１のバッファからの前記受信データと、前記第２のバッファからの前記誤り検査されたデータとを使用して、チャネル推定を判断するチャネル推定器320と、前記チャネル推定器に接続されていて、かつ前記等化器が前記受信データを等化するのに使用するチャネル推定を更新する制御ユニット310とが構成されている。【選択図】図４
2004166234.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル通信システムの等化器であって、
等化前に受信データを記憶する第１のバッファと、
誤り検査された受信データを記憶する第２のバッファと、
第１および第２のバッファに接続されていて、かつ前記第1のバッファからの前記受信データと、前記第２のバッファからの前記誤り検査されたデータとを使用して、チャネル推定を判断するチャネル推定器と、
前記チャネル推定器に接続されていて、前記等化器が前記受信データを等化するのに使用するチャネル推定を更新する制御ユニットとが構成されている等化器。
【請求項２】
前記制御ユニットが、チャネル推定と前のチャネル推定との差を前記受信データを等化するのに使用することを条件として、前記更新を行うように構成されている請求項１記載の等化器。
【請求項３】
前記制御ユニットに接続されたルックアップテーブルと、前記ルックアップテーブルに接続されていて、かつ複数のシンボル系列のデータを計算して、前記ルックアップテーブルに記憶する計算手段とがさらに構成されていて、各シンボル系列のデータには、前記チャネル推定をシンボル系列に適用することによって得られるデータが構成されている請求項１または２記載の等化器。
【請求項４】
複数のメトリック判断モジュールがさらに構成されていて、各メトリック判断モジュールが前記ルックアップテーブルに接続されていて、前記受信データと前記シンボル系列のデータとを比較するための複数のメトリックを並列に判断し、前記受信データのシンボル系列が選択される請求項３記載の等化器。
【請求項５】
前記更新されたチャネル推定を使用して、誤りであると判断された、既に受信したデータを等化するようにさらに構成されている請求項１ないし４の何れか１項記載の等化器。
【請求項６】
前記制御ユニットが、等化器を制御して、閾値の重要度よりも低い前記チャネル推定のパラメータを無視するようにさらに構成されている請求項１ないし５の何れか１項記載の等化器。
【請求項７】
前記閾値の重要度が可変である請求項６記載の等化器。
【請求項８】
前記誤り検査されたデータが、誤り訂正されたデータを含む請求項１ないし７の何れか１項記載の等化器。
【請求項９】
ＭＬＳＥ形である請求項１ないし８の何れか１項記載の等化器。
【請求項１０】
ディジタル通信システムにおいてデータを等化する方法であって、
等化するデータを受信することと、
前記受信データを等化することと、
前記等化されたデータを誤り検査することと、
前記受信データおよび前記誤り検査された等化データを使用して、チャネル推定を判断することと、
前記判断されたチャネル推定を使用して、前記等化において使用するためのチャネル推定を更新することとが含まれる方法。
【請求項１１】
第１のバッファに前記受信データを記憶することと、
第２のバッファに前記誤り検査されたデータを記憶することと、
前記チャネル推定の前記判断のためのデータを前記第１および第２のバッファから読み出すこととがさらに含まれる請求項１０記載の方法。
【請求項１２】
前記更新が、前記チャネル推定が前記等化に既に使用されたチャネル推定と更新トリガレベルより大きく異なることを条件とする請求項１０または１１記載の方法。
【請求項１３】
前記更新の後で、既に受信したデータを再び等化することがさらに含まれる請求項１０ないし１２の何れか１項記載の方法。
【請求項１４】
前記チャネル推定を変更して、前記等化器の計算の負荷を低減することがさらに含まれる請求項１０ないし１３の何れか１項記載の方法。
【請求項１５】
前記変更には、閾値の重要度がより低い前記推定のパラメータを棄却することが含まれる請求項１４記載の方法。
【請求項１６】
とくに、希望の電力消費に応答して、前記閾値の重要度を変更することがさらに含まれる請求項１５記載の方法。
【請求項１７】
前記チャネル推定によって変更される複数のシンボル系列のデータとして、前記チャネル推定を前記ルックアップテーブル内に記憶することがさらに含まれる請求項１０ないし１６の何れか１項記載の方法。
【請求項１８】
前記ルックアップテーブルからのデータを、複数のメトリック判断モジュールへ供給し、前記受信データに対して仮シンボル系列を評価するためのメトリックを並列に判断し、前記受信データのシンボル系列を推定することがさらに含まれる請求項１７記載の方法。
【請求項１９】
前記等化には、ＭＬＳＥ形の等化が含まれる請求項１０ないし１８の何れか１項記載の方法。
【請求項２０】
ディジタル通信システムにおいてＭＬＳＥ形のデータを等化する方法であって、
等化するためのデータを受信することと、
受信データの一部への仮系列の近さを判断するためのメトリックにしたがって、複数の仮シンボル系列から、受信データの一部に対する第１の推定系列を選択することと、
選択されたシンボル系列に対して誤り検査手続きを実行することと、
前記誤り検査が、前記第１の系列が誤りであると判断したことに応答して、第２の推定のシンボル系列を選択することとが含まれる方法。
【請求項２１】
前記第１の系列が、受信データの一部に最も近い仮系列のメトリックを示すメトリックを有し、前記第２の系列が、受信データの一部に次に近い仮系列のメトリックを示すメトリックを有する請求項２０記載の方法。
【請求項２２】
実行するときに、請求項１ないし２１の何れか１項記載の等化器または方法を実行するためのプロセッサ処理コード。
【請求項２３】
請求項２２記載のプロセッサ制御コードを保持するための担体。
【請求項２４】
ディジタル通信システムのための等化器であって、
等化器によって受信されたデータからチャネル推定を求めて、記憶するように構成されているチャネル推定器と、
前記チャネル推定器に接続されていて、かつ前記チャネル推定における変化が閾値レベルよりも大きいことを条件として、記憶されたチャネル推定を更新する制御ユニットとが構成されている等化器。
【請求項２５】
前記チャネル推定が適用された複数のシンボル系列のデータとして、前記チャネル推定に関係するデータを記憶するように構成されているルックアップテーブルがさらに構成されていて、
さらに加えて、前記制御ユニットが、前記ルックアップテーブルに接続されていて、かつ前記チャネル推定における変化が閾値レベルよりも大きいことを条件として、前記ルックアップテーブル内のデータを更新する請求項２４記載の等化器。
【請求項２６】
前記制御ユニットが、前記等化器を制御して、棄却閾値レベルのもとで、前記チャネル推定の成分を棄却するように構成されている請求項２４または２５記載の等化器。
【請求項２７】
前記棄却閾値レベルが制御可能である請求項２６記載の等化器。
【請求項２８】
請求項２４ないし２７の何れか１項記載のＭＬＳＥ形の等化器。
【請求項２９】
ディジタル通信システムにおいてデータを等化する方法であって、
等化するデータを受信することと、
前記受信データを使用して、チャネル推定を判断することと、
前記チャネル推定が、以前に使用したチャネル推定と相当に相違しているかどうかを判断することと、
前記相違の判断を条件として、前記チャネル推定を記憶することと、
前記記憶されたデータを使用して、前記受信データを等化することとが含まれる方法。
【請求項３０】
前記記憶することには、前記チャネル推定が適用された複数のシンボル系列に関係するデータとして、前記チャネル推定をルックアップテーブルに記憶することが含まれていて、前記等化が、前記ルックアップテーブル内に記憶されている前記データを使用する請求項２９記載の方法。
【請求項３１】
実行するときに、請求項２４ないし３０の何れか１項記載の等化器または方法を実行するためのプロセッサ制御コード。
【請求項３２】
請求項３１記載のプロセッサ制御コードを保持するための担体。
【請求項３３】
ディジタル通信システムのための等化器であって、
等化器によって受信されたデータから、チャネル推定を求めるように構成されているチャネル推定器と、
前記チャネル推定に関係するデータを、前記チャネル推定が適用された複数のシンボル系列のデータとして記憶するように構成されているルックアップテーブルと、
複数のメトリック判断モジュールであって、各メトリック判断モジュールがルックアップテーブルに接続されていて、複数のメトリックを並列に判断し、各メトリックは前記受信データに対して前記シンボル系列の1つを評価する、複数のメトリック判断モジュールと、
前記シンボル系列の中の選択された1つを出力するための制御装置とが構成されている等化器。
【請求項３４】
実行するときに、請求項３３記載の等化器を実行するためのプロセッサ制御コード。
【請求項３５】
請求項３４のプロセッサ制御コードを保持するための担体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ね、ディジタル通信システムにおける等化、とくに、最尤系列推定（Maximum Likelihood Sequence Estimation, MLSE）の等化のための向上した方法および装置に関する。
【背景技術】
【０００２】
最尤系列推定（Maximum Likelihood Sequence Estimation, MLSE）の等化は周知の技術であり、例えばJ.C. Proakisの文献（“Digital Communications”, McGraw Hill, 3/e 1995）に記載されている。この技術については、別途詳しく記載するが、大略的に言うと、受信シンボル系列を仮定し、データが伝送されるチャネルのチャネル推定を仮系列に適用し、その結果を受信データと比較して、何れの推定の仮系列が最も整合しているかを判断することによって、二値ビットのシンボル系列を推定するものである。一般に、最小平均二乗誤差（minimum mean-square error, MMSE）を判断することによって、最整合系列を見付けるが、他のメトリックも用いてもよく、一般に、ビタビアルゴリズムの変形を使用して、手続きを実行する。
【０００３】
チャネル推定は、伝送チャネルをモデル化する１組の数値、例えば、特定の遅延におけるチャネル応答の大きさおよび位相を表わす複素数から成る。チャネル応答は、シンボル期間の正数倍の遅延で決定され、事実上、１組のマルチパス成分を定めている。一般に、チャネル応答は、遅延がより長くなると低減し、最長のマルチパス遅延の後で、ゼロになる。ディジタルシステムでは、１シンボルに対して、サンプルは２つ以上あり、この場合は、チャネル応答は、より細かい時間分解で定められる。これらは全て、当業者にはよく知られている。
【０００４】
無線チャネルの時間分散と比較して、シンボル期間は大きくなるので、チャネル上を送られるデータに対する受信機の性能は、シンボル間干渉（Inter-Symbol Interference, ISI）により劣化する。最尤メトリックにより、ＩＳＩがあっても、データを最適に受信できるが、これを実行するのは比較的に複雑である。しかしながら、時間分散が比較的に小さいときは、シンボル間隔を空けた遅延で考慮するマルチパス成分は比較的に少ないので、処理されるデータ量は低減する。これは、例えば、高速ブルートゥース（商標）リンクのような短距離の無線リンクの場合である。本発明の態様は、高速ブルートゥースリンク規格に関して記載されているが、本発明の応用は、このタイプのリンクに制限されないことが分かるであろう。
【０００５】
ブルートゥース標準規格グループは、ケーブルに代わるものとして、短距離（約１０メートルまで）の無線周波数伝送について検討している。基本標準規格は、０．７Ｍｂｐｓ（Ｖ１．１）または２．１Ｍｂｐｓ（Ｖ１．２）で動作する周波数ホッピングスペクトラム拡散（frequency hopping spread spectrum, FHSS）のリンクを定めている。高速ブルートゥースにおいて、最大ユーザビットレートは１１．４Ｍｂｐｓであり、これはＩＥＥＥ８０２．１５の標準規格グループ、とくにＩＥＥＥ８０２．１５．３と関連している。
【０００６】
ディジタル無線周波数リンクは、コヒーレントな、または擬似的にコヒーレントな検出を使用することによって、かつ多数のアンテナまたは等化、あるいはこの両者を用いることによって、性能が向上する。最尤系列推定は、非線形等化の１形態であり、一般に、受信機には既知の所定のトレーニング系列を使用して、チャネル応答の推定を求める。このようなチャネル推定は、一般に、新しいパケットを受信するたびに行なわれる。受信機において正確なチャネル推定が求められるならば、ＭＬＳＥの等化器は適切に働く。本発明の目的の１つは、等化処理中のチャネル推定のための向上した方法および装置を提供することである。
【０００７】
最適のチャネルの推定には、一般に、長いトレーニング系列と無駄な伝送バンド幅とが必要である。通常は、伝送チャネルを推定すると、システムはチャネルの変化を追跡せずに、パケットを受信するので、チャネル推定が実際には変更されていても、変更されていなくても、後のパケットには、等しく長いトレーニング系列が必要である。
【０００８】
第US 6,275,525号に記載されているＭＬＳＥ技術は、最初のチャネル推定により、ＭＬＳＥを実行するのに必要な情報を得て、その後で、受信データに対する仮の適応決定に基づいて、チャネル推定を更新するといったものである。これは、基礎のＭＬＳＥ技術よりも向上しているが、遅延を取込んでしまうので、チャネル推定手続きをさらに向上する余地が残されている。
【０００９】
第US 6,373,888号には、複数の（チャネル）フィルタモデルを使用して、異なる数および位置のタップでモデルを選択することによって、複数のチャネル推定をトレーニング系列から生成する技術が記載されている。ビタビアルゴリズムにしたがって復号するために、トレーニングデータに最も整合しているモデル、すなわち最少残余誤差のモデルを使用する。
【００１０】
第WO 00/44 141号に記載されているＭＬＳＥ技術は、チャネルタップ推定で仮の伝送シンボルを処理することによって、複素数の仮の受信シンボル値（またはサンプル値）を事前に計算することによって、ルックアップテーブルを構成するといったものである。これについては、とくに、第WO 00/44 141号の（図７に関連する）8頁11行目ないし9頁23行目と、（図８ないし１１に関連する）12頁3行目ないし13頁2行目に記載されており、ここでは、第WO 00/44 141号のこの特定の抜粋を参考文献として取り上げている。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、とりわけ、より頻繁で正確なチャネル推定を行うことについての問題、とくにチャネル変化の追跡の問題に対処している。
【課題を解決するための手段】
【００１２】
このために、本発明の第1の態様にしたがって、ディジタル通信システムの等化器であって、等化前に受信データを記憶するための第１のバッファと；誤り検査された受信データを記憶するための第２のバッファと；第１および第２のバッファに接続されていて、かつ前記第1のバッファからの前記受信データと、前記第２のバッファからの前記誤り検査されたデータとを使用して、チャネル推定を判断するチャネル推定器と；前記チャネル推定器に接続されていて、かつ前記等化器が前記受信データを等化するのに使用するチャネル推定を更新する制御ユニットとが構成されている等化器を提供する。
【００１３】
チャネル推定において誤り検査された受信データ、または誤り訂正された受信データ、あるいはこの両者を使用して、チャネル推定の変化を追跡し、トレーニング系列とは全く異なるデータを受信している間でさえも、必要なときに、推定を更新することができる。さらに加えて、チャネル推定を使用して、例えば、等化後に、誤り検出技術によって誤っていると判断されたデータを等化し直すために、推定受信データを更新またはアップグレードすることもできる。等化器は、送信（および受信）データに、誤り検出技術、または誤り訂正技術、あるいはこの両者を使用し、かつ、とくに、受信データ内に十分な情報を含めることにより、等化器が、受信データの少なくとも一部分が正しく受信されて復調されたかどうかを判断できるようにしている。本発明の実施形態は、このような誤り検出情報、または誤り訂正情報、あるいはこの両者が、送信（および受信）データパケットの中で、またはこれに沿って間隔をおいて分配されているとき、とくに適切に働く。
【００１４】
等化器には、好ましい実施形態において、パスメトリック推定モジュールも構成されていて、パスメトリック推定モジュールは、等化前に受信データを使用して、推定または仮のパスを受信または評価するための制御ユニットと；推定または仮のパスを選択して、等化器から出力を供給するための比較器とに接続されている。選択されるパスは、選択されたメトリックにしたがって、受信データを、最も忠実に、または最も同様に表わすパスであることが好ましい。等化器には、選択されたパスのシンボルを記憶するためのメモリも構成されていて、メトリックはこれを出力し、好ましくは、制御ユニット、または推定もしくは仮のデータ系列を生成するためのチャネル推定器、あるいはこの両者がこれを使用する。
【００１５】
異なった時刻に決定されるチャネル係数は、比較的に類似していることが多い。チャネル係数の新しく計算された組と現在使用されている組（すなわち、言い換えると、新しく計算されたチャネル推定と、現在または以前に使用されたチャネル推定）とを比較すると、等化器は、チャネル推定の変更が適切に有益である可能性が高いかどうか、または新しく受信したデータを等化するのに、現在の推定のパラメータを依然として用いることができるかどうかを判断することができる。等化器は、新しい推定と古い推定とが相当に異なるときのみ、チャネル推定を更新することが好ましい。例えば、あまり異ならないときは、チャネル推定、または、とくに（別途より詳しく記載する）ルックアップ係数を更新することに関係する追加の電力消費は調整されない。既に記載したように、いくつかの実施形態では、更新されたチャネル推定を計算するときに、以前の誤ったデータを等化し直す。
【００１６】
ルックアップテーブルには、予め計算された受信信号の推定、すなわちチャネル推定を適用したシンボル系列が記憶されており、このルックアップテーブルを使用することによって、時間および電力をさらに節約することができる。都合のよいことには、これらの推定のシンボル系列を複数の誤差メトリック計算モジュールに分配すると、受信信号の並列処理が可能になり、受信信号と複数の推定シンボル系列との並列比較が容易になる。さらに加えて、これにより、受信機に必要な計算数が低減し、実施形態において、多数の、または、より高速の、あるいはこの両者の等化が行われる。例えば、多数の受信アンテナを使用するとき、ブランチメトリックの所定の値を記憶しているルックアップテーブルを有する単一のＭＬＳＥ等化器は、並列の誤差計算モジュールを使用することができ、各アンテナごとに別々のＭＬＳＥ等化器は必要ない。その代りに、単一のアンテナを使用すると、受信機は、より迅速に等化を行うことができ、同時に、より多くの推定信号を解析することができる。
【００１７】
いくつかの実施形態では、等化器は、閾値の重要度よりも低いチャネル推定のパラメータを無視するように構成される。全ての推定のチャネル成分の大きさを計算して、所与の割合（例えば１０％）の最強の成分よりも低い値の大きさは、例えば、それらを、ゼロのような、簡単に識別できる値に設定することによって、廃棄される。システムは、その成分またはチャネルタップの受信信号の推定の計算を避けることができる。このやり方では、簡略化された組の係数を用いて、計算効率を向上する。
【００１８】
チャネル成分を棄却するか、または無視する閾値は、等化器／受信器の電力節約要件にしたがって変更される。例えば、電力節約要件が高いときは、閾値は、より低い電力節約要件に対して、より高く設定され、パケット処理中に必要な予測データのチャネル推定数、または計算数、あるいはこの両者を低減する。しかしながら、重要なマルチパス成分を棄却すると、等化器の性能を低下することがあるので、閾値はあまり高く設定しないことが好ましい。
【００１９】
本発明の関連する態様にしたがって、ディジタル通信システムにおいてデータを等化する方法であって、等化するデータを受信することと、前記受信データを等化することと、前記等化されたデータを誤り検査することと、前記受信データおよび前記誤り検査された等化データを使用して、チャネル推定を判断することと、前記判断されたチャネル推定を使用して前記等化において使用するためのチャネル推定を更新することとが含まれる方法を提供する。
【００２０】
この方法は、上述の装置に対して、同様の効果および長所を与える。受信データは、例えば、ビタビアルゴリズムを使用して、系列推定によって等化されることが好ましく、ビタビアルゴリズムについては、例えば、文献（G. David Forney, Jr., “The Viterbi Algorithm”, Proceedings IEEE vol. 61(3), March 1973, pages 267-278, “Maximum-Likelihood Sequence Estimation of Digital Sequences in the Presence of Intersymbol Interference”, IEEE Transactions on Information Theory vol.IT-18, no.3, May 1972, pages 363-378）に記載されている。
【００２１】
関連する態様において、本発明は、ディジタル通信システムにおけるＭＬＳＥ形のデータ等化の方法であって、等化するデータを受信することと、複数の仮シンボル系列から、受信データの一部分に対する第１の仮系列を、受信データの一部分に対する仮系列の近さを判断するためのメトリックにしたがって、選択することと、選択したシンボル系列に対して誤り検査手続きを実行することと、前記誤り検査が前記第１の系列が誤っていると判断したことに応答して、第２の推定シンボル系列を選択することとが含まれる方法を提供する。
【００２２】
さらに加えて、この方法は、チャネル応答の変化を追跡するのを助け、この方法の実施形態は、最近受信した符号に基づいて試験的な、または仮の決定を行うよりも、より迅速である。この方法により、迅速で、かつ高精度であるが、あまり複雑にする必要なく、決定を行うことができる。
【００２３】
仮系列を評価するのに使用されるメトリックは、平均二乗誤差の判断に基づいていることが好ましく、例えば、ユークリッド形またはUngerboeck形のメトリックが含まれ、このようなメトリックは、この技術においてよく知られている。第１の系列は、受信データに最も近いと判断された系列であり、第２の系列は、次に近いと判断された系列であることが好ましい。
【００２４】
別の態様では、本発明は、ディジタル通信システムの等化器であって、等化器によって受信されたデータからチャネル推定を求めて記憶するように構成されたチャネル推定器と；前記チャネル推定器に接続されていて、かつチャネル推定における変化が閾値レベルよりも高いことを条件として、記憶されたチャネル推定を更新する制御ユニットとが構成されている等化器を提供する。
【００２５】
チャネル推定は、チャネル推定が適用された複数のシンボル系列のデータとして、ルックアップテーブルに記憶されることが好ましい。ＭＬＳＥ等化に必要な値は予め計算されているので、これは、チャネル推定データを記憶するための計算上効率的な方法である。しかしながら、これらの値を事前に計算することにより、等化器の資源に負荷をかけてしまうので、チャネル推定における変化を追跡し、チャネル推定が、計算し直したトリガ閾値よりも大きく変更されたときのみ、テーブルを更新することが有益である。
【００２６】
本発明は、ディジタル通信システムにおいてデータを等化することに関係する方法であって、等化するデータを受信することと、前記受信データを使用して、チャネル推定を判断することと、前記チャネル推定が、以前に使用したチャネル推定と相当に相違しているかどうかを判断することと、前記相違の判断を条件として、前記チャネル推定を記憶することと、前記記憶されたデータを使用して、前記受信データを等化することとが含まれる方法を提供する。
【００２７】
別の態様では、本発明は、ディジタル通信システムの等化器であって、等化器によって受信されたデータからチャネル推定を求めるように構成されているチャネル推定器と；前記チャネル推定に関係するデータを、前記チャネル推定が適用された複数のシンボル系列のデータとして記憶するように構成されているルックアップテーブルと；複数のメトリック判断モジュールであって、各メトリック判断モジュールが前記ルックアップテーブルに接続されていて、複数のメトリックが並列に判断され、各メトリックが、前記受信データに対して前記シンボル系列の中の１つを評価する、複数のメトリック判断モジュールと；前記シンボル系列の中からの選択された１系列を出力する制御装置とが構成されている等化器を提供する。
【００２８】
複数の（誤差）メトリック判断モジュールは、その各々がルックアップテーブルに接続されていて、例えば、多数のアンテナを備えた受信機を使用するときに、共通のチャネル推定が適正に用いられる場合に、より高速な等化、または多数のデータストリームの等化を、あるいはこの両者が可能である。制御装置は、ルックアップテーブルからメトリック判断モジュールへのデータの供給を制御するように構成されていることが好ましく、誤差メトリック（例えば、ユークリッドまたはUngerboeck）が最小である系列を選択するための比較器が構成されていてもよい。
【００２９】
当業者には、上述の等化器および方法が、例えば、担体媒体（例えばディスク、ＣＤ−またはＤＶＤ−ＲＯＭ、読み出し専用メモリ（ファームウエア）のようなプログラムメモリ）か、あるいはデータ担体（例えば光または電気信号担体）上のプロセッサ制御コードとして実現されることが分かるであろう。多くの応用において、本発明の実施形態では、ディジタル信号プロセッサ（Digital Signal Processor, DSP）、特定用途向け集積回路（Application Specific Integrated Circuit, ASIC）、またはフィールド プログラマブル ゲート アレイ(Field Programmable Gate Array, FPGA)上で実行される。したがって、コードには、従来のプログラムコード；マイクロコード；あるいは例えば、ＡＳＩＣまたはＦＰＧＡをセットアップするか、または制御するためのコードが含まれる。同様に、コードには、ハードウエア記述言語（例えばVerilog（商標）またはＶＨＤＬ（Very high speed integrated circuit Hardware Description Language, 超高速集積回路ハードウェア記述言語））のためのコードが含まれる。当業者には、相互に通信している複数の接続された構成要素間に、コードを分配してもよいことが分かるであろう。
【００３０】
ここで、これらの態様と他の態様とを、添付の図面を参照して例示的にさらに記載することにする。
【発明を実施するための最良の形態】
【００３１】
本発明の実施形態は、便宜を図って、高速ブルートゥースに関連して記載されているが、本発明の応用は、このシステムに制限されない。
図１（ａ）は、コンピュータ10、プリンタ12、およびカメラ14の全てが、双方向のブルートゥース無線リンク16によって相互に通信していることを示している。ブルートゥースは、高速の音声／データのアクセスポイントへの無線接続としても使用される。
【００３２】
図１（ｂ）は、ブルートゥース受信機20の概略的なブロック図を示している。ブルートゥース受信機20は、典型的にはブルートゥーストランシーバの一部であり、多くの場合は、送信機および送信／受信スイッチ（図１（ｂ）には示されていない）もアンテナ22へ接続されていて、データの送信および受信の両者を可能にしている。受信機において、アンテナ22は、前置増幅器24に接続され、前置増幅器24はダウンコンバータ26に接続され、ダウンコンバータ26は、中間周波数（Intermediate Frequency, IF）か、またはその代りにベースバンドの出力を、自動利得制御（Automatic Gain Control, AGC）およびアナログ−対−ディジタル変換（analogue-to-digital conversion, ADC）ブロック28へ供給し、ＡＧＣ／ＡＤＣブロック28は、ディジタルのＩ（同相）およびＱ（直交位相）信号を供給する。ディジタル領域では、別の処理（オプションとして、ベースバンドへのダウンコンバージョン）を行い、点線30の右側では、ＡＤＣ28からの出力はディジタル復調器32へ供給される（しかしながら、アナログ復調を用いてもよい）。チャネル推定器および検出器34および復号器36では、ベースバンド処理がさらに行われる。復号器36は、情報源符号、または通信路符号の一方あるいは両者の復号を行い、これをベースバンド出力38へ供給し、ブルートゥース制御装置（図示されていない）がさらに処理する。
【００３３】
さらに詳しくは、ベースバンド処理には、一般に、（シンボル間隔よりも短い間隔でサンプリングされる）受信データシンボルに同期させるための同期手段、チャネル推定器を含む決定判定帰還等化器（decision feedback equalizer, DFE）のような等化器、および誤り検査器／訂正器が含まれる。好ましい構成では、別途より詳しく記載するように、等化器は、例えばＭＬＳＥを使用する系列推定に基づき、別途詳しく記載するパスメトリックを判断して評価する。等化器は、ビタビ系列推定アルゴリズムを使用してもよく、ビタビ系列推定アルゴリズムは、文献(G. Forney, Jr., “The Viterbi Algorithm”, proceedings of IEEE vol.61(3), March 1973, pages 267-278)に記載されている。復調器32には、レーキまたは他のコヒーレントマルチパス結合器も構成されることがある。
【００３４】
図２（ａ）は、高速ブルートゥースデータパケット50の一般的なフォーマットを示している。パケットには５つのフィールド、すなわち９バイトのプリアンブルフィールド52、２バイトの同期ワード54、および１１バイトのヘッダ56、４０９５バイトまでのユーザデータを含むペイロード58、および２、４、または６ビットのトレーラフィールド60が構成されている。ヘッダフィールド56には、パケットの全アドレス情報と、一部の追加の制御情報とが構成されている。ペイロード58には、ユーザ情報が構成されていて、ペイロードは、十分に大きいとき、セグメント58ａないし58ｄへ細分される。
【００３５】
全てのセグメントおよびヘッダは、誤り検出のための巡回冗長符号（cyclic redundancy code, CRC）を有する。プリアンブル52、同期ワード54、およびヘッダ56は全て、ＤＢＰＳＫ（Differential Binary Phase Shipped Keying）を使用して変調され、ペイロードの変調フォーマットはヘッダ内に示されていて、ＤＢＰＳＫ（新しい符号が伝送されたときに、π／２の回転を加える方式）、ＤＱＰＳＫ（Differential Quadrature Phase Shift Keying）（新しい符号が伝送されたときに、π／４の回転を加える方式）、および８−ＤＰＳＫの中の１つである。トレーラは、ペイロードと同じフォーマットで変調され、ペイロードがないときは、ヘッダと同じフォーマット、すなわちＤＢＰＳＫで変調される。プリアンブル52、同期ワード54、ヘッダ56、およびペイロード58のフィールドについては、さらに詳しく別途記載する。
【００３６】
プリアンブル52には、７２ビットの系列が構成されていて、７２ビットの系列は、８ビットの系列、すなわち００００１１１１を９回反復することによって得られる。プリアンブルは、アンテナダイバーシティと自動利得回路（Automatic Gain Control, AGC）のトレーニングを支援するのに使用することを意図されている。
【００３７】
同期ワード54には、１６ビットの系列が構成されていて、フレームの同期化に使用され、高自己相関係数を有する。系列は、００００００１００１１１０１０１である。
ヘッダフィールド56には、アドレス、制御情報、および２４ビットのＣＲＣが構成されていて、ＣＲＣを含めてのヘッダの全長は、８８ビットである。次に示す表１には、ヘッダフィールド、ビット数、およびその意味が与えられている。
【００３８】
【表１】
2004166234.tif 000003
フィールドＨＲ ＩＤ（８ビット）は、高速チャネル識別フィールドであり、高速無線周波数チャネルを占めている異なる高速ネットワークの伝送を区別するのに使用される。トランシーバは、１つのみの高速ネットワークのみに属することができるので、同じ固定ＨＲ ＩＤを有するパケットのみを受領することになる。ブルートゥースデバイスには、いくつかのトランシーバが構成されており、各トランシーバは異なるＨＲリンクと関係付けられている。
【００３９】
ＤＰ ＡＤＤＲフィールド（８ビット）は、宛先点のアドレスを定めている。ブルートゥースの高速リンクに加わっている各デバイスは、多数の“論理点”を有する。１つのブルートゥースの高速デバイスは、基本物理媒体を介して、別のデバイス上の特定の“論理点”へ情報を送る。パケットヘッダ内のＤＰ ＡＤＤＲフィールドは、受信デバイス上の、パケットが試験している論理点を示している。一般に、単一の高速ユニットは、多数の論理点アドレスを割り当てられる。したがって、高速ユニットは、多数の宛先点アドレスへ向かう受信パケットを受領できる。
【００４０】
Ｈ ＣＲＣフィールド（２４ビット）は、ヘッダのＣＲＣ、すなわちヘッダ内の誤りを検出するための巡回冗長検査のフィールドである。
ここで、ペイロードフィールド58を参照すると、単一パケット内で送ることができるユーザペイロードデータ量は、０ないし４０９５バイトである。パケット内で送られるデータ量が１２８バイトよりも多いときは、データは２以上のセグメントに分割され、パケット50のペイロード部分内で連続的に送られる。
【００４１】
図２（ｂ）は、セグメント58ａないし58ｄの中の1つとして、ブルートゥースパケットのセグメントのフォーマットを示している。各セグメントは、１バイト（８ビット）の連続番号（sequence number, SN）62で番号を付され、３バイト（２４ビット）のＣＲＣ64で誤りを検出される。ＳＮ62とＣＲＣ64との間には、ユーザデータフィールド66があり、ユーザデータフィールド66は、１セグメントあたり、１２８バイト（１０２４ビット）である。ペイロード58の最後のセグメント、すなわち図２（ａ）に示されている例では、セグメント58ｄは、ユーザ情報で、部分的に、すなわち１ないし１２８バイトで埋められる。
【００４２】
この点について、最尤系列推定（maximum likelihood sequence estimation, MLSE）の等化処理について簡単に再検討するのが有用である。
一連の出力ｄ＝{ｄ１，ｄ２，．．．ｄｋ}（各ｄｉは、伝送シンボルを表わす）を生成する状態機械が構成されている送信機について検討する。所与の時間ｋ（単位：シンボル期間）における全ての可能な値ｄを垂直ベクトルによって表わすことができ、ベクトルにおける各点を状態と呼ぶ。図３は、これを示すＭＬＳＥのトレリス図200を示している。
【００４３】
図３を参照すると、シンボル期間単位の時間は、水平軸202に沿って延びていて、受信シンボルの可能な状態は、垂直軸204上の点によって識別される。図３に示されている例では、各シンボル期間は、４つの可能な状態を有する（４つのシンボルの中の１つである）。
伝送データが受信されると、これはノイズ、この例では、加法ホワイトガウスノイズ（Additive White Gaussian Noise, AWGN）、ｎ（ｔ）として特徴付けられるノイズで損われる。したがって、受信信号は、次の式で求められる。
【００４４】
ｒ（ｔ）＝ｄ（ｔ）ｈ（ｔ）＋ｎ（ｔ）
なお、ｄ（ｔ）ｈ（ｔ）は、伝送シンボルと、送信機と受信機との間のチャネルの応答ｈ（ｔ）との畳込みから成る。
伝送バンド幅がコヒーレンスバンド幅（チャネルの周波数応答が、比較的に一様であるバンド幅）よりも相当に大きいとき、チャネルは伝送バンド幅上で相当に変化する。前のシンボルが、現在推定されているシンボルと干渉するので、このようないわゆる周波数選択フェージングチャネルでは、誤り率が高まる。これは、シンボル間干渉（Inter-Symbol Interference, ISI）と呼ばれ、次に示す式（１）に示されているように、時間ｔにおけるチャネルのスパンｑにしたがうチャネル成分ｈで畳込まれた生成シンボルｄの和によって、受信信号ｒ（ｔ）が求められる。
【００４５】
【数１】
2004166234.tif 000004
ここでは、チャネルの“スパン”ｑは、シンボル期間において測定された全チャネルインパルス応答の長さであり、時間に関しては、（ｑ−１）Ｔ（Ｔは、符号期間である）である。
ＩＳＩに対するＩＳＩの影響を弱めるために、等化器を使用して、マルチパスの歪みを補正することができる。チャネルインパルス応答の完全な、または合理的に正確な知識が受信機において得られるとき、最尤系列推定（Maximum Likelihood Sequence Estimation, MLSE）の等化器は、全シンボル系列を決定することを試みる。受信機においてこの情報が得られると、伝送系列の全ての可能な組み合わせにアクセスし、シンボル検出処理を実行することができる。
【００４６】
より詳しくは、受信機において全ての可能な受信系列を計算し、チャネル推定で畳込む。この畳込み処理の出力を、実際の測定値と比較し、受信信号と全ての可能な系列との間の誤差を見付ける。最小誤差を表わす予測データと、解析されている受信サンプル信号との組合せが記憶され、これが、このノードまたは状態における、唯一の、いわゆる“生き残りパス（survivor path）”の部分になる。
【００４７】
この処理は、所定数の状態の間か、または、その代りに、情報の完全なパケットが受信されるまで続く。処理の最後に、最小誤差の系列（図３では、パス206）が生き残りパスと呼ばれ、このパスによって定められる状態系列が、伝送データの最良推定として採用され、復号化された受信データになる。所定長または“打ち切りの深さ（truncation depth）”は、全ての可能な状態の生き残りパスが収束するときに採り入れられ、この後で、決定される。これは、一般に、スパンの５ないし１０倍といった多数のチャネルスパンに採り入れられる。
【００４８】
図３に示されているように、このＭＬＳＥ等化技術は、いわゆるトレリス図としてグラフで表現することができる。図３は、４相位相シフトキーイング（Quadrature Phase Shift Keying, QPSK）変調の場合のトレリス図を示し、各受信シンボルは、４つの可能な状態を有する。これらの状態は、垂直ベクトルまたは列へマップされ、各連続する列は、時間上で続いて行われるサンプリング点を表わしている。図３において、列１は、最も古いサンプルシンボルに対応し、列９は、最近のサンプルシンボルに対応する。生き残りパス206は、列１から９個の連続するシンボルを受信した後に、状態１である生き残りパスである。明らかにするために、最後の状態（すなわち、９個の連続する符号を受信した後の状態）が２、３、および４である生き残りパスは、図３には示されていない。
【００４９】
実線208の組は、列１および２の状態またはモード間の全ての可能な遷移を表現している。点線210は、受信機においてより多くの情報を受信した後に訂正されたシンボルを示している。したがって、例えば、サンプリング点４において、状態１へ通じているパスは、誤差が最小であったが、その誤差の値は、状態２へ通じているパスの誤差値とほぼ同じであった。別の情報を受信すると、すなわちサンプリング点５のシンボルを受信すると、パスは、サンプリング点４において状態２へ通じるように訂正された。シンボル間干渉が存在するので、受信シンボルは、以前に受信したシンボルに関係する情報を保持していることが分かるであろう。
【００５０】
次に図４を参照すると、図４には、本発明にしたがうＭＬＳＥビタビ等化器が構成されている受信機300が示されている。
アンテナ302によって示された無線周波数フロントエンドは、無線周波数データ信号を受信し、ディジタル形式の受信無線周波数データを受信データバス304および306に載せて出力し、データバス304は第１の受信データバッファ308に接続され、データバス306はルックアップテーブルおよび制御モジュール310へ接続されている。ルックアップテーブルおよび制御モジュール310は、受信データを、別の受信データバス316に載せて、２つの最小平均二乗誤差（Minimum Mean-Square Error, MMSE）モジュール312、314へ送る。バス304、306、および316に載せて供給されるディジタルデータには、１シンボル当り、１つ以上のマルチビットサンプルが構成されている。
図４の等化器の実施形態には、２つのＭＭＳＥモジュールが構成されているが、他の実施形態では、構成されるＭＭＳＥモジュールは、３つ以上であっても、または１つのみであってもよい。処理において、受信データ系列を推定するとき、一般に、複数のＭＭＳＥの処理が、例えば、時間多重化に基づいて行われるので、図４のＭＭＳＥモジュール312、314の各々は、１組のＭＭＳＥモジュールとして示されている。ＭＭＳＥの処理は、推定信号と受信信号との誤差を判断するように構成されていて、到来信号に対して最小誤差の符号の組合せが選択される。大略的に言うと、１時間期間に１回処理を行なう時間多重化システムの実施形態において、ＭＭＳＥモジュールは、これらの誤差を並列計算することができる（しかしながら、他の実施形態では、より高度の並列化が行われる）。
【００５１】
第１の受信データバッファ308は、出力318をチャネル推定モジュール320へ供給する。出力318には、非等化の受信データが構成されていて、非等化の受信データを、トレーニング系列または確認された受信データのような既知のデータと比較して、受信チャネルの推定を判断することができる。第１の受信データバッファ308は、受信データを定期的に記憶する。これらのデータが復号され、例えば、ＣＲＣによって、正しいことが確かめられると、バッファ308内に記憶されているデータは、高信頼の復号データに対応するので、確認されたと考えることができる。したがって、（バッファ308内に予め記憶されているデータを含む）復号された情報が正しいことが分かったときのみ、情報をバッファ308からチャネル推定モジュール320へ転送することができる。
【００５２】
チャネル推定モジュール320への第２の入力は、第２の受信データバッファ324からの出力322によって供給される。第２の受信データバッファ324は、等化されたデータを記憶して、出力322上に確認された受信データ、すなわち巡回冗長検査（cyclic redundancy check, CRC）あるいは他の誤り検査、または誤り訂正、あるいはこの両者に合格したかについてのデータを供給する。チャネル推定モジュール320は、受信データから求めた（複素数の）チャネル推定が構成されている出力326を供給する。このチャネル推定は、既に記載したように、複数のチャネル成分ｈ（ｑ）の形をとる。チャネル推定出力326は、ルックアップテーブルおよび制御モジュール310へ供給される。ルックアップテーブルおよび制御モジュール310は、チャネル推定が変化したときに、ルックアップテーブル内のエントリを計算するのに使用される。
【００５３】
ルックアップテーブルおよび制御モジュール310のルックアップテーブルは、１組のシンボル系列、すなわち可能な受信系列、好ましくは、希望の打ち切りの深さに対する全ての可能な受信系列を、チャネル推定モジュール320によって判断されたチャネルの推定で畳込むことによって求められる１組のシンボル系列を記憶する。この推定シンボル系列データは、出力328に載ってＭＭＳＥモジュール312、314へ供給され、ここで実際の受信データと比較され、受信信号データと１組の推定シンボル系列との間の差が判断され、最良の整合が判断される。
【００５４】
例えば、２つのタップ（ａおよびｂ）によって構成されるチャネルにおいてＩＳＩの影響を受けている２つのシンボル（−１および１）から成る二値システムは、ルックアップテーブルでは、表２に示されているように表わされる。ルックアップテーブルにおいて、全ての可能な受信系列は、チャネル成分と畳込むことによって求められる値と共に記憶される。
【００５５】
【表２】
2004166234.tif 000005
ここでは、１列目および２列目の値は、予測受信シンボルであり、３列目の結合値は、チャネル成分と予測符号との畳込みによる結果である。３列目の値は、所与の時間期間において受信データに対して比較される値である（既に記載されているように、受信データに対して最小誤差の予測値が選択され、それと関係付けられている対応するシンボルが、復号データとして用いられる）。
【００５６】
各ＭＭＳＥモジュール312、314は推定誤差出力330を供給し、推定誤差出力330には、受信データと、ＭＭＭＥが処理した推定シンボル系列との差に関係する推定誤差データが構成されている。このデータは、比較器332へ供給され、比較器332は、推定シンボル系列の推定誤差データを比較して、受信データとの最良の整合を判断して、出力334を供給する。出力334には、最良整合の推定系列か、またはこの系列を識別する情報が構成されていて、出力334に最良整合の系列が構成されているときは、これは、チャネル推定で畳込まれなかった系列データを出力310内に含めることによって、ルックアップテーブルおよび制御モジュール310の出力316に載って、ＭＭＳＥモジュール312、314へ供給されるデータから求められる。メモリ336は、等化器によって処理される受信データの一部分の最良整合の推定シンボル系列を記憶する。メモリモジュール336に記憶されているデータは、ＭＭＳＥの計算後に誤差が最小となる予測値に関係している符号であって、ルックアップテーブルに含まれているシンボルと、各パスに対する累積誤差に対応する値とである。
【００５７】
示されている実施形態では、最良の推定のシンボル系列は、比較器332からメモリ336へ書込まれ、メモリ出力338に載ってルックアップテーブルおよび制御モジュール310へ供給される。メモリ336からの第２の出力340は、等化されて復号化されたデータを出力ドライブモジュール342へ供給し、出力ドライブモジュール342は、ベースバンドデータを含む出力344を供給し、出力344は、必要に応じてさらに処理される。メモリモジュール336は、復号化された受信データをシンボルとして記憶するが、データは、復調されたベースバンドデータとして記憶されることが好ましい。ＣＲＣ検査のような誤り検査は、ルックアップテーブルおよび制御モジュール310によって行われるが、メモリモジュール336によって行なわれることが好ましい。したがって、メモリ336内に記憶されるデータには、このような誤り検査の結果と、オプションで、実行された場合は、誤り訂正の結果とが含まれることが好ましい。
【００５８】
メモリ336に記憶された復号された受信データの一部分は、ルックアップテーブルおよび制御モジュール310への入力338、次に制御モジュール310からの出力346を介して、第２のデータバッファ324へ供給される。このやり方では、受信されて復号されたデータであって、誤り検査手続きによって正しいことが確認されたデータは、チャネル推定モジュール320において得られ、チャネル推定モジュール320では、例えば、受信データパケット内の専用のトレーニング系列または他の固定データではなく、受信された復号されたペイロードデータ、すなわち可変データに基づいてチャネル推定を判断する。いくつかの実施形態では、誤り検査は、第２の受信データバッファ324において、さらに加えて、またはその代りに、他でも実行される。
【００５９】
ルックアップテーブルおよび制御モジュール310は、さらに詳しく別途記載するように、等化器の動作を制御する。とくに、モジュール310は、各制御出力348および350によって第１および第２の受信データバッファ308、324を制御し、かつ制御バス352によってメモリモジュール336を制御する。
【００６０】
当業者には、図４の受信機および等化器は、便宜上、ブロック図に示されているが、実際には、等化器は、例えばディジタル信号プロセッサ上でソフトウエア内に構成されるか、または設計エンジニアによって、例えばＶＨＤＬのようなハードウエア記述言語を使用してソフトウエア内に指定され、精密なハードウエア構成は、ハードウエア記述言語コンパイラによって判断されることが分かるであろう。
【００６１】
図４に示されている構造、とくにルックアップテーブルおよび制御モジュール（look-up module, LUTC）310は、受信情報が、ＣＲＣのような誤り検出手続きによって確認されたとき、チャネル推定器においてトレーニング系列としてパケットペイロードデータを使用して、チャネル推定の更新を容易にすることによって、従来のＭＬＳＥビタビ等化器を向上する。さらに加えて、この構造は、実際に受信したデータと、推定の予測データとを比較するために、複数の誤差メトリックを並列に計算するのに便利である。とくに、ルックアップテーブルおよび制御モジュール310は、複数の最小平均二乗誤差または他の誤差メトリック判断モジュールへデータを分配するのに便利である。
【００６２】
次に、図４の受信機300の素子の機能を、より詳しく記載する。
第１および第２のデータバッファモジュール308、324は、チャネル推定において使用するための関係する受信されて復号されたデータをそれぞれ記憶する。データパケット50のペイロード58内の情報において、記憶された情報の信頼性は、受信パケット内の各セグメント58ａないし58ｄにおいてＣＲＣを計算することによって確認される。データはデータバッファ308および324内に記憶され、第１のバッファ308内の非等化の受信データを、第２のバッファ324内の等化されたデータと整合させて、チャネルを推定することができる。バッファ324の等化されたデータは、生の受信データの後でのみ使用可能であるので、ＬＵＴＣモジュール310は、それぞれ制御バス348および350によってバッファ308および324を制御して、各バッファ内に対応するデータを記憶する。
【００６３】
チャネル推定モジュール320は、ルックアップテーブルおよび制御モジュール310によって使用するためのチャネル係数の推定を計算する。
最初のチャネル推定は、例えば、トレーニング系列または他の既知のデータを使用して、受信データパケットの最初に判断される。別のチャネル推定は、変調信号の品質にしたがって、定期的に、または要求に応じて判断される。好ましい実施形態では、チャネル推定に使用される最初の情報は、受信機に既知のトレーニング系列を含んでいて、次の推定は、第２の受信データバッファ324から読み出されるデータを使用して、パケット伝送中に判断される。
【００６４】
十分なデータが第１のバッファ308内に記憶されると、チャネル推定情報は、当業者にはよく知られている多数の従来の方法の中の１つ、例えば再帰最小二乗（Recursive Least-Square, RLS）または最小二乗平均（Least Mean Square, LMS）方法、あるいはこの変形を使用して求められ、このような方法は、例えば、文献（John G. Proakis, “Digital Communications, Mc Graw Hill, Fourth edition 2001 Chapter Ten: Communications through Band-Limited Linear Filter Channels”）に記載されており、ここでは、これを参考文献として取り上げている。チャネル推定のとくに効果的な形は、本出願と同じ日に出願された、出願人の現在審査中の英国特許出願（“Channel Estimation Apparatus and Methods”）に記載されている。
【００６５】
データの誤り検査に合格したときのみ、受信データバッファからの情報が、チャネル推定を生成するために使用されることが好ましいことが分かるであろう（しかしながら、誤り検査／検出により、誤りがあることが分かったときは、推定は生成されても、使用されない）。
【００６６】
最小平均二乗誤差（Minimum Mean-Square Error, MMSE）モジュール312、314の各々は、受信データと、ＬＵＴＣモジュール310のルックアップテーブルからロードされたデータ、すなわちチャネル推定が適用されたデータ系列とを比較する。各ＭＭＳＥモジュールは、例えば、最小平均二乗アルゴリズムのような、従来のアルゴリズムにしたがって、ルックアップテーブルからの系列データと受信系列データとの間の誤差または距離を示すデータを戻す。最小平均アルゴリズムについては、例えば、文献（Todd K. Moon and Wynn C. Stirling, “Mathematical Methods and Algorithms for Signal Processing”, Prentice Hall, 2000, pages 105-107）に記載されており、ここでは、これを参考文献として取り上げている。
【００６７】
図４に示されているように、２つ以上のＭＭＳＥモジュールは、並列に実行され、受信機／等化器の計算処理を高速化する。比較器モジュール332は、ＭＭＳＥモジュール312、314から受信した誤差値を解析し、最小誤差のシンボル系列を選び、メモリ336内に記憶されている生き残りパスに符号を加え、かつ復号されたパスの累積誤差を更新する。
【００６８】
シンボルは、メモリ内に記憶されているが、例えば、累積誤差を計算した後で、異なる前のシンボル値に加わる誤差がより少ないことを、その結果値が示すときは、シンボルは変更される。出力334は、最小誤差およびその値を基準とするか、またはそれに関係する情報を送る。次に、この情報は、メモリ内で処理され、各状態の最良パス（すなわち、最小誤差のパス）が記憶され、パスの累積誤差が更新される。復号されたシンボルが、将来の受信データになるので、（チャネルスパンに等しい長さの）最も新しい組のシンボルは一時的に記憶される。符号に関する情報を含む全受信信号を受信すると直ぐに、シンボルは最終的に記憶され、確認される。
【００６９】
メモリモジュール336は、最尤パスを記憶し、それらを他のモジュールに対して使用可能にする。メモリモジュール336内のデータの分配は、スライディングウインドウ方法にしたがうことが好ましく、トレリスパスの最後の状態は出力へ移され、メモリから取り除かれる。この処理後に、メモリ内に記憶されているデータパケット（または、データへのポインタ）は動かされ、新しいシンボルがメモリへ書込まれる。
【００７０】
好ましい実施形態では、ペイロードデータのセグメントを完全に受信すると直ぐに、ＣＲＣ検査のような誤り検査が実行される。次に、メモリを節約するために、誤り検査において、受信データが正しいと証明されると、データをメモリから取り除いて、出力（および第２の受信データバッファ324）へ移す。
【００７１】
時々見られるように、パスが同じルートを共用し、かつチャネルスパンよりも長く延びるとき（例えば、図６参照。図６では、別途記載するように、パスは、トレリスの左側に収束する）、メモリがさらに節約される。この追加のメモリ節約は、メモリ336の部分を異なる処理に動的に割り当てることができるといった実施形態においてとくに有益である。
【００７２】
ルックアップテーブルおよび制御（look-up table and control, LUTC）モジュール310は、多数の機能を実行する。モジュールは、第１および第２の受信データバッファ308および324を制御して、等化前の受信した（複素数の）データ値に対応する等化された（シンボルの）データを、各制御されたバス348および350によって獲得する。さらに加えて、ＬＵＴＣモジュール310は、これらの受信データのバッファを制御して、各バッファから、チャネル推定モジュール320へデータを供給する。このやり方では、２つの受信データバッファからデータを取り合せると、対応する等化および非等化のデータから成る２つの組のデータが使用可能であるのは、異なる時間およびシステム内の場所であるにも関わらず、これらのデータはチャネル推定モジュールに使用可能である。
【００７３】
さらに加えて、ＬＵＴＣモジュール310は、無線周波数のフロントエンド302からの受信データを収集して、このデータを、受信機において既に推定されたルックアップテーブルからのデータと共に、ＭＭＳＥモジュール312、314に分配するように構成されている。
【００７４】
さらに加えて、ＬＵＴＣモジュール310は、新しいトレリスを初期設定するためのデータを記憶するように構成されている。このデータは、別途より詳しく記載するように、トレーニング系列データと、“後続（follow-on）”データと呼ばれるものとである。この構成により、トレリスに入る第１の符号に対応する受信データに関するよりよい情報を供給することによって、等化器の計算負荷が低減する。
【００７５】
さらに加えて、ヘッダ（またはトレーニング系列）が誤って受信され、かつ回復できなかったとき、ＬＵＴＣモジュールは、次の情報の等化処理を停止することが好ましい。いくつかの例では、受信データの異なる生き残りパスを解析することによって、ヘッダ内の情報を回復することができる。
【００７６】
システムの実施形態では、ユーザの情報はセグメントに分割される。ペイロードの前には、常にヘッダがあり、ヘッダは、セグメント数および他の制御オプションに関する情報を供給し、ヘッダには、セグメントと同様に、ＣＲＣの誤り検出が構成されている。全ヘッダを受信し、かつ最小誤差のパスがＣＲＣ検査に不合格であった場合について検討する。これらの環境のもとで、そのときにメモリ内に含まれている全ての異なる生き残りパスをＣＲＣ検査することによって、情報を回復することを試みる。しかしながら、それらの全てがＣＲＣ検査に不合格であったときは、ヘッダが、受信パケットに関する非常に重要な情報を含むことを考慮して、全パケットを廃棄することが好ましい。
【００７７】
さらに加えて、ＬＵＴＣ310は、使用されているチャネル推定を、チャネル推定モジュール320からの新しく計算されたチャネル推定係数（すなわち、モジュール310内に記憶されている現在使用されている係数）と比較し、ルックアップテーブル内に記憶されている値を計算し直すべきである程、チャネル推定が変更されているかどうかを判断する。ＬＵＴＣモジュール310は、使用されている係数の値と最近判断された係数の値との差が、（受信機において定められたパラメータにしたがう）閾値レベルよりも高いときは、ルックアップテーブル内に記憶されている情報を更新して、新しく計算されたチャネル推定を使用する。等化処理は連続的に（すなわち連続的に、定期的に）実行されるのが好ましいので、新しいチャネル推定と予測受信データとの畳込みをロードして、ＭＭＳＥモジュール312、314がそれを受領する用意ができると直ぐに、これらのモジュールは、それを使用することができる。これは、誤り率を低減して、一定の打ち切りの深さを維持するのを助ける。
【００７８】
チャネル成分は複素数によって表現されるので、古いチャネル推定と新しいチャネル推定との変化は、対応する古いチャネル成分および新しいチャネル成分または更新されるタップの大きさまたは位相、あるいはこの両者の直接的な比較に基づく。これは、チャネルが実質的に一定のままであるか、または伝送中に推定が少しだけ変化するときに、とくによく働く。実施形態では、考慮されている前のチャネル成分からの履歴または情報のみが、最後または最近の推定からの情報であり、より古いチャネル値は廃棄される。チャネル推定間の差の計算は、ＭＭＳＥモジュール312、314が行う。新しいチャネル推定が使用可能になると直ぐに、チャネル推定が比較される。例えば、受信機に誤ったデータまたは電源の可用度、あるいはこの両者を適用する感度にしたがって、チャネルを更新する閾値を判断することができる。
【００７９】
ここで図５を参照すると、システムの１つの実施形態における許容チャネル推定変化量の図（ａ）および（ｂ）が示されている。矢印400は、複数の複素数の既に判断された受信チャネル係数の中の1つの大きさを示し、矢印410は、その位相角を示している。斜線領域402は、ルックアップテーブルの係数をさらに計算することなく、新しいチャネル推定を受信できるときの大きさの値を定め、斜線領域412は、その位相角の値を定める。斜線領域402および412は、例えば前の値の＋/−５パーセントである。新しいチャネル推定が、これらの領域の一方または両方の外側に位置するときは、新しい組の推定データを計算する。
【００８０】
例えば、複素数のチャネルタップは、Ａｅｊθ（Ａは、大きさであり、θは角度である）によって表現することができる。これが分かると、２つの異なるチャネルタップを直接に比較することができる。
【００８１】
【数２】
2004166234.tif 000006
同様の計算を、θ１およびθ２に対して行うことができる。これらの値を求められると、ＭＭＳＥを計算し、決定を行うことができる。
システムの１つの実施形態では、別々のチャネル推定を、ヘッダおよび次のペイロードデータセグメントに使用する。したがって、ＤＢＰＳＫ変調は比較的にロバストであるので、（同期ワードから計算した）粗のチャネル推定をヘッダに使用でき、必要であれば、（ＣＲＣが正しいときは）より正確なチャネル推定を、ヘッダデータに対する決定から、ＬＵＴＣ310によって計算することができる。これは、チャネル推定を行って、ルックアップテーブルを計算する複雑さおよび待ち時間を低減し、一方でより高精度のチャネル推定情報を供給するといった長所を有する。
【００８２】
好ましい実施形態では、ＬＵＴＣ310は、さらに加えて、チャネル成分の一部、好ましくは、全ての大きさを解析し、重要でない値の計算を避ける。例えば、チャネルタップの大きさが、所定の、または選択された閾値よりも小さいときは、ルックアップテーブルから削除し（または、ゼロに設定し）、したがって等化器によって行われる計算数を低減し、その結果、信号処理を高速化することができる。
【００８３】
ここで、図４の受信機／等化器300の動作を、図６を参照して記載することにする。図２に関して既に記載したように、データパケット50の変調方式は、プリアンブル52、同期ワード54、およびヘッダフィールド60に対してはＤＢＰＳＫを使用し、ペイロード58に対してはＤＢＰＳＫ、ＤＱＰＳＫ、および８−ＤＰＳＫの中の１つを使用するといったように変更される。図６（ａ）は、別途より十分に記載するように、全パケットを連続検出するためのトレリス図を示しており、変調方式は、ＤＢＰＳＫからＤＱＰＳＫへ変更されている。図６（ｂ）は、同様の図であるが、変調方式は、ＤＢＰＳＫからＤ−８ＰＳＫへ変更される。
【００８４】
図６において、シンボル期間単位の時間は、水平軸に沿って示され、時間の各瞬間において、受信シンボルの可能な値は、垂直ベクトル500上の点によって示されている。最初の３つのシンボル（サンプリング時間１、２、および３）では、二値変調であるので、２つのシンボル値（値１および５）のみが可能である。許可状態は、まる記号（〇）502によって示され、非許可状態は、まる記号（○）とばつ記号（×）とを重ねた記号504によって示されている。図６（ａ）において、受信サンプル４ないし９に対する直交変調は、示されている状態の一部のみを使用するが、図６（ｂ）では、８−位相変調は、８つの全ての示されている状態、すなわち各サンプリング時間間隔を使用する。さらに図６を参照すると、生き残りパスの成分は、実線506によって示され、他のパスは点線508によって示されている。
【００８５】
高速ブルートゥースの場合に、プリアンブルフィールド52の一部または全て（あるいはこのフィールドの一部）、同期ワード54、およびヘッダフィールド56の最初からの情報の一部を、トレーニング系列として一緒に使用することができる。ヘッダフィールドの最初の既知の情報には、例えば、ＨＲ ＩＤと、オプションでＤＰ ＡＤＤＲとが含まれるが、ＤＰ ＡＤＤＲは、後で分かることも多い。他のデータ通信システムでは、他の既知のデータまたは専用のトレーニング系列、あるいはこの両者が用いられる。トレーニング系列が終了すると直ぐに、ヘッダの等化が始まることが好ましい。
【００８６】
トレーニング系列として、何れのデータを使用するかとは関係なく、トレーニング系列からの最後のｑ−１の符号を、新しいトレリスに入る第１のシンボルの一部として含めることが好ましい。これは、トレリスの開始点に存在する非連続性によって生じる“エッジ効果（edge effect）”を避けるのを助ける。（エッジ効果を避けるために）最後の復号されたシンボルに関係のある情報を完全に受信するならば、トレリスの最後の点は、何れの点であってもよい。言い換えると、所与のシンボルを受信した後で、（シンボル期間の距離によって分割される）後のサンプルを、（チャネル長−１に等しい）最後の復号されたシンボルからの情報を含めて、受信することが望ましい。
【００８７】
図６には、パケット構造を復号するための２つの主要なオプション（ａ）および（ｂ）が示されており、一方は、全パケットを連続検出するための連続トレリスを使用しており、他方は、ヘッダまたは各連続セグメントに別々のトレリスを使用している（しかしながら、中間のオプションも使用可能であることが分かるであろう）。ＬＵＴＣモジュール310は、これらのオプションまたはその変形の一方または両方を実行することが分かるであろう。
【００８８】
最初に、実質的に全パケットを実質的に連続検出するためにトレリスを用いる方法を記載する。大略的に言うと、この方法は、実質的に全パケットに単一のトレリスを用いて、生き残りパスの長さと可能な状態数とによって判断されるメモリ量を必要とする。この場合に、必要な記憶メモリは、復号されたシンボルのためのＭ＊Ｌ（なお、Ｍは、シンボル数であり、Ｌは受信シンボルサンプル数である）と、累積パスメトリックのためのＭとを加算したものである。したがって、メモリ容量は、全部で、（Ｍ＊Ｌ）＋Ｍになる。
【００８９】
図６（ａ）を参照すると、それが生き残りパス506の最後に到達するとき、特定のシンボルの値を判断できることが分かるであろう。図６（ａ）は、時間内の特定の（現在の）瞬間、すなわちトレリスの右側の符号９における４つの可能なパスメトリックを示している。ＱＰＳＫが、セグメントデータの変調に使用されるとき、可能な状態は４つある。これらの４つのパスは、生き残りパス506、すなわち最小パスメトリックのパスに収束する。したがって、シンボル１において決定されると、状態１は、最小パスメトリックを有するものとして選択される。
【００９０】
連続検出が用いられるとき、ヘッダにおいて使用される変調方式は、後のセグメントの変調方式と異なるので、トレリスのサイズの中に若干のオーバーヘッドがある。したがって、８つの状態トレリス分布を常に使用できるが、ＤＢＰＳＫおよびＤＱＰＳＫに使用される状態数を制約する。他の変調状態へ遷移できないことを除いて、等化器はトレリスを普通に通ることができる。図６には、これは、ＤＢＰＳＫのヘッダおよびＤＱＰＳＫのセグメントの場合について示されていて、トレリスにおいて、ある特定の状態のみが許可される。８−ＤＰＳＫを使用してペイロードを変調するとき、ヘッダとペイロードの変調間の対応する遷移をトレリスにマップするが、この場合は、図６（ｂ）に示されているように、回転は加えられず、８つのみの状態が必要である。
【００９１】
代わりの動作モードは、“連続”検出ではなく、セグメントごとの検出を使用する。このセグメントごとに検出するモードでは、トレリスは、ヘッダ、または各次のデータセグメントもしくはデータセグメントの組、あるいはこの両者を検出および評価するのに使用される。この動作モードでは、ヘッダまたは特定のセグメントを決定して、次のセグメントに対してトレリスを再び初期設定する。
【００９２】
特定のセグメント（またはヘッダ）を決定するために、既に記載したように、最後のシンボルが、生き残りパスが収束するのに必要な遅延を越えるまで、トレリスは実行される。しかしながら、例えば、図６に示されているように、これは、待ち時間を追加し、さらに加えて、ヘッダ−セグメントの境界をまたぐことを伴う。したがって、好ましい変形例では、セグメントの最後のシンボルを検出すると直ぐに、それらを試行的に決定する。このやり方では、生き残りパスが収束しないために、誤り率がより高くなり、したがって、この動作モードの好ましい実施形態では、図７に示されている手続きを用いる。
【００９３】
図７は、一連の受信データ、例えば、ブルートゥースパケットのセグメントのデータの生き残りパスを選択するためのフローチャートを示している。
ステップS600では、推定の、または仮のセグメント系列、すなわち最小パスメトリックの系列を選択する。これは、この系列の末端部分の最良の推定、例えばパケットデータセグメントの最後のシンボルの推定を含むことが好ましい。次に、ステップS602では、全受信データ列（セグメントまたはヘッダ）は、誤り検査をされる。誤り検査は、ブルートゥースパケットの場合は、ＣＲＣ検査である。ステップS604では、誤りが検出されたか、どうかに基づいて、決定を行う。誤りが検出されなかったときは、手続きは、ステップS606において終了し、データ列（セグメントまたはヘッダ）は正しいと推測される。誤りが検査されると、ステップS608において、次に最小のパスメトリックを有する推定の、または仮の系列を選択し、手続きは折り返してステップS602へ戻り、この次に最も近い系列が正しいかどうかを判断する検査を再び行う。誤りのないパスが見付かるまでか、または全パスをＣＲＣ解析するまで、手続きを、折り返して繰返す。実際には、パスは、より前のシンボルに収束している可能性が高いので、最後のいくつかのシンボルのみを変更することが多い。図７の手続きでは、非常に迅速に、かつ高精度であるが、大きい計算上のオーバーヘッドなしに、決定を行うことができる。
【００９４】
高レートのブルートゥースのパケット構造では、ヘッダから最初のセグメントへの遷移、および第２のセグメント以降のセグメント間の遷移について、それらの間は保護期間がないので、考慮することが重要である。この不都合に対処するために、ヘッダから最後のｑ−１（ｑはチャネルのスパンである）の復号された状態は、使用される新しいトレリス図のサブセットとして一時的に記憶される。前のデータが正しく復号された（すなわち、ＣＲＣ検査に合格した）ときは、最後のｑ−１のシンボルが分かっているので、このときに、生き残りパスを特定できる。次に、これらの値を使用して、新しいトレリスの最初に、より決定的な情報を与えることができる。しかしながら、前のＣＲＣが正しくないときは（または、まだ復号されていないときは）、トレリスは、ｎ個の可能な状態の各々に１本づつ、ｎ本の生き残りパスで満たされ、各々はｑ−１の値であり、関係付けられたパスメトリックを有する。
【００９５】
ヘッダ−セグメントの遷移の場合に、変調方式を変更することもできる。ヘッダおよび第１のセグメントに対して、個々に等化処理を行い、既に記載したように、ヘッダシンボルを対応するセグメントシンボルへマップしてから、新しいトレリスに挿入する。例えば、ＢＰＳＫを使用してヘッダを変調し、ＱＰＳＫを使用してセグメントを変調するとき、ＢＰＳＫに対しては２状態トレリスを使用し、セグメントに対しては４状態トレリスを使用することができる。
【００９６】
上述の等化装置および方法の実施形態は、多数の長所を有する。第１に、これらの装置および方法は、従来の装置および方法と比較して、向上したチャネル推定を行い、推定のチャネル係数を定期的に追跡するとき、既に推定された係数値を用いて、新しいチャネル係数への適切な収束を加速する。チャネル推定および推定系列の計算は、等化処理を使用して同時に実行され、新しいチャネル推定を取り入れて、遅延を低減し、一方で実質的に一定の打ち切りの深さを維持することができる。さらに加えて、ＭＬＳＥ等化器は、無線パーソナルエリアネットワーク（personal area network, PAN）のような短距離のＲＦリンクでは、マルチパス拡散が低減され、かつＩＳＩが比較的に低いために、比較的に簡単である。さらに加えて、上述の技術では、等化処理を向上するには、チャネルパケットの一部の大きさが不十分であるときは、計算数を低減することができる。実施形態において、解析されるデータを個々に供給して、ルックアップテーブルおよび制御モジュール（look-up table and control module, LUTC）310によって複数の処理モジュールを補助するときに、並列処理が可能である。このような実施形態は、ハードウエアにおいて実行するのに、とくに適している。いくつかの実施形態では、新しい、または更新されたチャネル推定が使用可能になるのとほぼ同時に、新しく受信したセグメントと、ＣＲＣのような誤り検査に不合格であった既に受信したセグメントを同時に等化することができる。
【００９７】
本発明の実施形態は、高速ブルートゥースのような短距離の無線周波数データ通信リンクをとくに参照して記載されているが、本発明の応用はこのようなシナリオに制限されない。したがって、本明細書に記載されている等化技術および方法は、他の無線周波数データ通信システム、例えば無線ＬＡＮネットワーク（例えば、IEEE 802.11）、ディジタル移動電話通信システム、赤外線ベースの通信システム、さらに加えて光ファイバ通信システムのような有線システムにも適用される。
【００９８】
当業者が、他の効果的な変形例を思い付くことは疑いない。本発明は記載されている実施形態に制限されず、当業者には明らかであって、かつ本発明の特許請求項の意図および技術的範囲内の変形例を含むことが分かるであろう。
【図面の簡単な説明】
【００９９】
【図１】例示的なブルートゥースの応用を示す図、およびブルートゥース受信機、変調されず、かつ符号化もされていない高速ブルートゥースのパケットの構造、およびブルートゥースのパケットセグメントについての略式のブロック図。
【図２】（ａ）高速ブルートゥースデータパケットの全体的なフォーマットを示す図、および（ｂ）ブルートゥースのパケットセグメントのフォーマットを示す図。
【図３】例示的なＭＬＳＥトレリス図。
【図４】本発明にしたがうＭＬＳＥビタビ等化器の実施形態を示す図。
【図５】複雑な推定伝送チャネル応答係数における（ａ）大きさの許容較差を表わす図と、（ｂ）位相角の許容較差を表わす図。
【図６】（ａ）ＤＢＰＳＫからＤＱＳＫへ変調を変更して、全データパケットを検出することに関係するトレリス図と、（ｂ）ＤＢＰＳＫからＤ−８ＰＳＫへ変調を変更して、全データパケットを検出することに関係するトレリス図。
【図７】セグメントごとのパス検出処理のフローチャート。
【符号の説明】
【０１００】
１６・・・ブルートゥース無線リンク、２０・・・ブルートゥース受信機、５０・・・高速ブルートゥースデータパケット、５８ａ−５８ｄ・・・ペイロードセグメント、２００・・・トレリス図、２０２・・・水平軸、２０４・・・垂直軸、２０６・・・生き残りパス、３００・・・パケットデータ受信機、３０４、３０６、３１６、３２８・・・データバス、２０６、２１０、３１８、３２２、３２６、３３０、３３４、３３８、３４０、３４６、３４８、３５０・・・出力、４０２、４１２・・・斜線領域、５０２・・・許可状態、５０４・・・非許可状態。
【図１】
2004166234.tif 000007
【図２】
2004166234.tif 000008
【図３】
2004166234.tif 000009
【図４】
2004166234.tif 000010
【図５】
2004166234.tif 000011
【図６】
2004166234.tif 000012
【図７】
2004166234.tif 000013
【外国語明細書】
2004166234000001.pdf