公開プログラム・データ
所外のみなさまにも役に立ちそうなプログラムやデータを、 公開することにしました。
技術情報
- ・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メッセージの内容の解説です。
「GPSのための実用プログラミング」収録プログラム
書籍「GPSのための実用プログラミング」に収録されているプログラムを公開しています。すべてC言語で記述されていますが、C++版を作成していただいた方もいます。
「GPSのための実用プログラミング」収録プログラム一括ダウンロード(C++版の案内もあります)
GPS週番号カレンダ
GPSの週番号や日付の換算に便利な表です。 日付、週番号、シリアル日(DOY)が一覧表になっています。 エクセルの表形式です。
エポック時刻の情報
年初を中心に、いくつかのエポックとなり得る日時に関する情報です。
日時(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 | 0 | 97 | 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番号には次表で変換できます。
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」の内容(「"」で囲む) |
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)
プログラム・データ提供にあたっての注意事項
- 本プログラム・データの著作権は電子航法研究所にあります。
- 第三者への再配布は禁止します (ただし、他ホームページからのリンクは自由に行ってかまいません)。
- 本プログラム・データを利用して得た結果を公表する場合は、 その旨を明示してください。
- ここで公開するプログラムおよびデータについて、 当所は何らの保証もいたしかねます。 本プログラム・データの利用によって生じるいかなる結果についても 当所は責任を負いませんので、 あくまでも利用される方の責任においてご利用ください。