スマートフォンのGPSがGPSモジュールよりもはるかに速く位置を検出するのはなぜですか?


81

arduino GPSモジュールを使用している場合、通常、データの送信が開始されるまでに数分かかります。そして、しばらくの間衛星を「リッスン」する必要があるため、通常すべてのGPSモジュールに当てはまるようです。ただし、携帯電話の内蔵GPSを使用すると、数秒でその位置が検出されます。何故ですか?


16
一言の答え:「A-GPS」
-Agent_L

10
これは1語ではありません-4語の頭字語です!
トランジスター

10
@Transistorまあ、あなたが独創的になりたいなら、A-GPSは頭字語ではなく、初期主義です。;)
DavidCAdams

7
@DavidCAdams:その通りです!私はそれらを両方見ました。頭字語が単語として発音されている(または、少なくとも、発音できると思われる)ことに気付いたことはありませんでした。EE.SEで学んだこと!
トランジスタ

1
@DavidCAdamsそして、ここ数年、NASAのルートでA-GPSを「aggps」と発音していましたが、今はもうできないと言っていますか?EE.SEで学ぶこと!
CVn

回答:


116

最初の修正まで時間(TTFX)に影響するいくつかのことがあります。

  1. 暦と天体暦の取得。これら2つのことは、技術的には互いに少し異なりますが、ここでは、それらを同じものとして扱います。それらは衛星の場所であり、自分の位置を把握するためには衛星がどこにあるかを知る必要があります。各衛星は、約12分ごとに1回、ロット全体を送信します。したがって、1チャンネル受信機と適切な信号を使用した完全なコールドスタートから、TTFXは少なくとも12分かかります。次の方法で速度を上げることができます。

    • 代わりにインターネットからダウンロードする-一般的には電話に適しています。この方法で暦と天体暦をダウンロードすることは、MSB Assisted GPSとして知られています。
    • 前回の暦を覚えて(何週間も有効です)、天体暦をダウンロードするだけです。
    • デバイスに複数の受信チャンネルがあるため、一度に複数の衛星を聴くことができます。トランスミッションはこの作業を行うためにずらされており、注意を払って暦を使わずに天体暦を使用することができ、多くの時間を節約できます。最近市場に出回っているモジュールの大部分は複数のチャネルを備えているため、まだ12分を必要とするモジュールを見つけることはまれです。
  2. 衛星の特定。適切な修正を得るには、少なくとも3つ、できればそれ以上の衛星を聞く必要がありますが、各受信機(相関器と呼ばれる)は一度に1つしか調整できません。おおよその現在地、現在時刻、および暦をすでに知っている場合は、どの衛星を見ることができるかを推測できます。電話は、wifiまたはbluetooth信号の認識元、使用しているセルタワー、その他のソースを大体把握する傾向があります。定期的に非常に正確な時刻の更新も取得するため、通常は正しい衛星に直行できます。電話機と大規模モジュールの両方は、いつ、どこで最後に使用されたかを記憶し、それを使用して開始することもできます。

  3. 相関器の数。GPS信号の信号対雑音比は非常に低いため、それらを受信するには特別なハードウェアが必要です。一部の受信機には1つしかなく、衛星の周りを回転させる必要があります。他の人はもっとたくさんいて、一度にもっと聞くことができます。そのため、すでに暦/エフェメリスがあり、おおよその位置を知っている場合でも、より多くの相関関係子を使用すると、より迅速に修正できます。常に多くの方が優れていると思うかもしれませんが、多くの方がコストと電力消費を増加させます。一部の電話とモジュールには他のものよりも多くのものがあります。

  4. 信号とアンテナ。相関器に適切なS / N比があれば、相関器はより速く仕事をします。非常に弱い信号はまったく機能しない場合があります。優れたアンテナ設計、アンプ、スカイビュー、および優れたPCBレイアウトは、すべての違いを生むことができます。いくつかのモジュールは、箱から出してすぐに動作し、アンテナを差し込んだ方がはるかに良い場合があります。

  5. 使用可能な衛星の数。実際には、GPS(米国が運営)とGLONASS(ロシアが運営)の2つの大きな衛星の星座があります。ガリレオ(EU)とBeiDou-2(中国)、およびインドのNAVICやBeiDou-1のような地域をカバーしているものもあります。複数の星座の衛星を使用できる受信機には、より多くの衛星を選択できるため、より迅速で正確な修正が可能です。

  6. 相関器の品質。新しいハードウェア設計は古いものよりも優れており、ノイズの多い信号でGPSメッセージの断片をより適切に検出できます。電話でできるもう1つの方法は、信号の断片をキャプチャし、それらをインターネット経由で非常に優れたソフトウェア相関器を備えたサーバーに渡し、検証する暦/エフェメリスを完成させることです。これはMSAアシストGPSと呼ばれます。

  7. 一部の電話機(およびいくつかのモジュール)でも、若干の卑劣なトリックを使用して、長いTTFXを回避または非表示にする場合があります。それらは常にオンになっているため、位置と天体暦をほぼ最新の状態に保つために、ユーザーに通知せずにGPSを短時間オンにすることがあります。他の人は実際の修正を待っている間に最近の位置を表示するかもしれません-これはほとんどの場合良いTTFXのように見えますが、位置が非常に間違っていることが判明した場合は悪く見えます。

