(57)【要約】測位システムは、ＲＦ信号を交換するように構成された複数のデバイスを含む。第１のデバイスは、他の各々のデバイスからそれに割り当てられたタイムスロット中で周期的にメッセージを受信する。この受信されたメッセージは、第１のデバイスから送信されたそれぞれのメッセージの他のデバイスにおける到達時間を表す情報を含む。他の各々のデバイスからのメッセージの到達時間は、第１のデバイスによって測定される。第１のデバイスは、周期的にメッセージを他のデバイスに送信するが、送信された各々のメッセージには、他のデバイスの内の少なくとも１つのデバイスに対する測定到達時間を表す情報が含まれている。第１のデバイスから複数の他のデバイスの各々への距離は、他のデバイスからのメッセージの測定された到達時間と他のデバイスからのメッセージ中の到達時間情報との関数として決定される。【特許請求の範囲】
【請求項１】
複数のデバイスであって、前記デバイスの各々が：
前記複数のデバイスの他方のデバイスとＲＦ信号を交換するトランシーバであって、前記トランシーバは、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信する、前記トランシーバと；
ローカルクロック信号を生成するローカルクロックと；
他のデバイスの各々からのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと；
他のデバイスに対して前記デバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信する送信機ロジックであって、送信される各々のメッセージには、他のデバイスの内の少なくとも１つのデバイスに対する測定された到達時間を表す情報が含まれる、前記送信機ロジックと；
を含む前記複数のデバイスを備える測位システムであり：
他の各々のデバイスからの受信メッセージが、前記デバイスにより送信されたそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含み；
前記デバイスの内の少なくとも１つのデバイスが、複数の他のデバイスの各々に対するそれぞれの距離を測定する測距ロジックをさらに含み、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記測位システム。
【請求項２】
前記測距ロジックが、他のそれぞれのデバイスに対する前記デバイスによって送信されたメッセージと前記第１のデバイスで受信されたメッセージとの平均飛行時間を決定するように構成されている、請求項１に記載の測位システム。
【請求項３】
前記測距ロジックが、他のそれぞれのデバイスによって前記デバイスに送られたメッセージの第１の飛行時間と、前記それぞれのデバイスに前記デバイスによって送られたメッセージの第２の飛行時間との平均値を含む平均飛行時間を決定し、また、前記平均飛行時間に基づいて前記デバイスと前記それぞれのデバイス間の距離を測定するように構成されている、請求項１に記載の測位システム。
【請求項４】
前記複数のデバイスの内の少なくとも２つのデバイスはその各々が、ローカルクロックを前記複数のデバイスの内の特定のデバイスの中のローカルクロックと同期させるクロック同期化ロジックを含む、請求項１に記載の測位システム。
【請求項５】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生し；
前記クロック同期化ロジックが、調整値をストアするレジスタを含むクロックステアリングロジックと、前記複数のデバイスの内の他の１つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を発生する前記レジスタ中の調整値に反応するアナルグクロック信号発生器とを含む、請求項４に記載の測位システム。
【請求項６】
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、請求項５に記載の測位システム。
【請求項７】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項６に記載の測位システム。
【請求項８】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも１つのウインドウ化フィルタを含む、請求項６に記載の測位システム。
【請求項９】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項８に記載の測位システム。
【請求項１０】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項９に記載の測位システム。
【請求項１１】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項５に記載の測位システム。
【請求項１２】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の１つのデバイス中の前記ローカルクロックと略同期している時間値を発生する加算器を含む、請求項５に記載の測位システム。
【請求項１３】
測位システムで用いられるデバイスであって、前記デバイスが：
前記測位システム中の別のデバイスからメッセージ信号を受信する受信機と；
ローカルクロック信号を発生するローカルクロックであって、前記ローカルクロックがローカル発振器を含む、前記ローカルクロックと；
他方のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと；
測定された到達時間の関数として、他方のデバイスへのそれぞれの距離を測定する測距ロジックと；
クロック同期化ロジックであって、調整値をストアするレジスタを含むクロックステアリングロジックと、前記ローカル発振器と前記レジスタ中の値とに反応して、他方のデバイス中のローカルクロックと略同期したステアドクロック信号を発生するアナログクロック信号発生器とを含む、前記クロック同期化ロジックとを備える、前記デバイス。
【請求項１４】
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと他方のデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、請求項１３に記載のデバイス。
【請求項１５】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項１４に記載のデバイス。
【請求項１６】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも１つのウインドウ化フィルタを含む、請求項１４に記載のデバイス。
【請求項１７】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項１６に記載のデバイス。
【請求項１８】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項１７に記載のデバイス。
【請求項１９】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項１３に記載のデバイス。
【請求項２０】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生する、請求項１３に記載のデバイス。
【請求項２１】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の１つのデバイス中のローカルクロックと略同期している時間値を発生する加算器を含む、請求項２０に記載のデバイス。
【請求項２２】
複数のデバイスを有する測位システムを操作する方法であって、前記デバイスの各々が、前記複数のデバイスの他のデバイスとＲＦ信号を交換するように構成されており、前記方法が：
第１のデバイスにおいて、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信するステップであって、他の各々からの前記受信メッセージが、前記第１のデバイスが送信したそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含む、前記ステップと；
他のデバイスの各々からのメッセージの、前記第１のデバイスのローカルクロックのローカルクロック信号を基準とした到達時間を測定するステップと；
他のデバイスに対して、前記第１のデバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信するステップであって、送信される各々のメッセージには、他のデバイスの内の少なくとも１つのデバイスに対する測定された到達時間を表す情報が含まれる、前記ステップと；
前記第１のデバイスから前記複数の他のデバイスの各々へのそれぞれの距離を測定するステップであって、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記ステップとを含む、前記方法。
【請求項２３】
それぞれの距離を測定する前記ステップが、前記複数の他のそれぞれのデバイスに対する前記第１のデバイスによって送信されたメッセージと前記第１のデバイスで受信されたメッセージとの平均飛行時間を決定するステップを含む、請求項２２に記載の方法。
【請求項２４】
それぞれの距離を測定する前記ステップが、他のそれぞれのデバイスから前記第１のデバイスに送られたメッセージの第１の飛行時間と、前記それぞれのデバイスに前記第１のデバイスによって送られたメッセージの第２の飛行時間との平均値を含む平均飛行時間を決定するステップと、前記平均飛行時間に基づいて前記第１のデバイスと前記それぞれのデバイス間の距離を測定するステップとを含む、請求項２２に記載の方法。
【請求項２５】
前記複数のデバイスの内の少なくとも２つのデバイスのローカルクロックを前記複数のデバイスの内の特定のデバイス中のローカルクロックと同期させるステップをさらに含む、請求項２２に記載の方法。
【請求項２６】
前記受信ステップがさらに、
前記ローカルクロックに属すカウンタを、ローカル発振器によって制御されるレートで更新するステップであって、前記カウンタがローカル時間値を発生する、前記ステップと；
調整値をレジスタにストアするステップと；
前記複数のデバイスの内の他の１つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を、調整値に基づいて発生するステップと；
を含む、請求項２５に記載の方法。
【請求項２７】
前記受信ステップがさらに、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差を測定するステップを含む、請求項２６に記載の方法。
【請求項２８】
前記受信ステップがさらに、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップを含む、請求項２７に記載の方法。
【請求項２９】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップをさらに含む、請求項２８に記載の方法。
【請求項３０】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項２９に記載の方法。
【請求項３１】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項３０に記載の方法。
【請求項３２】
前記調整値は、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項２６に記載の方法。
【請求項３３】
ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の１つのデバイス中の前記ローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項２６に記載の方法。
【請求項３４】
測位システムにおいてデバイスを操作する方法であって、前記方法が：
前記測位システム中の別のデバイスからメッセージ信号を受信するステップと；
ローカルクロック信号を発生するステップと；
他方のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定するステップと；
測定された到達時間の関数として、他方のデバイスへのそれぞれの距離を測定するステップと；
調整値をストアするステップと；
他方のデバイス中のローカルクロックと略同期したステアドクロック信号を、調整値に基づいて発生するステップとを含む、前記方法。
【請求項３５】
前記ステアドクロック信号中のエッジと他方のデバイスからのメッセージ中のエッジとの間の差を測定するステップをさらに含む、請求項３４に記載の方法。
【請求項３６】
前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップをさらに含む、請求項３５に記載の方法。
【請求項３７】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップを含む、請求項３６に記載の方法。
【請求項３８】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項３７に記載の方法。
【請求項３９】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項３８に記載の方法。
【請求項４０】
前記調整値が、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項３４に記載の方法。
【請求項４１】
ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の１つのデバイス中のローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項３４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的には測位システムに関し、より詳しくは、複数のデバイスが互いにメッセージを交換して、これらデバイスの内の少なくとも１つが、他のデバイスから受信したメッセージの中の情報とこのメッセージの到達時間とに基づいて測位システム内の少なくとも１つの他のデバイスの相対的な位置を決定することが可能となるような測位システムを操作する装置と方法に関する。
【背景技術】
【０００２】
ローカル測位システムは、特に自動車両と精密建設工具の応用に際して、ナビゲーション機能性を必要とするモバイルデバイスにおける重要な実現要因（enabler）となりつつある。ＧＰＳなどのグローバルポジショニングシステムは、通常は１０ｃｍ以下の中程度の精度の測位情報だけを提供するし、水平線近くまでの空のはっきりした視界を必要とする。動作量（working volume）に応じて能動素子や受動素子（active or passive components）が分布しているローカル測位システムは、より正確な（１ｃｍ未満）測位が可能であり、ユーザは本システムを必要に応じて拡張して、より複雑な密閉形状内でさえもこれを操作することが可能である。
【０００３】
従来のローカル測位システムは、音響システムとレーザ測距システムとを含む。音響システムは一般的には、トランスポンダビーコンを用いて、一部は固定されてローカル座標系を形成しているデバイスから成るネットワーク内の距離を測定する。不運にも、音は空気中を伝搬するという特性のため、音響システムはセンチメートル以上の精度でしか、また、比較的短い距離の範囲しか測定できない。レーザに基づくローカル測位システムは、あるデバイスとプリズムなどの１つ以上の反射性物体との間の角度と距離の双方の測定値を利用して、そのデバイスの位置を三角測量または三点測量（trilateralate）する。しかしながら、レーザシステムは現時点では、高価な測位メカニズムを利用しているが、このため、システムの経費が３万ドル以上のものとなりかねない。
【０００４】
数ミリメートルの精度まで二次元または三次元の位置を決定できる相対的に低コスト（２０００ドル未満）のローカル測位システムは、屋内及び屋外の精密建築、採鉱、精密農業、及び競技場の草刈り及び処理などの応用例の領域での多くの潜在的な製品を可能にするであろう。本発明は従来のローカル測位システムのコスト及び制度の制限を克服する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の上記のシステムと方法は、低コストで、しかも高精度のローカル測位システムを提供する。無線周波数（ＲＦ）信号をデバイス間で交換して、これらデバイス間を飛行時間を測定する。ＲＦ信号の伝搬速度は音響信号ほどには強く環境条件によって変動しないので、測距の精度が優れたものとなる。信号の交換のために用いられるＲＦアンテナの空間ビーム幅は、レーザのそれよりかなり広く、そのため、高価なポインティングメカニズムに対する必要性が解消される。
【課題を解決するための手段】
【０００６】
ある好ましい実施形態では、測位システムはＲＦ信号を互いに交換する複数のデバイス備える。各々のデバイスは、他のデバイスとＲＦ信号を交換するためのトランシーバを含む。各デバイスのこのトランシーバは、他の各デバイスからのメッセージをこれら他のデバイスに割り当てられたタイムスロット中で周期的に受信する。各々のデバイスはさらに、ローカルクロック信号を発生するローカルクロックと、他のデバイスの各々からのメッセージの、ローカルクロック信号を基準とした到達時間を決定する受信機ロジックとを含む。送信機ロジックもまた各々のデバイス中にあり、これが、このデバイスに対して割り当てられたタイムスロット中で他のデバイスに対してメッセージを周期的に送信するが、送信された各々のメッセージには、他のデバイスの内の少なくとも１つの決定された到達時間を表す情報が含まれる。他の各々のデバイスから受信したメッセージには、受信側デバイスによって送信されたそれぞれのメッセージがその他方のデバイスに到達した時間を表す情報が含まれている。最終的には、本システム内のデバイスの内の少なくとも１つが、他の複数のデバイスに対するそれぞれの距離を測定する測距ロジックをさらに含んでおり、他の各デバイスについてのそれぞれの測定距離は、他方のデバイスからのメッセージの測定到達時間と他方のデバイスから受信されたメッセージ中の到達時間情報との関数として決定される。
【０００７】
一部の実施形態では、あるデバイスのローカルクロックは、ローカル発振器によって制御されるレートで更新されるカウンタを含むが、このカウンタは、ローカル時間値を発生する。上記の実施形態では、デバイスは、調整値を格納するレジスタを含むクロックステアリングロジックと、このレジスタ中の調整値に反応してステアドクロック信号を発生するアナログクロック信号発生器とを含む。このステアドクロック信号は他のデバイスの内の１つのローカルクロックとほぼ同期している。
【０００８】
デバイスがクロックステアリングロジックを含む一部の実施形態では、このデバイスの受信機ロジックは、ステアドクロック信号を利用して、このステアドクロック信号中のエッジ（たとえば、信号の上方または下方の遷移と関連するゼロ交差）と他のデバイスの内の１つからの受信メッセージ中のエッジとの間の差を測定するように構成されている。これらの実施形態の内の一部の実施形態では、クロックステアリングロジックを含むデバイスは、レジスタに格納されている調整値を、ステアドクロック信号中のエッジと複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む。
【０００９】
デバイスがクロックステアリングロジックを含む一部の実施形態では、デバイスの受信機ロジックは少なくとも１つのウインドウフィルタを含むが、このフィルタは、ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する。これらの実施形態の内の一部では、このウインドウフィルタが用いるウインドウタイムフレームは、異なる持続時間を持つウインドウタイムフレームから成るシーケンス（a sequence of window time frames, of different durations）であり、これを期間シーケンス中で用いて（used during a sequence of time periods）、受信信号を積分する。時として、このウインドウタイムフレームシーケンスの最後のウインドウタイムフレームは、このウインドウタイムフレームシーケンスの最初のウインドウタイムフレームの１００分の１以下になる。
本発明の他の目的と特徴は、以下の図面と一緒に詳細な説明と添付の特許請求の範囲を読めばより容易に明らかになるであろう。
これら図面の内のいくつかでは同様の参照数字はそれに対応する部品を示している。
【発明を実施するための最良の形態】
【００１０】
従来の多くのローカル測位システムでは、送信機から受信機に送られた信号の飛行時間の測定値を用いて、この送信機と受信機の間のそれぞれの距離を決定する。一部のシステムでは、受信機は位置が未知のデバイス上に置かれ、送信機は位置が既知のデバイス上に置かれる。位置が既知であるデバイスの数が十分であれば、位置が未知のデバイスは、位置がわかっていないデバイスの各々からの送信を受信し、これらのデバイスの各々からの飛行時間を測定し、これらデバイスの各々に対する距離を測定し、次いでそれ自身の位置を三点測量することが可能である。
【００１１】
受信機は、自身と送信機との間の飛行時間を送信信号の到達時間を用いて測定するためには、送信機がその信号を送信した時間を受信機が知らなければならない。一部の測位システムでは、送信機は、前もって同意された、受信機にとっては既知である時間に送信する。さらに別のシステムでは、送信機は信号が送られた時間を信号自体に符号化する。どちらの場合においても、送信機と受信機の双方が、時間測定のためのローカル時間参照動作を必要とする。送信機の参照と受信機の時間参照が同期していないと、受信機による飛行時間の測定に必ず重大な誤差が発生する。ローカル測位システムでは、送信機と受信機は一般に互いに異なったデバイス中に常駐しており、これが同期化を困難なものとしている。
【００１２】
測位システム内の各々のデバイスのローカル時間信号を同期化する必要性を取り除くため、本発明の一部の実施形態では、双方向測距方式を採用している。図１は、双方向測距動作を解説する説明図である。測位システム１００は２つのデバイスＤ１とＤ２を備えている。各々のデバイスが、受信機１０２と、送信機１０４と、ローカル時間信号を発生するローカルクロック１０６とを含む。各々のデバイスは、特定のデバイスに割り当てられた時間にＲＦ信号を送信する。Ｄ１は、Ｄ１のローカル時間信号を基準として測定された時間Ｔ０Ｔ１に、ＲＦ信号を送信する。次いでこの信号は、Ｄ２において、Ｄ２のローカル時間信号を基準として測定された時間Ｔ０Ａ２に受信される。また、Ｄ２は、Ｄ２のローカル時間信号を基準として測定された時間Ｔ０Ｔ２に、ＲＦ信号を送信する。次いでこの信号は、Ｄ１において、Ｄ１のローカル時間信号を基準として測定された時間Ｔ０Ａ1に受信される。
【００１３】
ＲＦ信号の伝搬速度ｃは真空中で３．０×１０８ｍ／ｓであることが知られている。一般的な大気条件下では、ＲＦ信号の伝搬速度の変動幅はこの値から３００ｐｐｍ（パーツパーミリオン）未満である。高度と他の環境的要因に関する情報を用いることによって、測位システムの環境下におけるＲＦ信号の伝搬速度は、１００ｐｐｍ以内で測定可能である。したがって、２つのデバイス間での飛行時間の正確な測定値を（分かればであるが）用いて、これら２つのデバイス間の距離を正確に推定することが可能である。
【００１４】
双方向測距システム中で飛行時間を正確に測定するために、一部の実施形態では、Ｄ１のローカル時間信号を「正しい」時間と見なす。このような実施形態では、Ｄ１のローカル時間信号は正確さという点でシステムの他のデバイスより優れている。別の実施形態では、システム中の全てのデバイスのローカル時間信号が不正確である可能性が等しい。Ｄ１が「正しい」時間であると見なされたと仮定すると、Ｄ２によって測定された時間はある分量DＴだけオフセットされる。したがって、Ｄ１からＤ２に送信された信号の真の飛行時間はＴ０Ａ２＋DＴ−Ｔ０Ｔ１である。同様に、Ｄ２からＤ１に送信された信号の真の飛行時間はＴ０Ａ1−Ｔ０Ｔ２−DＴである。クロック同士間のオフセットDＴは未知の量であり、単独で測定されたどの飛行時間からでも距離を正確に測定することを妨げる。そうする代わりに、Ｄ１のローカル時間信号を基準として測定された飛行時間の平均：
（［Ｔ０Ａ２＋DＴ−Ｔ０Ｔ１］+［Ｔ０Ａ1−Ｔ０Ｔ２−DＴ］）／２＝（Ｔ０Ａ２＋Ｔ０Ａ1−Ｔ０Ａ1−Ｔ０Ｔ２）／２
を検査すると、クロック同士間のオフセットに起因する誤差DＴが消滅することが分かる。したがって、距離ｒの正確な測定値は、ＲＦ信号の伝搬速度に飛行時間の平均値を乗算したものとして与えられる。：
ｒ＝ｃ（［Ｔ０Ａ２−Ｔ０Ｔ１］+［Ｔ０Ａ1−Ｔ０Ｔ２］）／２
【００１５】
上記の説明は、双方向測距の基本的な原理を解説したものである。測位システム中の単一のデバイス、たとえば、モバイルデバイスが、自身で距離を計算することが可能であることが望ましい。複数のデバイスから成る測位システムにおいて双方向測距方式を採用するためには、距離を正確に計算するために、双方のデバイスでの到達時間が既知のものでなければならない。一部の実施形態では、Ｄ１による双方向測距動作は、Ｄ２に、その到達時間（Ｔ０Ａ２）の情報をＤ１に送信されるＲＦ信号に符号化させることによって可能となる。すると、Ｄ１はこの情報を解読して、その送達時間の測定値（Ｔ０Ａ1）とともに、Ｄ２への距離を決定する。
【００１６】
双方向測位システムで発生するもう１つの厄介な問題は、デバイスのローカル時間信号同士間の周波数すなわちレートのオフセットの存在である。この誤差は、デバイスが、到達時間の記録に加えて、到達の周波数をも記録するようにすれば、緩和することが可能である。受信機の基準時間を基準とした到達の周波数は、たとえば、キャリアのフェーズロックドループ（ＰＬＬ）によって測定することが可能であり、また、これを用いて、送信側デバイスのローカル時間信号と受信側デバイスのローカル時間信号間のタイムレート差の端数を測定することが可能である。この２つのデバイスのローカル時間信号が自身の公称の周波数を等しく正確に表している可能性があれば、この２つのデバイスのローカル時間信号間のタイムレートの平均値が利用可能な最良の時間基準である。各々のデバイスが他のデバイスに対する相対的な周波数測定値を有しているため、各デバイスは、あらゆる時間測定値を１秒の共通定義へ変換する（convert any time measurement to a common definition of one second）ための周波数係数を計算することができる。
【００１７】
一部の実施形態では、各々のデバイスにおいて、１秒のシステム全体の定義を、他のデバイスの各々から受信したメッセージの到達周波数を平均化することによって計算する。別の実施形態では、システム内のデバイスの１つが、システム中の他のデバイスよりかなり正確なローカル時間値を有している。これで、システム中の全てのデバイスがこのデバイスからの到達周波数の測定値の情報を用いて、これらデバイスのローカル時間値に関して１秒の共通定義を得る。
【００１８】
次に、３つ以上のデバイスを有する測位システムの実施形態における双方向測距動作を説明する。図２は、測位システム２００の説明図である。システム２００は複数のデバイスＤ１、Ｄ２およびＤ３を含む。図２中ではこのようなデバイスが３つしかないが、他の実施形態では、これ以上またはこれ以下のデバイスが存在しうる。一部の実施形態では、用いられるデバイスの数は、位置が調査済みであるデバイスを基準とした１つのデバイスの位置を正確に決定する目的にとって適切な値である。たとえば、図２Ａでは、測位システム中の４つのデバイスＤ１、Ｄ２、Ｄ３、およびＤ4が存在する。Ｄ１、Ｄ２およびＤ３の位置が（たとえば、前もって調査しておいて）既知であり、デバイスＤ１、Ｄ２およびＤ３は同一直線状にはなく、デバイスの全てが２次元平面上にあると仮定すると、デバイス相互間距離ｄ１４、ｄ２４およびｄ３４とデバイスＤ1、Ｄ２およびＤ３の位置とがわかっていれば、明瞭にＤ4の位置を測定することが可能である。この目的のためのアルゴリズムは当業者には周知である。たとえば、本明細書中にその全体を参照して組み込まれる、プエルトリコのＳａｎ  Ｊｕａｎでのコンピュータ科学の基礎のための３２回年次シンポジウムの、１９９１年発行の会議録中の４１４〜４２３ページのＨ．  ＥｄｅｌｓｂｒｕｎｎｅｒとＴ．Ｓ．  Ｔａｎによる「ミニマックス長さ三角測定の二次時間アルゴリズム」を参照されたい。別の実施形態では、これらデバイスは全てがおなじ２次元平面上にあるわけではない。このような実施形態では、少なくとも４つの同一平面上にはないデバイスの位置が、第５のデバイスと最初の４つのデバイスの各々のデバイス間の距離に関する知識から第５のデバイスの位置を明瞭に決定するために、既知でなければならない。
【００１９】
図２にまた目を向けると、ある実施形態では、Ｄ１、Ｄ２およびＤ３がＲＦ信号２０２を互いに交換している。Ｄ１はＲＦ信号２０２をデバイスＤ２からの送信２０６において受信する。送信２０６のメッセージには、デバイスＤ１からデバイスＤ２への前の送信２０４の到達時間を表す情報が含まれている。次に、デバイスＤ１での送信２０６の到達時間は、送信２０４の到達時間を表す情報と共に、Ｄ１からＤ２への距離を決定するためにＤ１によって用いられる。同様に、Ｄ１がＤ３から送信２１０を受信する。送信２１０には、デバイスＤ１からデバイスＤ３への前の送信２０８の到達時間を表す情報が含まれている。次に、デバイスＤ１での送信２１０の到達時間は、送信２０８の到達時間を表す情報と共に、Ｄ１からＤ３への距離を決定するためにＤ１によって用いられる。一部の実施形態では、２つ以上のデバイスが、システム中のデバイス同士間の距離を決定する測距ロジックを含む。たとえば、図２では、デバイスＤ２がデバイスＤ３から送信２１４を受信する。送信２１４には、デバイスＤ２からデバイスＤ３への送信２１２の到達時間を表す情報が含まれている。次に、Ｄ２が、測距ロジックを用いて、Ｄ２からＤ３までの距離を、送信２１４の到達時間とそれに含まれる到達時間情報とに基づいて決定する。
【００２０】
このように、測位システム中のデバイスは、受信したメッセージの到達時間を決定して、他のデバイスから受信したメッセージ中の送られてきた到達時間情報を解読する。加えて、デバイスは、システム内の他のデバイスに対して、システム内の他のデバイスからのメッセージの到達時間を表す情報を含むメッセージを送信することが可能である。図３を参照すると、デバイス３００は、ＲＦ信号を受信し、処理し、送信するための複数の機能ブロックを含む。アンテナ３０２はＲＦ信号を測位システム内の他のデバイスから受信する。Ｔｘ／Ｒｘスイッチ３０４は、受信したＲＦ信号をＲＦ―ベースバンドブロック３０６にルーティングする。ＲＦ―ベースバンドブロック３０６は、ＲＦ発振器３０８が発生したキャリア周波数信号３０７を、受信したＲＦ信号と混合して、結果得られるベースバンド信号３０９をウインドウ化積分／ダンプ回路３１０に送る。ある好ましい実施形態では、ローカルＲＦ発振器３０８及び交換されたＲＦ信号の周波数は、５．８ＧＨｚである。別の実施形態では、キャリア周波数は、ＦＣＣ  ＩＳＭ帯域内のどの周波数でもよい。たとえば、別の実施形態では、キャリア周波数は次の周波数帯域の内のどれでもよい：０．９１５ＧＨｚ±０．０１３ＧＨｚ、２．４５０ＧＨｚ±０．０５０ＧＨｚ、５．８００ＧＨｚ±０．０７５ＧＨｚ、２４．１２５ＧＨｚ±０．１２５ＧＨｚ、６１．２５０ＧＨｚ±０．２５０ＧＨｚ、１２２．５ＧＨｚ±０．５ＧＨｚ、２４５ＧＨｚ±１ＧＨｚ。さらに別の実施形態では、別の周波数帯域も可能である。しかしながら、一部の周波数帯域では、米国内でデバイスを合法的に操作するためにはＦＣＣまたは他の政府機関のライセンスをユーザが得る必要がある。キャリア周波数を高くしていくとついには、距離の測定精度を改善することが可能となる。キャリア周波数を低くしていくと、より低い複雑さとコストの回路の使用が可能となる。
【００２１】
ベースバンド信号３０９に加えて、ウインドウ化積分／ダンプ回路３１０は、シンセサイザ３１４からステアドクロック信号３１２を受信する。シンセサイザ３１４は、クロックステアリング回路３１８から提供されたアナログ調整値３１６とローカル発振器３２０からの信号とを利用して、ステアドクロック信号３１２を発生する。ある好ましい実施形態では、ローカル発振器３２０は、１００ＭＨｚの正弦波信号を発生する。別の実施形態では、ローカル発振器３２０の周波数は、３．３ＭＨｚから２００ＭＨｚの範囲内のどの周波数でもよい。ローカル発振器３２０の周波数は、デバイスのある好ましい実施形態では内部デジタル信号処理で用いているので、周波数が高ければ、より高いデータレートでの通信が可能となる。特に、周波数が高くなると、より高いデータレートを持つベースバンド信号をサンプリングするために、ウインドウ化積分／ダンプ回路３１０で、ベースバンド信号３０９をデジタルサンプリングする速度を増すことが可能となる。一方、高いデータレートを持つベースバンド信号によって、システム内でのデバイス間でのＲＦ信号の交換がより迅速となり、ついにはより複数のデバイスがシステム内で存在することが許容される。
【００２２】
ウインドウ化積分／ダンプ回路３１０は、ステアドクロック３１２とチップ遷移アーム３２２とを用いて、ベースバンド信号３０９を処理してデジタル信号の集合３２４とする。ウインドウ化積分／ダンプ回路３１０のこの動作を以下に図７を参照してより詳しく説明する。
【００２３】
ウインドウ化積分／ダンプ回路３１０は、デジタル信号３２４を相関／角度回転回路３２６に提供する。クロックステアリング回路３１８は、受信した擬似雑音（ＰＮ）コード３２８を相関／角度回転回路３２６に提供する。一部の実施形態では、受信したＰＮコード３２８は、クロックステアリング回路３１８によって、現行の受信したＲＦ信号を送信したデバイスのアイデンティティに基づいて生成される。別の実施形態では、受信されたＰＮコード３２８は、どのデバイスから受信したＲＦ信号でも同じである。キャリアループ３４６は、ローカルＲＦ発振器３０８が発生した信号３０７と受信メッセージのキャリア信号との間の位相差を表す数値制御発振器（ＮＣＯ）位相３３０を、相関／角度回転回路３２６に提供する。ＮＣＯ位相３３０とＰＮコード３２８とは、デジタル信号３２４を処理して逆拡散信号３３２とするために、相関／角度回転回路３２６により用いられる。相関／角度回転回路３２６のこの動作を、図８の説明と一緒にして以下に詳しく説明する。
【００２４】
マイクロプロセッサ３３８は、逆拡散信号（despread signals）３３２を用いて、受信したＲＦ信号の符号化された情報を決定する。マイクロプロセッサ３３８は、ＰＬＬ／フィルタ３４０から調整値３４２を受信し、キャリアループ３４６からＮＣＯ位相３３０を受信する。この情報をマイクロプロセッサ３３８が用いて、受信したＲＦ信号の飛行時間を計算し、この飛行時間は、次にマイクロプロセッサ３３８中のレジスタに格納される。
【００２５】
周期的に、マイクロプロセッサ３３８は、システム内の他のデバイスから受信したＲＦ信号の到達時間情報を含むベースバンドメッセージ３５０を発生する。このベースバンドメッセージ３５０は、ベースバンドエンコーダ３５２に送られる。ベースバンドエンコーダ３５２は、ベースバンドメッセージとクロックステアリング回路３１８により提供された送信ＰＮコード３５４とを混合して、ベースバンドメッセージを拡散させて、その結果、拡散ベースバンド信号３５１を発生する。この拡散ベースバンド信号３５１は、ベースバンド−ＲＦコンバータ３５６に伝達され、ここで、ローカルＲＦ発振器３０８により提供されたキャリア周波数信号３５３と混合されて、キャリア周波数にアップ変換される。このアップ変換され拡散された信号３５５は次に、Ｔｘ／Ｒｘスイッチ３０４を介してアンテナ３０２に送られる。アンテナ３０２は、このメッセージをシステム内の他のデバイスに送信する。
【００２６】
デバイス３００のトランシーバ、受信機ロジック及び送信機ロジックの動作について概括したので、ステアドクロック信号３１２、ＮＣＯ位相３３０および調整値３４２の発生に注目する。クロックステアリング回路３１８は、複数のレジスタ３１９を含む。一部の実施形態では、各々のレジスタはシステム内の他のデバイスの１つに対応しており、デバイス３００のローカルクロック信号と他のデバイスのそれとの間の時間差を表す値を含む。この値に基づいて、クロックステアリング回路３１８はアナログ値３１６を発生し、この値がローカル発振器３２０が提供したクロック信号と共にシンセサイザ３１４により用いられ、ステアドクロック信号３１２を生成する。ステアドクロック信号３１２は、現在受信中のメッセージの送り元のデバイスのローカルクロックに略同期するように生成される。シンセサイザ３１４とクロックステアリング回路３１８の動作を、図９と１０をそれぞれ参照して以下にさらに詳しく説明する。
【００２７】
ＮＣＯ位相３３０は、キャリアループ３４６によって発生される。キャリアループ３４６は、複数のキャリアロックドループ３４７を含む。一部の実施形態では、キャリアロックドループの数は、システム内のデバイス３００以外のデバイスの数に等しく、各々のキャリアロックドループは、他のデバイスの内の１つのデバイスからのメッセージのキャリア位相を追跡するために用いられる。別の実施形態では、デバイスは、他の全てのデバイスからのメッセージのキャリア位相を追跡するために用いられるキャリアロックドループをたった１つしか含んでいない。キャリアループ３４６の動作を図１１の説明と共に以下にさらに詳述する。
【００２８】
調整値３４２は、フェースロックドループ（ＰＬＬ）／フィルタ３４０によって発生される。ＰＬＬ／フィルタ３４０は、複数のチャネルモジュール３４１を含む。一部の実施形態では、チャネルモジュールの数は測位システム内のデバイス３００以外のデバイスの数に等しく、各々のチャネルモジュールを用いて、このデバイスのローカルクロック信号と他のデバイスの内の１つのデバイスのそれとの間の差を追跡する。別の実施形態では、存在するチャネルモジュールの数は少ないが、これを用いて、このデバイスのローカルクロック信号と他のデバイスの内の１つのデバイスのそれとの間の差を追跡する。ＰＬＬ／フィルタ３４０は、マイクロプロセッサ３３８からコマンドと制御情報３４４を受信し、相関／角度回転回路３２６から逆拡散信号３３２を受信する。加えて、ＰＬＬ／フィルタ３４０は、キャリアループ３４６から自動周波数制御（ＡＦＣ）誤差信号３４３を受信する。ＰＬＬ／フィルタ３４０の動作を、図１２の説明と共に以下にさらに詳述する。
【００２９】
２つ以上のデバイスが同じＲＦ周波数の信号を介してメッセージを送信することを可能とするためには、多重アクセス通信プロトコルが必要である。本書に記載する本発明の実施形態は、多重アクセス（ＴＤＭＡ）通信プロトコルを用いて、この問題を解決している。図５に、８個のデバイスを含む測位システム中で用いられるＴＤＭＡプロトコルの詳細を示す。メッセージフレーム５０２は、このプロトコル中で最大の時間区分（division of time）である。メッセージフレームは時間内で周期的に繰り返されて、デバイス間でＲＦ信号を繰り返し交換することを可能とする。ある好ましい実施形態では、メッセージフレーム５０２の持続時間は０．１秒である。メッセージフレームの持続時間は、システム内の全てのデバイスが静止状態のまま留まるものと期待される時間量に対応する。したがって、デバイスがゆっくり移動する応用分野に適応される一部の実施形態では、メッセージフレームの持続時間が１分にも達することがある。別の実施形態では、この持続時間は０．０１秒と短い。しかしながら、持続時間がさらに短いと、結局は、測位システムに含むことが可能なデバイスの数が限られることになる。
【００３０】
メッセージフレーム５０２は、複数のＴＤＭサイクル５０６を含む。一部の実施形態では、各ＴＤＭサイクル５０６中で、システム内の各デバイスが、メッセージの一部を含むＲＦ信号を送信する。このように送信された各々のデバイスからのメッセージは、メッセージフレーム５０２中のすべてのＴＤＭサイクルからのＲＦ信号が完了するまで、完了しない。ある好ましい実施形態では、各々のメッセージフレーム５０２は、８００個のＴＤＭスロットから成る。８００という数字は、それがさまざまな整数（たとえば、４、５、８、１０、１６、２０、２５、３２）で割り切れるので選ばれたものであり、これで、さまざまな数のデバイスを持つシシステム内のデバイスに対してＴＤＭスロットを等しく区分化することが可能となる。ある好ましい実施形態では、各々のＴＤＭサイクル５０６は８個のＴＤＭスロット５０８を含み、ＴＤＭスロットは各々がシステム内の８個のデバイスのそれぞれ１つに対して割り当てられる。デバイスはその割り当てられたＴＤＭスロット中でしかＲＦ信号を送信しない。
【００３１】
しかしながら、各々のデバイスがそのＴＤＭスロット５０８の持続時間全体にわたって送信するものとすると、異なったデバイスの送信間での干渉が発生することも考えられる。いかなるデバイスにおいても、ＲＦ信号の伝搬速度が有限であり、また、ローカル時間値（メッセージフレーム中の現在位置を決定するために用いられる）が不確かであるため、この潜在的な問題が発生する。ＲＦ信号の伝搬速度が有限であるため、所与のデバイスがＲＦ信号を送信した後のある時間にわたって、システムのデバイス同士間のスペースにＲＦ信号が存在することになる。したがって、あるデバイスがその割り当てスロットの正確に最後の時点で送信を停止すると、ＲＦ信号は、次のタイムスロットの開始後までには、他の全てのデバイスに達しないであろう。次のタイムスロットが割り当てられているデバイスはすでに送信を開始しているわけであり、したがって、干渉が発生する。同様にして、２つのデバイスのローカル時間値が正確に一致していないと、自身に割り当てられたＴＤＭスロットに現在の時間が属することを示すローカル時間値を持つ２つのデバイスが送信を開始すると、干渉が発生する。
【００３２】
システム内の２つのデバイスの送信が干渉する可能性を解消するため、一部の実施形態では、各々のＴＤＭスロット５０８は、ガード時間５１０と１０個のデータシンボル５１２とを備えている。ある好ましい実施形態では、ガード時間５１０の持続時間は、システム内の任意の２つのデバイス間のＲＦ信号の最大飛行時間の少なくとも２倍となっており、これで、別個のデバイスからの送信が決して重ならないことが保証される。一部の実施形態では、ガード時間５１０は、ＴＤＭスロット５０８の最初に位置している。代替例では、ガード時間の半分をＴＤＭスロット５０８の最初に、残りの半分をＴＤＭスロット５０８の最後に割り当てることも可能である。
【００３３】
情報が送信されるＴＤＭスロット５０８の部分は、ＴＤＭバースト５１４と呼ばれる。ある好ましい実施形態では、１つのＴＤＭバースト５１４は、１０個のデータシンボル５１２を含む。代替例では、これより多いまたは少ない数のデータシンボル５１２が各々のＴＤＭバースト５１４に含まれる。各々のデータシンボル５１２は、複数のチップ５１６を含む。チップはメッセージフレーム５０２中での時間の最小の論理時間区分である。ある好ましい実施形態では、チップは、キャリア信号の二位相偏移変調（ＢＰＳＫ）バージョンの一定鍵付き値（constant-keyed value）を含む。キャリア信号のキーイングはチップレートを基準としたあるレートで発生するが（The keying of the carrier occurs at a rate referred to as the chip rate）、これは１チップの持続時間に反比例する。この好ましい実施形態で用いられる特定的なＢＰＳＫ変調方式では、キャリア信号の位相は、論理値がハイ（１）かロー（０）かに対応して、それぞれ０°または１８０°だけシフトされる。本発明の別の実施形態では、これに限られないが、周波数シフトキーイング（ＦＳＫ）と四相位相変調（ＱＰＳＫ）を含む他の変調技法を用いて、キャリア信号の各々のチップを符号化してもよい。
【００３４】
ある好ましい実施形態では、各々のデータシンボル５１２は、考えられる４つの１１ビット長のＢａｒｋｅｒコードシーケンスの内の１つに対応する１１個のチップ５１６を含む。最初の２つのＢａｒｋｅｒコードシーケンス（１０１１０１１１０００とその論理的補数０１００１０００１１１）は「マスターデバイス」と呼ばれるデバイスによってしか送信されない。マスターデバイスは、システム内の全ての他のデバイスのローカル時間値をＴＤＭフレームを基準として同期化させる責任を持つ。これらのチップシーケンスを含むどの送信も、マスターデバイスから来たものと明瞭に解釈することが可能であり、これで、同期化というタスクが簡単なものとなっている。割り当てられたバーストにおいて、マスターデバイスは、バーストの各々のデータシンボル５１２中で２つのチップシーケンス、すなわち、論理レベルハイ（１０１１０１１１０００）と論理レベルロー（０１００１０００１１１）の内の一方を送信する。他の２つのＢａｒｋｅｒコードシーケンス（１０１０１１０００００とその論理的補数０１０１００１１１１１）はマスターデバイス以外のシステム内の全てのデバイスに割り当てられる。したがって、これらのコードシーケンスを含むどの送信をも、特定のデバイスから来たものであると明瞭に解釈することが可能である。マスターデバイス以外のデバイスは、バーストの各々のデータシンボル５１２中の２つのチップシーケンス、すなわち、論理レベルハイ（１０１０１１０００００）と論理レベルロー（０１０１００１１１１１）の内の一方を送信可能である。
【００３５】
別の実施形態では、Ｂａｒｋｅｒコード以外の擬似ランダム雑音（ＰＮ）コードを用いて、マスターデバイスと他のデバイスに対するチップシーケンスを決定する。ＧｏｌｄコードとＫａｓａｍｉコードは、当業者には周知の他のＰＮコードの例である。別の実施形態では、マスターデバイス用のチップシーケンスは他のデバイス用のそれを同じである。加えて、各々のデータシンボル中のチップの数は１１より多かったり少なかったりする。たとえば、ビット長が２、３、４、５、７、１１または１３のＢａｒｋｅｒシーケンスを用いる。さらに別の実施形態では、さまざまなビット長のＧｏｌｄシーケンス、Ｋａｓａｍｉシーケンス、Ｆｒａｎｋシーケンス、ＣｈｕシーケンスおよびＨｕｆｆｍａｎシーケンスが用いられる。固定した持続時間を持つデータシンボルの場合、シンボル当たりのチップ数が大きくなると、より大きい帯域幅が必要とされるが、到達時間の推定値が、したがって距離の推定値がより正確になる。シンボル当たりのチップの数が少なくなると、必要な帯域幅も減少するが、到達時間、したがって、距離の推定値の精度が落ちる。
【００３６】
次に、距離が、測位システム中のデバイスの、ＴＤＭメッセージフレームを基準として定義されたローカル時間値に対して測定された到達時間から決定される方法を説明する。図４は、システム内に３つのデバイスＤ１、Ｄ２、およびＤ３が存在する実施形態に従って、デバイス間でＲＦ信号を交換する動作を解説するタイミング図である。マスターデバイスであるＤ１は、メッセージフレーム中でマスターに割り当てられたＴＤＭバーストの適切な開始時間４０４−１でＲＦ信号４０２を送信する。メッセージフレームはまた、他の２つのデバイスのＴＤＭバーストの開始時間に対応する時間マーカー４０４−２と４０４−３を含む。ＲＦ信号４０２は、デバイスＤ２により推定されたメッセージフレーム中のマスターに割り当てられたバーストの開始時間４０８−１と同期した到達時間で、デバイスＤ２によって受信される。ＲＦ信号４０２の到達時間と開始時間４８０−１との、この同期性は、Ｄ１がマスターとして指定されている限り、デバイスＤ１とＤ２がどれだけの距離が離れていてもと生じる。これは、システム内のデバイスが、メッセージフレームのタイミングを推定する際に基づく初期化方式の結果であり、図１３と１４の説明と共に以下に説明する。システム内のデバイスは全て、初期化シーケンス中にマスターデバイスから特殊なデータシンボルを受信した時間に基づいて、メッセージフレームのタイミングを推定する。したがって、各々のデバイスのメッセージフレームのタイミングの推定値は、マスターデバイスと問題となっているデバイスとの間の飛行時間に等しい分量だけ遅延する。図４を参照すると、Ｄ３により推定されたメッセージフレーム４１２−１の開始時間は、Ｄ２により推定されたメッセージフレーム４０８−１の開始時間より後であり、これは、Ｄ３とマスター間の飛行時間がＤ１とマスター間の飛行時間より大きいことを示す。図２のＤ１、Ｄ２およびＤ３の相対的な位置は、図４に描かれたようなタイミングと首尾一貫する可能性があるシステム内のデバイスの位置のセットを表している。ＲＦ信号４０２は、デバイスＤ３により推定されたメッセージフレームの開始４１２−１と同期した到達時間でデバイスＤ３によって受信される。
【００３７】
Ｄ２は次に、Ｄ２により推定されたバーストの開始時間４０８−２で、ＲＦ信号４１２を送信する。Ｄ１は、Ｄ２に割り当てられたバーストの開始時間４０４−２より後でＲＦ信号４１２を受信する。Ｄ１でのＲＦ信号４１２の到達時間と、Ｄ２に割り当てられたバーストの開始時間４０４−２間の差は、到達時間Ｔ２1を画定する。Ｄ３は、Ｄ３により推定されたＤ２に割り当てられたバーストの開始時間４１２−２より早く、ＲＦ信号４１２を受信する。Ｄ３でのＲＦ信号４１２の到達時間と、Ｄ３により推定されたＤ２に割り当てられたバーストの開始時間４１２−２間の差は、別の到達時間Ｔ２３を画定する。
【００３８】
最終的には、Ｄ３は、Ｄ３により推定されたＤ３に割り当てられたバーストの開始時間４１２−３でＲＦ信号４１８を送信する。Ｄ１は、Ｄ３に割り当てられたバーストの開始時間４０４−３より後で、ＲＦ信号４１８を受信する。Ｄ１でのＲＦ信号４１８の到達時間と、Ｄ３に割り当てられたバーストの開始時間４０４−３間の差は、別の到達時間Ｔ３１を画定する。Ｄ２は、Ｄ２により推定されたＤ３に割り当てられたバーストの開始時間４０８−３より後で、ＲＦ信号４１８を受信する。Ｄ２でのＲＦ信号４１８の到達時間と、Ｄ２により推定されたＤ３に割り当てられたバーストの開始時間４０８−３間の差は、別の到達時間Ｔ３２を画定する。
【００３９】
双方向距離を測定するためには、システム内のデバイスは、システム内の他のデバイスからのＲＦ信号の到達時間の自身による測定値のほかに別の情報にアクセスする必要がある。したがって、一部の実施形態では、ＲＦ信号４０２は、以前のメッセージフレーム中のデバイスＤ１でのＲＦ信号４１２と４１８の到達時間を表す情報を含む。同様に、ＲＦ信号４１２は、以前のメッセージフレーム中のデバイスＤ２でのＲＦ信号４０２と４１８の到達時間を表す情報を含む。ＲＦ信号４１８は、以前のメッセージフレーム中のデバイスＤ３でのＲＦ信号４０２と４１２の到達時間を表す情報を含む。これで、一部の実施形態では、システム内の各々のデバイスは、システム内の他のデバイスの全てに対して自身からの距離を測定することが可能となる。
【００４０】
Ｄ１はタイミングマスターであるので、Ｄ１による送信開始と、Ｄ２がこのメッセージの受信を開始すると期待する時間との間には、実質的に遅延はない（たとえば、Ｔ12≫０）。しかしながら、Ｄ２によるＲＦ信号４１２の送信開始と、Ｄ１が受信を開始すると期待する時間４０４−２との間に経過する時間は、２つのデバイス間の飛行時間の実際には２倍であり、一方の飛行時間がフレームの開始のＤ２の遅延したマークとなり、他方の飛行時間がＤ２の送信がＤ１に到達するのにかかる伝播時間をもたらすものである。したがって、Ｄ１とＤ２の間の距離は容易に次のように推定される。
ｃＴ２１／２（式）
完全に類似的に解析すると、Ｄ１とＤ３の間の距離は次のように推定されることになる。
ｃＴ３１／２（式）
最終的には、Ｄ１とＤ２の間の距離は、Ｄ２とＤ３の間で交換されるメッセージの平均到達時間を用いて次にように推定することが可能である。
ｃ（Ｔ３２＋Ｔ２３）／４（式）
このように、Ｄ３とＤ２の間のクロックオフセット誤差は、図２Ａを参照して上記したように、距離の計算になんら誤差をもたらすものではない。
【００４１】
上記した例は３つしかデバイスを含まないものであるが、この方式は任意の数のデバイスを有する測距システムや測位システムに応用可能である。位置が既知であるデバイスもあれば、未知であるデバイスもある。全てのデバイス対間の距離を決定すれば、それは、あるデバイスの位置を、位置が既知である他のデバイスを基準として決定するに十分な情報である。たとえば、本明細書にその全体が参照して組み込まれる、プエルトリコのＳａｎ  Ｊｕａｎでのコンピュータ科学の基礎に関する３２回年次シンポジウムの１９９１年発行の会議録中の４１４〜４２３ページのＨ．  ＥｄｅｌｓｂｒｕｎｎｅｒとＴ．Ｓ．  Ｔａｎによる「ミニマックス長さ三角測定の二次時間アルゴリズム」を参照されたい。加えて、グローバルポジショニングシステム（ＧＰＳ）の当業者には公知である受信機自律型完全性モニタ（ＲＡＩＭ）などの技法を用いて、推定された距離のさまざまなサブ集合を選択したり、システム内の１つ以上のデバイスの相対的な位置を測定したり、測定された位置を、距離の他のサブ集合を用いて測定された位置と比較したり、システム内の全てのデバイスの相対的位置の最適な推定値を獲得したりする。本明細書にその全体が参照して組み込まれる、米国ネバダ州ラスベガスでのＩＥＥＥの測位とナビゲーションに関するシンポジウムのＦ．  ｖａｎ  ＤｉｇｇｅｌｅｎとＡ．  Ｂｒｏｗｎによる１９９４年発行「ＧＰＳ  ＲＡＩＭの数学的側面」の７２２〜７３８ページを参照されたい。
【００４２】
これで分かるように、距離を正確に測定するには、到達時間を正確に測定する必要がある。屋内工事応用分野を含むローカル測位システムの一部の応用分野では、２つ以上の伝搬経路をたどって送信されたメッセージが到達すると、双方向測距方式が基盤とする直接的な視野方向経路を介してのメッセージの到達時間の測定値に誤差が入り込みかねない。次に、受信信号中のこのいわゆる多経路干渉を抑制し、それによってメッセージの到達時間を正確に推定する方法を解説する。これは、タイムフレームにわたって受信メッセージを積分するウインドウ化フィルタ（windowing filters）によって、受信したメッセージを処理することによって達成される。図６を参照すると、キャリア積分ウインドウ６０４とコード積分ウインドウ６０６が、一部の実施形態ではウインドウ化フィルタ中に用いられている。コード積分ウインドウ６０６は、反対符号積分領域６１０および６１２と、早／遅（early-late）積分領域６０８を含む。受信したメッセージの一部として、チップ遷移（chip transition）６０２−１がウインドウの全体幅の半分より遅い時間に到達すると、ウインドウと受信信号レベルの積を積分したものは、実質的にゼロの大きさを持つ値となる。他方、図６に示すようにチップ遷移６０２−１がウインドウの最後より前に到達すると、ウインドウと受信信号レベルの積の積分は、ウインドウの中心とチップ遷移との間の遅延時間を表す値となる。本発明の一部の実施形態では、受信メッセージを送信したデバイス中のローカルクロックと略同期しているステアドクロックがウインドウフィルタにとって利用可能である。したがって、ウインドウの中心がステアドクロック信号のエッジと整列すると、ウインドウと受信信号の積の積分の結果は、ステアドクロックと受信メッセージを送信するデバイスのクロックとの間の時間オフセットを示すが、これには多経路干渉はまったく存在しない。以降「Ｗウインドウ化積分」と呼ぶこのようなコード積分ウインドウ６０６を使用するとその結果、十分な遅延の多経路チップ遷移（multipath chip transitions of sufficient delay）は、ウインドウと受信信号の積の積分の結果にはなんら影響しない。この結果を、コード追跡ループに対する補正入力として用いることが可能であり、したがって、チャネルから有効に推定される。ＧＰＳ信号のＷウインドウ化積分は、参照して全体をここに組み込む、「グローバルポジショニングシステム信号を復調するシステムと方法」という米国特許第６，１２５，１３５号に説明されている。
【００４３】
キャリア積分ウインドウ６０４は、違った方法で多経路干渉を排除する。ウインドウ６０４と受信メッセージの積の積分動作は、ウインドウ６０４の幅で決まるタイムフレームにわたって実行される。受信したメッセージの一部として、チップ遷移６０２−２がウインドウの全体幅の半分より遅く到達すると、ウインドウと受信信号レベルの積を積分したものは、実質的にゼロとは異なった大きさを持つ値となる。したがって、たとえウインドウ６０４の立ち上がりエッジが真のチップ遷移６０２と整列したとしても、多経路誤差はどの積分の結果にも影響する。しかしながら、拡散ＰＮコードシーケンスは、隣接するコード値の正確に半分が同じとなるように設計されている。したがって、正の多経路誤差と負の多経路誤差が同じだけ存在し、同じ大きさをもつ全ては固定された多経路軌跡のものである（all of the same magnitude for a fixed multipath trajectory）。つぎに、積分の結果を、たとえば、チップ長よりかなり大きい時定数を有するダイナミックスを持つフェーズロックドループに対する入力として用いると、相対する誤差が互いに打ち消しあって、キャリアの位相を追跡するループの機能にはなんら影響しない。このようにキャリア積分ウインドウ６０４を用いることを、以降「Ｑウインドウ化積分」と呼ぶ。
【００４４】
一部の実施形態では、Ｗウインドウ化積分とＱウインドウ化積分の双方を、ウインドウタイムフレームのシーケンス（または、等価的にウインドウ幅）を使用して、複数回用いることで、到達時間の測定値の精度を向上させる。最初に初期化されたとき、あるデバイスのステアドクロック信号は受信メッセージ中でチップ遷移とは正確には整列しない。したがって、Ｗウインドウ化積分とＱウインドウ化積分双方において大きいウインドウ幅を用いて、視野経路上で受信されたメッセージ中のチップ遷移が検出されることを保証するようにしなければならない。しかしながら、所与のデバイスからメッセージを受信したらその都度、クロックステアリング回路３１８（図３）中の調整値が更新されてシンセサイザ３１４に提供され、その結果、ステアドクロック信号がより正確に受信メッセージ中のチップ遷移と整列することになる。したがって、次いで、狭いウインドウタイムフレームをウインドウ化フィルタで用いても、視野経路上で受信されたメッセージ中のチップ遷移を検出しそこなう可能性はない。ウインドウ化フィルタ中で狭いタイムフレームを用いると、その結果、より多くの多経路信号が拒絶されることになるが、それは、排除可能な最小遅延時間（およびそれに対応する経路長）が減少するからである。一部の実施形態では、Ｗウインドウ化積分は、２００ｎｓ、４０ｎｓ、５ｎｓおよび１ｎｓから選ばれたタイムフレームにわたって実行される。このような実施形態における対応するＱウインドウ化積分は、１００ｎｓ、２０ｎｓ、２．５ｎｓおよび０．５ｎｓから選ばれたタイムフレームにわたって実行される。Ｑウインドウ化積分とＷウインドウ化積分の双方の場合について、採用されるタイムフレームのシーケンスは、一部の実施形態では単調に減少するわけではない。たとえば、Ｑウインドウ化積分は１００ｎｓという期間にわたって一度実行され、次に、２０ｎｓという期間にわたって実行される。しかしながら、キャリアクロックが最初のタイムフレームから２回目のタイムフレームに行く際に失われた場合、次のＱウインドウ化積分は１００ｎｓというタイムウインドウにわたって実行される。
【００４５】
本発明にしたがって設計された一部のデバイスにウインドウ化積分がどのように組み込まれるかを理解するために、図７にシステムのある実施形態中の１つのデバイスのウインドウ化積分／ダンプ回路３１０（図３）を示す。図７を参照すると、ウインドウ化積分／ダンプ回路３１０は、２つのローパスフィルタ（ＬＰＦ）７０８と、２つのＱウインドウ化積分／ダンプ回路（ＱＩ＆Ｄ）７０２と、２つのＷウインドウ化積分／ダンプ回路（ＷＩ＆Ｄ）７１０と、６個のアナログ−デジタルコンバータ（Ａ／Ｄ）７０６とを含む。ベースバンド信号３０９の同相成分Ｉはローパスフィルタ７０８−１によってフィルタリングされ、サンプリング期間に略等しい持続時間を持つウインドウ上で成分Ｉが積分される。次に、ローパスフィルタ７０８−１のフィルタリングされた出力７１２は、アナログ−デジタル（Ａ／Ｄ）コンバータ７０６−２によってサンプリングされ、その結果、サンプルデータストリームＩＡＤが得られる。Ａ／Ｄコンバータ７０６−２は、ステアドクロック３１２を利用して、このサンプリングを実行する。同様に、ベースバンド信号３０９の直角位相成分Ｑがローパスフィルタ７０８−２によってフィルタリングされ、フィルタリングされた出力７２２がＡ／Ｄコンバータ７０６−５によってサンプリングされ、その結果、サンプリングされたデータストリームＱADが得られる。
【００４６】
同相成分Ｉはまた、Ｑ積分／ダンプ（ＱＩ＆Ｄ）回路７０２−１で積分され、Ａ／Ｄ７０６−１でサンプリングされて、サンプルデータストリームＩQが得られる。ＱＩ＆Ｄ回路７０２−１は、入ってくる信号をチップ遷移アーム３２２に対して定義されたタイムフレームにわたって積分する。同相成分Ｉもまた、Ｗ積分／ダンプ（ＷＩ＆Ｄ）回路７１０−１によってチップ遷移アーム３２２で積分され、Ａ／Ｄ７０６−３でサンプリングされ、その結果、サンプルデータストリームＩＷが得られる。ＱＩ＆Ｄ回路７０２とＷＩ＆Ｄ回路７１０により用いられるタイムフレームは、制御信号７０４によって制御される。一部の実施形態では、制御信号７０４はマイクロプロセッサ３８８（図３）によって提供され、これで、期間シーケンスにわたって複数回実行される積分の幅とすることが可能となる。この積分は、異なった持続時間を持つウインドウタイムフレームから成るシーケンス中に生じる。同様に、直角位相成分Ｑは、ＱＩ＆Ｄ回路７０２−２で、チップ遷移アーム３２２に対して定義されたタイムフレームにわたって積分され、Ａ／Ｄ７０６−４でサンプリングされて、サンプルデータストリームＱQが得られる。直角位相成分Ｑはまた、ＷＩ＆Ｄ回路７１０−２で積分され、Ａ／Ｄ７０６−６でサンプリングされて、サンプルデータストリームＱＷが得られる。
【００４７】
デバイス中の受信機が初期化された時点では、ステアドクロック信号は受信信号中でチップ遷移と整列していない。したがって、ウインドウ化フィルタで処理されていないサンプルデータストリームＩADとＱADを用いるのが好ましい。これに対処するため、デバイスは２つの別個の動作モードで動作し、一方のモードは受信メッセージを初期に獲得しようとするもの（ＡＣＱ）であり、他方はキャリア周波数の位相とローカルクロック信号に対するチップエッジの遅延時間との双方を追跡しようとするもの（ＴＲＫ）である。この動作モードの選択は、一般には、マイクロプロセッサ（たとえば図３のマイクロプロセッサ３３８）の制御下にある。
【００４８】
図８を参照すると、相関／角度回転回路３２６は、制御信号８２０で決定されるＡＣＱモードまたはＴＲＫモードで動作可能である。相関／角度回転回路３２６は、角度ローテータＲＯＭテーブル／演算ロジック８１０、および複数のスイッチ８０６と、１チップ加算器８０８と、１シンボル加算器８１２とを含む。ＡＣＱ動作モードでは、データストリームＩＡＤは、乗算器８２２−１によってオンタイムＰＮコード８０２と乗算される。結果として得られるデータストリーム８１４−１は、スイッチ８０６−１によってワンチップ加算器８０８−１に送られて、出力信号ＸＩが生成される。同様に、データストリームＱＡＤは乗算器８２２−２によってオンタイムＰＮコード８０２と乗算され、スイッチ８０６−２によってワンチップ加算器８０８−２に送られて、出力信号ＸＱが生成される。
【００４９】
ＡＣＱモードでは、データストリームＩＡＤはまた、乗算器８２２−３によって早／遅ＰＮコード８０４と乗算され、スイッチ８０６−３によってワンチップ加算器８０８−３に送られて、出力信号ＹＩが生成される。加えて、データストリームＱＡＤはまた、乗算器８２２−４によって早／遅ＰＮコード８０４と乗算され、スイッチ８０６−４によってワンチップ加算器８０８−４に送られて、出力信号ＹＱが生成される。
【００５０】
システム内の他の所与のデバイスから複数のメッセージを受信すると、デバイスは一般的にＴＲＫモードに入る。ＴＲＫモードでは、データストリームＩＱは、乗算器８２２−５によってオンタイムＰＮコード８０２と乗算される。結果得られるデータストリーム８１６−１は、スイッチ８０６−１によってワンチップ加算器８０８−１に送られて、出力信号ＸＩが生成される。同様に、データストリームＱＱは、乗算器８２２−６によってオンタイムＰＮコード８０２と乗算され、スイッチ８０６−２によってワンチップ加算器８０８−２に送られて、出力信号ＸＱが生成される。データストリームＩＷは、乗算器８２２−７によって早／遅ＰＮコード８０４と乗算され、スイッチ８０６−３によってワンチップ加算器８０８−３に送られて、出力信号ＹＩが生成される。加えて、データストリームＱＷは、乗算器８２２−４によって早／遅ＰＮコード８０４と乗算され、スイッチ８０６−４によってワンチップ加算器８０８−４に送られて、出力信号ＹＱが生成される。
【００５１】
どちらの動作モードでも、角度回転読み出し専用記憶装置（ＲＯＭ）テーブル／演算ロジック８１０は同じように動作する。同相オンタイム回転出力（inphase on-time rotated output）ＸＣは、１つ以上のメモリレジスタの内容をルックアップし、加算、乗算または他の算術演算を実行して、その結果を出力することによって生成される。アクセスされるレジスタのアドレスは、ＮＣＯ位相３３０の値によって決まる。ＮＣＯ位相３３０は、ローカルＲＦ発振器３０８が発生した信号と受信メッセージのキャリア周波数成分との間の位相差のオフセットの推定値を表す。これらのアドレスに含まれる値には、ｃｏｓ（θ）とｓｉｎ（θ）があり、ここでθはＮＣＯ位相３３０である。後続の算術演算によって出力が生じるが、これはＸＣ＝ＸＩｃｏｓ（θ）−ＸＱｓｉｎ（θ）である。同相オンタイム回転出力ＸＣを次に、１シンボル加算器８１２−１で処理して、その結果、相関された同相オンタイム出力ＲＣＩが得られる。同様に、直角位相回転出力ＸＳは、ＸＩ、ＸＱおよびＮＣＯ位相３３０（θ）の値によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって生成される。このアドレスに含まれる値は、ＸＳ＝ＸＱｃｏｓ（θ）＋ＸＱｓｉｎ（θ）に等しい。直交位相オンタイム回転出力ＸＳを、次に１シンボル加算器８１２−２で処理して、その結果、相関された直交位相オンタイム出力ＲＳＩが得られる。
【００５２】
同様に、同相早／遅回転出力ＹＣは、ＹＩ、ＹＱおよびＮＣＯ位相によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって生成される。このアドレスに含まれる値は、ＹＣ＝ＹＩｃｏｓ（θ）−ＹＱｓｉｎ（θ）に等しい。同相早／遅回転出力ＹＣを、次に１シンボル加算器８１２−３で処理して、その結果、相関された同相早／遅回転出力ＤＣ１が得られる。同様に、直交位相早／遅回転出力ＹＳは、ＹＩ、ＹＱおよびＮＣＯ位相によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって発生される。このアドレスに含まれる値は、ＹＳ＝ＹＱｃｏｓ（θ）＋ＹＩｓｉｎ（θ）に等しい。直角位相早／遅回転出力ＹＳを、次に１シンボル加算器８１２−４で処理して、その結果、相関された直角位相早／遅出力ＤＳ１が得られる。
【００５３】
ステアドクロック信号３１２（図３）の生成を説明する。図９を参照すると、シンセサイザ３１４は、位相シフター９０２と、デジタル−アナログコンバータ９０６と、アナログ乗算器９０８と、アナログ加算器９１０と、リミッタ９１２とを含む。システムのデジタルサンプリングレート対応する周波数をもつ正弦波信号が、ローカル発振器３２０で生成される。位相シフター９０２は、正弦波信号の遅延バージョン９１４−１、オリジナルの信号から９０°位相がずれた信号、を生成する。シンセサイザ３１４は、クロックステアリング回路３１８からステアリング値（Ｓｎ、Ｃｓ）３１６を受信する。デジタル−アナログコンバータ９０６−１はデジタルステアリング値Ｃｓをアナログ値９１６−１に変換する。乗算器９０８−１は、アナログ値９１６−１に遅延した正弦波信号９１４−１を乗算して、重み付け遅延正弦波９１８−１を生成する。同様に、デジタル−アナログ（Ｄ／Ａ）コンバータ９０６−２は、デジタルステアリング値Ｓｎをアナログ値９１６−２に変換する。乗算器９０８−２は、アナログ値９１６−２に正弦波信号９１４−２を乗算して、重み付け正弦波９１８−２を生成する。加算器９１０は、重み付け正弦波９１８−２と重み付け遅延正弦波９１８−２を加算して、ステアド正弦波９２０を生成する。最終的に、リミッタ９１２がステアド正弦波を処理してステアドクロック３１２を生成し、これは矩形波信号である。
【００５４】
図１０に、クロックステアリング回路３１８の詳細を示す。クロックステアリング回路３１８は、複数のチャネルモジュール３１９を含む。ある好ましい実施形態では、チャネルモジュール３１９の数は７であり、これはシステム内の３００以外のデバイスの数である。別の実施形態では、チャネルモジュール３１９の数はこれ以上であったり以下であったりし、これで測位システム内のさまざまな数のデバイスに対処している。各々のチャネルモジュール３１９は、位相オフセットアキュムレータ１００２を含んでおり、これはさらに複数のレジスタ１００３に区分化される。レジスタ１００３は、システム内のデバイスと他のそれぞれのデバイスとの間のローカル時間値の差を表す値を格納する。レジスタ１００３−１は、複数のＴＤＭサイクルを表す情報を含む。同様に、レジスタ１００３−２、１００３−３および１００３−４は、それぞれ、ＴＤＭスロット、バーストおよびチップの整数値を表す情報を含む。サブチップレジスタ１００３−５は、デジタルサンプリング期間の整数値を表す情報を含む。サブサンプルレジスタ１００３−６は、固定した期間の整数値を表す情報を含み、この期間はデバイスのデジタルサンプリング期間より小さい。
【００５５】
ある好ましい実施形態では、レジスタ１００３−１中の情報は、１００を法とした現在のサイクルの番号、すなわち、フレーム当たりのサイクル数である。現在のサイクル番号を１００を法とした整数値として表すことによって、この数を表すのに必要とされるビットの数が最小化される。同様に、ある好ましい実施形態では、スロットレジスタ１００３−２中の情報は、８を法としたスロットの数、すなわち、ＴＤＭスロット当たりのバーストの数である。同じような考え方をある好ましい実施形態で応用して、レジスタ１００３−３と１００３−４中の情報を表すのに必要なビットの数を最小化している。ある好ましい実施形態では、システムのデジタルサンプリングレートは１００ＭＨｚであり、チップ当たり１０個のサンプルが存在する。したがって、この実施形態では、レジスタ１００３−５は、１０を法としたチップの数、すなわち、チップ当たりのサンプルの数を表す情報を含む。さらに、この実施形態では、サブサンプルレジスタ１００３−６は、１０ｎｓに等しい期間の整数値を表す情報を含む。
【００５６】
総合すると、レジスタ１００３中の情報は、デバイスと他の１つのデバイスとの間のローカル時間値の差を表す。このデバイスのローカル時間値は、ローカル時間カウンタ１００８に格納される。ローカル時間カウンタ１００８はアップカウンタであって、システムクロック１００９で定められるレートでインクリメントする。システムクロック１００９は、ローカル発振器３２０からの信号をとって、それを矩形波を生成するためにリミッタ１００８で処理することによって生成される。くわえて、ローカル時間カウンタ１００８は複数のレジスタに区分化される。サブチップレジスタ１０１０−５は、固定期間の倍数値を表す情報を含む。固定期間はローカル発振器３２０の周期に等しく、また、位相オフセットアキュムレータ１００２が採用する固定期間と同じである。システムクロック１００９のサイクル毎に、ローカル時間基準１００８がサブチップレジスタ１０１０−５中の値を１つだけ増し、最終的にはこの値は１チップ中の固定期間の数に等しくなる。サブチップレジスタ１０１０−５中の値が１チップ中の固定期間の数に等しくなると、サブチップレジスタ１０１０−５中の値はゼロに設定され、チップレジスタ１０１０−４中の値が１つだけ増す。チップレジスタ１０１０−４中の値がバースト当たりのチップ数に等しくなると、その値はゼロに設定されて、バーストレジスタ１０１０−３中の値が１つ増す。同様に、バーストレジスタ１０１０−３中の値がＴＤＭスロット当たりのバースト数に等しくなると、その値はゼロに設定されて、スロットレジスタ１０１０−２中の値が１だけ増す。スロットレジスタ１０１０−２中の値がフレーム当たりのＴＤＭスロット数に等しくなると、その値はゼロに設定されて、サイクルレジスタ１０１０−１中の値が１つ増す。ＴＤＭサイクルの整数値を表すサイクルレジスタ１０１０−１中の値がメッセージフレーム中のサイクル数に等しくなると、その値はゼロに設定される。総合すると、レジスタ１０１０の内容は、現在のデバイス３００で推定されたＴＤＭメッセージフレームに対するローカル時間値を表す。
【００５７】
チップレジスタ１０１０−４の内容ＣTは、ＰＮルックアップテーブル１０１０を用いてＰＮコード３５４を生成するために使用される。ＰＮルックアップテーブル１０１４はレジスタの内容を出力するが、そのアドレスは、ＣTで与えられる現在のバースト中の現在のチップの数に基づいて計算される。ある好ましい実施形態では、ＰＮルックアップテーブル１０１４は、デバイス３００がマスターデバイスであるかスレーブデバイスであるかによって、２つの１１ビット長ＢａｒＫｅｒシーケンスの内のどちらか一方を表すチップのシーケンスを生成する。
【００５８】
ローカル時間値の内容とを表すローカル時間基準１００８と、ローカル時間値とシステム内の別のデバイスのローカル時間値との差を表す位相オフセットアキュムレータ１００２とが加算されて、他のそれぞれのデバイスのローカル時間の推定値が生成される。この目的のため、全加算器１０１２−１は、サブチップレジスタ１００３−５からの値ＳＣＮとサブチップレジスタ１０１０−５からの値ＳＣＴとを加算して、サブチップＳＣＬの調整された推定値を生成する。この加算による桁上げは全加算器１０１２−２に提供され、この全加算器はチップレジスタ１００３−４からの値ＣＮとチップレジスタ１０１０−４からの値ＣＴとを加算して、チップＣＬの調整推定値を生成する。この加算による桁上げは全加算器１０１２−３に提供され、この全加算器はバーストレジスタ１００３−３からの値ＢＮとバーストレジスタ１０１０−３からの値ＢＴとを加算して、バーストＢＬの調整炭推定値を生成する。この加算からの桁上げは全加算器１０１２−４に提供され、この全加算器はスロットレジスタ１００３−２からの値ＳＮＮとスロットレジスタ１０１０−２からの値ＳＮＴとを加算して、スロット番号ＳＮＬの調整推定値を生成する。
【００５９】
値ＣＬとＢＬは、それぞれ、受信したＲＦ信号中のチップ番号とバースト番号の最良の推定値を表す。これらを用いて、ＲＦ信号の受信と復調に必要とされる複数の信号が生成される。ＰＮルックアップテーブル１０１６は、ＣＬとＢＬの双方に依存するアドレスを持つレジスタの内容を出力することによって、ＰＮコード３２８を生成する。ある好ましい実施形態では、ＰＮルックアップテーブル１０１６は、現在のバーストに対応する送信側デバイスがマスターであるかスレーブであるかによって、２つの１１ビット長Ｂａｒｋｅｒシーケンスの内のどちらか一方を表すチップのシーケンスを生成する。ＰＮコード３２８は、次に、遅延１０１８によって１チップだけ遅延される。ＰＮコードの遅延バージョン１０２０とＰＮコード３２８は排他的論理和ゲート１０２２で比較されて、チップ遷移アーム３２２を生成する。遅延バージョンで表される現在のチップと前のチップが別々である場合にだけ、チップ遷移アーム３２２がアサートされる。最後に、位相オフセットアキュムレータ１００２のサブサンプルレジスタ１００３−６の内容が、デジタル−アナログルックアップテーブル１００４と１００６によって処理されて、それぞれデジタルステアリング値ＳｎとＣｓを生成する。
【００６０】
図１１を参照すると、キャリアループ３４６の詳細な動作が図示されている。相関同相オンタイム出力ＲＣ１と相関直角位相オンタイム出力ＲＳ１とは、逆拡散信号３３２の一部として相関／角度ローテータ３２６（図３）によって提供される。ロック検出サブモジュール１１０２は、自乗法則増幅器（square-law amplifiers）１１０４および１１０６と、加算器１１０８と、デジタル積分器１１１２とを含む。自乗法則増幅器１１０４はＲＣ１を処理して、単極の二進出力データストリームを生成する。同様に、自乗法則増幅器１１０６はＲＳ１を処理し、その結果得られる単極の二進出力ストリームを、自乗法則（square law）増幅器１１０４で生成されたそれから加算器１１０８で減算する。次に、この現在の結果をデジタル積分器１１１０で合算して、キャリアロック検出信号１１１４を生成する。デジタル積分器１１１０は、マイクロプロセッサ３３８からのＬ値１１１２を利用して、入力データストリーム中のシンボルをどれだけ加算するかを決定する。大きいＬ値（２つ以上のシンボルに相当する）の使用することで、時間と共にキャリアロック検出１１１４の値が平滑化される。その結果、低値のキャリアロック検出１１１４は、キャリアループ３４６によるキャリア位相ロックの損失を示すものとして、正確に解釈することが可能となる。
【００６１】
ローカルＲＦ発振器３０８と受信メッセージのキャリア成分間の周波数の差と位相の差を補償するため、一部の実施形態は、自動周波数制御（ＡＦＣ）回路を含む。図１１を参照すると、相関同相オンタイム出力ＲＣ１は、１シンボルだけ遅延１１４０によって遅延されて、双方の信号がＡＦＣ周波数弁別器１１４４に提供される。同様に、相関直角位相オンタイム出力ＲＳ１は、１シンボルだけ遅延１１４２によって遅延されて、双方の信号がＡＦＣ周波数弁別器１１４４に提供される。ＡＦＣ周波数弁別器１１４４は、分量ＲＣ１（ＲＳ１−ＲＳ１Ｄ）−ＲＳ１（ＲＣ１−ＲＣ１Ｄ）に比例する誤差信号１１４６を生成する。ここで、ＲＣ１ＤとＲＳ１Ｄは、それぞれＲＣ１とＲＳ１の遅延バージョンである。分量（ＲＳ１−ＲＳ１Ｄ）と（ＲＣ１−ＲＣ１Ｄ）はその大きさが、それぞれ信号ＲＣ１とＲＳ１のチップ内での変化率に比例する。ローカル発振器の周波数が受信したＲＦ信号のそれと異なる場合、ＲＣ１とＲＳ１は所与のチップ内でも一定ではなく、また、分量（ＲＳ１−ＲＳ１Ｄ）と（ＲＣ１−ＲＣ１Ｄ）は非ゼロであり、非ゼロ誤差信号１１４６が生成される。誤差信号１１４６は、乗算器１１４８でチャネル選択信号Ｓｉを用いてゲーティングされ（Error signal 1146 is gated by multiplier 1148 with channel select signals Si）、利得Ｋ３を持つ増幅器１１５０で増幅される。マルチプレクサ１１５２は、２つの動作モード（一方では誤差信号１１４６が位相の推定に利用され、他方では利用されない）を可能とする働きをする。マイクロプロセッサから提供されるＭＵＸ制御信号１１５３は、増幅器１１５０の出力か一定値ゼロかを選択する。ＡＦＣ誤差信号３４３の結果は、一部の実施形態では、ＰＬＬ／フィルタブロック３４０（図３）に送られる。一部の実施形態では、マイクロプロセッサ３３８はＭＵＸコントロール１５３を設定して、キャリアロック検出信号１１１４がアサートされた場合にだけ一定値０入力を選択するようにさせる。別の実施形態では、ＭＵＸコントロール１１５３の値を選択する他の基準を用いてもよい。
【００６２】
キャリアループ３４７が提供する主要な機能性は、θ、すなわち、ローカルＲＦ発振器３０８と受信メッセージのキャリア成分間の位相差を、信頼性高く推定することである。一部の実施形態では、二次コスタスループをこの目的のために用いる。相関同相オンタイム出力ＲＣ１は、シグナム（signum）ブロック１１２０で処理される。シグナムブロック１１２０の出力は、ＲＣ１の極性次第で、極性が反対の２つの値の内の一方となる。ミクサ１１２２は、シグナムブロック１１２０の出力に相関直角位相出力ＲＳ１を乗算する。ローカルＲＦ発振器とメッセージのキャリア間の位相差が小さければ、ＲＳ１≫ｓｉｎ（θ）である。
【００６３】
ミクサ１１２２の出力は次に、ミクサ１１２４を介してチャネル選択信号Ｓｉによってゲーティングされる。ミクサ１１２４の出力は次に、コスタスループの一次部分中を通過して、デジタル乗算器１１２６で利得Ｋ１を乗算される。ミクサ１１２４の出力はまた、コスタスループの二次部分で処理される。ミクサ１１２４の出力は、デジタル乗算器１１２８中で利得Ｋ２により乗算されて、その結果が加算器１１３０に渡される。加算器１１３０はまた、入力として、アキュムレータ１１３２の現在値を受信する。アキュムレータ１１３２は、加算器１１３０の出力を入力として受信して、これで閉ループが完成する。アキュムレータ１１３２の出力は、この閉ループのおかげで、デジタル乗算器１１２８の出力のローパスフィルタリングバージョンである。アキュムレータ１１３２の出力とデジタル乗算器１１２６の出力とは、加算器１１３４で加算され、その結果は加算器１１５４でＡＦＣ誤差３４３と加算される。
【００６４】
加算器１１５４の出力は、アキュムレータ１１６０の出力と一緒に加算器１１５８に供給される。アキュムレータ１１６０は、その入力として、加算器１１５８の出力を取る。このように形成された閉ループは、別のローパスフィルタとして機能して、ＮＣＯ位相３３０から遷移誤差を除去する。ＮＣＯ位相３３０は、相関／角度回転回路３２６によって用いられることを想起されたい。
【００６５】
図１２を参照すると、ＰＬＬ／フィルタ３４０は複数のチャネルモジュール３４１を含み、モジュールはその各々がフェーズロックドループ（ＰＬＬ）を含み、これで、ステアドクロック信号中のエッジと他のデバイスの内の１つのデバイスから受信されたメッセージ中のエッジとの間の時間差を推定する。一部の実施形態では、チャネルモジュールの数は測位システム内のデバイスの数以上であり、したがって、各々のＰＬＬはシステム内の他のデバイスの内のそれぞれ１つにロックされたまま留まることが可能である。別の実施形態では、単一のＰＬＬが用いられる。
【００６６】
ＰＬＬ／フィルタ３４０は、ＴＲＫモードとＡＣＱモードの双方で動作可能である。動作モードは、２つの入力１２１２と１２２２のどちらがマルチプレクサ１２０４によってチャネルモジュール３４１に渡されるかを決定する、マイクロプロセッサから受信されたモード制御信号１２０２で決定される。
【００６７】
ＡＣＱモードでは、キャリア位相がロックされることは想定されていないので、同相（ＲＣ１、ＤＣ１）と直交位相（ＲＳ１、ＤＳ１）の相関信号の双方を用いて、チャネルモジュール３４１に対する入力を決定する。ＲＣ１は乗算器１２１４によってＤＣ１と混合され、その結果は加算器１２１８に入力される。ステアドクロック信号中のエッジと複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジ間に差がない場合、乗算器１２１４の出力はゼロに非常に近い値となる。同様に、ＲＳ１とＤＳ１は乗算器１２１６により混合され、その結果は加算器１２８１に入力される。同相信号と直角位相信号の双方を混合することによって、キャリア位相ロックが欠如するという影響が緩和され、これで、チャネルモジュール３４１への入力を、ＲＣ１≫０、ＤＣ１≫０の場合でさえも生成することが可能となる。最後に、ＡＣＱモードでは、この混合の合計結果が加算器１２１８の出力から取って、マルチプレクサ１２０４に入力され、ここで、ＡＣＱモードにあるチャネルモジュール３４１に渡される。
【００６８】
一方、ＴＲＫモードでは、キャリア位相がロックされることが想定されている。したがって、同相信号ＲＣ１とＤＣ１だけが用いられる。相関同相オンタイム信号ＲＣ１は、シグナムブロック１２０６で処理される。シグナムブロックの出力は、ＲＣ１の極性次第で、極性が反対の２つの値の内の一方をとる。ミクサ１２０８は、シグナムブロック１２０８の出力に早／遅相関信号ＤＣ１を乗算する。結果として得られる信号１２１２は、マルチプレクサ１２０４に入力され、ここでＴＲＫモードにあるチャネルモジュール３４１に渡される。
【００６９】
どちらの動作モードでも、チャネルモジュール３４１はフェーズロックドループを組み込む。フェーズロックドループに対する入力は、システム内の他のそれぞれのデバイスからのメッセージを受信中である場合のタイムスロット中では、非ゼロ値をとることしか許されない。このようなタイムスロット中では、モジュール選択信号Ｓｉがアサートされて、マルチプレクサ１２０４の出力が乗算器１２３０を通過することが許容される。フェーズロックドループに対するゲーティングされた入力は、デジタル乗算器１２３４の利得Ｋ１で増幅される。フェーズロックドループに対するゲーティングされた入力は、デジタル乗算器１２４０の利得Ｋ２で同様に増幅される。デジタル乗算器１２４０の出力は、アキュムレータ１２４６の出力と共に加算器１２４４に供給される。アキュムレータ１２４６は、その入力として、加算器１２４４の出力を取る。このように形成された閉ループは、ローパスフィルタとして機能して、出力１２５４の迅速な変動を平滑化する。Ｋ２の値がＫ１に対して高いと、それに対応して、追跡ダイナミックスは速度と雑音が減少する。逆に、（Ｋ２に対する）Ｋ１の値が高ければ、それに対応して、ループの追跡ダイナミックスは迅速になるが、潜在的に安定性が劣化し雑音が高くなる。
【００７０】
一次ループの結果１２３８と二次ループの結果１２５４を加算器１２５６で加算して、その結果、予備調整値１２５８が得られる。最後に、（図３のキャリアループ３４６からの）ＡＦＣ誤差３４３は、増幅器１２６０で係数Ｍが乗算され、加算器１２６２で予備調整値１２５８と加算される。結果得られる調整値３４２は、ステアドクロック３１２（図３）中のエッジと他のそれぞれのデバイスから受信したメッセージ中のエッジとの間の差を表している。
【００７１】
前記の説明は、測位システム内の全てのデバイスが複数のタイミングパラメータを決定することが可能であり、これで、ＴＤＭフレームの適切なスロット中で情報ビットを復調して送信することが可能であることを前提としていた。受信したチップのストリームを解読するためには、相関／角度回転ブロックの１シンボル加算器８１２（図８）は、どのチップは、１つの情報シンボル中の１１個のチップの内の最初のチップであるかを判定することが可能でなければならない。この判定を可能とするために、図１３に示すように、マッチドフィルタ（matched filter）１３００は、ウインドウ化積分／ダンプ回路３１０（図３）からデジタル信号３２４を受信する。
【００７２】
同相サンプルデータストリームＩQ中に情報ビットが存在することを検出するため、マッチドフィルタ１３００は、最初にＩQをシグナムブロック１３０２中を通過させる。シグナムブロック１３０２は、大きさがゼロより大きい全ての入力信号に対してハイ論理レベル（＋１）の信号を出力し、大きさがゼロ以下である全てのアナログ入力信号に対してロー論理レベル（−１）の信号を出力する。したがって、シグナムブロック１３０２は出力チップストリーム１３０４を生成し、このストリームは、本質的に、同相サンプルチップストリームを量子化したものであり、論理レベルがハイかローの値だけを想定したものである。同相サンプルデータストリームＩQは、ＣＯＳ（θ）−ｓｉｎ（θ）に比例した大きさを有する。ここで、θは、受信されたメッセージがローカルＲＦ発振器信号をリードする位相角度を表している。出力チップストリーム１３０４は、この位相差には影響されない大きさのレベルを有する。
【００７３】
次に、チップストリーム１３０４が、シフトレジスタ１３０６に入力される。チップストリーム１３０４は、実際にはサブチップパルスを含む。ある好ましい実施形態では、そのサブチップレートはチップレートの１０倍である。シフトレジスタ１３０６は、複数のチップレジスタ１３０８を含む。一般に、チップレジスタ１３０８の数は、用いられるＰＮ拡散コードの長さと等しいことが必要である。各々のチップレジスタ１３０８は、さらに、１つ以上のサブチップレジスタ（図示せず）を備えている。ある好ましい実施形態では、各々のチップレジスタ１３０８は、１０個のサブチップレジスタを備えている。サブチップサンプリングレートと等しいレート（好ましい実施形態ではチップレートの１／１０）で、各サブチップレジスタ中のサブチップが左から右にシフトされる。たとえば、サブチップレジスタ１３０８−１１の最初にサブチップレジスタは、サブチップ毎に一回、その前の内容を捨てて、チップストリーム１３０４から最新のサブチップを格納する。各々のシンボルレジスタ１３０８中の１０個のサブチップがサブチップ毎に出力されて、サブチップ毎に（sub-chip-wise）マスターデバイスの１１ビット長のＢａｒｋｅｒコードの一部と乗算される。たとえば、チップレジスタ１３０８−１１は、ストリーム１３０４から最新の１０個のサブチップ１３０８−１１−１，．．．，１３０８−１１−１０を出力する。１１ビット長のＢａｒｋｅｒシーケンス中の最後のチップの値ｄ１１に各々の出力サブチップを乗算器１３０９−１１−１、．．．．，１３０９−１１−１０で乗算する。これら１０の乗算の結果が次に加算器１３０７−１１で合計され、加算器ブロック１３１０に入力される。同様に、チップレジスタ１３０８−１１は、レジスタ１３０８−１１に格納されている１０個のサブチップ１３０８−０１−１，．．．，１３０８−０１−１０を出力する。１１ビット長のＢａｒｋｅｒシーケンス中の最初のチップの値ｄ１１に各々の出力サブチップを乗算器１３０９−０９−１、．．．．，１３０９−０９−１０で乗算する。これら１０の乗算の結果が次に加算器１３０７−１１で合計され、加算器ブロック１３１０に入力される。
【００７４】
各々のレジスタ１３０８中の１０個のサブチップが１つのチップに対応している場合には、サブチップの乗算と加算の集合効果は、ストリーム１３０４にチップ毎に１１ビット長のＢａｒｋｅｒコードｄ１、．．．，ｄ１１が乗算され、その結果が加算器１３１０で合計されるというものである。加算器１３１０の出力は、Ｂａｒｋｅｒコードと最新の１１個のチップの相関値であり、ＰＮＢａｒｋｅｒコードの特性のため、レジスタ中の１１個のチップが完結した情報シンボルを表している場合には、実質的にゼロとは異なった値しか取らない。次に、加算器１３１０の出力は、自乗法則ブロック１３１２で処理されて、その値が正であることが保証され、結果が加算器１３２４に入力される。
【００７５】
直角位相サンプルデータストリームＱQの処理は、（同相）サンプルデータストリームＩQのそれと類似の仕方で進行するが、次の動作を含む：
・シグナムブロック１３１４でチップを量子化する；
・シフトレジスタ１３１６にチップを格納する；
・乗算器と加算器１３２０によって、格納されているチップをマスターデバイスのＢａｒｋｅｒコードと相関させる；
・結果として得られる信号を自乗法則ブロック１３２２で自乗して、その結果を加算器１３２４に提供する。
最後に、加算器１３２４は、ＩQとＱQの処理の自乗出力を加算して、その結果、シンボル存在検出信号１３２６が得られる。直交位相サンプルデータストリームＱQの処理もまた、サブチップレジスタ（図示せず）、サブチップ乗算器１３１９およびサブチップ加算器１３１７を用いる。
【００７６】
どのチップが、１つの情報ビットを有する１１個のチップの内の最初のチップであるかを判定することに加えて、デバイスは、ＴＤＭバースト中でのシンボルの相対的な位置を判定することが可能である必要がある。これを遂行するために、バースト整列回路１４００（図１４）は、シンボル存在検出信号１３２６を処理する。閾値検出ブロック１４０２は信号１３２６を監視して、入力信号１３２６がある所定の閾値を超えたら、ハイ論理レベルパルス１４０５を出力１４０４中に出力する。この閾値は、マッチドフィルタ１３００による情報シンボルの検出に対応するように選ばれる。ワンショット１４０６は、その入力部でパルスを検出したら、ＴＤＭスロットの長さより少し短い持続時間（これはまた、ＴＤＭバーストの長さにガード時間の長さを加算したもの）にわたってハイ論理レベル信号を出力する。論理ＡＮＤゲート１４０８は、ワンショットの出力と閾値検出ブロックの現在の出力１４０４とを比較して、双方が共にハイ論理レベル状態であれば出力１４１０をアサートする。カウンタ１４１２は、信号１４１０がロー論理レベルからハイ論理レベルに遷移する毎に、内部に格納してある値をインクレメントする。ワンショット１０４６の出力がハイからローに論理レベル遷移すると、出力１４１４が検査される。出力がバースト中のビットの数（最初のビットはカウントしない）より１つ少ない数値であれば、検出された最初のビットは、ＴＤＭバースト中の最初のビットであったはずである。ワンショット１４０６をトリガーしたビットがＴＤＭバースト中の最初のビットでなかった場合、カウンタ１４１４は、ＴＤＭバースト中のビット数より２つ以上少ない値を有する。マイクロプロセッサは、ワンショット１４０６の出力とカウンタ１４１２の出力１４１４を監視して、ＴＤＭバースト中で受信された最新のビットの相対的な位置を決定することが可能である。
【００７７】
現在のＴＤＭバースト中の最新の検出ビットの位置に加えて、システム内のデバイスはまた、ＴＤＭフレーム中の現在のＴＤＭまたはＴＤＭスロットの位置を決定することが可能でなければならない。これには、システム内の２つ以上のデバイスによる同時放送を防止することと、受信側デバイスに、受信されたメッセージのタイミングに基づいて送信の送り手を推測することを可能とすることの双方が必要である。システム内の全てのデバイスにＴＤＭフレーム中の現在のＴＤＭスロットの位置を決定することを可能とさせるために、マスターデバイスは、フレーム毎に一回、特殊なフレームマーカーメッセージを送信する。フレームマーカーの使用は、デジタル通信の技術上公知である。一部の実施形態では、フレームマーカーは２つの連続バーストから成る。第１のバーストは１０個の情報ビットを含み、その全てが＋１という値を持つ。第２のバーストはマスターのユニットＩＤを含むが、これは他のデバイスの全てによって知られている。一緒にすると、これら２つのバーストは、２０ビット長であり、通常の情報担持メッセージの一部としてマスターによって送信される確率はきわめて低い。したがって、デバイスは、これら２つのバーストを受信すると、そのローカル時間を（図１０のクロックステアリング回路中のレジスタを介して）リセットすることが可能である。
【００７８】
上の記述は、その説明の目的上、特定の述語を用いて、本発明を完全に理解するようにした。しかしながら、特定の詳細は、本発明を実施するためには必要ないことが当業者には明らかである。上記の実施形態を選んで説明した目的は、本発明の原理とその実際の応用分野を最も良好に説明し、これによって、当業者が、本発明と、予測される特定の用途に適すように実施されたさまざまな修正を持つさまざまな実施形態を最良に利用することが可能となるようにすることである。したがって、上記の開示は、これに尽きるものでもなければ、本発明を開示形態に厳密に制限することを意図するものではない。多くの修正や変更が上記の教示から可能である。
【００７９】
本発明の範囲はクレームとその同等物とによって定義されることを意図するものである。
【図面の簡単な説明】
【００８０】
【図１】双方向測距動作を示す説明図である。
【図２】３つ以上のデバイスを有する双方向測位システムの説明図である。
【図２Ａ】少なくとも４つのデバイスを有する双方向測位システムの説明図であり、その内の３つの静止状態のデバイスの位置が既知である。４番目の、多分モバイルのデバイスの位置は、この４番目のデバイスから他の３つのデバイスの各々のデバイスへの距離から決定される。
【図３】測位システム内の１つのデバイス（たとえばＤ１）のトランシーバのブロック図である。
【図４】図２に示すような、３つのデバイスを有する例示のシステム内のデバイス間でのＲＦ信号の交換を示すタイミング図である。
【図５】測位システムが８個のデバイスから成っているある実施形態による周期的にメッセージを送信するタイムスロットの位置と構造を示すタイミング図である。
【図６】多経路干渉を排除するための、受信ＲＦ信号のＷウインドウ化積分動作とＱウインドウ化積分動作の図である。
【図７】測位システム内の１つのデバイスのウィンドウ化積分／ダンプブロックのブロック図である。
【図８】測位システム内の１つのデバイスの相関／角度回転ブロックのブロック図である。
【図９】１つのデバイスのシンセサイザのブロック図である。このシンセサイザは、ステアドクロック信号を発生するが、この信号は、測位システム内の他の複数のデバイスの内の１つのローカルクロックとほぼ同期している。
【図１０】調整値を格納するレジスタを含む測位システム内の１つのデバイスのクロックステアリングロジックの一部のブロック図である。
【図１１】測位システム内の１つのデバイスのＰＬＬとフィルタのブロック図である。
【図１２】測位システム内の１つのデバイスのキャリアループのブロック図である。
【図１３】測位システム内の１つのデバイス中のマッチドフィルタのブロック図である。
【図１４】ＴＤＭバースト中の情報ビットの相対的な位置を測定する１つのデバイス中のバースト整列回路のブロック図である。
【図１】
2007524829.tif 000002
【図２】
2007524829.tif 000003
2007524829.tif 000004
【図３】
2007524829.tif 000005
【図４】
2007524829.tif 000006
【図５】
2007524829.tif 000007
【図６】
2007524829.tif 000008
【図７】
2007524829.tif 000009
【図８】
2007524829.tif 000010
【図９】
2007524829.tif 000011
【図１０】
2007524829.tif 000012
【図１１】
2007524829.tif 000013
【図１２】
2007524829.tif 000014
【図１３】
2007524829.tif 000015
【図１４】
2007524829.tif 000016
【手続補正書】
【提出日】平成19年6月15日(2007.6.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のデバイスであって、前記デバイスの各々が：
前記複数のデバイスの他方のデバイスとＲＦ信号を交換するトランシーバであって、前記トランシーバは、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信する、前記トランシーバと；
ローカルクロック信号を生成するローカルクロックと；
他のデバイスの各々からのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと；
他のデバイスに対して前記デバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信する送信機ロジックであって、送信される各々のメッセージには、他のデバイスの内の少なくとも１つのデバイスに対する測定された到達時間を表す情報が含まれる、前記送信機ロジックと；を含む前記複数のデバイスを備える測位システムであり：
他の各々のデバイスからの受信メッセージが、前記デバイスにより送信されたそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含み；
前記デバイスの内の少なくとも１つのデバイスが、複数の他のデバイスの各々に対するそれぞれの距離を測定する測距ロジックをさらに含み、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記測位システム。
【請求項２】
前記測距ロジックが、他のそれぞれのデバイスに対する前記デバイスによって送信されたメッセージと前記第１のデバイスで受信されたメッセージとの平均飛行時間を決定するように構成されている、請求項１に記載の測位システム。
【請求項３】
前記測距ロジックが、他のそれぞれのデバイスによって前記デバイスに送られたメッセージの第１の飛行時間と、前記それぞれのデバイスに前記デバイスによって送られたメッセージの第２の飛行時間との平均値を含む平均飛行時間を決定し、また、前記平均飛行時間に基づいて前記デバイスと前記それぞれのデバイス間の距離を測定するように構成されている、請求項１に記載の測位システム。
【請求項４】
前記複数のデバイスの内の少なくとも２つのデバイスはその各々が、ローカルクロックを前記複数のデバイスの内の特定のデバイスの中のローカルクロックと同期させるクロック同期化ロジックを含む、請求項１に記載の測位システム。
【請求項５】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生し；
前記クロック同期化ロジックが、調整値をストアするレジスタを含むクロックステアリングロジックと、前記複数のデバイスの内の他の１つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を発生する前記レジスタ中の調整値に反応するアナルグクロック信号発生器とを含む、請求項４に記載の測位システム。
【請求項６】
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、請求項５に記載の測位システム。
【請求項７】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項６に記載の測位システム。
【請求項８】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも１つのウインドウ化フィルタを含む、請求項６に記載の測位システム。
【請求項９】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項８に記載の測位システム。
【請求項１０】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項９に記載の測位システム。
【請求項１１】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項５に記載の測位システム。
【請求項１２】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の１つのデバイス中の前記ローカルクロックと略同期している時間値を発生する加算器を含む、請求項５に記載の測位システム。
【請求項１３】
測位システムで用いられるデバイスであって、前記デバイスが：
前記測位システム中の別のデバイスからメッセージ信号を、前記別のデバイスに割り当てられたタイムスロット中に受信する受信機と；
ローカルクロック信号を発生するローカルクロックであって、前記ローカルクロックがローカル発振器を含む、前記ローカルクロックと；
前記別のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと；
測定された到達時間の関数として、前記別のデバイスへのそれぞれの距離を測定する測距ロジックと；
クロック同期化ロジックであって、調整値をストアするレジスタを含むクロックステアリングロジックと、前記ローカル発振器と前記レジスタ中の値とに反応して、前記別のデバイス中のローカルクロックと略同期したステアドクロック信号を発生するアナログクロック信号発生器とを含む、前記クロック同期化ロジックとを備え、
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記別のデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、前記デバイス。
【請求項１４】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記別のデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項１３に記載のデバイス。
【請求項１５】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも１つのウインドウ化フィルタを含む、請求項１３に記載のデバイス。
【請求項１６】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項１５に記載のデバイス。
【請求項１７】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項１６に記載のデバイス。
【請求項１８】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項１３に記載のデバイス。
【請求項１９】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生する、請求項１３に記載のデバイス。
【請求項２０】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記別のデバイス中のローカルクロックと略同期している時間値を発生する加算器を含む、請求項１９に記載のデバイス。
【請求項２１】
複数のデバイスを有する測位システムを操作する方法であって、前記デバイスの各々が、前記複数のデバイスの他のデバイスとＲＦ信号を交換するように構成されており、前記方法が：
第１のデバイスにおいて、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信するステップであって、他の各々からの前記受信メッセージが、前記第１のデバイスが送信したそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含む、前記ステップと；
他のデバイスの各々からのメッセージの、前記第１のデバイスのローカルクロックのローカルクロック信号を基準とした到達時間を測定するステップと；
他のデバイスに対して、前記第１のデバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信するステップであって、送信される各々のメッセージには、他のデバイスの内の少なくとも１つのデバイスに対する測定された到達時間を表す情報が含まれる、前記ステップと；
前記第１のデバイスから前記複数の他のデバイスの各々へのそれぞれの距離を測定するステップであって、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記ステップとを含む、前記方法。
【請求項２２】
それぞれの距離を測定する前記ステップが、前記複数の他のそれぞれのデバイスに対する前記第１のデバイスによって送信されたメッセージと前記第１のデバイスで受信されたメッセージとの平均飛行時間を決定するステップを含む、請求項２１に記載の方法。
【請求項２３】
それぞれの距離を測定する前記ステップが、他のそれぞれのデバイスから前記第１のデバイスに送られたメッセージの第１の飛行時間と、前記それぞれのデバイスに前記第１のデバイスによって送られたメッセージの第２の飛行時間との平均値を含む平均飛行時間を決定するステップと、前記平均飛行時間に基づいて前記第１のデバイスと前記それぞれのデバイス間の距離を測定するステップとを含む、請求項２１に記載の方法。
【請求項２４】
前記複数のデバイスの内の少なくとも２つのデバイスのローカルクロックを前記複数のデバイスの内の特定のデバイス中のローカルクロックと同期させるステップをさらに含む、請求項２１に記載の方法。
【請求項２５】
前記受信ステップがさらに、
前記ローカルクロックに属すカウンタを、ローカル発振器によって制御されるレートで更新するステップであって、前記カウンタがローカル時間値を発生する、前記ステップと；
調整値をレジスタにストアするステップと；
前記複数のデバイスの内の他の１つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を、調整値に基づいて発生するステップと；を含む、請求項２４に記載の方法。
【請求項２６】
前記受信ステップがさらに、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差を測定するステップを含む、請求項２５に記載の方法。
【請求項２７】
前記受信ステップがさらに、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の１つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップを含む、請求項２６に記載の方法。
【請求項２８】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップをさらに含む、請求項２７に記載の方法。
【請求項２９】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項２８に記載の方法。
【請求項３０】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項２９に記載の方法。
【請求項３１】
前記調整値は、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項２５に記載の方法。
【請求項３２】
ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の１つのデバイス中の前記ローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項２５に記載の方法。
【請求項３３】
測位システムにおいてデバイスを操作する方法であって、前記方法が：
前記測位システム中の別のデバイスからメッセージ信号を、前記別のデバイスに割り当てられたタイムスロット中に受信するステップと；
ローカルクロック信号を発生するステップと；
前記別のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定するステップと；
測定された到達時間の関数として、前記別のデバイスへのそれぞれの距離を測定するステップと；
調整値をストアするステップと；
前記別のデバイス中のローカルクロックと略同期したステアドクロック信号を、調整値に基づいて発生するステップとを含み、
前記ステアドクロック信号中のエッジと前記別のデバイスからのメッセージ中のエッジとの間の差を測定するステップをさらに含む、前記方法。
【請求項３４】
前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の前記別のデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップをさらに含む、請求項３３に記載の方法。
【請求項３５】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップを含む、請求項３４に記載の方法。
【請求項３６】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項３５に記載の方法。
【請求項３７】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも１００倍小さい、請求項３６に記載の方法。
【請求項３８】
前記調整値が、クロックサイクルの１／１０００より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項３３に記載の方法。
【請求項３９】
ローカル時間値と調整値を合計して、前記別のデバイス中のローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項３３に記載の方法。
【国際調査報告】
2007524829.tif 000017