(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-24
(45)【発行日】2024-02-01
(54)【発明の名称】GNSS信号モデル化
(51)【国際特許分類】
G01S 19/42 20100101AFI20240125BHJP
G01S 19/22 20100101ALI20240125BHJP
【FI】
G01S19/42
G01S19/22
(21)【出願番号】P 2023514078
(86)(22)【出願日】2021-08-27
(86)【国際出願番号】 US2021048107
(87)【国際公開番号】W WO2022051195
(87)【国際公開日】2022-03-10
【審査請求日】2023-04-26
(32)【優先日】2020-09-01
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ファットゥーシュ,イマド・ジーン
(72)【発明者】
【氏名】モラディ,アラスト・ザボレスタニ
(72)【発明者】
【氏名】ディゲレン,フランク・バン
(72)【発明者】
【氏名】トン,ズーフェイ
(72)【発明者】
【氏名】キデル,モハメド
(72)【発明者】
【氏名】マッジョーロ,ステファノ
(72)【発明者】
【氏名】オレンドルフ,デイビッド
【審査官】佐藤 宙子
(56)【参考文献】
【文献】特開2015-184113(JP,A)
【文献】中国特許出願公開第111198389(CN,A)
【文献】欧州特許出願公開第2634599(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 5/00- 5/14
G01S 19/00-19/55
(57)【特許請求の範囲】
【請求項1】
方法(600)であって、
ある環境(100)内の全地球航法衛星システム(GNSS:Global Navigation Satellite System)受信機(114)の推定場所をGNSS対応デバイス(110)のデータ処理ハードウェア(116)で受信するステップと、
前記データ処理ハードウェア(116)が、前記GNSS受信機(114)の前記推定場所について複数の候補位置(214)を生成するステップとを備え、前記複数の候補位置(214)の各候補位置(214)は、前記GNSS受信機(114)の可能な実際の場所(12A)に対応し、前記方法(600)はさらに、
前記複数の候補位置(214)の各候補位置(214)において各々の利用可能な衛星(20)について、前記データ処理ハードウェア(116)が、前記環境(100)の地理データ(222)のラスタ地図(226)に対してレイラウンチングを実行することによって複数の候補信号経路(232)をモデル化するステップを備え、前記複数の候補信号経路(232)は、1つまたは複数の反射信号経路を含み、前記方法(600)はさらに、
前記複数の候補位置(214)の各候補位置(214)において、
前記データ処理ハードウェア(116)が、前記それぞれの候補位置(214)において各々の利用可能な衛星(20)についてモデル化された前記複数の候補信号経路(232)と前記GNSS受信機(114)からの測定されたGNSS信号データ(202)とを比較するステップと、
前記データ処理ハードウェア(116)が、前記それぞれの候補位置(214)において各々の利用可能な衛星(20)についてモデル化された前記複数の候補信号経路(232)と前記GNSS受信機(114)からの前記測定されたGNSS信号データ(202)との前記比較に基づいて、前記それぞれの候補位置(214)が前記GNSS受信機(114)の前記実際の場所(12A)を含む可能性を生成するステップとを備え
、
前記環境(100)の地理データ(222)の前記ラスタ地図(226)に対してレイラウンチングを実行することは、
前記それぞれの候補位置(214)から前記環境(100)内のそれぞれの構造の多角形ラスタ表現に光線を発射することと、
前記それぞれの構造の前記多角形ラスタ表現のファサード角度に基づいて、前記それぞれの構造から離れていく方への前記光線のリダイレクトに対応するリダイレクト光線を決定することと、
前記リダイレクト光線が前記衛星の位置で終端するまで、前記それぞれの構造の前記ファサード角度に基づいて、リダイレクトされた角度で前記リダイレクト光線を発射し続けることとを含む、方法(600)。
【請求項2】
前記ラスタ地図(226)は、前記環境(100)内の各建物(30)の多角形表現(228)を含み、前記多角形表現(228)は、前記GNSS対応デバイス(110)上に構築される、請求項1に記載の方法(600)。
【請求項3】
前記GNSS対応デバイス(110)のための命令を含むラスタライズされた地理データ(222)を前記データ処理ハードウェア(116)で受信するステップをさらに備え、前記命令は、前記環境(100)内の1つまたは複数の建物(30)の多角形表現(228)をどのように構築するかを示し、
前記データ処理ハードウェア(116)が、前記命令を実行して前記ラスタ地図(226)を形成するステップをさらに備え、前記ラスタ地図(226)は、前記環境(100)内の1つまたは複数の建物(30)の多角形表現(228)を含み、
前記データ処理ハードウェア(116)が、前記データ処理ハードウェア(116)と通信する前記GNSS対応デバイス(110)のメモリハードウェア上にローカルに前記ラスタ地図(226)を格納するステップをさらに備える、請求項1または2に記載の方法(600)。
【請求項4】
前記命令を実行して前記ラスタ地図(226)を形成するステップは、ラスタライズされた地理データ(222)に基づいて前記1つまたは複数の建物(30)のファサード角度を決定するステップを含む、請求項3に記載の方法(600)。
【請求項5】
前記複数の候補信号経路(232)をモデル化するステップは、前記複数の候補信号経路(232)の各候補信号経路(232)について、前記それぞれの候補信号経路(232)の過剰経路長(24)を決定するステップを含む、請求項1~
4のいずれか1項に記載の方法(600)。
【請求項6】
前記複数の候補信号経路(232)をモデル化するステップは、前記複数の候補信号経路(232)の各候補信号経路(232)について、信号減衰を決定するステップをさらに含む、請求項5に記載の方法(600)。
【請求項7】
2つの前記候補信号経路の反射点間の距離、および2つの前記候補信号経路の過剰経路長間の差の少なくとも1つに基づいて、前記複数の候補信号経路を集約するステップをさらに含む、請求項5または6に記載の方法(600)。
【請求項8】
全地球航法衛星システム対応(GNSS対応)デバイス(100)であって、
データ処理ハードウェア(116)と、
前記データ処理ハードウェア(116)と通信するメモリハードウェア(118)とを備え、前記メモリハードウェア(118)は、前記データ処理ハードウェア(116)上で実行されると前記データ処理ハードウェア(116)に動作を実行させる命令を格納しており、前記動作は、
ある環境(100)内のGNSS受信機(114)の推定場所を受信することと、
前記GNSS受信機(114)の前記推定場所について複数の候補位置(214)を生成することとを備え、前記複数の候補位置(214)の各候補位置(214)は、前記GNSS受信機(114)の可能な実際の場所(12A)に対応し、前記動作はさらに、
前記複数の候補位置(214)の各候補位置(214)において各々の利用可能な衛星(20)について、前記環境(100)の地理データ(222)のラスタ地図(226)に対してレイラウンチングを実行することによって複数の候補信号経路(232)をモデル化することを備え、前記複数の候補信号経路(232)は、1つまたは複数の反射信
号経路を含み、前記動作はさらに、
前記複数の候補位置(214)の各候補位置(214)において、
前記それぞれの候補位置(214)において各々の利用可能な衛星(20)についてモデル化された前記複数の候補信号経路(232)と前記GNSS受信機(114)からの測定されたGNSS信号データ(202)とを比較することと、
前記それぞれの候補位置(214)において各々の利用可能な衛星(20)についてモデル化された前記複数の候補信号経路(232)と前記GNSS受信機(114)からの前記測定されたGNSS信号データ(202)との前記比較に基づいて、前記それぞれの候補位置(214)が前記GNSS受信機(114)の前記実際の場所(12A)を含む可能性を生成することとを備え
、
前記環境(100)の地理データ(222)の前記ラスタ地図(226)に対してレイラウンチングを実行することは、
前記それぞれの候補位置(214)から前記環境(100)内のそれぞれの構造の多角形ラスタ表現に光線を発射することと、
前記それぞれの構造の前記多角形ラスタ表現のファサード角度に基づいて、前記それぞれの構造から離れていく方への前記光線のリダイレクトに対応するリダイレクト光線を決定することと、
前記リダイレクト光線が前記衛星の位置で終端するまで、前記それぞれの構造の前記ファサード角度に基づいて、リダイレクトされた角度で前記リダイレクト光線を発射し続けることとを含む、デバイス(100)。
【請求項9】
前記ラスタ地図(226)は、前記環境(100)内の各建物(30)の多角形表現(228)を含み、前記多角形表現(228)は、前記GNSS対応デバイス(110)上に構築される、請求項8に記載のデバイス(100)。
【請求項10】
前記動作は、
前記GNSS対応デバイス(110)のための命令を含むラスタライズされた地理データ(222)を受信することをさらに備え、前記命令は、前記環境(100)内の1つまたは複数の建物(30)の多角形表現(228)をどのように構築するかを示し、前記動作はさらに、
前記命令を実行して前記ラスタ地図(226)を形成することを備え、前記ラスタ地図(226)は、前記環境(100)内の1つまたは複数の建物(30)の多角形表現(228)を含み、前記動作はさらに、
前記データ処理ハードウェア(116)と通信する前記GNSS対応デバイス(110)のメモリハードウェア(118)上にローカルに前記ラスタ地図(226)を格納することを備える、請求項8または9に記載のデバイス(100)。
【請求項11】
前記命令を実行して前記ラスタ地図(226)を形成することは、ラスタライズされた地理データ(222)に基づいて前記1つまたは複数の建物(30)のファサード角度を決定することを含む、請求項10に記載のデバイス(100)。
【請求項12】
前記複数の候補信号経路(232)をモデル化することは、前記複数の候補信号経路(232)の各候補信号経路(232)について、前記それぞれの候補信号経路(232)の過剰経路長(24)を決定することを含む、請求項8~
11のいずれか1項に記載のデバイス(100)。
【請求項13】
前記複数の候補信号経路(232)をモデル化することは、前記複数の候補信号経路(232)の各候補信号経路(232)について、信号減衰を決定することをさらに含む、請求項
12に記載のデバイス(100)。
【請求項14】
前記動作は、2つの前記候補信号経路の反射点間の距離、および2つの前記候補信号経路の過剰経路長間の差の少なくとも1つに基づいて、前記複数の候補信号経路を集約することをさらに含む、請求項12または13に記載のデバイス。
【請求項15】
前記データ処理ハードウエアに請求項1~
7のいずれか1項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、過剰経路長計算処理に関する。
【背景技術】
【0002】
背景
全地球航法衛星システム(GNSS:Global Navigation Satellite System)は、周回軌道衛星によって送信された電波信号を使用して正確な地上場所を決定することにより、高度なナビゲーションおよび位置情報サービスを可能にする。一般に、GNSS受信機は、周回軌道衛星によって送信された1つまたは複数の電波信号を受信し、GNSS受信機またはGNSS受信機に関連付けられた位置システムは、衛星(たとえば、往々にして、少なくとも4つの衛星)から受信されたメッセージのタイミングに基づいてGNSS受信機の位置を決定することができる。各メッセージは、送信時刻と当該送信時刻における衛星の位置とを指定する。受信機または位置システムは、受信された各メッセージの伝搬時間を算出することができ、多くの場合、航行方程式を使用して受信機の場所を算出することができる。そして、受信機の場所は、テレコミュニケーションからナビゲーションまでのさまざまなアプリケーションによって利用可能である。GNSSベースの位置特定の何らかの局面を組み込んだアプリケーションの数が増え続けているので、これらのアプリケーションは、オープンスカイ環境だけでなく都市環境でも正確であるようにGNSSベースの位置特定に依拠するようになっている。これは、GNSSベースの位置特定をデプロイする位置情報サービスのユーザが都市環境に密集している場合に特に当てはまる。
【発明の概要】
【0003】
概要
本開示の一局面は、信号経路を処理する方法を提供する。上記方法は、ある環境内の全地球航法衛星システム(GNSS)受信機の推定場所をGNSS対応デバイスのデータ処理ハードウェアで受信するステップを含む。上記方法は、上記データ処理ハードウェアが、上記GNSS受信機の上記推定場所について(たとえば、周りに、取り囲んで、付近に、隣接して、など)複数の候補位置を生成するステップも含み、上記複数の候補位置の各候補位置は、上記GNSS受信機の可能な実際の場所に対応する。上記方法はさらに、(上記複数の候補位置の)各候補位置において各々の利用可能な衛星について、上記データ処理ハードウェアが、上記環境の地理データのラスタ地図に対してレイラウンチングを実行することによって複数の候補信号経路をモデル化するステップを含む。ここで、上記複数の候補信号経路は、1つまたは複数の反射信号経路を含む。また、上記方法は、上記複数の候補位置の各候補位置において、上記データ処理ハードウェアが、上記それぞれの候補位置において各々の利用可能な衛星についてモデル化された上記複数の候補信号経路と上記GNSS受信機からの測定されたGNSS信号データとを比較するステップと、上記データ処理ハードウェアが、上記それぞれの候補位置において各々の利用可能な衛星についてモデル化された上記複数の候補信号経路と上記GNSS受信機からの上記測定されたGNSS信号データとの上記比較に基づいて、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所を含む可能性を生成するステップとを含む。
【0004】
本開示の実現例は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実現例において、上記ラスタ地図は、上記環境内の各建物の多角形表現を含み、上記多角形表現は、上記GNSS対応デバイス上に構築される。上記複数の候補信号経路をモデル化するステップは、上記複数の候補信号経路の各候補信号経路について、上記それぞれの候補信号経路の過剰経路長を決定するステップを含み得る。上記複数の候補信号経路をモデル化するステップは、上記複数の候補信号経路の各候補信号経路について、信号減衰を決定するステップも含み得る。
【0005】
いくつかの例において、上記方法は、上記GNSS対応デバイスのための命令を含むラスタライズされた地理データを上記データ処理ハードウェアで受信するステップをさらに含み、上記命令は、上記環境内の1つまたは複数の建物の多角形表現をどのように構築するかを示す。これらの例において、上記方法は、上記データ処理ハードウェアが、上記命令を実行して上記ラスタ地図を形成するステップも含み、上記ラスタ地図は、上記環境内の1つまたは複数の建物の多角形表現を含む。これらの例において、上記方法は、上記データ処理ハードウェアが、上記データ処理ハードウェアと通信する上記GNSS対応デバイスのメモリハードウェア上にローカルに上記ラスタ地図を格納するステップをさらに含む。ここで、上記命令を実行して上記ラスタ地図を形成するステップは、ラスタライズされた地理データに基づいて上記1つまたは複数の建物のファサード角度を決定するステップを含み得る。
【0006】
いくつかの構成において、上記都市環境の地理データの上記ラスタ地図に対してレイラウンチングを実行することは、上記それぞれの候補位置から上記都市環境内のそれぞれの構造の多角形ラスタ表現に光線を発射することをさらに含む。ここで、上記環境の地理データの上記ラスタ地図に対してレイラウンチングを実行することはさらに、上記それぞれの建物の上記多角形ラスタ表現のファサード角度に基づいて、上記それぞれの構造から離れていく方への上記光線のリダイレクトに対応するリダイレクト光線を決定することも含む。これらの構成において、上記環境の地理データの上記ラスタ地図に対してレイラウンチングを実行することは、上記それぞれの構造の上記ファサード角度に基づいて、リダイレクトされた角度で上記リダイレクト光線を発射し続けることをさらに含む。
【0007】
本開示の別の局面は、信号経路を処理するための全地球航法衛星システム対応(GNSS対応)デバイスを提供する。上記デバイスは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含む。上記メモリハードウェアは、上記データ処理ハードウェア上で実行されると上記データ処理ハードウェアに動作を実行させる命令を格納している。上記動作は、ある環境内のGNSS受信機の推定場所を受信することを含む。上記動作は、上記GNSS受信機の上記推定場所について(たとえば、周りに、取り囲んで、付近に、隣接して、など)複数の候補位置を生成することも含み、上記複数の候補位置の各候補位置は、上記GNSS受信機の可能な実際の場所に対応する。上記動作はさらに、(上記複数の候補位置の)各候補位置において各々の利用可能な衛星について、上記環境の地理データのラスタ地図に対してレイラウンチングを実行することによって複数の候補信号経路をモデル化することを含む。ここで、上記複数の候補信号経路は、1つまたは複数の反射信号経路を含む。また、上記動作は、上記複数の候補位置の各候補位置において、上記それぞれの候補位置において各々の利用可能な衛星についてモデル化された上記複数の候補信号経路と上記GNSS受信機からの測定されたGNSS信号データとを比較することと、上記それぞれの候補位置において各々の利用可能な衛星についてモデル化された上記複数の候補信号経路と上記GNSS受信機からの上記測定されたGNSS信号データとの上記比較に基づいて、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所を含む可能性を生成することとを含む。
【0008】
本開示の実現例は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実現例において、上記ラスタ地図は、上記環境内の各建物の多角形表現を含み、上記多角形表現は、上記GNSS対応デバイス上に構築される。上記複数の候補信号経路をモデル化することは、上記複数の候補信号経路の各候補信号経路について、上記それぞれの候補信号経路の過剰経路長を決定することを含み得る。上記複数の候補信号経路をモデル化することは、上記複数の候補信号経路の各候補信号経路について、信号減衰を決定することも含み得る。
【0009】
いくつかの例において、上記動作は、上記GNSS対応デバイスのための命令を含むラスタライズされた地理データを受信することをさらに含み、上記命令は、上記環境内の1つまたは複数の建物の多角形表現をどのように構築するかを示す。これらの例において、上記動作は、上記命令を実行して上記ラスタ地図を形成することも含み、上記ラスタ地図は、上記環境内の1つまたは複数の建物の多角形表現を含む。これらの例において、上記動作は、上記データ処理ハードウェアと通信する上記GNSS対応デバイスのメモリハードウェア上にローカルに上記ラスタ地図を格納することをさらに含む。ここで、上記命令を実行して上記ラスタ地図を形成することは、ラスタライズされた地理データに基づいて上記1つまたは複数の建物のファサード角度を決定することを含み得る。
【0010】
いくつかの構成において、上記環境の地理データの上記ラスタ地図に対してレイラウンチングを実行することは、上記それぞれの候補位置から上記環境内のそれぞれの構造の多角形ラスタ表現に光線を発射することをさらに含む。ここで、上記環境の地理データの上記ラスタ地図に対してレイラウンチングを実行することはさらに、上記それぞれの建物の上記多角形ラスタ表現のファサード角度に基づいて、上記それぞれの構造から離れていく方への上記光線のリダイレクトに対応するリダイレクト光線を決定することも含む。これらの構成において、上記環境の地理データの上記ラスタ地図に対してレイラウンチングを実行することは、上記それぞれの構造の上記ファサード角度に基づいて、反射された角度で上記リダイレクト光線を発射し続けることをさらに含む。
【0011】
本開示のさらに別の局面は、信号経路を処理する方法を提供する。上記方法は、データ処理ハードウェアが、衛星からの全地球航法衛星システム(GNSS)信号を反射しそうな1つまたは複数の構造を有するエリアを特定するステップと、上記データ処理ハードウェアが、上記エリアを複数の場所に分割するステップとを含む。上記方法は、上記複数の場所の各場所において各々の利用可能な衛星について、上記データ処理ハードウェアが、上記それぞれの場所から上記それぞれの利用可能な衛星へのレイラウンチングを実行することによって複数の信号経路を生成するステップを含み、上記複数の信号経路は、1つまたは複数のサイト信号のラインの経路と、1つまたは複数の反射信号経路とを含む。上記方法は、上記複数の場所の各場所において各々の利用可能な衛星について、上記データ処理ハードウェアが、全ての反射信号経路を1つまたは複数の方位角範囲に離散化するステップも含む。上記方法はさらに、上記複数の場所の各場所において各々の利用可能な衛星について、上記1つまたは複数の方位角範囲の各方位角範囲について、上記データ処理ハードウェアが、1つまたは複数の移行高度を決定するステップを含み、上記1つまたは複数の移行高度の各移行高度は、上記それぞれの方位角範囲内のそれぞれの反射信号経路がサイト信号のラインに移行する高度の程度に対応する。上記方法は、上記複数の場所の各場所において、上記データ処理ハードウェアが、上記複数の信号経路の信号経路表現を生成するステップも含み、上記信号経路表現は、全ての反射信号経路についての上記1つまたは複数の方位角範囲と、上記1つまたは複数の方位角範囲の各方位角範囲に関連付けられた上記1つまたは複数の移行高度とを含む。
【0012】
本開示の実現例は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実現例において、上記方法は、上記データ処理ハードウェアが、各反射信号経路の過剰経路長を決定するステップをさらに含み、上記信号経路表現は、各反射信号経路の上記過剰経路長をさらに含む。いくつかの例において、上記方法は、上記データ処理ハードウェアが、各反射信号経路の過剰経路長を決定するステップと、各方位角範囲について、上記データ処理ハードウェアが、上記それぞれの方位角範囲内の全ての反射信号の上記過剰経路長を離散化するステップとをさらに含み、上記信号経路表現は、上記離散化された過剰経路長をさらに含む。ここで、全ての反射信号の上記過剰経路長を離散化するステップは、ボロノイベースの圧縮を使用して、過剰経路長の各離散化単位を表す多角形領域を生成するステップを含む。
【0013】
いくつかの例において、上記方法は、上記1つまたは複数の方位角範囲の各方位角範囲について、上記データ処理ハードウェアが、上記それぞれの方位角範囲内の全ての反射信号経路についての上記1つまたは複数の移行高度を離散化するステップも含む。また、いくつかの構成において、上記方法は、上記データ処理ハードウェアが、上記複数の信号経路の上記信号経路表現を疎データアレイとして格納するステップと、上記データ処理ハードウェアが、上記疎データアレイを圧縮するステップとを含む。
【0014】
いくつかの実現例において、上記方法は、GNSS対応デバイスからの要求された位置を含む要求を上記データ処理ハードウェアで受信するステップも含む。これらの実現例において、上記方法は、上記データ処理ハードウェアが、上記要求された位置に対応する上記複数の場所のそれぞれの場所を特定するステップをさらに含む。ここで、上記方法は、上記要求に応答して、上記データ処理ハードウェアが、上記それぞれの場所の上記信号経路表現を上記GNSS対応デバイスに通信するステップを含む。
【0015】
本開示の別の局面は、信号経路を処理するためのシステムを提供する。上記システムは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含む。上記メモリハードウェアは、上記データ処理ハードウェア上で実行されると上記データ処理ハードウェアに動作を実行させる命令を格納している。上記動作は、衛星からの全地球航法衛星システム(GNSS)信号を反射しそうな1つまたは複数の構造を有するエリアを特定することと、上記エリアを複数の場所に分割することとを含む。上記動作は、上記複数の場所の各場所において各々の利用可能な衛星について、上記それぞれの場所から上記それぞれの利用可能な衛星へのレイラウンチングを実行することによって複数の信号経路を生成することを含み、上記複数の信号経路は、1つまたは複数のサイト信号のラインの経路と、1つまたは複数の反射信号経路とを含む。上記動作は、上記複数の場所の各場所において各々の利用可能な衛星について、全ての反射信号経路を1つまたは複数の方位角範囲に離散化することも含む。上記動作は、上記複数の場所の各場所において各々の利用可能な衛星について、上記1つまたは複数の方位角範囲の各方位角範囲について、1つまたは複数の移行高度を決定することをさらに含み、上記1つまたは複数の移行高度の各移行高度は、上記それぞれの方位角範囲内のそれぞれの反射信号経路がサイト信号のラインに移行する高度の程度に対応する。上記動作は、上記複数の場所の各場所において、上記複数の信号経路の信号経路表現を生成することも含み、上記信号経路表現は、全ての反射信号経路についての上記1つまたは複数の方位角範囲と、上記1つまたは複数の方位角範囲の各方位角範囲に関連付けられた上記1つまたは複数の移行高度とを含む。
【0016】
本開示の実現例は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実現例において、上記動作は、各反射信号経路の過剰経路長を決定することをさらに含み、上記信号経路表現は、各反射信号経路の上記過剰経路長をさらに含む。いくつかの例において、上記動作は、各反射信号経路の過剰経路長を決定することと、各方位角範囲について、上記それぞれの方位角範囲内の全ての反射信号の上記過剰経路長を離散化することとをさらに含み、上記信号経路表現は、上記離散化された過剰経路長をさらに含む。ここで、全ての反射信号の上記過剰経路長を離散化することは、ボロノイベースの圧縮を使用して、過剰経路長の各離散化単位を表す多角形領域を生成することを含む。
【0017】
いくつかの例において、上記動作は、上記1つまたは複数の方位角範囲の各方位角範囲について、上記それぞれの方位角範囲内の全ての反射信号経路についての上記1つまたは複数の移行高度を離散化することも含む。また、いくつかの構成において、上記動作は、上記複数の信号経路の上記信号経路表現を疎データアレイとして格納することと、上記疎データアレイを圧縮することとを含む。
【0018】
いくつかの実現例において、上記動作は、GNSS対応デバイスからの要求された位置を含む要求を受信することも含む。これらの実現例において、上記動作は、上記要求された位置に対応する上記複数の場所のそれぞれの場所を特定することをさらに含む。ここで、上記動作は、上記要求に応答して、上記それぞれの場所の上記信号経路表現を上記GNSS対応デバイスに通信することを含む。
【0019】
本開示の別の局面は、GNSS位置特定技術に基づいて位置可能性を生成するための方法を提供する。上記方法は、ある環境内のGNSS受信機の推定場所をGNSS対応デバイスのデータ処理ハードウェアで受信するステップを含む。上記方法は、上記データ処理ハードウェアが、上記GNSS受信機の上記推定場所について複数の候補位置を生成するステップも含み、上記複数の候補位置の各候補位置は、上記GNSS受信機の可能な実際の場所に対応する。上記方法は、上記GNSS受信機の上記推定場所についての上記複数の候補位置の各候補位置において、上記データ処理ハードウェアが、第1のGNSS位置特定技術を使用して、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所である第1の確率を決定するステップを含む。上記方法は、上記GNSS受信機の上記推定場所についての上記複数の候補位置の各候補位置において、上記データ処理ハードウェアが、上記第1のGNSS位置特定技術とは異なる第2のGNSS位置特定技術を使用して、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所である第2の確率を決定するステップも含む。上記方法はさらに、上記GNSS受信機の上記推定場所についての上記複数の候補位置の各候補位置において、上記データ処理ハードウェアが、上記第1のGNSS位置特定技術を使用して生成された上記第1の確率および上記第2のGNSS位置特定技術を使用して生成された上記第2の確率に基づいて、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所である全体確率を生成するステップを含む。上記方法は、上記データ処理ハードウェアが、最も高い全体確率を有する上記それぞれの候補位置を上記GNSS受信機の上記実際の場所として上記複数の候補位置から選択するステップも含み得る。
【0020】
本開示のさらに別の局面は、信号経路を処理するためのシステムを提供する。上記システムは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含む。上記メモリハードウェアは、上記データ処理ハードウェア上で実行されると上記データ処理ハードウェアに動作を実行させる命令を格納している。上記動作は、ある環境内のGNSS受信機の推定場所をGNSS対応デバイスで受信することを含む。上記動作は、上記GNSS受信機の上記推定場所について複数の候補位置を生成することも含み、上記複数の候補位置の各候補位置は、上記GNSS受信機の可能な実際の場所に対応する。上記動作は、上記GNSS受信機の上記推定場所についての上記複数の候補位置の各候補位置において、第1のGNSS位置特定技術を使用して、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所である第1の確率を決定することを含む。上記動作は、上記GNSS受信機の上記推定場所についての上記複数の候補位置の各候補位置において、上記第1のGNSS位置特定技術とは異なる第2のGNSS位置特定技術を使用して、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所である第2の確率を決定することも含む。上記動作はさらに、上記GNSS受信機の上記推定場所についての上記複数の候補位置の各候補位置において、上記データ処理ハードウェアが、上記第1のGNSS位置特定技術を使用して生成された上記第1の確率および上記第2のGNSS位置特定技術を使用して生成された上記第2の確率に基づいて、上記それぞれの候補位置が上記GNSS受信機の上記実際の場所である全体確率を生成することを含む。上記動作は、最も高い全体確率を有する上記それぞれの候補位置を上記GNSS受信機の上記実際の場所として上記複数の候補位置から選択することも含み得る。
【0021】
本開示の実現例は、GNSS位置特定技術に基づいて位置可能性を生成する方法および/またはシステムの以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの例において、上記第1のGNSS位置特定技術は、測定されたGNSS信号データを上記GNSS受信機から受信し、上記測定されたGNSS信号データに基づいて特定の衛星についてそれぞれのGNSS信号の信号強度を特定し、上記GNSS受信機が上記特定された信号強度に対応する上記特定の衛星についてのそれぞれの信号強度を示すであろう上記複数の候補位置の1つまたは複数のそれぞれの候補位置を決定し、上記1つまたは複数のそれぞれの候補位置の各々についてそれぞれの第1の確率を生成するように構成されている。これらの例において、上記第1のGNSS位置特定技術は、上記複数の候補位置を含む上記環境の構造地図を取得し、上記特定の衛星の既知の場所に基づいて、上記特定の衛星までのサイトラインを遮るであろう上記構造地図内の物体を特定し、それぞれの物体が上記それぞれの候補位置から上記特定の衛星までの上記サイトラインを遮るかどうかに基づいて各候補位置を分類し、上記複数の候補位置の各候補位置において、上記それぞれの物体が上記それぞれの候補位置から上記特定の衛星までの上記サイトラインを遮るかどうかの上記分類に基づいて上記それぞれの候補位置について予測信号強度を生成することによって、上記GNSS受信機が上記特定された信号強度に対応する上記特定の衛星についての上記それぞれの信号強度を示すであろう上記複数の候補位置の上記1つまたは複数のそれぞれの候補位置を決定するように構成され得る。これらの例において、上記第1のGNSS位置特定技術は、上記複数の候補位置の各候補位置において、サイトライン値の確率をレイラウンチングツールから受信して、上記サイトライン値の確率に基づく上記1つまたは複数のそれぞれの候補位置についてのそれぞれの信号強度が、上記測定されたGNSS信号データに基づく上記特定の衛星についての上記それぞれのGNSS信号の上記信号強度に対応すると判断することによって、上記GNSS受信機が上記特定された信号強度に対応する上記特定の衛星についての上記それぞれの信号強度を示すであろう上記複数の候補位置の上記1つまたは複数のそれぞれの候補位置を決定するように構成され得る。上記GNSS信号データは、C/N0測定値を含み得る。
【0022】
いくつかの実現例において、上記任意の特徴は、上記第2のGNSS位置特定技術が、測定されたGNSS信号データを上記GNSS受信機から受信し、上記複数の候補位置の各候補位置について、上記測定されたGNSS信号データに基づいて、測定された疑似距離誤差と予想疑似距離誤差との間の差を決定し、上記複数の候補位置の各候補位置について、上記それぞれの候補位置についてのそれぞれの第2の確率を生成するように構成されており、上記それぞれの第2の確率が、対応する候補位置において上記測定された疑似距離誤差が上記予想疑似距離誤差にどれぐらい近く一致しているかを表すことを含む。これらの実現例において、上記第2のGNSS位置特定技術は、上記それぞれの候補位置に対応する過剰経路長を使用して上記予想疑似距離を生成することによって、上記それぞれの候補位置において、上記測定されたGNSS信号データに基づいて、上記測定された疑似距離誤差と上記予想疑似距離誤差との間の上記差を決定するように構成されている。ここで、上記第2のGNSS位置特定技術は、上記それぞれの候補場所と上記過剰経路長を有するそれぞれのGNSS信号を送信する特定の衛星との間のサイトライン距離と、上記それぞれの候補位置に対応する上記過剰経路長とを組み合わせることによって、上記それぞれの候補位置に対応する上記過剰経路長を使用して上記予想疑似距離を生成するように構成され得る。上記過剰経路長は、上記データ処理ハードウェアと通信するレイラウンチングツールから受信された上記それぞれの候補位置に対応し得る。
【0023】
本開示の別の局面は、信号のフルチャネルをモデル化する方法を提供する。上記方法は、各々の利用可能な衛星について、ある環境内のGNSS受信機によって受信された各信号経路についての全地球航法衛星システム(GNSS)信号測定値をデータ処理ハードウェアで受信するステップを含む。上記方法は、上記データ処理ハードウェアが、上記環境内の上記GNSS受信機の場所の推定位置を確立するステップも含む。上記方法はさらに、上記データ処理ハードウェアが、上記GNSS受信機の上記推定場所について複数の候補位置を生成するステップを含み、上記複数の候補位置の各候補位置は、上記GNSS受信機の可能な実際の場所に対応する。上記方法はさらに、上記複数の候補位置の各候補位置について、上記データ処理ハードウェアが、各々の利用可能な衛星の上記受信されたGNSS信号測定値についての疑似距離を表す相関ベクトルを生成するステップと、上記データ処理ハードウェアが、上記それぞれの候補位置から各々のそれぞれの利用可能な衛星の位置までのレイラウンチングに基づいて過剰経路長ベクトルを生成するステップとを含む。上記方法はさらに、上記データ処理ハードウェアが、上記複数の候補位置の中で、上記相関ベクトルが上記過剰経路長ベクトルに最も近く一致する上記それぞれの候補位置に対応する上記GNSS受信機の実際の位置を特定するステップを含む。
【0024】
いくつかの例において、各々の利用可能な衛星について上記相関ベクトルを生成するステップは、上記GNSS受信機によって受信されたGNSS信号に対応するそれぞれのGNSS信号測定値を受信するステップと、上記受信されたGNSS信号と上記受信されたGNSS信号のローカルレプリカとの間の相関付けプロセスを使用して1つまたは複数のピークを検出するステップと、上記受信されたGNSS信号と上記受信されたGNSS信号の上記ローカルレプリカとの間の上記相関付けプロセスによって特定された上記検出された1つまたは複数のピークの各ピークの表現を生成するステップとを含む。これらの例において、各々の利用可能な衛星について上記相関ベクトルを生成するステップは、各衛星について生成された上記表現を連結して上記相関ベクトルを形成するステップも含み得る。いくつかの実現例において、上記方法は、各候補位置について、上記データ処理ハードウェアが、上記相関ベクトルと上記過剰経路長ベクトルとの間の標準偏差を決定するステップも含む。ここで、上記それぞれの候補位置が上記相関ベクトルと上記過剰経路長ベクトルとの間の最低の標準偏差を含む場合に、上記相関ベクトルは、上記過剰経路長ベクトルに最も近く一致する。
【0025】
本開示のさらなる局面は、信号のフルチャネルをモデル化するためのシステムを提供する。上記システムは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含む。上記メモリハードウェアは、上記データ処理ハードウェア上で実行されると上記データ処理ハードウェアに動作を実行させる命令を格納している。上記動作は、ある環境内のGNSS受信機によって受信された各信号経路についての全地球航法衛星システム(GNSS)信号測定値を受信することを含む。上記動作は、上記環境内の上記GNSS受信機の場所の推定位置を確立することも含む。上記動作はさらに、上記GNSS受信機の上記推定場所について複数の候補位置を生成することを含み、上記複数の候補位置の各候補位置は、上記GNSS受信機の可能な実際の場所に対応する。上記動作はさらに、上記複数の候補位置の各候補位置について、各々の利用可能な衛星の上記受信されたGNSS信号測定値についての疑似距離を表す相関ベクトルを生成することと、上記それぞれの候補位置から各々のそれぞれの利用可能な衛星の位置までのレイラウンチングに基づいて過剰経路長ベクトルを生成することとを含む。上記動作はさらに、上記複数の候補位置の中で、上記相関ベクトルが上記過剰経路長ベクトルに最も近く一致する上記それぞれの候補位置に対応する上記GNSS受信機の実際の位置を特定することを含む。
【0026】
いくつかの構成において、各々の利用可能な衛星について上記相関ベクトルを生成する上記動作は、上記GNSS受信機によって受信されたGNSS信号に対応するそれぞれのGNSS信号測定値を受信することと、上記受信されたGNSS信号と上記受信されたGNSS信号のローカルレプリカとの間の相関付けプロセスを使用して1つまたは複数のピークを検出することと、上記受信されたGNSS信号と上記受信されたGNSS信号の上記ローカルレプリカとの間の上記相関付けプロセスによって特定された上記検出された1つまたは複数のピークの各ピークの表現を生成することとを含む。これらの構成において、各々の利用可能な衛星について上記相関ベクトルを生成する上記動作は、各衛星について生成された上記表現を連結して上記相関ベクトルを形成することも含み得る。いくつかの実現例において、上記動作は、各候補位置について、上記相関ベクトルと上記過剰経路長ベクトルとの間の標準偏差を決定することも含む。ここで、上記それぞれの候補位置が上記相関ベクトルと上記過剰経路長ベクトルとの間の最低の標準偏差を含む場合に、上記相関ベクトルは、上記過剰経路長ベクトルに最も近く一致する。
【0027】
本開示の実現例は、信号のフルチャネルをモデル化する方法および/またはシステムの以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの例において、上記過剰経路長ベクトルを生成することは、上記それぞれの候補位置から複数の光線を発射することと、上記それぞれの候補位置から発射された上記複数の光線の各光線について、上記複数の光線の上記それぞれの光線が既知の衛星位置で終端するかどうかを判断することと、上記複数の光線の上記それぞれの光線が上記既知の衛星位置で終端する場合、上記光線を候補信号経路として特定することと、上記それぞれの候補位置から発射された上記複数の光線の各光線について上記候補信号経路として特定された上記それぞれの光線の過剰経路長を決定することとを含む。各々の利用可能な衛星は、単一の衛星を含み得る。いくつかの実現例において、全ての上記候補位置と比較して、上記それぞれの候補位置が、上記相関ベクトルと上記過剰経路長ベクトルとの間の差を表す損失関数の極値を含む場合に、上記相関ベクトルは、上記過剰経路長ベクトルに最も近く一致する。ここで、上記損失関数は、上記GNSS信号測定値の信号強度または上記GNSS信号測定値の搬送波対雑音密度比のうちの少なくとも1つに基づき得る。いくつかの構成において、上記データ処理ハードウェアは、モバイルデバイス内に存在している。上記データ処理ハードウェアの第1の部分は、モバイルデバイス上に存在してもよいのに対して、上記データ処理ハードウェアの第2の残りの部分は、上記モバイルデバイスと通信するリモートサーバ上に存在している。
【0028】
本開示の1つまたは複数の実現例の詳細については、添付の図面および以下の説明に記載されている。他の局面、特徴および利点は、説明および図面、ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【0029】
【
図1】GNSS受信機が位置する例示的な都市環境の斜視図である。
【
図2A】GNSS対応デバイス上での信号経路モデル化のための例示的な信号マッパの概略図である。
【
図2B】GNSS対応デバイス上での信号経路モデル化のための例示的な信号マッパの概略図である。
【
図2C】GNSS対応デバイス上での信号経路モデル化のための例示的な信号マッパの概略図である。
【
図3A】GNSS対応デバイスと通信するリモートシステム上での信号経路モデル化のための例示的なプレコンピュータの概略図である。
【
図3B】GNSS対応デバイスと通信するリモートシステム上での信号経路モデル化のための例示的なプレコンピュータの概略図である。
【
図4】複合損失関数を使用した例示的なグリッドサーチの概略図である。
【
図5A】高分解能信号を用いた信号経路モデル化のための例示的なフルチャネルモデラの概略図である。
【
図5B】高分解能信号を用いた信号経路モデル化のための例示的なフルチャネルモデラの概略図である。
【
図6】オンデバイスで信号経路を算出する方法の動作の例示的な構成のフローチャートである。
【
図7】リモートで信号経路を算出する方法の動作の例示的な構成のフローチャートである。
【
図8】GNSS位置特定技術を使用して位置可能性を生成する方法の動作の例示的な構成のフローチャートである。
【
図9】信号のフルチャネルをモデル化する方法の動作の例示的な構成のフローチャートである。
【
図10】本明細書に記載されているシステムおよび方法を実現するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0030】
さまざまな図面における同様の参照符号は同様の要素を示す。
詳細な説明
GNSSベースの位置特定がどこにでもある位置情報サービスになっているので、GNSS受信機が多数のコンピューティングデバイスに組み込まれるようになっている。GNSS受信機が組み込まれると、コンピューティングデバイスはGNSS対応デバイスであるとみなされ、このGNSS対応デバイスは、衛星によって送信された信号(すなわち、GNSS信号)の受信であろうと、GNSS受信機の場所の算出全体であろうと、GNSS位置特定をサポートするように何らかの役割を果たすことができる。ここで、GNSS位置特定とは、GNSS受信機などのGNSSコンポーネントの場所を決定する機能を指す。したがって、コンピューティングデバイスがGNSS受信機を含む場合、GNSS位置特定はGNSS受信機の場所を決定し、GNSS対応デバイスの場所も関連付けによって決定することができる。これは、GNSS対応デバイスとして装備されるほぼ全ての物体の位置を特定する目的でGNSS位置特定を実行することを可能にする。結果的に、GNSS位置特定は、農業機器、輸送車両(たとえば、車、トラック、電車、飛行機など)、モバイルデバイス(たとえば、携帯電話、ラップトップ、タブレットなど)、ウェアラブル機器(たとえば、スマートウォッチ)、モノのインターネット(IOT:Internet Of Things)デバイス、および/または、他のGNSS対応デバイスの位置を特定するためにデプロイされてきた。
【0031】
GNSS受信機は、1つまたは複数の目に見える周回軌道衛星からGNSS信号を受信するように構成されている。ここで、目に見える衛星または利用可能な衛星とは、(たとえば、GNSS受信機またはGNSS受信機に関連付けられた位置特定システムによる)GNSS位置特定プロセスにおいて位置決定およびナビゲーション決定で利用するのに十分な大きさのGNSS信号を送信する特定の周回軌道衛星を指す。これに対して、目に見えない周回軌道衛星である他の周回軌道衛星がある場合がある。目に見えない周回軌道衛星または利用不可能な衛星とは、受信されたGNSS信号の大きさがGNSS位置特定プロセスにおける位置決定およびナビゲーション決定で利用するのに不十分である衛星を指す。別の言い方をすれば、利用可能な衛星は、「GNSS受信機と通信する」とみなされる。なぜなら、GNSS受信機は、利用可能な衛星または目に見える衛星から十分な大きさのGNSS信号を受信するからである。GNSS位置特定は、衛星が目に見えない(利用不可能である)よりも目に見える(利用可能である)ことを好むが、衛星がGNSS対応デバイスにとって目に見えるかどうかは、GNSS対応デバイスについての環境または地形次第であり得る。言い換えれば、GNSS対応デバイスがオープンフィールドにある場合、オープンフィールド環境は、周回軌道衛星によって送信された信号をGNSS受信機が受信することを阻止し得る地形特徴を、たとえあったとしてもほとんど含まない。たとえば、オープンフィールドでは、多数の衛星が目に見える。一方、GNSS対応デバイスが背の高い岩石層によって囲まれた峡谷にある場合、目に見える衛星はたとえあったとしてもごく少数であり、目に見えない衛星の方が多いと思われる。
【0032】
GNSS受信機が都会または都市環境内にある場合、衛星信号を受信するGNSS受信機の能力は、多くの場合、オープンフィールドよりも峡谷に類似している。都会または都市環境では、1つまたは複数の衛星からの信号は、都会の構造または建物によって妨害または減衰される可能性がある。GNSS受信機が都市環境では目に見える(または、利用可能な)衛星をほとんど持たないという問題を複雑にするものとして、GNSS受信機にとって目に見える(すなわち、利用可能である)衛星からの信号は、都市環境ではGNSS受信機までの経路の最中に(たとえば、構造から離れていく方に、または構造によって)リダイレクトされる(たとえば、1回または複数回、反射、屈折、回折または散乱される)可能性が高くなる。これらのリダイレクト(たとえば、反射)された信号は、GNSS位置特定を実行するシステム(位置システムと称される)に対して問題を提起する。なぜなら、GNSS位置特定は、信号の経路で飛行時間を使用し、受信された信号が、リダイレクト(たとえば、反射)されたものであろうとなかろうと、サイト信号のラインであると仮定するからである。言い換えれば、サイト信号のラインは、リダイレクトなしに衛星から受信機まで延在する経路を有する。実際には信号はリダイレクトされた信号であり、サイト信号のラインであることはめったにないので、信号のリダイレクトによって、信号は、実際にはサイト信号のラインの移動距離よりも長い距離移動するようになる。ここで、サイト信号のラインと実際のまたは反射された信号のより長い距離との間の差は、過剰経路長と称される。過剰経路長という語は、受信機までの反射信号の経路が、その反射に起因して、直接的なサイト信号のラインとして経路が有していたであろう経路長よりも長い(すなわち、「過剰な」)経路長を有することを特定する。
【0033】
残念ながら、受信機がどこに位置しているかを特定するように構成された位置システムは、元来、受信機で受信された信号が、実際にはリダイレクトされた信号であっても、サイト信号のラインであると仮定する。この仮定により、位置システムは、都市空間では受信機の場所を不正確に特定することが多い。この不正確を示す例は、GPSのGNSSシステムを使用したライドシェアプラットフォームが、都市部ではライドシェア顧客が道路の反対側にいると思いがちであるというものである。ここで、ライドシェア顧客のGPS受信機は、反射信号の過剰経路長に起因して、その場所を道路の間違った側であると解釈して、この誤った場所をライドシェアプラットフォームを介してライドシェア運転手に中継する。都市環境内の位置システムが過剰経路長に起因してGNSS受信機の場所を道路の間違った側であると判断することはかなり一般的であるので、GNSS業界は、時として、この問題を「道路の間違った側の」問題と称する。
【0034】
いくつかの異なるアプローチは、都市環境内のGNSS受信機の位置精度の問題に対処しようとしてきた。たとえば、位置システムは、位置精度を向上させるために慣性システムを組み込むまたは使用してもよい。言い換えれば、GNSS受信機またはGNSS受信機に関連付けられたデバイスは、加速度計および/またはレートジャイロなどのモーションセンサを利用してもよい。そして、位置システムは、これらのセンサからの測定値を使用してGNSS受信機の位置を決定し得る。しかし、ここで、位置特定を補完するために慣性システムを使用することには重大な欠点がある。たとえば、反射信号が都市環境内で発生する場合に慣性システムがGNSS受信機の場所を正確に特定するために、慣性システムは、まず、GNSS受信機位置の正確な決定を必要とする。最初にGNSS受信機位置の正確な決定から開始するためには、位置システムは、慣性システムのための初期GNSS受信機位置を確立するために、反射されない直接的な信号またはサイト信号のラインを必要とするであろう。正確な初期GNSS受信機位置なしでは、慣性システムは、その測定値のよりどころとなる正確な基準状態を欠くことになる。したがって、このアプローチは、慣性システムを使用する前にGNSS信号が反射なしで受信され得る比較的オープンなエリアを必要とする。このアプローチの重大な欠点は、もっぱら都市環境で始動するまたはもっぱら都市環境にいる歩行者または車両にとっては比較的オープンなエリアが利用不可能であるため、都市環境においてGNSS信号が反射されている場合には慣性システムが位置特定の補完には効果的でなくなる、というものである。さらに、慣性システムは、コストを増加させ、より多くの処理リソースを消費し、および/または、より小さな外皮を有するGNSS対応デバイスの貴重な計算スペースを占めるおそれがある。さらに、モバイルデバイスは、いくつかの既存の慣性コンポーネントを有し得る(たとえば、携帯電話はその向きを決定することができる)が、モバイルデバイス、特にセルラーフォンにおける慣性コンポーネントは、むしろ初歩レベルであって、高い精度で位置特定を実行することができない。
【0035】
都市環境内のGNSS受信機の位置不正確を修正する別のアプローチは、シャドーマッチングと称される。シャドーマッチングは、GNSS受信機で受信された信号強度を使用して、受信機が実際にどこに位置しているかを推論するアプローチである。前提は、たとえば東方の衛星からの信号が、(たとえば、信号リダイレクトに起因して)GNSS受信機で検出された弱い信号強度を有する場合、GNSS受信機が東方の建物の影の中にあることが推定される、というものである。そして、この前提は、全体として、GNSS受信機の推定位置に収束するように全ての衛星およびそれらの対応する信号に適用される。このアプローチおよびこのアプローチの変形例は、都市環境内のGNSS受信機の位置不正確を修正するのに部分的に効果的であることが分かったが、このアプローチは、問題の原因を単純化し過ぎている。GNSS受信機で受信された信号強度は、信号が構造から反射される以外の理由で変動し得る。たとえば、GNSS信号は受信機に到達する前に特定の媒体を通過しなければならないので、信号強度は変動する。言い換えれば、信号は、都会の中の木の葉またはGNSS受信機を携帯している人の身体(たとえば、GNSS信号は、人のポケットの中のモバイルデバイスである)によって減衰され得る。さらに、GNSS受信機のタイプまたはGNSS対応デバイスのタイプも、GNSS信号の信号強度に影響を及ぼし得る。これらの要因を考慮に入れる方法がなければ、シャドーマッチングは、時として、道路の間違った側の問題自体を修正するための効果的なアプローチではなくなる。
【0036】
信号強度に依拠しない、都市環境における位置特定問題を克服する別のアプローチは、その代わりにGNSS受信機の移動を活用する。衛星からのGNSS信号は、特定の周波数を有する。しかし、移動するGNSS受信機が当該信号を受信すると、特定の周波数はGNSS受信機の動きに応じて変化する。言い換えれば、GNSS受信機の動きに基づいて、ドップラ効果がGNSS信号の周波数を変化させる。ドップラ効果とは、波の供給源(たとえば、衛星)および波の目的地(たとえば、受信機)が互いに対して移動するときの波(たとえば、音または光)の周波数の変化を指す。ここで、これは、GNSS受信機が移動している(たとえば、歩行者が歩いている、または車が走っている)場合に、GNSS信号が静止しているGNSS受信機によって受信されている場合と比較して何倍か、GNSS受信機の動きがGNSS信号の周波数に影響を及ぼすことを意味している。たとえば、GNSS受信機を有するGNSS対応デバイスの速度は、ある期間にわたってデバイスが進む波長の割合だけ、受信されたGNSS信号の見かけ周波数を変化させる。GNSS受信機が静止している場合にはGNSS信号の周波数が分かるので、周波数の変化は、周波数に影響を及ぼしているドップラ効果の量を特定する。GNSS受信機においてドップラ効果を利用することによって、このドップラベースのアプローチは、GNSS受信機の位置を正確に特定することができる。ドップラベースのアプローチは、GNSS信号の信号強度に依拠しないので、ドップラベースのアプローチは、通常シャドーマッチングのような技術を苦しめる他の要因(たとえば、さらなる媒体を通過する信号またはGNSS受信機に関連付けられたデバイスのタイプ)によって信号が減衰されている場合でも、位置システムが効果的であるようにすることができる。このアプローチは、道路の間違った側の問題による頭痛の種の一部を解決するように思われるが、このアプローチは、それ自体の支障がないわけではない。たとえば、このドップラベースのアプローチは、元来、移動するGNSS受信機に依存してドップラ効果を生成している。しかし、GNSS受信機および/またはGNSS受信機を有するGNSS対応デバイスは、必ずしも運動状態にあるわけではない。たとえば、GNSS受信機が、ベンチに座ってバスを待っている歩行者に携帯されている場合、ドップラベースのアプローチは、GNSS受信機の位置を特定するのに効果的でないだろう。
【0037】
また、位置不正確は、GNSS受信機が間違った場所にあるように知覚されることになる過剰経路長を修正しようとすることによって対処することができる。これは、一般に、最も直裁的なアプローチであろう。なぜなら、GNSS受信機またはGNSS受信機と通信する位置システムは、それ自体の位置を近似しているからである。GNSS受信機または受信機と通信する位置システムが過剰経路長を算出し、この過剰経路長を使用してGNSS受信機(または、GNSS受信機を有するGNSSデバイス)の場所を決定することができる場合、それは、都市環境内の受信機の位置不正確という頭痛の種を緩和するであろう。しかし、このような修正アプローチは実行するのが困難である場合がある。なぜなら、位置誤差に寄与する反射信号の過剰経路長を決定するために、修正アプローチはGNSS受信機の場所を必要とするからであり、過剰経路長は本質的に当該場所を分かりにくくするので、鶏が先か卵が先かの問題を生じさせる。
【0038】
修正アプローチを実現する1つの方法は、最初にGNSS受信機の場所を近似するというものであり、次いで、このアプローチは、当該近似場所およびGNSS受信機におけるGNSS信号の信号強度に基づいて、反射信号の経路長の過剰な部分を決定する。しかし、このアプローチは、GNSS受信機の近似場所においてGNSS信号がどのように挙動し得るかについて、当該挙動とGNSS受信機で受信されたGNSS信号の測定された信号強度とを比較するために、何らかの関連性を必要とする。信号モデル化手法(たとえば、レイラウンチング手法)を使用して近似場所における信号の挙動を理解することは可能であるが、この信号モデル化手法は、計算コストがかなり高い。たとえば、衛星コンステレーションがいくつかある場合があり、各衛星コンステレーションは複数の衛星を含む。これらのコンステレーション内の各衛星は、衛星信号がGNSS受信機の近似場所への多数の可能性のある信号経路を有することができるようにそのGNSS信号をブロードキャストする。都市環境では、これは、信号モデル化手法が多数の可能性のある信号経路をモデル化するために都市環境内の構造のGNSS信号の反射率を理解しなければならないことも意味する。最後に、多数の可能性のある信号経路のこのモデルを用いて、GNSS受信機または位置システムは、可能性のある信号経路のうちの1つを、GNSS受信機によって受信されたGNSS信号測定値(たとえば、GNSS信号の信号強度)をシミュレーションすると思われる経路として特定することができる。このモデル化プロセスは、信号反射率を理解するために三次元構造に関する地理データが必要であることに起因して、メモリ負荷が高い。さらに、従来の信号モデル化手法は、このような地理データをメモリに格納することによって機能する。また、信号モデル化手法は、近似位置について全ての可能な経路を決定するのにかなり時間がかかるであろう。コンピューティングデバイスの処理力は、デバイスサイズが小さくなるにつれて大きくなってきたが、このスケールの信号モデル化計算は、電力消費量に起因してデバイスのバッテリに重い負担をかけ、特にGNSSベースの位置情報サービスが受信機のほぼリアルタイムの場所を提供することを好む場合に、プロセッサをクラッシュさせたりメモリに過負荷をかけたりするリスクが依然としてあるだろう。言い換えれば、GNSS受信機を有するGNSS対応デバイスを携帯している人が市内を動き回るとき、受信機または位置システムが受信機の新たな場所を決定することを可能にするために信号モデル化は常に動作しているであろう。これら全ての要因に基づいて、一般に、過剰経路長アプローチは支持できないとされていた。
【0039】
GNSS信号の過剰経路長をモデル化するための集中的な処理を克服するために、モデル化プロセスは、GNSS対応デバイスの処理能力の要求に応えることができる。たとえば、GNSS対応デバイスがデバイス側のモデル化(すなわち、GNSS対応デバイス上でのモデル化)を実行したい場合、GNSS対応デバイスの位置システムは、信号モデル化手法を使用して、都市環境の地理データのストレージフットプリントを減少させ得る。言い換えれば、GNSS関連デバイスは、従来の信号モデル化データ構造よりも必要なメモリ消費量が少ないデータ構造に対して信号モデル化を実行する。代替的に、GNSS対応デバイスは、GNSS対応デバイスと通信するサーバ上で信号モデル化の一部をサーバベースのシステムに実行させることによって、信号モデル化の局面を回避することができる。次いで、GNSS対応デバイスの要求があれば、サーバベースのシステムは、信号経路モデル化結果をGNSS対応デバイスに提供し得る。したがって、GNSS対応デバイスは、過剰経路長処理の一部の負担を軽減して、信号経路モデル化のためのその処理リソース消費量を事実上減少させる。
【0040】
図1は、ユーザ10に関連付けられたGNSS対応デバイス110(デバイス110とも称される)が、1つまたは複数の衛星20,20a-nから送信されたGNSS信号22を受信する都市環境100の一例である。たとえば、
図1は、2つの目に見える衛星20,20a-bを示している。ここで、各衛星20は、都市環境100内の建物30によって妨害されるサイト信号のライン22,22
LOSおよびユーザ10におけるデバイス110に到達する前に環境100内の建物30,30bから反射する反射信号22,22
REFを送信するように示されている。簡略化のために図の中では衛星20は2つだけ示されているが、GNSS対応デバイス110は、衛星20のGNSSコンステレーションのうちのいずれかの中の任意のGNSS衛星20から送信された信号22を、GNSS受信機114に関連付けられたアンテナ112で受信するように構成されてもよい。言い換えれば、デバイス110のGNSS受信機114は、グローバルポジショニングシステム(GPS:Global Positioning System)、ロシア全地球航法衛星システム(GLONASS:Global Navigation Satellite System)、欧州連合衛星航法システム(GALILEO)、日本準天頂衛星システム(QZSS:Quasi-Zenith Satellite System)、中国北斗衛星導航系統および/もしくはインド地域航法衛星システム(IRNSS:Indian Regional Navigational Satellite System)、ならびに/または、無線信号を送信するように構成された地球低軌道または静止衛星などの任意の同様のシステムに関連付けられた衛星20から送信された信号22を受信してもよい。さらに、
図1は都市環境100を示しているが、これは単に例示のためである。本明細書におけるシステムおよび方法は、非都市環境および/または半都市環境などの任意の環境において機能してもよい。
【0041】
デバイス110は、アンテナ112と、GNSS受信機114(受信機114とも称される)とを含む。アンテナ112は、衛星20から送信された信号22(たとえば、電波)を受信し、受信された信号22を電気入力として受信機114に通信するためのインターフェイスとして機能するように構成されている。一般的に言って、受信機114は、アンテナ112からの電気入力に基づいて、受信された信号22に組み入れられた信号ベースの情報を解釈するように構成されている。この信号ベースの情報は、GNSS測定値(たとえば、測定されたGNSS信号データ202とも称される)または未処理のGNSS測定値とも称され得る。衛星20は、一般に、信号22を、原子時計に従った時刻におけるLバンド(すなわち、GNSS技術用に国際的に設計された電波スペクトルの帯域)内の動作周波数および波長の電波としてブロードキャストする。衛星20からブロードキャストされた信号22は、Lバンド内の周波数、衛星情報(たとえば、符号化された衛星情報)を有しており、ナビゲーションメッセージを搬送する。このナビゲーションメッセージは、衛星が信号22を送信した衛星での時刻および受信機114/アンテナ112での信号22の到達時刻などのタイミング情報と、当該送信時刻における衛星20の場所などの位置情報とを含む。送信時刻と到達時刻との組み合わせによる飛行時間TOF(たとえば、サイト信号のライン22LOSの飛行時間TOFLOSおよび反射信号22REFの飛行時間TOFREFとして示される)を有することによって、受信機114は、受信機114と信号22を送信した衛星20との間の距離に対応する疑似距離を測定することができる。衛星と受信機との距離を決定するために、受信機114は、光の速さによって疑似距離をスケーリングする。また、このタイミング情報は、(たとえば、到達時刻からの)受信機114におけるクロックタイミングに対する(たとえば、送信時刻からの)衛星におけるクロックタイミングの理解を受信機114に提供する。また、受信機114が信号22を受信すると、受信機114は、信号22の強度(たとえば、単位はデシベル(dBmまたはdBHz))を測定するように構成されている。タイミング情報および位置情報に加えて、信号22は、衛星情報を含む。この衛星情報は、信号22を送信する特定の衛星20および当該特定の衛星20のコンステレーション(たとえば、GPS、GLONASS、GALILEO、QZSS、BeiDouまたはIRNSS)を示す固有の識別子を特定し得る。信号ベースの情報から、受信機114と通信する位置システム120は、信号22の受け手の場所12を決定する。示されている例では、信号22の受け手の場所12は、受信機114、デバイス110およびユーザ10の場所12である。なぜなら、受信機114は、デバイス110のコンポーネントであり、デバイス110(たとえば、携帯電話として示されている)は、ユーザ10によって携帯されているからである。これらの例においてデバイス110、受信機114およびユーザ10の場所が同義であるために、これらの語の場所は同じ意味として表記され得て、これらの場所が他の例では異なっている場合があると考えられるが、そのように表記され得る。たとえば、デバイス110は、GNSS受信機114を有する運転手無しの自動運転車両である。
【0042】
デバイス110は、受信機114をサポートすることができる任意のコンピューティングデバイスであり得る。たとえば、デバイス110は、衛星20からの信号22に応答してそれ自体の場所を決定するように構成された論理、回路および/またはコードをサポートするように構成されている。デバイス110のいくつかの例としては、モバイルデバイス(たとえば、携帯電話、ラップトップ、タブレット、モバイルナビゲーションデバイスなど)、車両エレクトロニクス(たとえば、車両制御モジュール、アビオニクス、ボートエレクトロニクスなど)、ウェアラブル機器(たとえば、スマートウォッチもしくはスマートグラス)、ゲーミングデバイス、オーディオ/ビデオ取込デバイス(たとえば、カメラもしくはビデオカメラ)、および/または、IoTデバイス(たとえば、スマートコンシューマエレクトロニクス、スマート家電、スマートスピーカ、スマートホームデバイス、スマートメータなど)が挙げられる。デバイス110は、データ処理ハードウェア116と、データ処理ハードウェア116と通信するメモリハードウェア118とを含み、メモリハードウェア118は、データ処理ハードウェア116によって実行されるとデータ処理ハードウェア116に1つまたは複数の動作(たとえば、GNSS位置特定に関連した動作)を実行させる命令を格納している。いくつかの例において、デバイス110は、1つまたは複数のアプリケーション(すなわち、ソフトウェアアプリケーション)を含み、各アプリケーションは、デバイス110に関連付けられた位置システム120を利用して、アプリケーション内のさまざまな機能を実行し得る。たとえば、デバイス110は、デバイス110の場所12をユーザ10のために表示するように構成されたナビゲーションアプリケーションを含む。
【0043】
さらに、デバイス110は、ネットワーク130を介してリモートシステム140と通信するように構成され得る。リモートシステム140は、リモートデータ処理ハードウェア142(たとえば、リモートサーバまたはCPU)および/またはリモートメモリハードウェア144(たとえば、リモートデータベースまたは他のストレージハードウェア)などのリモートリソースを含み得る。デバイス110は、これらのリモートリソースを利用して、GNSS位置特定に関連するさまざまな機能を実行し得る。たとえば、デバイス110は、位置システム120を使用してGNSS位置特定を実行するように構成されている。ここで、位置システム120とは、一般に、受信機114および/またはGNSS対応デバイス110がGNSS位置特定を実行することを可能にするシステムを指すことを示すために、
図1は、位置システム120を、アンテナ112、受信機114、信号マッパ200、プレコンピュータ300、グリッドサーチャ400およびフルチャネルモデラ500を囲む点線の枠として示している。したがって、位置システム120のこれらのコンポーネントは、デバイス110上に存在してもよく(オンデバイスシステムと称される)、またはリモートである(たとえば、リモートシステム140上に存在する)がデバイス110と通信する状態で存在してもよい。たとえば、
図1は、信号マッパ200の機能の一部または全部がデバイス110自体で行われ得ることを示すために、信号マッパ200がデバイス110上に位置していることを示している。これに対して、
図1は、プレコンピュータ300が一般にリモートで(すなわち、サーバ側で)またはデバイス110上ではないところで(すなわち、オフデバイスで)その機能を実行することを示すために、プレコンピュータ300がデバイス110から離れていることも示している。信号マッパ200およびプレコンピュータ300の各々は、GNSS位置特定の何らかの局面を実行することができるので、
図1は、それらを位置システム120の一部として示している。一般的に言って、信号マッパ200およびプレコンピュータ300は、オンデバイスおよびオフデバイスのそれぞれでそれらの機能を実行するが、それらの機能の一部は、デバイス110のGNSS位置特定の処理ニーズを損なわずにリモートまたはローカルで存在するように構成されてもよい。位置システム120の機能がリモートで存在する場合、位置システムは、リモートデータ処理ハードウェア142およびリモートメモリハードウェア144などのリモートリソースを使用する。これに対して、位置システム120の局面がローカルで存在する場合、位置システムは、データ処理ハードウェア116およびメモリハードウェア118などのデバイス110のローカルリソースを利用する。ここで、プレコンピュータ300がリモートで存在することの1つのこのような利点は、デバイス110が、ローカルリソースに重い負担をかけたりローカルリソースを消費したりする代わりに、リモートリソースを用いてGNSS位置特定機能を実行することができるというものである。
図1は、フルチャネルモデラ500がデバイス110上に存在することを示していないが、フルチャネルモデラ500の機能の一部または全部は、デバイス110上に存在するように構成されてもよい。言い換えれば、フルチャネルモデラ500は、完全にリモートで(たとえば、リモートシステム140上に)、完全にローカルで(たとえば、デバイス110上に)、またはそれら両方の何らかのハイブリッド組み合わせで存在してもよい。
【0044】
さらに
図1を参照して、第1および第2の衛星20a-bからの各反射信号22
REF-a,bは、過剰経路長24(たとえば、第1の過剰経路長24,24aおよび第2の過剰経路長24,24bとして示されている)を含む。上記のように、過剰経路長24は、反射信号22
REFの長さと同一の衛星20からのサイト信号のライン22
LOSの長さとの間の差である。たとえば、
図1は、第1の衛星20aについてのサイト信号のライン22
LOSの長さを、ユーザ10で終端する点線と第1の建物30,30aで終端する実線との組み合わせとして示している。このサイト信号のラインの長さに基づいて、第1の衛星20aからの反射信号22
REFの過剰経路長24aが反射信号22,22
REF-aに沿ったブロック部分として示されている。第2の衛星20bの過剰経路長24,24bも同様に示されている。
【0045】
従来のGNSS位置特定を実行するシステムでは、従来のシステムは、受信機114で実際に受信された信号22(たとえば、建物30によって妨害されない反射信号22
REF)の飛行時間TOF
REFを特定し、デバイス110の場所12を
図1に示される従来位置12,12a-b
CONにおいて解釈するであろう。言い換えれば、従来のシステムは、信号22が反射信号22
REFではなくサイト信号のライン22
LOSであると仮定して、従来位置12
CONを単に過剰経路長24の直線延長として計算する。複数の信号22が受信機114で受信される場合には、GNSS位置特定は、各衛星20について決定された場所12を組み合わせて集約位置を形成するであろう。ここで、従来のシステムは、第1の従来位置12,12a
CONと第2の従来位置12,12b
CONとを組み合わせて集約位置を形成するであろう。
図1から分かるように、従来の態様で実行されるGNSS位置特定プロセスは、受信機114を、受信機114の実際の位置12,12
Aと比較して道路の間違った側に位置しているものとして解釈するであろう。
【0046】
従来のGNSS位置特定システムの不正確を克服するために、位置システム120は、信号経路モデル化が、信号マッパ200を介してオンデバイスで、またはプレコンピュータ300を介してリモートで、計算効率のよい態様で信号経路を生成することを可能にする。信号経路モデル化がリモートで実行されるかローカルで実行されるかは、たとえば、どのGNSSベースのサービスがユーザ10によって使用されているか、またはデバイス110のタイプに依存し得る。たとえば、より高い処理およびメモリ能力を有するデバイス110は、信号経路モデル化を実行するように信号マッパ200を実現するのに対して、限定的な処理およびメモリ能力(たとえば、他のタスクに専用であったり、サイズが限られていたりする)を有するデバイス110は、プレコンピュータ300を実現する。いくつかの例において、GNSSベースの位置情報サービスは、信号マッパ200を使用する、ローカルでダウンロードされたアプリケーションであり、または、プレコンピュータ300を使用してリモートシステム140と通信するアプリケーションプログラミングインターフェイス(API:Application Programming Interface)である。
【0047】
図2A~
図2Cを参照して、信号マッパ200は、一般に、グリッドジェネレータ210と、ジオデータマネージャ220と、レイトレーサ230と、オプティマイザ240とを含む。グリッドジェネレータ210は、位置システム120から推定場所12
EST(推定位置とも称される)を受信するように構成されている。一般に、推定場所12
ESTとは、任意の投影座標または直交座標などの位置の任意の表現を指す。推定場所12
ESTは、従来のGNSS位置特定システムに基づいて受信機114が位置していると受信機114が思っている場所12(たとえば、信号22についてのサイトライン仮定に基づく従来場所12
CON)に対応し得る。他の例では、グリッドジェネレータ210は、(たとえば、従来のGNSS位置特定に基づいて)推定場所12
EST自体を生成する。どちらのアプローチでも、推定場所12
ESTを用いて、グリッドジェネレータ210は、推定場所12
ESTについて(すなわち、推定場所12
ESTに隣接して、または推定場所12
ESTから外向きに放射状に)複数の位置を生成し、複数の位置の各位置は、受信機114の実際の場所12
Aを表し得る候補位置214に対応する。したがって、受信機114の従来場所12
CONは不正確であるが、この従来場所12
CONは、複数の候補位置214が実際の位置12
Aを含まないほどには著しく不正確ではなさそうである。さらに、これが当てはまると思われる場合、グリッドジェネレータ210は、各候補位置214のサイズおよび/または推定場所12
ESTについて生成される候補位置214の数に関する分解能を調整するように構成され得る。
【0048】
いくつかの例において、推定場所12
ESTについての各位置が体系的に分析されることを保証するために、グリッドジェネレータ210は、複数の候補位置214をグリッド212として生成し、グリッド212における各点は、候補位置214を表す。たとえば、
図2Aは、グリッド212の中心が推定場所12
ESTであって、推定場所12
ESTを中心に各方向に(たとえば、北に、南に、東におよび西に)候補位置214が生成されているグリッド212を示している。グリッド212またはより一般的には複数の候補位置214は、受信機114が地球の表面に平行な平面上に位置し得る、可能性のある場所を表す。いくつかの実現例において、グリッドジェネレータ210が複数の候補位置214を生成する場合、グリッドジェネレータ210は、建物30または他の構造も考慮に入れることができる。たとえば、グリッドジェネレータ210は、建物30または他の構造があることが分かっている候補位置214を生成することを無視し得る。
【0049】
ジオデータマネージャ220は、都市環境100などのエリアの地理データ(ジオデータ)222を管理するように構成されている。いくつかの例において、ジオデータマネージャ220は、ジオデータ収集システムおよび/またはジオデータリポジトリから地理データ222を受信する。ジオデータマネージャ220は、ラスタタイル(たとえば、圧縮されたラスタタイル)の形式でジオデータ222を受信し得る。ここで、ラスタタイルは、ジオデータ収集システムまたはジオデータ提供システムが圧縮してジオデータマネージャ220に通信する、精度の低い浮動小数点型の疎な配列であり得る。いくつかの実現例において、ジオデータマネージャ220がジオデータ222を受信する場合、ジオデータ222は、特定の場所における地形および/または構造の特徴を説明する属性224を含む。特定の場所を説明するこれらの属性224は、平均海水面(たとえば、ジオイド平均海水面)に対する地上平面の高さを指す高さ、特定の場所における物体の高さを指す高さ、特定の場所における物体のタイプを示すクラス、特定の場所における物体のファサード(たとえば、建物30のファサード)の角度を指す1つまたは複数のファサード角度を含み得る。いくつかの例において、この特定の場所は、オープンスペース、建物または木のいずれかのクラスによって分類されてもよい。
【0050】
いくつかの実現例において、属性224は、ジオデータマネージャ220がある環境(たとえば、都市環境100)内の構造の多角形表現228を含むラスタ地
図226を形成するようにするための命令の役割を果たす。たとえば、これらの多角形表現228は、信号22の経路24に影響を及ぼし得る建物30、木(木の葉)または他の表現可能な構造の多角形モデルに対応し得る。いくつかの構成において、ジオデータマネージャ220は、1つまたは複数の候補位置214(たとえば、推定場所12
ESTについてのグリッド212)を受信して、ジオデータ222および属性224を使用してラスタ地
図226を生成する。ラスタ地
図226を生成する際に、ジオデータマネージャ220は、属性224を使用して、建物または木として分類された特定の場所(たとえば、候補場所214)の多角形表現228を構築し得る。ここで、属性224が建物を特定する場合、ジオデータマネージャ220は、当該場所における建物30の1つまたは複数のファサード角度(たとえば、
図2Aでは45度として示されている)を特定して、建物30の多角形表現228を構築する。たとえば、同一のファサード角度を有する一連の隣接した場所は、建物30の正面または側面に対応する多角形表現228の直線面を生成する。このプロセスでは、ジオデータマネージャ220は、ある場所における建物30のコーナー部を推論することもできる。なぜなら、対応する場所が複数のファサード角度(たとえば、多角形表現228の交差面では2つのファサード角度)を含むからである。ジオデータマネージャ220がラスタ地
図226を生成すると、ラスタ地
図226は、信号マッパ200を実行するデバイス110上に格納され得る。
【0051】
ジオデータマネージャ220は、さまざまな座標系で格納されたジオデータ222を管理するように構成され得る。たとえば、ジオデータマネージャ220は、球面座標(たとえば、緯度および経度を有する単純円筒図法)で格納されたジオデータ222を管理する。これらの構成では、ジオデータマネージャ220は、球面座標を投影してラスタ地
図226を生成するように構成されている。たとえば、ジオデータマネージャ220は、ラスタ地
図226を生成するために正距円筒図法(または、その何らかの変形例)を使用する。いくつかの例において、ジオデータマネージャ220は、ユニバーサル横メルカトル(UTM:Universal Transverse Mercator)座標系で格納されたジオデータ222を管理する。
【0052】
レイラウンチングとは、一般に、信号22についての光線または経路をシミュレーションする方法を指す。ここで、仮定上の位置(たとえば、候補位置214)が与えられると、レイランチャ230は、この仮定上の位置(たとえば、候補位置214)から複数の方向から光線を伝搬させることによって衛星20からの信号22の経路をシミュレーションする。伝搬光線の各々を各方向に追跡または発射することによって、レイランチャ230は、特定の光線が衛星20の既知の場所で終端するかどうかをモデル化する。言い換えれば、衛星20は、信号送信時にそれらの位置をブロードキャストするので、レイランチャ230は、逆向きに動作しようとし、信号22の受け手の仮定上の位置(たとえば、候補位置214)から衛星20のブロードキャストされた場所に光線を追跡しようとする。いくつかの例において、レイランチャ230は、いつレイラウンチングを実行するかを含むように1つまたは複数の衛星20のリストを受信する。ここで、このリストは、各衛星20の高度および方位角などの衛星情報を特定し得る。光線が既知の衛星場所(たとえば、高度および方位角)で終端する場合、レイランチャ230は、この光線を信号22の候補信号経路232として特定する。
【0053】
都市環境100で正確にレイラウンチングを実行するために、レイランチャ230は、都市環境100についての構造モデルもしくは建物モデルにアクセスでき、またはそのような構造モデルもしくは建物モデルを取得する。いくつかの例において、レイラウンチング中に使用される建物モデルのサイズを最小化するために、信号マッパ200のレイランチャ230は、ジオデータマネージャ220からラスタ地
図226を受信する。ラスタ地
図226を用いて、レイランチャ230は、候補位置214から特定の方向に光線を発射して、この光線がラスタ地
図226内の建物30の多角形表現228に出くわすかどうかを特定する。光線が多角形表現228に出くわすまたは多角形表現228と交差する場合、レイランチャ230は、多角形表現228との交点におけるファサード角度を特定して、建物30から離れていく方へのリダイレクト(たとえば、反射)をシミュレーションするために、多角形表現228から離れていく方へのリダイレクト(たとえば、反射、屈折、回折および/または散乱)として光線をどの角度で発射し続けるかを決定するように構成されている。たとえば、
図2Aは、候補場所214で発生して、第1の建物30,30aの第1の多角形表現228,228aから第2の建物30,30bの第2の多角形表現228,228bに反射する光線を表す矢印を示している。レイランチャ230は、光線が既知の衛星位置(たとえば、衛星20に対応する高度および方位角)で終端するかどうかを判断するために各光線を追跡し続ける。このレイラウンチング技術をラスタ地
図226と組み合わせて使用して、レイランチャ230は、レイラウンチング中に各反射点における散乱光線を考慮に入れて追跡することもできる。レイランチャ230は、木の葉(たとえば、木)および/または建物などのさまざまな構造における信号透過をモデル化することも可能であり得る。
【0054】
いくつかの実現例において、所与の候補位置214について、レイランチャ230は、当該候補位置214からの各方位角の光線および各方位角の各高度の光線を追跡する。レイランチャ230は、0度から360度の各方位角で0度高度から約90度高度まで候補位置214から径方向外向きに光線を伝搬させ得る。いくつかの例において、レイラウンチングの前に、レイランチャ230は、ラスタ地
図226から垂直プロファイルを抽出して、候補場所214からの光線が特定の方位角について特定の高度でどのように挙動するかを理解する。たとえば、
図2Aをさらに参照して、ラスタ地
図226は、基本的には、都市環境100の2.5次元表現である。言い換えれば、ラスタ地
図226は、各ピクセルが候補位置214(たとえば、x-y位置または経度および緯度)に対応する二次元ピクセルマップのように機能する。ここで、各ピクセルが当該ピクセルにおける物体の高さなどの属性情報を含んでいるという事実からさらなる0.5次元が生じる。この高さ情報から、レイランチャ230は、特定のピクセル(たとえば、候補位置214)における垂直面を導き出すことができ、この垂直面から、垂直面のどの部分が建物30などの物体によって占められているかを理解することができる。たとえば、
図2Aでは、ラスタ地
図226の属性224は、第1の建物30,30aが20メートルの高さを有していることを特定する。この情報に基づいて、レイランチャ230は、当該建物30によって占められているピクセルにおける垂直面が、0メートルから20メートルまでは占められているが、20メートルを超えると空いているまたはオープンであるだろうということを理解する。いくつかの例において、レイランチャ230は、ラスタ地
図226における各位置(すなわち、ピクセル)から高さ情報を抽出し、各位置についてデータアレイを構築して垂直高さ表現を生成する。全てのピクセルについての垂直高さ表現を組み合わせてマトリックスを形成する。この垂直高さ表現を用いて、レイランチャ230は、レイラウンチングを実行する際に、たとえば30メートルでは光線が建物30,30aによって反射されないことを特定することができる。さらに、レイランチャ230は、水平面上で光線を発射するが、この光線が通過するピクセルについての垂直高さ表現を参照することによって垂直面における光線の挙動を依然として理解することができる。これを、光線の反射の垂直角度が全て衛星の高度に等しい場合には光線が特定の高度における衛星20で終端する可能性が高くなるという一般的な経験則と組み合わせることによって、レイランチャ230は、最小限のデータストレージサイズのラスタ地
図226から光線挙動を正確にモデル化することができる。
【0055】
レイトレーシングは、方位角および高度のための再帰的なプロセスであるので、その再帰的な性質は、相当な計算時間およびメモリ使用量に加担する。メモリおよび処理消費量を最小化しようとするために、レイランチャ230は、レイラウンチングを実行する際に、1回のレイトレーシング中に生成された物体が後続のレイラウンチングでは不要になるかどうかを判断するように構成され得る。物体が不要になるとレイラウンチング230が特定する場合、レイランチャ230は、当該物体に関連するリソース消費量を減少させるために当該物体を削除するように構成されている。いくつかの例において、レイランチャ230は、各光線について算出される必要がある反射の回数を制限するための反射の閾値回数を含んでいるため、計算および処理時間が減少する。たとえば、反射の閾値回数が2という値に設定されると、レイランチャ230は、レイラウンチング230が光線の第3の反射を認識すると当該光線のレイラウンチングを終了する。追加的にまたは代替的に、レイランチャ230は、散乱光線を特定の散乱範囲に制限することによって、または反射からの散乱光線を無視してその代わりに完全な反射のみを発射することによって、処理リソース消費量を回避してもよい。
【0056】
レイラウンチングの結果として、レイランチャ230は、受信機114によって受信された信号経路に対応し得る1つまたは複数の候補信号経路232を決定するように構成されている。各候補信号経路232について、レイランチャ230は、経路特徴234も生成し得る。経路特徴234のいくつかの例としては、経路タイプ(たとえば、サイトラインまたは反射)、候補信号経路232に沿った減衰、過剰経路長24、候補信号経路232に沿った散乱角度の合計、および他の散乱情報が挙げられる。したがって、信号マッパ200は、レイランチャ230の機能を使用して、受信機114によって受信された実際の信号22に対応し得る1つまたは複数の候補信号経路232を特定する。いくつかの例において、経路特徴234は、候補信号経路232が実際の信号22に対応しそうかどうかを示す。
【0057】
図2Bおよび
図2Cを参照して、オプティマイザ240は、候補信号経路232を受信して、受信機114の実際の場所12
Aに対応しそうな候補信号経路232のうちの少なくとも1つに基づいて候補位置214を特定するように構成されている。いくつかの例において、候補信号経路232を使用して受信機114の実際の場所12
Aを特定する前に、オプティマイザ240は、レイランチャ230によって受信された候補信号経路232を事前処理するように構成されている。たとえば、
図2Cに示されるように、オプティマイザ240は、全ての同様の候補信号経路232を単一の集約候補信号経路242に集約する。いくつかの構成において、同様の候補信号経路232の集約を実行するために、オプティマイザ240は、2つまたはそれ以上の候補信号経路232が集約基準244を満たすかどうかを判断する。集約基準244を満たすためには、2つの候補信号経路232間の関係が2つの集約条件のうちの少なくとも1つを満たさなければならない。第1の条件は、2つの候補信号経路232の反射点間の距離に基づく。たとえば、2つの候補信号経路232の反射点間の累積距離は、調整可能な決定された値(たとえば、約50メートル)などの決定された値未満である。第2の条件は、2つの候補信号経路232の過剰経路長24間の差に基づく。たとえば、過剰経路長間の差は、調整可能な決定された値(たとえば、約50メートル)などの決定された値未満である。
【0058】
また、オプティマイザ240は、事前処理の一部として複数の候補信号経路232からの過剰経路長24を相関付けて、相関付けられた過剰経路長246を生成し得る。ここで、オプティマイザ240は、どのチップが複数の異なる電波経路を扱っているかをシミュレーションしようとしている。過剰経路長24を相関付けるために、オプティマイザ240は、集約された候補信号経路242、集約された候補信号経路242の過剰経路長24、集約された候補信号経路242の減衰、およびGNSS信号におけるチップの仮想サイズ(たとえば、単位はメートル)に対応するチップ長を受信する。いくつかの例において、オプティマイザ240は、相関付けられた過剰経路長246について不確実性Uの表現も生成する。
【0059】
候補信号経路232を事前処理する(たとえば、集約して相関付ける)ことによって、オプティマイザ240は、実際の信号22についての受信機114で受信された測定されたGNSS信号データとの類似性を比較する必要があるであろう候補位置214当たりの候補信号経路232の数を減少させる。たとえば、オプティマイザ240が各位置の各候補信号経路232と実際の信号22についての受信機114で受信された測定されたGNSS信号データ202とを比較することが可能であるものの、集約プロセスおよび相関付けプロセスの各々は、各候補場所214において比較される必要がある候補信号経路232の数を減少させる。事前処理技術が適用されようとそうでなかろうと、オプティマイザ240は、各候補位置214において、候補信号経路232(または、集約候補信号経路242)の各々と受信機114で受信された実際の信号22からの測定されたGNSS信号データ202とを比較する。この比較に基づいて、オプティマイザ240は、候補位置214に対応する候補信号経路232が実際の信号22からの測定されたGNSS信号データ202にどれぐらい近く一致するかを特定する各候補位置214の可能性248(たとえば、確率)(たとえば、
図2Cでは可能性248a-nとして示されている)を生成し得る。たとえば、受信機114で受信された信号22の飛行時間TOFから、受信機114は、疑似距離と、サイト信号のライン22
LOSの長さではなく反射信号22
REFの全長に実際に対応する受信機114から衛星20までの距離とを生成することができる。したがって、特定の候補位置214における候補信号経路232が、実際の信号22と同様の飛行時間TOFをもたらすであろう過剰経路長24を有する場合、当該候補信号経路232は、実際の信号22である可能性があり、これは、特定の候補位置214が受信機114の実際の場所12
Aでありそうであることを意味する。この原理に基づいて、オプティマイザ240は、候補位置214における候補信号経路232を比較して、候補位置214が受信機114の実際の場所12
Aである可能性248を決定することができる。また、いくつかの例において、第1の候補位置214aを囲む暗くなった枠によって
図2Bおよび
図2Cに示されるように、オプティマイザ240は、最大の可能性248を有する候補位置214を受信機114の実際の場所12
Aを表す候補位置214として選択するように構成されている。
【0060】
図3Aおよび
図3Bは、プレコンピュータ300の例である。プレコンピュータ300は、信号経路モデル化を事前に実行して、当該信号経路モデル化から得られた信号経路表現302をGNSS対応デバイス110に通信するように構成されている。プレコンピュータ300は、一般に、グリッドジェネレータ310と、レイランチャ320と、モデラ330とを含む。ここで、グリッドジェネレータ310は、オンデバイス信号マッパ200のグリッドジェネレータ210と同様に機能する。しかし、信号マッパ200のグリッドジェネレータ210とは異なって、グリッドジェネレータ310は、受信機114の推定場所12
ESTを受信しない。なぜなら、グリッドジェネレータ310は、既に、したがって受信機114が信号22を受信することから独立して、信号経路表現302を決定しているからである。推定場所12
ESTの代わりに、グリッドジェネレータ310は、エリアA
U(たとえば、都市環境100などの都市エリア)を受信して、エリアA
Uを複数の候補位置214に類似している複数の場所314に分割するように構成されている。ここで、グリッドジェネレータ310は、エリアA
Uを任意のソースから受信してもよく、またはエリアA
U自体を特定するように構成されてもよい。グリッドジェネレータ210と同様に、グリッドジェネレータ310は、複数の場所314を、グリッド312における各点が場所314を表すグリッド312として生成し得る。
【0061】
また、信号マッパ200と同様に、プレコンピュータ300は、レイランチャ320を含む。しかし、信号マッパ200のレイランチャ230とは対照的に、プレコンピュータ300のレイランチャ320は、リモートで(たとえば、リモートシステム140において)動作しており、デバイス110の処理リソースに制限されない。この理由で、プレコンピュータ300は、データサイズに気を使ったラスタ地
図226に対してレイラウンチングを実行しなくてもよい。むしろ、レイランチャ320は、エリアA
Uの三次元空間を表す任意の地形または構造モデルに対してレイラウンチングを実行して、レイトレーサ320がそれぞれの場所314から衛星20までの信号経路322を特定することを可能にし得る。レイランチャ230と同様に、プレコンピュータ300のレイランチャ320は、仮定上の位置(たとえば、エリアA
U内の場所314)を受信して、この仮定上の位置(たとえば、場所314)から複数の方向から光線を伝搬させることによって衛星20からの信号22の経路をシミュレーションするように構成されている。伝搬光線の各々を各方向に発射することによって、レイトレーサ320は、特定の光線が衛星20の既知の場所(たとえば、高度および方位角)で終端するかどうかをモデル化する。特定の光線が衛星20で終端する場合、レイランチャ320は、当該光線を信号経路322として特定する。レイランチャ320は、エリアA
Uに対してレイラウンチングを実行するので、レイランチャ320は、サイト信号のラインの経路322,322
LOSと反射信号経路322,322
REFとを含み得る各場所314についての信号経路322を生成する。全ての可能性のある信号経路322を取り込むために、レイランチャ320は、各場所314について、各高度において各方位角で光線を発射するように構成されている。ここで、レイランチャ320は、0度から360度までの各方位角において0度高度から約90度高度まで各場所314から径方向外向きに光線を伝搬させ得る。
【0062】
モデラ330は、信号経路322をレイランチャ320から受信して、レイランチャ320によって特定された信号経路322の、スペース効率がよいが包括的な表現(たとえば、信号経路表現302)を生成するように構成されている。信号経路表現302は、デバイス110に通信されるため、サイズに気を使った表現である。たとえば、デバイス110が特定の位置についての要求160をプレコンピュータ300に送信する場合、プレコンピュータ300は、当該位置と場所314とをマッチングして、要求された位置に一致する場所314の信号経路表現302を用いて要求160に応える。これらの要求160は、デバイス110が位置特定にプレコンピュータ300を使用する場合に頻繁に発生し得るので、モデラ330は、位置特定を減速させてユーザエクスペリエンスの低下をもたらすことのない表現サイズを生成しようとする。
【0063】
いくつかの例において、モデラ330は、全ての衛星またはそれらの何らかの指定されたサブセットの単一の場所314における信号経路322を表すための表現302を生成する。たとえば、
図3Aおよび
図3Bは、特定の場所314のための表現302を示している。レイランチャ320は、各高度当たりの各方位角(たとえば、最も近い整数角度に丸められる)について信号経路322を生成しているので、モデラ330は、全ての方位角および高度を伝達する表現を生成する。いくつかの例において、モデラ330は、反射信号経路322
REFとサイト信号のラインの経路322
LOSとを区別することによって、各場所314のための表現302を生成する。モデラ330が全ての反射信号経路322
REFを特定すると、モデラ330は、全ての反射信号経路322
REFを1つまたは複数の方位角範囲332に離散化する。離散化とは、データを有限のインターバルセットに変換して、各インターバルに何らかの特定のデータ値を関連付ける技術を指す。ここで、離散化プロセスは、反射信号経路322
REFを方位角範囲332に離散化する。たとえば、
図3Aおよび
図3Bは、3つの方位角範囲332,332a-cを示しており、第1の方位角範囲332aは280~330度に対応し、第2の方位角範囲332bは70~190度に対応し、第3の方位角範囲332cは25~70度に対応する。表現302(または、空白)内に方位角範囲332が無ければサイト信号のラインの経路322
LOSであると推論され得るので、モデラ330は反射信号経路322
REFに注目する。したがって、空白または負は、正の空間(すなわち、方位角範囲332)と同様に、信号経路のタイプについての情報を伝達することができる。これは、特定の場所314において信号経路322がどのように発生しているかに関して空白が依然として意味を持つことを可能にしながら、圧縮技術が空白を圧縮または除去することを可能にする。
【0064】
いくつかの実現例において、各方位角範囲332について、モデラ330は、1つまたは複数の移行高度334を決定し、移行高度334は、反射信号経路322
REFがサイト信号のラインの経路322
LOSに移行する高度の程度(たとえば、最も近い角度に丸められる)に対応する。モデラ330が1つまたは複数の移行高度334を決定すると、モデラ330は、1つまたは複数の移行高度334を表現302の中に含め得る。言い換えれば、エリアA
U(たとえば、都市エリア)では、建物30が背が高い可能性があるが、信号経路が衛星20に遮られなくなる高度がありそうである。ここで、信号経路322が反射からサイトラインに変化する高度が移行高度334と称される。都市環境100の性質のために、同一の方位角範囲332内の反射信号322
REFが同一の構造から反射しているということは、しばしばあり得ることである。したがって、移行高度334も各方位角範囲332にわたって離散化され得る。たとえば、
図3Aおよび
図3Bは、第1の移行高度334,334aを有する第1の方位角範囲332a、第2の移行高度334,334bを有する第2の方位角範囲332,332b、および第3の移行高度334,334cを有する第3の方位角範囲332,332cを示している。離散化の際に、方位角範囲332内の反射信号経路322
REFの間にはわずかな相違があり得るが、離散化プロセスは、値のセットの範囲を特定の値として表すことができる。たとえば、離散化プロセスは、移行高度334のインターバルを単一の値として表す。言い換えれば、離散化プロセスは、特定のインターバルに合わせて、または特定の値に従ったインターバルを表すように調整され得る。一例として、第1の方位角範囲332は、42度、57度および49度という移行高度334を有する3つの反射信号経路322
REFを含み得る。ここで、離散化プロセスは、40度~60度の高度の間の任意の移行高度334を50度として表し得る。
【0065】
図3Bを参照して、モデラ330は、各反射信号経路322
REFの過剰経路長24の表示を有する特定の場所314のための表現302も生成し得る。たとえば、モデラ330は、サイズおよび/または色合いが過剰経路長24に対応する多角形領域を有する表現を生成する。方位角範囲332および移行高度334と同様に、モデラ330は、反射信号経路322
REFの過剰経路長も離散化し得る。関連付けのために、このプロセスは、信号マッパ200において信号経路を集約して相関付ける事前処理に若干似ている。集約/相関付け技術は、一般に効果的である。なぜなら、2つ以上の信号経路22が非常に近接していて同様の過剰経路長24を有している可能性があるからである。ここで、モデラ330は、表現302に対して同様のアプローチをとり、離散化および/または多角形領域を使用して、同一の方位角範囲332内に発生する同様の過剰経路長24を表す。いくつかの例において、モデラ330は、ボロノイベースの圧縮を使用して反射信号経路322
REFの過剰経路長24を離散化して、離散化された過剰経路長を多角形表現として生成する。
【0066】
上記のように、モデラ330は、一般に、デバイス110に容易に通信され得る表現302を生成することを目指している。いくつかの例において、表現302は、疎データアレイとして格納されるように構成されている。疎データアレイとして、疎データアレイでは0である要素は、表現302の負の空間に対応し得る。たとえば、疎データアレイにおける0の値は、サイト信号のラインの経路322LOSを示しており、反射信号経路322REFが無い(すなわち、反射信号経路22REFが表現302では正に表される)ことも示している。表現302が疎データアレイデータ構造を有することによって、表現302も圧縮可能であり得て、これは、表現302をさらに小さなサイズでデバイス110に通信することを可能にする。
【0067】
(たとえば、信号マッパ200またはプレコンピュータ300による)信号モデル化、より特定的には信号経路長モデル化は、単独で、受信機114の実際の場所12
Aを特定するアプローチであり得るが、このアプローチは、受信機114の実際の場所12
Aの特定をさらに向上させることを目的として、他のアプローチと組み合わせられてもよい。
図4を参照して、グリッドサーチャ400は、複合損失関数(たとえば、損失関数420として示されている)を使用して、サーチグリッド406における各候補場所404についての全体確率402を生成し、損失関数全体は、2つ以上のGNSS位置特定技術(たとえば、シャドーマッチング、経路長計算、ドップラ効果、環境など)からの2つ以上の損失関数を組み込んでいる。一般に、特定のGNSS位置特定技術の各損失関数は、測定されたGNSS信号データ202と比較して、受信機114が特定の位置にある可能性または確率を、当該特定の位置における予測測定値に基づいて独立して生成することができる。2つ以上の損失関数を組み込むことによって、グリッドサーチャ400は、2つ以上の基礎をなす確率または可能性に基づいて確率402のグリッド406を構築することができ、グリッド406の各候補場所404は、それが受信機114の実際の場所12
Aである確率402を有する。したがって、この複合アプローチは、グリッドサーチャ400が、受信機114の実際の場所12
Aを決定するために単一のタイプの確率に頼らないことによって、よりロバストになることを可能にする。さらに、この技術は、GNSS位置特定技術が実際の場所12
Aであるかもしれないとして複数の場所を生成しているように思われる状況の回数を減らすことができる。
【0068】
引き続き
図4を参照して、グリッドサーチャ400は、シャドーマッチャ410と、損失関数420とを含む。ここで、シャドーマッチャ410は、候補場所404が実際の場所12
Aに対応し得るシャドーマッチング確率412(すなわち、シャドーマッチングのGNSS位置特定技術を使用した第1の確率)を生成するように構成されている。いくつかの例において、シャドーマッチャ410は、測定されたGNSS信号データ202を(たとえば、受信機114から)受信または取得する。測定されたGNSS信号データ202から、シャドーマッチャ410は、測定されたGNSS信号データ202に基づいて特定の衛星20からの信号22の信号強度を特定するように構成されている。特定の衛星20からの信号22の信号強度に基づいて、シャドーマッチャ410は、受信機114が(たとえば、測定されたGNSS信号データ202からの)特定された信号強度に対応する特定の衛星20の信号強度を示し得る1つまたは複数の候補場所404を決定する。この決定を使用して、シャドーマッチャ410は、シャドーマッチング確率412を生成し得る。たとえば、シャドーマッチャ410は、測定されたGNSS信号データ202の信号強度がそれぞれの候補位置404における受信機114の予想信号強度にどれぐらい近く一致するかを特定する確率412を各候補場所404において生成する。いくつかの例において、シャドーマッチャ410は、GNSS信号データ202(たとえば、C/N
0測定値)が特定の衛星20の強い信号22を示すか弱い信号22を示すかを判断する。GNSS信号データ202が特定の衛星20の強い信号22を示す場合、シャドーマッチャ410は、当該特定の衛星20の信号22が強いであろうグリッド406の部分(たとえば、1つまたは複数の候補場所404)を特定する。これに対して、GNSS信号データ202が特定の衛星20の弱い信号22を示す場合、シャドーマッチャ410は、当該特定の衛星20の信号22が弱いであろうグリッド406の部分を特定する。シャドーマッチャ410が、(たとえば、測定されたGNSSデータ202からの)特定の衛星20の測定された信号強度(たとえば、高い測定された信号強度)に一致する特定の衛星20の予想信号強度(たとえば、高い信号強度)を有するグリッド406の部分(たとえば、1つまたは複数の候補位置)を特定するこの例では、シャドーマッチャ410は、これらの信号強度が高い相関性を有することを表すために高い確率を生成する。これに対して、シャドーマッチャ410が、特定の衛星20の測定された信号強度に一致しない特定の衛星20の予想信号強度を有するグリッド406の部分(たとえば、1つまたは複数の候補位置404)を特定する場合、シャドーマッチャ410は、これらの信号強度が低い相関性を有することを表すために低い確率を生成する。
【0069】
いくつかの構成において、シャドーマッチャ410は、(たとえば、環境100の)構造地図または地形地図にアクセスでき、またはこのような地図で構成されて、シャドーマッチャ410が特定の候補場所404における信号22の信号強度(たとえば、予想信号強度、予期信号強度または予測信号強度)を特定することを可能にする。構造地図を用いて、シャドーマッチャ410は、特定の衛星20のサイトラインを遮るであろう構造地図内の物体を特定することができる。この特定に基づいて、シャドーマッチャ410は、それぞれの物体が候補位置404から特定の衛星20までのサイトラインを遮るかどうかに基づいて各候補位置404を分類するように構成されている。ここで、シャドーマッチャ410は、それぞれの物体が候補位置404から特定の衛星20までのサイトラインを遮るかどうかの分類に基づいて、候補位置404(たとえば、各候補位置)における信号22の予測信号強度(予想信号強度とも称される)を生成し得る。たとえば、建物30などの物体が候補位置404までのサイト信号のラインの経路22
LOSを遮る場合、候補位置404における衛星信号22は弱い。示されるように、
図4では、特定の衛星20が太陽の方向を向いているとすると、その測定されたGNSS信号データ202で弱い信号22を測定する受信機114は、灰色の候補場所404に存在していそうである。なぜなら、特定の衛星20は、建物30によって妨害されるからである。ここで、シャドーマッチャ410は、この信号強度に対応する1つまたは複数の候補場所404を特定して、白色の候補場所404よりも灰色の候補場所404の方が大きいシャドーマッチング確率414を生成する。
【0070】
いくつかの実現例において、シャドーマッチャ410は、レイラウンチングと協働して、適切な信号強度を有するであろう候補場所404を特定する。いくつかの例において、レイランチャ230,320は、グリッド406における各候補場所404についてサイトライン値の確率をシャドーマッチャ410に提供する。サイトライン値の確率を用いて、シャドーマッチャ410は、このサイトライン値の確率に基づいて所与の候補位置404における特定の衛星20からの信号22の予想信号強度を決定し得る。たとえば、候補位置404における特定の衛星20のサイトライン値の確率が高い場合、シャドーマッチャ410は、候補位置404において受信機114がサイト信号のライン20LOSを受信する可能性が高いことに起因して、この位置404における当該衛星20の予想信号強度が高いであろうと判断する。言い換えれば、サイト信号のライン20LOSは、リダイレクトされた信号20REFよりも高い信号強度を示す。これに対して、候補位置404における特定の衛星20のサイトライン値の確率が低い場合、シャドーマッチャ410は、候補位置404において受信機114がサイト信号のライン20LOSを受信する可能性が低い(すなわち、受信機114がサイト信号のライン20LOSではなくリダイレクトされた信号20REFを受信しそうである)ことに起因して、この位置404における当該衛星20からの信号20の予想信号強度が低いであろうと判断する。これは有利であろう。なぜなら、それは、レイランチャ230,320が出力するのが比較的容易(すなわち、計算上手頃)であり、シャドーマッチャ410の処理も簡略化するからである。
【0071】
損失関数420は、2つまたはそれ以上の損失関数を受信し、各候補場所404について、入力された確率/損失関数に基づいて全体確率402を生成するように構成されている。たとえば、損失関数420は、第1のGNSS位置特定技術(たとえば、シャドーマッチング技術)から第1の確率を受信し、第2のGNSS位置特定技術(たとえば、EPL算出技術)から第2の確率を受信する。
図4の例では、損失関数420は、レイランチャ230,320によって決定された過剰経路長24に基づいて、シャドーマッチング確率412(たとえば、シャドーマッチング損失関数を表す)および疑似距離残差損失関数を受信する。ここで、疑似距離残差損失関数とは、所与の候補場所404における測定された疑似距離誤差(たとえば、測定されたGNSS信号データ202の一部)と予想疑似距離誤差との間の差を指す。予想疑似距離誤差は、過剰経路長に基づくのに対して、測定された疑似距離誤差は、候補場所404における測定された疑似距離と予想疑似距離との間の差である。たとえば、候補場所404における予想疑似距離を生成するために、候補場所404の過剰経路長は、サイト信号のライン22
LOSに基づいて候補場所404と衛星20との間の距離と組み合わせられる。ここで、損失関数420は、レイラウンチングによって過剰経路長24を受信するようにレイランチャ230と通信し得る。
図4は、グリッドサーチャ400、より具体的には損失関数420が、相関付けられた過剰経路長246をランチャ230から受信することを示している。ランチャ230からの相関付けられた過剰経路長246を使用することによって、グリッドサーチャは、さらなる処理を回避することができる。なぜなら、相関付けられた過剰経路長246は、候補位置214の過剰経路長24の1つの表現であるからである。追加的にまたは代替的に、複合損失関数420は、他の損失関数を受信してもよい。たとえば、複合損失関数420は、以前の場所の予備知識を使用する予備知識損失関数を受信して、以前の場所から閾値距離よりも大きい(たとえば、遠すぎる)候補場所404にペナルティを科す。いくつかの例において、複合損失関数420は、損失関数に対応する2つまたはそれ以上の確率グリッドを受信し、これらの2つまたはそれ以上の確率グリッドを重ね合わせて確率402のグリッド406を構築する。
【0072】
再び
図1を参照して、位置システム120は、位置システム120のクライアント150と通信するように構成されている。いくつかの例において、クライアント150とは、受信機114のためのハードウェアを生成するエンティティ(たとえば、GNSSチップセット生成器)を指す。位置システム120は、GNSSチップセットの性能またはチップセットに対する改良に関するフィードバック122をクライアント150に提供し得る。フィードバック122を用いて、クライアント150は、提供された知識に基づいてそれらのデバイスを改良することに適用可能であり得る。クライアント150に通信され得るフィードバック122の一部は、受信機114の位置特定精度を向上させる算出値、各々の目に見える(すなわち、利用可能な)衛星がレイランチャ230によって決定されるようなサイトラインである確率、信号マッパ200またはプレコンピュータ300からの過剰経路長修正、および反射信号経路322
REFの反射面情報(たとえば、信号経路322
REFがどのように反射しているかについての垂直高さ表現)を含む。クライアント150は、このフィードバック122を使用して、反射信号22
REFを考慮に入れることができないチップセット上での初期の計算をアップグレードまたはさらに支援し得る。たとえば、信号がサイト信号のライン22
LOSである確率を用いて、エンティティは、疑似距離に適切な重みを与えたり、速度推定の向上のためにドップラの重み付けを解除したり、および/または、疑似距離を平滑化したりすることが可能であり得る。過剰経路長修正によって、クライアント150は、位置不正確を生じさせるサイトライン仮定を修正するように過剰経路長を組み込むことが可能であり得る。反射面に関する情報は、受信機114による速度計算を修正するのに使用され得る。
【0073】
いくつかの例において、受信機114の場所のグリッドベースのサーチは、いくつかのマイナス面を有し得る。たとえば、位置システム120が各衛星20について単一の過剰経路長24を決定する場合、グリッドベースの方法は、グリッド内に2つ以上の最良の候補を生じさせる可能性がある。たとえば、位置システム120が同様の過剰経路長24を決定する場所がいくつかある場合がある。このような状況では、位置システム120は、フルチャネルモデラ500を利用することによって受信機114の実際の場所12Aについて複数の解を回避することができる。フルチャネルモデラ500は、複数の信号経路を同時にモデル化することによって、複数の解を有する状況を減らすまたは最小化することができる。たとえば、フルチャネルモデラ500は、単一の過剰経路長24ではなく、各衛星20について複数の過剰経路長24を同時に評価し得る。ここで、衛星20の信号経路のフルチャネルをモデル化するために、フルチャネルモデラ500は、電波スペクトルの高分解能周波数帯域において信号22を受信することができる位置システム120を利用する。言い換えれば、従来は、衛星20は、GNSS通信用に指定されたLバンドのL1周波数帯域において信号22をブロードキャストしていた。しかし、最近になって、衛星20は、GNSS通信用に指定されたLバンドのL5周波数帯域において信号22をブロードキャストするように進化してきた。比較のために、L5周波数帯域におけるGNSS信号は、L1周波数帯域における対応する信号の10倍の分解能を有する。この高い分解能により、リダイレクトされた信号22は、位置システム120がはるかにはっきりと認識できるようなものであると思われ、これは、フルチャネルモデラ500が、各衛星20からの信号22のフルチャネルをモデル化して、信号22のモデル化されたフルチャネルとGNSS信号測定値(たとえば、GNSS信号データ202)とをより高い分解能で比較することを可能にする。ここで、信号22のフルチャネルとは、対象の周波数帯域(たとえば、L5帯域)における特定の衛星20から受信機114までの全ての可能な経路を指す。信号22のフルチャネルを正確にモデル化することによって、フルチャネルモデラ500は、位置システム120による位置特定がより高い分解能を有することを可能にし、そのため、受信機114の実際の場所12Aについて複数の解を生成する可能性を低くすることを可能にする。
【0074】
図5Aおよび
図5Bを参照して、フルチャネルモデラ500は、一般に、グリッドジェネレータ510と、レイランチャ520とを含む。ここで、グリッドジェネレータ510は、オンデバイス信号マッパ200のグリッドジェネレータ210および/またはプレコンピュータ300のグリッドジェネレータ310と同様に機能する。グリッドジェネレータ510は、推定場所12
EST(推定位置とも称される)を位置システム120から受信するように構成されている。一般に、推定場所12
ESTとは、任意の投影座標または直交座標などの位置の任意の表現を指す。推定場所12
ESTは、従来のGNSS位置特定システムに基づいて受信機114が位置していると受信機114が思っている場所12(たとえば、信号22についてのサイトライン仮定に基づく従来場所12
CON)に対応し得る。他の例では、グリッドジェネレータ510は、(たとえば、従来のGNSS位置特定に基づいて)推定場所12
EST自体を生成する。どちらのアプローチでも、推定場所12
ESTを用いて、グリッドジェネレータ510は、推定場所12
ESTについて(すなわち、推定場所12
ESTに隣接して、または推定場所12
ESTから外向きに放射状に)複数の位置を生成し、複数の位置の各位置は、受信機114の実際の場所12
Aを表し得る候補位置514に対応する。いくつかの例において、推定場所12
ESTについての各位置が体系的に分析されることを保証するために、グリッドジェネレータ510は、複数の候補位置514をグリッド512として生成し、グリッド512における各点は、候補位置514を表す。たとえば、
図5Aは、グリッド512の中心が推定場所12
ESTであって、推定場所12
ESTを中心に各方向に(たとえば、北に、南に、東におよび西に)候補位置514が生成されているグリッド212を示している。グリッド512、またはより一般的には複数の候補位置514は、受信機114が地球の表面に平行な平面上に位置し得る可能性のある場所を表す。
【0075】
また、信号マッパ200およびプレコンピュータ300と同様に、フルチャネルモデラ500は、レイランチャ520を含む。ここで、レイランチャ520は、エリア(たとえば、グリッドエリア)の三次元空間を表す任意の地形または構造モデルを使用してレイラウンチングを実行して、レイランチャ520がそれぞれの位置514から衛星20までの信号経路522を特定することを可能にし得る。レイランチャ230,320と同様に、レイランチャ520は、仮定上の位置(たとえば、エリアまたはグリッド512内の位置514)を受信して、この仮定上の位置(たとえば、場所314)から複数の方向から光線を伝搬させることによって衛星20からの信号22の経路をシミュレーションするように構成されている。伝搬光線の各々を各方向に発射することによって、レイランチャ520は、特定の光線が衛星20の既知の場所(たとえば、高度および方位角)で終端するかどうかをモデル化する。特定の光線が衛星20で終端する場合、レイランチャ520は、当該光線を信号経路522として特定する。レイランチャ520は、サイト信号のラインの経路および/またはリダイレクト信号経路(たとえば、反射信号経路)を含み得る信号経路522を各位置514について生成し得る。いくつかの構成において、全ての可能性のある信号経路522を取り込むために、レイランチャ520は、各位置514について、各高度(または、その何らかの角度)において各方位角で光線を発射するように構成されている。
【0076】
レイラウンチングの結果、レイランチャ520は、受信機114によって受信された信号22に対応し得る1つまたは複数の候補信号経路522,522a-nを決定するように構成されている。各候補信号経路522について、レイランチャ520は、(たとえば、レイランチャ230と同様に)経路特徴も生成し得る。経路特徴のいくつかの例としては、経路タイプ(たとえば、サイトラインまたは反射)、候補信号経路522に沿った減衰(たとえば、経路中に発生する反射の回数)、過剰経路長24、候補信号経路522に沿った散乱角度の合計、および他の散乱情報が挙げられる。ここで、オプティマイザ240のように候補信号経路522を最適化する代わりに、フルチャネルモデラ500のレイランチャ520は、所与の位置514における全ての候補信号経路522のモデル化された表現524を生成するように構成されている。たとえば、レイランチャ520は、過剰経路長ベクトル526をモデル化された表現524として生成し、過剰経路長ベクトル526は、レイランチャ520によって特定された各候補信号経路522の過剰経路長24を含む。示されるように、
図5Aは、所与の位置514において、レイランチャ520が各衛星20について複数の候補信号経路522,522a-nを特定することを示している。ここで、レイラウンチングに基づいて受信機114が利用可能であるように思われる衛星20は3つあり(たとえば、Sat1,Sat2,Sat7として示される)、各衛星20は、過剰経路長24によって表される1つまたは複数の候補信号経路522を含むそれ自体の過剰経路長ベクトル526,526a-cを有し得る。特定の位置514における各衛星20の過剰経路長ベクトル526などの表現524を生成することによって、フルチャネルモデラ500は、モデル化された表現524(たとえば、過剰経路長ベクトル526)と位置システム120(たとえば、受信機114)によって受信された実際のGNSS測定値(たとえば、GNSS信号データ202)とを比較することができる。受信された信号22が(たとえば、L5帯域において)高い分解能を有する場合に位置システム120はフルチャネルモデラ500を使用するので、モデラ500は、複数の候補信号経路522の表現524と複数のGNSS信号測定値とを比較することができる。(たとえば、候補位置514のグリッド512の)全ての位置514についてのこの比較に基づいて、フルチャネルモデラ500は、全ての可能性のある位置514のうち、モデル化された表現524と実際のGNSS測定値との間の最良適合を有する位置514を決定する。ここで、モデラ500は、最良適合(または、最も近い一致)を有する位置514を、受信機114のもっともらしい実際の場所12
Aとして特定し得る。いくつかの例において、モデラ500は、モデル化された表現524と実際のGNSS測定値との間の比較に基づいて各位置514について可能性を生成するように構成されている。これらの例では、モデラ500は、全ての位置514のうち、最大の可能性を有する位置514を、受信機114の実際の場所12
Aとして選択し得る。
【0077】
図5Aなどのいくつかの例において、モデラ500は、レイランチャ520からのモデル化された表現524と実際のGNSS測定値との間の比較を実行するように構成されたコリレイタ530も含む。ここで、コリレイタ530は、信号22の疑似距離を決定するのに使用される従来の相関付け技術を、レイランチャ520からのモデル化された表現524と実際のGNSS測定値との間の比較を実行するように適合させ得る。一般的に言って、従来の技術は、受信された信号22と受信された信号22のローカルに生成されたレプリカとの間の相関付け結果のピークと、当該ピークに対応する遅延とを検出することによって、疑似距離として知られている衛星20から受信機114までの距離を測定する。従来のアプローチでは、疑似距離は、この相関付け結果の最初に検出されたピークまたは最初に測定されたピークに対応する。ここで、GNSS測定値に基づいて複数のピークが存在得るとしても、従来のアプローチは、一般に、最初に検出または測定されたピークのみを疑似距離であると考え、一般的にはリダイレクト信号経路からのものである後続のまたはその後のピークはいずれも、一般に無視される。他のピークを無視することによって、従来のアプローチは、相関付け情報を無視するが、この相関付け情報は、受信機114の実際の場所12
Aを決定するのに貴重であろう。たとえば、この無視された相関付け情報は、レイランチャ520からのモデル化された表現524と実際のGNSS測定値との間のより詳細な比較を実行するための追加情報を提供し得る。より詳細な比較を実行することによって、モデラ500は、受信機114の2つまたはそれ以上の可能性のある場所を区別することが可能であり得る。
【0078】
コリレイタ530は、GNSS信号22を衛星20から受信し、相関付け動作を実行して、衛星20から受信されたGNSS信号のGNSS信号測定値(たとえば、GNSS信号データ202)に基づいて、測定された相関ベクトル532を生成するように構成されている。たとえば、相関ベクトル532とは、1つまたは複数の信号22(たとえば、特定の衛星20からの全ての信号)に対する相関付け動作中の全ての可能な信号遅延の応答を指す。ここで、
図5Aの点線の枠に示されるように、相関付け動作は、受信された信号22のローカルコピーを生成し、相関付け動作が1つまたは複数のピーク(たとえば、簡略化のために点線の枠内に1つのピークとして示されている)を特定するまで、受信された信号22に沿ってこのローカルコピーを移動させる。信号22がL5帯域周波数を有する場合、コリレイタ530は、L1周波数信号の拡散コードよりもレートが高い拡散コードを有する信号22を受信する。高いレートでは、低いレートと比較して、コリレイタ530がピークを特定するためにローカルコピー(たとえば、遅延に対応する)を移動させなければならない量は一般に少なく、これは、特定の衛星20から受信された信号22からコリレイタ530がある期間にわたって特定することができる個別のピークの数が多くなるかもしれないということを意味する。
【0079】
いくつかの例において、コリレイタ530は、1つまたは複数の測定された相関ベクトル532とモデル化された表現524とを比較するために、各衛星20(たとえば、利用可能な衛星)について測定された相関ベクトル532を決定する。いくつかの実現例において、コリレイタ530は、モデル化された表現524を、測定された相関ベクトル532とモデル化された表現524との間の比較を促進するフォーマットに変換するように構成されている。たとえば、モデル化された表現524が特定の位置514における特定の衛星20の過剰経路長ベクトル526である場合、コリレイタ530は、特定の位置514における特定の衛星20の過剰経路長ベクトル526と同一の衛星20の測定された相関ベクトル532との間の相関付け動作(すなわち、ベクトル対ベクトル比較)を実行し得る。たとえば、
図5Aは、コリレイタ530が、位置システム120における実際の受信されたGNSS測定値に基づいて、第1の実際の過剰経路長EPL1
Aおよび第2の過剰経路長EPL2
Aとして示される2つのピークを含む測定された相関ベクトル532を特定することを示している。ここで、コリレイタ530は、この測定された相関ベクトル532をプロットして、測定された相関ベクトル532のプロットされた表現とモデル化された表現524(たとえば、過剰経路長ベクトル526)とを比較する。この例では、過剰経路長ベクトル526は、レイランチャ520によって特定された候補信号経路522に対応する2つのモデル化された過剰経路長EPL1
MおよびEPL2
Mを含む。ここで、コリレイタ530は、特定の位置514における特定の衛星20のモデル化された表現524と測定された相関ベクトル532との間の差を特定するための機能として相関付け動作を実行するように構成されている。言い換えれば、相関付け動作は、モデル化された表現524が特定の位置514における相関ベクトル532にどれぐらい近く一致しているかを表すまたは特定する損失関数(すなわち、位置514についてのローカル損失関数または最良適合関数)として動作し得る。
【0080】
図5Aに示される例から分かるように、相関付け動作は、モデル化された表現524と測定された相関ベクトル532との間の相関付け534をもたらす。相関付け534は、2つの関数(たとえば、モデル化された表現524および測定された相関ベクトル532)の間の差または変動を表すさまざまな統計的アプローチから形成され得る。これらの統計的アプローチは、単純な差から、2つの関数間の相違または標準偏差を表すより複雑な回帰モデル化手法(たとえば、残差平方和)まで幅があり得る。一例として、
図5Aは、相関付け534を、モデル化された表現524の各々のプロットされた表現と測定された相関ベクトル532との間の差として示している。相関付け534は、極大などの極値(たとえば、
図5Aでは「X」を有する点によって示されている)を特定し得て、モデラ500は、この極値を、特定の位置514におけるモデル化された表現524と測定された相関ベクトル532との間の代表的な損失または差をして使用し得る。いくつかの構成において、候補位置514のグリッド512内の各位置514における代表的な損失を用いて、モデラ500は、次いで、最低の損失を有する位置514を、モデル化された表現524と測定された相関ベクトル532とが最も近く一致する位置514として選択し得る。
【0081】
特定の位置514における全ての衛星20のチャネル全体をモデル化し、このモデル化された結果(たとえば、モデル化された表現524)と受信機114によって受信された全てのGNSS信号データとを比較することによって、フルチャネルモデラ500は、各衛星のフルチャネル未満をモデル化し得るかまたはフルチャネル未満を使用して受信機114の実際の場所12Aを予測し得る他の技術と比較して、モデラ500が選択する位置514が受信機114の実際の場所12Aである可能性を高める。いくつかの構成において、フルチャネルモデル化プロセスは、位置システム120が、(より従来の位置特定システムのように)必ずしも複数の衛星20を使用しなくても単一の衛星20から受信機114の実際の場所12Aを予測することを可能にし得る。これは、フルチャネルモデル化プロセスが衛星20のモデル化された表現と当該特定の衛星20の測定された信号データとを比較する際に複数のデータポイントを使用するという事実に提供され得る。
【0082】
図5Bなどのいくつかの実現例において、各位置514において各衛星20について相関付け動作を実行する代わりに、コリレイタ530は、利用可能なそれぞれの衛星20の測定された相関ベクトル532を連結して、信号測定値のチャネル全体を表す連結された相関ベクトル536を形成するように構成されている。たとえば、
図5Bは、コリレイタ530が、2つの衛星20(たとえば、Sat1およびSat7として示されている)に対応する信号測定値に基づいて、連結された相関ベクトル536を生成することを示している。ここで、第1の衛星Sat1は、受信機114が受信する信号22を3つの測定されたピーク(たとえば、実際の測定された過剰経路長に対応する)としてブロードキャストし、第2の衛星Sat7は、受信機114が受信する信号22を2つの測定されたピークとしてブロードキャストした。さらに、全ての衛星20(たとえば、全ての利用可能な衛星)のこの連結された相関ベクトル536を特定の位置514におけるモデル化された表現524と比較するために、コリレイタ530は、当該特定の位置514のモデル化された表現524も連結し得る。たとえば、モデル化された表現524が特定の位置514における複数の衛星20の過剰経路長ベクトル526に対応する場合、コリレイタ530は、位置514における全ての衛星20の連結された相関ベクトル534との比較のために、これらの過剰経路長ベクトル526の全てを連結する。
図5Bは、モデル化された表現524が、所与の位置514における同一の2つの衛星20(たとえば、Sat1およびSat7)の候補信号経路522を含むことを示している。ここで、モデル化された表現524は、第1の衛星Sat1のための3つのモデル化された過剰経路長EPL1-3
Mと、第2の衛星Sat7のための2つのモデル化された過剰経路長EPL4-5
Mとを含む。次いで、コリレイタ530は、所与の位置514における全ての衛星に対して(たとえば、ローカル損失関数として)相関付け動作を実行して、特定の位置514における全ての利用可能な衛星20のモデル化された表現524と測定された相関ベクトル532との間の差を生成し得る。いくつかの例において、モデラ500は、次いで、受信機114の実際の場所12
Aを、全ての衛星20の連結された相関ベクトル536が全ての衛星20の過剰経路長ベクトル526,526a-bに最も近く一致する位置514として特定する。たとえば、モデラ500は、受信機114の実際の位置12
Aを、全ての位置514の中で最適なローカル損失を有する位置514として特定するグローバル損失関数を使用する。
【0083】
いくつかの構成において、フルチャネルモデラ500からの損失関数は、受信機114の実際の場所12Aを特定するために他の損失関数と組み合わせられてもよい。たとえば、モデラ500の損失関数は、損失関数420に組み込まれてもよい。いくつかの例において、モデラ500の損失関数は、信号強度の損失関数または搬送波対雑音密度比に基づく損失関数などの他の損失関数と組み合わせられたり、組み込んだりしてもよい。これは、位置特定技術を合成することを可能にし、場合によっては精度および信頼性を向上させる。
【0084】
図6は、信号経路をオンデバイスで算出する方法600の動作の例示的な構成のフローチャートである。動作602において、方法600は、環境100内のGNSS受信機114の推定場所12
ESTをデバイス110で受信する。動作604において、方法600は、GNSS受信機114の推定場所12
ESTについて複数の候補位置214を生成し、複数の候補位置214の各候補位置214は、GNSS受信機114の可能な実際の場所12
Aに対応する。動作606において、方法600は、複数の候補位置214の各候補位置214において各々の利用可能な衛星20について、環境100の地理データ222のラスタ地
図226に対してレイラウンチングを実行することによって、複数の候補信号経路232をモデル化する。ここで、複数の候補信号経路232は、1つまたは複数の反射信号経路232を含む。動作608,608a-bにおいて、方法600は、複数の候補位置214の各候補位置214において、それぞれの候補位置214において各々の利用可能な衛星20についてモデル化された複数の候補信号経路232とGNSS受信機114からの測定されたGNSS信号データ202とを比較して、それぞれの候補位置214において各々の利用可能な衛星20についてモデル化された複数の候補信号経路232とGNSS受信機114からの測定されたGNSS信号データ202との比較に基づいて、それぞれの候補位置214がGNSS受信機114の実際の場所12
Aを含む可能性248を生成する。
【0085】
図7は、信号経路をリモートで算出する方法700の動作の例示的な構成のフローチャートである。動作702において、方法700は、衛星20からの全地球航法衛星システム(GNSS)信号22を反射しそうな1つまたは複数の構造を有するエリアA
Uを特定する。動作704において、方法700は、エリアA
Uを複数の場所314に分割する。動作706は、複数の場所314の各場所314において各々の利用可能な衛星20について行われる動作706a-cの3つのサブセットを含む。動作706aにおいて、方法700は、それぞれの場所314からそれぞれの利用可能な衛星20までレイラウンチングを実行することによって複数の信号経路322を生成し、複数の信号経路322は、1つまたは複数のサイト信号のラインの経路322,322
LOSと、1つまたは複数の反射信号経路322,322
REFとを含む。動作706bにおいて、方法700は、全ての反射信号経路322
REFを1つまたは複数の方位角範囲332に離散化する。動作706bにおいて、方法700は、1つまたは複数の方位角範囲332の各方位角範囲332について、1つまたは複数の移行高度334を決定し、1つまたは複数の移行高度334の各移行高度334は、それぞれの方位角範囲332内のそれぞれの反射信号経路322
REFがサイト信号のラインに移行する高度の程度に対応する。動作708において、方法700は、複数の場所314の各場所314において、複数の信号経路322の信号経路表現302を生成し、信号経路表現302は、全ての反射信号経路322
REFについての1つまたは複数の方位角範囲332と、1つまたは複数の方位角範囲332の各方位角範囲332に関連付けられた1つまたは複数の移行高度334とを含む。
【0086】
図8は、複数のGNSS位置特定技術を使用して位置可能性を生成する方法800の動作の例示的な構成のフローチャートである。動作802において、方法800は、環境100内のGNSS受信機114の推定場所12
ESTをGNSS対応デバイス110で受信する。動作804において、方法800は、GNSS受信機114の推定場所12
ESTについて複数の候補位置404を生成し、複数の候補位置404の各候補位置404は、GNSS受信機114の可能な実際の場所12
Aに対応する。動作806は、GNSS受信機114の推定場所12
ESTについての複数の候補位置404の各候補位置404において行われる3つのサブ動作806,806a-cを含む。動作806aにおいて、方法800は、第1のGNSS位置特定技術(たとえば、シャドーマッチング技術)を使用して、それぞれの候補位置404がGNSS受信機114の実際の場所12
Aである第1の確率(たとえば、シャドーマッチング確率412)を決定する。動作806bにおいて、方法800は、第1のGNSS位置特定技術とは異なる第2のGNSS位置特定技術を使用して、それぞれの候補位置404がGNSS受信機114の実際の場所12
Aである第2の確率(たとえば、疑似距離残差損失関数によって表される)を決定する。動作806cにおいて、方法800は、第1のGNSS位置特定技術を使用して生成された第1の確率(たとえば、シャドーマッチング確率412)および第2のGNSS位置特定技術を使用して生成された第2の確率に基づいて、それぞれの候補位置404がGNSS受信機114の実際の場所12
Aである全体確率402を生成する。
【0087】
図9は、信号のフルチャネルをモデル化する方法900の動作の例示的な構成のフローチャートである。動作902において、方法900は、各々の利用可能な衛星20について、環境100内のGNSS受信機114によって受信された各信号経路のGNSS信号測定値を受信する。動作904において、方法900は、環境100内のGNSS受信機114の場所12
Aの推定場所12
ESTを確立する。動作906において、方法900は、GNSS受信機114の推定場所12
ESTについて複数の候補位置514を生成する。ここで、複数の候補位置514の各候補位置514は、GNSS受信機114の可能な実際の場所12
Aに対応する。動作908において、方法900は、複数の候補位置514の各候補位置514に対して動作908,908a-bを実行する。動作908aにおいて、方法900は、各々の利用可能な衛星20の受信されたGNSS信号測定値の疑似距離を表す相関ベクトル532を生成する。動作908bにおいて、方法900は、それぞれの候補位置514から各々のそれぞれの利用可能な衛星20の位置までのレイラウンチングに基づいて過剰経路長ベクトル526を生成する。動作910において、方法900は、複数の候補位置514の全ての候補位置514に基づいて、GNSS受信機114の実際の位置12
Aを、相関ベクトル532が過剰経路長ベクトル526に最も近く一致するそれぞれの実際の候補位置514として特定する。
【0088】
図10は、本文献に記載されているシステム(たとえば、位置システム120、信号マッパ200、プレコンピュータ300、グリッドサーチャ400および/またはモデラ500)および方法(たとえば、方法600,700,800,900)を実現するために使用され得る例示的なコンピューティングデバイス1000の概略図である。コンピューティングデバイス1000は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すよう意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本文献に記載および/またはクレームされている発明の実現例を限定するよう意図されるものではない。
【0089】
コンピューティングデバイス1000は、プロセッサ1010(たとえば、データ処理ハードウェア)と、メモリ1020(たとえば、メモリハードウェア)と、ストレージデバイス1030と、メモリ1020および高速拡張ポート1050に接続する高速インターフェイス/コントローラ1040と、低速バス1070およびストレージデバイス1030に接続する低速インターフェイス/コントローラ1060とを含む。コンポーネント1010,1020,1030,1040,1050および1060の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上に搭載されてもよく、または適宜他の態様で搭載されてもよい。プロセッサ1010は、コンピューティングデバイス1000内での実行のための命令を処理することができ、これらの命令は、高速インターフェイス1040に結合されたディスプレイ1080などの外部入力/出力デバイス上にグラフィカルユーザインターフェイス(GUI:Graphical User Interface)のためのグラフィカル情報を表示するための、メモリ1020内またはストレージデバイス1030上に格納された命令を含む。他の実現例では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス1000同士が接続されてもよく、各デバイスは(たとえば、サーバーバンク、ブレードサーバの群またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0090】
メモリ1020は、コンピューティングデバイス1000内に情報を非一時的に格納する。メモリ1020は、コンピュータ読取可能媒体、揮発性メモリユニットまたは不揮発性メモリユニットであってもよい。非一時的なメモリ1020は、コンピューティングデバイス1000による使用のために、一時的または永続的にプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を格納するために使用される物理的なデバイスであってもよい。不揮発性メモリの例としては、フラッシュメモリおよびリードオンリメモリ(ROM:Read-Only Memory)/プログラマブルリードオンリメモリ(PROM:Programmable Read-Only Memory)/消去可能なプログラマブルリードオンリメモリ(EPROM:Erasable Programmable Read-Only Memory)/電子的に消去可能なプログラマブルリードオンリメモリ(EEPROM:Electronically Erasable Programmable Read-Only Memory)(たとえば、一般的にはブートプログラムなどのファームウェアで使用される)が挙げられるが、これらに限定されるものではない。揮発性メモリの例としては、ランダムアクセスメモリ(RAM:Random Access Memory)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)、相変化メモリ(PCM:Phase Change Memory)およびディスクまたはテープなどが挙げられるが、これらに限定されるものではない。
【0091】
ストレージデバイス1030は、コンピューティングデバイス1000にマスストレージを提供することができる。いくつかの実現例では、ストレージデバイス1030は、コンピュータ読取可能媒体である。さまざまな異なる実現例では、ストレージデバイス1030は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってもよい。さらなる実現例では、コンピュータプログラム製品が情報担体に有形に組み入れられる。コンピュータプログラム製品は、実行されると上記の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ1020、ストレージデバイス1030またはメモリオンプロセッサ1010などのコンピュータ読取可能媒体または機械読取可能媒体である。
【0092】
高速コントローラ1040は、コンピューティングデバイス1000のために帯域幅集約型の動作を管理するのに対して、低速コントローラ1060は、それほど帯域幅集約型ではない動作を管理する。このような役割の割り当ては例示に過ぎない。いくつかの実現例において、高速コントローラ1040は、メモリ1020、ディスプレイ1080(たとえば、グラフィックスプロセッサまたはアクセラレータを介する)、およびさまざまな拡張カード(図示せず)を受け付けることができる高速拡張ポート1050に結合されている。いくつかの実現例において、低速コントローラ1060は、ストレージデバイス1030および低速拡張ポート1090に結合されている。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポート1090は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに結合されてもよく、または、たとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワーキングデバイスに結合されてもよい。
【0093】
コンピューティングデバイス1000は、図に示されているようなさまざまな異なる形態で実現され得る。たとえば、それは、標準的なサーバ1000aとしてもしくはこのようなサーバ1000aの群で複数回実現されてもよく、ラップトップコンピュータ1000bとして実現されてもよく、またはラックサーバシステム1000cの一部として実現されてもよい。
【0094】
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現可能である。これらのさまざまな実現例は、プログラム可能なシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実現例を含み得て、このプログラム可能なシステムは、ストレージシステム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスとの間でデータおよび命令を送受信するように結合された、特別目的である場合もあれば汎用である場合もある少なくとも1つのプログラム可能なプロセッサを含む。
【0095】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラム可能なプロセッサのための機械命令を含み、ハイレベル手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/または、アセンブリ言語/機械言語で実現されてもよい。本明細書で使用される「機械読取可能媒体」および「コンピュータ読取可能媒体」という語は、機械命令を機械読取可能信号として受信する機械読取可能媒体を含むプログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的なコンピュータ読取可能媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD:Programmable Logic Device))を指す。「機械読取可能信号」という語は、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0096】
本明細書に記載されているプロセスおよび論理フローは、入力データ上で動作して出力を生成することによって機能を実行するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なプロセッサによって実行され得る。また、これらのプロセスおよび論理フローは、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった特別目的論理回路によって実行されてもよい。コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサおよび特別目的マイクロプロセッサの両方、ならびに、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたはそれら両方から命令およびデータを受信する。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに、命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、たとえば磁気ディスク、光磁気ディスクもしくは光ディスクといった、データを格納するための1つもしくは複数のマスストレージデバイスも含み、または、このような1つもしくは複数のマスストレージデバイスとの間でデータを受信、送信もしくは送受信するように動作可能に結合されている。しかし、コンピュータは、このようなデバイスを有していなくてもよい。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読取可能媒体は、全ての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、一例として、半導体メモリデバイス(たとえば、EPROM、EEPROMおよびフラッシュメモリデバイス)、磁気ディスク(たとえば、内部ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、特別目的論理回路によって補完され、または特別目的論理回路に組み込まれ得る。
【0097】
ユーザとの対話を提供するために、本開示の1つまたは複数の局面は、情報をユーザに表示するための、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタまたはタッチスクリーンといったディスプレイデバイスと、任意にキーボードおよびユーザが入力をコンピュータに提供することができる、たとえばマウスまたはトラックボールといったポインティングデバイスとを有するコンピュータ上で実現され得る。ユーザとの対話を提供するために他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚的フィードバック、聴覚的フィードバックまたは触覚的フィードバックといった任意の形態の感覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受信されてもよい。また、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえばユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答してウェブページを当該ウェブブラウザに送信することによって、ユーザと対話することができる。
【0098】
いくつかの実現例について説明してきた。しかし、本開示の精神および範囲から逸脱することなくさまざまな変更を行ってもよいということが理解されるであろう。したがって、他の実現例は、以下の特許請求の範囲の範囲内である。