公開プログラム・データ

所外のみなさまにも役に立ちそうなプログラムやデータを、 公開することにしました。

技術情報

・20-NAV-25
信号によるL5 SBAS送信実験におけるメッセージタイプの取扱い(PDF 145KB)
・08-CNS-254-1
L1-SAIFメッセージによるQZS衛星位置の計算(PDF 79.9KB)
・08-CNS-208-1
ピアースポイント位置の計算(PDF 73.3KB)
・07-CNS-36-3
NovAtel社OEM-3受信機のFRMAレコード(PDF 60.5KB)
・07-CNS-36-2
GLONASS航法メッセージによる衛星位置の計算(PDF 68.8KB)
・07-CNS-36-1
GPSにおける相対論補正(PDF 56.2KB)

SBAS/L1-SAIFメッセージの内容

SBAS/L1-SAIFメッセージの内容の解説です。

SBAS/L1-SAIFメッセージの内容

「GPSのための実用プログラミング」収録プログラム

書籍「GPSのための実用プログラミング」に収録されているプログラムを公開しています。すべてC言語で記述されていますが、C++版を作成していただいた方もいます。

「GPSのための実用プログラミング」収録プログラム一括ダウンロード(C++版の案内もあります)

測位計算プログラム pos2.cのみダウンロード

GPS週番号カレンダ

GPSの週番号や日付の換算に便利な表です。 日付、週番号、シリアル日(DOY)が一覧表になっています。 エクセルの表形式です。

GPS週番号カレンダ(MS-Excel 594KB)

エポック時刻の情報

年初を中心に、いくつかのエポックとなり得る日時に関する情報です。

エポック時刻の情報
日時(GMT) 曜日 GPS週番号 週内秒 MJD 通算日 うるう秒 UNIXカレンダ値 備考
1970/1/1 00:00:00 Thu -523 345600 1 40587 - 0 UNIX時刻の始まり
1980/1/1 00:00:00 Tue -1 172800 1 44239 - 315532800 1980年代の始まり
1980/1/6 00:00:00 Sun 0 0 6 44244 0 315964800 GPS時刻の始まり
1990/1/1 00:00:00 Mon 521 86400 1 47892 6 631152000 1990年代の始まり
1999/8/22 00:00:00 Sun 1024 0 234 51412 13 935280000 最初のロールオーバ
2000/1/1 00:00:00 Sat 1042 518400 1 51544 13 946684800 2000年代の始まり
2010/1/1 00:00:00 Fri 1564 432000 1 55197 15 1262304000 2010年代の始まり
2019/4/7 00:00:00 Sun 2048 097 58580 >15 1554595200 2回目のロールオーバ
2020/1/1 00:00:00 Wed 2086 259200 1 58849 >15 1577836800 2020年代の始まり
2030/1/1 00:00:00 Tue 2608 172800 1 62502 >15 1893456000 2030年代の始まり
2038/1/19 03:14:07 Tue 3028 184447 19 65442 >15 2147483647 32ビット符号付整数の上限

MSAS補強メッセージ ログファイル

当所にて受信したMSAS信号の補強メッセージです。 NovAtel社MiLLennium-STD(OEM-3)受信機を使用して、PRN129(MTSAT-1R)およびPRN137(MTSAT-2)を受信しています。

補強メッセージは、テキストファイルに次の$FRMAレコード形式で放送順に記録されています。

記録形式

$FRMA / week / time / prn / data... / *sum

パラメータ
パラメータ
week 週番号(下位10ビット)
time 週内の時刻(メッセージの最初のビットを受信した受信機時刻)[s]
prn メッセージを送信した衛星のPRN番号
data... メッセージ内容(16進数64文字で256ビット。 最初の文字のMSBがメッセージの先頭で、先頭から250ビットが有効)
sum チェックサム('$'の次の文字~'*'の直前までの文字のXOR)

ディレクトリ MTSAT-1R(PRN129)(gzip形式にて圧縮されています)

ディレクトリ MTSAT-2(PRN137)(gzip形式にて圧縮されています)

※停電等の影響により、一部にデータの欠落があります。ご容赦ください。

MSASエフェメリス RINEXファイル

MSAS信号で放送された補強メッセージから、静止衛星エフェメリス(メッセージタイプ9)を取り出して、RINEXファイルにしたものです。 ファイルの形式は、RINEX 2.12のTable A16(Geostationary Navigation Message File)のとおりです。 拡張子は*.YYh(YYは年号の下2桁)です。 衛星番号はPRN番号の下2桁ですので、29(PRN129)がMTSAT-1R、37(PRN137)がMTSAT-2に対応しています。

テキストファイルの先頭にはヘッダがあります。 ヘッダに続いて、放送されたタイプ9メッセージの内容が放送順に次の形式で格納されています。

記録形式

