(57)【特許請求の範囲】
【請求項１】
方法であって、
サーバーの１つ以上の通信インターフェースが、複数の全地球測位システム（ＧＰＳ）信号サンプルおよびこれに対応するタイム・スタンプを、移動体デバイスから受信するステップと、
前記ＧＰＳ信号サンプルを受けたことに応答して前記サーバーの１つ以上のプロセッサーが、１組の可視衛星を識別し、該１組の可視衛星のうちの各可視衛星に関し、前記ＧＰＳ信号サンプルから対応するドップラー周波数と符号位相とを識別するステップと、
前記サーバーの前記１つ以上のプロセッサーが、データーベースからの前記可視衛星のエフェメリス・データーを要求するステップと、
前記サーバーの１つ以上のプロセッサーが、前記可視衛星に対応する前記ドップラー周波数およびエフェメリス・データーを使用することにより、前記移動体デバイスが位置する可能性がある１つ以上の領域を決定するステップと、
前記サーバーの１つ以上のプロセッサーが、前記１つ以上の領域内の可能な基準位置を識別するステップであって、前記可能な基準位置が、前記移動体デバイスが存在すると決定される領域内に存在する陸標の位置である、ステップと、
前記サーバーの前記１つ以上のプロセッサーが、受けた前記ＧＰＳ信号サンプルに対応する可能な位置を決定するステップであって、前記可能な位置が、少なくとも部分的に、前記可能な基準位置を使用して粗雑時間ナビゲーション（ＣＴＮ）計算を適用することにより決定され、前記可能な位置の各々が、識別された前記可能な基準位置のうちの１つに対応し、前記可能な位置が、前記移動体デバイスの位置と前記移動体デバイスの少なくとも１つの幻影位置とを含む、ステップと、
前記移動体デバイスの位置を決定するために幻影位置を排除するステップであって、前記幻影位置の少なくとも１つを排除することが、前記可能な位置を地球の表面付近の高度範囲に制限することを含む、ステップと、
を含む、方法。
【請求項２】
請求項１記載の方法において、前記幻影位置の少なくとも１つを排除することが、
追加のデーターベースからの前記可能な位置の各々に対応する高度データーを要求し、
前記可能な位置の高度を前記高度データーと比較し、
前記可能な位置の前記高度が前記高度データーに含まれる高度に対応しないときに前記可能な位置を前記幻影位置と判定して排除し、
精度劣化低下率の最も小さい残りの位置を選択すること、
を含む、方法。
【請求項３】
請求項１記載の方法において、前記可能な基準位置は、受信する衛星信号のドップラー周波数から推定した衛星信号の到達角度の交点を計算することによって、部分的に識別される、方法。
【請求項４】
請求項１記載の方法において、前記ＧＰＳ信号サンプルは、圧縮検知理論にしたがって圧縮される、方法。
【請求項５】
請求項４記載の方法において、前記ＧＰＳ信号サンプルは、時間ドメインにおいて圧縮される、方法。
【請求項６】
請求項４記載の方法において、前記ＧＰＳ信号サンプルは、周波数ドメインにおいて圧縮される、方法。
【請求項７】
請求項１記載の方法において、前記１組の可視衛星を識別するステップは、疎信号復元ソルバーを前記ＧＰＳ信号サンプルに適用するステップを含む、方法。
【請求項８】
請求項１記載の方法において、前記１組の可視衛星を識別するステップは、Ｌ１最小化（(Lasso)）ソルバーを適用して、前記ＧＰＳ信号サンプルにおける前記１組の可視衛星のうちの１つの可視衛星の信号の存在を識別するステップを含む、方法。
【請求項９】
命令を格納するコンピューター読み取り可能記憶デバイスであって、前記命令を１つ以上のプロセッサーによって実行すると、前記１つ以上のプロセッサーに、
外部の記憶位置に先に格納された全地球測位システム（ＧＰＳ）信号サンプルをダウンロードし、前記ＧＰＳ信号サンプルが、移動体デバイスからの複数のＧＰＳ信号サンプルおよびこれに対応するタイム・スタンプを含み、前記ＧＰＳ信号サンプルが圧縮検知理論にしたがって圧縮されており、
前記ＧＰＳ信号サンプルから、１組の可視衛星を識別し、前記１組の可視衛星のうちの各可視衛星に関し、対応するドップラー周波数および符号位相を識別し、
前記１組の可視衛星のエフェメリスを引き出し、
前記可視衛星に対応する前記ドップラー周波数およびエフェメリス・データーを使用することにより、前記移動体デバイスが位置する可能性がある１つ以上の領域を決定し、
前記１つ以上の領域内の可能な基準位置を識別し、前記可能な基準位置が、前記移動体デバイスが存在すると決定される領域内に存在する陸標の位置であり、
受けた前記ＧＰＳ信号サンプルに対応する可能な位置を決定し、前記可能な位置が、少なくとも部分的に、前記可能な基準位置を使用して粗雑時間ナビゲーション（ＣＴＮ）計算を適用することにより決定され、前記可能な位置の各々が、識別された前記可能な基準位置のうちの１つに対応し、前記可能な位置が、前記移動体デバイスの位置と前記移動体デバイスの少なくとも１つの幻影位置とを含み、
前記可能な位置の各々に関係した高度データーを引き出し、
部分的に前記高度データーを使用して、前記１つ以上の幻影位置のうちの少なくとも１つの幻影位置を排除し、前記幻影位置の少なくとも１つを排除することが、前記可能な位置を地球の表面付近の高度範囲に制限することを含む、
ことを実行させる、コンピューター読み取り可能記憶デバイス。
【請求項１０】
サーバーであって、
１つ以上のプロセッサーと、
全地球測位システム（ＧＰＳ）信号サンプルを受信する１つ以上の通信インターフェースであって、前記ＧＰＳ信号サンプルが、移動体デバイスからの複数のＧＰＳ信号サンプルおよびこれに対応するタイム・スタンプを含む、１つ以上の通信インターフェースと、
命令を格納する１つ以上のコンピューター読み取り可能記憶媒体と、
を含み、
前記命令を１つ以上のプロセッサーによって実行すると、前記ＧＰＳ信号サンプルを受けたことに応答して、前記１つ以上のプロセッサーに、
前記ＧＰＳ信号サンプルから、１組の可視衛星を識別し、該１組の可視衛星のうちの各可視衛星に関し、対応するドップラー周波数および符号位相を識別し、
データーベースからのエフェメリス・データーを要求し、
前記可視衛星に対応する前記ドップラー周波数およびエフェメリス・データーを使用することにより、前記移動体デバイスが位置する可能性がある１つ以上の領域を決定し、
前記１つ以上の領域内の可能な基準位置を識別し、前記可能な基準位置が、前記移動体デバイスが存在すると決定される領域内に存在する陸標の位置であり、
受信した前記ＧＰＳ信号サンプルに対応する可能な位置を決定し、前記可能な位置が、少なくとも部分的に、前記可能な基準位置を使用して粗雑時間ナビゲーション（ＣＴＮ）計算を適用することにより決定され、前記可能な位置が、前記移動体デバイスの位置と前記移動体デバイスの少なくとも１つの幻影位置とを含み、
前記可能な位置の各々に関係した高度データーを引き出し、
部分的に前記高度データーを使用して、前記１つ以上の幻影位置のうちの少なくとも１つの幻影位置を排除し、前記幻影位置の少なくとも１つを排除することが、前記可能な位置を地球の表面付近の高度範囲に制限することを含む、
ことを実行させる、サーバー。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  全地球測位システム（ＧＰＳ）は、通例、ＧＰＳ受信機を含むデバイスと、複数のＧＰＳ衛星とから成る。ＧＰＳ受信機は、当該デバイスの位置を判定するために、ＧＰＳ衛星からブロードキャストされたＧＰＳ信号を受信しデコードするように構成される。ＧＰＳ衛星信号の各々は、衛星特定エンコードによって送信され、この衛星特定エンコードは、ブロードキャストしたＧＰＳ衛星を識別するためにＧＰＳ受信機によって使用することができる。ＧＰＳ受信機は、衛星信号をデコードし、ブロードキャストしたＧＰＳ衛星を識別し、デコードした信号から抽出されたデーターに対して一連の計算を実行することによって、デバイスの位置を計算することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]  今日、多くのデバイスがＧＰＳ受信機を含み、位置に基づくサービスを提供するアプリケーションをサポートする。通例、位置に基づくアプリケーションは、これらのサービスを提供するために、位置情報を拠り所とする。デバイスは、ＧＰＳ受信機、セル・タワー信号、ＦＭラジオ信号、および／またはＷｉＦｉシグネチャーを含む種々のソースの１つから位置情報を得ることができる。ＧＰＳ受信機は、移動体デバイスに入手可能な最も精度が高く信頼性がある位置情報を提供することが多いが、他のソースの方が好ましい場合も多い。例えば、ＧＰＳ受信機は、ＧＰＳ信号をサンプリングし、ＧＰＳ信号をデコードし、デバイスの位置を判定するのに必要な計算を実行するために比較的大量の電力を消費する可能性がある。したがって、デバイスによっては、もっと精度が低い方法を利用することを優先するように予めプログラミングされている場合がある。
【課題を解決するための手段】
【０００３】
[0003]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。
【０００４】
[0004]  本明細書では、移動体デバイスの位置を判定するために使用することができる全地球測位システム（ＧＰＳ）を含む移動体デバイスの実現例について開示する。一例では、移動体デバイスは、当該移動体デバイスの位置を判定するときに補助するサーバーを利用する。例えば、移動体デバイスは、ＧＰＳ受信機と、サーバーと通信可能な通信インターフェースとを含む。移動体デバイスは、ＧＰＳ受信機を使用してＧＰＳ信号をサンプリングし、処理のためにサンプルをサーバーに供給することができる。一例では、移動体デバイスは、サンプルの内少なくともある部分を圧縮および／またはデコードするためにサンプルに対して前処理を実行するように構成され、サーバーは、追加のデコードを行うことなく、圧縮されたサンプルを直接処理するように構成される。特定的な一例では、ＧＰＳ信号が圧縮検知理論(compressed sensing theory)にしたがって圧縮される。
【図面の簡単な説明】
【０００５】
[0005]  添付図面を参照して、詳細な説明について記載する。図において、参照番号の最も左側にある数字（１つまたは複数）は、その参照番号が最初に現れる図を識別する。図面全体にわたって、同様の機構およびコンポーネントを示すために、同じ番号が使用される。
【図１】図１は、ある実現例によるＧＰＳシステムの一例の絵画図(pictorial view)である。
【図２】図２は、ある実現例によるＧＰＳシステムのフレームワーク例のブロック図である。
【図３】図３は、ある実現例による移動体デバイスのフレームワーク例のブロック図である。
【図４】図４は、ある実現例によるデーター・フロー例のシステム流れ図である。
【図５】図５は、ある実現例にしたがってＧＰＳ信号サンプルを圧縮するプロセス例の流れ図である。
【図６】図６は、ある実現例にしたがってＧＰＳ信号サンプルを圧縮するプロセス例の流れ図である。
【図７】図７は、ある実現例にしたがってＧＰＳ信号サンプルを圧縮するプロセス例の流れ図である。
【図８】図８は、ある実現例にしたがってＧＰＳ位置を判定するプロセス例の流れ図である。
【発明を実施するための形態】
【０００６】
[0014]  開示する技法は、移動体デバイスに関する位置を判定するＧＰＳシステムの実現例について説明する。ＧＰＳ受信機がアクティブ化されると、ＧＰＳ受信機は、移動体デバイスの位置を判定し維持するために、一連の電力集約的ステップを実行する。最初に、ＧＰＳ受信機は取得フェーズに入る。この取得フェーズでは、ＧＰＳ受信機は、可視ＧＰＳ衛星の各々からのＧＰＳ信号をサンプリングしデコードする。ＧＰＳ信号は、タイム・スタンプとエフェメリス・データー（送信側衛星の位置および軌道に関するデーター）を含む。二番目に、ＧＰＳ受信機は、デコードしたＧＰＳ信号から抽出したタイム・スタンプおよびエフェメリス・データーに基づいて、初期位置を判定するために一連の計算を実行する。三番目に、ＧＰＳ受信機は、移動体デバイスの位置を維持するために、追跡フェーズに入る。
【０００７】
[0015]  １つ以上のＧＰＳ衛星からの信号全体をサンプリングおよびデコードするためには、通例３０秒の範囲内で、ＧＰＳ受信機はオンに切り替えられる。部分的に、ＧＰＳ衛星が通例毎秒５０ビット（ｂｐｓ）の範囲の非常に遅いレートでデーターを送信するように構成され、ＧＰＳ信号に含まれるデーターを再現するために、約３２，０００サンプルが使用されるので、ＧＰＳ受信機は、このような長い時間期間にわたってオンのままになる。
【０００８】
[0016]  次に、ＧＰＳ受信機は、移動体デバイスの視野内にある全てのＧＰＳ衛星、即ち、受信したＧＰＳ信号をブロードキャストしたＧＰＳ衛星を識別することを試みる。これは、ＧＰＳ信号において１つ以上の衛星特定Ｃ／Ａコードの存在を検出することによって行われる。各ＧＰＳ受信機は、Ｃ／Ａコード・テンプレートを格納し、Ｃ／Ａコード・テンプレートは全てのＧＰＳ衛星に対するＣ／Ａコードを含む。テンプレートがＧＰＳ信号と比較されたときに、可視ＧＰＳ衛星に対応するＣ／Ａコードが信号スパイクを生ずるように、Ｃ／Ａコードは互いに直交であるように設計される。つまり、ＧＰＳ受信機は、Ｃ／Ａテンプレートを、受信したＧＰＳ信号と比較して、どのＧＰＳ衛星がブロードキャストを開始しているのか判定することができる。
【０００９】
[0017]  しかしながら、Ｃ／Ａコード・テンプレートをＧＰＳ信号と比較するとき、ＧＰＳ受信機は、衛星およびＧＰＳ受信機双方の移動によってＧＰＳ信号に生ずるドップラー・シフトを補償する。例えば、上昇するＧＰＳ衛星（移動体デバイスの視野に入りつつある衛星）が、毎秒８００メートル（ｍ／ｓ）までのレートでＧＰＳ受信機に向かって動くと、４．２キロヘルツ（ｋＨｚ）の周波数シフトが生じる。同様に、下降するＧＰＳ衛星（移動体デバイスの視野から離れつつある衛星）が、８００ｍ／ｓまでのレートでＧＰＳ受信機から離れるように動くと、−４．２ｋＨｚの周波数シフトが生じる。ＧＰＳ受信機は、Ｃ／Ａコード・テンプレートを使用して、ブロードキャストしているＧＰＳ衛星を正しく識別するためには、一定の誤差マージン（例えば、実施形態では、５００Ｈｚで十分に近い場合もある）内でドップラー・シフトを補償しなければならない。したがって、衛星の移動に加えて、ＧＰＳ受信機の動きを補償するために、ＧＰＳ受信機は多くの場合２５〜３０回のドップラー・シフト計算と、対応するＣ／Ａコード比較とを実行した後に、可視ＧＰＳ衛星の判定を終了させる。
【００１０】
[0018]  初期位置を識別するために、ＧＰＳ受信機は、移動体デバイスと、可視ＧＰＳ衛星の各々との距離も判定する。これを「擬似距離」と呼ぶ。擬似距離は、ＧＰＳ信号の伝搬遅延を使用して計算することができる。伝搬遅延は、２つの部分、即ち、ミリ秒部分と、「符号位相」(code phase)と呼ばれるミリ秒未満の部分とに細分される。ミリ秒部分は、パケット・フレームからデコードすることができ、符号位相は、ＧＰＳ信号におけるＣ／Ａコードの１ｍｓ反復を監視することによって判定することができる。
【００１１】
[0019]  一旦ＧＰＳ受信機が可視衛星を識別し、ＧＰＳ信号をデコードし、擬似距離を計算したなら、ＧＰＳ受信機は初期位置を計算する。初期位置を判定した後、ＧＰＳ受信機は、追跡フェーズに切り替わり、移動体デバイスの位置を維持する。追跡フェーズの間、ＧＰＳ受信機はドップラー周波数および伝搬遅延を調節して、経時的な衛星および移動体デバイスの更なる移動によって生じたシフトを補償しようとする。追跡を実行することによって、ＧＰＳ受信機は位置変化を素早くそして安価に（比較的低い電力消費率で）推定することができる。
【００１２】
[0020]  しかしながら、ＧＰＳ受信機が追跡計算を連続的に実行しない場合、ＧＰＳ受信機は取得フェーズを新たに実行しなければならず、先に説明したように、これは電力集約的であり時間がかかる。したがって、殆どのＧＰＳ受信機は常にアクティブなままであるように構成され、移動体デバイスによってデューティ・サイクルが設定されない(duty-cycled)。
【００１３】
[0021]  図１は、ある実現例によるＧＰＳシステム１００の一例の絵画図である。ＧＰＳシステム１００は、移動体デバイス１０２と、ＧＰＳ衛星１０４、１０６、１０８、１１０、および１１２とを含み、これらの衛星から移動体デバイスがＧＰＳ信号を受信することができる。また、ＧＰＳシステム１００はサーバー１１４およびネットワーク１１６も含む。一般に、移動体デバイス１０２は、ネットワーク１１６を介して、サーバー１１４にデーターを送信し、サーバー１１４からデーターを受信する。移動体デバイス１０２は、ワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）のようなワイヤレス・ネットワーク、Bluetooth（登録商標）のような短距離ワイヤレス・ネットワーク、または符号分割多元接続（ＣＤＭＡ）システムを介してというように、セル・タワーを介して提供される移動体ネットワークを介して、ネットワーク１１６と通信することができる。
【００１４】
[0022]  移動体デバイス１０２は、セル・フォン、スマート・フォン、ナビゲーション・デバイス、追跡センサー、ＧＰＳセンサー、またはＧＰＳ受信機を含む任意の他のデバイスというような、任意のＧＰＳ可能デバイスとすることができる。本例では、移動体デバイス１０２はスマート・フォンとして例示されている。
【００１５】
[0023]  ＧＰＳ衛星１０４〜１１２は、ＧＰＳ衛星ナビゲーション（ｓａｔ−ｎａｖ）システムに関連する衛星の内任意のものを含むことができる。加えて、５機の衛星として示されるが、ナビゲーション衛星１０４〜１１２は、移動体デバイス１０２がＧＰＳ信号を受信することができる任意の数のナビゲーション衛星を表す。ＧＰＳ衛星１０４〜１１２は、先に説明したように、衛星特定Ｃ／Ａコードによって一意に識別可能である。一般に、ＧＰＳ衛星１０４〜１１２は、地空測位に有用なＧＰＳ信号を送信する。ＧＰＳ信号は、エンコードされ、位置計算に有用な時間ベース情報を含む。
【００１６】
[0024]  移動体デバイス１０２は、移動体デバイス１０２の現在地から移動体デバイス１０２に可視ＧＰＳ衛星（移動体デバイス１０２の見通し線内にある）からＧＰＳ信号を受信する。しかし、場合によっては移動体デバイス１０２によって受信されたＧＰＳ信号が、種々の障害物によって、回折、反射、および／または減衰されることもあり得る。
【００１７】
[0025]  移動体デバイス１０２は、衛星１０４〜１１２からのＧＰＳ信号をサンプリングするように構成されたＧＰＳ受信機を含む。例の中には、移動体デバイス１０２が、ＧＰＳ信号サンプル１１８をサーバー１１４に供給する前に、これらを圧縮する、前処理する、またはそれ以外で操作するように構成されるとよい場合がある。１つの特定例では、移動体デバイスが、圧縮検知理論にしたがって、ＧＰＳ信号サンプル１１８を圧縮することもできる。
【００１８】
[0026]  移動体デバイス１０２は、ＧＰＳ信号サンプル１１８をサーバー１１４にネットワーク１１６を介して供給する。例の中には、移動体デバイス１０２が、ワイヤレスまたは移動体通信インターフェースを含まないＧＰＳセンサーまたはＧＰＳ追跡デバイスである場合もあり、つまり、移動体デバイス１０２はＧＰＳ信号サンプル１１８をサーバー１１４にリアル・タイムで（ＧＰＳ信号が受信されるにつれて）供給できない場合がある。この例では、移動体デバイス１０２は、ＧＰＳ信号サンプル１１８を、移動体デバイス１０２に組み込まれたコンピューター読み取り可能記憶媒体にデーターとして格納すればよい。次いで、このデーターは、ダウンロードの時点で移動体デバイス１０２の以前の位置（１つまたは複数）を判定または再現できるように、後の時点においてサーバー１１４にダウンロードされる。
【００１９】
[0027]  一旦サーバー１１４がＧＰＳ信号サンプル１１８を移動体デバイス１０２から受信したなら、サーバー１１４は移動体デバイス１０２の初期位置を判定し、位置情報１２０を移動体デバイス１０２にネットワーク１１６を介して返送する。初期位置を判定するためにサーバー１１４を使用することによって、移動体デバイス１０２は、電力集約的な取得フェーズの間に通例消費されるエネルギーを保存し、全体的なバッテリー寿命を延ばすことができる。
【００２０】
[0028]  この例では、移動体デバイス１０２は、ＧＰＳ信号サンプル１１８をサーバー１１４に、移動体デバイス１０２において前処理が実行されない生のＧＰＳサンプルとして供給する。代替例では、移動体デバイス１０２は、信号サンプル１１８をサーバー１１４に供給する前に、ＧＰＳ信号サンプル１１８をデコード、暗号化、またそれ以外では圧縮することもできる。１つの特定例では、移動体デバイス１０２は、圧縮ＧＰＳ信号サンプルをサーバー１１４に供給する前に、圧縮検知理論にしたがってＧＰＳ信号サンプル１１８を構成する。
【００２１】
[0029]  一例では、移動体デバイス１０２は、動物の移動範囲を判定するために、動物の動きを追跡するために使用されるＧＰＳ追跡デバイスである。この例では、リアル・タイムの位置はさほど必要でなく、以上で説明したものよりも電力節約を増大させることができる。移動体デバイス１０２は、ＧＰＳ信号サンプル１１８を収集するためにＧＰＳ受信機をアクティブ化し、ＧＰＳ信号サンプル１１８をコンピューター読み取り可能記憶媒体に格納し、ＧＰＳ受信機の電源を落とす。このパターンはある時間期間にわって繰り返し、その後、移動体デバイス１０２が回収されたときに、ＧＰＳ信号に関するデーターがダウンロードされ、サーバー１１４は、移動体デバイス１０２に関連する位置または移動範囲を判定する。この例では、ＧＰＳ受信機が短い時間期間にわたってアクティブのままになり、これらのタイプの追跡センサーに通例付随するバッテリーよりも、移動体デバイス１０２において必要とされるバッテリーのサイズを大幅に小型化させる。
【００２２】
[0030]  ＧＰＳに関して説明したが、本明細書において説明する技法はいずれも、他の全地球または地域衛星ナビゲーション・システムと関連付けて実現することもできる。場合によっては、これらの技法は２つ以上の異なる衛星ナビゲーション・システムから信号を受信することができるｓａｔ−ｎａｖ受信機と共に使用される。一例として、他の全地球および／または地域衛星ナビゲーション・システムは、とりわけ、グローバル・ナビゲーション衛星システム（ＧＬＯＮＡＳＳ）、Ｇａｌｉｌｅｏ、ＢｅｉＤｏｕ、Ｃｏｍｐａｓｓ、インド地域ナビゲーション衛星システム（ＩＲＮＳＳ）、または準天頂衛星システム（ＱＺＳＳ）を含むことができる。
【００２３】
[0031]  図２は、ある実現例によるＧＰＳシステム２００のフレームワーク例のブロック図である。ＧＰＳシステム２００は、移動体デバイス１０２、サーバー１１４、アメリカ地質調査所（ＵＳＧＳ）高度ＡＰＩデーターベース２０２、およびＮＡＳＡ軌道データーベース２０４を含む。
【００２４】
[0032]  移動体デバイス１０２は、ＧＰＳ信号をサンプリングする１つ以上のＧＰＳ受信機と、ＧＰＳ信号サンプル１１８をサーバー１１４に供給し、代わりに位置情報１２０を受信する１つ以上の通信インターフェースとを含む。サーバー１１４は、１つ以上のプロセッサー２０６、通信インターフェース２０８、およびコンピューター読み取り可能記憶媒体２１０を含む。通信インターフェース２０８は、図１のネットワーク１１６のようなネットワークを介してデーターを移動体デバイス１０２に伝達し、データーを移動体デバイス１０２から伝達するために、プロセッサー２０６によってアクセス可能である。
【００２５】
[0033]  コンピューター読み取り可能記憶媒体２１０には、任意の数のプログラム・モジュール、アプリケーション、またはコンポーネントを格納することができ、一例として、位置フィルタリング命令２１２を含む。位置フィルタリング命令２１２は、コンピューター読み取り可能記憶媒体２１０に格納され、ＧＰＳ信号サンプルを受信したことに応答して、移動体デバイス１０２の位置をサーバー１１４に判定させるために、プロセッサー２０６によって実行可能である。コンピューター読み取り可能媒体は、少なくとも、２つのタイプのコンピューター読み取り可能媒体、即ち、コンピューター記憶媒体および通信媒体を含む。
【００２６】
[0034]  コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の記憶のために任意の方法または技術で実現される。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは計算デバイスによるアクセスのために情報を格納するために使用することができる任意の他の非送信媒体を含むが、これらに限定されるのではない。
【００２７】
[0035]  対照的に、通信媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターを、搬送波のような変調データー信号、または他の送信メカニズムに具体化することができる。本明細書で定める場合、コンピューター記憶媒体は通信媒体を含まない。
【００２８】
[0036]  ＵＳＧＳ高度ＡＰＩデーターベース２０２は、サーバー１１４によって判定された位置に関する高度データーをサーバー１１４が引き出すことができるように、通信インターフェース２０８を介してサーバー１１４によってアクセス可能である。通例、サーバー１１４は緯度および軽度座標をＵＳＧＳ高度ＡＰＩデーターベース２０２に供給し、代わりにその座標に関する高度データーを受信する。
【００２９】
[0037]  ＮＡＳＡ軌道データーベース２０４も、通信インターフェース２０８を介してサーバー１１４によってアクセス可能であり、ＧＰＳ衛星１０４〜１１２に関する暦およびエフェメリス・データーを引き出すために使用される。暦データーは、地球の軌道における衛星の粗い軌道およびステータスに関係する。エフェメリス・データーは、衛星の位置および軌跡に関する。
【００３０】
[0038]  ＵＳＧＳ高度ＡＰＩデーターベース２０２およびＮＡＳＡ軌道データーベース２０４は、高度、暦、およびエフェメリス・データーを受信するためにサーバー１１４に利用可能な種々のデーターベースの内２つの例である。例えば、 アメリカ地質調査所は、ＧＰＳ衛星の軌道、位置、および軌跡を計算し、これらの軌道、位置、および軌跡をウェブ上で公に利用可能にする。
【００３１】
[0039]  一例では、移動体デバイス１０２は、ＧＰＳ信号サンプル１１８、およびＧＰＳ信号サンプル１１８に対応するタイム・スタンプをサーバー１１４に、通信インターフェース２０８の内少なくとも１つを介して供給する。場合によっては、ＧＰＳ信号サンプル１１８が移動体デバイス１０２からダウンロードされることもあり、そして他の場合には、ＧＰＳ信号サンプル１１８がワイヤレスまたは移動体ネットワークを介して移動体デバイス１０２から受信されることもある。
【００３２】
[0040]  一旦ＧＰＳ信号サンプル１１８が受信されたなら、位置フィルタリング命令２１２は、プロセッサー２０６に移動体デバイス１０２の位置を判定させる。移動体デバイス１０２の位置を計算するためには、サーバー１１４は、ＧＰＳサンプル１１８が収集された時刻、ブロードキャストした（可視）ＧＰＳ衛星、この可視衛星に関するエフェメリス、および擬似距離を判定する必要がある。
【００３３】
[0041]  一例では、サーバー１１４は、可能なドップラー・シフトの各々について、Ｃ／Ａコード・テンプレートをＧＰＳ信号サンプルと比較して、どのＧＰＳ衛星が移動体デバイス１０２に対して可視であるか識別する。このとき、通例、ＧＰＳ受信機はＧＰＳ信号をデコードして、開始された送信に関する時刻およびエフェメリスを判定する。しかしながら、このプロセスは時間がかかり、時刻およびエフェメリスは、以下で説明するように、他のやり方でもサーバー１１４によって判定することができる。
【００３４】
[0042]  時刻は、移動体デバイス１０２からタイム・スタンプとして受信される。ＧＰＳ信号から抽出することができる正確なブロードキャストの時刻の方が精度が高いが、ＧＰＳ信号を受信した時点で加えられるタイム・スタンプは、妥当な範囲内、即ち、数メートル以内で移動体デバイス１０２の初期位置を計算するには十分である。
【００３５】
[0043]  エフェメリスは、サーバー１１４によってＮＡＳＡ軌道データーベース２０４から引き出される。１つの特定例では、サーバー１１４はエフェメリスをＮＡＳＡ軌道データーベース２０４から周期的に読み出し、ＧＰＳ信号が移動体デバイス１０２においてサンプリングおよび格納されそしてある時間期間の後サーバー１１４にダウンロードされる場合というような、後の時点における使用のために、その情報をコンピューター読み取り可能記憶媒体２１０に格納することができる。
【００３６】
[0044]  サーバー１１４は、エフェメリス・データーおよびエンコードしたＧＰＳ信号サンプル１１８を使用して、可視ＧＰＳ衛星１０４〜１１２の各々について、符号位相を計算する。しかしながら、サーバー１１４は、擬似距離を判定し移動体デバイス１０２の位置を識別する前に、伝搬遅延のミリ秒部分を判定する必要がある。先に説明したように、ＧＰＳ受信機は、ＧＰＳ信号のパケット・フレームをデコードすることによって、伝搬遅延のミリ秒部分を判定する。
【００３７】
[0045]  ＧＰＳ信号をデコードする代わりに、サーバー１１４は、移動体デバイス１０２の位置の１５０キロメートル（ｋｍ）以内にある基準位置、タイム・スタンプ、および符号位相を使用して移動体デバイス１０２の位置を判定するために、粗雑時間ナビゲーション（ＣＮＴ）と呼ばれる技法を適用する。例えば、セル・フォンは、最も近いセル・タワーを既知の基準位置として識別することができる。しかしながら、場合によっては基準位置が容易に入手できないこともある。
【００３８】
[0046]  一例では、移動体デバイス１０２は、規則的な間隔でＧＰＳ信号をサンプリングするように構成され、サーバー１１４は、移動体デバイス１０２が１５０ｋｍより多く移動していないと想定することができる。この例では、サーバー１１４は、過去の位置を、移動体デバイス１０２の位置を計算するための基準位置として利用する。例えば、移動体デバイス１０２は、動物の上に置かれたＧＰＳ追跡デバイスであってもよく、サーバー１１４は、サンプリングの間にこの動物が１５０ｋｍより多く移動しなかったと想定することができる。つまり、動物が結び付けられた(tag)位置というような初期位置が既知である場合、サーバー１１４は、次の位置を判定するために、以前の位置を（結び付けた位置から開始し、次いで順次各計算された位置）を基準位置として使用することができる。
【００３９】
[0047]  しかしながら、場合によっては、過去の位置がわからず、移動体デバイス１０２によって基準位置が供給されないこともある。この場合、サーバー１１４は、ＣＴＮを適用するために基準位置を識別する必要がある。これを行うために、サーバー１１４は、ドップラー交点(Doppler intersection)およびエフェメリス・データーを使用して、ＧＰＳ信号がサンプリングされた時点に移動体デバイス１０２が位置していた可能性がある、可能な位置および１つ以上の領域を判定する。次いで、サーバー１１４はこれらの領域を空間的にサンプリングして、既知の位置データーによって１組の可能な基準位置を識別する。例えば、サーバー１１４は、既知の陸標について領域をサンプリングすることもできる。
【００４０】
[0048]  可能な基準位置毎に、サーバー１１４はＣＴＮを適用して、１組の可能な位置を判定する。場合によっては、ＣＴＮ計算位置が、各可視ＧＰＳ衛星に対して、推定された基準位置では収束しないこともあり、したがって、この位置は破棄される。収束したＣＴＮ計算から、１組の可能な位置が識別される。しかしながら、１組の可能な位置の内、１つだけが実際の移動体デバイス１０２の位置となる。他の可能な位置は、「幻影位置」(shadow location)として知られ、サーバー１１４によって候補としては排除されてもよい。
【００４１】
[0049]  幻影位置を排除するときの最初のステップは、地球の表面に対する可能な位置を制限することである。基準位置を推定することによって生ずる誤差のために、識別された可能な位置の多くは、地球の表面よりもかなり上または下の高度(elevation)に位置付けられ、これらの位置を排除することができる。例えば、−５００から８０００メートル（ｍ）までの間というような、地球の表面付近におけるある高度範囲に、可能な位置を制限する。
【００４２】
[0050]  生憎、それ自体によって高度範囲を適用しても、通例、一意の位置または積極的に識別される位置は得られない。残りの幻影位置を排除するために、サーバー１１４は、通信インターフェース２０８を介してＵＳＧＳ高度ＡＰＩデーターベース２０２へのそのアクセスを利用する。サーバー１１４は、緯度および軽度座標を使用して、残っている可能な位置の各々について、地球の表面の真の高度を引き出す。真の高度を利用して、サーバー１１４は残っている幻影位置を排除する。サーバー１１４は、残っている可能な位置の各々における高度を、真の高度と比較し、これらの高度が一致した場合、ＧＰＳ信号がサンプリングされた時点における移動体デバイス１０２の実際の位置が識別されたことになる。しかしながら、これらの高度が一致しない場合、可能な位置は幻影位置であり、排除される。
【００４３】
[0051]  一旦移動体デバイス１０２の位置が識別されたなら、この位置が位置情報１２０として移動体デバイス１０２に供給される。代わりに、この位置は、後の分析のためにコンピューター読み取り可能記憶媒体に格納することができ、または例えば科学的研究における使用のために、ディスプレイに供給することができる。
【００４４】
[0052]  図３は、ある実現例による移動体デバイス１０２のフレームワーク例３００のブロック図である。移動体デバイス１０２は、１つ以上のプロセッサー３０２、１つ以上の通信インターフェース３０４、ＧＰＳ受信機３０６、クロック３０８、およびコンピューター読み取り可能記憶媒体３１０を含む。コンピューター読み取り可能記憶媒体３１０は、圧縮命令３１２および１つ以上のＧＰＳサンプル３１４を格納することが示されている。
【００４５】
[0053]  通信インターフェース３０４は、図１および図２のサーバー１１４のようなサーバーにデーターを伝えるために利用される。通信インターフェース３０４は、ワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）、Bluetooth（登録商標）のような短距離ワイヤレス・ネットワーク、ＣＤＭＡシステムを介してというように、セル・タワーを介して提供される移動体ネットワークというようなワイヤレス・ネットワークと通信するように、またはユニバーサル・シリアル・バス（ＵＳＢ）インターフェースを介してというような、有線接続によって通信するように構成される。
【００４６】
[0054]  ＧＰＳ受信機３０６は、１つ以上の衛星１０４〜１１２からＧＰＳ信号を受信するように構成され、移動体デバイス１０２の位置(position)を判定することができる。移動体デバイス１０２と統合されて示されているが、ＧＰＳ受信機３０６は外部でもよいがローカルである。外部ＧＰＳ受信機は、移動体デバイス１０２と有線（例えば、ＵＳＢ）またはワイヤレス・インターフェース（例えば、Bluetooth（登録商標））を介して通信することができる。場合によっては、ＧＰＳ受信機３０６が通信インターフェース３０４の１つと統合されることもある。この統合モジュールは、セルラ接続およびＧＰＳ機能を設ける。例の中には、統合モジュールのアンテナが、セルラおよびＧＰＳサブシステムによって共有されるものもある。
【００４７】
[0055]  クロック３０８は、ＧＰＳ信号サンプルがＧＰＳ受信機３０６によって受信された時刻と関連するタイム・スタンプを供給するように構成される。一例では、クロック３０８はＷＷＶＢ受信機である。ＷＷＶＢは、送信機サイトに配置された１組の原子時計から得られる、連続６０ｋＨｚ搬送波によって地球の周りにユニバーサル時間信号をブロードキャストする無線局である。
【００４８】
[0056]  一例では、ＧＰＳ受信機３０６は、衛星１０４〜１１２からのＧＰＳ信号を周期的にサンプリングし、ＧＰＳ信号サンプル３１４の各々は、クロック３０８によってタイム・スタンプが付けられる(time stamped)。タイム・スタンプが付けられたＧＰＳ信号サンプル３１４は、コンピューター読み取り可能記憶媒体３１０に格納されるか、または通信インターフェース３０４を介して処理のためにサーバー１１４に供給される。ＧＰＳ信号サンプル３１４がサーバー１１４に供給される場合、移動体デバイス１０２は応答してサーバー１１４から位置を受信することもできる。ＧＰＳ信号サンプル３１４が格納される場合、これらは後の時点において処理のためにサーバー１１４にダウンロードまたは供給することができる。
【００４９】
[0057]  例の中には、ＧＰＳ信号サンプル３１４が圧縮命令３１２にしたがって圧縮される場合もある。圧縮命令３１２は、プロセッサー３０２によって実行されると、プロセッサー３０２に種々の方法でＧＰＳ信号サンプル３１４を圧縮させ、ＧＰＳ信号のある部分をデコードさせるか、またそれ以外でＧＰＳ信号サンプル３１４に対してあるタイプの前処理を実行させることができる。一例では、ＧＰＳ信号サンプル３１４は、標準的な圧縮技法を使用して圧縮される。他の例では、ＧＰＳ信号サンプル３１４は、圧縮検知理論にしたがって圧縮される。
【００５０】
[0058]  ＧＰＳ信号サンプル３１４が圧縮検知理論にしたがって圧縮される場合、サーバー１１４は、デコードすることなく、圧縮されたサンプルから直接移動体デバイス１０２の位置を判定するように構成することができる。ＧＰＳ信号サンプル３１４は、時間ドメインまたは周波数ドメインのいずれでも、圧縮検知理論にしたがって圧縮することができる。圧縮検知理論にしたがって圧縮されたＧＰＳ信号サンプル３１４の構成例について、図５〜図７に関して以下で示す。一旦ＧＰＳ信号サンプル３１４が圧縮命令３１２にしたがって処理されたなら、前述のように、ＧＰＳ信号サンプル３１４はコンピューター読み取り可能記憶媒体３１０に格納されるか、または通信インターフェース３０４を介してサーバー１１４に供給される。
【００５１】
[0059]  以上で説明したサーバー１１４および移動体デバイス１０２は、ユニバーサル・コンピューター・システムまたは特殊コンピューター・システムの環境あるいは構成で使用することができる。例には、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルド・デバイスまたは携帯用デバイス、タブレット・デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベース・システム、セット・トップ・ボックス、プログラマブル顧客用電子デバイス、ネットワークＰＣ、および以上の内任意のシステムまたはデバイスを含む分散型計算環境が含まれる。
【００５２】
[0060]  図４は、ある実現例によるデーター・フロー例４００のシステム流れ図である。データー・フロー４００は、サーバー１１４および移動体デバイス１０２のモジュール、ＵＳＧＳ高度ＡＰＩデーターベース２０２、ＮＡＳＡ軌道データーベース２０４、ならびに陸標データーベース４０２間におけるデーター送信を示す。
【００５３】
[0061]  先に説明したように、移動体デバイス１０２は、ＧＰＳ信号をサンプリングする１つ以上のＧＰＳ受信機と、ＧＰＳ信号サンプルまたは圧縮ＧＰＳ信号サンプルをサーバー１１４に供給する１つ以上の通信インターフェースとを含む。ＵＳＧＳ高度ＡＰＩデーターベース２０２は、サーバー１１４によって判定された位置に関する高度データーを提供する。ＮＡＳＡ軌道データーベース２０４は、ＧＰＳ衛星１０４〜１１２に関する暦およびエフェメリス・データーを提供する。陸標データーベース４０２は、米国中において既知の基準位置を含む１つ以上のデーターベースであり、サーバー１１４に供給することができる。
【００５４】
[0062]  先に説明したように、サーバー１１４はコンピューター読み取り可能記憶媒体を含み、任意の数のプログラム・モジュール、アプリケーション、またはコンポーネントをこのコンピューター読み取り可能記憶媒体に格納することができる。図示したように、サーバー１１４は、再現および取得モジュール４０４、基準位置モジュール４０６、ならびに位置判定モジュール４０８を含む。
【００５５】
[0063]  再現および取得モジュール４０４は、ＧＰＳ信号サンプルを移動体デバイス１０２から受信して、各可視衛星に対して、ＩＤならびに対応するドップラー周波数および符号位相を再現するように構成される。一例では、移動体デバイス１０２は、生のＧＰＳ信号サンプルを再現および取得モジュール４０４に供給する。応答して、再現および取得モジュール４０４は、先に説明したように、ＧＰＳ受信機によって通例実行される取得フェーズを実行することによって、生のＧＰＳ信号サンプルからＧＰＳ信号を再生し、衛星ＩＤ、ドップラー・シフト、および符号位相を再現する。他の例では、ＧＰＳ信号サンプルが移動体デバイス１０２によって圧縮検知理論にしたがって圧縮されてもよく、再現および取得モジュール４０４は、圧縮検知技法を使用して、ＧＰＳ信号を再生することなく、圧縮サンプルから直接、可視衛星の各々に対してＩＤならびに対応するドップラー周波数および符号位相を再現することができる。
【００５６】
[0064]  基準位置モジュール４０６は、再現および取得モジュール４０４からのドップラー周波数、ならびに可視衛星に対応するＮＡＳＡ軌道データーベース２０４からのエフェメリスが与えられて(given)、移動体デバイス１０２がＧＰＳ信号をサンプルした１つ以上の領域を判定するように構成される。１つ以上の領域を判定した後、基準位置モジュール４０６は、陸標データーベース４０２にアクセスして、これらの領域内部において可能な基準位置を判定するように構成される。
【００５７】
[0065]  位置判定モジュール４０８は、１組の可能な基準位置、符号位相、およびエフェメリスが与えられて、１組の移動体デバイス１０２の可能な位置を識別するように構成される。位置判定モジュール４０８は、更に、ＵＳＧＳ高度ＡＰＩデーターベース２０２から引き出された高度データーを部分的に使用することによって１組の可能な位置から移動体デバイス１０２の実際の位置を識別するように構成される。
【００５８】
[0066]  一例では、再現および取得モジュール４０４は、複数のＧＰＳ信号サンプルまたは圧縮ＧＰＳサンプルを移動体デバイス１０２から受信する。再現および取得モジュール４０４は、可視衛星の各々に対して、ＩＤならびに対応するドップラー周波数および符号位相を再現する。例えば、生のＧＰＳ信号サンプルが受信された場合、再現および取得モジュール４０４はＧＰＳ信号を再生し、可能なドップラー周波数範囲毎に、Ｃ／Ａコード・テンプレートを、再生したＧＰＳ信号と比較する。一旦可視（ブロードキャストした）衛星が判定されたなら、再現および取得モジュール４０４は、ＧＰＳ信号内部のＣ／Ａコードの繰り返しパターンを利用することによって、符号位相を判定する。
【００５９】
[0067]  再現および取得モジュール４０４は、衛星ＩＤ、ドップラー周波数、および符号位相を基準位置モジュール４０６に供給する。また、再現および取得モジュール４０４は、衛星ＩＤをＮＡＳＡ軌道データーベース２０４にも供給し、一方、ＮＡＳＡ軌道データーベース２０４は各衛星ＩＤに関するエフェメリスを基準位置モジュール４０６に供給する。
【００６０】
[0068]  基準位置モジュール４０６は、最初に、可視衛星に基づいて信号のドップラー交点を計算することによって、移動体デバイス１０２の推定位置を判定する。例えば、ドップラー・シフトから、各可視衛星の移動体デバイス１０２に向かうまたは遠ざかる速度を判定することができる。各可視ＧＰＳ衛星の位置および速度は、エフェメリスにおいて受信される。衛星の方向、速度、および位置が分かった場合、衛星の角度を判定することができる。一旦各可視ＧＰＳ衛星の角度が基準位置モジュール４０６によって判定されたなら、ＧＰＳ信号のブロードキャストされたエリアを表すコーンを、可視衛星毎に求めることができる。これらのコーンの交点が、移動体デバイス１０２の１つ以上の領域を与える。
【００６１】
[0069]  基準位置モジュール４０６が移動体デバイス１０２の領域を判定した後、基準位置モジュール４０６は、領域の各々を空間的にサンプリングして、１組の可能な基準位置、即ち、これらの領域の少なくとも１つにおいて突き止められた既知の位置がある既知の陸標を確定する。既知の陸標は、陸標データーベース４０２から識別され、引き出される。
【００６２】
[0070]  基準位置モジュール４０６は、１組の可能な基準位置を位置判定モジュール４０８に供給し、位置判定モジュール４０８は、移動体デバイス１０２の実際の位置を識別する。こうするために、位置判定モジュール４０８は、最初に、基準位置の各々を使用してＣＴＮを適用し、移動体デバイス１０２に対して１組の可能な位置を判定する。先に注記したように、１組の可能な位置における位置の多くは、基準位置の推定(guessing)による幻影位置である。
【００６３】
[0071]  一旦１組の可能な位置が判定されたなら、位置判定モジュール４０８は、可能な位置を地球の表面近くの評価、例えば、−５００および８０００ｍの間に制限することによって、幻影位置を排除し始める。次に、位置判定モジュール４０８は、残っている可能な位置の各々に関する高度データーを、ＵＳＧＳ高度ＡＰＩデーターベース２０２から引き出し、計算した高度を引き出した高度と比較する。これらの高度が一致しない場合、可能な位置は、移動体デバイス１０２の実際の位置に対する候補としては排除される。しかしながら、高度が一致した場合、位置判定モジュール４０８は、移動体デバイス１０２のあり得る(feasible)実際の位置を識別したことになる。このようなあり得る位置全てについて、位置判定モジュール４０８は、精度低下率が最も小さいものを判定し、この位置を移動体デバイス１０２に供給し、この位置をコンピューター読み取り可能記憶媒体に格納し、または分析のためにこの位置を他の計算デバイスに供給する。
【００６４】
[0072]  本明細書において説明した技法を実行する方法例について、以下で詳しく説明する。これらの方法例は、コンピューター実行可能命令という一般的なコンテキストで説明することができる。一般に、コンピューター実行可能命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造、プロシージャー、モジュール、関数等を含むことができ、特定の機能を実行するかまたは特定の抽象データー型を実装する。また、これらの方法は、分散型計算環境において実施することもでき、この場合機能は、通信ネットワークまたは通信クラウドを介してリンクされたリモート処理デバイスによって実行される。分散型計算環境では、コンピューター実行可能命令はローカルおよびリモート双方のメモリーに配置されてもよい。
【００６５】
[0073]  場合によっては、これらの方法例は、ハードウェア、ソフトウェア、ファームウェア、またはその組み合わせで実現することができる動作のシーケンスを表す論理フロー・グラフにおけるブロックの集合体として図示される。これらの方法を説明する順序は、限定として解釈されることを意図しておらず、説明する方法のブロックの内任意の数を任意の順序で組み合わせて、これらの方法または代わりの方法を実現することもできる。加えて、個々の動作は、本明細書において説明する主題の主旨および範囲から逸脱することなく、これらの方法から省略されてもよい。ソフトウェアのコンテキストでは、ブロックは、コンピューター実行可能命令を表し、１つ以上のプロセッサーによって実行されると、列挙される動作を実行する。
【００６６】
[0074]  図５は、ある実現例にしたがってＧＰＳ信号を圧縮するプロセス例５００の流れ図である。５０２において、移動体デバイス１０２は衛星１０４〜１１２というような１つ以上の衛星からのＧＳＰ信号をサンプリングする。ＧＰＳ信号は、移動体デバイス１０２に現在各可視ＧＰＳ衛星からの信号を含む組み合わせ信号である。ＧＰＳ信号サンプルは、各々、ＧＰＳ信号の一部を含み、次の式のように表すことができる。
【００６７】
【数１】
0006532402.tif 000002
【００６８】
[0075]  上の式において、r(t)はＧＳＰ受信機３０６において受信された信号であり、ｋはＣ／Ａコードを使用して判定することができる衛星ＩＤであり、Ｄはデーター（定数として扱うことができる）であり、n(t)は信号ノイズであり、τ(k)は伝搬遅延であり、fD(k)はドップラー周波数である。
【００６９】
[0076]  ５０４において、移動体デバイス１０２はＧＰＳ信号サンプルを、サンプリングされた可能性がある衛星毎に、可能な符号位相およびドップラー周波数にわたって列挙された行列として表す。可能なシフト・符号位相(shifted code phase)の各々およびドップラー周波数は、ｓａｔ−ｎａｖシステムにおいて現在アクティブなＧＰＳ衛星の全て３１機について分かっている。つまり、移動体デバイス１０２は、式r(t)を次の行列のように表すことができる。
【００７０】
【数２】
0006532402.tif 000003
【００７１】
[0077]  上の行列において、τi(i)は衛星ｊからのＧＰＳ信号のｉ番目の可能な遅延値を意味し、fi(i)は、衛星ｊのｉ番目の可能なドップラー周波数を示す。したがって、この行列の全ての列は、視野から可視衛星および隠れる衛星双方全てのＣ／Ａコード・テンプレートの全組み合わせを、全ての可能な符号位相およびドップラー周波数の組み合わせと共に表す。
【００７２】
[0078]  ５０６において、移動体デバイス１０２は、各列の加重平均の係数ベクトルを含む圧縮検知理論にしたがって、上の行列を圧縮検知モデルとして表す。その結果得られる行列式は次のようになる。
【００７３】
【数３】
0006532402.tif 000004
【００７４】
[0079]  上のベクトルｃは、行列ｚの対応する列の加重平均である係数から成る。係数ベクトルｃは、疎であることが分かっている、または疎であると仮定することができる。何故なら、可視衛星毎に１つの符号位相および１つのドップラー周波数だけが設定されるからである。
【００７５】
[0080]  疎ベクトルが生成されるので、圧縮検知技法をサーバー１１４によって圧縮サンプルに適用し、生のＧＰＳ信号サンプルまたは従来通りに圧縮されたＧＰＳサンプルを使用すると必要となるよりも遙かに少ないサンプルを使用して、可視衛星、ドップラー・シフト、および符号位相を判定することができる。例えば、時間ドメインにおいて定式化された上の行列式を使用すると、８機の衛星が視野内にあり、 ４０の可能なドップラー周波数シフト があり、そして１０００の可能な符号位相がある場合、１，１０４個のＧＰＳ信号サンプルを使用して、可視衛星、ドップラー・シフト、および符号位相を判定することができる。生のＧＰＳ信号サンプルを使用するときと比較すると、サーバー１１４は、可視衛星、ドップラー・シフト、および符号位相を判定するためには、３２，０００個の範囲のサンプルを必要とする。このように、移動体デバイス１０２が収集するサンプルが少なくなり、移動体デバイス１０２がサーバー１１４に送信するサンプルを減らすことができ、その結果移動体デバイス１０２のバッテリー寿命が長くなる。
【００７６】
[0081]  ５０８において、移動体デバイス１０２はＧＰＳ信号サンプルをサーバー１１４に供給する。例の中には、移動体デバイス１０２がＧＰＳ信号サンプルをサーバー１１４にリアル・タイムでＷｉＦｉまたは移動体ネットワークを介して供給できる場合もある。他の例では、移動体デバイス１１４が、圧縮検知理論にしたがって圧縮されたＧＰＳ信号サンプルをコンピューター読み取り可能記憶媒体に格納し、後の時点にこのＧＰＳ信号サンプルをサーバー１１４に供給することもできる。
【００７７】
[0082]  １つの特定例では、サーバー１１４に供給される各ＧＰＳ信号サンプルは、上の行列式の線形投射であり、次のように書くことができる。
【００７８】
【数４】
0006532402.tif 000005
【００７９】
[0083]  図５は、時間ドメインにおいて圧縮検知理論を使用して、移動体デバイス１０２によって受信されたＧＰＳ信号サンプルをどのように表現することができるかについての第１例を示す。図６は、時間ドメインにおいて圧縮検知理論にしたがってＧＰＳ信号サンプルを構成する追加のプロセス例を示す。
【００８０】
[0084]  図６は、ある実現例にしたがってＧＰＳ信号サンプルを圧縮するプロセス例６００の流れ図である。６０２において、移動体デバイス１０２は１つ以上の衛星からのＧＰＳ信号をサンプリングする。ＧＰＳ信号は、図１のＧＰＳ衛星１０４〜１１２というような１組の現在可視ＧＰＳ衛星から受信される。図４に関して先に説明したように、ＧＰＳ信号サンプルは、各々、ＧＰＳ信号の一部を含み、次の式のように表すことができる。
【００８１】
【数５】
0006532402.tif 000006
【００８２】
[0085]  上の式において、r(t)はＧＰＳ受信機３４０において受信された信号であり、ｋは、Ｃ／Ａコードを使用して判定することができる衛星ＩＤであり、Ｄはデーター（定数として扱うことができる）であり、n(t)は信号ノイズであり、τ(k)は伝搬遅延であり、fD(k)はドップラー周波数である。
【００８３】
[0086]  ６０４において、移動体デバイス１０２は、固定の１組のドップラー周波数を生成する。例えば、移動体デバイス１０２は、既知の物理的制約に基づいて、１組のドップラー周波数を設定することができる。この１組の固定ドップラー周波数は、fh(i),I= 1, ..., Nと表すことができる。
【００８４】
[0087]  ６０６において、移動体デバイス１０２は、サンプルを、サンプリングされた可能性がある衛星毎に、可能な符号位相およびドップラー周波数にわたって列挙された行列として表す。１組の固定ドップラー周波数を使用すると、ＧＰＳ信号サンプルから次の行列を形成することができる。
【００８５】
【数６】
0006532402.tif 000007
【００８６】
[0088]  上の行列において、τi(i)はここでも衛星ｊからのＧＰＳ信号のｉ番目の可能な遅延値を表す。
[0089]  ６０８において、移動体デバイス１０２は、各列の加重平均の係数ベクトルを含む圧縮検知理論にしたがって、上の行列を圧縮検知モデルとして表す。その結果得られる行列式は次のようになる。
【００８７】
【数７】
0006532402.tif 000008
【００８８】
[0090]  ここでも、上のベクトルｃは、行列ｚの対応する列の加重平均である係数から成る。また、ここでも係数ベクトルｃは、疎であることが分かっている、または疎であると仮定することができる。何故なら、可視ＧＰＳ衛星毎に１つの符号位相および１つのドップラー周波数だけが設定されるからである。
【００８９】
[0091]  疎ベクトルが生成されるので、圧縮検知技法をサーバー１１４によってＧＰＳ信号サンプルに適用し、生のＧＰＳ信号サンプルまたは従来通りに圧縮されたＧＰＳサンプルを使用すると必要となるよりも遙かに少ないサンプルを使用して、可視衛星、ドップラー・シフト、および符号位相を判定することができる。例えば、時間ドメインにおいて定式化された上の行列式を使用すると、８機の衛星が移動体デバイス１０２の視野内にあり１０００個の符号位相が可能である場合、７１９個のＧＰＳ信号サンプルに対して早期終了するＬＩ最小化(Lasso)ソルバー(solver)を使用して、可視衛星、ドップラー・シフト、および符号位相を判定することができる。
【００９０】
[0092]  ６１０において、移動体デバイス１０２はＧＰＳ信号サンプルをサーバー１１４に供給する。例の中には、移動体デバイス１０２がＧＰＳ信号サンプルをサーバー１１４にリアル・タイムでＷｉＦｉまたは移動体ネットワークを介して供給できる場合もある。他の例では、移動体デバイス１１４が、ＧＰＳ信号サンプルをコンピューター読み取り可能記憶媒体に格納し、後の時点にこのＧＰＳ信号サンプルをサーバー１１４に供給することもできる。
【００９１】
[0093]  図５および図６は、時間ドメインにおける圧縮検知モデルとしてＧＰＳ信号サンプルを表現する方法の例を２つ示す。図７は、周波数ドメインにおける圧縮検知モデルとしてＧＰＳ信号サンプルを表す例を示す。
【００９２】
[0094]  図７は、ある実現例にしたがってＧＰＳ信号サンプルを圧縮するプロセス例７００の流れ図である。７０２において、移動体デバイス１０２は１つ以上のＧＰＳ衛星からのＧＰＳ信号をサンプリングする。ＧＰＳ信号は、図１の衛星１０４〜１１２というような１組の現在見ることができる衛星から受信される。図４および図５に関して先に説明したように、ＧＰＳ信号サンプルは、各々、ＧＰＳ信号の一部を含み、次の式のように表すことができる。
【００９３】
【数８】
0006532402.tif 000009
【００９４】
[0095]  上の式において、r(t)はGSP受信機３０４において受信された信号であり、ｋはＣ／Ａコードを使用して判定することができる衛星ＩＤであり、Ｄはデーター（定数として扱うことができる）であり、n(t)は信号ノイズであり、τ(k)は伝搬遅延であり、fD(k)はドップラー周波数である。
【００９５】
[0096]  ７０４において、移動体デバイス１０２はＧＰＳサンプルに対して離散フーリエ変換（ＤＦＴ）を実行する。ＤＦＴの間、符号位相、ドップラー周波数、ならびに符号位相およびドップラー周波数双方による不確実性を別個の項として表すことができる。したがって、r(t)のＤＦＴ係数は次の式のように表すことができる。
【００９６】
【数９】
0006532402.tif 000010
【００９７】
[0097]  ７０６において、移動体デバイス１０２はr(t)のＤＦＴ係数を、サンプリングされた可能性がある衛星毎に、可能なドップラー周波数にわたって列挙された行列として表す。可能なドップラー周波数f(k)にわたって列挙すると、上の式は次のように書き換えることができる。
【００９８】
【数１０】
0006532402.tif 000011
【００９９】
ここで、
【０１００】
【数１１】
0006532402.tif 000012
【０１０１】
【数１２】
0006532402.tif 000013
【０１０２】
[0098]  次いで、上の式を以下の行列、即ち、可能なドップラー周波数にわたって列挙された、行列Ｃのように表すことができる。
【０１０３】
【数１３】
0006532402.tif 000014
【０１０４】
[0099]  ７０８において、移動体デバイス１０２はこの行列を、各列の加重平均の係数ベクトルｇを含む圧縮検知モデルとして表現する。その結果得られた行列式は次の通りである。
【０１０５】
【数１４】
0006532402.tif 000015
【０１０６】
[0100]  ベクトルｇは、行列Ｃの対応する列の加重平均である係数から成る。係数ベクトルｇは、疎であることが分かっている、または疎であると仮定することができる。何故なら、可視衛星毎に１つの符号位相および１つのドップラー周波数だけが設定されるからである。
【０１０７】
[00101]  疎ベクトルが生成されるので、圧縮検知技法をサーバー１１４によって圧縮サンプルに適用し、生のＧＰＳ信号サンプルまたは従来通りに圧縮されたＧＰＳサンプルを使用すると必要となるよりも遙かに少ないＧＰＳ信号サンプルを使用して、可視ＧＰＳ衛星、ドップラー・シフト、および符号位相を判定することができる。例えば、時間ドメインにおいて定式化された上の行列式を使用すると、８機の衛星が視野内にあり４０の可能なドップラー周波数がある場合、１，０３２個のＧＰＳ信号サンプルに対して群−疎信号復元ソルバーを使用して、可視ＧＰＳ衛星、ドップラー・シフト、および符号位相を判定することができる。
【０１０８】
[0102]  ７１０において、移動体デバイス１０２はＧＰＳ信号サンプルをサーバー１１４に供給する。例の中には、移動体デバイス１０２がＧＰＳ信号サンプルをサーバー１１４にリアル・タイムでＷｉＦｉまたは移動体ネットワークを介して供給できる場合もある。他の例では、移動体デバイス１１４がＧＰＳ信号サンプルをコンピューター読み取り可能記憶媒体に格納し、後の時点にこのＧＰＳ信号サンプルをサーバー１１４に供給することもできる。
【０１０９】
[0103]  図５〜図７は、ＧＰＳ信号サンプルを圧縮検知モデルとして表現する方法の例を示す。図８は、移動体デバイス１０２の位置を判定するために、圧縮表現モデルとして表現されたＧＰＳ信号サンプルに対する圧縮検知問題を解くための技法を適用することができるサーバーの方法例を示す。
【０１１０】
[0104]  図８は、ある実現例にしたがってＧＰＳの位置を判定するプロセス例８００の流れ図である。８０２において、サーバー１１４は、複数のＧＰＳ信号サンプルと、移動体デバイス１０２からのＧＰＳ信号サンプル毎にタイム・スタンプとを受信する。ＧＰＳ信号サンプルは、生のＧＰＳデーターでも、圧縮ＧＰＳ信号サンプルでもよい。例えば、ＧＰＳ信号サンプルは、図５〜図７に関して以下で説明するような圧縮検知理論にしたがって構成することもできる。
【０１１１】
[0105]  ８０４において、サーバー１１４は可視ＧＰＳ衛星と、可視ＧＰＳ衛星毎にドップラー・シフトおよび符号位相とを識別する。サーバー１１４が生のＧＰＳデーターを受信した場合、サーバー１１４はＣ／Ａコード・テンプレートをＧＰＳ信号と比較して、可視ＧＰＳ衛星を判定する。
【０１１２】
[0106]  しかしながら、圧縮検知理論を使用してＧＰＳ信号サンプルが構成された場合、サーバー１１４はＧＰＳ信号サンプルに群−疎信号復元ソルバーを適用して、可視衛星と、対応するドップラー周波数および符号位相とを判定することもできる。圧縮検知問題を解くためには、異なるソルバー、例えば、ＬＩ最小化(Lasso)ソルバーが利用可能である。加えて、例の中には、サーバー１１４において設定することができる既知の物理的制約を解が違反するときに、ソルバーの繰り返しに早期終了を適用することもできる。早期終了ソルバーを利用することによって、可視ＧＰＳ衛星と対応するドップラー・シフトおよび符号位相とを判定するために必要とされるＧＰＳ信号サンプルの数を更に減らすことができる。
【０１１３】
[0107]  ８０６において、サーバー１１４は衛星毎にＮＡＳＡ軌道データーベース２０４からエフェメリス・データーを引き出す。１つの特定例では、サーバー１１４はエフェメリスおよび暦データーをＮＡＳＡ軌道データーベース２０４から周期的に引き出し、後の時点における使用のために、この情報をコンピューター読み取り可能記憶媒体２１０のようなメモリーに格納することもできる。エフェメリスおよび暦データーを格納することは、ＧＰＳ信号サンプルが収集され、ある時間期間にわたって移動体デバイス１０２に格納され、後にサーバー１１４にダウンロードされるときに特に有用である。
【０１１４】
[0108]  ８０８において、サーバー１１４は、ドップラー・シフト交点およびエフェメリスを使用して、１組の基準位置を識別する。例えば、ドップラー・シフトから、各可視衛星の移動体１０２に向かうまたは遠ざかる速度が判定される。各可視ＧＰＳ衛星の位置および速度は、エフェメリスおよびタイム・スタンプによって得られる時刻を使用して判定される。衛星の方向、速度、および位置が分かっている場合、衛星の角度を判定することができる。
【０１１５】
[0109]  一旦各可視ＧＰＳ衛星の角度が判定されたなら、その角度でブロードキャストされたＧＰＳ信号のエリアを表すコーンを、可視衛星毎に求めることができる。コーンの交点は、移動体デバイス１０２の１つ以上の領域を与える。これらの領域が判定された後、これらの領域を空間的にサンプリングして、１組の基準位置、即ち、これらの領域内に既知の位置がある既知の陸標を確定する。
【０１１６】
[0110]  ８１０において、サーバー１１４は、基準位置の各々を使用してＣＴＮを適用し、移動体デバイス１０２に対して１組の可能な位置を判定する。しかしながら、基準位置は推定されたものであり、図２に関して先に説明したように、１組の可能な位置は１つ以上の幻影位置を含む可能性がある。
【０１１７】
[0111]  ８１２において、サーバー１１４は幻影位置を１組の可能な位置から排除する。一例では、サーバー１１４は、可能な位置を地球の表面近くに制限する。基準位置を推定することによって生ずる誤差のために、ＣＴＮを適用した結果得られた可能な位置の多くは、地球の表面から離れている。このため、可能な位置を地球の表面近くの範囲、例えば、−５００から８０００ｍの間に制限することによって、多くの幻影位置が排除される。
【０１１８】
[0112]  しかしながら、それ自体によって高度範囲を適用すると、通例、一意の位置が得られないが、残りの可能な位置が管理可能な数に限定される。残りの幻影位置を排除するために、サーバー１１４はＵＳＧＳ高度ＡＰＩデーターベース２０２のような高度データーベースにアクセスし、地球の表面の真の高度を引き出す。サーバー１１４は、残りの可能な位置の各々を真の高度と比較して、高度が一致しない場合、可能な位置の各々を排除する。真の高度を利用することによって、サーバー１１４は残りの幻影位置を排除し、移動体１０２のあり得る実際の位置を判定し、これらから、精度低下率が最も小さい１つを選択することができる。
【０１１９】
[0113]  一旦移動体デバイス１０２の位置が判定されたなら、この位置を移動体デバイス１０２に供給し、後の使用のためにコンピューター読み取り可能記憶媒体に格納し、または分析のために他の計算デバイスに供給する。
【０１２０】
[0114]  尚、以上で定められた主題は、必ずしも説明した具体的な特徴やアクトには限定されないことは、理解されてしかるべきである。例えば、「技法」という用語は、以上のコンテキストによって、そして本開示全体にわたって許容される場合、デバイス（１つまたは複数）、システム（１つまたは複数）、方法（１つまたは複数）、および／またはコンピューター読み取り可能命令を指すこともできる。
結論
[0115]  以上、構造的特徴および／または方法論的アクトに特定的な文言で主題について説明したが、添付した特許請求の範囲において定められる主題は必ずしも説明した具体的な特徴やアクトには限定されないことは、理解されてしかるべきである。むしろ、具体的な特徴やアクトは、特許請求の範囲を実現する形態例として開示したまでである。
【図１】
0006532402.tif 000016
【図２】
0006532402.tif 000017
【図３】
0006532402.tif 000018
【図４】
0006532402.tif 000019
【図５】
0006532402.tif 000020
【図６】
0006532402.tif 000021
【図７】
0006532402.tif 000022
【図８】
0006532402.tif 000023