上記のポイント1は、最も大きな違いを生むものであり、通常、基本モジュール、より高度なモジュール、および電話の間で異なる重要なものです。他のものは通常、より小さな違いをもたらしますが、実際には非常に複雑なものになる可能性があります。さらに読みたい場合は、「最初に修正するまでのGPS時間」を検索する用語です。


32
ポイント2:WiFiに加えて、携帯電話は、接続している携帯電話基地局に基づいておおよその位置を取得する場合があります。
アルファベット文字

4
デバイスは、最後の既知の位置データを「キャッシュ」し、それをすぐに使用し、実際のデータが入ったら調整します。私の携帯電話はGPSでこれを行います。
rdtsc

17
セルネットワークに加えて、多くのプロバイダー(Googleを含む)がWiFiアクセスポイントの物理的な場所のデータベースを構築しているため、驚くほど正確にデバイスの場所を特定できます。私の安価なAndroidタブレットにはGPSもセルアクセスもありませんが、WAPに接続している限り、Googleマップは常に現在地を正確に把握しているようです。私は彼らが逆のプロセスを介してWAPの位置を取得するのではないかと疑っています-接続された携帯電話やGPSを持つ他のデバイスの位置から推測します。
デイブツイード

5
@ゼーロ各フレームは35秒ですが、完全な暦は25フレームに分割され、送信に12〜13分かかります。暦を使用せずに天体暦データから修正を取得できるのは事実ですが、1)非常に古いハードウェア、2)GPS時間からUTCへの正確な補正、3)一部のハードウェアでの電離層遅延補正には暦が必要です。
ジャックB

4
@ゼーロうーん。私は、12分間がシングルチャンネルレシーバーであることは非常に明確でした。また、マルチチャンネルレシーバーの方が高速だと言いました。最近の受信機のほとんどはマルチチャンネルですが、私は確かに古いシングルチャンネルのものをいくつか持っています-そしてそれらは完全に12分かかります。単一のチャネルがあり、電離層の遅延補正が必要な場合、フルアルマナックを取得するよりも速く取得する方法はありません。マルチチャンネルモジュールを使用し、3分のTTFXを必要とするという事実は、他のタイプが存在しないことを意味しません。しかし、古いタイプは珍しいと言うために答えを更新します。
ジャックB

22

