【文献】
Shusaku Shimada,TSF Timer Freq. Management and Measurement Procedure (TFM2P),IEEE 802.11-12/1376r0,2012年11月13日,pp.1,14-16
(58)【調査した分野】(Int.Cl.,DB名)
i)第1クロック周波数を有する第1クロックを利用する第1通信デバイス、およびii)第2クロック周波数を有する第2クロックを利用する第2通信デバイスに対するクロック補償のための方法であって、
第1送信が前記第2通信デバイスにより送信されたときに対応する第1タイムスタンプを、前記第1通信デバイスにおいて決定する段階と、
第2送信が前記第2通信デバイスにおいて受信されたときに対応する第2タイムスタンプを、前記第1通信デバイスにおいて決定する段階と、
前記第1クロック周波数に基づき、前記第1送信が前記第1通信デバイスにおいて受信されたときに対応する第3タイムスタンプを、前記第1通信デバイスにおいて決定する段階と、
前記第1クロック周波数に基づき、前記第2送信が前記第1通信デバイスにより送信されたときに対応する第4タイムスタンプを、前記第1通信デバイスにおいて決定する段階と
補償インジケータが前記第2通信デバイスから受信されたかを、前記第1通信デバイスにおいて決定する段階と、
前記補償インジケータが前記第2通信デバイスから受信されていないと決定されたときに、前記第1通信デバイスにおいて、補償済第1タイムスタンプおよび補償済第2タイムスタンプを提供するべく、前記第1クロック周波数と前記第2クロック周波数との間の差を補償する段階と、
前記補償インジケータが受信されていないと決定されたときに、前記補償済第1タイムスタンプ、前記補償済第2タイムスタンプ、前記第3タイムスタンプ、および前記第4タイムスタンプに基づき、前記第1通信デバイスと前記第2通信デバイスとの間の距離を、前記第1通信デバイスにおいて計算する段階と
を備える、方法。
i)第1クロック周波数を有する第1クロックを利用する第1通信デバイスと、ii)第2クロック周波数を有する第2クロックを利用する第2通信デバイスとの間のクロック補償のための方法であって、
第1送信が前記第1通信デバイスにより送信されたときに対応する第1タイムスタンプを、前記第1通信デバイスにおいて決定する段階と、
第2送信が前記第1通信デバイスにおいて受信されたときに対応する第2タイムスタンプを、前記第1通信デバイスにおいて決定する段階と、
前記第1通信デバイスにおいて、補償済第1タイムスタンプおよび補償済第2タイムスタンプを提供するべく、前記第1クロック周波数と前記第2クロック周波数との間の差を補償する段階と、
前記補償済第1タイムスタンプおよび前記補償済第2タイムスタンプを前記第1通信デバイスから前記第2通信デバイスへ送出する段階と、
補償インジケータを、前記第1通信デバイスから前記第2通信デバイスへ送出する段階であって、前記補償インジケータは、前記第2通信デバイスが前記補償済第1タイムスタンプおよび前記補償済第2タイムスタンプに関して前記第1クロック周波数と前記第2クロック周波数との間の前記差を補償する必要がないことを示す、段階と
を備え、
前記補償済第1タイムスタンプ、前記補償済第2タイムスタンプおよび前記補償インジケータを前記第2通信デバイスへ送出することは、
前記第2クロック周波数に基づき、前記第1送信が前記第2通信デバイスにおいて受信されたときに対応する第3タイムスタンプを、前記第2通信デバイスにおいて決定し、
前記第2クロック周波数に基づき、前記第2送信が前記第2通信デバイスにより送信されたときに対応する第4タイムスタンプを、前記第2通信デバイスにおいて決定し、
前記補償済第1タイムスタンプ、前記補償済第2タイムスタンプ、前記第3タイムスタンプ、および前記第4タイムスタンプに基づき、前記第1通信デバイスと前記第2通信デバイスとの間の距離を、前記第2通信デバイスにおいて計算する
ためのものである、
方法。
前記ネットワークインタフェースは、ファインタイミング測定リクエストを含む前記第1送信を送出し、前記第2通信デバイスから送出された前記ファインタイミング測定リクエストの肯定応答を含む前記第2送信を受信する、請求項11から15のいずれか一項に記載の第1通信デバイス。
前記ネットワークインタフェースは、ファインタイミング測定リクエストを含む前記第1送信を送出し、前記第2通信デバイスから送出された前記ファインタイミング測定リクエストの肯定応答を含む前記第2送信を受信する、請求項18または19に記載の第1通信デバイス。
【発明を実施するための形態】
【0015】
複数の通信デバイス間の複数の送信に関する伝播時間を測定するための複数の方法および装置の複数の実施形態が本明細書において開示される。いくつかの実施形態において、送出時間および到着時間など複数のタイムスタンプを用いて伝播時間が測定される。いくつかのシナリオにおいて、複数の伝播時間はナノ秒のオーダーであるので、それにより、少なくともいくつかの実施形態において、複数のタイムスタンプを用いて精度のよい複数の測定値を取得することは精度のよい複数のタイムスタンプ測定を要求する。しかし、少なくともいくつかのシナリオにおいて、複数のタイムスタンプを生成するときに各通信デバイスにより用いられる複数のクロック周波数間の複数の差(周波数ドリフトに起因するものなど)によって、複数のタイムスタンプ測定値に複数の誤差がもたらされる。それにより、本明細書に開示される様々な実施形態において、複数のタイムスタンプ測定値の複数の誤差を軽減するよう、異なる複数の通信デバイスの複数のクロック間の複数の差を考慮に入れる複数の技術が利用される。
【0016】
図1は、本開示の実施形態に係る、1または複数の通信デバイスが複数の伝播時間測定技術を利用する例示的なネットワーク10のブロック図である。アクセスポイント(AP)14は、ネットワークインタフェース16に結合されたホストプロセッサ15を含む。ネットワークインタフェース16は、媒体アクセス制御(MAC)処理ユニット18と、物理レイヤー(PHY)処理ユニット20とを含む。PHY処理ユニット20は、1または複数のアンテナ24に結合された1または複数のトランシーバ21を含む。当業者には理解いただけるように、
図1には3台のトランシーバ21および3台のアンテナ24が図示されているが、AP14の様々な実施形態は、任意の適切な数(例えば、1、2、4、5、その他)のトランシーバ21とアンテナ24とを含む。さらに、様々な実施形態によると、1または複数のアンテナが複数のトランシーバ間で共有され、および/または、その逆が起こり得るように、任意の適切な数のトランシーバ21が任意の適切な数のアンテナ24に結合される。
【0017】
ネットワーク10は複数のクライアント端末25を含む。
図1には4台のクライアント端末25が図示されているが、ネットワーク10の様々な実施形態は、任意の数(例えば、1、2、3、5、6、その他)のクライアント端末25を含む。クライアント端末25−1は、ネットワークインタフェース27に結合されたホストプロセッサ26を含む。ネットワークインタフェース27は、MAC処理ユニット28とPHY処理ユニット29とを含む。PHY処理ユニット29は、1または複数のアンテナ34に結合された1または複数のトランシーバ30を含む。
図1には3台のトランシーバ30と3台のアンテナ34とが図示されているが、クライアント端末25−1の様々な実施形態は、任意の適切な数(例えば、1、2、4、5、その他)のトランシーバ30とアンテナ34とを含む。さらに、様々な実施形態によると、1または複数のアンテナが複数のトランシーバ間で共有され、および/または、その逆が起こり得るように、任意の適切な数のトランシーバ30が任意の適切な数のアンテナ34に結合される。
【0018】
本開示の様々な実施形態によると、任意の適切な数のクライアント端末25−2、25−3および25−4は、クライアント端末25−1と同じ、または実質的に同様の構造を有する。そのような複数の実施形態によると、クライアント端末25−1と同じ、または実質的に同様の構造を有する複数のクライアント端末25は、任意の適切な数のトランシーバおよびアンテナを含む。例えば、クライアント端末25−1は3台のトランシーバ34とアンテナ30とを有するものとして図示されているが、クライアント端末の様々な実施形態25−2は、3つとは異なる適切な数のトランシーバと、3つとは異なる適切な数のアンテナとを有する。クライアント25−2、25−3および25−4と関連付けられるアンテナおよびトランシーバの数は、簡潔にするために
図1には示されていない。
【0019】
ネットワーク10は、1または複数のIEEE規格、無線パーソナルエリア通信ネットワークプロトコル(例えばBLUETOOTH(登録商標)プロトコル)、WiMAX(登録商標)、その他により規定される携帯電話通信プロトコル、無線ローカルエリアネットワーク(WLAN)通信プロトコルなど、任意の数の適切な通信プロトコルに従った複数の通信をサポートする。適切な複数のIEEE規格の複数の例は、802.11a、802.11g、802.11n、802.11ac、802.11ad、802.11af、802.11v、および/または802.11ah規格を含む。AP14はアクセスポイントとしてラベル付けされているが、AP14の様々な実施形態は、任意の適切なタイプの無線通信をサポートするよう構成され、複数のWLAN技術のみをサポートすることには限定されない。例えば、AP14の様々な実施形態は、Long Term Evolution(LTE)プロトコルを含む複数の3rd Generation Partnership Project(3GPP)技術など複数のWLANおよび/または携帯電話通信プロトコルをサポートするよう構成される。
図1は単一のAP14のみを図示しているが、クライアントデバイス25の様々な実施形態は、互いに同じであっても異なってもよい複数の通信プロトコルを用いた別個の複数のAPとの同時通信を含め、いつでも1つより多くのAPと通信を行うよう構成される。本開示の実施形態によると、AP14および複数のクライアント端末25は、1または複数のIEEE 802.11規格または他の適切な複数の通信プロトコルに準拠する複数のプロトコルなど、1または複数の通信プロトコルに準拠してデータを送信および受信するよう構成される。本開示の他の実施形態によると、複数のクライアント端末25は、追加的に、または代替的に、アドホックネットワーキングをサポートするよう、1または複数のIEEE 802.11規格または他の適切な複数の通信プロトコルに準拠する複数のプロトコルなど1または複数の通信プロトコルに準拠して互いにデータを送信および受信するよう構成される。
【0020】
様々な実施形態において、AP14および/またはクライアント25は、複数の通信が、AP14および/またはクライアント25から送出されるとき(送出時間(ToD)タイムスタンプ)、および、他のAP14および/またはクライアント25において受信されたとき(到着時間(ToA)タイムスタンプ)と関連付けられた複数のタイムスタンプを決定する。これらのタイムスタンプは、AP14および/またはクライアント25内で実装されている任意の適切な数の発振器および/またはクロックを用いて生成される。AP14および/またはクライアント25は、自身らの複数の通信が他のAP14および/またはクライアント25へ送出されるとき(ToD)を決定し、複数の通信が送出されたときを示す複数のToDタイムスタンプを生成するよう構成される。同様に、AP14および/またはクライアント25は、複数の通信が受信されたとき(ToA)を決定し、複数の通信が受信されたときを示す複数のToAタイムスタンプを生成するよう構成される。いくつかの実施形態において、ネットワークインタフェース16、27は、複数の通信ユニットが送信される際、またはその少し前に複数のToDタイムスタンプを複数の通信ユニットへ追加するよう構成される。同様に、いくつかの実施形態において、ネットワークインタフェース16、27は、複数の通信ユニットが受信される際に、またはその少し後に、複数のToAタイムスタンプを複数の通信ユニットに追加するよう構成される。以下にさらに詳細に説明されるように、オプションで、ネットワークインタフェース16、27は、1または複数の他の通信デバイスがネットワーク10内の複数の通信デバイス間の複数の通信に対応する伝播時間および/または往復時間を計算するのを促すために、複数のToAタイムスタンプおよび複数のToDタイムスタンプを1または複数の他の通信デバイス(例えば、AP14および/または1または複数のクライアント25)に送信またはフィードバックするよう構成される。
【0021】
ネットワークインタフェース16、27に含まれる、および/または用いられる発振器および/またはクロックは同じ公称周波数で動作するよう製造および/または設計され得るが、複数の製造上のばらつきおよび/または周波数ドリフトにより、ネットワークインタフェース16、27内の、および/またはそれらに用いられる複数の発振器および/またはクロックは、互いに周波数が異なることになり得る。そのような複数の周波数差は、温度における複数の差、複数の製造上のばらつき、結晶の複数の不完全性、その他など様々な要因の結果であり得る。様々な実施形態において、ネットワークインタフェース16、27は、互いに通信を行っているネットワーク10内の2またはそれより多くの通信デバイスの複数のクロック周波数間の差を決定するよう構成される。
【0022】
ネットワークインタフェース16、27はさらに、単一の通信デバイスの観点から見てより精度のよい伝播時間測定値を提供するようそのような複数のクロック周波数差
を補償するよう構成される。様々な実施形態によると、ネットワークインタフェース16、27のうち1または複数は、他のAP14および/またはクライアント25にフィードバックされたタイムスタンプがネットワークインタフェース16、27により既
に補償済みであることを示すインジケータ、通知、および/またはフラグを他のAP14および/またはクライアント25へ通信するよう構成される。ネットワークインタフェース16、27のうち1または複数は、(i)上記にて説明されたものな
ど補償インジケーションが受信されていない場合に2またはそれより多くの通信デバイス間の複数のクロック周波数における複数の差
を補償し、(ii)上記にて説明されたものな
ど補償インジケーションが受信された場合に2またはそれより多くのデバイス間の複数のクロック周波数における複数の差
を補償しないよう構成される。
【0023】
複数のToAおよびToDタイムスタンプを用いて、ネットワークインタフェース16、27のうち1または複数は、互いに通信を行っている2またはそれより多くのデバイス間の複数の信号の送信に対応する伝播時間を計算するよう構成される。周波
数補償の後、この伝播時間は本質的に単一のデバイスクロックリファレンスに基づいており、したがって、異なる複数の通信デバイスにより決定され
た補償されていない複数のタイムスタンプを用いて伝播時間を計算するのと比較して、伝播時間のより精度のよい測定値である。複数の信号送信の伝播時間は既知または推測される一定値(すなわち、空気など特定の伝播媒体における光速度)となるので、複数のデバイス間の距離は、伝播時間から容易に推定され得る。このように、本開示の様々な実施形態は、互いに通信を行っているAP14および/またはクライアント25間の精度のよい距離情報の計算を提供する。
【0024】
様々な実施形態によると、AP14および/または複数のクライアント端末25(例えばネットワークインタフェース16、27のうち1または複数)は、他の複数のクライアント25および/またはAP14などネットワーク10内の他の複数の通信デバイスと距離情報を共有するよう構成される。このように、AP14および/またはクライアント25は、他の複数の通信デバイスについての精度のよい距離情報を取得し、より精度のよい複数の無線レンジング評価を可能とする。
【0025】
図2は、本開示の実施形態に係るタイミング図の200である。タイミング図の200は、2台の通信デバイス間(例えば、
図1のAP14と複数のクライアント25のうち1つとの間、または複数のクライアント25のうち2台の間)の単一のフレーム交換を図示している。本開示の実施形態によると、端末管理エンティティ(SME)1、媒体アクセス制御(MAC)サブレイヤー管理エンティティ(MLME)1、およびアンテナ1は、例えば、AP14などネットワーク10の一部である第1通信デバイス内で実装される。例えば、実施形態において、SME1は、ホストプロセッサ15内で実装され、MLME1はMACプロセッサ18内で実装され、実施形態において、アンテナ1は複数のアンテナ24のうち1または複数に対応する。さらに、そのような実施形態によると、SME2、MLME2、およびアンテナ2は、例えば、クライアント25などネットワーク10の一部である第2通信デバイス内で実装される。例えば、実施形態において、SME2はホストプロセッサ26内で実装され、MLME2はMACプロセッサ28内で実装され、実施形態において、アンテナ2は複数のアンテナ34のうち1または複数に対応する。他の複数の実施形態において、タイミング図の200は本開示の様々な実施形態を実装する任意の適切な複数の通信デバイスに適用可能であり、上記にて説明された特定のデバイス、またはさらには、ネットワーク10の一部であるデバイスのみに限定されない。例えば、実施形態において、SME1は端末25−1のホストプロセッサ26内で実装され、MLME1は端末25−1のMACプロセッサ28内で実装され、アンテナ1は端末25−1の複数のアンテナ34のうち1または複数に対応し、実施形態において、SME2は端末25−2のホストプロセッサ内で実装され、MLME2は端末25−2のMACプロセッサ内で実装され、アンテナ2は端末25−2の複数のアンテナのうち1または複数に対応する。
【0026】
本開示の実施形態によると、第1通信デバイスの端末管理エンティティ(SME)(SME1)は、ファインタイミング測定リクエストフレーム202を処理し、第1通信デバイスのMACレイヤー管理エンティティ(MLME)(MLME1)を介して第2通信デバイスへ送出する。例えば、ファインタイミング測定リクエストフレーム202は、第1通信デバイスの、またはそれに結合された対応するアンテナ(アンテナ1)を介して送信される。ファインタイミング測定リクエストフレーム202は、第2通信デバイスの、またはそれに結合されたアンテナ(アンテナ2)を介して受信され、第2通信デバイスのMLME(MLME2)、および/または第2通信デバイスのSME(SME2)により処理される。ファインタイミング測定リクエストフレーム202を受信すると、第2通信デバイスは、(例えば、MLME2を用いて)肯定応答フレーム(ACK204)を生成し、アンテナ2を介して第1通信デバイスへACKフレーム204を送信し返すことにより応答する。
【0027】
本開示の様々な実施形態によると、第1通信デバイスおよび第2通信デバイスは、例えば、ファインタイミング測定リクエストフレーム202およびACKフレーム204を交換するのに、IEEE 802.11規格により管理されているプロトコルなど1または複数の通信プロトコルを実装する。しばしば、そのような複数の通信プロトコルは概して、フレームタイミング、処理タイミング、その他を規定する。これらの実施形態によると、第1通信デバイスおよび第2通信デバイスは、対応するプロトコルに従って、ファインタイミング測定リクエストフレーム202およびACKフレーム204が送出および受信されたときに対応する複数のタイムスタンプを設定する。
【0028】
例えば、第1通信デバイスは、時間t1において、ファインタイミング測定リクエストフレーム202を第2通信デバイスへ送出する。時間t1は、ファインタイミング測定リクエストフレーム202が実際にアンテナ1から送信された時間に対応する。第1通信デバイスは、ベースバンド、フレームタイミング、その他の間の処理および/またはフロントエンド変換により引き起こされ得るローカルな複数の処理遅延を考慮に入れるよう構成される。複数の処理遅延は、ファインタイミング測定リクエストフレーム202が送信される前にファインタイミング測定リクエストフレーム202を処理するのに必要である時間と関連付けられた処理時間206により表され得る。ファインタイミング測定リクエストフレーム202は既知である、および/または規格化された長さであるので、これらの処理遅延は概して予測可能であり繰り返され得る。結果として、これらの処理遅延は、タイムスタンプt1がファインタイミング測定リクエストフレーム202がアンテナ1を介して送信された実際の時間を精度よく反映するように考慮に入れられ得る。
【0029】
本開示の様々な実施形態によると、第1通信デバイスおよび第2通信デバイスのうちそれぞれは、タイムスタンプを生成するのにそれぞれローカルな発振器および/またはクロックを用いるよう構成される。時間をトラッキングし対応するタイムスタンプt1を生成するのに任意の発振器および/またはクロックが用いられ得るが、より精度のよいタイムスタンプを提供するよう高精度クロックを利用するのが好ましい。例えば、IEEE 802.11規格は、2.4GHz帯に関してリファレンスクロックの周波数エラーを最大±25PPMとして規定している。本開示の実施形態によると、複数のIEEE 802.11規格により規定されているWi−Fiリファレンスクロックが、時間をトラッキングし対応する複数のタイムスタンプを生成するのに用いられる。またいくつかの実施形態において、そのようなクロックは、通信デバイスにおいてキャリア信号を生成するのに利用される。それにより、いくつかの実施形態において、第1通信デバイスのリファレンスクロックと第2通信デバイスとのリファレンスクロックとの間の複数の差が、i)第1通信デバイスにより生成される第1キャリア信号の周波数と、ii)第2通信デバイスにより生成される第2キャリア信号の周波数との間のオフセットに反映される。複数のキャリア信号の複数の周波数間のそのようなオフセットはしばしば、キャリア周波数オフセット(CFO)と呼ばれる。いくつかの実施形態において、以下にさらに詳細に説明されるように、CFOは第1通信デバイスにより測定され、第1通信デバイスにより生成されるタイムスタンプを調節する、または、第2通信デバイスにより生成されるタイムスタンプを調節するのに利用される。
【0030】
本開示の様々な実施形態によると、第1通信デバイスおよび第2通信デバイスは、例えば、セルラおよびWi−Fiなど1より多くの無線アクセス技術(RAT)を実装する。そのような複数の実施形態によると、複数のタイムスタンプは、Wi−Fi通信デバイスに対応するクロックと比較して更なる高精度が要求される傾向にあるセルラベースのクロックを用いて生成される。例えば、第1通信デバイスおよび/または第2通信デバイスは、LTEプロトコルに従って動作するよう構成されたスマートフォンなどユーザ機器(UE)の一部として実装され得る。LTE無線インタフェースプロトコルは、無線インタフェースに関してわずか50ppbの厳しい発振器のドリフトに関する仕様を要求しているのでそのようなクロックリファレンスは、精度のよいタイムスタンプを提供するであろう。
【0031】
本開示の実施形態によると、第1通信デバイスは、ファインタイミングリクエスト202のToDとしてタイムスタンプt1を決定するよう構成され、第2通信は、ファインタイミングリクエスト202のToAとして、ファインタイミング測定リクエストフレーム202の受信を関連付けられたタイムスタンプt2を決定するよう構成される。上記にて説明されているように、第1通信デバイスおよび第2通信デバイスはそれぞれ、正確なToD t1およびToA t2を決定するべくローカルな複数の処理遅延
を補償するよう構成される。さらに、そのような実施形態によると、第2通信デバイスはACKフレーム204が送出された時間(例えば、ACK204のToD)と関連付けられたタイムスタンプt3を生成し、第1通信デバイスは、ACKフレーム204が受信されたとき(例えばACK204のToA)と関連付けられた正確なタイムスタンプt4を決定する。繰り返すが、上記にて説明されているように、第1通信デバイスおよび第2通信デバイスはそれぞれ、正確なToD t3およびToA t4を決定するべく複数の処理遅延
を補償するよう構成される。例えば、第2通信デバイスにおける複数の処理遅延は、ファインタイミング測定リクエストフレーム202がアンテナ2において受信された後にファインタイミング測定リクエストフレーム202を処理するのに必要とされる時間と関連付けられた処理時間210により表され得る。処理遅延210は、ファインタイミング測定リクエストフレーム202がアンテナ2において受信された実際の時間をタイムスタンプt2が精度よく反映するように考慮に入れられ得る。同様に、複数の処理遅延は、タイムスタンプt3およびタイムスタンプt4を生成するときに考慮に入れられる。
【0032】
本開示の実施形態によると、第1通信デバイスおよび第2通信デバイスはそれぞれ、自身のそれぞれのToAおよびToDタイムスタンプを格納する。例えば、第1通信デバイスはタイムスタンプt1およびt4を格納し、第2通信デバイスはタイムスタンプt2およびt3を格納する。さらに、そのような実施形態によると、第1通信デバイスは、タイムスタンプt1およびt4を含むフィードバック212を第2通信デバイスへ送出し返すよう構成される。
図2はタイムスタンプt1およびt4が第2通信デバイスへ送出されることを図示しているが、少なくともいくつかの実施形態は追加的に、または代替的に、第2通信デバイスがタイムスタンプt2およびt3をフィードバックとして第1通信デバイスへ送出し返すことを含む(
図2において示されていない)。このように、様々な実施形態によると、第1通信デバイスおよび/または第2通信デバイスは、フレーム交換およびフィードバック送信後に4つの全てのタイムスタンプt1、t2、t3、およびt4を取得する。
【0033】
一旦、第1通信デバイスおよび/または第2通信デバイスが4つの全てのタイムスタンプを取得すると、第1通信デバイスと第2通信デバイスとの間の信号送信伝播時間216が計算され得る。実施形態によると、第1通信デバイスおよび/または第2通信デバイスは、第1通信デバイスと第2通信デバイスとの間の往復時間の半分に基づき伝播時間216を計算する。例えば、往復時間の推定は
、補償されていないタイムスタンプに基づき、以下の数式に従って計算される。
【0035】
このように往復時間を決定することにより、
図2に表される複数のフレーム交換期間外の第1通信デバイスと第2通信デバイスとの間のクロックの複数の誤差が取り除かれるが、フレーム交換期間中に関しては取り除かれない。いくつかの適用例に関して、フレーム交換中にもたらされる(例えば、第1通信デバイスのクロックと第2通信デバイスのクロックとの間の複数の周波数における複数の差に起因する)クロックエラーは、容認可能である。しかし、いくつかのシナリオおよび/または実施形態において、信号伝播時間はナノ秒のオーダーであるので、フレーム交換中にもたらされるクロックエラーは無視出来ず、第1通信デバイスと第2通信デバイスとの間の距離を精度よく決定するのに適切な測定値を提供しない。
【0036】
したがって、本開示の様々な実施形態において、第1通信デバイスおよび/または第2通信デバイスは、第1通信デバイスのクロックと第2通信デバイスのクロックとの間の複数の周波数における複数の差
を補償し、複数のクロック周波数における複数の差を考慮に入れるよう複数
の補償済タイムスタンプに基づき往復時間を計算するよう構成される。このように第1通信デバイスと第2通信デバイスとの間のクロックオフセットに起因する複数のエラーを取り除いた、および/または減少させたより精度のよい往復時間が計算される。
【0037】
図3は、本開示の実施形態に係る例示的な通信デバイス300のブロック図である。通信デバイス300は、メモリ302と、クロック計算およ
び補償ユニット304と、ネットワークインタフェース306と、アンテナ308とを含む。本開示の様々な実施形態によると、通信デバイス300は、例えば、
図1におけるクライアント25、
図2を参照して説明された第1通信デバイスおよび/または第2通信デバイスなど、ネットワーク10における通信デバイスであるか、またはその一部として実装される。更なる複数の実施形態によると、通信デバイス300は、任意の適切な通信デバイスであるか、またはその一部として実装され、ネットワーク10の一部である複数のデバイス、または
図2に関して説明されている複数のデバイスのみに限定されない。
【0038】
ネットワークインタフェース306はクロック計算およ
び補償ユニット304に結合され、クロック計算およ
び補償ユニット304と通信を行い、アンテナ308を介して他の通信デバイスへ/から複数の無線通信を送信および受信するよう構成される。様々な実施形態によると、ネットワークインタフェース306は、1または複数の適切な通信プロトコルを介して1または複数の通信デバイスと通信を行うよう構成される。当業者には理解いただけるように、ネットワークインタフェース306は、任意の数のMACインタフェース、MLME、MACサブレイヤー管理エンティティ、PHYインタフェース、PHY管理エンティティ、SME、トランシーバ、その他により実装され得る。様々な実施形態において、ネットワークインタフェース306は、
図1に示されるようなネットワークインタフェース16または27の実施例であり、無線ネットワーキングプロトコルに従って動作するよう構成される。
【0039】
ネットワークインタフェース306は、他の通信デバイスへ複数のファインタイミングリクエストフレームを送出し、ファインタイミングリクエストがアンテナ308から送出されたときに関連付けられた適当なタイムスタンプ(例えばt1 ToD)を決定するよう構成される。ネットワークインタフェース306は、他の通信デバイスから複数のACKフレームを受信し、ACKフレームがアンテナ308において受信されたとき(例えば、t4 ToA)を決定するよう構成される。
図2を参照して前に説明したように、ネットワークインタフェース306は、対応するToAおよびToDタイムスタンプを精度よく決定するべく複数のファインタイミングリクエストフレームおよび/または複数のACKフレームの複数の処理遅延
を補償するよう構成される。ネットワークインタフェース306は、ToAおよび/またはToDタイムスタンプを他の通信デバイスへ送出するよう構成される。
【0040】
追加的に、または代替的に、ネットワークインタフェース306は、ACKフレームを送出している通信デバイスにより用いられるクロック周波数を決定するよう構成される。この情報は、例えば、同期プロトコル、および/またはACKフレームを送出している通信デバイスから送信される情報の一部として、または2台の通信デバイス間の最初の関連付け期間中に取得され得る。キャリア周波数が複数のタイムスタンプを生成するためのリファレンスとして用いられる、および/またはキャリア周波数が、複数のタイムスタンプを生成するのにも用いられるクロックにより決定される複数の実施形態において、ネットワークインタフェース306は、ネットワークインタフェース306により用いられるキャリア周波数と、他の通信デバイスにより用いられるキャリア周波数との間のCFOを決定するよう構成される。更なる複数の実施形態によると、CFOは、通信プロトコルの一部として受信ベクトルに含まれる。実施形態において、例えば、ネットワークインタフェース306は、CFOを決定し、決定されたCFOのインジケーションを他の通信デバイスへ送信するよう構成される。同様に、実施形態において、他の例として、他の通信デバイスがCFOを決定する場合、ネットワークインタフェース306は、CFOのインジケーションを他の通信デバイスから受信するよう構成される。
【0041】
ネットワークインタフェース306は、i)ネットワークインタフェース306の、またはそれにより用いられるローカルクロックと、ii)他の通信デバイスの、例えば通信デバイス300へACKフレームを送出している通信の、またはそれにより用いられるクロックのクロック周波数との間の決定された差に基づき、クロックオフセットを決定するよう構成される。ネットワークインタフェース306は、クロックオフセット情報および/またはToA/ToDタイムスタンプをクロック計算およ
び補償ユニット304へ送出するよう構成される。
【0042】
実施形態において、クロック計算およ
び補償ユニット304は、ToAおよび/またはToDタイムスタンプを、ACKフレームを送出している通信デバイスのタイムレールに変換することにより、それらタイムスタンプ
を補償するよう構成される。実施形態において、クロック計算およ
び補償ユニット304は、ソフトウェア命令またはファームウェア命令を実行して、そのような複数の計算を実現する、および/またはネットワークインタフェース306との複数の通信を可能とするよう構成された任意の数のプロセッサおよび/またはコントローラを含む。実施形態において、クロック計算およ
び補償ユニット304はホストプロセッサである。他の複数の実施形態において、クロック計算およ
び補償ユニット304は、1または複数の集積回路デバイス、特定用途向け集積回路、プログラマブル論理デバイス、その他などのハードウェアを用いて実装される。いくつかの実施形態において、クロック計算およ
び補償ユニット304はネットワークインタフェース306に含まれる。クロック計算およ
び補償ユニット304は、上記にて説明されているように、ToAおよび/またはToDタイムスタンプに関して複数のクロックオフセット
を補償し、ACKフレームを送出した通信デバイスへの送信のために訂正されたタイムスタンプ情報をネットワークインタフェース306へ送出するよう構成される。
【0043】
実施形態において、クロック計算およ
び補償ユニット304は、タイムスタンプ情報をネットワークインタフェース306へ送出する前に複数のタイムスタンプ
を補償しない。複数のタイムスタンプを通信デバイスに送出する前にそれら
を補償するかについての決定は、いくつかの要因に基づいて決定され得る。様々な実施形態において
、補償するかの決定は、複数の通信デバイス間の最初の関連付け期間中に、最初の関連付け期間の後いつでも、通信プロトコルの一部として、および/または通信デバイスのタイプに基づいてなされ得る。例えば、通信デバイス300は、電池により電力供給されるモバイルデバイスとして、またはその一部として実装され得、他方、ACKフレームを送出している通信デバイスは、交流(AC)AC電源により電力供給される。そのような場合、2台の通信デバイスは通信プロトコルに従って通信を行い
、補償がAC電源を利用している通信デバイスにおいて実行されることを決定し得る。その結果として、計算およ
び補償ユニット304は、処理能力を節約し電池寿命を向上させるようToAおよびToDタイムスタンプ
を補償しないようネットワークインタフェース306から複数の命令を受信し得る。
【0044】
様々な実施形態において、クロック計算およ
び補償ユニット304並びにネットワークインタフェース306は、複数
の補償済タイムスタンプの計算を共有する。例えば、オプションで、ネットワークインタフェース306は、複数
の補償済タイムスタンプを計算し、これらの計算をクロック計算およ
び補償ユニット304へオフロードする。クロック計算およ
び補償ユニット304がタイムスタン
プ補償を実行する実施形態によると、クロック計算およ
び補償ユニット304は、ToAおよび/またはToDタイムスタンプ
が補償されたことを示す1または複数のインジケーションおよび/または通知をネットワークインタフェース306へ送出するよう構成される。ネットワークインタフェース306がタイムスタン
プ補償を実行する実施形態によると、これらのインジケーションおよび/または通知は、クロック計算およ
び補償ユニット304により送出される必要はない。
【0045】
複数のタイムスタンプ
が補償された場合、ネットワークインタフェース306は
、補償が起こったことを示すインジケーションおよび/または通知を他の通信デバイスへ送出する。様々な実施形態において、複数のタイムスタンプ
が補償されたかについてのそのような複数のインジケーションおよび/または通知は、1または複数の通信プロトコルを介した複数の通信、タイムスタン
プ補償が起こったかに基づく論理的なビット値に設定されたフラグビット、そのようなインジケーションを含む別個のデータパケットであり、このデータパケットが欠如しているということ
は補償が実行されていないことを示すデータパケット、その他を含む。
【0046】
クロック計算およ
び補償ユニット304および/またはネットワークインタフェース306により実行されるタイムスタン
プ補償の処理を説明するべく、
図2を参照して以下の複数の数式および説明が提供されるが、これらの実施形態のみに限定されない。前に説明されたように、少なくともいくつかの実施形態において、推定される往復時間は、数式1に従って計算される。
【0047】
ファインタイミング測定リクエストフレームを送出している通信デバイスが第1通信デバイスであり、ACKフレームを送出している通信デバイスが第2通信デバイスであると仮定すると、数式1は、記録された各タイムスタンプと関連付けられた通信デバイス時間リファレンスを示すよう以下のように書き換えられる。
【0049】
しかし、2台の通信デバイス間の複数のクロック周波数における複数の差に起因して、単一のデバイスのタイムレールに変換された複数のタイムスタンプに基づき、往復時間のより精度のよい計算が取得される。したがって、以下の数式は、上記にて説明されたものなどクロッ
ク補償を実行することに起因して更なる高精度を有する、より精度のよい往復時間計算を表す。
【0051】
第1通信デバイスと第2通信デバイスとの間のクロックオフセットは、差
【数4】
としてppm単位で表現され得る。
【数5】
と
【数6】
との間の差は、クロックオフセットによりもたらされる誤差項として表される。少なくともいくつかの実施形態および/またはシナリオにおいて、誤差項は、実装される複数の通信プロトコルおよびフレームサイズに基づいて変化する。IEEE 802.11規格プロトコルが第1通信デバイスと第2通信デバイスとの間の複数の通信のために用いられる実施形態によると、伝播時間(RTTの半分)は概して非常に短い期間であり、
【数7】
により表される期間はSIFS時間間隔を含むので、項
【数8】
は、項
【数9】
よりも小さい。そのような実施形態において、誤差項ERRは、最も大きなERRがより大きな項
【数10】
により制御されることを考慮に入れている数式4(下)により表現される。いくつかの実施形態において、数式4は、クロックオフセットによりもたらされる最大誤差項を表す。
【0053】
数式4において、
【数12】
は、通信デバイスにより送出されたファインタイミング測定リクエスト間隔の長さと関連付けられた期間を表し、SIFSは、概して16マイクロ秒である、ファインタイミング測定リクエストフレームの受信とACKフレームの送信との間のSIFS期間を表す。数式4により提供される誤差項の結果として、40PPMのクロックオフセットと最も低い802.11変調および符号化スキームにより、
【数13】
と
【数14】
との間の複数のエラーが3nsよりも大きいこととなり、このことは1メートルを超える距離測定エラーに対応することが示されている。その結果として、クロックオフセット
の補償なしでは、より高い程度の精度を取得することには問題があることを当業者は理解されよう。
【0054】
本開示の実施形態によると、タイムスタンプt1およびt4関するタイムスタン
プ補償は、以下の複数の数式により表され得る。
【0057】
したがって、クロック計算およ
び補償ユニット304および/またはネットワークインタフェース306が、タイムスタンプt1およびt4をフィードバックとして第2通信デバイスに送出する前にそれら
を補償する複数の実施形態によると、上記の数式5および6からの複数
の補償済タイムスタンプ
【数17】
および
【数18】
が、第2通信デバイスへ送出される。
【0058】
クロック計算およ
び補償ユニット304はメモリ302に結合され、メモリ302と通信を行って、メモリ302にデータを格納し、またそこからデータを読み取るよう構成される。本開示の様々な実施形態によると、メモリ302は、揮発性(例えば、ランダムアクセスメモリ(RAM))、または不揮発性メモリ(例えば、電池によりサポートされるRAM、フラッシュ、その他)を含む。本開示の様々な実施形態において、メモリ302は、ネットワークインタフェース306により決定された複数のタイムスタンプに関連するデータ、ネットワークインタフェース306および/またはクロック計算およ
び補償ユニット304により計算された、複数
の補償済タイムスタンプ、および/または、ネットワークインタフェース306を介して送出された複数のフィードバックメッセージを格納する。オプションで、クロック計算およ
び補償ユニット304は、メモリ302からデータを読み取って、複数の通信デバイスからなる特定のセットを、1または複数の前に送出されたフィードバックメッセージおよび/または計算された複数のタイムスタンプと関連付ける。この処理は、処理時間、処理能力、および/または電池寿命を浪費しないので、通信デバイス300が限られた処理能力および/または電池寿命を有するUEデバイスとして、またはその一部として実装される少なくともいくつかの実施形態において有用である。いくつかの実施形態において、メモリ302はネットワークインタフェース306に含まれる。いくつかの実施形態において、メモリ302はクロック計算およ
び補償ユニット304に含まれる。
【0059】
オプションで、クロック計算およ
び補償ユニット304は、メモリ302にアクセスして、前に受信した1または複数のタイムスタンプを比較して、通信デバイスが移動したかを決定し、移動した場合には、前の複数のタイムスタンプに基づき移動の割合を決定する。オプションで、クロック計算およ
び補償ユニット304および/またはネットワークインタフェース306は、この情報を用いて、複数のファインタイミング測定リクエストが送出される周波数を更新する。そのような複数の実施形態において、クロック計算およ
び補償ユニット304および/またはネットワークインタフェース306は、複数のタイムスタンプの履歴がACKフレームを送出している通信デバイスが移動していることを示すときに、距離の複数の計算をより頻繁に更新する。この情報をより頻繁に更新することにより、通信デバイス300は、例えば、送信電力を高める、またはその他により、変化している範囲に迅速に順応することが出来る。
【0060】
図4は、本開示の実施形態に係る例示的な通信デバイス400である。通信デバイス400は、メモリ402と、クロック計算およ
び補償ユニット404と、ネットワークインタフェース406と、アンテナ408とを含む。本開示の様々な実施形態によると、通信デバイス400は、例えば、
図2に関して説明されたAP14および/または第2通信デバイスなどネットワーク10の一部である通信デバイスとして、またはその一部として実装される。更なる複数の実施形態によると、タイミン
グ補償システム400は、任意の適切な通信デバイスの一部として実装され、ネットワーク10の一部であるそれらのデバイスのみに限定されない。いくつかの実施形態において、メモリ402はネットワークインタフェース406に含まれる。いくつかの実施形態において、メモリ402はクロック計算およ
び補償ユニット404に含まれる。
【0061】
メモリ402、クロック計算およ
び補償ユニット404、ネットワークインタフェース406、およびアンテナ408は、
図3に図示されているようなメモリ302、クロック計算およ
び補償ユニット304、ネットワークインタフェース306、およびアンテナ308とそれぞれ同様の構造を有し、実質的に同じように動作する。したがって、簡潔にするために、これらの要素間の複数の差のみが説明される。本開示の実施形態において、通信デバイス300および通信デバイス400はそれぞれ、互いに通信を行っている複数の通信デバイスのそれぞれとして、またはその一部として実装される。例えば、本開示の様々な実施形態によると、通信デバイス300は、ファインタイミング測定リクエストフレーム202を送出する
図2に図示されている通信デバイスとして、またはその一部として実装され、通信デバイス400は、ACKフレーム204を送出する
図2に図示されている通信デバイスとして、またはその一部として実装される。
【0062】
ネットワークインタフェース406は、他の通信デバイスからタイムスタンプ情報および/または1または複数のファインタイミング測定リクエストフレームを受信し、ファインタイミング測定リクエストフレームがアンテナ408において受信されたときと関連付けられた適当なタイムスタンプ(例えば、
図2にけるt2 ToA)を決定するよう構成される。ネットワークインタフェース406は、ファインタイミング測定リクエストフレームを受信したことに応答して、ファインタイミング測定リクエストフレームを送出した通信デバイスへACKフレームを送出し、ACKフレームがアンテナ408から送出されたときに関連付けられた適当なタイムスタンプ(例えば、
図2におけるt3 ToD)を決定するよう構成される。オプションで、ネットワークインタフェース406は、ToAおよび/またはToDタイムスタンプを他の通信デバイスへ送出するよう構成される。
【0063】
追加的に、または代替的に、ネットワークインタフェース406は、ファインタイミング測定リクエストフレームを送出している通信デバイスにより用いられるクロック周波数を決定するよう構成される。
図3におけるタイミン
グ補償システム300を参照して前に説明したように、この情報は、ファインタイミング測定リクエストフレームを送出している通信デバイスから取得され得る。ネットワークインタフェース406は、このクロック周波数に基づき、ネットワークインタフェース406により用いられるローカルクロックの周波数とファインタイミング測定リクエストフレームを送出している通信デバイスにより用いられるクロックの周波数との間の差であるクロックオフセットを決定するよう構成される。ネットワークインタフェース406は、クロックオフセット情報および/またはToA/ToDタイムスタンプをクロック計算およ
び補償ユニット404へ送出するよう構成される。
【0064】
ネットワークインタフェース406は、ファインタイミング測定リクエストフレームを送出している通信デバイスからタイムスタンプ情報(例えば、
図2におけるt1およびt4)を受信するよう構成される。このタイムスタンプ情報は、タイムスタンプを記録するためにネットワークインタフェース406により用いられるクロック周波数に合わせ
て補償済みであってもよい。タイムスタンプ情報
が補償済みである場合、ネットワークインタフェース406は、タイムスタンプ情報
が補償済みであることを示すインジケーションおよび/または通知をファインタイミング測定リクエストフレームを送出する通信デバイスから受信する。インジケーションおよび/または通知フラグが受信された場合、オプションで、ネットワークインタフェース406は、クロック計算およ
び補償ユニット404に、受信した複数のタイムスタンプ
を補償しないよう命令する。それにより、ネットワークインタフェース406
が補償を実行するいくつかの実施形態において
、補償インジケーションおよび/または通知フラグが存在している場合、ネットワークインタフェース406は、受信した複数のタイムスタンプ
を補償しない。
【0065】
様々な実施形態において、複数
の補償済タイムスタンプ(例えば、t1およびt4)は通信デバイス400と同じタイムレールに合わせて受信され、複数
の補償済タイムスタンプ(例えば、t2およびt3)はファインタイミングリクエストを送信した他の通信デバイスと同じタイムレールに合わせて受信されるので、ネットワークインタフェース406および/またはクロック計算およ
び補償ユニット404は、数式3に基づき、往復時間
【数19】
を決定する。
【0066】
しかし
、補償のインジケーションおよび/または通知が受信されていない場合、オプションで、ネットワークインタフェース406および/またはクロック計算およ
び補償ユニット404は、(i)ネットワークインタフェース406により用いられるクロック周波数に合わせて受信された複数のタイムスタンプ(例えば、t1およびt4)に関して複数
の補償済タイムスタンプを計算し、または(ii)ファインタイミング測定リクエストフレームを送出している通信デバイスにより用いられるクロック周波数に合わせてローカルに生成された複数のタイムスタンプ(例えば、t2およびt3)に関して複数
の補償済タイムスタンプを計算する
。補償されたタイムスタンプt1およびt4が計算される本開示の実施形態によると、ネットワークインタフェース406および/またはクロック計算およ
び補償ユニット404はそれぞれ数式5および6(上)を用いる
。補償されたタイムスタンプt2およびt3が計算される他の実施形態によると、ネットワークインタフェース406および/またはクロック計算およ
び補償ユニット404はそれぞれ、数式7および8(下)を用いる。
【0069】
ファインタイミング測定リクエストフレームを送出している通信デバイスに合わせて複数のタイムスタンプ
が補償される実施形態によると、以下の数式が
【数22】
を提供する。
【0071】
一旦、ネットワークインタフェース406および/またはクロック計算およ
び補償ユニット404が数式6または数式8に基づいて
【数24】
を計算すると、2台の通信デバイス間の距離は、
【数25】
の半分に伝播速度定数を乗じることにより計算される。本開示の様々な実施形態において、伝播速度定数は、真空中での光速度、または伝播媒体(すなわち、地球の大気)を介した光速度の低下に適応したその一部である。
【0072】
一旦、複数の通信デバイスの間の距離が決定されると、ネットワークインタフェース406は、他の複数の通信デバイスと距離情報を共有するよう構成される。通信デバイス400がネットワーク10内のデバイスとして、またはその一部として実装される実施形態において、ネットワークインタフェース406は、ネットワーク10内の任意の数の他のデバイスと距離情報を共有するよう構成される。このようにネットワーク内の任意の数の通信デバイスは、互いを分け隔てるレンジング距離について精度のよい情報を取得するよう構成される。精度のよい距離情報は、例えば、当てはまる場合には送信電力を低減させ、より良好な電力節約を可能とするために有用であり得る。
【0073】
図5は、本開示の実施形態に係る例示的なタイミン
グ補償方法500のフロー図である。実施形態において、タイミン
グ補償方法500は、
図3に示されるように通信デバイス300により、例えば、ネットワークインタフェース306および/またはクロック計算およ
び補償ユニット304により実装される。
【0074】
方法500は、第1送信が第1通信デバイスから第2通信デバイスへ送出されたときに対応する第1タイムスタンプを第1通信デバイスが決定するブロック502において開始する。この送信は、例えば、
図2に示されるファインタイミング測定リクエストフレームと関連付けられたタイムスタンプt1とを含む。他の複数の実施形態において、第1タイムスタンプはファインタイミング測定リクエストフレームに含まれておらず、単に、第1通信デバイスのメモリに格納され、ファインタイミング測定リクエストフレームと関連付けられている。
【0075】
ブロック504において、第2通信デバイスから送出された第2送信が第1通信デバイスにおいて受信されたときに対応する第2タイムスタンプを、第1通信デバイスが決定する。この送信は、例えば、
図2に示されるACKフレームと、関連付けられたタイムスタンプt4とを含み得る。
【0076】
ブロック506において第1通信デバイスは、第1通信デバイスと第2通信デバイスとの間のクロック周波数の差
を補償するか決定する。第1通信デバイスが複数のクロック周波数の差
を補償すると決定した場合、方法500はブロック508へ進む。第1通信デバイスが複数のクロック周波数の差
を補償しないと決定した場合、方法500はブロック512に進む。いくつかの実施形態において、ブロック506は、第1通信デバイスと第2通信デバイスとのうちどちらがタイムスタンプ補償を実行するかを示す情報を第1通信デバイスと第2通信デバイスとの間で交換することを含む。いくつかの実施形態において、ブロック506における決定は、第1通信デバイスと第2通信デバイスとのうちどちらがタイムスタン
プ補償を実行するのかを示す、第1通信デバイスと第2通信デバイスとの間で交換される情報に基づく。
【0077】
ブロック508において、第1通信デバイスは、第2クロック周波数(すなわち、第2通信デバイスにより用いられるクロック周波数)に合わせ
て補償された第1タイムスタンプおよび第2タイムスタンプを提供するべく第1クロック周波数と第2クロック周波数との間の複数の差
を補償する。実施形態において
、補償される複数のタイムスタンプは、
図2において示されるようにタイムスタンプt1およびt4である。
【0078】
ブロック510において、第1通信デバイスは
、補償された第1タイムスタンプおよび第2タイムスタンプを第2通信デバイスへ送出する。実施形態において、第1通信デバイスは
、補償が実行されたことを示
す補償インジケーションも送出する。
【0079】
他方、ブロック512において、第1通信デバイスは、第1タイムスタンプおよび第2タイムスタンプを第1クロック周波数に合わせて第2通信デバイスへ送出する。言い換えると、第1通信デバイスは
、補償されていない、すなわち、第1通信デバイスのクロック周波数に合わせて、第1タイムスタンプおよび第2タイムスタンプを第2通信デバイスへ送出し返す。様々な実施形態において、オプションで、第1通信デバイスは、第1通信デバイスにおいてこれらのタイムスタンプに対し
て補償が実行されていないことを示すインジケーションを送出する。
【0080】
図6は、本開示の実施形態に係る例示的なタイミン
グ補償方法600のフロー図である。実施形態において、タイミン
グ補償方法600は、
図4に図示される通信デバイス400により、例えば、ネットワークインタフェース406および/またはクロック計算および補償ユニット404により実施される。
【0081】
方法600は、第1送信が第2通信デバイスにより送信されたときに対応する第1タイムスタンプを第1通信デバイスが決定するブロック602において開始する。実施形態において、第1送信は、
図2に示されるファインタイミング測定リクエストフレームであり、第1タイムスタンプは関連付けられたタイムスタンプt1である。実施形態において、第1タイムスタンプt1は、第2通信デバイスからのフィードバック送信において受信される。
【0082】
ブロック604において、第1送信が第1通信デバイスにおいて受信されたときに対応する第2タイムスタンプを、第1通信デバイスが決定する。実施形態において、この第2タイムスタンプは、例えば、
図2に示されるタイムスタンプt2である。
【0083】
ブロック606において、第2送信が第1通信デバイスにより送信されたときに対応する第3タイムスタンプを第1通信デバイスが決定する。実施形態において、第2送信は、例えば、
図2に示されるACKフレームであり、第3タイムスタンプは、関連付けられたタイムスタンプt3である。
【0084】
ブロック608において、第1通信デバイスは、第2送信が第2通信デバイスにおいて受信されたときに対応する第4タイムスタンプを決定する。第4タイムスタンプは、例えば、
図2におけるタイムスタンプt4である。実施形態において、第4タイムスタンプt4が第2通信デバイスからのフィードバック送信として受信される。
【0085】
ブロック610において、第1通信デバイスは
、補償インジケーションが第2通信デバイスから受信されたかを決定する
。補償インジケーションが第2通信デバイスから受信されている場合、方法600はブロック616に進む
。補償インジケーションが第2通信デバイスから受信されていない場合、方法600はブロック612に進む。
【0086】
実施形態において、ブロック612において、第1通信デバイスは、第1通信デバイスにおいて用いられるクロック周波数に合わせ
て補償された第1タイムスタンプおよび第4タイムスタンプを提供するべく第1通信デバイスの第1クロックの第1周波数と第2通信デバイスの第2クロックの第2周波数との間の複数の差
を補償する。実施形態において、例えば、第1タイムスタンプおよび第4タイムスタンプは、第2通信デバイスからのフィードバック送信として受信された、
図2に示されるようなタイムスタンプt1およびt4を含む。代替的に、ブロック612において、第1通信デバイスは、第2通信デバイスにおいて用いられる第2クロック周波数に合わせ
て補償された第2タイムスタンプおよび第3タイムスタンプを提供するべく第1クロックの第1周波数と第2クロックの第2周波数との間の複数の差
を補償する。実施形態において、例えば、第2タイムスタンプおよび第3タイムスタンプは、
図2において示されるようなタイムスタンプt2およびt3である。
【0087】
ブロック614において、第1通信デバイスは、(i
)補償済第1タイムスタンプおよ
び補償済第4タイムスタンプ、並びに第2タイムスタンプおよび第3タイムスタンプ、または(ii
)補償済第2タイムスタンプおよ
び補償済第3タイムスタンプ、並びに第1タイムスタンプおよび第4タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を計算する。
【0088】
ブロック616において、第1通信デバイスは
、補償済第1タイムスタンプおよ
び補償済第4タイムスタンプ、並びに、第2タイムスタンプおよび第3タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を計算する。
【0089】
前の図面および開示は、特定の方向への複数のタイムスタンプの交換、およびそ
の補償について説明したが、本開示の複数の実施形態は、2またはそれより多くの通信デバイス間の適当な複数の通信に対応する任意の適当な複数のタイムスタンプ
の補償を含む。例えば、タイムスタンプt1およびt4がフィードバックとして図示されているが、本開示の複数の実施形態は、タイムスタンプt2およびt3をフィードバックとして、ファインタイミング測定リクエストを送出している通信デバイスへ送出することを含む。本明細書で説明されている複数の実施形態は、2またはそれより多くの通信デバイス間で相互に、および等しく当てはまる。例えば、ファインタイミング測定リクエストを送出した通信デバイスへタイムスタンプt2およびt3がフィードバックされる実施形態において、これらのタイムスタンプは
、補償されていて
も補償されていなくてもよく、何らか
の補償(またはそれが欠如していること)を示す通知および/またはインジケータも送出される。さらに、そのような複数の実施形態によると、ファインタイミング測定リクエストを送出した通信デバイスは、自身のタイムレールリファレンスに合わせて真のRTTを計算するべく(および距離計算)、このインジケーションに基づきt2およびt3(またはt1およびt4)
を補償する。
図3および4に図示されている複数の実施形態は入れ替え可能であり、
図2と関連付けられたそれらの機能性は、明瞭性のみを目的として提供されている。
【0090】
本明細書に提示されている複数の図面は例示を目的としたものである。図面全体において図示されている様々な要素間の複数の通信および/または結合は、本明細書において説明されているような対応する複数の処理を実現するよう任意のタイプの結合または通信手段を用いて実行され得る。例えば、単一の線がいくつかの要素間の複数の通信を図示するのに用いられていたとしても、この通信は、任意の数の配線および/またはバスにより実装され得る。さらに、そのような複数の通信は、図示されている複数の結合に関わらずシリアルまたはパラレル通信など任意の適当な通信プロトコルにより実装され得る。
【0091】
上記にて説明された様々なブロック、処理、および技術のうち少なくともいくつかは、ハードウェア、ファームウェア命令を実行するプロセッサ、ソフトウェア命令を実行するプロセッサ、または、これらの何らかの組み合わせを利用して実装され得る。ソフトウェア命令またはファームウェア命令を実行するプロセッサを利用して実装したとき、当該ソフトウェア命令またはファームウェア命令は、RAMまたはROM、或いは、フラッシュメモリ、テープドライブ、その他において磁気ディスク、光ディスクなど任意の適切なコンピュータ可読記憶媒体に格納されてもよい。同様に、ソフトウェア命令またはファームウェア命令は、公知の、または所望される伝達方法を介して、ユーザまたはシステムへ伝達され得る。ソフトウェア命令またはファームウェア命令には、プロセッサにより実行されると当該プロセッサに様々な処理を実行させる複数のマシン可読命令が含まれ得る。
【0092】
ハードウェアで実装されたとき、当該ハードウェアは、個別のコンポーネント、集積回路、ASIC、プログラマブル論理デバイス(PLD)、その他のうち1または複数を備え得る。
【0093】
本願発明の更なる複数の態様は、以下の項目のうち1または複数に関する。
【0094】
第1の実施形態は、i)第1クロック周波数を有する第1クロックを利用する第1通信デバイスと、ii)第2クロック周波数を有する第2クロックを利用する第2通信デバイスとの間のクロッ
ク補償のための方法を含み、
第1送信が第2通信デバイスにより送信されたときに対応する第1タイムスタンプを、第1通信デバイスにおいて決定する段階と、
第2送信が第2通信デバイスにおいて受信されたときに対応する第2タイムスタンプを、第1通信デバイスにおいて決定する段階と
を含む。方法は
、
補償インジケータが第2通信デバイスから受信されたかを、第1通信デバイスにおいて決定する段階と
、
補償インジケータが第2通信デバイスから受信されていないと決定されたときに
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを提供するべく第1クロック周波数と第2クロック周波数との間の差を、第1通信デバイスにおい
て補償する段階と
をさらに含む。さらに、そのような実施形態によると
、補償インジケータの存在は、第1タイムスタンプおよび第2タイムスタンプが第1クロック周波数に合わせて受信され
、補償される必要がないことを示す。
【0095】
第1の実施形態はさらに、
第1クロック周波数に基づき、第1送信が第1通信デバイスにおいて受信されたときに対応する第3タイムスタンプを、第1通信デバイスにおいて決定する段階と、
第1クロック周波数に基づき、第2送信が第1通信デバイスにより送信されたときに対応する第4タイムスタンプを、第1通信デバイスにおいて決定する段階と
を含むなどの複数の変形例を含む。
【0096】
さらに、第1の実施形態は
、
補償インジケータが受信されていないと決定されたときに
、補償済第1タイムスタンプ
、補償済第2タイムスタンプ、第3タイムスタンプ、および第4タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を、第1通信デバイスにおいて計算する段階と
、
補償インジケータが受信されていると決定されたときに、第1タイムスタンプ、第2タイムスタンプ、第3タイムスタンプ、および第4タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を、第1通信デバイスにおいて計算する段階と
を含むなどの複数の変形例を含む。
【0098】
(i)
【数26】
に関して第1数式
【数27】
および、
【0099】
(ii)
【数28】
に関して第2数式
【数29】
を評価することにより
、補償する処理を実行することを含み、
【数30】
および
【数31】
はそれぞれ、第1タイムスタンプおよび第2タイムスタンプを表し、
【数32】
は、第1クロック周波数と第2クロック周波数との間の差をppm単位で表し、
【数33】
および
【数34】
はそれぞれ
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを表す。
【0100】
またさらに、第1の実施形態は、
第1送信が、ファインタイミング測定リクエストを含み、
第2送信が、ファインタイミング測定リクエストの肯定応答を含む、複数の変形例も含む。
【0101】
最後に、第1の実施形態は、第1送信と第2送信とのうちそれぞれが、無線ネットワーキング通信プロトコルに準拠する複数の変形例を含む。
【0102】
第2の実施形態は、i)第1クロック周波数を有する第1クロックを利用する第1通信デバイスと、ii)第2クロック周波数を有する第2クロックを利用する第2通信デバイスとの間のクロッ
ク補償のための方法を含み、
第1送信が第1通信デバイスにより送信されたときに対応する第1タイムスタンプを、第1通信デバイスにおいて決定する段階と、
第2送信が第1通信デバイスにおいて受信されたときに対応する第2タイムスタンプを、第1通信デバイスにおいて決定する段階と
を含む。方法はさらに
、
補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを提供するべく第1クロック周波数と第2クロック周波数との間の差を、第1通信デバイスにおい
て補償する段階と
、
補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを第1通信デバイスから第2通信デバイスへ送出する段階と
、
補償インジケータを、第1通信デバイスから第2通信デバイスへ送出する段階と
を含む。さらに、そのような実施形態によると
、
補償インジケータは、第2通信デバイス
が補償済第1タイムスタンプおよ
び補償済第2タイムスタンプに関して第1クロック周波数と第2クロック周波数との間の差
を補償する必要がないことを示す。
【0103】
第2の実施形態はさらに、
第2クロック周波数に基づき、第1送信が第2通信デバイスにおいて受信されたときに対応する第3タイムスタンプを、第2通信デバイスにおいて決定する段階と、
第2クロック周波数に基づき、第2送信が第2通信デバイスにより送信されたときに対応する第4タイムスタンプを、第2通信デバイスにおいて決定する段階と
を含むなどの複数の変形例を含む。
【0104】
さらに、第2の実施形態は
、
補償済第1タイムスタンプ
、補償済第2タイムスタンプ、第3タイムスタンプ、および第4タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を、第2通信デバイスにおいて計算する段階を含むなどの複数の変形例を含む。
【0106】
(i)
【数35】
に関して第1数式
【数36】
および、
【0107】
(ii)
【数37】
に関して第2数式
【数38】
を評価することによ
り補償する処理を実行することを含み、
【数39】
および
【数40】
はそれぞれ、第1タイムスタンプおよび第2タイムスタンプを表し、
【数41】
は、第1クロック周波数と第2クロック周波数との間の差をppm単位で表し、
【数42】
および
【数43】
はそれぞれ
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを表す。
【0108】
またさらに、第2の実施形態は、
第1送信が、ファインタイミング測定リクエストを含み、
第2送信が、ファインタイミング測定リクエストの肯定応答を含む、複数の変形例も含む。
【0109】
最後に、第2の実施形態は、第1送信と第2送信とのうちそれぞれが、無線ネットワーキング通信プロトコルに準拠する複数の変形例を含む。
【0110】
第3の実施形態において、第1通信デバイスは、第1クロック周波数を有する第1クロックを利用するよう構成され、およびネットワークインタフェースを含み、
ネットワークインタフェースは、
第1送信が第2クロック周波数を有する第2クロックを利用する第2通信デバイスにより送信されたときに対応する第1タイムスタンプを決定し、
第2送信が第2通信デバイスにおいて受信されたときに対応する第2タイムスタンプを決定するよう構成される。 第1通信デバイスは、クロック計算およ
び補償ユニットをさらに含み、
クロック計算およ
び補償ユニットは
、
補償インジケータが第2通信デバイスから受信されたかを決定し、
補償インジケータが第2通信デバイスから受信されないときに
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを提供するべく第1クロック周波数と第2クロック周波数との間の複数の差
を補償するよう構成される。さらに、そのような実施形態によると
、
補償インジケータの存在は、第1タイムスタンプおよび第2タイムスタンプが第1クロック周波数に合わせて受信され
、補償される必要がないことを示す。
【0111】
第3の実施形態はさらに、クロック計算およ
び補償ユニットが
、補償インジケータが受信されたときに
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを提供するべく第1クロック周波数と第2クロック周波数との間の複数の差
を補償しないよう構成されるなどの複数の変形例を含む。
【0112】
さらに、第3の実施形態は、
クロック計算およ
び補償ユニットが、
第1クロック周波数に基づき、第1送信が第1通信デバイスにおいて受信されたときに対応する第3タイムスタンプを決定し、
第1クロック周波数に基づき、第2送信が第2通信デバイスへ送出されたときに対応する第4タイムスタンプを決定するよう構成されるなどの複数の変形例を含む。
【0113】
加えて、第3の実施形態はさらに、
クロック計算およ
び補償ユニットが
、
補償インジケータが受信されないときに
、補償済第1タイムスタンプ
、補償済第2タイムスタンプ、第3タイムスタンプ、および第4タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を計算し
、
補償インジケータが受信されたときに、第1タイムスタンプ、第2タイムスタンプ、第3タイムスタンプ、および第4タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を計算するよう構成されるなどの複数の変形例を含む。
【0114】
またさらに、第3の実施形態は、クロック計算およ
び補償ユニットが、
【0115】
(i)
【数44】
に関して第1数式
【数45】
および、
【0116】
(ii)
【数46】
に関して第2数式
【数47】
を評価することにより第1クロック周波数と第2クロック周波数との間の複数の差
を補償するよう構成され、
【数48】
および
【数49】
はそれぞれ、第1タイムスタンプおよび第2タイムスタンプを表し、
【数50】
は、第1クロック周波数と第2クロック周波数との間の差をppm単位で表し、
【数51】
および
【数52】
はそれぞれ
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを表す複数の変形例も含む。
【0117】
追加的に、第3の実施形態は、ネットワークインタフェースが、ファインタイミング測定リクエストを含む第1送信を送出し、第2通信デバイスから送出されたファインタイミング測定リクエストの肯定応答を含む第2送信を受信するよう構成される複数の変形例を含む。
【0118】
最後に、第3の実施形態は、第1送信と第2送信とのうちそれぞれが、無線ネットワーキングプロトコルに準拠する複数の変形例を含む。
【0119】
第4の実施形態において、
第1通信デバイスは第1クロック周波数を有する第1クロックを利用するよう構成され、およびネットワークインタフェースを含み、
ネットワークインタフェースは、
第1送信が第1通信デバイスにより送信されたときに対応する第1タイムスタンプを決定し、
第2送信が第1通信デバイスにおいて受信されたときに対応する第2タイムスタンプを決定するよう構成される。さらに、第2送信は、第2クロック周波数を有する第2クロックを利用するよう構成された第2通信デバイスにより送信される。第1通信デバイスは
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを提供するべく第1クロック周波数と第2クロック周波数との間の複数の差
を補償するよう構成されたクロック計算およ
び補償ユニットをさらに含む。さらに、そのような実施形態によると、
ネットワークインタフェースはさらに、第1通信デバイスに
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプ、並び
に補償インジケータを第2通信デバイスへ送出させるようにも構成され
、
補償インジケータは
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプが第2通信デバイスによ
り補償される必要がないことを示す。
【0120】
第4の実施形態はさらに、
ネットワークインタフェースが、
第1送信が第2通信デバイスにおいて受信されたときに対応する第3タイムスタンプを決定し、
第2送信が第2通信デバイスにより送信されたときに対応する第4タイムスタンプを決定するよう構成されるなどの複数の変形例を含む。
【0121】
さらに、第4の実施形態は、クロック計算およ
び補償ユニットが、
補償済第1タイムスタンプ
、補償済第2タイムスタンプ、第3タイムスタンプ、および第4タイムスタンプに基づき、第1通信デバイスと第2通信デバイスとの間の距離を計算するよう構成されるなどの複数の変形例を含む。
【0122】
またさらに、第4の実施形態は、クロック計算およ
び補償ユニットがさらに、
【0123】
(i)
【数53】
に関して第1数式
【数54】
および、
【0124】
(ii)
【数55】
に関して第2数式
【数56】
を評価することにより第1タイムスタンプおよび第2タイムスタンプ
を補償するよう構成され、
【数57】
および
【数58】
はそれぞれ、第1タイムスタンプおよび第2タイムスタンプを表し、
【数59】
は、第1クロック周波数と第2クロック周波数との間の差をppm単位で表し、
【数60】
および
【数61】
はそれぞれ
、補償済第1タイムスタンプおよ
び補償済第2タイムスタンプを表すなどの複数の変形例も含む。
【0125】
追加的に、第4の実施形態は、ネットワークインタフェースが、ファインタイミング測定リクエストを含む第1送信を送出し、第2通信デバイスから送出されたファインタイミング測定リクエストの肯定応答を含む第2送信を受信するよう構成される複数の変形例を含む。
【0126】
最後に、第4の実施形態は、第1送信と第2送信とのうちそれぞれが、無線ネットワーキングプロトコルに準拠する複数の変形例を含む。
【0127】
本願発明の様々な態様が、本願発明を限定するようにではなく例示のみを意図された具体的な複数の例を参照して説明されてきたが、本願発明の範囲から逸脱することなく、開示されている複数の実施形態に対して複数の変更、追加、および/または削除がなされ得る。