arduino GPSモジュールを使用している場合、通常、データの送信が開始されるまでに数分かかります。そして、しばらくの間衛星を「リッスン」する必要があるため、通常すべてのGPSモジュールに当てはまるようです。ただし、携帯電話の内蔵GPSを使用すると、数秒でその位置が検出されます。何故ですか?
arduino GPSモジュールを使用している場合、通常、データの送信が開始されるまでに数分かかります。そして、しばらくの間衛星を「リッスン」する必要があるため、通常すべてのGPSモジュールに当てはまるようです。ただし、携帯電話の内蔵GPSを使用すると、数秒でその位置が検出されます。何故ですか?
回答:
最初の修正までの時間(TTFX)に影響するいくつかのことがあります。
暦と天体暦の取得。これら2つのことは、技術的には互いに少し異なりますが、ここでは、それらを同じものとして扱います。それらは衛星の場所であり、自分の位置を把握するためには衛星がどこにあるかを知る必要があります。各衛星は、約12分ごとに1回、ロット全体を送信します。したがって、1チャンネル受信機と適切な信号を使用した完全なコールドスタートから、TTFXは少なくとも12分かかります。次の方法で速度を上げることができます。
衛星の特定。適切な修正を得るには、少なくとも3つ、できればそれ以上の衛星を聞く必要がありますが、各受信機(相関器と呼ばれる)は一度に1つしか調整できません。おおよその現在地、現在時刻、および暦をすでに知っている場合は、どの衛星を見ることができるかを推測できます。電話は、wifiまたはbluetooth信号の認識元、使用しているセルタワー、その他のソースを大体把握する傾向があります。定期的に非常に正確な時刻の更新も取得するため、通常は正しい衛星に直行できます。電話機と大規模モジュールの両方は、いつ、どこで最後に使用されたかを記憶し、それを使用して開始することもできます。
相関器の数。GPS信号の信号対雑音比は非常に低いため、それらを受信するには特別なハードウェアが必要です。一部の受信機には1つしかなく、衛星の周りを回転させる必要があります。他の人はもっとたくさんいて、一度にもっと聞くことができます。そのため、すでに暦/エフェメリスがあり、おおよその位置を知っている場合でも、より多くの相関関係子を使用すると、より迅速に修正できます。常に多くの方が優れていると思うかもしれませんが、多くの方がコストと電力消費を増加させます。一部の電話とモジュールには他のものよりも多くのものがあります。
信号とアンテナ。相関器に適切なS / N比があれば、相関器はより速く仕事をします。非常に弱い信号はまったく機能しない場合があります。優れたアンテナ設計、アンプ、スカイビュー、および優れたPCBレイアウトは、すべての違いを生むことができます。いくつかのモジュールは、箱から出してすぐに動作し、アンテナを差し込んだ方がはるかに良い場合があります。
使用可能な衛星の数。実際には、GPS(米国が運営)とGLONASS(ロシアが運営)の2つの大きな衛星の星座があります。ガリレオ(EU)とBeiDou-2(中国)、およびインドのNAVICやBeiDou-1のような地域をカバーしているものもあります。複数の星座の衛星を使用できる受信機には、より多くの衛星を選択できるため、より迅速で正確な修正が可能です。
相関器の品質。新しいハードウェア設計は古いものよりも優れており、ノイズの多い信号でGPSメッセージの断片をより適切に検出できます。電話でできるもう1つの方法は、信号の断片をキャプチャし、それらをインターネット経由で非常に優れたソフトウェア相関器を備えたサーバーに渡し、検証する暦/エフェメリスを完成させることです。これはMSAアシストGPSと呼ばれます。
一部の電話機(およびいくつかのモジュール)でも、若干の卑劣なトリックを使用して、長いTTFXを回避または非表示にする場合があります。それらは常にオンになっているため、位置と天体暦をほぼ最新の状態に保つために、ユーザーに通知せずにGPSを短時間オンにすることがあります。他の人は実際の修正を待っている間に最近の位置を表示するかもしれません-これはほとんどの場合良いTTFXのように見えますが、位置が非常に間違っていることが判明した場合は悪く見えます。
上記のポイント1は、最も大きな違いを生むものであり、通常、基本モジュール、より高度なモジュール、および電話の間で異なる重要なものです。他のものは通常、より小さな違いをもたらしますが、実際には非常に複雑なものになる可能性があります。さらに読みたい場合は、「最初に修正するまでのGPS時間」を検索する用語です。
携帯電話のオペレーティングシステムは、インターネット経由で携帯電話ネットワークを介してGPS暦データ(衛星エフェメリスとステータス情報)をダウンロードし、GPS衛星から50 bpsで直接ダウンロードするよりもはるかに高速にGPSモジュールにロードします(はい、それは毎秒50ビットです。GPSは非常に低いSNRでの動作に最適化されたかなり古い技術であり、最初の修正までの時間を大幅に短縮します。これはアシストGPSと呼ばれます。また、セルモデムからの非常に正確な初期時間基準(セルタワーは通常GPSを介して時間同期されます)と、おそらくセルモデムからの大まかな位置推定値も持っています。このすべてを組み合わせることで、受信機が実行する必要がある検索の量が大幅に削減されます。どの衛星を見ることができるかがわかっているので、それらを探すだけで、衛星が送信するのを待つ必要はありません。メッセージ全体。
他の答えはすでに「方法」と「理由」を説明しているので、私に残されているのは「何」だけです。それはA-GPS(アシストGPS、加速GPSまたは拡張GPSとも呼ばれます)と呼ばれます。
言い換えれば、電話機のGPSが「GPSのGPS」よりも高速に動作する理由は、電話機が「GPS」を使用せず、GPSを使用しているためです。
ここでの答えの一部は、携帯電話のGPSは単なるGPSではないということです。Cellは、携帯電話の塔の三角測量やWi-Fiネットワークの可視性など、地理的位置情報の他の情報も使用します。たとえば、iPad Airの非セルラーバージョンには実際のGPSはありませんが、これらの手法を使用して、あなたが市街地のどこにいるかをまだ認識しています。
古いレシーバーがデータを待っているときに何が起こっているかについて、もう少し詳しく説明したかっただけです。言い換えれば、なぜその暦(および記憶された位置)がそんなに役立つのでしょうか?
GPS信号は非常に弱いです。距離を考えると、信号は地球に到達するとノイズフロアを大きく下回ります。正しい周波数でスコープスキャンを見ているだけでは、衛星を直接検出することはありません。
受信機が情報を取得する方法は、着信信号を特定のパターンと比較することです(FFT相関を介して)。正しいパターンが使用されている場合、相関が整列し、データが表示されます。
シンプルで古いスタイルの受信機がこのポイントに到達するには、デバイスの相関器から2つのことが必要です。衛星からのメッセージの周波数と、メッセージのフェーズ(パターンを並べる)です。これらのいずれかが正しくない場合、相関は失敗し、何も検出されません。衛星の動きは、受信信号が比較的大きなドップラーシフトを受けることを意味します。
アルマナックと現在の位置と時間の適切なアイデアにより、受信機は衛星と受信機の相対的な動きを推定して、ドップラーシフトの大部分を除去し、周波数にある程度近づくことができます。つまり、信号パターンに対して異なる位相を試すだけで、相関器は通常ヒットする可能性があります。このフェーズ空間検索は、数秒で実行できます。
暦が欠落している場合、または現在の位置と時間の推定値がない場合、システムは各衛星からデータを取得するために異なる位相と異なる周波数を試す必要があります。2つの異なる次元で検索する必要があるため、マルチチャネルシステムでさえ3つの衛星を総当たりで「見つける」には数分かかることがあります。
最新のチップセットは、A-GPSがなくても、追加の信号と多数の並列コンパレータを使用して検索を高速化できます。Arduinoシールドに搭載されているチップセットはおそらく古い/安価で、これらの新しい機能は使用しないと思います。
米国では、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レシーバーの正しいピンにリチウムコイン型電池を追加するだけで、最後の暦と天体暦の更新を維持できます。また、短時間で変更が小さいため、最初の修正を大幅に高速化します。デバイスが何千マイルも移動しておらず、数日ごとに電源が入っている限り。