GPS
GPS測位技術
著者 閻國良
最終更新日 2020年8月30日
キーワード GPS
1 概要
GPSは、1978年に最初のGPS衛星が打ち上げられた米国が、衛星測位技術を発明し、実用化したのが始まりです。衛星測位技術の原理は、世界をカバーする複数の測位衛星が一定の周波数の電波を連続的に発信し、携帯端末には携帯型の衛星信号受信機が組み込まれ、衛星信号を受信して衛星と端末受信機の距離を測定し、最終的に携帯端末が複数の衛星位置とこれらの衛星までの距離から携帯端末の特定位置を計算するものである。その後、欧州のガリレオ、ロシアのグロナス、中国の北斗などが登場し、現在のGPSは、米国のGPSシステム一本ではなく、衛星測位技術システムとしてのGNSSと本質的に同義語となっているのです。
GPSが提供するサービスには、測位、計時、ナビゲーションがあります。GPSは端末の数に制限がなく、GPS衛星の信号が遮断されなければ、どのGPS端末でも地球上のどの場所でも、どの時間でも正しい位置と時刻を取得することができる。測位に必要な条件はただ一つで、それは十分な数の衛星信号を受信できることです。したがって、屋内では通常、測位はできません。
2 原理
電磁波は光速で伝わります。GPS受信機は、GPS衛星の正確な位置と、受信機に送信された衛星信号の伝搬時間を知っていれば、GPS衛星との距離を計算することができます。伝搬時間は、衛星信号の到着の瞬間と衛星信号の送信の瞬間との間の時間差から得られる。
GPSレシーバーが4つ以上のGPS衛星から信号を受信できる場合、GPSレシーバーの位置を計算することができます。数学的には、次の式で表されます。
ここで、(xr,yr,zr)はGPS受信機の位置、(xSVn,ySVn,zSVn)はn番目の衛星の位置、trはGP S受信機のクロックから得られる衛星信号の到達時間、tt-SV1は衛星の原子時計から得られる信号送信時間、τはGPS受信機のクロックと衛星クロック間の時計誤差を表しています。また、この式は次のように書くこともできる。
式の右辺の既知量は、擬似距離と呼ばれ、この距離は時計誤差を考慮していないため、衛星と受信機の間の実際の距離ではありません。この方程式を解くことで、GPS受信機の位置(xr,yr,zr)と時計差τを算出することができる。衛星送信クロックとGPS受信クロックのクロック差が求まるので、そのクロック差でGPS端末のクロックを調整し、GPS受信機は衛星上の原子時計に同期した時刻を得ることができる。時刻同期が解除された場合は、再度測位した後、再び同期状態に戻すことができる。これにより、ユーザー側の測位端末に対する計時サービスが完了する。上記の式は簡略化されたモデルであり、多くの誤差要因が含まれていない。したがって、実際には、測位精度を向上させるために、できるだけ多くのGPS衛星を使用することが多い。このため、上記の方程式群が超決定方程式(方程式の数が4未知数を超える)になることがあり、その場合は最小二乗法を用いて、反復アルゴリズムにより位置と時計差の最適解を算出することが多い。
GPSシステムが位置決め、タイミング、およびナビゲーション・サービスを提供できるようにするための前提条件は、GPSレシーバが衛星の位置を知っていることです。GPSシステムは、L1周波数ポイントでナビゲーション・メッセージ(NAVメッセージ)を放送して、GPSレシーバに衛星の位置を知らせます。NAV Messageはフレームの形で構成され、各フレームは5つのサブフレームを含み、各サブフレームは10ワード(300bits)で構成され、各サブフレームは6秒であり、フレーム構造は図に示す通りである。
この場合、TLM(Telemetry Word)構造は図のようになります。
のTLMメッセージ情報は一般に公開されていない。ナビゲーションメッセージのHOW(Handover Word)ワードの構造を図に示す。
HOWワードの最初の17ビットは、TOW(Time of the Week)の送信に使用される。TOWは、日曜日の00時00分から土曜日の23時59分59秒まで、0から数え、6秒ごとに1を加え、100799まで数えた後0に戻る。ビット18、19はフラグビットで、現在の信号精度を示します。 ビット18、19はフラグビットで、高精度、低精度のアラーム表示とアンチスプーフィングモードがオンになっているか否かを示すものです。20~22 ビットは直前に送信されたサブフレームのフレームコード、最後の 6 ビットはパリティビットです。
NAVメッセージには、主に衛星時計補正情報、衛星時刻ヘルス情報、エフェメリス、アルマナック、電離層補正情報、UTC時刻が含まれています。
完全な航法メッセージは、12.5分の25フレームで構成されています。すべてのフレームにおいて、サブフレーム1から3は送信衛星のエフェメリスデータを含み、GPS受信機は30秒ごとに送信衛星の完全なエフェメリスデータとクロック値を受信することを意味します。サブフレーム1には、信号遅延と衛星時刻の補正に使用されるパラメータを含む送信衛星の時刻値、衛星状態情報、推定衛星位置精度が含まれています。サブフレーム1には曜日も送信され、GPS時刻の開始点は1980年1月6日(日)の00:00:00です。サブフレーム2とサブフレーム3には送信衛星のエフェメリスが含まれており、これらのデータから非常に正確な衛星軌道情報を得ることができます。航法メッセージのフレーム2、3、4、5、7、8、9、10のサブフレーム4では、25番目から32番目の衛星のエフェメリスデータを送信し、それぞれのサブフレームでは、1つの衛星のエフェメリスデータを送信している。フレーム18では、電離層の影響に対する補正と、UTCとGPS時刻の誤差の値を送信する。フレーム25では、全32衛星の設定情報、衛星25~32の状態情報を送信する。フレーム1からフレーム24までの航法メッセージの5番目のサブフレームでは、1~24番目の衛星のエフェメリスデータが、1サブフレームにつき1衛星ずつ送信されます。フレーム25では、1~24番目の衛星の状態情報と元のエフェメリス時刻を送信する。
エフェメリスとは、ある瞬間の衛星の正確な位置と速度を計算するためのパラメータで、エフェメリスデータは衛星ごとに異なります。エフェメリスデータは、実際には衛星が位置するレゴリスケプラー軌道のパラメータを拡張したもので、システム制御部が軌道予測から取得し、毎日衛星に集中的にアップロードしています。システム制御セグメントは一度に1つのエフェメリスデータセットをGPS衛星に配信し、そのデータセットは理論上14日間利用可能で、そこから2時間ごとにその時間のエフェメリスデータセットが時間経過とともにブロードキャストされる。しかし、実際の衛星軌道と予報は徐々にずれていくため、常に予報を更新する必要があり、衛星エフェメリスデータセットを14日間ずっと利用することはできません。現在では、一般に1日に1回、GPS制御セグメントで新しい14日間のエフェメリスデータセットがアップロードされています。
GPS受信機は、GPS衛星から放送されたエフェメリス情報一式を受信します。GPS受信機が衛星から放送された新しいエフェメリスを受信しない場合、古いエフェメリスが4時間程度有効です。エフェメリスの具体的なパラメータは、表のとおりです。
エフェメリス(アルマナック)は、時計情報とエフェメリス情報のサブセットで、全衛星の長期的な概略軌道位置情報を伝えるものである。また、エフェメリスはシステム制御セグメントからアップロードされます。エフェメリスは初期衛星捕捉に使用でき、約半年間有効である。GPS受信機は主に捕捉、追尾、航法の3つの状態で動作し、受信プロセスは図に示す通りである。
GPS受信機は、捕捉状態において、衛星の探索、時刻同期、周波数同期の処理を行う必要があります。ここでいう時刻同期とは、PコードとC/Aコードの擬似乱数列のコードスライス同期を行う処理で、衛星がわからない場合は、全衛星をサーチして時刻同期を取る必要がある。伝送過程では相対的な動きがあるため、衛星によって伝播する信号のドップラーシフトが異なり、より良い受信を行うためには衛星ごとに周波数同期を行う必要があります。
トラッキング状態にあるGPSレシーバーは、衛星を追跡し、ナビゲーション・メッセージをデコードし、GPS測定を行う必要があります。衛星の追尾とは、各衛星の信号とフレームを同期させ、完全な衛星エフェメリスをダウンロードすることです。航法メッセージの解読とは、各フレームの航法メッセージを解読し、各衛星から送信された航法メッセージに基づいて、各衛星の具体的な位置を計算することです。GPSレシーバは、ナビゲーション中に測定されたquot;pseudorange"に基づいて、端末の位置、速度、時間を連続的に計算します(PVT計算)。
3 関連用語
3.1 いくつかの起動モード
測位速度に影響を与える重要な要素は、可視星そのものに加えて、時刻とエフェメリス(ephemeris)であり、いくつかの起動モードの主な違いはこれらの要素である。
コールドスタート (TTFF, Time To First Fix)
コールドスタートとは、初めて受信機を起動した場合、受信機の電源が切れて時間が経過した場合、最後に受信に成功した地点から離れすぎた場合を指します。これらの場合、受信機は時間とエフェメリスを失い、最後のケースでは距離が遠すぎるためエフェメリスは無効となり、何もないのと同じになります。
ウォームスタート
受信機にエフェメリスがあり、最後のフィックスから2時間以上経過している。受信機はエフェメリスにより、20秒以内の時間誤差、100km以内の距離誤差で素早く衛星を捕捉し、追尾モードにすることができます。
ホットスタート(TTSF, Time To Subsequent Fix)
受信機は、エフェメリス、大きな距離のずれのない過去の測位結果、2時間以内であれば、エフェメリスが有効であり、すぐにトラッキングモードに入ることができます。
上記のシナリオからわかるように、エフェメリスと時刻は、キャプチャ開始からトラッキングまでの受信機の時間に大きな影響を与えるため、ほとんどのGPSモジュールは、時間加速測位を維持するために別のクロック供給ピンを備えています。
測位待ち時間には、キャプチャ、トラッキング、ナビゲーションの各フェーズにかかる時間の合計が含まれます。ナビゲーション・メッセージのダウンロードだけを考えると、コールド・スタート状態において、GPS端末に他の補助が全くない場合、現在位置の計算を開始する前に少なくとも1つの完全なナビゲーション・メッセージを受信する必要があります。衛星の捕捉と信号監視の時間を考慮しない場合、ナビゲーション・メッセージを受信するだけで、コールド・スタートの時間が少なくとも12.5分かかります。ウォームスタートの場合、GPS衛星のエフェメリスは半年間有効なので、GPS測位チップが前回の測位時のエフェメリスを記憶していれば、エフェメリス有効期間内に再度測位する際に、現在のエフェメリス情報を取得するだけでGPS測位計算を行うことができます。コールドスタートと比較すると、ウォームスタートはエフェメリス送信時間を短縮することができます。完全なエフェメリスを送信する際の遅延時間は3サブフレーム(または1フレーム)なので、ウォームスタートの時間は最低でも18s(または30s)です。GPS受信機がモバイルネットワークを通じて上空の衛星のコード、エフェメリス、エフェメリス情報を通知され、受信機が早期にナビゲーション状態になるようにすれば、GPSの測位時間が大幅に短縮でき、ユーザー体験を最適化できる、これはネットワークアシストGPS技術の基本原理である。
3.2 感度
前章で説明したように、GPS受信機はまず衛星信号を捕捉する必要があり、捕捉を完了するために必要な最小の信号強度を捕捉感度、捕捉後に衛星信号の追跡を維持するために必要な最小の信号強度を追跡感度とします。また、測位を行うために、GPSレシーバはGPS衛星から送信された航法メッセージを復調する必要があり、それに応じて、航法メッセージを復調するために必要な最小の信号強度が初期開始感度である。上記の定義によると、追尾感度が最も高く、捕捉感度が2番目で、初期開始感度が最も低くなっています。感度が高ければ高いほど、測位速度と効果が向上します。
GPS受信機の感度は、受信機フロントエンドの信号経路全体のゲインとノイズ性能、およびベースバンド部のアルゴリズム性能の2つの側面から決定されます。レシーバー・フロントエンドは、ベースバンド部に到達したときの受信信号のS/N比を決定し、ベースバンド・アルゴリズムは、復調、キャプチャ、トラッキング・プロセスで許容される最小のS/N比を決定するものです。
GPSは低軌道衛星から打ち上げられるため、L1バンド(fL1=1575.42MHz)の自由空間での減衰は
GPSシステムの設計仕様によると、L1バンドC/Aコード信号の送信EIRP(Effective Isotropic RadiatedPower)はP=478.63W(26.8dBw)、大気減衰をA=2.0dBとすると、GPSシステムのL1バンドC/Aコード信号が地上に到達する際の強さは -157.6dB 頃
測位要求を達成するためには、通常、市販のGPSモジュールに内蔵されているアンテナやLNAを介して、受信機内部の低雑音増幅器第1段の利得や雑音指数の性能を向上させ、補正を行う必要があります。したがって、感度は、GPSモジュールを選択するための重要なメトリックです。
3.3 アンテナ
受信アンテナは、GNSS受信機の中で衛星信号を処理する最初のデバイスで、GNSS衛星から放射された受信電磁波信号を電圧または電流信号に変換し、受信機のRFフロントエンドが処理します。
衛星のアンテナには、本来なら四方八方に放射されるはずの信号電力を地球方向に集中させるポインティング機能があり、このポインティングのことをゲインとも呼びます。アンテナが大きければ大きいほど、利得は高くなります。
アクティブアンテナ 内部にLNA(ローノイズアンプ)を内蔵し、ケーブルなど後続の損失によるS/N比への影響を低減し、さらにアクティブアンテナは受信機のある場所から支線電力を引き込む必要があるためです。
パッシブアンテナ ローノイズアンプは付属しておらず、電源も不要ですが、増幅されていないGPS信号の強度が弱いため、パッシブアンテナから受信機までのケーブル長は通常1m以下となります。
GPSアンテナの性能に影響を与える主なものは、以下の通りです。
1. セラミックチップ。セラミック粉体の良し悪しや焼結工程が直接性能に影響します。セラミックチップの面積が大きいほど、誘電率が大きくなり、共振周波数が高くなり、受信効果も高くなります。セラミック片の多くは四角いデザインになっていますが、これはXY方向で基本的に共振が同じになるようにし、星を均一に受信する効果を得るためです。
2. 銀の層。セラミックアンテナの表面にある銀の層は、アンテナの共振周波数に影響を与えることがあります。理想的なGPSセラミックチップの周波数は1575.42MHzで正確に落ちるが、アンテナ周波数ポイントは、特に全体のマシンの内部に組み立てられたときに、周囲の環境の影響を受けることが非常に簡単で、周波数ポイントは、銀表面コーティングの形状を調整することによって、再び1575.42MHzに滞在するように調整する必要がありますので、GPS全体のマシンメーカーはアンテナメーカーと協力しなければならないときアンテナを購入するとテストのための全体のマシンサンプルを提供することです。
3、フィードポイント。セラミックアンテナは、フィードポイントを介して共振信号を収集し、バックエンドに送信します。アンテナのインピーダンスマッチングの関係で、フィードポイントは通常、アンテナの中央ではなく、XY方向で微調整を行います。このようなインピーダンスマッチングの方法は簡単であり、コストも増加しない。単軸方向にのみ移動するものをシングルバイアスアンテナ、両軸方向に移動するものをダブルバイアスアンテナと呼びます。
4. 増幅回路。セラミックアンテナを搭載するプリント基板の形状や面積。GPSは地面で跳ね返る特性があるため、背景が7cm×7cmの遮蔽物のない大地であれば、パッチアンテナの効果を最大限に発揮することができます。構造上、外観等の制約を受けますが、かなりの面積と均一な形状を保つようにします。増幅回路の利得は、バックエンドのLNAの利得と一致するように選ぶ必要があります。sirfのGSC3Fでは、信号入力前のトータル利得が29dBを超えないようにしないと、信号の過飽和で自励振動が発生します。
GPSアンテナには4つの重要なパラメータがあります。利得、VSWR、雑音指数、軸比です。特に軸比は、方向によって機械全体の信号利得が異なる重要な指標となります。衛星は半球状の上空にランダムに分布しているため、どの方向でも同じような感度を持つアンテナにすることが非常に重要なのです。軸比は、アンテナ性能、外観構造、全機内部回路、EMI等の影響を受けます。
4つの共通問題点
エフェメリスとアルマナックの違い。
GPSレシーバーはブロードキャスト・エフェメリスとアルマナックの両方のナビゲーション情報を受信します。ブロードキャスト・エフェメリスは、基本的な軌道パラメータとイングレス補正が含まれており、そこから求められる衛星位置は精度が高く、測位計算に利用することができます。エフェメリスは基本的な軌道パラメータのみを提供し、精度は低く、受信機による迅速な衛星捕捉や予測に利用することができます。
GPS受信機は、衛星のロック時間を短縮するために、エフェメリスという局所位置の時刻を利用して、衛星の動作状態を予測します。エフェメリスとエフェメリスは、どちらも衛星の運用状況を表すパラメータです。
エフェメリスには全衛星のおおよその位置が含まれており、衛星の予測に利用されます。
エフェメリスは、測位のために現在の受信機で観測された衛星の正確な位置だけです。
関連
-
.NETで134217728バイトの許容メモリサイズを使い果たした(8192バイトを割り当てようとした)。解決方法
-
PostionalBindingの役割のCmdletBindingAttribute
-
C++におけるconst_castの役割と理由
-
cenos upgrade g++ gcc(cc1plus: error: unrecognized command line option "-std=c++11")
-
ubuntu nohupコマンド
-
Android Studio が GIT をコミットするとき、このリポジトリでは別の git プロセスが実行されているようです(例:エディタを開いている)。
-
JavaScriptで不正なappendChildを解決する方法
-
プログラム "g++"がPATHに見つからない
-
未定義参照発生時のcmakeの扱いについて
-
"2021-01-30T16:00:00.000Z": 期待されるフォーマット "yyyy-MM-dd HH:mm:ss" タイムスタンプのフォーマット
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
'node' は内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
Java Exceptionが発生しました
-
Keras/TensorFlowのエラーです。CUDA_ERROR_OUT_OF_MEMORY 解決策
-
Python using pip to install modules with ReadTimeoutError: HTTPSConnectionPoolの解決策
-
vimコマンドの完全なリスト
-
error unable to access jarfile Solution
-
mongodb.service の起動に失敗しました。ユニット mongodb.service が見つかりませんでした。
-
java.net.BindException: バインドに失敗しました。EADDRINUSE (アドレスは既に使用中です) 解決方法
-
簡単な操作でprotobufのバージョンの問題を解決するために、コピーして貼り付けることができます。
-
プリセットされたXXXのコンバータはありません Content-Type 'application/octet-stream; charset=UTF-8'