ID / epoch / a_Gf / a_Gf1 / tot
X / Y / Z
VX / VY / VZ
AX / AY / AZ
health / URA / IODN

パラメータ
パラメータ
ID 衛星ID(PRN番号の下2桁)
epoch エポック時刻(YY MM DD HH MM SS.Sの形式。年号は下2桁)
a_Gf0, a_Gf クロック補正係数 [s], [s/s]
tot メッセージ放送時刻 [s] (週内の時刻。最初のビットの放送が開始された時刻)
X, Y, Z 位置 [km] (ECEF直交座標系)
VX, VY, VZ 速度 [km/s]
AX, AY, AZ 加速度 [km/s^2]
health 衛星の状態(0が正常)
URA 概略の測距精度 [m] (32767:擬似距離は使用不可)
IODN 軌道情報のシリアル番号

ディレクトリ GEONAV(gzip形式にて圧縮されています)

※実数の指数表現には文字'D'が使われていますのでご注意ください。

MSAS静止衛星位置の計算結果

MSAS信号で放送された静止衛星エフェメリス(メッセージタイプ9)にもとづいて、MSAS衛星(MTSAT-1R・MTSAT-2)の位置を計算した結果です(静止衛星といっても完全に静止しているわけではなく、多少は動きます)。 ファイルの形式は、精密軌道暦で使用されているSP3cフォーマットに準じています。 衛星識別子としては、RINEXにならってS29(PRN129=MTSAT-1R)とS37(PRN137=MTSAT-2)を使用しています。

SP3c形式はテキストファイルで、先頭にはヘッダがあります。 ヘッダに続いて、30秒毎の静止衛星位置・速度が次の形式で格納されています。

記録形式

* epoch
PS29 PX_129 PY_129 PZ_129 clk_129... flag
VS29 VX_129 VY_129 VZ_129 rate_129...
PS37 PX_137 PY_137 PZ_137 clk_137... flag
VS37 VX_137 VY_137 VZ_137 rate_137...

パラメータ
パラメータ
epoch エポック時刻(YYYY MM DD HH MM SS.SSSSSSSSの形式)
PX, PY, PZ 位置 [km] (ECEF直交座標系)
VX, VY, VZ 速度 [0.1m/s]
clk, rate クロック補正係数 [μs], [0.1ns/s]
flag フラグ(マヌーバがある場合に'M')

※タイプ9メッセージでhealth!=0の場合、マヌーバ(M)フラグをセットしてあります。
※SP3cフォーマットを使用していますが、精密軌道暦ではありません。いわゆる放送軌道暦(予測値)です。

準天頂衛星L1-SAIF補強メッセージ ログファイル

当所にて生成・放送した準天頂衛星「みちびき」L1-SAIF信号の補強メッセージです。 記録形式はMSASと同一です。 L1-SAIF信号については、 準天頂衛星システムの開発 を参照してください。

準天頂衛星システムの開発

周波数間バイアス推定値

GPSが放送している測距信号は、周波数によって微妙なバイアス誤差を含んでいます。 この周波数間バイアス(IFB)はGPS衛星ごとに異なり、また受信機ごとにも違った値となります。 ただし、送受信回路のハードウェアに起因するバイアスですので、値の変化はたいへんゆっくりしていて、数週間あるいは数ヶ月単位の時定数を持っています。

当所では、この周波数間バイアスを毎日推定しています。 ファイル形式は次のとおりで、L1 C/Aコード擬似距離を「RL1CA」、L2 Pコード擬似距離を「RL2P」と書いたとき、バイアス値としては「RL2P - RL1CA」が計算されています。

周波数間バイアス推定値ファイル形式
衛星側バイアス: PRN番号, バイアス値[m], ...
受信機側バイアス: 受信機ID, バイアス値[m], ...

周波数間バイアスの推定対象は、衛星については当日測距信号を放送している衛星、また受信機については国土地理院の電子基準点の全点です。受信機IDは、電子基準点番号の下4桁です。なお、当所所内に設置している受信機の一部も処理対象に含まれています(IDは99xxです)。

電離層伝搬遅延データベース

GPSが放送している測距信号は、 上空の電離層を通過する際に遅延を生じます。 この遅延量は誤差要因となりますが、 周波数により異なることから、 二周波数のGPS信号を使って測定することができます。 この測定は周波数間バイアス(IFB)による影響を受けますので、 適当な手段によりこれを推定し、除去する必要があります。

当所では、周波数間バイアス推定値 のとおり、 この周波数間バイアスを毎日推定しています。 その結果を利用して、 各受信局の電離層伝搬遅延量も計算しています。

ファイル形式は次のとおりです。

出力形式

Time / Stn / SVN / TEC / Sigma / Az / El
stnbias / satbias / stnlat / stnlon / stnheight

