(58)【調査した分野】(Int.Cl.,DB名)
前記重み付けされた平均で使用される重みが、前記複数の基準デバイスのうちの前記少なくとも1つに関連する前記位置座標に関連する確実性に基づく請求項9に記載の方法。
【発明を実施するための形態】
【0026】
以下の説明は、本発明の対象の技術を具現化する例示的なシステム、方法、技術、命令シーケンス、およびコンピュータプログラム製品を含む。しかし、記載された実施形態はこれらの特定の詳細なしに実施され得ることが理解される。例えば、例は、本明細書に記載の位置推定技術を実行するワイヤレスローカルエリアネットワーク(WLAN)デバイス(例えば、802.11n互換デバイス)に関連するが、実施形態は、そのように限定されない。その他の実施形態においては、さまざまなその他のデバイスおよび規格(例えば、WiMAX)が、位置推定技術を実行できる。その他の場合、よく知られている命令インスタンス(instruction instance)、プロトコル、構造、および技術は、説明を不明瞭にしないために詳細に示されていない。
【0027】
未知の位置に関連するネットワークデバイス(「未知のネットワークデバイス」)が、TOAに基づく測位アルゴリズムを使用して、複数の基準ネットワークデバイスに基づいてそのネットワークデバイスの位置を決定することができる。実装に応じて、TOA測位アルゴリズムは、未知のネットワークデバイスの位置を推定するために正確に分かっている距離較正定数を必要とするかまたは必要としなくてもよい。これまでのTOA測位アルゴリズムは、概して、未知のネットワークデバイスの任意に選択された初期位置、任意に選択された距離較正定数、ならびにそれぞれの基準ネットワークデバイスまでの距離およびそれぞれの基準ネットワークデバイスの位置を入力として使用して、未知のネットワークデバイスの位置を繰り返し計算する。概して、未知のネットワークデバイスの初期位置は、ゼロである(例えば、X、Y、およびZ座標がゼロである)か、またはランダムに選択された値である。同様に、初期距離較正定数も、概して、ゼロであるか、またはランダムに選択された値である。しかし、これまでのTOA測位アルゴリズムは、未知のネットワークデバイスの初期位置に対して非常に敏感であり得る。さらに、一部のこれまでのTOA測位アルゴリズムは、距離較正定数に対して敏感であってもよい。初期位置のランダムに選択された値またはゼロ値を使用することは、これまでのTOAアルゴリズムを(例えば、1つまたは複数の行列式の値をゼロまたは無限大に近づけることによって)解けなくすることがあり、これまでのTOA測位アルゴリズムが適切な解(すなわち、未知のネットワークデバイスの位置)に収束しないことがある。また、距離較正定数を知らないこと、または距離較正定数をランダムに選択することは、これまでのTOA測位アルゴリズムの性能を不十分なものにすることがあり、これまでのTOA測位アルゴリズムが未知のネットワークデバイスの適切な位置に収束しないことがあり、および/またはこれまでのTOA測位アルゴリズムが誤った解に収束することがある。
【0028】
一部の実装においては、未知のネットワークデバイスの初期位置に対するこれまでのTOA測位アルゴリズムの一部の敏感さを最小化するために、未知のネットワークデバイスの(任意に選択されるのではなく)計算された初期位置を使用する第1のTOA測位システムが実装される得る。第1のTOA測位システムは、概して、距離較正定数に対して敏感ではなく、測位計算のために任意に選択された距離較正定数を利用してもよい。任意に選択された距離較正定数を利用することができる第1のTOA測位システムは、本明細書においては「TOA1測位システム」と呼ばれる。未知のネットワークデバイスの初期位置は、基準ネットワークデバイスのすでに分かっている位置に少なくとも部分的に基づいて計算され得る。TOA1測位システムは、(複数回の繰り返しではなく)1回の繰り返しを実行して、未知のネットワークデバイスの計算された初期位置と、基準ネットワークデバイスのそれぞれまでの距離とに少なくとも部分的に基づいて、未知のネットワークデバイスの位置と距離較正定数とを計算することができる。未知のネットワークデバイスの初期位置を(任意に推測するのではなく)計算することは、位置に対する敏感さの問題を軽減し、未知のネットワークデバイスの位置を決定する際のTOA1測位システムの収束を保証し、TOA1測位システムの性能および測位の正確性を向上させることができる。さらに、1回だけ繰り返しを実行して未知のネットワークデバイスの位置を推定することによって、TOA1測位システムは、未知のネットワークデバイスの位置を計算するために消費されるリソースおよび時間を最小化することができる。
【0029】
一部の実装においては、ハイブリッドTOA測位システムが、未知のネットワークデバイスの位置を推定する性能を向上させることができる。ハイブリッドTOA測位システムの一部として、上述のTOA1測位システムは、1回の繰り返しを実行して、(本明細書においては「未知のネットワークデバイスの中間位置」と呼ばれる)未知のネットワークデバイスの位置と、(本明細書においては「中間距離較正定数」と呼ばれる)距離較正定数とを推定することができる。それから、(基準ネットワークデバイスの位置および基準ネットワークデバイスのそれぞれまでの距離と一緒に)未知のネットワークデバイスの中間位置と中間距離較正定数とが、目標の(または推定される)距離較正定数と、未知のネットワークデバイスの第2の中間位置とを計算するために使用され得る。加えて、ハイブリッドTOA測位システムは、本明細書においては「TOA2測位システム」と呼ばれる第2のTOA測位システムも含むことができる。第2のTOA測位システムは、概して、距離較正定数に対して敏感であり、測位計算のために任意に選択された距離較正定数を利用しなくてもよい。その代わりに、TOA2測位システムは、以下で説明されるように、測位計算のためにTOA1測位システムによって計算された中間距離較正定数を利用することができる。ハイブリッドTOA測位システムは、目標の距離較正定数および第2の中間位置に少なくとも部分的に基づいてTOA2測位システムを繰り返し実行して未知のネットワークデバイスの位置(「推定される位置」)を推定することができる。目標の距離較正定数を(推測するのではなく)計算することは、距離較正定数に対する敏感さを最小化し、未知のネットワークデバイスの位置を決定することに関連する測位誤差を最小化し、測位の正確性を高め、性能をよりいっそう向上させ、結果として、未知のネットワークデバイスの全体的な性能を向上させることができる。
【0030】
図1は、ワイヤレス通信ネットワーク100においてネットワークデバイスの未知の位置を推定するためのメカニズムを示す例示的なブロック図である。一例において、ワイヤレス通信ネットワーク100は、位置が不明なWLANデバイス102(「未知のWLANデバイス」)と、4つの基準WLANデバイス104、106、108、および112とを含む。未知のWLANデバイス102は、位置計算ユニット110を含む。一部の実装において、位置計算ユニット110は、ワイヤレス通信ネットワーク100においてWLAN通信を可能にするプロトコルおよび機能を実装する未知のWLANデバイス102の通信ユニットで実装されてもよい。
図1に示されていないが、一部の実施形態においては、さらに、基準WLANデバイス104、106、108、および112のうちの1つまたは複数が、それらの基準WLANデバイス104、106、108、および112のそれぞれの位置を決定するための位置計算ユニットおよび対応する機能を含むことができることが留意される。一部の実装において、未知のWLANデバイス102ならびに基準WLANデバイス104、106、108、および112は、それぞれ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマート家電、ゲームコンソール、アクセスポイント、またはその他の好適な電子デバイスなどのWLAN通信能力を有する電子デバイスであることができる。未知のWLANデバイス102は、以下で段階A〜Fで説明されるように、その未知のWLANデバイス102の位置を決定する動作を実行することができる。
【0031】
段階Aにおいて、位置計算ユニット110は、ワイヤレス通信ネットワーク100において未知のWLANデバイス102と基準WLANデバイス104、106、108、および112のそれぞれとの間の往復伝送時間(RTT)を決定する。1つの実装において、位置計算ユニット110は、1つまたは複数の制御メッセージを基準WLANデバイス104に送信することができ、対応する1つまたは複数の応答制御メッセージ(例えば、肯定応答(ACK)メッセージ)を基準WLANデバイス104から受信することができる。位置計算ユニット110は、制御メッセージが基準WLANデバイス104に送信された時刻と、対応する応答制御メッセージが基準WLANデバイス104から受信された時刻とを記録することもできる。そして、位置計算ユニット110は、
図3のブロック304〜308でさらに説明されるように、未知のWLANデバイス102と基準WLANデバイス104との間のRTT(「基準WLANデバイスに関連するRTT」)を、制御メッセージの送信と対応する応答制御メッセージの受信との間の経過時間として計算することができる。さらに、位置計算ユニット110は、基準WLANデバイス106に関連するRTTと、基準WLANデバイス108に関連するRTTとを計算することもできる。その他の実装においては、その他の好適な技術が、基準WLANデバイス104、106、108、および112に関連するRTTを決定するために使用され得ることが留意される。
【0032】
段階Bにおいて、位置計算ユニット110は、基準WLANデバイスに関連する対応するRTTに基づいて未知のWLANデバイス102と基準WLANデバイス104、106、108、および112のそれぞれとの間の距離を計算する。未知のWLANデバイス102と基準WLANデバイス104、106、108、および112のそれぞれとの間の距離を計算する動作は、
図2および
図3でさらに説明される。
【0033】
段階Cにおいて、位置計算ユニット110は、基準WLANデバイス104、106、108、および112のそれぞれの位置を決定する。一部の実装において、位置計算ユニット110は、基準WLANデバイス104、106、108、および112のそれぞれに関連する位置座標を要求し、受信することができる。例えば、位置計算ユニット110は、段階Aにおいて送信される制御メッセージで位置座標の要求を送信することができ、応答制御メッセージで位置座標を受信することができる。別の例として、位置計算ユニット110は、(段階Aで送信される制御メッセージとは異なる)位置要求メッセージを基準WLANデバイスのそれぞれに送信することができ、基準WLANデバイスのそれぞれに関連する位置座標を含む対応する位置応答メッセージを受信することができる。別の実装においては、位置計算ユニット110は、集中サーバに問い合わせて(または所定のメモリ位置にアクセスして)基準WLANデバイス104、106、108、および112に関連する位置座標を決定することができる。別の実装においては、基準WLANデバイス104、106、108、および112は、(例えば、ビーコンメッセージまたは別の好適な制御メッセージで)周期的な間隔でそれらの基準WLANデバイス104、106、108、および112のそれぞれの位置座標をブロードキャストしてもよい。位置計算ユニット110は、周期的に受信されるメッセージを受信し、分析することに基づいて基準WLANデバイス104、106、108、および112に関連する位置座標を決定することができる。位置計算ユニット110は、2次元(2-D)座標(例えば、XおよびY座標)、3次元(3-D)座標(例えば、X、Y、およびZ座標)、緯度および経度、球座標、ならびに/または基準WLANデバイス104、106、108、および112に関連するその他の好適な位置の指標を決定することができることが留意される。
【0034】
段階Dにおいて、位置計算ユニット110は、基準WLANデバイス104、106、108、および112のそれぞれの位置に少なくとも部分的に基づいて未知のWLANデバイス102の初期位置を計算する。一例として、位置計算ユニット110は、
図2および
図3で説明されるように、未知のWLANデバイス102の初期位置を、基準WLANデバイス104、106、108、および112のすでに分かっている位置の平均として計算することができる。位置計算ユニット110は、以下で段階Fおよび
図2〜
図3で説明されるように、未知のWLANデバイス102の計算された初期位置を第1の到来時間(TOA1)測位アルゴリズムへの入力として使用して、未知のWLANデバイス102の位置を推定することができる。一部の実装において(例えば、ハイブリッドTOA測位システムにおいて)、位置計算ユニット110は、
図4〜
図6で説明されるように、TOA1測位アルゴリズムの出力で生成された(本明細書においては「未知のWLANデバイスの第1の中間位置」と呼ばれる)未知のWLANデバイスの出力の前に計算された位置を使用して、基準WLANデバイス104、106、108、および112のすでに分かっている位置と、基準WLANデバイス104、106、108、および112に関連するRTTとに少なくとも部分的に基づいて未知のWLANデバイス102の第2の中間位置を計算することができる。この実装において、位置計算ユニット110は、以下で段階Fおよび
図4〜
図7で説明されるように、未知のWLANデバイス102の第2の中間位置を第2の到来時間(TOA2)測位アルゴリズムへの入力として使用して、未知のWLANデバイス102の推定される位置を決定することができる。
【0035】
段階Eにおいて、位置計算ユニット110は、距離較正定数を決定する。一部の実装においては、
図2にしたがって説明されるように、初期距離較正定数は、所定の値またはランダムに選択された値であり得る。位置計算ユニット110は、以下で段階Fおよび
図2〜
図3で説明されるように、初期距離較正定数をTOA1測位アルゴリズムへの入力として使用して、未知のWLANデバイス102の位置および距離較正定数を推定することができる。その他の実装においては、位置計算ユニット110は、(本明細書においては「中間距離較正定数」と呼ばれる)TOA1測位アルゴリズムの出力の距離較正定数を使用して、目標の(または推定される)距離較正定数を計算することができる。この実装において、位置計算ユニット110は、以下で段階Fおよび
図4〜
図7で説明されるように、目標の距離較正定数をTOA2測位アルゴリズムへの入力として使用して、未知のWLANデバイス102の位置を推定することができる。
【0036】
段階Fにおいて、位置計算ユニット110は、未知のWLANデバイス102の初期位置と、距離較正定数と、基準WLANデバイス104、106、108、および112のそれぞれまでの距離とに少なくとも部分的に基づいて未知のWLANデバイス102の位置を推定する。一部の実装においては、
図2〜
図3で説明されるように、未知のWLANデバイス102の位置の計算は、1段階のプロセスであり得る。この実装において、未知のWLANデバイス102の位置は、少なくとも、未知のWLANデバイス102の計算された初期位置と、基準WLANデバイスのすでに分かっている位置とを入力として使用して、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを実行することによって計算され得る。一部の実装においては、
図5〜
図7で説明されるように、未知のWLANデバイス102の位置の計算は、2段階のプロセスであり得る。この実装においては、位置計算ユニット110は、初めに、(上述の)テイラー級数に基づくTOA1測位アルゴリズムを実行し、未知のWLANデバイス102の第1の中間位置を決定できる。さらに、TOA1測位アルゴリズムは、中間距離較正定数を決定するために使用され得る。次に、位置計算ユニット110は、第1の中間位置および中間距離較正定数に基づいて、(段階Dで説明された)未知のWLANデバイス102の第2の中間位置と、(上で段階Eで説明された)目標の距離較正定数とを決定できる。それから、位置計算ユニット110は、テイラー級数に基づくTOA2測位アルゴリズムを繰り返し実行して、未知のWLANデバイス102の位置を推定できる。
【0037】
図2は、TOA測位メカニズムを含む位置計算ユニット110の一実施形態の例示的なブロック図である。位置計算ユニット110は、距離計算ユニット202、TOA1初期位置計算ユニット204、およびTOA1測位ユニット206を含む。距離計算ユニット202およびTOA1初期位置計算ユニット204は、TOA1測位ユニット206に結合される。
【0038】
距離計算ユニット202は、基準WLANデバイスのそれぞれに関連する往復伝送時間(RTT)に少なくとも部分的に基づいて、未知のWLANデバイス102と基準WLANデバイス104、106、108、および112のそれぞれとの間の距離を計算することができる。
図2に示されるように、距離計算ユニット202は、未知のWLANデバイス102と基準WLANデバイス104、106、108、および112のそれぞれとの間のRTT208を入力パラメータにとる。iが、基準WLANデバイスのそれぞれのカウンタ(counter)を表し、Nが、通信ネットワーク100内の基準WLANデバイスの数を表す場合、距離計算ユニット202への入力は、
図2に示されるように、RTT
i(すなわち、RTT
1、RTT
2、...RTT
N)である。距離計算ユニット202の出力は、未知のWLANデバイス102とi番目の基準WLANデバイスとの間の推定される距離210
【0040】
である。したがって、RTT
iが、i番目の基準WLANデバイスに関連するRTTを表し、cが、光の速度を表す場合、距離
【0042】
210は、式1aにしたがって計算され得る。未知のWLANデバイス102とi番目の基準WLANデバイスとの間の実際の距離(d
i)は、式1bに示されるように、TOA1距離較正定数(d
c_TOA1)と、未知のWLANデバイス102の局とi番目の基準WLANデバイスとの間の推定される距離
【0044】
との合計として表され得ることが留意される。
【0046】
距離較正定数(d
c_TOA1)は、推定される距離
【0048】
と実際の距離(d
i)との間の差を表すことができ、基準WLANデバイスに関連する内部処理時間(またはターンアラウンドタイム)を示してもよい。例えば、距離較正定数は、基準WLANデバイスが未知のWLANデバイス102からの制御メッセージを検出してから、基準WLANデバイスが未知のWLANデバイス102に応答制御メッセージを送信するまでの経過時間を明らかにできる。距離較正定数は、基準WLANデバイスの種類および構成に依存してもよい。一部の実装において、距離較正定数は、基準WLANデバイスごとに異なってもよく、一方、その他の実装においては、距離較正定数は、基準WLANデバイスごとに異ならなくてもよい。
【0049】
TOA1初期位置計算ユニット204は、基準WLANデバイス104、106、108、および112のそれぞれの位置212に少なくとも部分的に基づいて未知のWLANデバイス102の初期位置を計算することができる。
図2に示されるように、基準WLANデバイス104、106、108、および112のすでに分かっている位置212が、TOA1初期位置計算ユニット204に入力パラメータとして与えられる。本明細書において説明されるように、iは、基準WLANデバイスのカウンタを表し、X
iは、i番目の基準WLANデバイスの(例えば、絶対位置、実際の位置、または真の位置とも呼ばれる)位置212を表す。1つの実装において、i番目の基準WLANデバイスの位置は、
【0051】
の形式で表され得、ここで、Dは、基準WLANデバイスの位置を指定するために使用される座標系の次元を表し(例えば、基準WLANデバイスの位置がX、Y、およびZ座標によって指定される場合、D=3である)、sは、座標系の次元のカウンタ(すなわち、次元のインデックス)を表し、
【0053】
は、i番目の基準WLANデバイスの位置の第sの次元の値を表す。基準WLANデバイスの位置は、その他の好適な座標系(例えば、デカルト座標、球座標、測地座標など)を使用して表され得ることが留意される。さらに、基準WLANデバイスの位置は、その他の好適な数の次元(例えば、2次元座標、3次元座標など)で表され得る。
図2に示されるように、TOA1初期位置計算ユニット204の出力は、未知のWLANデバイス102の初期位置
【0055】
214である。1つの実装において、未知のWLANデバイス102の初期位置は、
【0059】
は、未知のWLANデバイス102の初期位置の第sの次元の値を表す。一部の実装において、未知のWLANデバイス102の初期位置214は、式2aに示されるように、N個の基準WLANデバイスのすでに分かっている位置212の関数f(.)として表され得る。一部の実装において、未知のWLANデバイス102の初期位置214は、式2bに示されるように、基準WLANデバイスのすでに分かっている位置212の平均として計算され得る。別の実装においては、未知のWLANデバイス102の初期位置214は、式2cに示されるように、テイラー級数に基づくTOA1測位アルゴリズムの実行中に生成される行列の積の行列式を最大化することによって計算され得る。式2cに示される式
【0061】
を最大化することは、(以下で説明される)TOA1測位アルゴリズムが未知のWLANデバイス102の位置に収束することを保証することができる。式2cにおいて、
【0063】
は、行列B
TOA1の転置を表し、行列B
TOA1は、
図2の式11および
図3を参照して以下でさらに説明される。
【0065】
その他の実装においては、TOA1初期位置計算ユニット204は、その他の好適な技術を使用して未知のWLANデバイス102の初期位置214を計算できることが留意される。例えば、未知のWLANデバイス102の初期位置214は、基準WLANデバイスのすでに分かっている位置212の加重平均として計算され得、重みは、基準WLANデバイスの位置の確実性に基づいて、および/または基準WLANデバイスと未知のWLANデバイス102との間の距離に基づいて選択される。別の例として、未知のWLANデバイス102の初期位置214は、基準WLANデバイスのうちの一部のみのすでに分かっている位置212の重み付けされた(または重み付けされていない)組み合わせとして計算され得る。
【0066】
TOA1測位ユニット206は、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを実行して、未知のWLANデバイス102の初期位置214と、基準WLANデバイスのそれぞれまでの推定される距離210と、基準WLANデバイスのそれぞれの位置212とに少なくとも部分的に基づいて、未知のWLANデバイス102の位置220を計算し、距離較正定数218を推定することができる。
図2に示されるように、(距離計算ユニット202によって計算される)未知のWLANデバイス102と基準WLANデバイスのそれぞれとの間の推定される距離210は、TOA1測位ユニット206に1組の入力として与えられる。TOA1初期位置計算ユニット204によって計算された未知のWLANデバイス102の初期位置214
【0068】
は、TOA1測位ユニット206に別の入力として与えられる。基準WLANデバイス104、106、108、および112のすでに分かっている位置212(X
i)も、TOA1測位ユニット206に入力として与えられる。加えて、初期距離較正定数
【0070】
216も、TOA1測位ユニット206に入力として与えられ得る。上述のように、初期距離較正定数216は、基準WLANデバイスに関連する内部処理時間(またはターンアラウンドタイム)を示してもよい。一部の実装において、初期距離較正定数216は、ゼロであるように選択されてもよく、一方、その他の実装においては、初期距離較正定数216は、別の好適なランダム値であるように選択されてもよい。一部の実装において、初期距離較正定数216は、予め構成されてもよく、一方、その他の実装においては、初期距離較正定数216は、動的に選択されてもよい(例えば、ランダム値が、初期距離較正定数216のために動的に選択されてもよい)。
【0071】
そして、TOA1測位ユニット206は、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを実行して、式3aによって示される式を解き、未知のWLANデバイス102の位置(Y
TOA1)220を推定することができる。式3aにしたがって、TOA1測位ユニット206は、A)i番目の基準WLANデバイスに関連するRTTに基づいて式1で決定されるi番目の基準WLANデバイスまでの測定される距離と、B)i番目の基準WLANデバイスのすでに分かっている位置に基づくi番目の基準WLANデバイスまでの推定される距離との間の推定誤差の(すべての基準WLANデバイスにわたる)合計を最小化するY
TOA1の値を特定しようと試みることができる。式3aにおいて、||X
i-Y
TOA1||は、i番目の基準WLANデバイスと未知のWLANデバイス102との間の推定される距離を表す。||X
i-Y
TOA1||は、式3bにしたがって計算され得る。基準WLANデバイスと未知のWLANデバイスとの間の推定される距離は、基準WLANデバイスの実際の位置と、未知のWLANデバイスの推定される位置(Y
TOA1)とに基づいて決定され得る。
【0073】
一部の実装においては、推定誤差がないと仮定することによって{例えば、
【0075】
と仮定することによって}、TOA1測位ユニット206は、式3aを単純化することができ、代わりに、iのすべての値に対して式4を解いて未知のWLANデバイス102の位置を推定することができる。
【0077】
TOA1距離較正定数(d
c_TOA1)218は、式5aに示されるように、初期距離較正定数
【0079】
216と距離較正誤差(distance calibration error)(Δd
c)との合計として表され得る。言い換えると、距離較正誤差(Δd
c)は、推定される距離較正定数(d
c_TOA1)218と初期距離較正定数
【0081】
216との間の差(または誤差)として表され得る。さらに、未知のWLANデバイス102の位置220(Y
TOA1)は、式5bに示されるように、未知のWLANデバイスの初期位置214
【0083】
とTOA1位置誤差(ΔY
TOA1)との合計として表され得る。言い換えると、TOA1位置誤差(ΔY
TOA1)は、未知のWLANデバイス102の推定される位置220(Y
TOA1)と未知のWLANデバイスの初期位置214
【0085】
との間の差(または誤差)として表され得る。一部の実装において、TOA1位置誤差は、ΔY
TOA1 = {Δy
TOA1s,s=0,1,...,D-1}として表され得、ここで、Dは、座標系の次元を表し、Δy
TOA1sは、TOA1位置誤差の第sの次元の値を表すことが留意される。TOA1測位ユニット206は、式5aおよび式5bを式4に代入して、式6を得ることができる。
【0087】
そして、TOA1測位ユニット206は、テイラー級数展開を使用し、2次以上の項を(それらの高次の項はゼロまたは無視できる値を有するので)無視して、式7を得ることができる。TOA1測位ユニット206は、基準WLANデバイス104、106、108、および112のそれぞれに関して式7にしたがって式を生成することができ、複数の生成された式を行列形式で編成して式8を得ることができる。
【0089】
一部の実装において、TOA1位置誤差行列(ΔY
TOA1)は、式9に示されるように、未知のWLANデバイス102の推定される位置と未知のWLANデバイス102の初期TOA1位置との間の差を表すことができる1 X D行の行列であってもよい。TOA1距離誤差行列(A
TOA1)は、N X 1列の行列であり得、ここで、行列A
TOA1の各要素(すなわち、各行)は、式10によって表され、各行は、基準WLANデバイスのうちの1つに関連する。式10によって示されるように、TOA1距離誤差行列の各要素は、A)(例えば、式1に示される基準WLANデバイスに関連するRTTに基づく)未知のWLANデバイスと基準WLANデバイスとの間の推定される距離と、B)初期距離較正定数216と、C)基準WLANデバイスのすでに分かっている距離および未知のWLANデバイス102の初期位置214に基づく未知のWLANデバイスと基準WLANデバイスとの間の推定される距離との組み合わせを表す。TOA係数行列(B
TOA1)は、N X(D+1)行列であり得、ここで、Nは、基準WLANデバイスの数を表し、Dは、基準WLANデバイスの位置を指定するために使用される座標系の次元を表す。TOA1係数行列の各要素は、式11によって表され得る。TOA1係数行列(B
TOA1)は、TOA1位置誤差行列(ΔY
TOA1)の係数を含むことができ、TOA1位置誤差行列(ΔY
TOA1)とTOA1距離誤差行列(A
TOA1)との間の関係を表すことができる。
【0091】
1つの実装において、次元(例えば、sの値)は、列ごとに変わることでき、一方、考慮中の基準デバイス(例えば、iの値)は、行ごとに変わることができる。次元は、特定の列中では一定のままであることができ、一方、考慮中の基準デバイスは、特定の行中では一定のままであることができる。そして、TOA1測位ユニット206は、式12にしたがって、TOA1位置誤差ΔY
TOA1および距離較正誤差Δd
cを計算することができる。一部の実装においては、式12を評価する前に、TOA1測位ユニット206は、まず、テイラー級数に基づくTOA1測位アルゴリズムの収束を保証するために条件
【0093】
が満足されるかどうかを判定することができることが留意される。
【0095】
TOA1測位ユニット206は、(式12にしたがって)TOA1位置誤差および距離較正誤差の値を計算した後、式5aを使用して、距離較正誤差(Δd
c)を初期距離較正定数
【0097】
と合計することによってTOA1距離較正定数(d
c_TOA1)218を計算することができる。さらに、TOA1測位ユニット206は、式5bを使用して、TOA1位置誤差(ΔY
TOA1)を未知のWLANデバイス102の初期位置214
【0099】
と合計することによって未知のWLANデバイスの推定される位置220(Y
TOA1)を計算することができる。1つの実装において、TOA1測位ユニット206の出力の未知のWLANデバイス102の位置220は、
【0103】
は、未知のWLANデバイス102の位置の第sの次元の値を表す。TOA1測位ユニット206は、式3a〜式12を参照して本明細書において説明された演算を1回だけ(すなわち、1回の繰り返しのみ)実行して、未知のWLANデバイス102の推定される位置を計算することができることが留意される。
【0104】
図3は、TOA測位メカニズムの例示的な動作を示す流れ図(「フロー」)300を示す。フロー300は、ブロック302において開始する。
【0105】
ブロック302において、未知のネットワークデバイスが、未知のネットワークデバイスの位置を推定するために基づく通信ネットワークの複数の基準ネットワークデバイスを決定する。
図1の例を参照すると、未知のWLANデバイス102の位置計算ユニット110が、未知のWLANデバイス102の位置を推定するために基づく基準WLANデバイス104、106、108、および112を特定することができる。一部の実装において、位置計算ユニット110は、複数のWLANデバイスに関連する1つまたは複数の性能の測定値を分析することに基づいてワイヤレス通信ネットワーク100内の複数のWLANデバイスから基準WLANデバイス104、106、108、および112を特定することができる。例えば、位置計算ユニット110は、最高の受信信号強度インジケータ(RSSI)、最低のパケット誤り率(PER)などを有するワイヤレス通信ネットワーク100内のN個のWLANデバイスを特定できる。一部の実装において、ワイヤレス通信ネットワーク100が複数のアクセスポイントを含む場合、アクセスポイントは、それらのアクセスポイントの存在/位置をワイヤレス通信ネットワーク100内のその他のWLANデバイスに(例えば、ビーコンメッセージで)アドバータイズしてもよい。位置計算ユニット110は、これらのビーコンメッセージを検出し、ビーコンメッセージを送信したアクセスポイントを特定し、(例えば、アクセスポイントのそれぞれから受信されたビーコンメッセージに関連する性能の測定値を分析することに基づいて)アクセスポイントの少なくとも一部を基準WLANとして選択することができる。フローは、ブロック304で継続する。
【0106】
ブロック304において、制御メッセージが、複数の基準ネットワークデバイスのそれぞれに送信される。例えば、位置計算ユニット110が、制御メッセージを基準WLANデバイス104に送信できる。制御メッセージは、未知のWLANデバイス102に関連する識別子、基準WLANデバイス104に関連する識別子、および好適なペイロード(例えば、シンボルの所定の組み合わせ、ヌルペイロード(NULL payload)など)のうちの1つまたは複数を含むことができる。位置計算ユニット110は、制御メッセージが基準WLANデバイス104に送信された時刻を記録することもできる。同様に、
図1を参照すると、位置計算ユニット110は、制御メッセージが基準WLANデバイス106、108、および112に送信された時刻を記録することもできる。フローは、ブロック306で継続する。
【0107】
ブロック306において、応答制御メッセージが、複数の基準ネットワークデバイスのそれぞれから受信される。例えば、位置計算ユニット110が、応答制御メッセージを基準WLANデバイス104から受信できる。応答制御メッセージは、WLAN肯定応答(ACK)メッセージ、または基準WLANデバイス104における(ブロック304で送信された)制御メッセージの受信を示す任意の好適なメッセージであり得る。位置計算ユニット110は、応答制御メッセージがWLANデバイス104から未知のWLANデバイス102で受信された時刻を記録することもできる。同様に、
図1を参照すると、位置計算ユニット110は、応答制御メッセージが基準WLANデバイス106、108、および112から受信された時刻を記録することもできる。フローは、ブロック308で継続する。
【0108】
ブロック308において、基準ネットワークデバイスのそれぞれに関連する往復伝送時間(RTT)が、決定される。1つの実装においては、位置計算ユニット110が、(ブロック304で記録された)制御メッセージが基準WLANデバイス104に送信された時刻と、(ブロック306で記録された)応答制御メッセージが基準ネットワークデバイス104から受信された時刻とに基づいて基準WLANデバイス104に関連するRTTを決定することができる。位置計算ユニット110は、応答制御メッセージが受信された時刻から制御メッセージが送信された時刻を引くことによって基準WLANデバイス104に関連するRTTを計算することができる。その他の実装においては、位置計算ユニット110が、その他の好適な技術を使用して、基準WLANデバイス104に関連するRTTを決定できることが留意される。同様に、
図1を参照すると、位置計算ユニット110は、基準WLANデバイス106、108、および112に関連するRTTを決定することもできる。フローは、ブロック310で継続する。
【0109】
ブロック310において、複数の基準ネットワークデバイスのそれぞれに関して、未知のネットワークデバイスと基準ネットワークデバイスとの間の距離が、基準ネットワークデバイスに関連するRTTに少なくとも部分的に基づいて計算される。例えば、位置計算ユニット110(例えば、
図2の距離計算ユニット202)は、
図2の式1aを参照して上で説明されたように、対応する基準WLANデバイスに関連するRTTに少なくとも部分的に基づいて、未知のWLANデバイス102と基準ネットワークデバイス104、106、108、および112のそれぞれとの間の距離を計算できる。その他の実装においては、距離計算ユニット202は、その他の好適な技術を使用して未知のWLANデバイス102と基準WLANデバイス104、106、108、および112のそれぞれとの間の距離を決定できることが留意される。フローは、ブロック312で継続する。
【0110】
ブロック312において、未知のネットワークデバイスの初期位置が、基準ネットワークデバイスのすでに分かっている位置に少なくとも部分的に基づいて計算される。例えば、位置計算ユニット110(例えば、
図2のTOA1初期位置計算ユニット204)が、未知のWLANデバイス102の初期位置214を計算できる。上述のように、式2aを参照して、未知のWLANデバイス102の初期位置214が、基準WLANデバイスの位置212の関数として計算され得る。一部の例において、上で式2bに示されたように、未知のWLANデバイス102の初期位置は、基準WLANデバイスの位置の平均として計算され得る。その他の例においては、上で式2cに示されたように、未知のWLANデバイス102の初期位置は、基準WLANデバイスの位置の別の好適な重み付けされた(または重み付けされていない)組み合わせとして計算され得る。より詳細には、上で
図2に示されたように、位置計算ユニット110は、TOA1位置誤差行列の各要素が未知のWLANデバイスの推定される位置の座標(例えば、推定されるX座標)と未知のWLANデバイス102の初期位置の初期位置座標(例えば、未知のWLANデバイス102の初期位置のX座標)との間の差を表すようなTOA1位置誤差行列(ΔY
TOA1)を決定することができる。位置計算ユニット110は、式10にしたがって、TOA1距離誤差行列(A
TOA1)を計算することができる。そして、位置計算ユニット110は、式11にしたがってTOA1係数行列(B
TOA1)を計算することができる。位置計算ユニット110は、式2bに示されるように、行列B
TOA1と行列B
TOA1の転置との積の行列式を最大化することに少なくとも部分的に基づいてワイヤレスネットワークデバイスの初期位置を計算することができる。フローは、ブロック314で継続する。
【0111】
ブロック314において、第1の到来時間(TOA1)測位アルゴリズムの1回の繰り返しが、未知のネットワークデバイスの初期位置、および未知のネットワークデバイスと基準ネットワークデバイスのそれぞれとの間の距離に少なくとも部分的に基づいて未知のネットワークデバイスの位置を推定するために実行される。例えば、位置計算ユニット110(例えば、
図2のTOA1測位ユニット206)が、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを実行して未知のWLANデバイス102の位置を計算できる。加えて、TOA1測位ユニット206は、初期距離較正定数216を(入力として)受信できる。上で
図2に示されたように、初期距離較正定数216は、ゼロ、所定の値、またはランダムに選択された値であり得る。上で式3a〜式12に示されたように、TOA1測位ユニット206は、(ブロック312で決定された)未知のWLANデバイス102の初期位置214と、(ブロック310で決定された)基準WLANデバイスのそれぞれまでの距離210と、初期距離較正定数216と、基準WLANデバイスのすでに分かっている位置212とを入力として使用して、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを実行し、未知のWLANデバイス102の位置を計算することができる。したがって、TOA1測位ユニット206は、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを実行することによって、(上述の)初期距離較正定数216に少なくとも部分的に基づいてTOA1距離較正定数218を決定することもできる。その他の実施形態においては、TOA1測位ユニット206は、その他の好適な技術を使用して、(例えば、以下でさらに説明されるように)未知のWLANデバイス102の計算された初期位置214に少なくとも部分的に基づいて未知のWLANデバイス102の位置を推定できることが留意される。ブロック314から、フローは終了する。
【0112】
図4は、ハイブリッドTOA測位メカニズムを含む位置計算ユニット110の一実施形態の例示的なブロック図である。位置計算ユニット110は、
図2〜
図3にすでに示された距離計算ユニット202、TOA1初期位置計算ユニット204、およびTOA1測位ユニット206を含む。加えて、位置計算ユニット110は、TOA2初期値計算ユニット402およびTOA2測位ユニット404も含む。
図4の例に示されるように、距離計算ユニット202およびTOA1初期位置計算ユニット204は、TOA1測位ユニット206に結合される。TOA1測位ユニット206および距離計算ユニット202は、TOA2初期値計算ユニット402と結合される。距離計算ユニット202およびTOA2初期値計算ユニット402は、TOA2測位ユニット404と結合される。
【0113】
距離計算ユニット202は、
図2の式1aによって上で説明されたように、基準WLANデバイスに関連する対応するRTT208に少なくとも部分的に基づいて、未知のWLANデバイス102と基準WLANデバイス104、106、108、および112のそれぞれとの間の距離210を計算することができる。TOA1初期位置計算ユニット204は、
図2の式2a、式2b、および式2cによって上で説明されたように、基準WLANデバイス104、106、108、および112のそれぞれの位置212に少なくとも部分的に基づいて未知のWLANデバイス102の初期位置214を計算することができる。TOA1測位ユニット206は、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを使用して、
図2の式3a〜式12によって上で説明されたように、未知のWLANデバイス102の初期位置212、初期距離較正定数216、および距離210に少なくとも部分的に基づいて、未知のWLANデバイス102のTOA1位置220および距離較正定数218を推定することができる。ハイブリッドTOAメカニズムにおいては、TOA1測位ユニット206の出力の距離較正定数218および位置220は、それぞれ、「中間距離較正定数」および「未知のWLANデバイスの第1の中間位置」と呼ばれ得る。
【0114】
TOA2初期値計算ユニット402は、TOA2測位ユニット404に入力として与えられる距離較正定数(「目標の距離較正定数」)および初期位置(「未知のWLANデバイスの第2の中間位置」)を計算することができる。TOA2初期値計算ユニット402は、(距離計算ユニット202によって決定された)基準WLANデバイス104、106、108、および112のそれぞれまでの推定される距離
【0116】
210と、未知のWLANデバイス102の第1の中間位置(Y
TOA1)220と、(TOA1測位ユニット206によって計算された)中間距離較正定数218とに少なくとも部分的に基づいて目標の距離較正定数および未知のWLANデバイスの第2の中間位置を計算することができる。加えて、基準WLANデバイス104、106、108、および112の位置(X
i)210が、TOA2初期値計算ユニット402に入力パラメータとして与えられる。
図4に示されるように、TOA2初期値計算ユニット402は、目標の距離較正定数(d
c)406と、未知のWLANデバイス102の第2の中間位置
【0118】
408とを推定することができる。一部の実装において、目標の距離較正定数406は、式13aに示されるように、中間距離較正定数218と、未知のWLANデバイスの第1の中間位置220と、基準WLANデバイスのすでに分かっている位置212と、基準WLANデバイスまでの距離210との関数g(.)として表され得る。一例において、TOA2初期値計算ユニット402は、式13bによって示されるように、A)基準WLANデバイスのすでに分かっている位置および未知のWLANデバイスの第1の中間位置に基づく未知のWLANデバイスと基準WLANデバイスとの間の推定される距離(||X
i-Y
TOA1||)と、B)基準WLANデバイスに関連するRTTに基づく未知のWLANデバイスと基準WLANデバイスとの間の測定される距離との差の加重和として目標の距離較正定数406の値の値を計算することができる。別の例として、TOA2初期値計算ユニット402は、式13cによって示されるように、中間距離較正定数218を目標の距離較正定数406として割り振ることができる。
【0120】
式13bにおいて、β
iは、基準WLANデバイスのそれぞれに関連する重み係数を表し、重み係数のそれぞれがゼロ以上であり、すべての重み係数の合計が1に等しいように選択され得る。一例において、それぞれの基準WLANデバイスに関連する重み係数β
iは、式13dによって示されるように、基準WLANデバイスの数の逆数として計算され得る。別の例においては、それぞれの基準WLANデバイスに関連する重み係数β
iは、式13eにしたがって計算され得る。
【0122】
式13eを参照すると、重み係数は、基準WLANデバイスへの距離の測定値(例えば、基準WLANデバイスの位置の確実性)に基づいて決定され得る。言い換えると、未知のWLANデバイス102とi番目の基準WLANデバイスとの間の距離(||X
i-Y
TOA1||)が、重み係数を計算するために使用され得、i番目の基準WLANデバイスに関連する測定値の確実性の指示として使用され得る。例えば、基準WLANデバイス104が未知のWLANデバイス102に近い場合、||X
i-Y
TOA1||は小さい値を有し、その逆数は大きな値を有し、結果として、基準WLANデバイス104は、より大きな重み係数(例えば、より高い重要性)に関連付けられる。別の例として、基準WLANデバイス108が未知のWLANデバイス102から遠く離れている場合、||X
i-Y
TOA1||は大きな値を有し、その逆数は小さな値を有し、結果として、基準WLANデバイス108は、小さな重み係数(例えば、低い重要性)に関連付けられる。係数
【0124】
は、未知のWLANデバイス102と基準WLANデバイスのそれぞれとの間の距離の逆数の合計である一定の乗法因子である。その他の実装においては、TOA2初期値計算ユニット402は、その他の好適な技術を使用して、基準WLANデバイスのそれぞれに関連する重み係数β
iを計算できることが留意される。
【0125】
加えて、TOA2初期値計算ユニット402は、式14aに示されるように、未知のWLANデバイス102の第2の中間位置
【0127】
408を、(TOA1測位ユニット206によって計算された)未知のWLANデバイス102の第1の中間位置(Y
TOA1)220と基準WLANデバイスの位置210との関数h(.)としてさらに決定する。一部の実装において、未知のWLANデバイス102の第2の中間位置408は、式14bに示されるように、基準WLANデバイスの位置210の平均として計算され得る。別の実装においては、式14cに示されるように、未知のWLANデバイス102の第1の中間位置(Y
TOA1)220が、未知のWLANデバイス102の第2の中間位置408として指定され得る。
【0129】
一部の実装において、未知のWLANデバイス102の第2の中間位置は、
【0133】
は、未知のWLANデバイス102の第2の中間位置の第sの次元の値を表すことが留意される。一部の実装においては、TOA2初期値計算ユニット402は、その他の好適な技術を使用して、未知のWLANデバイス102の第2の中間位置408を計算できることも留意される。例えば、未知のWLANデバイス102の第2の中間位置408は、基準WLANデバイスの位置の加重平均として計算され得、重みは、基準WLANデバイスの位置の確実性に基づいて、および/または基準WLANデバイスと未知のWLANデバイス102との間の距離に基づいて選択される。別の例としては、未知のWLANデバイス102の第2の中間位置408は、第1の中間位置(Y
TOA1)220と基準WLANデバイスの位置212との組み合わせとして計算され得る。
【0134】
TOA2測位ユニット404は、テイラー級数に基づくTOA2測位アルゴリズムを使用して、未知のWLANデバイス102の第2の中間位置408と、目標の距離較正定数406と、基準WLANデバイス104、106、108、および112までの距離210とに少なくとも部分的に基づいて未知のWLANデバイス102の位置を繰り返し計算することができる。
図4に示されるように、それぞれの基準WLANデバイスiに関して、距離計算ユニット202によって計算された距離210が、TOA2測位ユニット404に1組の入力として与えられる。TOA2初期値計算ユニット402によって計算された未知のWLANデバイス102の第2の中間位置408および目標の距離較正定数406も、TOA2測位ユニット404に入力として与えられる。加えて、基準WLANデバイス104、106、108、および112のすでに分かっている位置212も、TOA2測位ユニット404に入力として与えられる。そして、TOA2測位ユニット404は、式15によって示される式を繰り返し実行して、数回の繰り返しの後、未知のWLANデバイス102の真の位置(Y
TOA2)410に徐々に近づくことができる。式15にしたがって、TOA2測位ユニット404は、A)i番目の基準WLANデバイスに関連するRTTに基づいて式1で決定されるi番目の基準WLANデバイスまでの測定される距離と、B)i番目の基準WLANデバイスのすでに分かっている位置に基づくi番目の基準WLANデバイスまでの推定される距離との間の推定誤差の合計を最小化するY
TOA2の値を特定しようと試みることができる。式15において、||X
i-Y
TOA2||は、i番目の基準WLANデバイスの位置(X
i)と未知のWLANデバイス102の真の位置(すなわち、決定されるべき位置Y
TOA2)との間の距離を表す。
【0136】
一部の実装においては、推定誤差がないと仮定することによって{例えば、
【0138】
と仮定することによって}、TOA2測位ユニット404は、式15を単純化することができ、代わりに、iのすべての値に対して式16を解いて未知のWLANデバイス102の位置を推定することができる。
【0140】
未知のWLANデバイスの位置410(Y
TOA2)は、式17に示されるように、未知のWLANデバイスの第2の中間位置408
【0142】
とTOA2位置誤差(ΔY
TOA2)との合計として表され得る。一部の実装において、TOA2位置誤差は、ΔY
TOA2={Δy
TOA2s,s=0,1,...,D-1}として表され得、ここで、Δy
TOA2sは、TOA2位置誤差の第sの次元の値を表すことが留意される。TOA2測位ユニット404は、式16に式17を代入して式18を得ることができる。
【0144】
そして、TOA2測位ユニット404は、テイラー級数展開を使用することができ、2次以上の項を無視して式19を得ることができる。TOA2測位ユニット404は、基準WLANデバイス104、106、108、および112のそれぞれに関して式19にしたがって式を生成することができ、複数の生成された式を行列形式で編成して式20を得ることができる。
【0146】
一部の実装において、行列ΔY
TOA2Tは、未知のWLANデバイス102に関連するTOA2位置誤差行列(すなわち、未知のWLANデバイス102の推定される位置と未知のWLANデバイス102の第2の中間位置との間の差)の転置を表すD X 1列行列であってもよい。
図2を参照して説明されたように、TOA2距離誤差行列(A
TOA2)は、N X 1列行列であり得、ここで、行列A
TOA2の各要素(すなわち、各行)は、基準WLANデバイスのうちの1つに関連付けられ、式21aによって表される。TOA2係数行列(B
TOA2)は、N X D行列であり得、ここで、Nは、基準WLANデバイスの数を表し、Dは、基準WLANデバイスの位置を指定するために使用される座標系の次元を表す。N X D行列B
TOA2の各要素は、式21bによって表され得る。
【0148】
図2を参照して上で説明されたように、1つの実装において、次元(例えば、sの値)は、列ごとに変わることができ、特定の列中では一定のままであることができる。考慮中の基準デバイス(例えば、iの値)は、行ごとに変わることができ、特定の行中では一定のままであることができる。そして、TOA2測位ユニット404は、式22にしたがって、TOA2位置誤差ΔY
TOA2を計算することができる。
【0150】
それから、TOA2測位ユニット404は、式17を使用して、式22にしたがって決定されたTOA2位置誤差(ΔY
TOA2)を未知のWLANデバイス102の第2の中間位置408
【0152】
と合計することによって未知のWLANデバイス(Y
TOA2)の位置410を繰り返し推定することができる。1つの実装において、TOA2測位ユニット404の出力の未知のWLANデバイス102の位置410は、
【0156】
は、未知のWLANデバイスの位置の第sの次元の値を表す。
【0157】
次の繰り返しにおいて、TOA2測位ユニット404は、前の繰り返しで計算されたTOA2測位ユニット404の出力を、TOA2測位ユニット404の入力の未知のWLANデバイス102の初期位置として使用することができ
【0159】
、TOA2位置誤差が閾値の誤差値未満になるまで、または閾値の回数の繰り返しが実行されるまで、式17および式22を使用して次の繰り返しのTOA2位置誤差(ΔY
TOA2T)および未知のWLANデバイス102の推定される位置(Y
TOA2)を決定することができる。
【0160】
図5および
図6は、ハイブリッドTOA測位メカニズムの例示的な動作を示す流れ図(「フロー」)500を示す。フロー500は、
図5のブロック502において開始する。
【0161】
ブロック502において、未知のネットワークデバイスが、未知のネットワークデバイスの位置を推定するために基づく通信ネットワークの複数の基準ネットワークデバイスを決定する。
図1の例を参照すると、未知のWLANデバイス102の位置計算ユニット110が、未知のWLANデバイス102の位置を推定するために基づく基準WLANデバイス104、106、108、および112を特定することができる。上で
図3に示されたように、位置計算ユニット110は、最良の性能の測定値(例えば、RSSI、PERなど)に関連するWLANデバイスとして、複数のWLANデバイスから基準WLANデバイス104、106、108、および112を選択することができる。フローは、ブロック504で継続する。
【0162】
ブロック504において、複数の基準ネットワークデバイスのそれぞれに関連する往復伝送時間(RTT)が、決定される。1つの実装においては、上で
図3のブロック304〜308に示されたように、位置計算ユニット110が、制御メッセージが基準WLANデバイスのそれぞれに送信された時刻と、対応する応答制御メッセージが未知のWLANデバイス102において受信された時刻とを記録することができる。したがって、位置計算ユニット110は、基準WLANデバイス104、106、108、および112のそれぞれに関連するRTTを決定することができる。その他の実装においては、位置計算ユニット110が、その他の好適な技術を使用して、基準WLANデバイス104、106、108、および112に関連するRTTを決定できることが留意される。フローは、ブロック506で継続する。
【0163】
ブロック506において、複数の基準ネットワークデバイスのそれぞれに関して、未知のネットワークデバイスと基準ネットワークデバイスとの間の距離が、基準ネットワークデバイスに関連するRTTに少なくとも部分的に基づいて計算される。例えば、位置計算ユニット110(例えば、
図4の距離計算ユニット202)は、
図2の式1aおよび
図3のブロック310を参照して上で説明されたように、未知のWLANデバイス102と複数の基準WLANデバイスのそれぞれとの間の距離を決定できる。フローは、ブロック508で継続する。
【0164】
ブロック508において、未知のネットワークデバイスの初期位置が、基準ネットワークデバイスのすでに分かっている位置に少なくとも部分的に基づいて計算される。例えば、位置計算ユニット110(例えば、
図4のTOA1初期位置計算ユニット204)が、上で
図2の式2a〜2cおよび
図3のブロック312を参照して説明されたように、未知のWLANデバイス102の初期位置を計算できる。フローは、ブロック510で継続する。
【0165】
ブロック510において、基準ネットワークデバイスに関連する初期距離較正定数が、決定される。例えば、位置計算ユニット110が、基準ネットワークデバイスに関連する初期距離較正定数216を決定できる。
図2を参照して上で説明されたように、初期距離較正定数216は、ゼロ、予め決められた値、またはランダムに選択された値などであり得る。フローは、ブロック512で継続する。
【0166】
ブロック512において、第1の到来時間(TOA1)測位アルゴリズムの1回の繰り返しが、未知のネットワークデバイスの初期位置と、初期距離較正定数と、基準ネットワークデバイスのそれぞれまでの距離とに少なくとも部分的に基づいて未知のネットワークデバイスの第1の中間位置および中間距離較正定数を推定するために実行される。TOA1測位アルゴリズムが、以下で説明されるように、最終的にTOA2測位アルゴリズムに与えられ得る距離較正定数の中間値を決定するために使用されるてもよい。一部の実装において、位置計算ユニット110(例えば、
図2のTOA1測位ユニット206)は、テイラー級数に基づくTOA1測位アルゴリズムの1回の繰り返しを実行して、
図2の式3aから式12によって上で説明されたように、未知のWLANデバイス102の第1の中間位置220および中間距離較正定数218を推定することができる。その他の実装においては、TOA1測位ユニット206は、その他の好適な技術を使用して、未知のWLANデバイス102の初期位置214に少なくとも部分的に基づいて未知のWLANデバイス102の第1の中間位置220および中間距離較正定数218を推定できることが留意される。フローは、
図6のブロック514で継続する。
【0167】
ブロック514において、目標の距離較正定数が、中間距離較正定数と、未知のネットワークデバイスの第1の中間位置と、基準ネットワークデバイスの位置と、基準ネットワークデバイスのそれぞれまでの距離とに少なくとも部分的に基づいて計算される。例えば、位置計算ユニット110(例えば、TOA2初期値計算ユニット402)が、
図4の式13a〜式13eを参照して上で説明されたように、目標の距離較正定数406を計算できる。TOA2初期値計算ユニット402は、その他の好適な技術を使用して目標の距離較正定数406を推定できることが留意される。そして、目標の距離較正定数406が、ブロック518で説明されるように、未知のWLANデバイス102の位置を繰り返し推定するために第2の到来時間(TOA2)測位アルゴリズムへの入力パラメータとして使用され得る。フローは、ブロック516で継続する。
【0168】
ブロック516において、未知のネットワークデバイスの第2の中間位置が、未知のネットワークデバイスの第1の中間位置と基準ネットワークデバイスの位置とに少なくとも部分的に基づいて決定される。例えば、位置計算ユニット110(例えば、TOA2初期値計算ユニット402)が、
図4の式14a〜14cによって上で説明されたように、未知のWLANデバイス102の第2の中間位置408を計算できる。TOA2初期値計算ユニット402は、その他の好適な技術を使用して、未知のWLANデバイス102の第2の中間位置408を決定できることが留意される。そして、未知のWLANデバイス102の第2の中間位置408が、ブロック518で説明されるように、未知のWLANデバイス102の位置を繰り返し推定するためにTOA2測位アルゴリズムへの入力パラメータとして与えられ得る。フローは、ブロック518で継続する。
【0169】
ブロック518において、TOA2測位アルゴリズムが、未知のネットワークデバイスの第2の中間位置と目標の距離較正定数とに少なくとも部分的に基づいて未知のネットワークデバイスの推定される位置を計算するために繰り返し実行される。例えば、
図4の式15〜式22を参照して上で説明されたように、位置計算ユニット110(例えば、TOA2測位ユニット404)が、テイラー級数に基づくTOA2測位アルゴリズムの複数回の繰り返しを実行して、(ブロック516で決定された)未知のネットワークデバイスの第2の中間位置と、(ブロック514で決定された)目標の距離較正定数と、基準ネットワークデバイスの位置とに少なくとも部分的に基づいて未知のWLANデバイス102の位置410を計算できる。TOA2初期値計算ユニット402は、その他の好適な技術を使用して、未知のWLANデバイス102の推定される位置410を決定できることが留意される。ブロック518から、フローは終了する。
【0170】
図1〜
図6は、実施形態の理解を助けることを意図された例であり、実施形態を限定する、または特許請求の範囲を限定するために使用されるべきでないことを理解されたい。実施形態は、追加の動作を実行してもよく、より少ない動作を実行してもよく、動作を異なる順序で実行してもよく、動作を並列に実行してもよく、一部の動作を異なるように実行してもよい。一部の実装において、位置計算ユニット110は、(それぞれの基準WLANデバイスに関して)複数のRTTの測定値および複数の距離の測定値を決定できることが留意される。例えば、位置計算ユニット110は、所定の数の制御メッセージを基準WLANデバイス104に送信でき、対応する数の応答制御メッセージを受信できる。したがって、位置計算ユニット110は、基準WLANデバイス104に関連する所定の数のRTTの測定値を計算できる。一部の実装において、位置計算ユニット110は、後続の動作のために平均RTT値を決定し、使用できる。その他の実装において、位置計算ユニット110は、RTTの測定値のそれぞれに関して基準WLANデバイス104までの距離を決定し、後続の動作のために基準WLANデバイス104までの平均距離を使用できる。
【0171】
図面は未知のWLANデバイス102が本明細書において説明された動作を実行して未知のWLANデバイス102の位置を推定することに関連するが、実施形態はそのように限定されない。その他の実施形態においては、未知のWLANデバイス102の位置を決定するための機能が、1つまたは複数のその他の好適な電子デバイスによって実行され得る。一部の実装においては、基準WLANデバイス、集中サーバ、および/または別の好適な電子デバイスのうちの1つまたは複数が、未知のWLANデバイス102の位置を決定するための動作の一部/すべてを実行できる。例えば、未知のWLANデバイス102が、基準WLANデバイス104、106、108、および112のそれぞれに関連するRTTを決定でき、RTTの値を集中サーバ(または処理がオフロードされた別のデバイス)に提供できる。そして、集中サーバが、(
図1〜
図6によって示されたように)未知のWLANデバイス102の位置を計算でき、計算された位置を未知のWLANデバイス102に伝達できる。
【0172】
実施形態は、すべてハードウェアの実施形態、ソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはすべてが概して本明細書において「回路」、「モジュール」、もしくは「システム」と呼ばれることがあるソフトウェアの態様とハードウェアの態様とを組み合わせる実施形態の形態をとってもよい。さらに、発明の対象の実施形態は、コンピュータが使用可能なプログラムコードを媒体内に具現化する任意の有形の表現媒体で具現化されるコンピュータプログラム製品の形態をとってもよい。説明された実施形態は、あらゆる考え得る変更形態が本明細書に列挙されている訳ではないので、ここに記載されているか否かにかかわらず、実施形態によるプロセスを実行するようにコンピュータシステム(またはその他の電子デバイス)をプログラミングするために使用され得る命令を記憶する機械可読媒体を含み得るコンピュータプログラム製品またはソフトウェアとして提供されてもよい。機械可読媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態(例えば、ソフトウェア、処理アプリケーション)で情報を記憶または送信するための任意のメカニズムを含む。機械可読媒体は、機械可読ストレージ媒体または機械可読信号媒体であってもよい。機械可読ストレージ媒体は、例えば、磁気ストレージ媒体(例えば、フロッピー(登録商標)ディスケット)、光ストレージ媒体(例えば、CD-ROM)、光磁気ストレージ媒体、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルメモリ(例えば、EPROMおよびEEPROM)、フラッシュメモリ、または電子的な命令を記憶するのに好適なその他の種類の有形の媒体を含み得るがこれらに限定されない。機械可読信号媒体は、コンピュータ可読プログラムコードが具現化される伝播されるデータ信号、例えば、電気的、光学的、音響的、またはその他の形態の伝播される信号(例えば、搬送波、赤外線信号、デジタル信号など)を含み得る。機械可読信号媒体に具現化されるプログラムコードは、電線、ワイヤレス、光ファイバケーブル、RF、またはその他の通信媒体を含むがこれらに限定されない任意の好適な媒体を用いて送信され得る。
【0173】
実施形態の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または同様のプログラミング言語などの通常の手続き型プログラミング言語とを含む1つまたは複数のプログラミング言語の任意の組み合わせで記述され得る。プログラムコードは、すべてユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとしてユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的にかつ遠隔のコンピュータ上で部分的に、またはすべて遠隔のコンピュータもしくはサーバ上で実行され得る。最後の場合では、遠隔のコンピュータが、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、もしくは広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得るか、または外部コンピュータへの接続が(例えば、インターネットサービスプロバイダを使用してインターネットを介して)行われ得る。
【0174】
図7は、ワイヤレス通信ネットワークにおいて電子デバイスの位置を決定するためのメカニズムを含む電子デバイス700の一実施形態のブロック図である。一部の実装において、電子デバイス700は、ラップトップコンピュータ、タブレットコンピュータ、ネットブック、携帯電話、スマート家電、ゲームコンソール、またはワイヤレス通信能力を含むその他の電子システムのうちの1つであってもよい。電子デバイス700は、プロセッサユニット702(おそらくは複数のプロセッサ、複数のコア、複数のノードを含み、および/またはマルチスレッドなどを実装する)を含む。電子デバイス700は、メモリユニット706を含む。メモリユニット706は、システムメモリ(例えば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM(zero capacitor RAM)、ツイントランジスタRAM(Twin Transistor RAM)、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM(登録商標)、SONOS、PRAMなどのうちの1つもしくは複数)または機械可読媒体の上ですでに説明されたあり得る実現方法のうちの任意の1つもしくは複数であってもよい。電子デバイス700は、バス710(例えば、PCI、ISA、PCI-Express、HyperTransport(登録商標)、InfiniBand(登録商標)、NuBus、AHB、AXIなど)と、ワイヤレスネットワークインターフェース(例えば、WLANインターフェース、Bluetooth(登録商標)インターフェース、WiMAXインターフェース、ZigBee(登録商標)インターフェース、ワイヤレスUSBインターフェースなど)および有線ネットワークインターフェース(例えば、電力線通信インターフェース、イーサネット(登録商標)インターフェースなど)のうちの少なくとも1つを含むネットワークインターフェース704とをさらに含む。
【0175】
電子デバイス700は、通信ユニット708も含む。通信ユニット708は、位置計算ユニット712を含む。一部の実装において、位置計算ユニット712は、
図1〜
図3を参照して説明されたように、第1のTOA測位アルゴリズムの1回の繰り返しを実行して、電子デバイス700の計算された初期位置、電子デバイス700と複数の基準WLANデバイスのそれぞれとの間の距離、および複数の基準WLANデバイスのそれぞれの位置に少なくとも部分的に基づいて電子デバイス700の位置を推定することができる。その他の実装においては、位置計算ユニット712は、
図1および
図4〜
図6を参照して上で説明されたように、ハイブリッドTOA測位アルゴリズムを実行して電子デバイス700の位置を推定できる。これらの機能のうちの任意の機能は、ハードウェアおよび/またはプロセッサユニット702で部分的に(またはすべて)実装されてもよい。例えば、機能は、特定用途向け集積回路、プロセッサユニット702で実装された論理、周辺デバイスまたはカードのコプロセッサなどで実装されてもよい。さらに、実現方法は、より少ない構成要素、または
図7に示されていない追加の構成要素(例えば、ビデオカード、オーディオカード、追加ネットワークインターフェース、周辺デバイスなど)を含んでもよい。プロセッサユニット702、メモリユニット706、およびネットワークインターフェース704は、バス710に結合される。バス710に結合されているように示されているが、メモリユニット706は、プロセッサユニット702に結合されてもよい。
【0176】
実施形態がさまざまな実装および利用に関連して説明されているが、これらの実施形態は例示的であり、発明の対象の範囲はこれらの実施形態に限定されないことが、理解されるであろう。概して、本明細書において説明されたTOAに基づく測位システムに関する技術またはハイブリッドTOAに基づく測位システムに関する技術は、任意の1つのハードウェアシステムまたは複数のハードウェアシステムに適合する設備によって実装されてもよい。多くの変更、修正、追加、および改良が、あり得る。
【0177】
本明細書において単一のインスタンスとして説明された構成要素、動作、または構造に関して、複数のインスタンスが提供され得る。最後に、さまざまな構成要素、動作、およびデータストアの間の境界は、ある程度任意的であり、特定の例示的な構成の場合の特定の動作が、示されている。機能のその他の割り当てが考えられ、発明の対象の範囲内に入ってもよい。概して、例示的な構成において別個の構成要素として示された構造および機能は、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として示された構造および機能は、別個の構成要素として実装され得る。これらのおよびその他の変更、修正、追加、および改良は、発明の対象の範囲内に入ってもよい。