(57)【要約】  本発明は、第１のノード（１０１）と第２のノード（１０２）との間の距離を決定する方法、およびそれを実行する第１のノード（１０１）に関する。方法は、第１のノード（１０１）から第２のノード（１０２）に送信されることになるデータパケットを第１のタイムスタンプでタイムスタンプすること（Ｓ１００）と、データパケットを第２のノード（１０２）に送信すること（Ｓ１１０）と、送信されたデータパケットを第２のノード（１０２）から受信し戻すこと（Ｓ１２０）と、送信すること（Ｓ１１０）および受信すること（Ｓ１２０）のステップを少なくとももう１回繰り返すこと（Ｓ１５０）と、第２のノード（１０２）からの最後の受信されたデータパケットを第２のタイムスタンプでタイムスタンプすること（Ｓ１６０）と、第１のノード（１０１）と第２のノード（１０２）との間の距離を、第１のタイムスタンプおよび第２のタイムスタンプ、繰り返すこと（Ｓ１５０）のステップの繰返し回数、ならびに第１のノード（１０１）および第２のノード（１０２）の内部遅延、に基づいて計算すること（Ｓ１７０）とを含む。
2021504676.tif 000002
【特許請求の範囲】
【請求項１】
第１のノード（１０１）によって、前記第１のノード（１０１）と第２のノード（１０２）との間の距離を決定するために実行される方法であって、前記方法は、
前記第１のノード（１０１）から前記第２のノード（１０２）に送信されることになるデータパケットを第１のタイムスタンプでタイムスタンプすること（Ｓ１００）と、
前記データパケットを前記第２のノード（１０２）に送信すること（Ｓ１１０）と、
前記送信されたデータパケットを前記第２のノード（１０２）から受信し戻すこと（Ｓ１２０）と、
前記送信すること（Ｓ１１０）および前記受信すること（Ｓ１２０）のステップを少なくとももう１回繰り返すこと（Ｓ１５０）と、
前記第２のノード（１０２）からの最後の受信されたデータパケットを第２のタイムスタンプでタイムスタンプすること（Ｓ１８０）と、
前記第１のノード（１０１）と前記第２のノード（１０２）との間の前記距離を、前記第１のタイムスタンプおよび前記第２のタイムスタンプ、前記繰り返すこと（Ｓ１５０）のステップの繰返し回数、ならびに前記第１のノード（１０１）および前記第２のノード（１０２）の内部遅延、に基づいて計算すること（Ｓ１７０）と
を含む方法。
【請求項２】
前記第１のノード（１０１）と前記第２のノード（１０２）との間の前記距離を、前記データパケットについての前記第１のノード（１０１）と前記第２のノード（１０２）との間の往復時間に基づいて推定すること（Ｓ１３０）と、
前記繰返しすること（Ｓ１５０）のステップの繰返し回数を、前記推定された距離に基づいて決定すること（Ｓ１４０）と
をさらに含む、請求項１に記載の方法。
【請求項３】
前記推定された距離が増加するとき、前記繰返しすること（Ｓ１５０）のステップの繰返し回数が減少する、すなわち、前記推定された距離が短くなるほどより多くの繰返しが実行される、請求項２に記載の方法。
【請求項４】
前記繰返し回数は、２〜１００００回の繰返し、好ましくは１０〜１０００回の繰返しの間のレンジ内である、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第１のノード（１０１）と前記第２のノード（１０２）との間の前記距離を計算することの前記ステップ（Ｓ１７０）は、
前記第１のタイムスタンプと前記第２のタイムスタンプと間の全体時間を決定すること（Ｓ１７１）と、
総移動時間を得るために、前記第１のノード（１０１）と前記第２のノード（１０２）とのそれぞれにおいて累積された内部遅延を、前記全体時間から減算すること（Ｓ１７２）と、
前記データパケットが前記第１のノード（１０１）から前記第２のノード（１０２）に移動する平均時間を得るために、前記総移動時間を前記繰返し回数の２倍で除算すること（Ｓ１７３）と
を含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
第１のノード（１０１）と第２のノード（１０２）との間の距離を決定するための前記第１のノード（１０１）であって、前記第１のノード（１０１）は、処理ユニット（５０１）とメモリ（５０２）とを含み、前記メモリ（５０２）は、前記処理ユニット（５０１）によって実行されたとき、前記第１のノード（１０１）に、
前記第１のノード（１０１）から前記第２のノード（１０２）に送信されることになるデータパケットを第１のタイムスタンプでタイムスタンプさせ、
前記データパケットを前記第２のノード（１０２）に送信させ、
前記送信されたデータパケットを前記第２のノード（１０２）から受信し戻させ、
前記送信ステップおよび受信ステップを少なくとももう１回繰り返させ、
前記第２のノード（１０２）からの最後の受信されたデータパケットを第２のタイムスタンプでタイムスタンプさせ、ならびに
前記第１のノード（１０１）と前記第２のノード（１０２）との間の前記距離を、前記第１のタイムスタンプおよび前記第２のタイムスタンプ、前記繰り返すことのステップの繰返し回数、ならびに前記第１のノード（１０１）および前記第２のノード（１０２）の内部遅延、に基づいて計算させる、
命令を含む、第１のノード（１０１）。
【請求項７】
前記第１のノード（１０１）と前記第２のノード（１０２）との間の前記距離を、前記データパケットについての前記第１のノード（１０１）と前記第２のノード（１０２）との間の往復時間に基づいて推定させらされ、
前記繰返しすることのステップの繰返し回数を、前記推定された距離に基づいて決定させられる、請求項６に記載の第１のノード（１０１）。
【請求項８】
前記推定された距離が増加するとき、さらに、前記繰返しすることのステップの繰返し回数が減少させられる、すなわち、前記推定された距離が短くなるほどより多くの繰返しが実行される、請求項７に記載の第１のノード（１０１）。
【請求項９】
前記繰り返すことのステップを最大１００００回の繰返し、好ましくは１０〜１０００回の繰返しの間で繰り返させられる、請求項６から８のいずれか一項に記載の第１のノード（１０１）。
【請求項１０】
前記第１のスタンプと前記第２のタイムスタンプと間の全体時間を決定させられ、
総移動時間を得るために、前記第１のノード（１０１）と前記第２のノード（１０２）とのそれぞれにおいて累積された内部遅延を、前記全体時間から減算させられ、および
前記第１のノード（１０１）と前記第２のノード（１０２）との間の前記距離を計算するために、前記データパケットが前記第１のノード（１０１）から前記第２のノード（１０２）に移動する平均時間を得るために、前記総移動時間を前記繰返し回数の２倍で除算させられる、請求項６から９のいずれか一項に記載の第１のノード（１０１）。
【請求項１１】
前記処理ユニット（５０１）は、時間基準を生成するためのシステムクロックをさらに含み、前記システムクロックは、前記第２のノード（１０２）の処理ユニット（６０１）内のシステムクロックと非同期である、請求項６から１０のいずれか一項に記載の第１のノード（１０１）。
【請求項１２】
コンピュータ・プログラム・コードを含むコンピュータプログラムであって、前記コンピュータ・プログラム・コードは、前記第１のノード（１０１）の前記処理ユニット（５０１）によって実行された場合、請求項１から５のいずれか一項に記載の方法を実施するように適合される、コンピュータプログラム。
【請求項１３】
コンピュータ可読記憶媒体（５０２）を含むコンピュータプログラム製品であって、前記コンピュータ可読記憶媒体は、請求項１２に記載のコンピュータプログラムを有する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般に、距離測定および測位ソリューションのための改善された、タイムスタンプする方法、およびそうした距離測定を実行するためのノードに関する。
【背景技術】
【０００２】
２つのデバイス間の距離を決定するとき、信号がデバイス間を移動するのにかかる時間を測定し得る。１つの方法は、信号が一方のデバイスを離れたとき、および信号がもう一方のデバイスに到達したときに信号にタイムスタンプし、次いで、その間の距離を計算するためにタイムスタンプ間の時刻差を使用することである。タイムスタンプすることの精度または分解能は、ノード内のクロック周波数および送信周波数に大きく依存する。クロック周波数および送信周波数が高いほど、タイミングの分解能が向上する。たとえば、４０Ｍｈｚのクロック周波数を使用する場合、２つのタイムスタンプ間の最短時間は２５ナノ秒である。２つのデバイス間の移動時間もまた、ナノ秒のレンジ内である場合、タイムスタンプの分解能が低いため、かなりの誤差につながることになる。したがって、距離測定を実行するときにクロック周波数を上げることは、全般的に分解能を向上させ、より良好な精度を提供する。しかしながら、現在利用可能なクロック周波数では、タイムスタンプの分解能が低いために時間測定における非常に小さな誤差でさえ距離計算または測位決定における大きな誤差につながる、という事実によって、移動時間、到着時刻差、および同様のソリューションを正確に測定することが困難である。さらに、全般的に、より高いクロック周波数はより多くのエネルギを消費し、小型のデバイス、特にモノのインターネット（ＩｏＴ：Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）では、低消費電力が極めて重要である。
【０００３】
タイムスタンプすることは、あるイベントがいつ発生したかを示す、データパケット内の数字または文字の列である。通常、タイムスタンプは時刻または日付のうちの少なくともいずれか１つを示すが、タイムスタンプすることは、システムのアップタイムクロック、システムクロック、またはデバイス内の利用可能な他の時間情報、などの内部時間に基づいて実行されることもできる。精度は用途分野に依存するが、秒の小数部が考慮されなければならない距離測定および測位システムについては、そうしたシステムが満足に機能できるようにするために必要な精度を達成することは困難である。
【０００４】
デジタル技術の分野では、タイムスタンプすることは、イベントが実際に発生した時刻ではなく、イベントが記録された時刻である。イベントの実際の時刻と、マイクロプロセッサなどのコンピュータがイベントを記録する時刻との間には大きな違いがある。すべてのデジタルシステムは、大なり小なり、タイムスタンプすることの精度と分解能に影響を与える遅延を含んでいる。
【０００５】
上述のように、タイムスタンプすることは、データパケットを送信することおよびデータパケットを受信することなど、２つのイベント間の時刻差を決定するためにしばしば使用される。したがって、先行技術の測位システムでは、最初にシステムの送信端と受信端との間で高精度でクロックを同期させることが一般的な手法である。その後、そうしたシステムは、データパケットが移動した時間を決定することができる。
【０００６】
測位技術の分野において、最もよく知られているシステムの１つは、グローバルポジショニングシステム（ＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）である。ＧＰＳは、いくつかの衛星と地球上のデバイスとの間の一方向通信を利用する。ＧＰＳ衛星は、地球を介して異なるＧＰＳ衛星間で継続的に同期させらされる非常に正確な原子時計を有している。各衛星は、地球上のＧＰＳ受信機で受信可能な、自身の現在の時刻と位置を常に送信する。時刻、特に時刻差に基づいて、デバイスは、ＧＰＳ衛星の位置と、異なるＧＰＳ衛星からの受信されたデータパケット間の時刻差とから導出される、自身の位置を決定することができる。
【０００７】
従来のタイムスタンプすることの問題は、イベントが発生する実際の時刻と、システムが実際にタイムスタンプを記録する時刻との間の差である。これを解消するための従来技術のソリューションは、デバイスにおいて、より高い送信周波数とより高いクロック周波数を使用して、処理時間を最小化および／または安定化することである。
【発明の概要】
【０００８】
本発明の目的は、短距離および中短距離、すなわち約０から１．０００メートルについての測位および／または距離決定システムにおいて正確なタイムスタンプすることを可能にすることである。いくつかの実施形態では、本発明は、１．０００〜１５．０００メートルなどのさらに長い距離についての測位および／または距離決定システムにおいて正確なタイムスタンプすることを可能にする。
【０００９】
先行技術のソリューションは、距離測定における誤差を低減するために処理時間を最小化または安定化することに焦点を合わせている。本ソリューションは、システム内で複数の処理時間が許容される、完全に異なるソリューションを使用する。処理時間は依然として関連があるが、本ソリューションについては、処理時間を最小化するよりも安定化することがより重要である。いくつかの実施形態では、処理時間を最小化することは、不確実性を最小化することにより一定の処理時間を達成することと同じである。処理時間を最小化する代わりに、実質的に一定で正確な処理時間が達成されることができるシステムが展開されている。
【００１０】
一態様によれば、第１のノードによって、第１のノードと第２のノードとの間の距離を決定するために実行される方法が提供される。方法は、第１のノードから第２のノードに送信されることになるデータパケットを第１のタイムスタンプでタイムスタンプし、そのデータパケットを第２のノードに送信し、その送信されたデータパケットを第２のノードから受信し戻す。送信することおよび受信することのステップを少なくとももう１回繰返し、次いで、第２のノードからの最後に受信されたデータパケットが２番目のタイムスタンプでタイムスタンプされ、第１のノードは、第１のノードと第２のノードとの間の距離を、第１のタイムスタンプおよび第２のタイムスタンプ、繰返しすることのステップの繰返し回数、ならびに第１のノードおよび第２のノードの内部遅延、に基づいて計算する。
【００１１】
一実施形態では、方法は、第１のノードと第２のノードとの間の距離を、データパケットについての第１のノードと第２のノードとの間の往復時間に基づいて推定することと、繰返しすることのステップの繰返し回数を、推定された距離に基づいて決定することとをさらに含む。
【００１２】
好ましくは、推定された距離が増加するとき、繰返しすることのステップの繰返し回数が減少する、すなわち、推定された距離が短くなるほどより多くの繰返しが実行される。例示的な一実施形態では、繰返し回数は、２〜１００００回の繰返し、好ましくは１０〜１０００回の繰返しの間のレンジ内である。
【００１３】
別の実施形態では、第１のノードと第２のノードとの間の距離を計算することのステップは、第１のタイムスタンプと第２のタイムスタンプとの間の全体時間を決定することと、総移動時間を得るために、第１のノードと第２のノードとのそれぞれにおいて累積された内部遅延を、全体時間から減算することと、データパケットが第１のノードから第２のノードに移動する平均時間を得るために、総移動時間を繰返し回数の２倍で除算することとを含む。
【００１４】
別の態様によれば、第１のノードと第２のノードとの間の距離を決定するための第１のノードであって、第１のノードは、処理ユニットとメモリとを含み、メモリは、処理ユニットによって実行されたとき、第１のノードに、第１のノードから第２のノードに送信されることになるデータパケットを第１のタイムスタンプでタイムスタンプさせ、データパケットを第２のノードに送信させ、送信されたデータパケットを第２のノードから受信し戻させ、送信ステップおよび受信ステップを少なくとももう１回繰り返させ、第２のノードからの最後の受信されたデータパケットを第２のタイムスタンプでタイムスタンプさせ、ならびに第１のノードと第２のノードとの間の距離を、第１のタイムスタンプおよび第２のタイムスタンプ、繰り返すことのステップの繰返し回数、ならびに第１のノードおよび第２のノードの内部遅延、に基づいて計算させる、命令を含む、第１のノードが提供される。
【００１５】
一実施形態では、第１のノードは、さらに、第１のノードと第２のノードとの間の距離を、データパケットについての第１のノードと第２のノードとの間の第１の往復時間に基づいて推定させられ、繰返しすることのステップの繰返し回数を、推定された距離に基づいて決定させられる。
【００１６】
好ましくは、第１のノードは、さらに、推定された距離が増加するとき、繰返しすることのステップの繰返し回数を減少させられる、すなわち、推定された距離が短くなるほどより多くの繰返しが実行され、例示的な一実施形態では、第１のノードは、さらに、繰り返すことのステップを最大１００００回の繰返し、好ましくは１０〜１０００回の繰返しの間で繰り返させられる。
【００１７】
別の実施形態では、第１のノードは、さらに、第１のスタンプと第２のタイムスタンプと間の全体時間を決定させられ、総移動時間を得るために、第１のノードと第２のノードとのそれぞれにおいて累積された内部遅延を、全体時間から減算させられ、および第のノードと第２のノードとの間の距離を計算するために、データパケットが第１のノードから第２のノードに移動する平均時間を得るために、総移動時間を繰返し回数の２倍で除算させられる。
【００１８】
さらに別の実施形態では、第１のノード内の処理ユニットは、時間基準を生成するためのシステムクロックを含み、システムクロックは、第２のノードの処理ユニット内のシステムクロックと非同期である。
【００１９】
別の態様によれば、コンピュータ・プログラム・コードを含むコンピュータプログラムであって、コンピュータ・プログラム・コードは、第１のノードの処理ユニットによって実行された場合、方法を実施するように適合される、コンピュータプログラムも提供される。
【００２０】
さらに別の態様によれば、コンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、コンピュータ可読媒体は上記のコンピュータプログラムを有する、コンピュータプログラム製品が提供される。
【００２１】
データパケットを送信することおよび受信することのステップを繰り返すこと、すなわち、第１のノードと第２のノードとの間でデータパケットを前後に「ピンポン」すること、ならびにデータパケットが最初に第１のノードを離れるときおよびデータパケットが第１のノードで最後に受信されるときにのみタイムスタンプすることによって、タイムスタンプすることの誤差が、ピンポンの数で除算される。したがって、データパケットが１０００回ピンポンされた場合、タイムスタンプ誤差は１０００倍で低減されることになる。これは素晴らしいことであり、そうした精度は、たとえばクロック速度を上げるのみでは達成されることができない。これは、異なるノード間でいかなるシステムクロックを同期させることも一切必要とすることなく、２つのタイムスタンプのみの使用によって達成される。
【００２２】
ここで、例として、添付図面を参照しつつ、本発明が説明される。
【図面の簡単な説明】
【００２３】
【図１】第１のノードが第２のノードまでの距離を決定することになるシナリオの概観である。
【図２】第１のノードと第２のノードとの間の通信を示すチャートである。
【図３】例示的な一実施形態に係る、第１のノードによって実行されるいくつかのステップを示すフローチャートである。
【図４】別の例示的な実施形態に係る、第１のノードによって実行されるいくつかのステップを示すフローチャートである。
【図５】第１のノードの図である。
【図６】第２のノードの図である。
【発明を実施するための形態】
【００２４】
以下では、第１のノードと第２のノードとの間の距離を決定するために第１のノードによって実行される方法の詳細な説明がなされる。
【００２５】
図１は、第１のノード１０１および第２のノード１０２を示すシナリオの概観である。決定されることになるのはこれら２つのノード１０１、１０２の間の距離である。第１のノード１０１は、たとえば、携帯電話、スマートフォン、ＰＤＡ、タブレット、ＰＣ、ラップトップまたはそれらと類似するもの、などのユーザ機器（Ｕｓｅｒ  Ｅｑｕｉｐｍｅｎｔ：ＵＥ）であり得るか、または第２のノード１０２の位置を特定するかまたはそこまでの距離を決定するために使用される専用のロケータデバイスとすることができる。例示的な第１のノード１０１は、図５に関連してより詳細に説明される。第２のノード１０２も、第１のノード１０１のようなＵＥであってもよいが、無線周波数トランシーバを含むより受動的なデバイスとすることもできる。ある時点で、ユーザが、第２のノード１０２までの距離を決定するか、それの位置を特定することを望む。そうした場合の例としては、対象物が盗まれるか紛失されたとき、またはデバイスを持っている人が行方不明になったとき、とすることができるが、それには限定されない。そうした状況では、ユーザは、第２のノード１０２までの距離を決定するために第１のノード１０１を使用し得る。例示的な第２のノード１０２が、図６に関連してより詳細に説明される。
【００２６】
第１のノード１０１にはエアインタフェースを介して無線信号を送信および受信するためのトランシーバが備えられている。同様に、第２のノード１０２にはエアインタフェースを介して無線信号を送信および受信するためのトランシーバが備えられている。第１のノードおよび第２のノード、１０１および１０２は、たとえば、ローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＬＡＮ）プロトコルシグナリングまたは類似の通信プロトコルを使用して、エアインタフェースを介して互いに直接通信しているものとすることができる。ＬＡＮシグナリングプロトコルは、８０２．１１ａ／ｂ／ｎまたは他の類似の今後の標準を含むがこれらに限定されない、ＩＥＥＥ８０２．１１（電気電子技術者協会：Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）などの任意の適切なプロトコルとすることができる。サポートされ得る標準の他の例は、Ｚｉｇｂｅｅ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦＩＤ（無線周波数識別：Ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、ＵＳＢ（ユニバーサル・シリアル・バス：Ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）である。前述のプロトコルも、４３３ＭＨｚ、４５０ＭＨｚ、９００ＭＨｚ、２．４ＧＨｚ、または５ＧＨｚなどのさまざまな周波数によって搬送され得、他の適切な周波数または任意の類似のプロトコルの使用を制限しない。たとえば、第１のノード１０１は、エアインタフェースを介してデータパケットを第２のノード１０２に送信することができる。第１のノード１０１から送信されたデータパケットに応答して、第２のノード１０２はデータパケットを復調し（データパケットを再作成するため）、次いで、エアインタフェースを介してそれを第１のノード１０１に直接送り返す。
【００２７】
ここで図２および図３を参照して、第１のノード１０１と第２のノード１０２との間の距離を決定するために第１のノード１０１によって実行される方法がより詳細に説明される。図２は、第１のノード１０１と第２のノード１０２との間の通信を示すチャートであり、図３は、例示的な一実施形態に係る、第１のノード１０１によって実行されるステップを示すフローチャートである。
【００２８】
第１のノード１０１が第１のノード１０１と第２のノード１０２との間の距離測定を実行することになると決定されたとき、いくつかの実施形態では、セキュリティルーチンが最初に実行され、そのセキュリティルーチンは、当技術分野においてよく知られた任意のセキュリティルーチンであってよく、したがって、ここでは一切詳細に説明されない。第１のノード１０１は、セットアップ・セキュリティ・メッセージを送信し、すべてがＯＫである場合、第２のノード１０２からの応答でセキュリティ承認を取得する。
【００２９】
セキュリティルーチンが実行されたとき、ステップＳ１００において第１のタイムスタンプでデータパケットをタイムスタンプすることによって、第１のノード１０１内で測定が始まる。次いで、ステップＳ１１０において、データパケットが第２のノード１０２に送信される。
第２のノード１０２は、データパケットを受信し、それを復調し、データパケットを再作成し、第１のノード１０１にそれを直接送り返す。ステップＳ１２０において、第１のノード１０１は、少なくとももう１回ではあるが以下に説明される異なる状況に応じて好ましくは最大１００００回、第２のノード１０２からデータパケットを受信し戻し、それを復調し、第２のノード１０２にそれを直接送り返す。したがって、ステップＳ１１０およびＳ１２０は、ステップＳ１５０において少なくとも１回繰り返されるが、たとえば、デフォルト値として１０００回繰り返されるように設定されてもよい。したがって、データパケットは、第１のノード１０１と第２のノード１０２との間でピンポンされると言われ得る。ステップＳ１１０およびＳ１２０が、設定された回数または所定回数繰り返された後、ステップＳ１６０において、第２のノード１０２からの最後に受信されたデータパケットが、第２のタイムスタンプでタイムスタンプされる。最後に、ステップＳ１７０において、第１のノード１０１と第２のノード１０２との間の距離が計算される。計算は、第１のタイムスタンプおよび第２のタイムスタンプ、すなわち、第１のタイムスタンプと第２のタイムスタンプとの間で経過した時間、繰返しすることのステップＳ１５０の繰返し回数、ステップ、ならびに第１のノード１０１および第２のノード１０２の内部遅延に基づく。内部遅延は、第１のノード１０１および第２のノード１０２それぞれにおけるデータパケットの到着と出発の間の時間である。
【００３０】
図４に示される好ましい実施形態では、距離を計算することのステップＳ１７０がより詳細に説明される。第１のステップＳ１７１において、全体時間、すなわち第１のスタンプと第２のタイムスタンプとの間の時間が計算される。その後、総移動時間を得るために、ステップ１７２において、第１のノード１０１および第２のノード１０２のそれぞれにおける総内部遅延が、全体時間から減算される。次いで、ステップ１７３において、データパケットが第１のノード１０１から第２のノード１０２に移動する平均時間を得るために、総移動時間が、繰返し回数の２倍で除算される。データパケットの移動速度は既知であるため、次いで、計算された平均時間に基づいて距離を計算することが可能である。先行技術と比較して精度における向上を示すために次の例が使用され得る。例で使用されている数字は、一例を示すために使用されており、いかなる形でも保護の範囲を限定するものではない。
【００３１】
２つのノード間の距離が２００メートルであり、第１のノードは２４ＭＨｚで動作する内部システムクロックを有していると仮定する。２つのノード間の移動時間はおおむね約６５０ナノ秒、すなわち往復時間（ｒｏｕｎｄ  ｔｒｉｐ  ｔｉｍｅ：ＲＴＴ）で約１．３マイクロ秒である。２４ＭＨｚのクロック周波数は、１回のタイムスタンプすることに対して最大約４０ナノ秒、すなわち、２つのタイムスタンプについて合計で最大約８０ナノ秒の誤差源をもたらす。別の誤差源は、２つのノード内の内部遅延であり、これは、１０から１００マイクロ秒のレンジ内であり得る。内部遅延は妥当で安定していると見なされ得るが、内部遅延の小さな変動も距離計算に大きな影響を及ぼすことになる。＋／−２％の変動を有する５０マイクロ秒の内部遅延を仮定すると、従来の距離計算の誤差は以下のようになる。測定されたＲＲＴは、タイムスタンプの分解能に応じて、１．３からほぼ１．４マイクロ秒の間で変化し得、内部遅延が、測定されたＲＲＴを両方向に最大１マイクロ秒変化させ得、可能性のあるＲＲＴのレンジ０．３〜２．４をもたらし得、実際の距離が２００メートルのとき、可能性のある距離５０〜３７０メートルという結果になり得る。代わりに、２つのノード間でデータパケットをたとえば１００回「ピンポン」する、本発明に係る方法を使用した場合、１００個の内部遅延の平均は非常に一定になるため、内部遅延の変動は無視できることになる。さらに、２つのタイムスタンプだけが使用されるので、タイムスタンプすることの分解能の低さは１００倍で減少させられることになる。上記の例示の数字では、距離の計算は、可能性のある距離２００〜２００．１メートルの間という結果になる。したがって、この方法で非常に著しい改善が達成される。
【００３２】
ここで図３に戻って、ステップＳ１１０およびＳ１２０の繰返し回数の設定または事前決定がより詳細に説明される。上記の例で明らかなように、より長い距離はより長い移動時間をもたらし、したがって誤差が小さくなるため、方法の精度は、第１のノード１０１と第２のノード１０２との間の距離とともに向上する。したがって、第１のノード１０１と第２のノード１０２との間の距離の大まかな推定を得ることができる場合、ステップＳ１５０における繰返し回数を設定するためにこれが使用されることができる。距離の大まかに推定するためにはいくつかの方法がある。推定された距離は、たとえば、セキュリティ承認の信号強度、またはデータパケットと第２のノード１０２への／からの応答との最初のＲＴＴに基づいて計算され得る。代替実施形態では、第２のノード１０２は、距離を決定し、その距離、またはそれから距離が決定されることができるＲＴＴなどのパラメータを通信するように設定されることができる。次いで、距離またはパラメータ値が、第１のノード１０１に通信されることができる。したがって、好ましい実施形態では、方法は、ステップＳ１３０において、データパケットについての第１のノード１０１と第２のノード１０２との間のＲＴＴに基づいて、第１のノード１０１と第２のノード１０２との間の距離を推定することと、ステップＳ１４０において、推定された距離に基づいて、繰返しすることのステップＳ１５０についての繰返し回数を決定することとを含む。ステップＳ１３０およびＳ１４０は任意選択的であり、したがって図３において点線で示されている。
【００３３】
別の実施形態では、繰返しすることのステップＳ１５０の繰返し回数は、推定された距離が増加するときに減少するように、すなわち、推定された距離が短くなるほどより多くの繰返しが実行されるように決定される。このようにして、第１のノード１０１と第２のノード１０２との間の距離とは無関係に、距離を測定するときに同じ精度を有することが可能である。さらに別の実施形態では、繰返し回数は、事前決定され得、２〜１００００回の繰返し、好ましくは１０〜１０００回の繰返しの間のレンジで設定され得る。
【００３４】
ここで図５を参照して、第１のノードがより詳細に説明される。第１のノード１０１は、処理ユニットと、無線トランシーバユニットと、アンテナと、バッテリと、任意選択的に、第１のノード１０１を動作可能にするための他のサポートコンポーネントとを含み得る。
【００３５】
図５は、第１のノード１０１の例示的な一実施形態を示している。第１のノード１０１は、上記に示されるようなハードウェアデバイスによって実施され得る。第１のノードは、処理ユニット５０１によって実行されたとき、デバイス１０１に上述の方法を実行させるコード手段、を含むそれぞれのコンピュータプログラムのプログラムモジュールを有することができる。処理ユニット５０１は、単一の中央処理ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）を含み得るか、または２つ以上の処理ユニットを含むことができる。たとえば、処理ユニット５０１は、汎用マイクロプロセッサ、命令セットプロセッサおよび／または関連チップセット、および／または特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）などの特定目的マイクロプロセッサを含み得る。処理ユニット５０１は、キャッシュ目的のためのストレージも含み得る。
【００３６】
各コンピュータプログラムは、コンピュータ可読媒体を有し、処理ユニット５０１に接続されている、メモリの形態で、コンピュータプログラム製品５０２によって第１のノード１０１に持ち込まれ得る。したがって、コンピュータプログラム製品５０２またはメモリは、コンピュータプログラムがコンピュータプログラムモジュール「ｍ」の形態などで記憶されているコンピュータ可読媒体を含む。たとえば、メモリ５０２は、フラッシュメモリ、ランダム・アクセス・メモリ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＲＡＭ）、リードオンリメモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＲＯＭ）または電気的消去可能プログラマブルＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ：ＥＥＰＲＯＭ）であり得、プログラムモジュールｍは、代替実施形態では、デバイス５０２内のメモリの形態で異なるコンピュータプログラム製品上に分散されることができる。
【００３７】
第１のノード１０１は、通信ユニット５０６をさらに含み得る。通信ユニットは、直接無線通信チャネルを介して第２のノード１０２と通信するように特に配置される。通信ユニット５０６は、第１のノード１０１のプログラミングおよび／または設定のためにも配置され得る。一実施形態では、通信ユニット５０６は、８０２．１１ａ／ｂ／ｎまたは他の類似の今後の標準を含むがこれらに限定されない、ＩＥＥＥ８０２．１１（電気電子技術者協会：Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）を介した通信に採用されているチップセットを含み得る。通信ユニット５０６によってサポートされ得る標準の他の例は、Ｚｉｇｂｅｅ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦＩＤ（無線周波数識別：Ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、ＵＳＢ（ユニバーサル・シリアル・バス：Ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）である。通信ユニット５０６はアンテナを含み得る。通信ユニット５０６は、外部アンテナに接続可能であり得る。
【００３８】
第１のノード１０１は、電力供給ユニット５１０を含み得る。電力供給ユニットは、処理ユニット５０１、メモリユニット５０２、および／または通信ユニット５０６の電力供給のために配置され得る。電力供給ユニット５１０の例は、バッテリ、コンデンサ、燃料電池、太陽電池、誘導性コンタクト、ＵＳＢコンタクト（ユニバーサル・シリアル・バス）、有線コンタクトであり、電力供給ユニット５１０に適した他の例に限定されない。
【００３９】
ここで図６を参照して、第２のノード１０２もより詳細に説明される。第１のノード１０１を使用してそれへの距離が測定されることになる第２のノード１０２は、位置を特定することおよび距離を測定することができるようにすることをユーザが望む任意の対象に取り付け可能な小さなデバイスとすることができる。第２のノード１０２は、スマートフォンなどの既存のデバイスに統合もされ得る。例示的な第２のノード１０２が図６に描写されている。第２のノード１０２は、処理ユニット６０１によって実行されたとき、デバイス１０１に上述の方法を実行させるコード手段、を含むそれぞれのコンピュータプログラムのプログラムモジュールを有することができるハードウェアデバイスによって実施され得る。処理ユニット６０１は、単一の中央処理ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）を含み得るか、または２つ以上の処理ユニットを含むことができる。たとえば、処理ユニット６０１は、汎用マイクロプロセッサ、命令セットプロセッサおよび／または関連チップセット、および／または特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）などの特定目的マイクロプロセッサを含み得る。処理ユニット６０１は、キャッシュ目的のためのストレージも含み得る。
【００４０】
各コンピュータプログラムは、コンピュータ可読媒体を有し、処理ユニット６０１に接続されている、メモリの形態で、コンピュータプログラム製品６０２によって第２のノード１０２に持ち込まれ得る。したがって、コンピュータプログラム製品６０２またはメモリは、コンピュータプログラムがコンピュータプログラムモジュール「ｍ」の形態で記憶されているコンピュータ可読媒体を含む。たとえば、メモリ６０２は、フラッシュメモリ、ランダム・アクセス・メモリ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＲＡＭ）、リードオンリメモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＲＯＭ）または電気的消去可能プログラマブルＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ：ＥＥＰＲＯＭ）であり得、プログラムモジュールｍは、代替実施形態では、デバイス６０２内のメモリの形態で異なるコンピュータプログラム製品上に分散されることができる。
【００４１】
第２のノード１０２は、通信ユニット６０６をさらに含み得る。通信ユニットは、直接無線通信チャネルを介して第１のノード１０１と通信するように特に配置される。通信ユニット６０６は、第２のノード１０２のプログラミングおよび／または設定のためにも配置され得る。一実施形態では、通信ユニット６０６は、８０２．１１ａ／ｂ／ｎまたは他の類似の今後の標準を含むがこれらに限定されない、ＩＥＥＥ８０２．１１（電気電子技術者協会：Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）を介した通信に採用されているチップセットを含み得る。通信ユニット６０６によってサポートされ得る標準の他の例は、Ｚｉｇｂｅｅ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦＩＤ（無線周波数識別：Ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、ＵＳＢ（ユニバーサル・シリアル・バス：Ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）である。通信ユニット６０６はアンテナを含み得る。通信ユニット６０６は、外部アンテナに接続可能であり得る。
【００４２】
第２のノード１０２は、電力供給ユニット６１０を含み得る。電力供給ユニットは、処理ユニット６０１、メモリユニット６０２、および／または通信ユニット６０６の電力供給のために配置され得る。電力供給ユニット６１０の例は、バッテリ、コンデンサ、燃料電池、太陽電池、誘導性コンタクト、ＵＳＢコンタクト（ユニバーサル・シリアル・バス）、有線コンタクトであり、電力供給ユニット６１０に適した他の例に限定されない。
【００４３】
具体的な例示的実施形態を参照しつつソリューションが説明されてきたが、説明は全般的に、発明の概念を示すが意図されているのみであり、ソリューションの範囲を限定するものと捉えられるべきではない。
【図１】
2021504676.tif 000003
【図２】
2021504676.tif 000004
【図３】
2021504676.tif 000005
【図４】
2021504676.tif 000006
【図５】
2021504676.tif 000007
【図６】
2021504676.tif 000008
【国際調査報告】
2021504676.tif 000009
2021504676.tif 000010