JR7CWK'sぶろぐ

GPSにて電源ONから位置が算出(fix)されるまでの時間を測定する為に、その途中のデータのログを幾度となく取ってきた。
またA-GPSの考え方についてもいくつか資料を読んできた。

その中でログデータや資料の情報より、GPSの初期位置算出までの動作及び必要な時間について考察してみた。
(まだ十分に整理できていません。暫定公開です。)


本項の参考文献
1.GPS初期位置算出時間(TTFF)短縮のための軌道情報伝送方法

www.enri.go.jp/sat/pub/j91-b_4_479.pdf
2009.09.06:jr7cwk:[メモ/2.無線]
GPS>電源ONから初期位置算出まで>基礎知識
1.基礎知識
1-1.航法メッセージ
 航法メッセージは位置を算出する為に必要なデータである。
 各GPS衛星から「放送」されており、衛星毎の固有な情報(エフェメリス情報)と全衛星共通の情報(アルマナック情報)が50bpsの速度で送信されている。

 航法メッセージの構成とデータサイズは下記の通り。

・1サブフレーム300bit(=6秒)

・5サブフレームでセット
 1フレーム=5サブフレーム(1500bit(=30秒))


1-2.航法メッセージの詳細

各サブフレームの内容について説明する。
(詳細は後述の参考文献を参照)

1)サブフレーム1〜3
 放送している衛星自身のクロック補正情報および軌道情報(エフェメリス情報)
 ・・・衛星毎に異なる情報が送信
 ・・・位置計算に使用可能な精度の情報
 ・・・有効期間は4時間(エポックタイムの±2時間)で2時間毎更新

2)サブフレーム4,5
 軌道上の全ての衛星のおおまかな軌道情報(アルマナック情報)
 ・・・全衛星共通の内容が送信。
   →ページ1〜25に分けて32衛星分が順次送信される。
    全データ受信には 30秒×25=12.5分 要する。
 ・・・有効期間は6日間(エポックタイムの±3日間)でこの範囲を超えると次第に精度が低下
 ・・・低精度で位置算出には使用不可
   〜位置算出自体には直接必要な情報ではない。(位置算出に必要な情報はサブフレーム1〜3で伝送される高精度な「エフェメリス情報」)

   →レシーバに大まかな軌道情報を与える事が目的。
  受信開始時、衛星の電波を捕捉する際の補助に使用
  〜どの衛星の電波を受信し位置算出に使用すべきかかを計画し、低受信レベルまたは新たに可視範囲に入った衛星の捕捉を補助。
 (衛星からの電波は「スペクトル拡散」という方式で送信されており、受信(復調)するには、拡散された電波を「追跡」する為の為のコード(周波数を切替える順番)やタイミングを合わせる(同期を取る)必要がある。十分な強さの電波であれば補助が無くとも受信できるが、電波が弱い場合はノイズにかき消され電波があるのかどうかも判断できない。そこで十分な電波の強さの別の衛星から、衛星の存在やコード、おおよそのタイミングを得る事で、ノイズレベルに近い弱い電波であっても受信する事を可能にする仕組みになっている。)


2009.09.06::修正削除
GPS>電源ONから初期位置算出まで>スタート方法と初期位置算出時間の内訳
2.レシーバ起動時のスタート方法と初期位置算出時間の内訳
 レシーバ内のエフェメリス情報(アルマナック情報)の有無により、起動方法が自動的に切り替わる。
 その起動シーケンスの違いにより、初期位置算出時間(以下TTFFと記述)が変化する。
 起動方法とTTFFの関係を整理してみた。

2-1.ホットスタート
 エフェメリス情報が有効な状態で起動した場合。
TTFF:数秒(レシーバの性能による・・・
 衛星の信号を捕捉・復調し、時刻および位置情報を算出するまでの時間)

2-2.ウォームスタート
 エフェメリス情報が無いまたは無効(有効期限切れ)な状態で起動した場合
・・・エフェメリスの受信が完了しないと位置が算出出来ない。
TTFF:ホットスタート時間+エフェメリス受信時間(最短で30秒・・・注)

2-3.コールドスタート
 アルマナック情報すら持たない状態で起動した場合。
(購入直後,パックアップ電池切れ,アルマナック情報期限切れなど)
 実際には最低3基の衛星が受信出来(平行受信なので受信に必要な時間は変わらず)、それらの「エフェメリス情報」が揃えば位置算出可能。(但し3基の場合は「高度」は仮定値ベース
TTFF:ホットスタート時間+α+エフェメリス受信時間(最短で30秒・・・注)
 +アルファ分がアルマナック情報がない事により衛星の信号の捕捉・復調に要する時間。〜現在のチップでは数秒程度の増加にしかならないようだ。


注)
エフェメリス受信時間30秒だが、このうちサブフレーム4,5の受信は必須ではないのではなかろうか?(サブフレーム1〜3が受信出来ればOK?)
・・・もっとも受信開始のタイミングに依存する。サブフレーム1から受信開始すれば18秒で済むが、サブフレーム4から受信開始すれば30秒。)


2009.09.06::修正削除
GPS>電源ONから初期位置算出まで>起動時から位置算出までの動作
3.起動時から位置算出までの動作(推定)
 レシーバを起動してから位置が算出されるまでのシーケンスを(推定ではあるが)整理してみた。


1)起動
 ↓
2)レシーバ内CPU等の初期化
(自己診断等含む)
 ↓
3)信号捕捉
(アルマナック情報があれば捕捉時間短縮)〜ウォーム/ホットスタート
 ↓
4)時計合わせ(暫定)
 ↓
5)航法メッセージ受信(3衛星以上を平行受信)
(エフェメリス情報有効ならスキップ可)〜ホットスタート
 ↓
6)位置算出,時計あわせ(精密)
→正確な時刻は位置算出時確定する。
(ECEF X,Y,Zと時刻がセットで決まる)
・・・2DでFIXしている場合は時刻も仮?


※上のシーケンスは位置算出までの流れを時系列に見る形として表現しているが、実際には5)航法メッセージ受信と6)位置算出はパイプライン処理のような形で並列的に処理されているはずである。

※2.ECEFは地球の重心を直交する3つの軸で表現した座標系。
 最終的にはこの座標を緯度・経度・高度(楕円体高→標高)に変換し出力される。


2009.09.06:cwk:修正削除


▼この記事へのコメントはこちら
名前

件名

本文

URL

画像

管理者パスワード


手動入力確認イメージ
※イメージ内の文字を小文字の半角英字で入力して下さい。



 ※ 管理者のみが投稿できます。