ローカル測位のための双方向RF測距システム及び方法
測位システムは、RF信号を交換するように構成された複数のデバイスを含む。第1のデバイスは、他の各々のデバイスからそれに割り当てられたタイムスロット中で周期的にメッセージを受信する。この受信されたメッセージは、第1のデバイスから送信されたそれぞれのメッセージの他のデバイスにおける到達時間を表す情報を含む。他の各々のデバイスからのメッセージの到達時間は、第1のデバイスによって測定される。第1のデバイスは、周期的にメッセージを他のデバイスに送信するが、送信された各々のメッセージには、他のデバイスの内の少なくとも1つのデバイスに対する測定到達時間を表す情報が含まれている。第1のデバイスから複数の他のデバイスの各々への距離は、他のデバイスからのメッセージの測定された到達時間と他のデバイスからのメッセージ中の到達時間情報との関数として決定される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的には測位システムに関し、より詳しくは、複数のデバイスが互いにメッセージを交換して、これらデバイスの内の少なくとも1つが、他のデバイスから受信したメッセージの中の情報とこのメッセージの到達時間とに基づいて測位システム内の少なくとも1つの他のデバイスの相対的な位置を決定することが可能となるような測位システムを操作する装置と方法に関する。
【背景技術】
【0002】
ローカル測位システムは、特に自動車両と精密建設工具の応用に際して、ナビゲーション機能性を必要とするモバイルデバイスにおける重要な実現要因(enabler)となりつつある。GPSなどのグローバルポジショニングシステムは、通常は10cm以下の中程度の精度の測位情報だけを提供するし、水平線近くまでの空のはっきりした視界を必要とする。動作量(working volume)に応じて能動素子や受動素子(active or passive components)が分布しているローカル測位システムは、より正確な(1cm未満)測位が可能であり、ユーザは本システムを必要に応じて拡張して、より複雑な密閉形状内でさえもこれを操作することが可能である。
【0003】
従来のローカル測位システムは、音響システムとレーザ測距システムとを含む。音響システムは一般的には、トランスポンダビーコンを用いて、一部は固定されてローカル座標系を形成しているデバイスから成るネットワーク内の距離を測定する。不運にも、音は空気中を伝搬するという特性のため、音響システムはセンチメートル以上の精度でしか、また、比較的短い距離の範囲しか測定できない。レーザに基づくローカル測位システムは、あるデバイスとプリズムなどの1つ以上の反射性物体との間の角度と距離の双方の測定値を利用して、そのデバイスの位置を三角測量または三点測量(trilateralate)する。しかしながら、レーザシステムは現時点では、高価な測位メカニズムを利用しているが、このため、システムの経費が3万ドル以上のものとなりかねない。
【0004】
数ミリメートルの精度まで二次元または三次元の位置を決定できる相対的に低コスト(2000ドル未満)のローカル測位システムは、屋内及び屋外の精密建築、採鉱、精密農業、及び競技場の草刈り及び処理などの応用例の領域での多くの潜在的な製品を可能にするであろう。本発明は従来のローカル測位システムのコスト及び制度の制限を克服する。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明の上記のシステムと方法は、低コストで、しかも高精度のローカル測位システムを提供する。無線周波数(RF)信号をデバイス間で交換して、これらデバイス間を飛行時間を測定する。RF信号の伝搬速度は音響信号ほどには強く環境条件によって変動しないので、測距の精度が優れたものとなる。信号の交換のために用いられるRFアンテナの空間ビーム幅は、レーザのそれよりかなり広く、そのため、高価なポインティングメカニズムに対する必要性が解消される。
【課題を解決するための手段】
【0006】
ある好ましい実施形態では、測位システムはRF信号を互いに交換する複数のデバイス備える。各々のデバイスは、他のデバイスとRF信号を交換するためのトランシーバを含む。各デバイスのこのトランシーバは、他の各デバイスからのメッセージをこれら他のデバイスに割り当てられたタイムスロット中で周期的に受信する。各々のデバイスはさらに、ローカルクロック信号を発生するローカルクロックと、他のデバイスの各々からのメッセージの、ローカルクロック信号を基準とした到達時間を決定する受信機ロジックとを含む。送信機ロジックもまた各々のデバイス中にあり、これが、このデバイスに対して割り当てられたタイムスロット中で他のデバイスに対してメッセージを周期的に送信するが、送信された各々のメッセージには、他のデバイスの内の少なくとも1つの決定された到達時間を表す情報が含まれる。他の各々のデバイスから受信したメッセージには、受信側デバイスによって送信されたそれぞれのメッセージがその他方のデバイスに到達した時間を表す情報が含まれている。最終的には、本システム内のデバイスの内の少なくとも1つが、他の複数のデバイスに対するそれぞれの距離を測定する測距ロジックをさらに含んでおり、他の各デバイスについてのそれぞれの測定距離は、他方のデバイスからのメッセージの測定到達時間と他方のデバイスから受信されたメッセージ中の到達時間情報との関数として決定される。
【0007】
一部の実施形態では、あるデバイスのローカルクロックは、ローカル発振器によって制御されるレートで更新されるカウンタを含むが、このカウンタは、ローカル時間値を発生する。上記の実施形態では、デバイスは、調整値を格納するレジスタを含むクロックステアリングロジックと、このレジスタ中の調整値に反応してステアドクロック信号を発生するアナログクロック信号発生器とを含む。このステアドクロック信号は他のデバイスの内の1つのローカルクロックとほぼ同期している。
【0008】
デバイスがクロックステアリングロジックを含む一部の実施形態では、このデバイスの受信機ロジックは、ステアドクロック信号を利用して、このステアドクロック信号中のエッジ(たとえば、信号の上方または下方の遷移と関連するゼロ交差)と他のデバイスの内の1つからの受信メッセージ中のエッジとの間の差を測定するように構成されている。これらの実施形態の内の一部の実施形態では、クロックステアリングロジックを含むデバイスは、レジスタに格納されている調整値を、ステアドクロック信号中のエッジと複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む。
【0009】
デバイスがクロックステアリングロジックを含む一部の実施形態では、デバイスの受信機ロジックは少なくとも1つのウインドウフィルタを含むが、このフィルタは、ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する。これらの実施形態の内の一部では、このウインドウフィルタが用いるウインドウタイムフレームは、異なる持続時間を持つウインドウタイムフレームから成るシーケンス(a sequence of window time frames, of different durations)であり、これを期間シーケンス中で用いて(used during a sequence of time periods)、受信信号を積分する。時として、このウインドウタイムフレームシーケンスの最後のウインドウタイムフレームは、このウインドウタイムフレームシーケンスの最初のウインドウタイムフレームの100分の1以下になる。
本発明の他の目的と特徴は、以下の図面と一緒に詳細な説明と添付の特許請求の範囲を読めばより容易に明らかになるであろう。
これら図面の内のいくつかでは同様の参照数字はそれに対応する部品を示している。
【発明を実施するための最良の形態】
【0010】
従来の多くのローカル測位システムでは、送信機から受信機に送られた信号の飛行時間の測定値を用いて、この送信機と受信機の間のそれぞれの距離を決定する。一部のシステムでは、受信機は位置が未知のデバイス上に置かれ、送信機は位置が既知のデバイス上に置かれる。位置が既知であるデバイスの数が十分であれば、位置が未知のデバイスは、位置がわかっていないデバイスの各々からの送信を受信し、これらのデバイスの各々からの飛行時間を測定し、これらデバイスの各々に対する距離を測定し、次いでそれ自身の位置を三点測量することが可能である。
【0011】
受信機は、自身と送信機との間の飛行時間を送信信号の到達時間を用いて測定するためには、送信機がその信号を送信した時間を受信機が知らなければならない。一部の測位システムでは、送信機は、前もって同意された、受信機にとっては既知である時間に送信する。さらに別のシステムでは、送信機は信号が送られた時間を信号自体に符号化する。どちらの場合においても、送信機と受信機の双方が、時間測定のためのローカル時間参照動作を必要とする。送信機の参照と受信機の時間参照が同期していないと、受信機による飛行時間の測定に必ず重大な誤差が発生する。ローカル測位システムでは、送信機と受信機は一般に互いに異なったデバイス中に常駐しており、これが同期化を困難なものとしている。
【0012】
測位システム内の各々のデバイスのローカル時間信号を同期化する必要性を取り除くため、本発明の一部の実施形態では、双方向測距方式を採用している。図1は、双方向測距動作を解説する説明図である。測位システム100は2つのデバイスD1とD2を備えている。各々のデバイスが、受信機102と、送信機104と、ローカル時間信号を発生するローカルクロック106とを含む。各々のデバイスは、特定のデバイスに割り当てられた時間にRF信号を送信する。D1は、D1のローカル時間信号を基準として測定された時間T0T1に、RF信号を送信する。次いでこの信号は、D2において、D2のローカル時間信号を基準として測定された時間T0A2に受信される。また、D2は、D2のローカル時間信号を基準として測定された時間T0T2に、RF信号を送信する。次いでこの信号は、D1において、D1のローカル時間信号を基準として測定された時間T0A1に受信される。
【0013】
RF信号の伝搬速度cは真空中で3.0×108m/sであることが知られている。一般的な大気条件下では、RF信号の伝搬速度の変動幅はこの値から300ppm(パーツパーミリオン)未満である。高度と他の環境的要因に関する情報を用いることによって、測位システムの環境下におけるRF信号の伝搬速度は、100ppm以内で測定可能である。したがって、2つのデバイス間での飛行時間の正確な測定値を(分かればであるが)用いて、これら2つのデバイス間の距離を正確に推定することが可能である。
【0014】
双方向測距システム中で飛行時間を正確に測定するために、一部の実施形態では、D1のローカル時間信号を「正しい」時間と見なす。このような実施形態では、D1のローカル時間信号は正確さという点でシステムの他のデバイスより優れている。別の実施形態では、システム中の全てのデバイスのローカル時間信号が不正確である可能性が等しい。D1が「正しい」時間であると見なされたと仮定すると、D2によって測定された時間はある分量DTだけオフセットされる。したがって、D1からD2に送信された信号の真の飛行時間はT0A2+DT−T0T1である。同様に、D2からD1に送信された信号の真の飛行時間はT0A1−T0T2−DTである。クロック同士間のオフセットDTは未知の量であり、単独で測定されたどの飛行時間からでも距離を正確に測定することを妨げる。そうする代わりに、D1のローカル時間信号を基準として測定された飛行時間の平均:
([T0A2+DT−T0T1]+[T0A1−T0T2−DT])/2=(T0A2+T0A1−T0A1−T0T2)/2
を検査すると、クロック同士間のオフセットに起因する誤差DTが消滅することが分かる。したがって、距離rの正確な測定値は、RF信号の伝搬速度に飛行時間の平均値を乗算したものとして与えられる。:
r=c([T0A2−T0T1]+[T0A1−T0T2])/2
【0015】
上記の説明は、双方向測距の基本的な原理を解説したものである。測位システム中の単一のデバイス、たとえば、モバイルデバイスが、自身で距離を計算することが可能であることが望ましい。複数のデバイスから成る測位システムにおいて双方向測距方式を採用するためには、距離を正確に計算するために、双方のデバイスでの到達時間が既知のものでなければならない。一部の実施形態では、D1による双方向測距動作は、D2に、その到達時間(T0A2)の情報をD1に送信されるRF信号に符号化させることによって可能となる。すると、D1はこの情報を解読して、その送達時間の測定値(T0A1)とともに、D2への距離を決定する。
【0016】
双方向測位システムで発生するもう1つの厄介な問題は、デバイスのローカル時間信号同士間の周波数すなわちレートのオフセットの存在である。この誤差は、デバイスが、到達時間の記録に加えて、到達の周波数をも記録するようにすれば、緩和することが可能である。受信機の基準時間を基準とした到達の周波数は、たとえば、キャリアのフェーズロックドループ(PLL)によって測定することが可能であり、また、これを用いて、送信側デバイスのローカル時間信号と受信側デバイスのローカル時間信号間のタイムレート差の端数を測定することが可能である。この2つのデバイスのローカル時間信号が自身の公称の周波数を等しく正確に表している可能性があれば、この2つのデバイスのローカル時間信号間のタイムレートの平均値が利用可能な最良の時間基準である。各々のデバイスが他のデバイスに対する相対的な周波数測定値を有しているため、各デバイスは、あらゆる時間測定値を1秒の共通定義へ変換する(convert any time measurement to a common definition of one second)ための周波数係数を計算することができる。
【0017】
一部の実施形態では、各々のデバイスにおいて、1秒のシステム全体の定義を、他のデバイスの各々から受信したメッセージの到達周波数を平均化することによって計算する。別の実施形態では、システム内のデバイスの1つが、システム中の他のデバイスよりかなり正確なローカル時間値を有している。これで、システム中の全てのデバイスがこのデバイスからの到達周波数の測定値の情報を用いて、これらデバイスのローカル時間値に関して1秒の共通定義を得る。
【0018】
次に、3つ以上のデバイスを有する測位システムの実施形態における双方向測距動作を説明する。図2は、測位システム200の説明図である。システム200は複数のデバイスD1、D2およびD3を含む。図2中ではこのようなデバイスが3つしかないが、他の実施形態では、これ以上またはこれ以下のデバイスが存在しうる。一部の実施形態では、用いられるデバイスの数は、位置が調査済みであるデバイスを基準とした1つのデバイスの位置を正確に決定する目的にとって適切な値である。たとえば、図2Aでは、測位システム中の4つのデバイスD1、D2、D3、およびD4が存在する。D1、D2およびD3の位置が(たとえば、前もって調査しておいて)既知であり、デバイスD1、D2およびD3は同一直線状にはなく、デバイスの全てが2次元平面上にあると仮定すると、デバイス相互間距離d14、d24およびd34とデバイスD1、D2およびD3の位置とがわかっていれば、明瞭にD4の位置を測定することが可能である。この目的のためのアルゴリズムは当業者には周知である。たとえば、本明細書中にその全体を参照して組み込まれる、プエルトリコのSan Juanでのコンピュータ科学の基礎のための32回年次シンポジウムの、1991年発行の会議録中の414〜423ページのH. EdelsbrunnerとT.S. Tanによる「ミニマックス長さ三角測定の二次時間アルゴリズム」を参照されたい。別の実施形態では、これらデバイスは全てがおなじ2次元平面上にあるわけではない。このような実施形態では、少なくとも4つの同一平面上にはないデバイスの位置が、第5のデバイスと最初の4つのデバイスの各々のデバイス間の距離に関する知識から第5のデバイスの位置を明瞭に決定するために、既知でなければならない。
【0019】
図2にまた目を向けると、ある実施形態では、D1、D2およびD3がRF信号202を互いに交換している。D1はRF信号202をデバイスD2からの送信206において受信する。送信206のメッセージには、デバイスD1からデバイスD2への前の送信204の到達時間を表す情報が含まれている。次に、デバイスD1での送信206の到達時間は、送信204の到達時間を表す情報と共に、D1からD2への距離を決定するためにD1によって用いられる。同様に、D1がD3から送信210を受信する。送信210には、デバイスD1からデバイスD3への前の送信208の到達時間を表す情報が含まれている。次に、デバイスD1での送信210の到達時間は、送信208の到達時間を表す情報と共に、D1からD3への距離を決定するためにD1によって用いられる。一部の実施形態では、2つ以上のデバイスが、システム中のデバイス同士間の距離を決定する測距ロジックを含む。たとえば、図2では、デバイスD2がデバイスD3から送信214を受信する。送信214には、デバイスD2からデバイスD3への送信212の到達時間を表す情報が含まれている。次に、D2が、測距ロジックを用いて、D2からD3までの距離を、送信214の到達時間とそれに含まれる到達時間情報とに基づいて決定する。
【0020】
このように、測位システム中のデバイスは、受信したメッセージの到達時間を決定して、他のデバイスから受信したメッセージ中の送られてきた到達時間情報を解読する。加えて、デバイスは、システム内の他のデバイスに対して、システム内の他のデバイスからのメッセージの到達時間を表す情報を含むメッセージを送信することが可能である。図3を参照すると、デバイス300は、RF信号を受信し、処理し、送信するための複数の機能ブロックを含む。アンテナ302はRF信号を測位システム内の他のデバイスから受信する。Tx/Rxスイッチ304は、受信したRF信号をRF―ベースバンドブロック306にルーティングする。RF―ベースバンドブロック306は、RF発振器308が発生したキャリア周波数信号307を、受信したRF信号と混合して、結果得られるベースバンド信号309をウインドウ化積分/ダンプ回路310に送る。ある好ましい実施形態では、ローカルRF発振器308及び交換されたRF信号の周波数は、5.8GHzである。別の実施形態では、キャリア周波数は、FCC ISM帯域内のどの周波数でもよい。たとえば、別の実施形態では、キャリア周波数は次の周波数帯域の内のどれでもよい:0.915GHz±0.013GHz、2.450GHz±0.050GHz、5.800GHz±0.075GHz、24.125GHz±0.125GHz、61.250GHz±0.250GHz、122.5GHz±0.5GHz、245GHz±1GHz。さらに別の実施形態では、別の周波数帯域も可能である。しかしながら、一部の周波数帯域では、米国内でデバイスを合法的に操作するためにはFCCまたは他の政府機関のライセンスをユーザが得る必要がある。キャリア周波数を高くしていくとついには、距離の測定精度を改善することが可能となる。キャリア周波数を低くしていくと、より低い複雑さとコストの回路の使用が可能となる。
【0021】
ベースバンド信号309に加えて、ウインドウ化積分/ダンプ回路310は、シンセサイザ314からステアドクロック信号312を受信する。シンセサイザ314は、クロックステアリング回路318から提供されたアナログ調整値316とローカル発振器320からの信号とを利用して、ステアドクロック信号312を発生する。ある好ましい実施形態では、ローカル発振器320は、100MHzの正弦波信号を発生する。別の実施形態では、ローカル発振器320の周波数は、3.3MHzから200MHzの範囲内のどの周波数でもよい。ローカル発振器320の周波数は、デバイスのある好ましい実施形態では内部デジタル信号処理で用いているので、周波数が高ければ、より高いデータレートでの通信が可能となる。特に、周波数が高くなると、より高いデータレートを持つベースバンド信号をサンプリングするために、ウインドウ化積分/ダンプ回路310で、ベースバンド信号309をデジタルサンプリングする速度を増すことが可能となる。一方、高いデータレートを持つベースバンド信号によって、システム内でのデバイス間でのRF信号の交換がより迅速となり、ついにはより複数のデバイスがシステム内で存在することが許容される。
【0022】
ウインドウ化積分/ダンプ回路310は、ステアドクロック312とチップ遷移アーム322とを用いて、ベースバンド信号309を処理してデジタル信号の集合324とする。ウインドウ化積分/ダンプ回路310のこの動作を以下に図7を参照してより詳しく説明する。
【0023】
ウインドウ化積分/ダンプ回路310は、デジタル信号324を相関/角度回転回路326に提供する。クロックステアリング回路318は、受信した擬似雑音(PN)コード328を相関/角度回転回路326に提供する。一部の実施形態では、受信したPNコード328は、クロックステアリング回路318によって、現行の受信したRF信号を送信したデバイスのアイデンティティに基づいて生成される。別の実施形態では、受信されたPNコード328は、どのデバイスから受信したRF信号でも同じである。キャリアループ346は、ローカルRF発振器308が発生した信号307と受信メッセージのキャリア信号との間の位相差を表す数値制御発振器(NCO)位相330を、相関/角度回転回路326に提供する。NCO位相330とPNコード328とは、デジタル信号324を処理して逆拡散信号332とするために、相関/角度回転回路326により用いられる。相関/角度回転回路326のこの動作を、図8の説明と一緒にして以下に詳しく説明する。
【0024】
マイクロプロセッサ338は、逆拡散信号(despread signals)332を用いて、受信したRF信号の符号化された情報を決定する。マイクロプロセッサ338は、PLL/フィルタ340から調整値342を受信し、キャリアループ346からNCO位相330を受信する。この情報をマイクロプロセッサ338が用いて、受信したRF信号の飛行時間を計算し、この飛行時間は、次にマイクロプロセッサ338中のレジスタに格納される。
【0025】
周期的に、マイクロプロセッサ338は、システム内の他のデバイスから受信したRF信号の到達時間情報を含むベースバンドメッセージ350を発生する。このベースバンドメッセージ350は、ベースバンドエンコーダ352に送られる。ベースバンドエンコーダ352は、ベースバンドメッセージとクロックステアリング回路318により提供された送信PNコード354とを混合して、ベースバンドメッセージを拡散させて、その結果、拡散ベースバンド信号351を発生する。この拡散ベースバンド信号351は、ベースバンド−RFコンバータ356に伝達され、ここで、ローカルRF発振器308により提供されたキャリア周波数信号353と混合されて、キャリア周波数にアップ変換される。このアップ変換され拡散された信号355は次に、Tx/Rxスイッチ304を介してアンテナ302に送られる。アンテナ302は、このメッセージをシステム内の他のデバイスに送信する。
【0026】
デバイス300のトランシーバ、受信機ロジック及び送信機ロジックの動作について概括したので、ステアドクロック信号312、NCO位相330および調整値342の発生に注目する。クロックステアリング回路318は、複数のレジスタ319を含む。一部の実施形態では、各々のレジスタはシステム内の他のデバイスの1つに対応しており、デバイス300のローカルクロック信号と他のデバイスのそれとの間の時間差を表す値を含む。この値に基づいて、クロックステアリング回路318はアナログ値316を発生し、この値がローカル発振器320が提供したクロック信号と共にシンセサイザ314により用いられ、ステアドクロック信号312を生成する。ステアドクロック信号312は、現在受信中のメッセージの送り元のデバイスのローカルクロックに略同期するように生成される。シンセサイザ314とクロックステアリング回路318の動作を、図9と10をそれぞれ参照して以下にさらに詳しく説明する。
【0027】
NCO位相330は、キャリアループ346によって発生される。キャリアループ346は、複数のキャリアロックドループ347を含む。一部の実施形態では、キャリアロックドループの数は、システム内のデバイス300以外のデバイスの数に等しく、各々のキャリアロックドループは、他のデバイスの内の1つのデバイスからのメッセージのキャリア位相を追跡するために用いられる。別の実施形態では、デバイスは、他の全てのデバイスからのメッセージのキャリア位相を追跡するために用いられるキャリアロックドループをたった1つしか含んでいない。キャリアループ346の動作を図11の説明と共に以下にさらに詳述する。
【0028】
調整値342は、フェースロックドループ(PLL)/フィルタ340によって発生される。PLL/フィルタ340は、複数のチャネルモジュール341を含む。一部の実施形態では、チャネルモジュールの数は測位システム内のデバイス300以外のデバイスの数に等しく、各々のチャネルモジュールを用いて、このデバイスのローカルクロック信号と他のデバイスの内の1つのデバイスのそれとの間の差を追跡する。別の実施形態では、存在するチャネルモジュールの数は少ないが、これを用いて、このデバイスのローカルクロック信号と他のデバイスの内の1つのデバイスのそれとの間の差を追跡する。PLL/フィルタ340は、マイクロプロセッサ338からコマンドと制御情報344を受信し、相関/角度回転回路326から逆拡散信号332を受信する。加えて、PLL/フィルタ340は、キャリアループ346から自動周波数制御(AFC)誤差信号343を受信する。PLL/フィルタ340の動作を、図12の説明と共に以下にさらに詳述する。
【0029】
2つ以上のデバイスが同じRF周波数の信号を介してメッセージを送信することを可能とするためには、多重アクセス通信プロトコルが必要である。本書に記載する本発明の実施形態は、多重アクセス(TDMA)通信プロトコルを用いて、この問題を解決している。図5に、8個のデバイスを含む測位システム中で用いられるTDMAプロトコルの詳細を示す。メッセージフレーム502は、このプロトコル中で最大の時間区分(division of time)である。メッセージフレームは時間内で周期的に繰り返されて、デバイス間でRF信号を繰り返し交換することを可能とする。ある好ましい実施形態では、メッセージフレーム502の持続時間は0.1秒である。メッセージフレームの持続時間は、システム内の全てのデバイスが静止状態のまま留まるものと期待される時間量に対応する。したがって、デバイスがゆっくり移動する応用分野に適応される一部の実施形態では、メッセージフレームの持続時間が1分にも達することがある。別の実施形態では、この持続時間は0.01秒と短い。しかしながら、持続時間がさらに短いと、結局は、測位システムに含むことが可能なデバイスの数が限られることになる。
【0030】
メッセージフレーム502は、複数のTDMサイクル506を含む。一部の実施形態では、各TDMサイクル506中で、システム内の各デバイスが、メッセージの一部を含むRF信号を送信する。このように送信された各々のデバイスからのメッセージは、メッセージフレーム502中のすべてのTDMサイクルからのRF信号が完了するまで、完了しない。ある好ましい実施形態では、各々のメッセージフレーム502は、800個のTDMスロットから成る。800という数字は、それがさまざまな整数(たとえば、4、5、8、10、16、20、25、32)で割り切れるので選ばれたものであり、これで、さまざまな数のデバイスを持つシシステム内のデバイスに対してTDMスロットを等しく区分化することが可能となる。ある好ましい実施形態では、各々のTDMサイクル506は8個のTDMスロット508を含み、TDMスロットは各々がシステム内の8個のデバイスのそれぞれ1つに対して割り当てられる。デバイスはその割り当てられたTDMスロット中でしかRF信号を送信しない。
【0031】
しかしながら、各々のデバイスがそのTDMスロット508の持続時間全体にわたって送信するものとすると、異なったデバイスの送信間での干渉が発生することも考えられる。いかなるデバイスにおいても、RF信号の伝搬速度が有限であり、また、ローカル時間値(メッセージフレーム中の現在位置を決定するために用いられる)が不確かであるため、この潜在的な問題が発生する。RF信号の伝搬速度が有限であるため、所与のデバイスがRF信号を送信した後のある時間にわたって、システムのデバイス同士間のスペースにRF信号が存在することになる。したがって、あるデバイスがその割り当てスロットの正確に最後の時点で送信を停止すると、RF信号は、次のタイムスロットの開始後までには、他の全てのデバイスに達しないであろう。次のタイムスロットが割り当てられているデバイスはすでに送信を開始しているわけであり、したがって、干渉が発生する。同様にして、2つのデバイスのローカル時間値が正確に一致していないと、自身に割り当てられたTDMスロットに現在の時間が属することを示すローカル時間値を持つ2つのデバイスが送信を開始すると、干渉が発生する。
【0032】
システム内の2つのデバイスの送信が干渉する可能性を解消するため、一部の実施形態では、各々のTDMスロット508は、ガード時間510と10個のデータシンボル512とを備えている。ある好ましい実施形態では、ガード時間510の持続時間は、システム内の任意の2つのデバイス間のRF信号の最大飛行時間の少なくとも2倍となっており、これで、別個のデバイスからの送信が決して重ならないことが保証される。一部の実施形態では、ガード時間510は、TDMスロット508の最初に位置している。代替例では、ガード時間の半分をTDMスロット508の最初に、残りの半分をTDMスロット508の最後に割り当てることも可能である。
【0033】
情報が送信されるTDMスロット508の部分は、TDMバースト514と呼ばれる。ある好ましい実施形態では、1つのTDMバースト514は、10個のデータシンボル512を含む。代替例では、これより多いまたは少ない数のデータシンボル512が各々のTDMバースト514に含まれる。各々のデータシンボル512は、複数のチップ516を含む。チップはメッセージフレーム502中での時間の最小の論理時間区分である。ある好ましい実施形態では、チップは、キャリア信号の二位相偏移変調(BPSK)バージョンの一定鍵付き値(constant-keyed value)を含む。キャリア信号のキーイングはチップレートを基準としたあるレートで発生するが(The keying of the carrier occurs at a rate referred to as the chip rate)、これは1チップの持続時間に反比例する。この好ましい実施形態で用いられる特定的なBPSK変調方式では、キャリア信号の位相は、論理値がハイ(1)かロー(0)かに対応して、それぞれ0°または180°だけシフトされる。本発明の別の実施形態では、これに限られないが、周波数シフトキーイング(FSK)と四相位相変調(QPSK)を含む他の変調技法を用いて、キャリア信号の各々のチップを符号化してもよい。
【0034】
ある好ましい実施形態では、各々のデータシンボル512は、考えられる4つの11ビット長のBarkerコードシーケンスの内の1つに対応する11個のチップ516を含む。最初の2つのBarkerコードシーケンス(10110111000とその論理的補数01001000111)は「マスターデバイス」と呼ばれるデバイスによってしか送信されない。マスターデバイスは、システム内の全ての他のデバイスのローカル時間値をTDMフレームを基準として同期化させる責任を持つ。これらのチップシーケンスを含むどの送信も、マスターデバイスから来たものと明瞭に解釈することが可能であり、これで、同期化というタスクが簡単なものとなっている。割り当てられたバーストにおいて、マスターデバイスは、バーストの各々のデータシンボル512中で2つのチップシーケンス、すなわち、論理レベルハイ(10110111000)と論理レベルロー(01001000111)の内の一方を送信する。他の2つのBarkerコードシーケンス(10101100000とその論理的補数01010011111)はマスターデバイス以外のシステム内の全てのデバイスに割り当てられる。したがって、これらのコードシーケンスを含むどの送信をも、特定のデバイスから来たものであると明瞭に解釈することが可能である。マスターデバイス以外のデバイスは、バーストの各々のデータシンボル512中の2つのチップシーケンス、すなわち、論理レベルハイ(10101100000)と論理レベルロー(01010011111)の内の一方を送信可能である。
【0035】
別の実施形態では、Barkerコード以外の擬似ランダム雑音(PN)コードを用いて、マスターデバイスと他のデバイスに対するチップシーケンスを決定する。GoldコードとKasamiコードは、当業者には周知の他のPNコードの例である。別の実施形態では、マスターデバイス用のチップシーケンスは他のデバイス用のそれを同じである。加えて、各々のデータシンボル中のチップの数は11より多かったり少なかったりする。たとえば、ビット長が2、3、4、5、7、11または13のBarkerシーケンスを用いる。さらに別の実施形態では、さまざまなビット長のGoldシーケンス、Kasamiシーケンス、Frankシーケンス、ChuシーケンスおよびHuffmanシーケンスが用いられる。固定した持続時間を持つデータシンボルの場合、シンボル当たりのチップ数が大きくなると、より大きい帯域幅が必要とされるが、到達時間の推定値が、したがって距離の推定値がより正確になる。シンボル当たりのチップの数が少なくなると、必要な帯域幅も減少するが、到達時間、したがって、距離の推定値の精度が落ちる。
【0036】
次に、距離が、測位システム中のデバイスの、TDMメッセージフレームを基準として定義されたローカル時間値に対して測定された到達時間から決定される方法を説明する。図4は、システム内に3つのデバイスD1、D2、およびD3が存在する実施形態に従って、デバイス間でRF信号を交換する動作を解説するタイミング図である。マスターデバイスであるD1は、メッセージフレーム中でマスターに割り当てられたTDMバーストの適切な開始時間404−1でRF信号402を送信する。メッセージフレームはまた、他の2つのデバイスのTDMバーストの開始時間に対応する時間マーカー404−2と404−3を含む。RF信号402は、デバイスD2により推定されたメッセージフレーム中のマスターに割り当てられたバーストの開始時間408−1と同期した到達時間で、デバイスD2によって受信される。RF信号402の到達時間と開始時間480−1との、この同期性は、D1がマスターとして指定されている限り、デバイスD1とD2がどれだけの距離が離れていてもと生じる。これは、システム内のデバイスが、メッセージフレームのタイミングを推定する際に基づく初期化方式の結果であり、図13と14の説明と共に以下に説明する。システム内のデバイスは全て、初期化シーケンス中にマスターデバイスから特殊なデータシンボルを受信した時間に基づいて、メッセージフレームのタイミングを推定する。したがって、各々のデバイスのメッセージフレームのタイミングの推定値は、マスターデバイスと問題となっているデバイスとの間の飛行時間に等しい分量だけ遅延する。図4を参照すると、D3により推定されたメッセージフレーム412−1の開始時間は、D2により推定されたメッセージフレーム408−1の開始時間より後であり、これは、D3とマスター間の飛行時間がD1とマスター間の飛行時間より大きいことを示す。図2のD1、D2およびD3の相対的な位置は、図4に描かれたようなタイミングと首尾一貫する可能性があるシステム内のデバイスの位置のセットを表している。RF信号402は、デバイスD3により推定されたメッセージフレームの開始412−1と同期した到達時間でデバイスD3によって受信される。
【0037】
D2は次に、D2により推定されたバーストの開始時間408−2で、RF信号412を送信する。D1は、D2に割り当てられたバーストの開始時間404−2より後でRF信号412を受信する。D1でのRF信号412の到達時間と、D2に割り当てられたバーストの開始時間404−2間の差は、到達時間T21を画定する。D3は、D3により推定されたD2に割り当てられたバーストの開始時間412−2より早く、RF信号412を受信する。D3でのRF信号412の到達時間と、D3により推定されたD2に割り当てられたバーストの開始時間412−2間の差は、別の到達時間T23を画定する。
【0038】
最終的には、D3は、D3により推定されたD3に割り当てられたバーストの開始時間412−3でRF信号418を送信する。D1は、D3に割り当てられたバーストの開始時間404−3より後で、RF信号418を受信する。D1でのRF信号418の到達時間と、D3に割り当てられたバーストの開始時間404−3間の差は、別の到達時間T31を画定する。D2は、D2により推定されたD3に割り当てられたバーストの開始時間408−3より後で、RF信号418を受信する。D2でのRF信号418の到達時間と、D2により推定されたD3に割り当てられたバーストの開始時間408−3間の差は、別の到達時間T32を画定する。
【0039】
双方向距離を測定するためには、システム内のデバイスは、システム内の他のデバイスからのRF信号の到達時間の自身による測定値のほかに別の情報にアクセスする必要がある。したがって、一部の実施形態では、RF信号402は、以前のメッセージフレーム中のデバイスD1でのRF信号412と418の到達時間を表す情報を含む。同様に、RF信号412は、以前のメッセージフレーム中のデバイスD2でのRF信号402と418の到達時間を表す情報を含む。RF信号418は、以前のメッセージフレーム中のデバイスD3でのRF信号402と412の到達時間を表す情報を含む。これで、一部の実施形態では、システム内の各々のデバイスは、システム内の他のデバイスの全てに対して自身からの距離を測定することが可能となる。
【0040】
D1はタイミングマスターであるので、D1による送信開始と、D2がこのメッセージの受信を開始すると期待する時間との間には、実質的に遅延はない(たとえば、T12≫0)。しかしながら、D2によるRF信号412の送信開始と、D1が受信を開始すると期待する時間404−2との間に経過する時間は、2つのデバイス間の飛行時間の実際には2倍であり、一方の飛行時間がフレームの開始のD2の遅延したマークとなり、他方の飛行時間がD2の送信がD1に到達するのにかかる伝播時間をもたらすものである。したがって、D1とD2の間の距離は容易に次のように推定される。
cT21/2(式)
完全に類似的に解析すると、D1とD3の間の距離は次のように推定されることになる。
cT31/2(式)
最終的には、D1とD2の間の距離は、D2とD3の間で交換されるメッセージの平均到達時間を用いて次にように推定することが可能である。
c(T32+T23)/4(式)
このように、D3とD2の間のクロックオフセット誤差は、図2Aを参照して上記したように、距離の計算になんら誤差をもたらすものではない。
【0041】
上記した例は3つしかデバイスを含まないものであるが、この方式は任意の数のデバイスを有する測距システムや測位システムに応用可能である。位置が既知であるデバイスもあれば、未知であるデバイスもある。全てのデバイス対間の距離を決定すれば、それは、あるデバイスの位置を、位置が既知である他のデバイスを基準として決定するに十分な情報である。たとえば、本明細書にその全体が参照して組み込まれる、プエルトリコのSan Juanでのコンピュータ科学の基礎に関する32回年次シンポジウムの1991年発行の会議録中の414〜423ページのH. EdelsbrunnerとT.S. Tanによる「ミニマックス長さ三角測定の二次時間アルゴリズム」を参照されたい。加えて、グローバルポジショニングシステム(GPS)の当業者には公知である受信機自律型完全性モニタ(RAIM)などの技法を用いて、推定された距離のさまざまなサブ集合を選択したり、システム内の1つ以上のデバイスの相対的な位置を測定したり、測定された位置を、距離の他のサブ集合を用いて測定された位置と比較したり、システム内の全てのデバイスの相対的位置の最適な推定値を獲得したりする。本明細書にその全体が参照して組み込まれる、米国ネバダ州ラスベガスでのIEEEの測位とナビゲーションに関するシンポジウムのF. van DiggelenとA. Brownによる1994年発行「GPS RAIMの数学的側面」の722〜738ページを参照されたい。
【0042】
これで分かるように、距離を正確に測定するには、到達時間を正確に測定する必要がある。屋内工事応用分野を含むローカル測位システムの一部の応用分野では、2つ以上の伝搬経路をたどって送信されたメッセージが到達すると、双方向測距方式が基盤とする直接的な視野方向経路を介してのメッセージの到達時間の測定値に誤差が入り込みかねない。次に、受信信号中のこのいわゆる多経路干渉を抑制し、それによってメッセージの到達時間を正確に推定する方法を解説する。これは、タイムフレームにわたって受信メッセージを積分するウインドウ化フィルタ(windowing filters)によって、受信したメッセージを処理することによって達成される。図6を参照すると、キャリア積分ウインドウ604とコード積分ウインドウ606が、一部の実施形態ではウインドウ化フィルタ中に用いられている。コード積分ウインドウ606は、反対符号積分領域610および612と、早/遅(early-late)積分領域608を含む。受信したメッセージの一部として、チップ遷移(chip transition)602−1がウインドウの全体幅の半分より遅い時間に到達すると、ウインドウと受信信号レベルの積を積分したものは、実質的にゼロの大きさを持つ値となる。他方、図6に示すようにチップ遷移602−1がウインドウの最後より前に到達すると、ウインドウと受信信号レベルの積の積分は、ウインドウの中心とチップ遷移との間の遅延時間を表す値となる。本発明の一部の実施形態では、受信メッセージを送信したデバイス中のローカルクロックと略同期しているステアドクロックがウインドウフィルタにとって利用可能である。したがって、ウインドウの中心がステアドクロック信号のエッジと整列すると、ウインドウと受信信号の積の積分の結果は、ステアドクロックと受信メッセージを送信するデバイスのクロックとの間の時間オフセットを示すが、これには多経路干渉はまったく存在しない。以降「Wウインドウ化積分」と呼ぶこのようなコード積分ウインドウ606を使用するとその結果、十分な遅延の多経路チップ遷移(multipath chip transitions of sufficient delay)は、ウインドウと受信信号の積の積分の結果にはなんら影響しない。この結果を、コード追跡ループに対する補正入力として用いることが可能であり、したがって、チャネルから有効に推定される。GPS信号のWウインドウ化積分は、参照して全体をここに組み込む、「グローバルポジショニングシステム信号を復調するシステムと方法」という米国特許第6,125,135号に説明されている。
【0043】
キャリア積分ウインドウ604は、違った方法で多経路干渉を排除する。ウインドウ604と受信メッセージの積の積分動作は、ウインドウ604の幅で決まるタイムフレームにわたって実行される。受信したメッセージの一部として、チップ遷移602−2がウインドウの全体幅の半分より遅く到達すると、ウインドウと受信信号レベルの積を積分したものは、実質的にゼロとは異なった大きさを持つ値となる。したがって、たとえウインドウ604の立ち上がりエッジが真のチップ遷移602と整列したとしても、多経路誤差はどの積分の結果にも影響する。しかしながら、拡散PNコードシーケンスは、隣接するコード値の正確に半分が同じとなるように設計されている。したがって、正の多経路誤差と負の多経路誤差が同じだけ存在し、同じ大きさをもつ全ては固定された多経路軌跡のものである(all of the same magnitude for a fixed multipath trajectory)。つぎに、積分の結果を、たとえば、チップ長よりかなり大きい時定数を有するダイナミックスを持つフェーズロックドループに対する入力として用いると、相対する誤差が互いに打ち消しあって、キャリアの位相を追跡するループの機能にはなんら影響しない。このようにキャリア積分ウインドウ604を用いることを、以降「Qウインドウ化積分」と呼ぶ。
【0044】
一部の実施形態では、Wウインドウ化積分とQウインドウ化積分の双方を、ウインドウタイムフレームのシーケンス(または、等価的にウインドウ幅)を使用して、複数回用いることで、到達時間の測定値の精度を向上させる。最初に初期化されたとき、あるデバイスのステアドクロック信号は受信メッセージ中でチップ遷移とは正確には整列しない。したがって、Wウインドウ化積分とQウインドウ化積分双方において大きいウインドウ幅を用いて、視野経路上で受信されたメッセージ中のチップ遷移が検出されることを保証するようにしなければならない。しかしながら、所与のデバイスからメッセージを受信したらその都度、クロックステアリング回路318(図3)中の調整値が更新されてシンセサイザ314に提供され、その結果、ステアドクロック信号がより正確に受信メッセージ中のチップ遷移と整列することになる。したがって、次いで、狭いウインドウタイムフレームをウインドウ化フィルタで用いても、視野経路上で受信されたメッセージ中のチップ遷移を検出しそこなう可能性はない。ウインドウ化フィルタ中で狭いタイムフレームを用いると、その結果、より多くの多経路信号が拒絶されることになるが、それは、排除可能な最小遅延時間(およびそれに対応する経路長)が減少するからである。一部の実施形態では、Wウインドウ化積分は、200ns、40ns、5nsおよび1nsから選ばれたタイムフレームにわたって実行される。このような実施形態における対応するQウインドウ化積分は、100ns、20ns、2.5nsおよび0.5nsから選ばれたタイムフレームにわたって実行される。Qウインドウ化積分とWウインドウ化積分の双方の場合について、採用されるタイムフレームのシーケンスは、一部の実施形態では単調に減少するわけではない。たとえば、Qウインドウ化積分は100nsという期間にわたって一度実行され、次に、20nsという期間にわたって実行される。しかしながら、キャリアクロックが最初のタイムフレームから2回目のタイムフレームに行く際に失われた場合、次のQウインドウ化積分は100nsというタイムウインドウにわたって実行される。
【0045】
本発明にしたがって設計された一部のデバイスにウインドウ化積分がどのように組み込まれるかを理解するために、図7にシステムのある実施形態中の1つのデバイスのウインドウ化積分/ダンプ回路310(図3)を示す。図7を参照すると、ウインドウ化積分/ダンプ回路310は、2つのローパスフィルタ(LPF)708と、2つのQウインドウ化積分/ダンプ回路(QI&D)702と、2つのWウインドウ化積分/ダンプ回路(WI&D)710と、6個のアナログ−デジタルコンバータ(A/D)706とを含む。ベースバンド信号309の同相成分Iはローパスフィルタ708−1によってフィルタリングされ、サンプリング期間に略等しい持続時間を持つウインドウ上で成分Iが積分される。次に、ローパスフィルタ708−1のフィルタリングされた出力712は、アナログ−デジタル(A/D)コンバータ706−2によってサンプリングされ、その結果、サンプルデータストリームIADが得られる。A/Dコンバータ706−2は、ステアドクロック312を利用して、このサンプリングを実行する。同様に、ベースバンド信号309の直角位相成分Qがローパスフィルタ708−2によってフィルタリングされ、フィルタリングされた出力722がA/Dコンバータ706−5によってサンプリングされ、その結果、サンプリングされたデータストリームQADが得られる。
【0046】
同相成分Iはまた、Q積分/ダンプ(QI&D)回路702−1で積分され、A/D706−1でサンプリングされて、サンプルデータストリームIQが得られる。QI&D回路702−1は、入ってくる信号をチップ遷移アーム322に対して定義されたタイムフレームにわたって積分する。同相成分Iもまた、W積分/ダンプ(WI&D)回路710−1によってチップ遷移アーム322で積分され、A/D706−3でサンプリングされ、その結果、サンプルデータストリームIWが得られる。QI&D回路702とWI&D回路710により用いられるタイムフレームは、制御信号704によって制御される。一部の実施形態では、制御信号704はマイクロプロセッサ388(図3)によって提供され、これで、期間シーケンスにわたって複数回実行される積分の幅とすることが可能となる。この積分は、異なった持続時間を持つウインドウタイムフレームから成るシーケンス中に生じる。同様に、直角位相成分Qは、QI&D回路702−2で、チップ遷移アーム322に対して定義されたタイムフレームにわたって積分され、A/D706−4でサンプリングされて、サンプルデータストリームQQが得られる。直角位相成分Qはまた、WI&D回路710−2で積分され、A/D706−6でサンプリングされて、サンプルデータストリームQWが得られる。
【0047】
デバイス中の受信機が初期化された時点では、ステアドクロック信号は受信信号中でチップ遷移と整列していない。したがって、ウインドウ化フィルタで処理されていないサンプルデータストリームIADとQADを用いるのが好ましい。これに対処するため、デバイスは2つの別個の動作モードで動作し、一方のモードは受信メッセージを初期に獲得しようとするもの(ACQ)であり、他方はキャリア周波数の位相とローカルクロック信号に対するチップエッジの遅延時間との双方を追跡しようとするもの(TRK)である。この動作モードの選択は、一般には、マイクロプロセッサ(たとえば図3のマイクロプロセッサ338)の制御下にある。
【0048】
図8を参照すると、相関/角度回転回路326は、制御信号820で決定されるACQモードまたはTRKモードで動作可能である。相関/角度回転回路326は、角度ローテータROMテーブル/演算ロジック810、および複数のスイッチ806と、1チップ加算器808と、1シンボル加算器812とを含む。ACQ動作モードでは、データストリームIADは、乗算器822−1によってオンタイムPNコード802と乗算される。結果として得られるデータストリーム814−1は、スイッチ806−1によってワンチップ加算器808−1に送られて、出力信号XIが生成される。同様に、データストリームQADは乗算器822−2によってオンタイムPNコード802と乗算され、スイッチ806−2によってワンチップ加算器808−2に送られて、出力信号XQが生成される。
【0049】
ACQモードでは、データストリームIADはまた、乗算器822−3によって早/遅PNコード804と乗算され、スイッチ806−3によってワンチップ加算器808−3に送られて、出力信号YIが生成される。加えて、データストリームQADはまた、乗算器822−4によって早/遅PNコード804と乗算され、スイッチ806−4によってワンチップ加算器808−4に送られて、出力信号YQが生成される。
【0050】
システム内の他の所与のデバイスから複数のメッセージを受信すると、デバイスは一般的にTRKモードに入る。TRKモードでは、データストリームIQは、乗算器822−5によってオンタイムPNコード802と乗算される。結果得られるデータストリーム816−1は、スイッチ806−1によってワンチップ加算器808−1に送られて、出力信号XIが生成される。同様に、データストリームQQは、乗算器822−6によってオンタイムPNコード802と乗算され、スイッチ806−2によってワンチップ加算器808−2に送られて、出力信号XQが生成される。データストリームIWは、乗算器822−7によって早/遅PNコード804と乗算され、スイッチ806−3によってワンチップ加算器808−3に送られて、出力信号YIが生成される。加えて、データストリームQWは、乗算器822−4によって早/遅PNコード804と乗算され、スイッチ806−4によってワンチップ加算器808−4に送られて、出力信号YQが生成される。
【0051】
どちらの動作モードでも、角度回転読み出し専用記憶装置(ROM)テーブル/演算ロジック810は同じように動作する。同相オンタイム回転出力(inphase on-time rotated output)XCは、1つ以上のメモリレジスタの内容をルックアップし、加算、乗算または他の算術演算を実行して、その結果を出力することによって生成される。アクセスされるレジスタのアドレスは、NCO位相330の値によって決まる。NCO位相330は、ローカルRF発振器308が発生した信号と受信メッセージのキャリア周波数成分との間の位相差のオフセットの推定値を表す。これらのアドレスに含まれる値には、cos(θ)とsin(θ)があり、ここでθはNCO位相330である。後続の算術演算によって出力が生じるが、これはXC=XIcos(θ)−XQsin(θ)である。同相オンタイム回転出力XCを次に、1シンボル加算器812−1で処理して、その結果、相関された同相オンタイム出力RCIが得られる。同様に、直角位相回転出力XSは、XI、XQおよびNCO位相330(θ)の値によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって生成される。このアドレスに含まれる値は、XS=XQcos(θ)+XQsin(θ)に等しい。直交位相オンタイム回転出力XSを、次に1シンボル加算器812−2で処理して、その結果、相関された直交位相オンタイム出力RSIが得られる。
【0052】
同様に、同相早/遅回転出力YCは、YI、YQおよびNCO位相によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって生成される。このアドレスに含まれる値は、YC=YIcos(θ)−YQsin(θ)に等しい。同相早/遅回転出力YCを、次に1シンボル加算器812−3で処理して、その結果、相関された同相早/遅回転出力DC1が得られる。同様に、直交位相早/遅回転出力YSは、YI、YQおよびNCO位相によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって発生される。このアドレスに含まれる値は、YS=YQcos(θ)+YIsin(θ)に等しい。直角位相早/遅回転出力YSを、次に1シンボル加算器812−4で処理して、その結果、相関された直角位相早/遅出力DS1が得られる。
【0053】
ステアドクロック信号312(図3)の生成を説明する。図9を参照すると、シンセサイザ314は、位相シフター902と、デジタル−アナログコンバータ906と、アナログ乗算器908と、アナログ加算器910と、リミッタ912とを含む。システムのデジタルサンプリングレート対応する周波数をもつ正弦波信号が、ローカル発振器320で生成される。位相シフター902は、正弦波信号の遅延バージョン914−1、オリジナルの信号から90°位相がずれた信号、を生成する。シンセサイザ314は、クロックステアリング回路318からステアリング値(Sn、Cs)316を受信する。デジタル−アナログコンバータ906−1はデジタルステアリング値Csをアナログ値916−1に変換する。乗算器908−1は、アナログ値916−1に遅延した正弦波信号914−1を乗算して、重み付け遅延正弦波918−1を生成する。同様に、デジタル−アナログ(D/A)コンバータ906−2は、デジタルステアリング値Snをアナログ値916−2に変換する。乗算器908−2は、アナログ値916−2に正弦波信号914−2を乗算して、重み付け正弦波918−2を生成する。加算器910は、重み付け正弦波918−2と重み付け遅延正弦波918−2を加算して、ステアド正弦波920を生成する。最終的に、リミッタ912がステアド正弦波を処理してステアドクロック312を生成し、これは矩形波信号である。
【0054】
図10に、クロックステアリング回路318の詳細を示す。クロックステアリング回路318は、複数のチャネルモジュール319を含む。ある好ましい実施形態では、チャネルモジュール319の数は7であり、これはシステム内の300以外のデバイスの数である。別の実施形態では、チャネルモジュール319の数はこれ以上であったり以下であったりし、これで測位システム内のさまざまな数のデバイスに対処している。各々のチャネルモジュール319は、位相オフセットアキュムレータ1002を含んでおり、これはさらに複数のレジスタ1003に区分化される。レジスタ1003は、システム内のデバイスと他のそれぞれのデバイスとの間のローカル時間値の差を表す値を格納する。レジスタ1003−1は、複数のTDMサイクルを表す情報を含む。同様に、レジスタ1003−2、1003−3および1003−4は、それぞれ、TDMスロット、バーストおよびチップの整数値を表す情報を含む。サブチップレジスタ1003−5は、デジタルサンプリング期間の整数値を表す情報を含む。サブサンプルレジスタ1003−6は、固定した期間の整数値を表す情報を含み、この期間はデバイスのデジタルサンプリング期間より小さい。
【0055】
ある好ましい実施形態では、レジスタ1003−1中の情報は、100を法とした現在のサイクルの番号、すなわち、フレーム当たりのサイクル数である。現在のサイクル番号を100を法とした整数値として表すことによって、この数を表すのに必要とされるビットの数が最小化される。同様に、ある好ましい実施形態では、スロットレジスタ1003−2中の情報は、8を法としたスロットの数、すなわち、TDMスロット当たりのバーストの数である。同じような考え方をある好ましい実施形態で応用して、レジスタ1003−3と1003−4中の情報を表すのに必要なビットの数を最小化している。ある好ましい実施形態では、システムのデジタルサンプリングレートは100MHzであり、チップ当たり10個のサンプルが存在する。したがって、この実施形態では、レジスタ1003−5は、10を法としたチップの数、すなわち、チップ当たりのサンプルの数を表す情報を含む。さらに、この実施形態では、サブサンプルレジスタ1003−6は、10nsに等しい期間の整数値を表す情報を含む。
【0056】
総合すると、レジスタ1003中の情報は、デバイスと他の1つのデバイスとの間のローカル時間値の差を表す。このデバイスのローカル時間値は、ローカル時間カウンタ1008に格納される。ローカル時間カウンタ1008はアップカウンタであって、システムクロック1009で定められるレートでインクリメントする。システムクロック1009は、ローカル発振器320からの信号をとって、それを矩形波を生成するためにリミッタ1008で処理することによって生成される。くわえて、ローカル時間カウンタ1008は複数のレジスタに区分化される。サブチップレジスタ1010−5は、固定期間の倍数値を表す情報を含む。固定期間はローカル発振器320の周期に等しく、また、位相オフセットアキュムレータ1002が採用する固定期間と同じである。システムクロック1009のサイクル毎に、ローカル時間基準1008がサブチップレジスタ1010−5中の値を1つだけ増し、最終的にはこの値は1チップ中の固定期間の数に等しくなる。サブチップレジスタ1010−5中の値が1チップ中の固定期間の数に等しくなると、サブチップレジスタ1010−5中の値はゼロに設定され、チップレジスタ1010−4中の値が1つだけ増す。チップレジスタ1010−4中の値がバースト当たりのチップ数に等しくなると、その値はゼロに設定されて、バーストレジスタ1010−3中の値が1つ増す。同様に、バーストレジスタ1010−3中の値がTDMスロット当たりのバースト数に等しくなると、その値はゼロに設定されて、スロットレジスタ1010−2中の値が1だけ増す。スロットレジスタ1010−2中の値がフレーム当たりのTDMスロット数に等しくなると、その値はゼロに設定されて、サイクルレジスタ1010−1中の値が1つ増す。TDMサイクルの整数値を表すサイクルレジスタ1010−1中の値がメッセージフレーム中のサイクル数に等しくなると、その値はゼロに設定される。総合すると、レジスタ1010の内容は、現在のデバイス300で推定されたTDMメッセージフレームに対するローカル時間値を表す。
【0057】
チップレジスタ1010−4の内容CTは、PNルックアップテーブル1010を用いてPNコード354を生成するために使用される。PNルックアップテーブル1014はレジスタの内容を出力するが、そのアドレスは、CTで与えられる現在のバースト中の現在のチップの数に基づいて計算される。ある好ましい実施形態では、PNルックアップテーブル1014は、デバイス300がマスターデバイスであるかスレーブデバイスであるかによって、2つの11ビット長BarKerシーケンスの内のどちらか一方を表すチップのシーケンスを生成する。
【0058】
ローカル時間値の内容とを表すローカル時間基準1008と、ローカル時間値とシステム内の別のデバイスのローカル時間値との差を表す位相オフセットアキュムレータ1002とが加算されて、他のそれぞれのデバイスのローカル時間の推定値が生成される。この目的のため、全加算器1012−1は、サブチップレジスタ1003−5からの値SCNとサブチップレジスタ1010−5からの値SCTとを加算して、サブチップSCLの調整された推定値を生成する。この加算による桁上げは全加算器1012−2に提供され、この全加算器はチップレジスタ1003−4からの値CNとチップレジスタ1010−4からの値CTとを加算して、チップCLの調整推定値を生成する。この加算による桁上げは全加算器1012−3に提供され、この全加算器はバーストレジスタ1003−3からの値BNとバーストレジスタ1010−3からの値BTとを加算して、バーストBLの調整炭推定値を生成する。この加算からの桁上げは全加算器1012−4に提供され、この全加算器はスロットレジスタ1003−2からの値SNNとスロットレジスタ1010−2からの値SNTとを加算して、スロット番号SNLの調整推定値を生成する。
【0059】
値CLとBLは、それぞれ、受信したRF信号中のチップ番号とバースト番号の最良の推定値を表す。これらを用いて、RF信号の受信と復調に必要とされる複数の信号が生成される。PNルックアップテーブル1016は、CLとBLの双方に依存するアドレスを持つレジスタの内容を出力することによって、PNコード328を生成する。ある好ましい実施形態では、PNルックアップテーブル1016は、現在のバーストに対応する送信側デバイスがマスターであるかスレーブであるかによって、2つの11ビット長Barkerシーケンスの内のどちらか一方を表すチップのシーケンスを生成する。PNコード328は、次に、遅延1018によって1チップだけ遅延される。PNコードの遅延バージョン1020とPNコード328は排他的論理和ゲート1022で比較されて、チップ遷移アーム322を生成する。遅延バージョンで表される現在のチップと前のチップが別々である場合にだけ、チップ遷移アーム322がアサートされる。最後に、位相オフセットアキュムレータ1002のサブサンプルレジスタ1003−6の内容が、デジタル−アナログルックアップテーブル1004と1006によって処理されて、それぞれデジタルステアリング値SnとCsを生成する。
【0060】
図11を参照すると、キャリアループ346の詳細な動作が図示されている。相関同相オンタイム出力RC1と相関直角位相オンタイム出力RS1とは、逆拡散信号332の一部として相関/角度ローテータ326(図3)によって提供される。ロック検出サブモジュール1102は、自乗法則増幅器(square-law amplifiers)1104および1106と、加算器1108と、デジタル積分器1112とを含む。自乗法則増幅器1104はRC1を処理して、単極の二進出力データストリームを生成する。同様に、自乗法則増幅器1106はRS1を処理し、その結果得られる単極の二進出力ストリームを、自乗法則(square law)増幅器1104で生成されたそれから加算器1108で減算する。次に、この現在の結果をデジタル積分器1110で合算して、キャリアロック検出信号1114を生成する。デジタル積分器1110は、マイクロプロセッサ338からのL値1112を利用して、入力データストリーム中のシンボルをどれだけ加算するかを決定する。大きいL値(2つ以上のシンボルに相当する)の使用することで、時間と共にキャリアロック検出1114の値が平滑化される。その結果、低値のキャリアロック検出1114は、キャリアループ346によるキャリア位相ロックの損失を示すものとして、正確に解釈することが可能となる。
【0061】
ローカルRF発振器308と受信メッセージのキャリア成分間の周波数の差と位相の差を補償するため、一部の実施形態は、自動周波数制御(AFC)回路を含む。図11を参照すると、相関同相オンタイム出力RC1は、1シンボルだけ遅延1140によって遅延されて、双方の信号がAFC周波数弁別器1144に提供される。同様に、相関直角位相オンタイム出力RS1は、1シンボルだけ遅延1142によって遅延されて、双方の信号がAFC周波数弁別器1144に提供される。AFC周波数弁別器1144は、分量RC1(RS1−RS1D)−RS1(RC1−RC1D)に比例する誤差信号1146を生成する。ここで、RC1DとRS1Dは、それぞれRC1とRS1の遅延バージョンである。分量(RS1−RS1D)と(RC1−RC1D)はその大きさが、それぞれ信号RC1とRS1のチップ内での変化率に比例する。ローカル発振器の周波数が受信したRF信号のそれと異なる場合、RC1とRS1は所与のチップ内でも一定ではなく、また、分量(RS1−RS1D)と(RC1−RC1D)は非ゼロであり、非ゼロ誤差信号1146が生成される。誤差信号1146は、乗算器1148でチャネル選択信号Siを用いてゲーティングされ(Error signal 1146 is gated by multiplier 1148 with channel select signals Si)、利得K3を持つ増幅器1150で増幅される。マルチプレクサ1152は、2つの動作モード(一方では誤差信号1146が位相の推定に利用され、他方では利用されない)を可能とする働きをする。マイクロプロセッサから提供されるMUX制御信号1153は、増幅器1150の出力か一定値ゼロかを選択する。AFC誤差信号343の結果は、一部の実施形態では、PLL/フィルタブロック340(図3)に送られる。一部の実施形態では、マイクロプロセッサ338はMUXコントロール153を設定して、キャリアロック検出信号1114がアサートされた場合にだけ一定値0入力を選択するようにさせる。別の実施形態では、MUXコントロール1153の値を選択する他の基準を用いてもよい。
【0062】
キャリアループ347が提供する主要な機能性は、θ、すなわち、ローカルRF発振器308と受信メッセージのキャリア成分間の位相差を、信頼性高く推定することである。一部の実施形態では、二次コスタスループをこの目的のために用いる。相関同相オンタイム出力RC1は、シグナム(signum)ブロック1120で処理される。シグナムブロック1120の出力は、RC1の極性次第で、極性が反対の2つの値の内の一方となる。ミクサ1122は、シグナムブロック1120の出力に相関直角位相出力RS1を乗算する。ローカルRF発振器とメッセージのキャリア間の位相差が小さければ、RS1≫sin(θ)である。
【0063】
ミクサ1122の出力は次に、ミクサ1124を介してチャネル選択信号Siによってゲーティングされる。ミクサ1124の出力は次に、コスタスループの一次部分中を通過して、デジタル乗算器1126で利得K1を乗算される。ミクサ1124の出力はまた、コスタスループの二次部分で処理される。ミクサ1124の出力は、デジタル乗算器1128中で利得K2により乗算されて、その結果が加算器1130に渡される。加算器1130はまた、入力として、アキュムレータ1132の現在値を受信する。アキュムレータ1132は、加算器1130の出力を入力として受信して、これで閉ループが完成する。アキュムレータ1132の出力は、この閉ループのおかげで、デジタル乗算器1128の出力のローパスフィルタリングバージョンである。アキュムレータ1132の出力とデジタル乗算器1126の出力とは、加算器1134で加算され、その結果は加算器1154でAFC誤差343と加算される。
【0064】
加算器1154の出力は、アキュムレータ1160の出力と一緒に加算器1158に供給される。アキュムレータ1160は、その入力として、加算器1158の出力を取る。このように形成された閉ループは、別のローパスフィルタとして機能して、NCO位相330から遷移誤差を除去する。NCO位相330は、相関/角度回転回路326によって用いられることを想起されたい。
【0065】
図12を参照すると、PLL/フィルタ340は複数のチャネルモジュール341を含み、モジュールはその各々がフェーズロックドループ(PLL)を含み、これで、ステアドクロック信号中のエッジと他のデバイスの内の1つのデバイスから受信されたメッセージ中のエッジとの間の時間差を推定する。一部の実施形態では、チャネルモジュールの数は測位システム内のデバイスの数以上であり、したがって、各々のPLLはシステム内の他のデバイスの内のそれぞれ1つにロックされたまま留まることが可能である。別の実施形態では、単一のPLLが用いられる。
【0066】
PLL/フィルタ340は、TRKモードとACQモードの双方で動作可能である。動作モードは、2つの入力1212と1222のどちらがマルチプレクサ1204によってチャネルモジュール341に渡されるかを決定する、マイクロプロセッサから受信されたモード制御信号1202で決定される。
【0067】
ACQモードでは、キャリア位相がロックされることは想定されていないので、同相(RC1、DC1)と直交位相(RS1、DS1)の相関信号の双方を用いて、チャネルモジュール341に対する入力を決定する。RC1は乗算器1214によってDC1と混合され、その結果は加算器1218に入力される。ステアドクロック信号中のエッジと複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジ間に差がない場合、乗算器1214の出力はゼロに非常に近い値となる。同様に、RS1とDS1は乗算器1216により混合され、その結果は加算器1281に入力される。同相信号と直角位相信号の双方を混合することによって、キャリア位相ロックが欠如するという影響が緩和され、これで、チャネルモジュール341への入力を、RC1≫0、DC1≫0の場合でさえも生成することが可能となる。最後に、ACQモードでは、この混合の合計結果が加算器1218の出力から取って、マルチプレクサ1204に入力され、ここで、ACQモードにあるチャネルモジュール341に渡される。
【0068】
一方、TRKモードでは、キャリア位相がロックされることが想定されている。したがって、同相信号RC1とDC1だけが用いられる。相関同相オンタイム信号RC1は、シグナムブロック1206で処理される。シグナムブロックの出力は、RC1の極性次第で、極性が反対の2つの値の内の一方をとる。ミクサ1208は、シグナムブロック1208の出力に早/遅相関信号DC1を乗算する。結果として得られる信号1212は、マルチプレクサ1204に入力され、ここでTRKモードにあるチャネルモジュール341に渡される。
【0069】
どちらの動作モードでも、チャネルモジュール341はフェーズロックドループを組み込む。フェーズロックドループに対する入力は、システム内の他のそれぞれのデバイスからのメッセージを受信中である場合のタイムスロット中では、非ゼロ値をとることしか許されない。このようなタイムスロット中では、モジュール選択信号Siがアサートされて、マルチプレクサ1204の出力が乗算器1230を通過することが許容される。フェーズロックドループに対するゲーティングされた入力は、デジタル乗算器1234の利得K1で増幅される。フェーズロックドループに対するゲーティングされた入力は、デジタル乗算器1240の利得K2で同様に増幅される。デジタル乗算器1240の出力は、アキュムレータ1246の出力と共に加算器1244に供給される。アキュムレータ1246は、その入力として、加算器1244の出力を取る。このように形成された閉ループは、ローパスフィルタとして機能して、出力1254の迅速な変動を平滑化する。K2の値がK1に対して高いと、それに対応して、追跡ダイナミックスは速度と雑音が減少する。逆に、(K2に対する)K1の値が高ければ、それに対応して、ループの追跡ダイナミックスは迅速になるが、潜在的に安定性が劣化し雑音が高くなる。
【0070】
一次ループの結果1238と二次ループの結果1254を加算器1256で加算して、その結果、予備調整値1258が得られる。最後に、(図3のキャリアループ346からの)AFC誤差343は、増幅器1260で係数Mが乗算され、加算器1262で予備調整値1258と加算される。結果得られる調整値342は、ステアドクロック312(図3)中のエッジと他のそれぞれのデバイスから受信したメッセージ中のエッジとの間の差を表している。
【0071】
前記の説明は、測位システム内の全てのデバイスが複数のタイミングパラメータを決定することが可能であり、これで、TDMフレームの適切なスロット中で情報ビットを復調して送信することが可能であることを前提としていた。受信したチップのストリームを解読するためには、相関/角度回転ブロックの1シンボル加算器812(図8)は、どのチップは、1つの情報シンボル中の11個のチップの内の最初のチップであるかを判定することが可能でなければならない。この判定を可能とするために、図13に示すように、マッチドフィルタ(matched filter)1300は、ウインドウ化積分/ダンプ回路310(図3)からデジタル信号324を受信する。
【0072】
同相サンプルデータストリームIQ中に情報ビットが存在することを検出するため、マッチドフィルタ1300は、最初にIQをシグナムブロック1302中を通過させる。シグナムブロック1302は、大きさがゼロより大きい全ての入力信号に対してハイ論理レベル(+1)の信号を出力し、大きさがゼロ以下である全てのアナログ入力信号に対してロー論理レベル(−1)の信号を出力する。したがって、シグナムブロック1302は出力チップストリーム1304を生成し、このストリームは、本質的に、同相サンプルチップストリームを量子化したものであり、論理レベルがハイかローの値だけを想定したものである。同相サンプルデータストリームIQは、COS(θ)−sin(θ)に比例した大きさを有する。ここで、θは、受信されたメッセージがローカルRF発振器信号をリードする位相角度を表している。出力チップストリーム1304は、この位相差には影響されない大きさのレベルを有する。
【0073】
次に、チップストリーム1304が、シフトレジスタ1306に入力される。チップストリーム1304は、実際にはサブチップパルスを含む。ある好ましい実施形態では、そのサブチップレートはチップレートの10倍である。シフトレジスタ1306は、複数のチップレジスタ1308を含む。一般に、チップレジスタ1308の数は、用いられるPN拡散コードの長さと等しいことが必要である。各々のチップレジスタ1308は、さらに、1つ以上のサブチップレジスタ(図示せず)を備えている。ある好ましい実施形態では、各々のチップレジスタ1308は、10個のサブチップレジスタを備えている。サブチップサンプリングレートと等しいレート(好ましい実施形態ではチップレートの1/10)で、各サブチップレジスタ中のサブチップが左から右にシフトされる。たとえば、サブチップレジスタ1308−11の最初にサブチップレジスタは、サブチップ毎に一回、その前の内容を捨てて、チップストリーム1304から最新のサブチップを格納する。各々のシンボルレジスタ1308中の10個のサブチップがサブチップ毎に出力されて、サブチップ毎に(sub-chip-wise)マスターデバイスの11ビット長のBarkerコードの一部と乗算される。たとえば、チップレジスタ1308−11は、ストリーム1304から最新の10個のサブチップ1308−11−1,...,1308−11−10を出力する。11ビット長のBarkerシーケンス中の最後のチップの値d11に各々の出力サブチップを乗算器1309−11−1、....,1309−11−10で乗算する。これら10の乗算の結果が次に加算器1307−11で合計され、加算器ブロック1310に入力される。同様に、チップレジスタ1308−11は、レジスタ1308−11に格納されている10個のサブチップ1308−01−1,...,1308−01−10を出力する。11ビット長のBarkerシーケンス中の最初のチップの値d11に各々の出力サブチップを乗算器1309−09−1、....,1309−09−10で乗算する。これら10の乗算の結果が次に加算器1307−11で合計され、加算器ブロック1310に入力される。
【0074】
各々のレジスタ1308中の10個のサブチップが1つのチップに対応している場合には、サブチップの乗算と加算の集合効果は、ストリーム1304にチップ毎に11ビット長のBarkerコードd1、...,d11が乗算され、その結果が加算器1310で合計されるというものである。加算器1310の出力は、Barkerコードと最新の11個のチップの相関値であり、PNBarkerコードの特性のため、レジスタ中の11個のチップが完結した情報シンボルを表している場合には、実質的にゼロとは異なった値しか取らない。次に、加算器1310の出力は、自乗法則ブロック1312で処理されて、その値が正であることが保証され、結果が加算器1324に入力される。
【0075】
直角位相サンプルデータストリームQQの処理は、(同相)サンプルデータストリームIQのそれと類似の仕方で進行するが、次の動作を含む:
・シグナムブロック1314でチップを量子化する;
・シフトレジスタ1316にチップを格納する;
・乗算器と加算器1320によって、格納されているチップをマスターデバイスのBarkerコードと相関させる;
・結果として得られる信号を自乗法則ブロック1322で自乗して、その結果を加算器1324に提供する。
最後に、加算器1324は、IQとQQの処理の自乗出力を加算して、その結果、シンボル存在検出信号1326が得られる。直交位相サンプルデータストリームQQの処理もまた、サブチップレジスタ(図示せず)、サブチップ乗算器1319およびサブチップ加算器1317を用いる。
【0076】
どのチップが、1つの情報ビットを有する11個のチップの内の最初のチップであるかを判定することに加えて、デバイスは、TDMバースト中でのシンボルの相対的な位置を判定することが可能である必要がある。これを遂行するために、バースト整列回路1400(図14)は、シンボル存在検出信号1326を処理する。閾値検出ブロック1402は信号1326を監視して、入力信号1326がある所定の閾値を超えたら、ハイ論理レベルパルス1405を出力1404中に出力する。この閾値は、マッチドフィルタ1300による情報シンボルの検出に対応するように選ばれる。ワンショット1406は、その入力部でパルスを検出したら、TDMスロットの長さより少し短い持続時間(これはまた、TDMバーストの長さにガード時間の長さを加算したもの)にわたってハイ論理レベル信号を出力する。論理ANDゲート1408は、ワンショットの出力と閾値検出ブロックの現在の出力1404とを比較して、双方が共にハイ論理レベル状態であれば出力1410をアサートする。カウンタ1412は、信号1410がロー論理レベルからハイ論理レベルに遷移する毎に、内部に格納してある値をインクレメントする。ワンショット1046の出力がハイからローに論理レベル遷移すると、出力1414が検査される。出力がバースト中のビットの数(最初のビットはカウントしない)より1つ少ない数値であれば、検出された最初のビットは、TDMバースト中の最初のビットであったはずである。ワンショット1406をトリガーしたビットがTDMバースト中の最初のビットでなかった場合、カウンタ1414は、TDMバースト中のビット数より2つ以上少ない値を有する。マイクロプロセッサは、ワンショット1406の出力とカウンタ1412の出力1414を監視して、TDMバースト中で受信された最新のビットの相対的な位置を決定することが可能である。
【0077】
現在のTDMバースト中の最新の検出ビットの位置に加えて、システム内のデバイスはまた、TDMフレーム中の現在のTDMまたはTDMスロットの位置を決定することが可能でなければならない。これには、システム内の2つ以上のデバイスによる同時放送を防止することと、受信側デバイスに、受信されたメッセージのタイミングに基づいて送信の送り手を推測することを可能とすることの双方が必要である。システム内の全てのデバイスにTDMフレーム中の現在のTDMスロットの位置を決定することを可能とさせるために、マスターデバイスは、フレーム毎に一回、特殊なフレームマーカーメッセージを送信する。フレームマーカーの使用は、デジタル通信の技術上公知である。一部の実施形態では、フレームマーカーは2つの連続バーストから成る。第1のバーストは10個の情報ビットを含み、その全てが+1という値を持つ。第2のバーストはマスターのユニットIDを含むが、これは他のデバイスの全てによって知られている。一緒にすると、これら2つのバーストは、20ビット長であり、通常の情報担持メッセージの一部としてマスターによって送信される確率はきわめて低い。したがって、デバイスは、これら2つのバーストを受信すると、そのローカル時間を(図10のクロックステアリング回路中のレジスタを介して)リセットすることが可能である。
【0078】
上の記述は、その説明の目的上、特定の述語を用いて、本発明を完全に理解するようにした。しかしながら、特定の詳細は、本発明を実施するためには必要ないことが当業者には明らかである。上記の実施形態を選んで説明した目的は、本発明の原理とその実際の応用分野を最も良好に説明し、これによって、当業者が、本発明と、予測される特定の用途に適すように実施されたさまざまな修正を持つさまざまな実施形態を最良に利用することが可能となるようにすることである。したがって、上記の開示は、これに尽きるものでもなければ、本発明を開示形態に厳密に制限することを意図するものではない。多くの修正や変更が上記の教示から可能である。
【0079】
本発明の範囲はクレームとその同等物とによって定義されることを意図するものである。
【図面の簡単な説明】
【0080】
【図1】双方向測距動作を示す説明図である。
【図2】3つ以上のデバイスを有する双方向測位システムの説明図である。
【図2A】少なくとも4つのデバイスを有する双方向測位システムの説明図であり、その内の3つの静止状態のデバイスの位置が既知である。4番目の、多分モバイルのデバイスの位置は、この4番目のデバイスから他の3つのデバイスの各々のデバイスへの距離から決定される。
【図3】測位システム内の1つのデバイス(たとえばD1)のトランシーバのブロック図である。
【図4】図2に示すような、3つのデバイスを有する例示のシステム内のデバイス間でのRF信号の交換を示すタイミング図である。
【図5】測位システムが8個のデバイスから成っているある実施形態による周期的にメッセージを送信するタイムスロットの位置と構造を示すタイミング図である。
【図6】多経路干渉を排除するための、受信RF信号のWウインドウ化積分動作とQウインドウ化積分動作の図である。
【図7】測位システム内の1つのデバイスのウィンドウ化積分/ダンプブロックのブロック図である。
【図8】測位システム内の1つのデバイスの相関/角度回転ブロックのブロック図である。
【図9】1つのデバイスのシンセサイザのブロック図である。このシンセサイザは、ステアドクロック信号を発生するが、この信号は、測位システム内の他の複数のデバイスの内の1つのローカルクロックとほぼ同期している。
【図10】調整値を格納するレジスタを含む測位システム内の1つのデバイスのクロックステアリングロジックの一部のブロック図である。
【図11】測位システム内の1つのデバイスのPLLとフィルタのブロック図である。
【図12】測位システム内の1つのデバイスのキャリアループのブロック図である。
【図13】測位システム内の1つのデバイス中のマッチドフィルタのブロック図である。
【図14】TDMバースト中の情報ビットの相対的な位置を測定する1つのデバイス中のバースト整列回路のブロック図である。
【技術分野】
【0001】
本発明は一般的には測位システムに関し、より詳しくは、複数のデバイスが互いにメッセージを交換して、これらデバイスの内の少なくとも1つが、他のデバイスから受信したメッセージの中の情報とこのメッセージの到達時間とに基づいて測位システム内の少なくとも1つの他のデバイスの相対的な位置を決定することが可能となるような測位システムを操作する装置と方法に関する。
【背景技術】
【0002】
ローカル測位システムは、特に自動車両と精密建設工具の応用に際して、ナビゲーション機能性を必要とするモバイルデバイスにおける重要な実現要因(enabler)となりつつある。GPSなどのグローバルポジショニングシステムは、通常は10cm以下の中程度の精度の測位情報だけを提供するし、水平線近くまでの空のはっきりした視界を必要とする。動作量(working volume)に応じて能動素子や受動素子(active or passive components)が分布しているローカル測位システムは、より正確な(1cm未満)測位が可能であり、ユーザは本システムを必要に応じて拡張して、より複雑な密閉形状内でさえもこれを操作することが可能である。
【0003】
従来のローカル測位システムは、音響システムとレーザ測距システムとを含む。音響システムは一般的には、トランスポンダビーコンを用いて、一部は固定されてローカル座標系を形成しているデバイスから成るネットワーク内の距離を測定する。不運にも、音は空気中を伝搬するという特性のため、音響システムはセンチメートル以上の精度でしか、また、比較的短い距離の範囲しか測定できない。レーザに基づくローカル測位システムは、あるデバイスとプリズムなどの1つ以上の反射性物体との間の角度と距離の双方の測定値を利用して、そのデバイスの位置を三角測量または三点測量(trilateralate)する。しかしながら、レーザシステムは現時点では、高価な測位メカニズムを利用しているが、このため、システムの経費が3万ドル以上のものとなりかねない。
【0004】
数ミリメートルの精度まで二次元または三次元の位置を決定できる相対的に低コスト(2000ドル未満)のローカル測位システムは、屋内及び屋外の精密建築、採鉱、精密農業、及び競技場の草刈り及び処理などの応用例の領域での多くの潜在的な製品を可能にするであろう。本発明は従来のローカル測位システムのコスト及び制度の制限を克服する。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明の上記のシステムと方法は、低コストで、しかも高精度のローカル測位システムを提供する。無線周波数(RF)信号をデバイス間で交換して、これらデバイス間を飛行時間を測定する。RF信号の伝搬速度は音響信号ほどには強く環境条件によって変動しないので、測距の精度が優れたものとなる。信号の交換のために用いられるRFアンテナの空間ビーム幅は、レーザのそれよりかなり広く、そのため、高価なポインティングメカニズムに対する必要性が解消される。
【課題を解決するための手段】
【0006】
ある好ましい実施形態では、測位システムはRF信号を互いに交換する複数のデバイス備える。各々のデバイスは、他のデバイスとRF信号を交換するためのトランシーバを含む。各デバイスのこのトランシーバは、他の各デバイスからのメッセージをこれら他のデバイスに割り当てられたタイムスロット中で周期的に受信する。各々のデバイスはさらに、ローカルクロック信号を発生するローカルクロックと、他のデバイスの各々からのメッセージの、ローカルクロック信号を基準とした到達時間を決定する受信機ロジックとを含む。送信機ロジックもまた各々のデバイス中にあり、これが、このデバイスに対して割り当てられたタイムスロット中で他のデバイスに対してメッセージを周期的に送信するが、送信された各々のメッセージには、他のデバイスの内の少なくとも1つの決定された到達時間を表す情報が含まれる。他の各々のデバイスから受信したメッセージには、受信側デバイスによって送信されたそれぞれのメッセージがその他方のデバイスに到達した時間を表す情報が含まれている。最終的には、本システム内のデバイスの内の少なくとも1つが、他の複数のデバイスに対するそれぞれの距離を測定する測距ロジックをさらに含んでおり、他の各デバイスについてのそれぞれの測定距離は、他方のデバイスからのメッセージの測定到達時間と他方のデバイスから受信されたメッセージ中の到達時間情報との関数として決定される。
【0007】
一部の実施形態では、あるデバイスのローカルクロックは、ローカル発振器によって制御されるレートで更新されるカウンタを含むが、このカウンタは、ローカル時間値を発生する。上記の実施形態では、デバイスは、調整値を格納するレジスタを含むクロックステアリングロジックと、このレジスタ中の調整値に反応してステアドクロック信号を発生するアナログクロック信号発生器とを含む。このステアドクロック信号は他のデバイスの内の1つのローカルクロックとほぼ同期している。
【0008】
デバイスがクロックステアリングロジックを含む一部の実施形態では、このデバイスの受信機ロジックは、ステアドクロック信号を利用して、このステアドクロック信号中のエッジ(たとえば、信号の上方または下方の遷移と関連するゼロ交差)と他のデバイスの内の1つからの受信メッセージ中のエッジとの間の差を測定するように構成されている。これらの実施形態の内の一部の実施形態では、クロックステアリングロジックを含むデバイスは、レジスタに格納されている調整値を、ステアドクロック信号中のエッジと複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む。
【0009】
デバイスがクロックステアリングロジックを含む一部の実施形態では、デバイスの受信機ロジックは少なくとも1つのウインドウフィルタを含むが、このフィルタは、ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する。これらの実施形態の内の一部では、このウインドウフィルタが用いるウインドウタイムフレームは、異なる持続時間を持つウインドウタイムフレームから成るシーケンス(a sequence of window time frames, of different durations)であり、これを期間シーケンス中で用いて(used during a sequence of time periods)、受信信号を積分する。時として、このウインドウタイムフレームシーケンスの最後のウインドウタイムフレームは、このウインドウタイムフレームシーケンスの最初のウインドウタイムフレームの100分の1以下になる。
本発明の他の目的と特徴は、以下の図面と一緒に詳細な説明と添付の特許請求の範囲を読めばより容易に明らかになるであろう。
これら図面の内のいくつかでは同様の参照数字はそれに対応する部品を示している。
【発明を実施するための最良の形態】
【0010】
従来の多くのローカル測位システムでは、送信機から受信機に送られた信号の飛行時間の測定値を用いて、この送信機と受信機の間のそれぞれの距離を決定する。一部のシステムでは、受信機は位置が未知のデバイス上に置かれ、送信機は位置が既知のデバイス上に置かれる。位置が既知であるデバイスの数が十分であれば、位置が未知のデバイスは、位置がわかっていないデバイスの各々からの送信を受信し、これらのデバイスの各々からの飛行時間を測定し、これらデバイスの各々に対する距離を測定し、次いでそれ自身の位置を三点測量することが可能である。
【0011】
受信機は、自身と送信機との間の飛行時間を送信信号の到達時間を用いて測定するためには、送信機がその信号を送信した時間を受信機が知らなければならない。一部の測位システムでは、送信機は、前もって同意された、受信機にとっては既知である時間に送信する。さらに別のシステムでは、送信機は信号が送られた時間を信号自体に符号化する。どちらの場合においても、送信機と受信機の双方が、時間測定のためのローカル時間参照動作を必要とする。送信機の参照と受信機の時間参照が同期していないと、受信機による飛行時間の測定に必ず重大な誤差が発生する。ローカル測位システムでは、送信機と受信機は一般に互いに異なったデバイス中に常駐しており、これが同期化を困難なものとしている。
【0012】
測位システム内の各々のデバイスのローカル時間信号を同期化する必要性を取り除くため、本発明の一部の実施形態では、双方向測距方式を採用している。図1は、双方向測距動作を解説する説明図である。測位システム100は2つのデバイスD1とD2を備えている。各々のデバイスが、受信機102と、送信機104と、ローカル時間信号を発生するローカルクロック106とを含む。各々のデバイスは、特定のデバイスに割り当てられた時間にRF信号を送信する。D1は、D1のローカル時間信号を基準として測定された時間T0T1に、RF信号を送信する。次いでこの信号は、D2において、D2のローカル時間信号を基準として測定された時間T0A2に受信される。また、D2は、D2のローカル時間信号を基準として測定された時間T0T2に、RF信号を送信する。次いでこの信号は、D1において、D1のローカル時間信号を基準として測定された時間T0A1に受信される。
【0013】
RF信号の伝搬速度cは真空中で3.0×108m/sであることが知られている。一般的な大気条件下では、RF信号の伝搬速度の変動幅はこの値から300ppm(パーツパーミリオン)未満である。高度と他の環境的要因に関する情報を用いることによって、測位システムの環境下におけるRF信号の伝搬速度は、100ppm以内で測定可能である。したがって、2つのデバイス間での飛行時間の正確な測定値を(分かればであるが)用いて、これら2つのデバイス間の距離を正確に推定することが可能である。
【0014】
双方向測距システム中で飛行時間を正確に測定するために、一部の実施形態では、D1のローカル時間信号を「正しい」時間と見なす。このような実施形態では、D1のローカル時間信号は正確さという点でシステムの他のデバイスより優れている。別の実施形態では、システム中の全てのデバイスのローカル時間信号が不正確である可能性が等しい。D1が「正しい」時間であると見なされたと仮定すると、D2によって測定された時間はある分量DTだけオフセットされる。したがって、D1からD2に送信された信号の真の飛行時間はT0A2+DT−T0T1である。同様に、D2からD1に送信された信号の真の飛行時間はT0A1−T0T2−DTである。クロック同士間のオフセットDTは未知の量であり、単独で測定されたどの飛行時間からでも距離を正確に測定することを妨げる。そうする代わりに、D1のローカル時間信号を基準として測定された飛行時間の平均:
([T0A2+DT−T0T1]+[T0A1−T0T2−DT])/2=(T0A2+T0A1−T0A1−T0T2)/2
を検査すると、クロック同士間のオフセットに起因する誤差DTが消滅することが分かる。したがって、距離rの正確な測定値は、RF信号の伝搬速度に飛行時間の平均値を乗算したものとして与えられる。:
r=c([T0A2−T0T1]+[T0A1−T0T2])/2
【0015】
上記の説明は、双方向測距の基本的な原理を解説したものである。測位システム中の単一のデバイス、たとえば、モバイルデバイスが、自身で距離を計算することが可能であることが望ましい。複数のデバイスから成る測位システムにおいて双方向測距方式を採用するためには、距離を正確に計算するために、双方のデバイスでの到達時間が既知のものでなければならない。一部の実施形態では、D1による双方向測距動作は、D2に、その到達時間(T0A2)の情報をD1に送信されるRF信号に符号化させることによって可能となる。すると、D1はこの情報を解読して、その送達時間の測定値(T0A1)とともに、D2への距離を決定する。
【0016】
双方向測位システムで発生するもう1つの厄介な問題は、デバイスのローカル時間信号同士間の周波数すなわちレートのオフセットの存在である。この誤差は、デバイスが、到達時間の記録に加えて、到達の周波数をも記録するようにすれば、緩和することが可能である。受信機の基準時間を基準とした到達の周波数は、たとえば、キャリアのフェーズロックドループ(PLL)によって測定することが可能であり、また、これを用いて、送信側デバイスのローカル時間信号と受信側デバイスのローカル時間信号間のタイムレート差の端数を測定することが可能である。この2つのデバイスのローカル時間信号が自身の公称の周波数を等しく正確に表している可能性があれば、この2つのデバイスのローカル時間信号間のタイムレートの平均値が利用可能な最良の時間基準である。各々のデバイスが他のデバイスに対する相対的な周波数測定値を有しているため、各デバイスは、あらゆる時間測定値を1秒の共通定義へ変換する(convert any time measurement to a common definition of one second)ための周波数係数を計算することができる。
【0017】
一部の実施形態では、各々のデバイスにおいて、1秒のシステム全体の定義を、他のデバイスの各々から受信したメッセージの到達周波数を平均化することによって計算する。別の実施形態では、システム内のデバイスの1つが、システム中の他のデバイスよりかなり正確なローカル時間値を有している。これで、システム中の全てのデバイスがこのデバイスからの到達周波数の測定値の情報を用いて、これらデバイスのローカル時間値に関して1秒の共通定義を得る。
【0018】
次に、3つ以上のデバイスを有する測位システムの実施形態における双方向測距動作を説明する。図2は、測位システム200の説明図である。システム200は複数のデバイスD1、D2およびD3を含む。図2中ではこのようなデバイスが3つしかないが、他の実施形態では、これ以上またはこれ以下のデバイスが存在しうる。一部の実施形態では、用いられるデバイスの数は、位置が調査済みであるデバイスを基準とした1つのデバイスの位置を正確に決定する目的にとって適切な値である。たとえば、図2Aでは、測位システム中の4つのデバイスD1、D2、D3、およびD4が存在する。D1、D2およびD3の位置が(たとえば、前もって調査しておいて)既知であり、デバイスD1、D2およびD3は同一直線状にはなく、デバイスの全てが2次元平面上にあると仮定すると、デバイス相互間距離d14、d24およびd34とデバイスD1、D2およびD3の位置とがわかっていれば、明瞭にD4の位置を測定することが可能である。この目的のためのアルゴリズムは当業者には周知である。たとえば、本明細書中にその全体を参照して組み込まれる、プエルトリコのSan Juanでのコンピュータ科学の基礎のための32回年次シンポジウムの、1991年発行の会議録中の414〜423ページのH. EdelsbrunnerとT.S. Tanによる「ミニマックス長さ三角測定の二次時間アルゴリズム」を参照されたい。別の実施形態では、これらデバイスは全てがおなじ2次元平面上にあるわけではない。このような実施形態では、少なくとも4つの同一平面上にはないデバイスの位置が、第5のデバイスと最初の4つのデバイスの各々のデバイス間の距離に関する知識から第5のデバイスの位置を明瞭に決定するために、既知でなければならない。
【0019】
図2にまた目を向けると、ある実施形態では、D1、D2およびD3がRF信号202を互いに交換している。D1はRF信号202をデバイスD2からの送信206において受信する。送信206のメッセージには、デバイスD1からデバイスD2への前の送信204の到達時間を表す情報が含まれている。次に、デバイスD1での送信206の到達時間は、送信204の到達時間を表す情報と共に、D1からD2への距離を決定するためにD1によって用いられる。同様に、D1がD3から送信210を受信する。送信210には、デバイスD1からデバイスD3への前の送信208の到達時間を表す情報が含まれている。次に、デバイスD1での送信210の到達時間は、送信208の到達時間を表す情報と共に、D1からD3への距離を決定するためにD1によって用いられる。一部の実施形態では、2つ以上のデバイスが、システム中のデバイス同士間の距離を決定する測距ロジックを含む。たとえば、図2では、デバイスD2がデバイスD3から送信214を受信する。送信214には、デバイスD2からデバイスD3への送信212の到達時間を表す情報が含まれている。次に、D2が、測距ロジックを用いて、D2からD3までの距離を、送信214の到達時間とそれに含まれる到達時間情報とに基づいて決定する。
【0020】
このように、測位システム中のデバイスは、受信したメッセージの到達時間を決定して、他のデバイスから受信したメッセージ中の送られてきた到達時間情報を解読する。加えて、デバイスは、システム内の他のデバイスに対して、システム内の他のデバイスからのメッセージの到達時間を表す情報を含むメッセージを送信することが可能である。図3を参照すると、デバイス300は、RF信号を受信し、処理し、送信するための複数の機能ブロックを含む。アンテナ302はRF信号を測位システム内の他のデバイスから受信する。Tx/Rxスイッチ304は、受信したRF信号をRF―ベースバンドブロック306にルーティングする。RF―ベースバンドブロック306は、RF発振器308が発生したキャリア周波数信号307を、受信したRF信号と混合して、結果得られるベースバンド信号309をウインドウ化積分/ダンプ回路310に送る。ある好ましい実施形態では、ローカルRF発振器308及び交換されたRF信号の周波数は、5.8GHzである。別の実施形態では、キャリア周波数は、FCC ISM帯域内のどの周波数でもよい。たとえば、別の実施形態では、キャリア周波数は次の周波数帯域の内のどれでもよい:0.915GHz±0.013GHz、2.450GHz±0.050GHz、5.800GHz±0.075GHz、24.125GHz±0.125GHz、61.250GHz±0.250GHz、122.5GHz±0.5GHz、245GHz±1GHz。さらに別の実施形態では、別の周波数帯域も可能である。しかしながら、一部の周波数帯域では、米国内でデバイスを合法的に操作するためにはFCCまたは他の政府機関のライセンスをユーザが得る必要がある。キャリア周波数を高くしていくとついには、距離の測定精度を改善することが可能となる。キャリア周波数を低くしていくと、より低い複雑さとコストの回路の使用が可能となる。
【0021】
ベースバンド信号309に加えて、ウインドウ化積分/ダンプ回路310は、シンセサイザ314からステアドクロック信号312を受信する。シンセサイザ314は、クロックステアリング回路318から提供されたアナログ調整値316とローカル発振器320からの信号とを利用して、ステアドクロック信号312を発生する。ある好ましい実施形態では、ローカル発振器320は、100MHzの正弦波信号を発生する。別の実施形態では、ローカル発振器320の周波数は、3.3MHzから200MHzの範囲内のどの周波数でもよい。ローカル発振器320の周波数は、デバイスのある好ましい実施形態では内部デジタル信号処理で用いているので、周波数が高ければ、より高いデータレートでの通信が可能となる。特に、周波数が高くなると、より高いデータレートを持つベースバンド信号をサンプリングするために、ウインドウ化積分/ダンプ回路310で、ベースバンド信号309をデジタルサンプリングする速度を増すことが可能となる。一方、高いデータレートを持つベースバンド信号によって、システム内でのデバイス間でのRF信号の交換がより迅速となり、ついにはより複数のデバイスがシステム内で存在することが許容される。
【0022】
ウインドウ化積分/ダンプ回路310は、ステアドクロック312とチップ遷移アーム322とを用いて、ベースバンド信号309を処理してデジタル信号の集合324とする。ウインドウ化積分/ダンプ回路310のこの動作を以下に図7を参照してより詳しく説明する。
【0023】
ウインドウ化積分/ダンプ回路310は、デジタル信号324を相関/角度回転回路326に提供する。クロックステアリング回路318は、受信した擬似雑音(PN)コード328を相関/角度回転回路326に提供する。一部の実施形態では、受信したPNコード328は、クロックステアリング回路318によって、現行の受信したRF信号を送信したデバイスのアイデンティティに基づいて生成される。別の実施形態では、受信されたPNコード328は、どのデバイスから受信したRF信号でも同じである。キャリアループ346は、ローカルRF発振器308が発生した信号307と受信メッセージのキャリア信号との間の位相差を表す数値制御発振器(NCO)位相330を、相関/角度回転回路326に提供する。NCO位相330とPNコード328とは、デジタル信号324を処理して逆拡散信号332とするために、相関/角度回転回路326により用いられる。相関/角度回転回路326のこの動作を、図8の説明と一緒にして以下に詳しく説明する。
【0024】
マイクロプロセッサ338は、逆拡散信号(despread signals)332を用いて、受信したRF信号の符号化された情報を決定する。マイクロプロセッサ338は、PLL/フィルタ340から調整値342を受信し、キャリアループ346からNCO位相330を受信する。この情報をマイクロプロセッサ338が用いて、受信したRF信号の飛行時間を計算し、この飛行時間は、次にマイクロプロセッサ338中のレジスタに格納される。
【0025】
周期的に、マイクロプロセッサ338は、システム内の他のデバイスから受信したRF信号の到達時間情報を含むベースバンドメッセージ350を発生する。このベースバンドメッセージ350は、ベースバンドエンコーダ352に送られる。ベースバンドエンコーダ352は、ベースバンドメッセージとクロックステアリング回路318により提供された送信PNコード354とを混合して、ベースバンドメッセージを拡散させて、その結果、拡散ベースバンド信号351を発生する。この拡散ベースバンド信号351は、ベースバンド−RFコンバータ356に伝達され、ここで、ローカルRF発振器308により提供されたキャリア周波数信号353と混合されて、キャリア周波数にアップ変換される。このアップ変換され拡散された信号355は次に、Tx/Rxスイッチ304を介してアンテナ302に送られる。アンテナ302は、このメッセージをシステム内の他のデバイスに送信する。
【0026】
デバイス300のトランシーバ、受信機ロジック及び送信機ロジックの動作について概括したので、ステアドクロック信号312、NCO位相330および調整値342の発生に注目する。クロックステアリング回路318は、複数のレジスタ319を含む。一部の実施形態では、各々のレジスタはシステム内の他のデバイスの1つに対応しており、デバイス300のローカルクロック信号と他のデバイスのそれとの間の時間差を表す値を含む。この値に基づいて、クロックステアリング回路318はアナログ値316を発生し、この値がローカル発振器320が提供したクロック信号と共にシンセサイザ314により用いられ、ステアドクロック信号312を生成する。ステアドクロック信号312は、現在受信中のメッセージの送り元のデバイスのローカルクロックに略同期するように生成される。シンセサイザ314とクロックステアリング回路318の動作を、図9と10をそれぞれ参照して以下にさらに詳しく説明する。
【0027】
NCO位相330は、キャリアループ346によって発生される。キャリアループ346は、複数のキャリアロックドループ347を含む。一部の実施形態では、キャリアロックドループの数は、システム内のデバイス300以外のデバイスの数に等しく、各々のキャリアロックドループは、他のデバイスの内の1つのデバイスからのメッセージのキャリア位相を追跡するために用いられる。別の実施形態では、デバイスは、他の全てのデバイスからのメッセージのキャリア位相を追跡するために用いられるキャリアロックドループをたった1つしか含んでいない。キャリアループ346の動作を図11の説明と共に以下にさらに詳述する。
【0028】
調整値342は、フェースロックドループ(PLL)/フィルタ340によって発生される。PLL/フィルタ340は、複数のチャネルモジュール341を含む。一部の実施形態では、チャネルモジュールの数は測位システム内のデバイス300以外のデバイスの数に等しく、各々のチャネルモジュールを用いて、このデバイスのローカルクロック信号と他のデバイスの内の1つのデバイスのそれとの間の差を追跡する。別の実施形態では、存在するチャネルモジュールの数は少ないが、これを用いて、このデバイスのローカルクロック信号と他のデバイスの内の1つのデバイスのそれとの間の差を追跡する。PLL/フィルタ340は、マイクロプロセッサ338からコマンドと制御情報344を受信し、相関/角度回転回路326から逆拡散信号332を受信する。加えて、PLL/フィルタ340は、キャリアループ346から自動周波数制御(AFC)誤差信号343を受信する。PLL/フィルタ340の動作を、図12の説明と共に以下にさらに詳述する。
【0029】
2つ以上のデバイスが同じRF周波数の信号を介してメッセージを送信することを可能とするためには、多重アクセス通信プロトコルが必要である。本書に記載する本発明の実施形態は、多重アクセス(TDMA)通信プロトコルを用いて、この問題を解決している。図5に、8個のデバイスを含む測位システム中で用いられるTDMAプロトコルの詳細を示す。メッセージフレーム502は、このプロトコル中で最大の時間区分(division of time)である。メッセージフレームは時間内で周期的に繰り返されて、デバイス間でRF信号を繰り返し交換することを可能とする。ある好ましい実施形態では、メッセージフレーム502の持続時間は0.1秒である。メッセージフレームの持続時間は、システム内の全てのデバイスが静止状態のまま留まるものと期待される時間量に対応する。したがって、デバイスがゆっくり移動する応用分野に適応される一部の実施形態では、メッセージフレームの持続時間が1分にも達することがある。別の実施形態では、この持続時間は0.01秒と短い。しかしながら、持続時間がさらに短いと、結局は、測位システムに含むことが可能なデバイスの数が限られることになる。
【0030】
メッセージフレーム502は、複数のTDMサイクル506を含む。一部の実施形態では、各TDMサイクル506中で、システム内の各デバイスが、メッセージの一部を含むRF信号を送信する。このように送信された各々のデバイスからのメッセージは、メッセージフレーム502中のすべてのTDMサイクルからのRF信号が完了するまで、完了しない。ある好ましい実施形態では、各々のメッセージフレーム502は、800個のTDMスロットから成る。800という数字は、それがさまざまな整数(たとえば、4、5、8、10、16、20、25、32)で割り切れるので選ばれたものであり、これで、さまざまな数のデバイスを持つシシステム内のデバイスに対してTDMスロットを等しく区分化することが可能となる。ある好ましい実施形態では、各々のTDMサイクル506は8個のTDMスロット508を含み、TDMスロットは各々がシステム内の8個のデバイスのそれぞれ1つに対して割り当てられる。デバイスはその割り当てられたTDMスロット中でしかRF信号を送信しない。
【0031】
しかしながら、各々のデバイスがそのTDMスロット508の持続時間全体にわたって送信するものとすると、異なったデバイスの送信間での干渉が発生することも考えられる。いかなるデバイスにおいても、RF信号の伝搬速度が有限であり、また、ローカル時間値(メッセージフレーム中の現在位置を決定するために用いられる)が不確かであるため、この潜在的な問題が発生する。RF信号の伝搬速度が有限であるため、所与のデバイスがRF信号を送信した後のある時間にわたって、システムのデバイス同士間のスペースにRF信号が存在することになる。したがって、あるデバイスがその割り当てスロットの正確に最後の時点で送信を停止すると、RF信号は、次のタイムスロットの開始後までには、他の全てのデバイスに達しないであろう。次のタイムスロットが割り当てられているデバイスはすでに送信を開始しているわけであり、したがって、干渉が発生する。同様にして、2つのデバイスのローカル時間値が正確に一致していないと、自身に割り当てられたTDMスロットに現在の時間が属することを示すローカル時間値を持つ2つのデバイスが送信を開始すると、干渉が発生する。
【0032】
システム内の2つのデバイスの送信が干渉する可能性を解消するため、一部の実施形態では、各々のTDMスロット508は、ガード時間510と10個のデータシンボル512とを備えている。ある好ましい実施形態では、ガード時間510の持続時間は、システム内の任意の2つのデバイス間のRF信号の最大飛行時間の少なくとも2倍となっており、これで、別個のデバイスからの送信が決して重ならないことが保証される。一部の実施形態では、ガード時間510は、TDMスロット508の最初に位置している。代替例では、ガード時間の半分をTDMスロット508の最初に、残りの半分をTDMスロット508の最後に割り当てることも可能である。
【0033】
情報が送信されるTDMスロット508の部分は、TDMバースト514と呼ばれる。ある好ましい実施形態では、1つのTDMバースト514は、10個のデータシンボル512を含む。代替例では、これより多いまたは少ない数のデータシンボル512が各々のTDMバースト514に含まれる。各々のデータシンボル512は、複数のチップ516を含む。チップはメッセージフレーム502中での時間の最小の論理時間区分である。ある好ましい実施形態では、チップは、キャリア信号の二位相偏移変調(BPSK)バージョンの一定鍵付き値(constant-keyed value)を含む。キャリア信号のキーイングはチップレートを基準としたあるレートで発生するが(The keying of the carrier occurs at a rate referred to as the chip rate)、これは1チップの持続時間に反比例する。この好ましい実施形態で用いられる特定的なBPSK変調方式では、キャリア信号の位相は、論理値がハイ(1)かロー(0)かに対応して、それぞれ0°または180°だけシフトされる。本発明の別の実施形態では、これに限られないが、周波数シフトキーイング(FSK)と四相位相変調(QPSK)を含む他の変調技法を用いて、キャリア信号の各々のチップを符号化してもよい。
【0034】
ある好ましい実施形態では、各々のデータシンボル512は、考えられる4つの11ビット長のBarkerコードシーケンスの内の1つに対応する11個のチップ516を含む。最初の2つのBarkerコードシーケンス(10110111000とその論理的補数01001000111)は「マスターデバイス」と呼ばれるデバイスによってしか送信されない。マスターデバイスは、システム内の全ての他のデバイスのローカル時間値をTDMフレームを基準として同期化させる責任を持つ。これらのチップシーケンスを含むどの送信も、マスターデバイスから来たものと明瞭に解釈することが可能であり、これで、同期化というタスクが簡単なものとなっている。割り当てられたバーストにおいて、マスターデバイスは、バーストの各々のデータシンボル512中で2つのチップシーケンス、すなわち、論理レベルハイ(10110111000)と論理レベルロー(01001000111)の内の一方を送信する。他の2つのBarkerコードシーケンス(10101100000とその論理的補数01010011111)はマスターデバイス以外のシステム内の全てのデバイスに割り当てられる。したがって、これらのコードシーケンスを含むどの送信をも、特定のデバイスから来たものであると明瞭に解釈することが可能である。マスターデバイス以外のデバイスは、バーストの各々のデータシンボル512中の2つのチップシーケンス、すなわち、論理レベルハイ(10101100000)と論理レベルロー(01010011111)の内の一方を送信可能である。
【0035】
別の実施形態では、Barkerコード以外の擬似ランダム雑音(PN)コードを用いて、マスターデバイスと他のデバイスに対するチップシーケンスを決定する。GoldコードとKasamiコードは、当業者には周知の他のPNコードの例である。別の実施形態では、マスターデバイス用のチップシーケンスは他のデバイス用のそれを同じである。加えて、各々のデータシンボル中のチップの数は11より多かったり少なかったりする。たとえば、ビット長が2、3、4、5、7、11または13のBarkerシーケンスを用いる。さらに別の実施形態では、さまざまなビット長のGoldシーケンス、Kasamiシーケンス、Frankシーケンス、ChuシーケンスおよびHuffmanシーケンスが用いられる。固定した持続時間を持つデータシンボルの場合、シンボル当たりのチップ数が大きくなると、より大きい帯域幅が必要とされるが、到達時間の推定値が、したがって距離の推定値がより正確になる。シンボル当たりのチップの数が少なくなると、必要な帯域幅も減少するが、到達時間、したがって、距離の推定値の精度が落ちる。
【0036】
次に、距離が、測位システム中のデバイスの、TDMメッセージフレームを基準として定義されたローカル時間値に対して測定された到達時間から決定される方法を説明する。図4は、システム内に3つのデバイスD1、D2、およびD3が存在する実施形態に従って、デバイス間でRF信号を交換する動作を解説するタイミング図である。マスターデバイスであるD1は、メッセージフレーム中でマスターに割り当てられたTDMバーストの適切な開始時間404−1でRF信号402を送信する。メッセージフレームはまた、他の2つのデバイスのTDMバーストの開始時間に対応する時間マーカー404−2と404−3を含む。RF信号402は、デバイスD2により推定されたメッセージフレーム中のマスターに割り当てられたバーストの開始時間408−1と同期した到達時間で、デバイスD2によって受信される。RF信号402の到達時間と開始時間480−1との、この同期性は、D1がマスターとして指定されている限り、デバイスD1とD2がどれだけの距離が離れていてもと生じる。これは、システム内のデバイスが、メッセージフレームのタイミングを推定する際に基づく初期化方式の結果であり、図13と14の説明と共に以下に説明する。システム内のデバイスは全て、初期化シーケンス中にマスターデバイスから特殊なデータシンボルを受信した時間に基づいて、メッセージフレームのタイミングを推定する。したがって、各々のデバイスのメッセージフレームのタイミングの推定値は、マスターデバイスと問題となっているデバイスとの間の飛行時間に等しい分量だけ遅延する。図4を参照すると、D3により推定されたメッセージフレーム412−1の開始時間は、D2により推定されたメッセージフレーム408−1の開始時間より後であり、これは、D3とマスター間の飛行時間がD1とマスター間の飛行時間より大きいことを示す。図2のD1、D2およびD3の相対的な位置は、図4に描かれたようなタイミングと首尾一貫する可能性があるシステム内のデバイスの位置のセットを表している。RF信号402は、デバイスD3により推定されたメッセージフレームの開始412−1と同期した到達時間でデバイスD3によって受信される。
【0037】
D2は次に、D2により推定されたバーストの開始時間408−2で、RF信号412を送信する。D1は、D2に割り当てられたバーストの開始時間404−2より後でRF信号412を受信する。D1でのRF信号412の到達時間と、D2に割り当てられたバーストの開始時間404−2間の差は、到達時間T21を画定する。D3は、D3により推定されたD2に割り当てられたバーストの開始時間412−2より早く、RF信号412を受信する。D3でのRF信号412の到達時間と、D3により推定されたD2に割り当てられたバーストの開始時間412−2間の差は、別の到達時間T23を画定する。
【0038】
最終的には、D3は、D3により推定されたD3に割り当てられたバーストの開始時間412−3でRF信号418を送信する。D1は、D3に割り当てられたバーストの開始時間404−3より後で、RF信号418を受信する。D1でのRF信号418の到達時間と、D3に割り当てられたバーストの開始時間404−3間の差は、別の到達時間T31を画定する。D2は、D2により推定されたD3に割り当てられたバーストの開始時間408−3より後で、RF信号418を受信する。D2でのRF信号418の到達時間と、D2により推定されたD3に割り当てられたバーストの開始時間408−3間の差は、別の到達時間T32を画定する。
【0039】
双方向距離を測定するためには、システム内のデバイスは、システム内の他のデバイスからのRF信号の到達時間の自身による測定値のほかに別の情報にアクセスする必要がある。したがって、一部の実施形態では、RF信号402は、以前のメッセージフレーム中のデバイスD1でのRF信号412と418の到達時間を表す情報を含む。同様に、RF信号412は、以前のメッセージフレーム中のデバイスD2でのRF信号402と418の到達時間を表す情報を含む。RF信号418は、以前のメッセージフレーム中のデバイスD3でのRF信号402と412の到達時間を表す情報を含む。これで、一部の実施形態では、システム内の各々のデバイスは、システム内の他のデバイスの全てに対して自身からの距離を測定することが可能となる。
【0040】
D1はタイミングマスターであるので、D1による送信開始と、D2がこのメッセージの受信を開始すると期待する時間との間には、実質的に遅延はない(たとえば、T12≫0)。しかしながら、D2によるRF信号412の送信開始と、D1が受信を開始すると期待する時間404−2との間に経過する時間は、2つのデバイス間の飛行時間の実際には2倍であり、一方の飛行時間がフレームの開始のD2の遅延したマークとなり、他方の飛行時間がD2の送信がD1に到達するのにかかる伝播時間をもたらすものである。したがって、D1とD2の間の距離は容易に次のように推定される。
cT21/2(式)
完全に類似的に解析すると、D1とD3の間の距離は次のように推定されることになる。
cT31/2(式)
最終的には、D1とD2の間の距離は、D2とD3の間で交換されるメッセージの平均到達時間を用いて次にように推定することが可能である。
c(T32+T23)/4(式)
このように、D3とD2の間のクロックオフセット誤差は、図2Aを参照して上記したように、距離の計算になんら誤差をもたらすものではない。
【0041】
上記した例は3つしかデバイスを含まないものであるが、この方式は任意の数のデバイスを有する測距システムや測位システムに応用可能である。位置が既知であるデバイスもあれば、未知であるデバイスもある。全てのデバイス対間の距離を決定すれば、それは、あるデバイスの位置を、位置が既知である他のデバイスを基準として決定するに十分な情報である。たとえば、本明細書にその全体が参照して組み込まれる、プエルトリコのSan Juanでのコンピュータ科学の基礎に関する32回年次シンポジウムの1991年発行の会議録中の414〜423ページのH. EdelsbrunnerとT.S. Tanによる「ミニマックス長さ三角測定の二次時間アルゴリズム」を参照されたい。加えて、グローバルポジショニングシステム(GPS)の当業者には公知である受信機自律型完全性モニタ(RAIM)などの技法を用いて、推定された距離のさまざまなサブ集合を選択したり、システム内の1つ以上のデバイスの相対的な位置を測定したり、測定された位置を、距離の他のサブ集合を用いて測定された位置と比較したり、システム内の全てのデバイスの相対的位置の最適な推定値を獲得したりする。本明細書にその全体が参照して組み込まれる、米国ネバダ州ラスベガスでのIEEEの測位とナビゲーションに関するシンポジウムのF. van DiggelenとA. Brownによる1994年発行「GPS RAIMの数学的側面」の722〜738ページを参照されたい。
【0042】
これで分かるように、距離を正確に測定するには、到達時間を正確に測定する必要がある。屋内工事応用分野を含むローカル測位システムの一部の応用分野では、2つ以上の伝搬経路をたどって送信されたメッセージが到達すると、双方向測距方式が基盤とする直接的な視野方向経路を介してのメッセージの到達時間の測定値に誤差が入り込みかねない。次に、受信信号中のこのいわゆる多経路干渉を抑制し、それによってメッセージの到達時間を正確に推定する方法を解説する。これは、タイムフレームにわたって受信メッセージを積分するウインドウ化フィルタ(windowing filters)によって、受信したメッセージを処理することによって達成される。図6を参照すると、キャリア積分ウインドウ604とコード積分ウインドウ606が、一部の実施形態ではウインドウ化フィルタ中に用いられている。コード積分ウインドウ606は、反対符号積分領域610および612と、早/遅(early-late)積分領域608を含む。受信したメッセージの一部として、チップ遷移(chip transition)602−1がウインドウの全体幅の半分より遅い時間に到達すると、ウインドウと受信信号レベルの積を積分したものは、実質的にゼロの大きさを持つ値となる。他方、図6に示すようにチップ遷移602−1がウインドウの最後より前に到達すると、ウインドウと受信信号レベルの積の積分は、ウインドウの中心とチップ遷移との間の遅延時間を表す値となる。本発明の一部の実施形態では、受信メッセージを送信したデバイス中のローカルクロックと略同期しているステアドクロックがウインドウフィルタにとって利用可能である。したがって、ウインドウの中心がステアドクロック信号のエッジと整列すると、ウインドウと受信信号の積の積分の結果は、ステアドクロックと受信メッセージを送信するデバイスのクロックとの間の時間オフセットを示すが、これには多経路干渉はまったく存在しない。以降「Wウインドウ化積分」と呼ぶこのようなコード積分ウインドウ606を使用するとその結果、十分な遅延の多経路チップ遷移(multipath chip transitions of sufficient delay)は、ウインドウと受信信号の積の積分の結果にはなんら影響しない。この結果を、コード追跡ループに対する補正入力として用いることが可能であり、したがって、チャネルから有効に推定される。GPS信号のWウインドウ化積分は、参照して全体をここに組み込む、「グローバルポジショニングシステム信号を復調するシステムと方法」という米国特許第6,125,135号に説明されている。
【0043】
キャリア積分ウインドウ604は、違った方法で多経路干渉を排除する。ウインドウ604と受信メッセージの積の積分動作は、ウインドウ604の幅で決まるタイムフレームにわたって実行される。受信したメッセージの一部として、チップ遷移602−2がウインドウの全体幅の半分より遅く到達すると、ウインドウと受信信号レベルの積を積分したものは、実質的にゼロとは異なった大きさを持つ値となる。したがって、たとえウインドウ604の立ち上がりエッジが真のチップ遷移602と整列したとしても、多経路誤差はどの積分の結果にも影響する。しかしながら、拡散PNコードシーケンスは、隣接するコード値の正確に半分が同じとなるように設計されている。したがって、正の多経路誤差と負の多経路誤差が同じだけ存在し、同じ大きさをもつ全ては固定された多経路軌跡のものである(all of the same magnitude for a fixed multipath trajectory)。つぎに、積分の結果を、たとえば、チップ長よりかなり大きい時定数を有するダイナミックスを持つフェーズロックドループに対する入力として用いると、相対する誤差が互いに打ち消しあって、キャリアの位相を追跡するループの機能にはなんら影響しない。このようにキャリア積分ウインドウ604を用いることを、以降「Qウインドウ化積分」と呼ぶ。
【0044】
一部の実施形態では、Wウインドウ化積分とQウインドウ化積分の双方を、ウインドウタイムフレームのシーケンス(または、等価的にウインドウ幅)を使用して、複数回用いることで、到達時間の測定値の精度を向上させる。最初に初期化されたとき、あるデバイスのステアドクロック信号は受信メッセージ中でチップ遷移とは正確には整列しない。したがって、Wウインドウ化積分とQウインドウ化積分双方において大きいウインドウ幅を用いて、視野経路上で受信されたメッセージ中のチップ遷移が検出されることを保証するようにしなければならない。しかしながら、所与のデバイスからメッセージを受信したらその都度、クロックステアリング回路318(図3)中の調整値が更新されてシンセサイザ314に提供され、その結果、ステアドクロック信号がより正確に受信メッセージ中のチップ遷移と整列することになる。したがって、次いで、狭いウインドウタイムフレームをウインドウ化フィルタで用いても、視野経路上で受信されたメッセージ中のチップ遷移を検出しそこなう可能性はない。ウインドウ化フィルタ中で狭いタイムフレームを用いると、その結果、より多くの多経路信号が拒絶されることになるが、それは、排除可能な最小遅延時間(およびそれに対応する経路長)が減少するからである。一部の実施形態では、Wウインドウ化積分は、200ns、40ns、5nsおよび1nsから選ばれたタイムフレームにわたって実行される。このような実施形態における対応するQウインドウ化積分は、100ns、20ns、2.5nsおよび0.5nsから選ばれたタイムフレームにわたって実行される。Qウインドウ化積分とWウインドウ化積分の双方の場合について、採用されるタイムフレームのシーケンスは、一部の実施形態では単調に減少するわけではない。たとえば、Qウインドウ化積分は100nsという期間にわたって一度実行され、次に、20nsという期間にわたって実行される。しかしながら、キャリアクロックが最初のタイムフレームから2回目のタイムフレームに行く際に失われた場合、次のQウインドウ化積分は100nsというタイムウインドウにわたって実行される。
【0045】
本発明にしたがって設計された一部のデバイスにウインドウ化積分がどのように組み込まれるかを理解するために、図7にシステムのある実施形態中の1つのデバイスのウインドウ化積分/ダンプ回路310(図3)を示す。図7を参照すると、ウインドウ化積分/ダンプ回路310は、2つのローパスフィルタ(LPF)708と、2つのQウインドウ化積分/ダンプ回路(QI&D)702と、2つのWウインドウ化積分/ダンプ回路(WI&D)710と、6個のアナログ−デジタルコンバータ(A/D)706とを含む。ベースバンド信号309の同相成分Iはローパスフィルタ708−1によってフィルタリングされ、サンプリング期間に略等しい持続時間を持つウインドウ上で成分Iが積分される。次に、ローパスフィルタ708−1のフィルタリングされた出力712は、アナログ−デジタル(A/D)コンバータ706−2によってサンプリングされ、その結果、サンプルデータストリームIADが得られる。A/Dコンバータ706−2は、ステアドクロック312を利用して、このサンプリングを実行する。同様に、ベースバンド信号309の直角位相成分Qがローパスフィルタ708−2によってフィルタリングされ、フィルタリングされた出力722がA/Dコンバータ706−5によってサンプリングされ、その結果、サンプリングされたデータストリームQADが得られる。
【0046】
同相成分Iはまた、Q積分/ダンプ(QI&D)回路702−1で積分され、A/D706−1でサンプリングされて、サンプルデータストリームIQが得られる。QI&D回路702−1は、入ってくる信号をチップ遷移アーム322に対して定義されたタイムフレームにわたって積分する。同相成分Iもまた、W積分/ダンプ(WI&D)回路710−1によってチップ遷移アーム322で積分され、A/D706−3でサンプリングされ、その結果、サンプルデータストリームIWが得られる。QI&D回路702とWI&D回路710により用いられるタイムフレームは、制御信号704によって制御される。一部の実施形態では、制御信号704はマイクロプロセッサ388(図3)によって提供され、これで、期間シーケンスにわたって複数回実行される積分の幅とすることが可能となる。この積分は、異なった持続時間を持つウインドウタイムフレームから成るシーケンス中に生じる。同様に、直角位相成分Qは、QI&D回路702−2で、チップ遷移アーム322に対して定義されたタイムフレームにわたって積分され、A/D706−4でサンプリングされて、サンプルデータストリームQQが得られる。直角位相成分Qはまた、WI&D回路710−2で積分され、A/D706−6でサンプリングされて、サンプルデータストリームQWが得られる。
【0047】
デバイス中の受信機が初期化された時点では、ステアドクロック信号は受信信号中でチップ遷移と整列していない。したがって、ウインドウ化フィルタで処理されていないサンプルデータストリームIADとQADを用いるのが好ましい。これに対処するため、デバイスは2つの別個の動作モードで動作し、一方のモードは受信メッセージを初期に獲得しようとするもの(ACQ)であり、他方はキャリア周波数の位相とローカルクロック信号に対するチップエッジの遅延時間との双方を追跡しようとするもの(TRK)である。この動作モードの選択は、一般には、マイクロプロセッサ(たとえば図3のマイクロプロセッサ338)の制御下にある。
【0048】
図8を参照すると、相関/角度回転回路326は、制御信号820で決定されるACQモードまたはTRKモードで動作可能である。相関/角度回転回路326は、角度ローテータROMテーブル/演算ロジック810、および複数のスイッチ806と、1チップ加算器808と、1シンボル加算器812とを含む。ACQ動作モードでは、データストリームIADは、乗算器822−1によってオンタイムPNコード802と乗算される。結果として得られるデータストリーム814−1は、スイッチ806−1によってワンチップ加算器808−1に送られて、出力信号XIが生成される。同様に、データストリームQADは乗算器822−2によってオンタイムPNコード802と乗算され、スイッチ806−2によってワンチップ加算器808−2に送られて、出力信号XQが生成される。
【0049】
ACQモードでは、データストリームIADはまた、乗算器822−3によって早/遅PNコード804と乗算され、スイッチ806−3によってワンチップ加算器808−3に送られて、出力信号YIが生成される。加えて、データストリームQADはまた、乗算器822−4によって早/遅PNコード804と乗算され、スイッチ806−4によってワンチップ加算器808−4に送られて、出力信号YQが生成される。
【0050】
システム内の他の所与のデバイスから複数のメッセージを受信すると、デバイスは一般的にTRKモードに入る。TRKモードでは、データストリームIQは、乗算器822−5によってオンタイムPNコード802と乗算される。結果得られるデータストリーム816−1は、スイッチ806−1によってワンチップ加算器808−1に送られて、出力信号XIが生成される。同様に、データストリームQQは、乗算器822−6によってオンタイムPNコード802と乗算され、スイッチ806−2によってワンチップ加算器808−2に送られて、出力信号XQが生成される。データストリームIWは、乗算器822−7によって早/遅PNコード804と乗算され、スイッチ806−3によってワンチップ加算器808−3に送られて、出力信号YIが生成される。加えて、データストリームQWは、乗算器822−4によって早/遅PNコード804と乗算され、スイッチ806−4によってワンチップ加算器808−4に送られて、出力信号YQが生成される。
【0051】
どちらの動作モードでも、角度回転読み出し専用記憶装置(ROM)テーブル/演算ロジック810は同じように動作する。同相オンタイム回転出力(inphase on-time rotated output)XCは、1つ以上のメモリレジスタの内容をルックアップし、加算、乗算または他の算術演算を実行して、その結果を出力することによって生成される。アクセスされるレジスタのアドレスは、NCO位相330の値によって決まる。NCO位相330は、ローカルRF発振器308が発生した信号と受信メッセージのキャリア周波数成分との間の位相差のオフセットの推定値を表す。これらのアドレスに含まれる値には、cos(θ)とsin(θ)があり、ここでθはNCO位相330である。後続の算術演算によって出力が生じるが、これはXC=XIcos(θ)−XQsin(θ)である。同相オンタイム回転出力XCを次に、1シンボル加算器812−1で処理して、その結果、相関された同相オンタイム出力RCIが得られる。同様に、直角位相回転出力XSは、XI、XQおよびNCO位相330(θ)の値によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって生成される。このアドレスに含まれる値は、XS=XQcos(θ)+XQsin(θ)に等しい。直交位相オンタイム回転出力XSを、次に1シンボル加算器812−2で処理して、その結果、相関された直交位相オンタイム出力RSIが得られる。
【0052】
同様に、同相早/遅回転出力YCは、YI、YQおよびNCO位相によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって生成される。このアドレスに含まれる値は、YC=YIcos(θ)−YQsin(θ)に等しい。同相早/遅回転出力YCを、次に1シンボル加算器812−3で処理して、その結果、相関された同相早/遅回転出力DC1が得られる。同様に、直交位相早/遅回転出力YSは、YI、YQおよびNCO位相によって異なるアドレスを持つメモリレジスタの内容をルックアップして出力することによって発生される。このアドレスに含まれる値は、YS=YQcos(θ)+YIsin(θ)に等しい。直角位相早/遅回転出力YSを、次に1シンボル加算器812−4で処理して、その結果、相関された直角位相早/遅出力DS1が得られる。
【0053】
ステアドクロック信号312(図3)の生成を説明する。図9を参照すると、シンセサイザ314は、位相シフター902と、デジタル−アナログコンバータ906と、アナログ乗算器908と、アナログ加算器910と、リミッタ912とを含む。システムのデジタルサンプリングレート対応する周波数をもつ正弦波信号が、ローカル発振器320で生成される。位相シフター902は、正弦波信号の遅延バージョン914−1、オリジナルの信号から90°位相がずれた信号、を生成する。シンセサイザ314は、クロックステアリング回路318からステアリング値(Sn、Cs)316を受信する。デジタル−アナログコンバータ906−1はデジタルステアリング値Csをアナログ値916−1に変換する。乗算器908−1は、アナログ値916−1に遅延した正弦波信号914−1を乗算して、重み付け遅延正弦波918−1を生成する。同様に、デジタル−アナログ(D/A)コンバータ906−2は、デジタルステアリング値Snをアナログ値916−2に変換する。乗算器908−2は、アナログ値916−2に正弦波信号914−2を乗算して、重み付け正弦波918−2を生成する。加算器910は、重み付け正弦波918−2と重み付け遅延正弦波918−2を加算して、ステアド正弦波920を生成する。最終的に、リミッタ912がステアド正弦波を処理してステアドクロック312を生成し、これは矩形波信号である。
【0054】
図10に、クロックステアリング回路318の詳細を示す。クロックステアリング回路318は、複数のチャネルモジュール319を含む。ある好ましい実施形態では、チャネルモジュール319の数は7であり、これはシステム内の300以外のデバイスの数である。別の実施形態では、チャネルモジュール319の数はこれ以上であったり以下であったりし、これで測位システム内のさまざまな数のデバイスに対処している。各々のチャネルモジュール319は、位相オフセットアキュムレータ1002を含んでおり、これはさらに複数のレジスタ1003に区分化される。レジスタ1003は、システム内のデバイスと他のそれぞれのデバイスとの間のローカル時間値の差を表す値を格納する。レジスタ1003−1は、複数のTDMサイクルを表す情報を含む。同様に、レジスタ1003−2、1003−3および1003−4は、それぞれ、TDMスロット、バーストおよびチップの整数値を表す情報を含む。サブチップレジスタ1003−5は、デジタルサンプリング期間の整数値を表す情報を含む。サブサンプルレジスタ1003−6は、固定した期間の整数値を表す情報を含み、この期間はデバイスのデジタルサンプリング期間より小さい。
【0055】
ある好ましい実施形態では、レジスタ1003−1中の情報は、100を法とした現在のサイクルの番号、すなわち、フレーム当たりのサイクル数である。現在のサイクル番号を100を法とした整数値として表すことによって、この数を表すのに必要とされるビットの数が最小化される。同様に、ある好ましい実施形態では、スロットレジスタ1003−2中の情報は、8を法としたスロットの数、すなわち、TDMスロット当たりのバーストの数である。同じような考え方をある好ましい実施形態で応用して、レジスタ1003−3と1003−4中の情報を表すのに必要なビットの数を最小化している。ある好ましい実施形態では、システムのデジタルサンプリングレートは100MHzであり、チップ当たり10個のサンプルが存在する。したがって、この実施形態では、レジスタ1003−5は、10を法としたチップの数、すなわち、チップ当たりのサンプルの数を表す情報を含む。さらに、この実施形態では、サブサンプルレジスタ1003−6は、10nsに等しい期間の整数値を表す情報を含む。
【0056】
総合すると、レジスタ1003中の情報は、デバイスと他の1つのデバイスとの間のローカル時間値の差を表す。このデバイスのローカル時間値は、ローカル時間カウンタ1008に格納される。ローカル時間カウンタ1008はアップカウンタであって、システムクロック1009で定められるレートでインクリメントする。システムクロック1009は、ローカル発振器320からの信号をとって、それを矩形波を生成するためにリミッタ1008で処理することによって生成される。くわえて、ローカル時間カウンタ1008は複数のレジスタに区分化される。サブチップレジスタ1010−5は、固定期間の倍数値を表す情報を含む。固定期間はローカル発振器320の周期に等しく、また、位相オフセットアキュムレータ1002が採用する固定期間と同じである。システムクロック1009のサイクル毎に、ローカル時間基準1008がサブチップレジスタ1010−5中の値を1つだけ増し、最終的にはこの値は1チップ中の固定期間の数に等しくなる。サブチップレジスタ1010−5中の値が1チップ中の固定期間の数に等しくなると、サブチップレジスタ1010−5中の値はゼロに設定され、チップレジスタ1010−4中の値が1つだけ増す。チップレジスタ1010−4中の値がバースト当たりのチップ数に等しくなると、その値はゼロに設定されて、バーストレジスタ1010−3中の値が1つ増す。同様に、バーストレジスタ1010−3中の値がTDMスロット当たりのバースト数に等しくなると、その値はゼロに設定されて、スロットレジスタ1010−2中の値が1だけ増す。スロットレジスタ1010−2中の値がフレーム当たりのTDMスロット数に等しくなると、その値はゼロに設定されて、サイクルレジスタ1010−1中の値が1つ増す。TDMサイクルの整数値を表すサイクルレジスタ1010−1中の値がメッセージフレーム中のサイクル数に等しくなると、その値はゼロに設定される。総合すると、レジスタ1010の内容は、現在のデバイス300で推定されたTDMメッセージフレームに対するローカル時間値を表す。
【0057】
チップレジスタ1010−4の内容CTは、PNルックアップテーブル1010を用いてPNコード354を生成するために使用される。PNルックアップテーブル1014はレジスタの内容を出力するが、そのアドレスは、CTで与えられる現在のバースト中の現在のチップの数に基づいて計算される。ある好ましい実施形態では、PNルックアップテーブル1014は、デバイス300がマスターデバイスであるかスレーブデバイスであるかによって、2つの11ビット長BarKerシーケンスの内のどちらか一方を表すチップのシーケンスを生成する。
【0058】
ローカル時間値の内容とを表すローカル時間基準1008と、ローカル時間値とシステム内の別のデバイスのローカル時間値との差を表す位相オフセットアキュムレータ1002とが加算されて、他のそれぞれのデバイスのローカル時間の推定値が生成される。この目的のため、全加算器1012−1は、サブチップレジスタ1003−5からの値SCNとサブチップレジスタ1010−5からの値SCTとを加算して、サブチップSCLの調整された推定値を生成する。この加算による桁上げは全加算器1012−2に提供され、この全加算器はチップレジスタ1003−4からの値CNとチップレジスタ1010−4からの値CTとを加算して、チップCLの調整推定値を生成する。この加算による桁上げは全加算器1012−3に提供され、この全加算器はバーストレジスタ1003−3からの値BNとバーストレジスタ1010−3からの値BTとを加算して、バーストBLの調整炭推定値を生成する。この加算からの桁上げは全加算器1012−4に提供され、この全加算器はスロットレジスタ1003−2からの値SNNとスロットレジスタ1010−2からの値SNTとを加算して、スロット番号SNLの調整推定値を生成する。
【0059】
値CLとBLは、それぞれ、受信したRF信号中のチップ番号とバースト番号の最良の推定値を表す。これらを用いて、RF信号の受信と復調に必要とされる複数の信号が生成される。PNルックアップテーブル1016は、CLとBLの双方に依存するアドレスを持つレジスタの内容を出力することによって、PNコード328を生成する。ある好ましい実施形態では、PNルックアップテーブル1016は、現在のバーストに対応する送信側デバイスがマスターであるかスレーブであるかによって、2つの11ビット長Barkerシーケンスの内のどちらか一方を表すチップのシーケンスを生成する。PNコード328は、次に、遅延1018によって1チップだけ遅延される。PNコードの遅延バージョン1020とPNコード328は排他的論理和ゲート1022で比較されて、チップ遷移アーム322を生成する。遅延バージョンで表される現在のチップと前のチップが別々である場合にだけ、チップ遷移アーム322がアサートされる。最後に、位相オフセットアキュムレータ1002のサブサンプルレジスタ1003−6の内容が、デジタル−アナログルックアップテーブル1004と1006によって処理されて、それぞれデジタルステアリング値SnとCsを生成する。
【0060】
図11を参照すると、キャリアループ346の詳細な動作が図示されている。相関同相オンタイム出力RC1と相関直角位相オンタイム出力RS1とは、逆拡散信号332の一部として相関/角度ローテータ326(図3)によって提供される。ロック検出サブモジュール1102は、自乗法則増幅器(square-law amplifiers)1104および1106と、加算器1108と、デジタル積分器1112とを含む。自乗法則増幅器1104はRC1を処理して、単極の二進出力データストリームを生成する。同様に、自乗法則増幅器1106はRS1を処理し、その結果得られる単極の二進出力ストリームを、自乗法則(square law)増幅器1104で生成されたそれから加算器1108で減算する。次に、この現在の結果をデジタル積分器1110で合算して、キャリアロック検出信号1114を生成する。デジタル積分器1110は、マイクロプロセッサ338からのL値1112を利用して、入力データストリーム中のシンボルをどれだけ加算するかを決定する。大きいL値(2つ以上のシンボルに相当する)の使用することで、時間と共にキャリアロック検出1114の値が平滑化される。その結果、低値のキャリアロック検出1114は、キャリアループ346によるキャリア位相ロックの損失を示すものとして、正確に解釈することが可能となる。
【0061】
ローカルRF発振器308と受信メッセージのキャリア成分間の周波数の差と位相の差を補償するため、一部の実施形態は、自動周波数制御(AFC)回路を含む。図11を参照すると、相関同相オンタイム出力RC1は、1シンボルだけ遅延1140によって遅延されて、双方の信号がAFC周波数弁別器1144に提供される。同様に、相関直角位相オンタイム出力RS1は、1シンボルだけ遅延1142によって遅延されて、双方の信号がAFC周波数弁別器1144に提供される。AFC周波数弁別器1144は、分量RC1(RS1−RS1D)−RS1(RC1−RC1D)に比例する誤差信号1146を生成する。ここで、RC1DとRS1Dは、それぞれRC1とRS1の遅延バージョンである。分量(RS1−RS1D)と(RC1−RC1D)はその大きさが、それぞれ信号RC1とRS1のチップ内での変化率に比例する。ローカル発振器の周波数が受信したRF信号のそれと異なる場合、RC1とRS1は所与のチップ内でも一定ではなく、また、分量(RS1−RS1D)と(RC1−RC1D)は非ゼロであり、非ゼロ誤差信号1146が生成される。誤差信号1146は、乗算器1148でチャネル選択信号Siを用いてゲーティングされ(Error signal 1146 is gated by multiplier 1148 with channel select signals Si)、利得K3を持つ増幅器1150で増幅される。マルチプレクサ1152は、2つの動作モード(一方では誤差信号1146が位相の推定に利用され、他方では利用されない)を可能とする働きをする。マイクロプロセッサから提供されるMUX制御信号1153は、増幅器1150の出力か一定値ゼロかを選択する。AFC誤差信号343の結果は、一部の実施形態では、PLL/フィルタブロック340(図3)に送られる。一部の実施形態では、マイクロプロセッサ338はMUXコントロール153を設定して、キャリアロック検出信号1114がアサートされた場合にだけ一定値0入力を選択するようにさせる。別の実施形態では、MUXコントロール1153の値を選択する他の基準を用いてもよい。
【0062】
キャリアループ347が提供する主要な機能性は、θ、すなわち、ローカルRF発振器308と受信メッセージのキャリア成分間の位相差を、信頼性高く推定することである。一部の実施形態では、二次コスタスループをこの目的のために用いる。相関同相オンタイム出力RC1は、シグナム(signum)ブロック1120で処理される。シグナムブロック1120の出力は、RC1の極性次第で、極性が反対の2つの値の内の一方となる。ミクサ1122は、シグナムブロック1120の出力に相関直角位相出力RS1を乗算する。ローカルRF発振器とメッセージのキャリア間の位相差が小さければ、RS1≫sin(θ)である。
【0063】
ミクサ1122の出力は次に、ミクサ1124を介してチャネル選択信号Siによってゲーティングされる。ミクサ1124の出力は次に、コスタスループの一次部分中を通過して、デジタル乗算器1126で利得K1を乗算される。ミクサ1124の出力はまた、コスタスループの二次部分で処理される。ミクサ1124の出力は、デジタル乗算器1128中で利得K2により乗算されて、その結果が加算器1130に渡される。加算器1130はまた、入力として、アキュムレータ1132の現在値を受信する。アキュムレータ1132は、加算器1130の出力を入力として受信して、これで閉ループが完成する。アキュムレータ1132の出力は、この閉ループのおかげで、デジタル乗算器1128の出力のローパスフィルタリングバージョンである。アキュムレータ1132の出力とデジタル乗算器1126の出力とは、加算器1134で加算され、その結果は加算器1154でAFC誤差343と加算される。
【0064】
加算器1154の出力は、アキュムレータ1160の出力と一緒に加算器1158に供給される。アキュムレータ1160は、その入力として、加算器1158の出力を取る。このように形成された閉ループは、別のローパスフィルタとして機能して、NCO位相330から遷移誤差を除去する。NCO位相330は、相関/角度回転回路326によって用いられることを想起されたい。
【0065】
図12を参照すると、PLL/フィルタ340は複数のチャネルモジュール341を含み、モジュールはその各々がフェーズロックドループ(PLL)を含み、これで、ステアドクロック信号中のエッジと他のデバイスの内の1つのデバイスから受信されたメッセージ中のエッジとの間の時間差を推定する。一部の実施形態では、チャネルモジュールの数は測位システム内のデバイスの数以上であり、したがって、各々のPLLはシステム内の他のデバイスの内のそれぞれ1つにロックされたまま留まることが可能である。別の実施形態では、単一のPLLが用いられる。
【0066】
PLL/フィルタ340は、TRKモードとACQモードの双方で動作可能である。動作モードは、2つの入力1212と1222のどちらがマルチプレクサ1204によってチャネルモジュール341に渡されるかを決定する、マイクロプロセッサから受信されたモード制御信号1202で決定される。
【0067】
ACQモードでは、キャリア位相がロックされることは想定されていないので、同相(RC1、DC1)と直交位相(RS1、DS1)の相関信号の双方を用いて、チャネルモジュール341に対する入力を決定する。RC1は乗算器1214によってDC1と混合され、その結果は加算器1218に入力される。ステアドクロック信号中のエッジと複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジ間に差がない場合、乗算器1214の出力はゼロに非常に近い値となる。同様に、RS1とDS1は乗算器1216により混合され、その結果は加算器1281に入力される。同相信号と直角位相信号の双方を混合することによって、キャリア位相ロックが欠如するという影響が緩和され、これで、チャネルモジュール341への入力を、RC1≫0、DC1≫0の場合でさえも生成することが可能となる。最後に、ACQモードでは、この混合の合計結果が加算器1218の出力から取って、マルチプレクサ1204に入力され、ここで、ACQモードにあるチャネルモジュール341に渡される。
【0068】
一方、TRKモードでは、キャリア位相がロックされることが想定されている。したがって、同相信号RC1とDC1だけが用いられる。相関同相オンタイム信号RC1は、シグナムブロック1206で処理される。シグナムブロックの出力は、RC1の極性次第で、極性が反対の2つの値の内の一方をとる。ミクサ1208は、シグナムブロック1208の出力に早/遅相関信号DC1を乗算する。結果として得られる信号1212は、マルチプレクサ1204に入力され、ここでTRKモードにあるチャネルモジュール341に渡される。
【0069】
どちらの動作モードでも、チャネルモジュール341はフェーズロックドループを組み込む。フェーズロックドループに対する入力は、システム内の他のそれぞれのデバイスからのメッセージを受信中である場合のタイムスロット中では、非ゼロ値をとることしか許されない。このようなタイムスロット中では、モジュール選択信号Siがアサートされて、マルチプレクサ1204の出力が乗算器1230を通過することが許容される。フェーズロックドループに対するゲーティングされた入力は、デジタル乗算器1234の利得K1で増幅される。フェーズロックドループに対するゲーティングされた入力は、デジタル乗算器1240の利得K2で同様に増幅される。デジタル乗算器1240の出力は、アキュムレータ1246の出力と共に加算器1244に供給される。アキュムレータ1246は、その入力として、加算器1244の出力を取る。このように形成された閉ループは、ローパスフィルタとして機能して、出力1254の迅速な変動を平滑化する。K2の値がK1に対して高いと、それに対応して、追跡ダイナミックスは速度と雑音が減少する。逆に、(K2に対する)K1の値が高ければ、それに対応して、ループの追跡ダイナミックスは迅速になるが、潜在的に安定性が劣化し雑音が高くなる。
【0070】
一次ループの結果1238と二次ループの結果1254を加算器1256で加算して、その結果、予備調整値1258が得られる。最後に、(図3のキャリアループ346からの)AFC誤差343は、増幅器1260で係数Mが乗算され、加算器1262で予備調整値1258と加算される。結果得られる調整値342は、ステアドクロック312(図3)中のエッジと他のそれぞれのデバイスから受信したメッセージ中のエッジとの間の差を表している。
【0071】
前記の説明は、測位システム内の全てのデバイスが複数のタイミングパラメータを決定することが可能であり、これで、TDMフレームの適切なスロット中で情報ビットを復調して送信することが可能であることを前提としていた。受信したチップのストリームを解読するためには、相関/角度回転ブロックの1シンボル加算器812(図8)は、どのチップは、1つの情報シンボル中の11個のチップの内の最初のチップであるかを判定することが可能でなければならない。この判定を可能とするために、図13に示すように、マッチドフィルタ(matched filter)1300は、ウインドウ化積分/ダンプ回路310(図3)からデジタル信号324を受信する。
【0072】
同相サンプルデータストリームIQ中に情報ビットが存在することを検出するため、マッチドフィルタ1300は、最初にIQをシグナムブロック1302中を通過させる。シグナムブロック1302は、大きさがゼロより大きい全ての入力信号に対してハイ論理レベル(+1)の信号を出力し、大きさがゼロ以下である全てのアナログ入力信号に対してロー論理レベル(−1)の信号を出力する。したがって、シグナムブロック1302は出力チップストリーム1304を生成し、このストリームは、本質的に、同相サンプルチップストリームを量子化したものであり、論理レベルがハイかローの値だけを想定したものである。同相サンプルデータストリームIQは、COS(θ)−sin(θ)に比例した大きさを有する。ここで、θは、受信されたメッセージがローカルRF発振器信号をリードする位相角度を表している。出力チップストリーム1304は、この位相差には影響されない大きさのレベルを有する。
【0073】
次に、チップストリーム1304が、シフトレジスタ1306に入力される。チップストリーム1304は、実際にはサブチップパルスを含む。ある好ましい実施形態では、そのサブチップレートはチップレートの10倍である。シフトレジスタ1306は、複数のチップレジスタ1308を含む。一般に、チップレジスタ1308の数は、用いられるPN拡散コードの長さと等しいことが必要である。各々のチップレジスタ1308は、さらに、1つ以上のサブチップレジスタ(図示せず)を備えている。ある好ましい実施形態では、各々のチップレジスタ1308は、10個のサブチップレジスタを備えている。サブチップサンプリングレートと等しいレート(好ましい実施形態ではチップレートの1/10)で、各サブチップレジスタ中のサブチップが左から右にシフトされる。たとえば、サブチップレジスタ1308−11の最初にサブチップレジスタは、サブチップ毎に一回、その前の内容を捨てて、チップストリーム1304から最新のサブチップを格納する。各々のシンボルレジスタ1308中の10個のサブチップがサブチップ毎に出力されて、サブチップ毎に(sub-chip-wise)マスターデバイスの11ビット長のBarkerコードの一部と乗算される。たとえば、チップレジスタ1308−11は、ストリーム1304から最新の10個のサブチップ1308−11−1,...,1308−11−10を出力する。11ビット長のBarkerシーケンス中の最後のチップの値d11に各々の出力サブチップを乗算器1309−11−1、....,1309−11−10で乗算する。これら10の乗算の結果が次に加算器1307−11で合計され、加算器ブロック1310に入力される。同様に、チップレジスタ1308−11は、レジスタ1308−11に格納されている10個のサブチップ1308−01−1,...,1308−01−10を出力する。11ビット長のBarkerシーケンス中の最初のチップの値d11に各々の出力サブチップを乗算器1309−09−1、....,1309−09−10で乗算する。これら10の乗算の結果が次に加算器1307−11で合計され、加算器ブロック1310に入力される。
【0074】
各々のレジスタ1308中の10個のサブチップが1つのチップに対応している場合には、サブチップの乗算と加算の集合効果は、ストリーム1304にチップ毎に11ビット長のBarkerコードd1、...,d11が乗算され、その結果が加算器1310で合計されるというものである。加算器1310の出力は、Barkerコードと最新の11個のチップの相関値であり、PNBarkerコードの特性のため、レジスタ中の11個のチップが完結した情報シンボルを表している場合には、実質的にゼロとは異なった値しか取らない。次に、加算器1310の出力は、自乗法則ブロック1312で処理されて、その値が正であることが保証され、結果が加算器1324に入力される。
【0075】
直角位相サンプルデータストリームQQの処理は、(同相)サンプルデータストリームIQのそれと類似の仕方で進行するが、次の動作を含む:
・シグナムブロック1314でチップを量子化する;
・シフトレジスタ1316にチップを格納する;
・乗算器と加算器1320によって、格納されているチップをマスターデバイスのBarkerコードと相関させる;
・結果として得られる信号を自乗法則ブロック1322で自乗して、その結果を加算器1324に提供する。
最後に、加算器1324は、IQとQQの処理の自乗出力を加算して、その結果、シンボル存在検出信号1326が得られる。直交位相サンプルデータストリームQQの処理もまた、サブチップレジスタ(図示せず)、サブチップ乗算器1319およびサブチップ加算器1317を用いる。
【0076】
どのチップが、1つの情報ビットを有する11個のチップの内の最初のチップであるかを判定することに加えて、デバイスは、TDMバースト中でのシンボルの相対的な位置を判定することが可能である必要がある。これを遂行するために、バースト整列回路1400(図14)は、シンボル存在検出信号1326を処理する。閾値検出ブロック1402は信号1326を監視して、入力信号1326がある所定の閾値を超えたら、ハイ論理レベルパルス1405を出力1404中に出力する。この閾値は、マッチドフィルタ1300による情報シンボルの検出に対応するように選ばれる。ワンショット1406は、その入力部でパルスを検出したら、TDMスロットの長さより少し短い持続時間(これはまた、TDMバーストの長さにガード時間の長さを加算したもの)にわたってハイ論理レベル信号を出力する。論理ANDゲート1408は、ワンショットの出力と閾値検出ブロックの現在の出力1404とを比較して、双方が共にハイ論理レベル状態であれば出力1410をアサートする。カウンタ1412は、信号1410がロー論理レベルからハイ論理レベルに遷移する毎に、内部に格納してある値をインクレメントする。ワンショット1046の出力がハイからローに論理レベル遷移すると、出力1414が検査される。出力がバースト中のビットの数(最初のビットはカウントしない)より1つ少ない数値であれば、検出された最初のビットは、TDMバースト中の最初のビットであったはずである。ワンショット1406をトリガーしたビットがTDMバースト中の最初のビットでなかった場合、カウンタ1414は、TDMバースト中のビット数より2つ以上少ない値を有する。マイクロプロセッサは、ワンショット1406の出力とカウンタ1412の出力1414を監視して、TDMバースト中で受信された最新のビットの相対的な位置を決定することが可能である。
【0077】
現在のTDMバースト中の最新の検出ビットの位置に加えて、システム内のデバイスはまた、TDMフレーム中の現在のTDMまたはTDMスロットの位置を決定することが可能でなければならない。これには、システム内の2つ以上のデバイスによる同時放送を防止することと、受信側デバイスに、受信されたメッセージのタイミングに基づいて送信の送り手を推測することを可能とすることの双方が必要である。システム内の全てのデバイスにTDMフレーム中の現在のTDMスロットの位置を決定することを可能とさせるために、マスターデバイスは、フレーム毎に一回、特殊なフレームマーカーメッセージを送信する。フレームマーカーの使用は、デジタル通信の技術上公知である。一部の実施形態では、フレームマーカーは2つの連続バーストから成る。第1のバーストは10個の情報ビットを含み、その全てが+1という値を持つ。第2のバーストはマスターのユニットIDを含むが、これは他のデバイスの全てによって知られている。一緒にすると、これら2つのバーストは、20ビット長であり、通常の情報担持メッセージの一部としてマスターによって送信される確率はきわめて低い。したがって、デバイスは、これら2つのバーストを受信すると、そのローカル時間を(図10のクロックステアリング回路中のレジスタを介して)リセットすることが可能である。
【0078】
上の記述は、その説明の目的上、特定の述語を用いて、本発明を完全に理解するようにした。しかしながら、特定の詳細は、本発明を実施するためには必要ないことが当業者には明らかである。上記の実施形態を選んで説明した目的は、本発明の原理とその実際の応用分野を最も良好に説明し、これによって、当業者が、本発明と、予測される特定の用途に適すように実施されたさまざまな修正を持つさまざまな実施形態を最良に利用することが可能となるようにすることである。したがって、上記の開示は、これに尽きるものでもなければ、本発明を開示形態に厳密に制限することを意図するものではない。多くの修正や変更が上記の教示から可能である。
【0079】
本発明の範囲はクレームとその同等物とによって定義されることを意図するものである。
【図面の簡単な説明】
【0080】
【図1】双方向測距動作を示す説明図である。
【図2】3つ以上のデバイスを有する双方向測位システムの説明図である。
【図2A】少なくとも4つのデバイスを有する双方向測位システムの説明図であり、その内の3つの静止状態のデバイスの位置が既知である。4番目の、多分モバイルのデバイスの位置は、この4番目のデバイスから他の3つのデバイスの各々のデバイスへの距離から決定される。
【図3】測位システム内の1つのデバイス(たとえばD1)のトランシーバのブロック図である。
【図4】図2に示すような、3つのデバイスを有する例示のシステム内のデバイス間でのRF信号の交換を示すタイミング図である。
【図5】測位システムが8個のデバイスから成っているある実施形態による周期的にメッセージを送信するタイムスロットの位置と構造を示すタイミング図である。
【図6】多経路干渉を排除するための、受信RF信号のWウインドウ化積分動作とQウインドウ化積分動作の図である。
【図7】測位システム内の1つのデバイスのウィンドウ化積分/ダンプブロックのブロック図である。
【図8】測位システム内の1つのデバイスの相関/角度回転ブロックのブロック図である。
【図9】1つのデバイスのシンセサイザのブロック図である。このシンセサイザは、ステアドクロック信号を発生するが、この信号は、測位システム内の他の複数のデバイスの内の1つのローカルクロックとほぼ同期している。
【図10】調整値を格納するレジスタを含む測位システム内の1つのデバイスのクロックステアリングロジックの一部のブロック図である。
【図11】測位システム内の1つのデバイスのPLLとフィルタのブロック図である。
【図12】測位システム内の1つのデバイスのキャリアループのブロック図である。
【図13】測位システム内の1つのデバイス中のマッチドフィルタのブロック図である。
【図14】TDMバースト中の情報ビットの相対的な位置を測定する1つのデバイス中のバースト整列回路のブロック図である。
【特許請求の範囲】
【請求項1】
複数のデバイスであって、前記デバイスの各々が:
前記複数のデバイスの他方のデバイスとRF信号を交換するトランシーバであって、前記トランシーバは、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信する、前記トランシーバと;
ローカルクロック信号を生成するローカルクロックと;
他のデバイスの各々からのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと;
他のデバイスに対して前記デバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信する送信機ロジックであって、送信される各々のメッセージには、他のデバイスの内の少なくとも1つのデバイスに対する測定された到達時間を表す情報が含まれる、前記送信機ロジックと;
を含む前記複数のデバイスを備える測位システムであり:
他の各々のデバイスからの受信メッセージが、前記デバイスにより送信されたそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含み;
前記デバイスの内の少なくとも1つのデバイスが、複数の他のデバイスの各々に対するそれぞれの距離を測定する測距ロジックをさらに含み、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記測位システム。
【請求項2】
前記測距ロジックが、他のそれぞれのデバイスに対する前記デバイスによって送信されたメッセージと前記第1のデバイスで受信されたメッセージとの平均飛行時間を決定するように構成されている、請求項1に記載の測位システム。
【請求項3】
前記測距ロジックが、他のそれぞれのデバイスによって前記デバイスに送られたメッセージの第1の飛行時間と、前記それぞれのデバイスに前記デバイスによって送られたメッセージの第2の飛行時間との平均値を含む平均飛行時間を決定し、また、前記平均飛行時間に基づいて前記デバイスと前記それぞれのデバイス間の距離を測定するように構成されている、請求項1に記載の測位システム。
【請求項4】
前記複数のデバイスの内の少なくとも2つのデバイスはその各々が、ローカルクロックを前記複数のデバイスの内の特定のデバイスの中のローカルクロックと同期させるクロック同期化ロジックを含む、請求項1に記載の測位システム。
【請求項5】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生し;
前記クロック同期化ロジックが、調整値をストアするレジスタを含むクロックステアリングロジックと、前記複数のデバイスの内の他の1つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を発生する前記レジスタ中の調整値に反応するアナルグクロック信号発生器とを含む、請求項4に記載の測位システム。
【請求項6】
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、請求項5に記載の測位システム。
【請求項7】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項6に記載の測位システム。
【請求項8】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも1つのウインドウ化フィルタを含む、請求項6に記載の測位システム。
【請求項9】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項8に記載の測位システム。
【請求項10】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項9に記載の測位システム。
【請求項11】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項5に記載の測位システム。
【請求項12】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中の前記ローカルクロックと略同期している時間値を発生する加算器を含む、請求項5に記載の測位システム。
【請求項13】
測位システムで用いられるデバイスであって、前記デバイスが:
前記測位システム中の別のデバイスからメッセージ信号を受信する受信機と;
ローカルクロック信号を発生するローカルクロックであって、前記ローカルクロックがローカル発振器を含む、前記ローカルクロックと;
他方のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと;
測定された到達時間の関数として、他方のデバイスへのそれぞれの距離を測定する測距ロジックと;
クロック同期化ロジックであって、調整値をストアするレジスタを含むクロックステアリングロジックと、前記ローカル発振器と前記レジスタ中の値とに反応して、他方のデバイス中のローカルクロックと略同期したステアドクロック信号を発生するアナログクロック信号発生器とを含む、前記クロック同期化ロジックとを備える、前記デバイス。
【請求項14】
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと他方のデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、請求項13に記載のデバイス。
【請求項15】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項14に記載のデバイス。
【請求項16】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも1つのウインドウ化フィルタを含む、請求項14に記載のデバイス。
【請求項17】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項16に記載のデバイス。
【請求項18】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項17に記載のデバイス。
【請求項19】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項13に記載のデバイス。
【請求項20】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生する、請求項13に記載のデバイス。
【請求項21】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中のローカルクロックと略同期している時間値を発生する加算器を含む、請求項20に記載のデバイス。
【請求項22】
複数のデバイスを有する測位システムを操作する方法であって、前記デバイスの各々が、前記複数のデバイスの他のデバイスとRF信号を交換するように構成されており、前記方法が:
第1のデバイスにおいて、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信するステップであって、他の各々からの前記受信メッセージが、前記第1のデバイスが送信したそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含む、前記ステップと;
他のデバイスの各々からのメッセージの、前記第1のデバイスのローカルクロックのローカルクロック信号を基準とした到達時間を測定するステップと;
他のデバイスに対して、前記第1のデバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信するステップであって、送信される各々のメッセージには、他のデバイスの内の少なくとも1つのデバイスに対する測定された到達時間を表す情報が含まれる、前記ステップと;
前記第1のデバイスから前記複数の他のデバイスの各々へのそれぞれの距離を測定するステップであって、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記ステップとを含む、前記方法。
【請求項23】
それぞれの距離を測定する前記ステップが、前記複数の他のそれぞれのデバイスに対する前記第1のデバイスによって送信されたメッセージと前記第1のデバイスで受信されたメッセージとの平均飛行時間を決定するステップを含む、請求項22に記載の方法。
【請求項24】
それぞれの距離を測定する前記ステップが、他のそれぞれのデバイスから前記第1のデバイスに送られたメッセージの第1の飛行時間と、前記それぞれのデバイスに前記第1のデバイスによって送られたメッセージの第2の飛行時間との平均値を含む平均飛行時間を決定するステップと、前記平均飛行時間に基づいて前記第1のデバイスと前記それぞれのデバイス間の距離を測定するステップとを含む、請求項22に記載の方法。
【請求項25】
前記複数のデバイスの内の少なくとも2つのデバイスのローカルクロックを前記複数のデバイスの内の特定のデバイス中のローカルクロックと同期させるステップをさらに含む、請求項22に記載の方法。
【請求項26】
前記受信ステップがさらに、
前記ローカルクロックに属すカウンタを、ローカル発振器によって制御されるレートで更新するステップであって、前記カウンタがローカル時間値を発生する、前記ステップと;
調整値をレジスタにストアするステップと;
前記複数のデバイスの内の他の1つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を、調整値に基づいて発生するステップと;
を含む、請求項25に記載の方法。
【請求項27】
前記受信ステップがさらに、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差を測定するステップを含む、請求項26に記載の方法。
【請求項28】
前記受信ステップがさらに、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップを含む、請求項27に記載の方法。
【請求項29】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップをさらに含む、請求項28に記載の方法。
【請求項30】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項29に記載の方法。
【請求項31】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項30に記載の方法。
【請求項32】
前記調整値は、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項26に記載の方法。
【請求項33】
ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中の前記ローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項26に記載の方法。
【請求項34】
測位システムにおいてデバイスを操作する方法であって、前記方法が:
前記測位システム中の別のデバイスからメッセージ信号を受信するステップと;
ローカルクロック信号を発生するステップと;
他方のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定するステップと;
測定された到達時間の関数として、他方のデバイスへのそれぞれの距離を測定するステップと;
調整値をストアするステップと;
他方のデバイス中のローカルクロックと略同期したステアドクロック信号を、調整値に基づいて発生するステップとを含む、前記方法。
【請求項35】
前記ステアドクロック信号中のエッジと他方のデバイスからのメッセージ中のエッジとの間の差を測定するステップをさらに含む、請求項34に記載の方法。
【請求項36】
前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップをさらに含む、請求項35に記載の方法。
【請求項37】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップを含む、請求項36に記載の方法。
【請求項38】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項37に記載の方法。
【請求項39】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項38に記載の方法。
【請求項40】
前記調整値が、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項34に記載の方法。
【請求項41】
ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中のローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項34に記載の方法。
【請求項1】
複数のデバイスであって、前記デバイスの各々が:
前記複数のデバイスの他方のデバイスとRF信号を交換するトランシーバであって、前記トランシーバは、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信する、前記トランシーバと;
ローカルクロック信号を生成するローカルクロックと;
他のデバイスの各々からのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと;
他のデバイスに対して前記デバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信する送信機ロジックであって、送信される各々のメッセージには、他のデバイスの内の少なくとも1つのデバイスに対する測定された到達時間を表す情報が含まれる、前記送信機ロジックと;
を含む前記複数のデバイスを備える測位システムであり:
他の各々のデバイスからの受信メッセージが、前記デバイスにより送信されたそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含み;
前記デバイスの内の少なくとも1つのデバイスが、複数の他のデバイスの各々に対するそれぞれの距離を測定する測距ロジックをさらに含み、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記測位システム。
【請求項2】
前記測距ロジックが、他のそれぞれのデバイスに対する前記デバイスによって送信されたメッセージと前記第1のデバイスで受信されたメッセージとの平均飛行時間を決定するように構成されている、請求項1に記載の測位システム。
【請求項3】
前記測距ロジックが、他のそれぞれのデバイスによって前記デバイスに送られたメッセージの第1の飛行時間と、前記それぞれのデバイスに前記デバイスによって送られたメッセージの第2の飛行時間との平均値を含む平均飛行時間を決定し、また、前記平均飛行時間に基づいて前記デバイスと前記それぞれのデバイス間の距離を測定するように構成されている、請求項1に記載の測位システム。
【請求項4】
前記複数のデバイスの内の少なくとも2つのデバイスはその各々が、ローカルクロックを前記複数のデバイスの内の特定のデバイスの中のローカルクロックと同期させるクロック同期化ロジックを含む、請求項1に記載の測位システム。
【請求項5】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生し;
前記クロック同期化ロジックが、調整値をストアするレジスタを含むクロックステアリングロジックと、前記複数のデバイスの内の他の1つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を発生する前記レジスタ中の調整値に反応するアナルグクロック信号発生器とを含む、請求項4に記載の測位システム。
【請求項6】
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、請求項5に記載の測位システム。
【請求項7】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項6に記載の測位システム。
【請求項8】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも1つのウインドウ化フィルタを含む、請求項6に記載の測位システム。
【請求項9】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項8に記載の測位システム。
【請求項10】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項9に記載の測位システム。
【請求項11】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項5に記載の測位システム。
【請求項12】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中の前記ローカルクロックと略同期している時間値を発生する加算器を含む、請求項5に記載の測位システム。
【請求項13】
測位システムで用いられるデバイスであって、前記デバイスが:
前記測位システム中の別のデバイスからメッセージ信号を受信する受信機と;
ローカルクロック信号を発生するローカルクロックであって、前記ローカルクロックがローカル発振器を含む、前記ローカルクロックと;
他方のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定する受信機ロジックと;
測定された到達時間の関数として、他方のデバイスへのそれぞれの距離を測定する測距ロジックと;
クロック同期化ロジックであって、調整値をストアするレジスタを含むクロックステアリングロジックと、前記ローカル発振器と前記レジスタ中の値とに反応して、他方のデバイス中のローカルクロックと略同期したステアドクロック信号を発生するアナログクロック信号発生器とを含む、前記クロック同期化ロジックとを備える、前記デバイス。
【請求項14】
前記受信機ロジックが、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと他方のデバイスからのメッセージ中のエッジとの間の差を測定するように構成されている、請求項13に記載のデバイス。
【請求項15】
前記クロックステアリングロジックが、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するロジックを含む、請求項14に記載のデバイス。
【請求項16】
前記受信機ロジックが、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分する少なくとも1つのウインドウ化フィルタを含む、請求項14に記載のデバイス。
【請求項17】
前記ウインドウ化フィルタによって用いられるウインドウタイムフレームが、受信信号を積分するために期間シーケンス中で用いられる、持続時間が異なるウインドウタイムフレームのシーケンスである、請求項16に記載のデバイス。
【請求項18】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項17に記載のデバイス。
【請求項19】
前記アナログクロック発生器によって用いられる調整値は、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項13に記載のデバイス。
【請求項20】
前記ローカルクロックが、ローカル発振器によって制御されるレートで更新されるカウンタを含み、前記カウンタがローカル時間値を発生する、請求項13に記載のデバイス。
【請求項21】
前記クロック同期化ロジックが、ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中のローカルクロックと略同期している時間値を発生する加算器を含む、請求項20に記載のデバイス。
【請求項22】
複数のデバイスを有する測位システムを操作する方法であって、前記デバイスの各々が、前記複数のデバイスの他のデバイスとRF信号を交換するように構成されており、前記方法が:
第1のデバイスにおいて、前記複数のデバイスの他の各々のデバイスからのメッセージを他のデバイスに割り当てられたタイムスロット中に周期的に受信するステップであって、他の各々からの前記受信メッセージが、前記第1のデバイスが送信したそれぞれのメッセージの他方のデバイスにおける到達時間を表す情報を含む、前記ステップと;
他のデバイスの各々からのメッセージの、前記第1のデバイスのローカルクロックのローカルクロック信号を基準とした到達時間を測定するステップと;
他のデバイスに対して、前記第1のデバイスに割り当てられたタイムスロットの間にメッセージを周期的に送信するステップであって、送信される各々のメッセージには、他のデバイスの内の少なくとも1つのデバイスに対する測定された到達時間を表す情報が含まれる、前記ステップと;
前記第1のデバイスから前記複数の他のデバイスの各々へのそれぞれの距離を測定するステップであって、他のそれぞれのデバイスに対する前記測定されたそれぞれの距離が、他のデバイスからのメッセージの測定された到達時間と他方のデバイスからのメッセージの中の到達時間情報との関数として決定される、前記ステップとを含む、前記方法。
【請求項23】
それぞれの距離を測定する前記ステップが、前記複数の他のそれぞれのデバイスに対する前記第1のデバイスによって送信されたメッセージと前記第1のデバイスで受信されたメッセージとの平均飛行時間を決定するステップを含む、請求項22に記載の方法。
【請求項24】
それぞれの距離を測定する前記ステップが、他のそれぞれのデバイスから前記第1のデバイスに送られたメッセージの第1の飛行時間と、前記それぞれのデバイスに前記第1のデバイスによって送られたメッセージの第2の飛行時間との平均値を含む平均飛行時間を決定するステップと、前記平均飛行時間に基づいて前記第1のデバイスと前記それぞれのデバイス間の距離を測定するステップとを含む、請求項22に記載の方法。
【請求項25】
前記複数のデバイスの内の少なくとも2つのデバイスのローカルクロックを前記複数のデバイスの内の特定のデバイス中のローカルクロックと同期させるステップをさらに含む、請求項22に記載の方法。
【請求項26】
前記受信ステップがさらに、
前記ローカルクロックに属すカウンタを、ローカル発振器によって制御されるレートで更新するステップであって、前記カウンタがローカル時間値を発生する、前記ステップと;
調整値をレジスタにストアするステップと;
前記複数のデバイスの内の他の1つのデバイスの前記ローカルクロックと略同期しているステアドクロック信号を、調整値に基づいて発生するステップと;
を含む、請求項25に記載の方法。
【請求項27】
前記受信ステップがさらに、前記ステアドクロック信号を利用して、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差を測定するステップを含む、請求項26に記載の方法。
【請求項28】
前記受信ステップがさらに、前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップを含む、請求項27に記載の方法。
【請求項29】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップをさらに含む、請求項28に記載の方法。
【請求項30】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項29に記載の方法。
【請求項31】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項30に記載の方法。
【請求項32】
前記調整値は、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項26に記載の方法。
【請求項33】
ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中の前記ローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項26に記載の方法。
【請求項34】
測位システムにおいてデバイスを操作する方法であって、前記方法が:
前記測位システム中の別のデバイスからメッセージ信号を受信するステップと;
ローカルクロック信号を発生するステップと;
他方のデバイスからのメッセージの、前記ローカルクロック信号を基準とした到達時間を測定するステップと;
測定された到達時間の関数として、他方のデバイスへのそれぞれの距離を測定するステップと;
調整値をストアするステップと;
他方のデバイス中のローカルクロックと略同期したステアドクロック信号を、調整値に基づいて発生するステップとを含む、前記方法。
【請求項35】
前記ステアドクロック信号中のエッジと他方のデバイスからのメッセージ中のエッジとの間の差を測定するステップをさらに含む、請求項34に記載の方法。
【請求項36】
前記レジスタ中にストアされている調整値を、前記ステアドクロック信号中のエッジと前記複数のデバイスの内の他の1つのデバイスからのメッセージ中のエッジとの間の差にしたがって更新するステップをさらに含む、請求項35に記載の方法。
【請求項37】
前記受信ステップがさらに、前記ステアドクロック信号を基準として決定されたウインドウタイムフレームの中で受信信号を積分するステップを含む、請求項36に記載の方法。
【請求項38】
前記受信信号が、期間シーケンス中に複数回にわたって積分され、前記積分が、持続時間が異なるウインドウタイムフレームのシーケンス中で発生する、請求項37に記載の方法。
【請求項39】
前記ウインドウタイムフレームシーケンスの最後のウインドウタイムフレームが、前記ウインドウタイムフレームシーケンスの最初のウインドウタイムフレームより少なくとも100倍小さい、請求項38に記載の方法。
【請求項40】
前記調整値が、クロックサイクルの1/1000より良好な精度で前記ステアドクロック信号の相対的位相を指定する、請求項34に記載の方法。
【請求項41】
ローカル時間値と調整値を合計して、前記複数のデバイスの内の別の1つのデバイス中のローカルクロックと略同期している時間値を発生するステップをさらに含む、請求項34に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公表番号】特表2007−524829(P2007−524829A)
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−517533(P2006−517533)
【出願日】平成16年6月18日(2004.6.18)
【国際出願番号】PCT/US2004/019967
【国際公開番号】WO2005/011131
【国際公開日】平成17年2月3日(2005.2.3)
【出願人】(504278123)ナヴコム テクノロジー インコーポレイテッド (28)
【Fターム(参考)】
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願日】平成16年6月18日(2004.6.18)
【国際出願番号】PCT/US2004/019967
【国際公開番号】WO2005/011131
【国際公開日】平成17年2月3日(2005.2.3)
【出願人】(504278123)ナヴコム テクノロジー インコーポレイテッド (28)
【Fターム(参考)】
[ Back to top ]