パラメータ
パラメータ
Time 2000年1月1日12:00:00UTCからの経過秒数 [sec]
Stn 観測局ID (4文字)
SVN GPS衛星番号 (SVN)
TEC 電離層伝搬遅延量 [TECU]
Sigma TECの測定精度 [TECU]
Az GPS衛星の方位角 [deg] (0~360)
El GPS衛星の仰角 [deg] (0~90)
stnbias 受信機側IFB [TECU]
satbias 衛星側IFB [TECU]
stnlat 観測局の緯度 [deg] (-90~90)
stnlon 観測局の経度 [deg] (0~360)
stnheight 観測局の高度 [m]

時刻の基準とされている時点(2000年1月1日12:00:00UTC)は、 GPS時刻では週番号1042の561613秒です。 電離層伝搬遅延量の単位は[TECU]なので、 距離[m]に直すには、 「Diono = 0.403*TEC/1.575422」の関係式を使います (「1.57542」はGHz単位での測距信号周波数です)。 また、衛星の番号はSVNで出力されますので、 RINEXファイルなどで使われるPRN番号には次表で変換できます。

PRN番号変換表
SVN 13 15 17 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38
PRN 02 15 17 21 22 23 24 25 26 27 29 30 31 01 03 04 05 06 07 08
SVN 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
PRN 09 10 14 13 28 21 11 22 07 01 05 20 31 17 18 15 16 29 12 19
SVN 60 61 62 63
PRN 23 02 25 01

電離層伝搬遅延量の計算対象は、衛星については当日測距信号を放送している衛星、また受信機については国土地理院の電子基準点の全局です。観測局IDは、電子基準点番号の下4桁です。

NANU情報データベース

GPSの運用情報は、NANU(Notice Advisory to Navstar Users)として利用者に通知されます。この情報は米国沿岸警備隊の航法センタ(https://www.navcen.uscg.gov/nanu-information)が発行しており、アーカイブも取得できますが、計算処理をしやすいようにCSVファイルにしたものを提供しています。

ファイル形式は次のとおりです。日時はGPS時刻です。
先頭行には「#」に続けてCSVファイルの情報(作成日など)が記載されていますので注意してください。

出力形式

NANU# / NANU DTG / NANU TYPE / ORIGINAL TYPE / REF NANU# / REF NANU DTG
SVN / PRN / START TIME / STOP TIME / SUBJ / REMARK

パラメータ
パラメータ
NANU# NANU番号
NANU DTG 発行日時(yyyy-mm-ddThh:mm)
NANU TYPE NANUのタイプ(必要に応じて修正済み)
ORIGINAL TYPE オリジナルのNANUタイプ(修正した場合のみ)
REF NANU# 参照NANUの番号
REF NANU DTG 参照NANUの発行日時
SVN 対象衛星のSVN番号
PRN 対象衛星のPRN番号
START TIME 開始日時(yyyy-mm-ddThh:mm)
STOP TIME 終了日時(yyyy-mm-ddThh:mm)
SUBJ NANU情報のSUBJ欄の内容(「"」で囲む)
REMARK NANU情報の「2. CONDITION」の内容(「"」で囲む)
NANUタイプ
NANUタイプ
FCSTDV Forecast Delta-V 保守作業の予定(マヌーバあり)
FCSTMX Forecast Maintenance 保守作業の予定(マヌーバなし)
FCSTEXTD Forecast Extension 保守作業の時間延長
FCSTSUMM Forecast Summary 保守作業の実績時間
FCSTCANC Forecast Cancellation 保守作業のキャンセル
FCSTRESCD Forecast Rescheduled 保守作業の時間変更
FCSTUUFN Forecast Unusable Until Further Notice 終了時間を決めない保守作業の予定
UNUSUFN Unusable Until Further Notice 障害の開始
UNUSABLE Unusable 障害の実績時間
UNUNOREF Unusable with no Reference 障害の実績時間(UNUSUFNが発行されなかった場合)
USABINIT Initially Usable 新しい衛星の通知
LEAPSEC Leap Second うるう秒
LAUNCH Launch 衛星の打上げ
DECOM Decommission 衛星の退役

2016年 NANU16.csv(CSV 21.8KB)
2017年 NANU17.csv(CSV 37.4KB)
2018年 NANU18.csv(CSV 22.8KB)

プログラム・データ提供にあたっての注意事項

  • 本プログラム・データの著作権は電子航法研究所にあります。
  • 第三者への再配布は禁止します (ただし、他ホームページからのリンクは自由に行ってかまいません)。
  • 本プログラム・データを利用して得た結果を公表する場合は、 その旨を明示してください。
  • ここで公開するプログラムおよびデータについて、 当所は何らの保証もいたしかねます。 本プログラム・データの利用によって生じるいかなる結果についても 当所は責任を負いませんので、 あくまでも利用される方の責任においてご利用ください。
TOP