携帯電話のオペレーティングシステムは、インターネット経由で携帯電話ネットワークを介してGPS暦データ(衛星エフェメリスとステータス情報)をダウンロードし、GPS衛星から50 bpsで直接ダウンロードするよりもはるかに高速にGPSモジュールにロードします(はい、それは毎秒50ビットです。GPSは非常に低いSNRでの動作に最適化されたかなり古い技術であり、最初の修正までの時間を大幅に短縮します。これはアシストGPSと呼ばれます。また、セルモデムからの非常に正確な初期時間基準(セルタワーは通常GPSを介して時間同期されます)と、おそらくセルモデムからの大まかな位置推定値も持っています。このすべてを組み合わせることで、受信機が実行する必要がある検索の量が大幅に削減されます。どの衛星を見ることができるかがわかっているので、それらを探すだけで、衛星が送信するのを待つ必要はありません。メッセージ全体。


そのため、基本的にプロセスから「同期」を取り除きます。GPSモジュールは、衛星自体から送信されたデータを使用して衛星を検索しますか?
擬人化された正十二面体

3
それはプロセスからそれを取り去るのではなく、GPS受信機に最初から適切な推定値を与えることによって加速します。
alex.forencich

29
50 bpsは、GPSが古いという理由だけではありません。これは、GPS受信機が非常に弱い信号を検出する方法、およびすべてのGPS衛星が単一周波数で送信できるが独立して受信する方法の不可欠な部分です。GPSレシーバーでは、多くの複雑なことが行われます。
JRE

5
@TomTom:いいえ、GPSの機密性は不明瞭さによって決して達成されませんでした。選択的可用性(SA)を考えているかもしれませんが、それは意図的な位置決めエラーでした。
–MSalters

1
@TomTom:GPSのスペクトラム拡散は、信号を隠すことを目的としていませんでした。単純なRF受信機にはその効果がありますが、それはポイントではありませんでした。スペクトラム拡散技術は、2つのことを提供します。非常に低い信号対雑音比での動作と、妨害に対するある程度の耐性です。ほとんどすべての人と彼の兄弟は、GPSがどの周波数を使用するかを知っています(そしていつ頃かはわかっていました)。既に知られているものを隠すことは意味がありません。ただし、(簡単に)詰まらないことは大きなプラスでした。GPS妨害装置があります(現在)が、当時ははるかに困難でした。
JRE


8

ここでの答えの一部は、携帯電話のGPSは単なるGPSではないということです。Cellは、携帯電話の塔の三角測量やWi-Fiネットワークの可視性など、地理的位置情報の他の情報も使用します。たとえば、iPad Airの非セルラーバージョンには実際のGPSはありませんが、これらの手法を使用して、あなたが市街地のどこにいるかをまだ認識しています。


4
質問は、具体的にはGPSの動作に関するものでした。利用可能な位置情報がないため、携帯電話は携帯電話タワーから三角測量できません。
トランジスタ

6
@Transistorこの質問では、スタンドアロンのGPSと携帯電話のGPSを比較し、質問のタイトルでは、携帯電話がどのようにスタンドアロンのGPSユニットよりも速くGPSを実行するかを具体的に尋ねています。また、ウィキペディアによると、携帯電話タワー三角測量を使用して位置を特定します。位置情報がないと言う理由がわかりません:確かに、タワーはその場所をアナウンスしませんが、道路もその場所をアナウンスしません。携帯電話にはデータベースに保存された地図があります。
デビッドリチャービー

3
@Transistor:携帯電話は三角測量を実行しません。ネットワークプロバイダーが行います。
ヨルグWミッターグ

2
@JörgWMittag:ネットワークAFAICTに依存します。最新のネットワークは、Enhanced 911 / E112の一部としてローカリゼーションサービスを提供します。
–MSalters

@DavidRicherby:リンクをありがとう。私はそれを2回読みましたが、私が見ることができるのは電話の場所がネットワークではなく電話であるということです。私は何を見逃しましたか?
トランジスター

5

古いレシーバーがデータを待っているときに何が起こっているかについて、もう少し詳しく説明したかっただけです。言い換えれば、なぜその暦(および記憶された位置)がそんなに役立つのでしょうか?

GPS信号は非常に弱いです。距離を考えると、信号は地球に到達するとノイズフロアを大きく下回ります。正しい周波数でスコープスキャンを見ているだけでは、衛星を直接検出することはありません。

受信機が情報を取得する方法は、着信信号を特定のパターンと比較することです(FFT相関を介して)。正しいパターンが使用されている場合、相関が整列し、データが表示されます。

シンプルで古いスタイルの受信機がこのポイントに到達するには、デバイスの相関器から2つのことが必要です。衛星からのメッセージの周波数と、メッセージのフェーズ(パターンを並べる)です。これらのいずれかが正しくない場合、相関は失敗し、何も検出されません。衛星の動きは、受信信号が比較的大きなドップラーシフトを受けることを意味します。

アルマナックと現在の位置と時間の適切なアイデアにより、受信機は衛星と受信機の相対的な動きを推定して、ドップラーシフトの大部分を除去し、周波数にある程度近づくことができます。つまり、信号パターンに対して異なる位相を試すだけで、相関器は通常ヒットする可能性があります。このフェーズ空間検索は、数秒で実行できます。

暦が欠落している場合、または現在の位置と時間の推定値がない場合、システムは各衛星からデータを取得するために異なる位相と異なる周波数を試す必要があります。2つの異なる次元で検索する必要があるため、マルチチャネルシステムでさえ3つの衛星を総当たりで「見つける」には数分かかることがあります。

最新のチップセットは、A-GPSがなくても、追加の信号と多数の並列コンパレータを使用して検索を高速化できます。Arduinoシールドに搭載されているチップセットはおそらく古い/安価で、これらの新しい機能は使用しないと思います。


3

米国では、FCCは携帯電話事業者に、2012年9月11日までに最初の電話から6分以内に緊急サービスを300メートル以内にダイヤルするときに発信者の位置を特定できるよう要求しました

これは過去数年にわたって徐々に段階的に導入され、距離と場所への時間報告の両方の要件は後年に厳しくなりました。

携帯電話会社は、1つまたは2つのセルラータワーだけが携帯電話と接触している遠隔地や、電話に複数のタワーがある場合でも反射や建物の密度が位置を妨げている都市環境では、これを保証できませんでした。GPSチップは、携帯電話がまだ商業的に実行可能であるのに十分な低電力で必要な時間枠内でこれを提供できませんでした(要件が導入された時点で。すべての電話にGPSチップセットの一部またはすべてが含まれていること)。さらに、GPSチップセットは他の電話コンポーネントに比べて非常に高価でした。

そのため、彼らはいくつかの異なる競合システムを作成しましたが、それらはすべてアシストGPSの「AGPS」という呼び名に該当します。

これらのさまざまなAGPSシステムの背後で実行されるテクノロジーは、時には大きく異なります。

最も安価なセルラーAGPSシステムは、数ミリ秒のGPS RF信号を記録し、それをAGPSサーバーに送信します。AGPSサーバーは、電話のおおよその位置を把握し、そのGPS RFスニペットを使用してより正確な位置を決定できます。これらの電話は、良好なセルラー接続がないとGPS座標を取得できません。

完全なGPSチップセットを持っているものもありますが、電話でアルマナックとエフェメリス(チップセットが数秒以内に修正できる2つの情報)を提供することができます。その後、通常の方法を使用して位置結果を生成します。時間を考えると、これらの電話機はネットワークに関係なく位置を取得できます。

ほとんどのGPSチップセットでは、天体暦と暦情報をそれらに読み込むことができるため、arduinoデバイスにインターネット接続があり、AGPSサーバーにアクセスできる場合は、同様の方法でGPS修正を高速化できます。ただし、ほとんどのプロジェクトでは、GPSレシーバーの正しいピンにリチウムコイン型電池を追加するだけで、最後の暦と天体暦の更新を維持できます。また、短時間で変更が小さいため、最初の修正を大幅に高速化します。デバイスが何千マイルも移動しておらず、数日ごとに電源が入っている限り。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.