精密時刻補正に関わる各受信機の NMEA センテンス出力タイミング
および通信速度(Baudrate)とその調整 Rev. 1.20
Dec. 22, 2023
宮下和久
概

要

GPS 受信機のうち精密時刻同期に利用できる 1PPS 信号を出力することのできる機種が各社から発売されている。それぞれの機種について NMEA センテンスの出力タイミングを測定した結果、時刻補正ソフトウエア HACSTIP の使用に適した機器設定を明らかにすることができた。ここでは、ユーザが自身の受信機で確認可能な方法を含めて報告する。
コラム（概要の補足）

比較的安価に入手可能な新型 GPS 受信機の特徴と利用上の留意事項
１．新型機種の特徴(1) 多くの衛星システムを利用することができる
旧型機 (NEO6M 等. VK172 もこちらに属する)
GPS(USA) (みちびき(日))(GLONASS と切り替えてどちらかを利用可能なものもある。* 6)

新型機 (出荷時設定で下記のシステムを利用可能)
GT902PMGG: GPS(米) GLONASS(ロ) みちびき(日) BEIDOU(中)GT502MGG-N: GPS(米) GLONASS(ロ) GALILEO(欧) みちびき（日）◎多くの衛星を利用可能で、受信不良で止まることが起きにくい。

◎

受信状況がよければコールドスタートでも 30 秒ほどで利用可能。

◎

LED 点滅時点で正確な UTC 時刻を出力する。
（本文中に説明あり。
）⇒△

12.5 分待つ必要はない。

NMEA 行の行数が多い。受信状況が良いと更に増える。

(2) NMEA 出力の開始 （新型・旧型ともに、機種により大きな違いがある。
）
GT902PMGG : 正秒後 100msec 台から出力
GT502MGG-N: 正秒後 400msec 頃から出力△

GT502MGG-N では、1.に加えてこの遅い出力開始のため、HACSTIP の処理に要する時間が秒内に確保できない。

⇒

通信速度 (Baudrate) を上げると HACSTIP が良好に動作可能だが...

(3) 通信速度などの設定の保持
GT902PMGG : 不揮発メモリに設定が保存される。
（長い保持期間があると思われるが、長期テスト未了により未確認。
）△

設定ソフトは高機能だが、設定は多少面倒で慣れが必要。

GT502MGG-N : 受信機内臓の電池でバックアップされるメモリに記憶される。
半日～1 日ほど経つと設定が（アルマナックと共に）失われる。
△

受信機利用前に専用設定ソフトで 38400bps 等の高い値に設定が必要(GT502)(4) 1PPS LED の点滅とともに、正しい UTC の時刻を出力する
GT902PMGG, GT502MGG-N ともに、GLONASS 衛星を捕捉し利用できるようになった時点でうるう
秒による秒ズレは解消されている。
（GT502MGG-N は場合により LED 点滅時点で GLONASS 衛星が利用できていない場合もあるが、LED 点滅後 10 秒ほど待てば正しい UTC が得られる。
）これは、旧世代の受信機にはなかった特長である。

２．使用上の留意事項
最近の技術の進歩に伴って、受信機はたいへん高性能になっているが、その分、高精度時刻同期に用いるには、NMEA 行が増えることが足かせになってきてしまっている。
GT502MGG-N を時刻同期に利用しようとすると、上記 1(3)のため、 miniGPS というソフトウエアで観測前に 通信速度を 38400bps に設定する、という作業が準備作業として加わることになり、手数が増える。また、その使用法に慣れる必要がある。

☆GT902PMGG の場合は u-center で設定すること。

筆者も最近の観測に GT502MGG-N を使っているが（miniGPS の操作に慣れているためではあるのだ
が）、観測者の皆様も、慣れればほとんど問題なく使えると思われる。
何より、「12.5 分待つ必要」がない、というだけでも準備時間や作業の軽減に繋がる。
衛星捕捉と利用の能力が高いのも、観測地の様々な受信環境に対応でき、安心して使える要素となる。
なお、GT-902PMGG は、上記 GT-502MGG-N と同様に多くの衛星を利用できるが、NMEA 出力開始
が 100msec 台と早いため、標準の 9600bps でも問題なく動作する。ただし、動作速度の遅い旧型 PC だと、HACSTIP の処理時間が長くなるため、不具合が発生する場合もある。これについては通信速度を
19200bps に上げる等して対処するとよい。

１．はじめにPC に接続して利用するタイプの GPS 受信機には、その接続方法について USB 端子を持つ
ものと、RS232C に準拠した信号を出力するもの（コードが先バラ）の 2 種類がある。このう
ち後者については DSR などの制御用信号線経由で PC に 1PPS 信号を送信することで、高い精度での PC の時刻同期を実現することができる*1 *2。ソフトウエア HACSTIP は、この仕組みを使って誤差 +/- 0.20msec 以下の精度で PC の時刻を管理することができる*3。
1PPS を利用する時刻同期ソフトウエアは、2000 年頃に Satk*1 が開発されたのが最初である。その頃は受信機から利用できるのは狭義の GPS（米国が運営する衛星測位システム）のみであったことから、NMEA センテンス行数も少なく、良好に動作していた。また、2022 年に開発された HACSTIP*2 も当初は古い世代の受信機を対象として設計されていた。しかし最
近は技術の進歩に伴い、受信機は GPS に加えてロシアの GLONASS、ヨーロッパの
GALILEO、中国の BEIDOU（北斗）などの様々な測位システムの同時に受信し併用して利用可能になってきている。衛星情報を出力する NMEA 文の行数も多くなったことから、
HACSTIP もそれらの環境で動作できるようにする必要がある。そこで各受信機について正秒に対する各 NMEA センテンス行の出力タイミングを、通信速度（Baudrate）を変えて調べる
ことにより、HACSTIP の時刻補正動作に最適な設定を探ることにした。
2. 時刻同期ソフトウエア（HACSTIP）が時刻（UTC）を得る仕組みと、時刻補正の仕組み
2-1

GPS 受信機の出力する信号(1) NMEA 文と記載された情報

GPS 受信機は NMEA 規格に沿ったテキストデータ*4 で様々な情報を出力する。これにより
GPS 利用のソフトウエアは、必要な情報を画面に出力するなどの処理を行う。表 1 に主なセ
ンテンス行とそれに記載された情報についてまとめたものを示す。太字は、HACSTIP が時刻補正と位置取得および衛星受信状況情報の取得のために利用している情報である。
表1

GPS 受信機の出力する NMEA 文 *4

RMC: 時刻,緯度,経度,対地速度,進路,日付,偏差とその方向,受信モード
GGA: 時刻,緯度,経度,GPS クオリティー,受信衛星数,水平測位誤差,アンテナ高,ジオイド高
GSA: 動作モード,測位状態, 測位誤差(PDOP 値,HDOP 値,VDOP 値)
GSV: 総衛星数,各衛星の番号,仰角,方位角,キャリア/ノイズ比
VTG: 真北に対するコース,磁北に対するコース,スピード,測位モード
GLL: 緯度,経度, 測位モード
Talker ID（例：$GNRMS） GP=GPS/SBAS、GL=GLONASS、GA=Galileo、GB=BeiDou、
GQ=QZSS、GN=任意の衛星の組み合わせ。
（GN は多くの場合 GPS と GLONASS の併用時。）

受信機は各社が定めた出力順で NMEA センテンス*4 を出力する。そのうち時刻補正ソフト
ウエアにとって最低限必要な行は基本的には RMC 行である。RMC 行には日付、時刻、経緯度の情報が記載されており、時刻補正を行うにはそれで充分である。ただ、観測地において電波の受信状況を把握するための目安として衛星数の情報を知る必要があり、そのためには
GGA 行も必要となる。なお、ソフトウエアによっては GGA 行から時刻や位置情報を得るタ
イプのものもあるが、GGA 行は日付の情報は持たないことから、そのようなソフトウエアの場合には、日付は PC の時計から読み取るようになっている。もし、PC の日付が UTC と異なるものになっていた場合には、そのようなソフトウエアは正しい値にセットできないことになる。そのため HACSTIP は、RMC 行より時刻を得るような仕組みとなっている。
2-2 NMEA 行の出力タイミング
これらの信号は、受信機の TXD 信号線より出力され、変換器の RXD 信号線に入力されてから USB に変換されて PC に送られる。TXD(RXD)信号線の通信は Baudrate に設定する値により様々な速さで利用することができる。たとえば 9600bps(bit per second)の場合、1 文字(1byte)は 8bit にあたることから、1 秒間に 1200 文字を通信することができる。そのとき、次の例のような行（69 文字）を出力するには、 69/1200 = 0.0575 秒 = 57.5msec を要する。
$GPRMC,103858,A,36xx.0079,N,137xx.7936,E,000.0,000.0,071223,007.5,W*67
もし、すべての行がこれと同じ文字数であると仮定した時には、17 行を超える出力は通信ができないことになる。後に述べるように、高性能の受信機でたいへん多くの衛星を捕捉した
場合には、GSV 行が増加することにより 1 秒間に十数行が出力する場合がある。そのようなときは、ユーザが衛星受信状況の表示は不要であれば、たとえば GSV 行の出力を停止させる。または、それらの情報が必要であれば、通信速度をより高く（速く）設定するとよい。上の例でいえば、Baudrate を 19200bps に設定することにより、1 秒あたり 30 行程度を出力することが可能となり、時刻同期ソフトウエアの動作にも余裕ができることになる。
2-3 NMEA 行の出力順序
表 2 NMEA センテンスの出力順（例）
RMC 先行型の出力順序 (Garmin, Ublox)

GGA 先行型の出力順序 (MediaTec)$GPRMC,103858,A,36…..
$GPGGA,103858,…..
$GPGSV,3,1,11,02,44,…
$GPGSV,3,2,11,16,40,…
……
305 $GPGLL,36………

$GNGGA,150323.000,36……
$GNGLL,36…………
$GPGSA,A,3,19,17,195,09,……
$GPGSV,4,1,14,195,85,……
$GPGSV,4,2,14,14,50,……
$GNRMC,150323.000,A,36……
$GNVTG,161.07,T,,M,0.13,……

機種により大きく分けて二つの出力順序がある（表２）。時刻補正ソフトウエアにとっては、日付情報も取得できる RMC 行が先頭にある方が補正処理しやすい。GGA 先行のものはRMC 行が最終行に近い位置で出力されることから、時刻情報は GGA、日付情報は RMC からそれぞれ得るような工夫が必要となる。いずれにせよ、同一の秒内に GGA・RMC ともに読み込むようにすることが不具合防止に重要であることから、とりわけ GGA 先行型の機種の場
合には、通信速度(Baudrate)の値を大きめに設定する方がよい。
（設定法については後述。）

2-３

GPS 受信機の出力する信号(2) 1PPS 信号

先バラの形状で発売されている受信機（および基板状で発売されている受信機の一部）は、
1PPS の信号線（基板の場合には端子）を持つものがある。この信号線には、UTC の正秒に立ち上がり、その 100msec 後に立ち下がる（あるいは正秒に立下がり、その 100msec 後に立ち上がる）パルス状の信号が出力されている。こちらは電圧の変化による信号（アナログ信号）であり、その立ち上がり（下がり）には 100 ナノ秒またはそれ以下の誤差量となる精度を持つことされている*1 。その正秒の瞬間を検出することにより、高い精度の時刻表示やタ
イムスタンプを行うことが、GHS 時計、GHS-OSD をはじめとするタイムインサータで実現されてきており、更には Satk のように PC の時刻同期にも活用されるようになった。
なお、１PPS の出力信号が正秒に立ち上がりとなるのは Garmin 社のエンジン(15H/L, 18xLVC)、立下りとな
るのは MediaTec 社(GT502MGG-N)および Ublox 社(GT902PMGG)のエンジンである。GT502 と GT902 はともに YIC 社製の受信機であるが、採用している処理エ
ンジンの製作会社が異なっているので、特性や設定用ソ
図１ 立ち上がり型と立下り型

フトウエアも異なっていることに留意する必要がある。

2-3 受信機の NMEA 出力タイミングと HACSTIP の処理過程
表 3 に、受信機から出力さ
表 3 HACSTIP の時刻同期の動作手順
時刻
(ms)
0

受信機
HACSTIP の処理内容の出力
1PPS *****************************..... 下記の <A> 部と同じ .....
215
RMC => 日付、時刻、経緯度の値を読む
283
GGA => 衛星個数情報、標高関係、位置精度情報
367
GSV(各衛星の情報 受信状況も含む)....................
765
GLL => 最終行を認識~970
動作を休止し、PC の負荷を軽減
970~
数 μ 秒の時刻分解能で 1PPS 信号を待つ
1000(0) 1PPS ****************************<A> 1PPS 信号を受けて PC の進み遅れを検知
PC 時刻を修正
時刻表示、Log 出力
223
RMC ... 以降は、前秒の処理と同じれる信号の正秒に対するタイ
ミングと HACSTIP の動作原理について示す。この表は、本稿にとって最も重要な事柄を表していることから、本稿全体にわたって常に参照しな
がらお読みいただくことをお薦めする。
表 2 では、この仕組みの最も重要な「骨格」ともいうべき構造が、DSR 信号線経由の 1PPS を表す信号であることを示している。2－2 で述べたように、同期の精度は1PPS の信号の検出精度に依存する。それを実現させるためには、正秒の直前付近(30msec 程度前)からソフトウエアがその持てる最大の時間分解能で DSR の 1PPS 信号状態を監視し、その変化があり次第、PC 時計の時刻（システムタイム）を読み取り、それと正秒とのズレを検出して、時刻補正量を PC に伝えることが必要である。また、PC 時刻との比較対象となる
UTC の値はあらかじめ NMEA から読み取っておくが、その時刻値は比較しようとする正秒の 1 秒前の時刻値であるので、それに 1.000 秒を加算してから比較を行う。

3. 時刻同期に用いるうえでの、受信機の抱える問題点と解決法(1) 問題点
以上に記した仕組みを実現するには、1PPS 監視動作を開始する前にすべての NMEA 行を読み取っておく必要がある。NMEA の出力開始のタイミングが遅いか、あるいは NMEA 行数が多ければ、1PPS 監視動作開始に間に合わず正常に動作できなくなる。NMEA 出力開始のタ
イミングおよび捕捉可能衛星数は受信機搭載の処理エンジンにより異なっているためである。
表 4 同一秒内に読み切れなかった例++++++++++++++++++++++++++++++++++++++++++++++++++++
282 $GNGGA,144444.00,36xx.00346,N,137xx.79170,E,2,12,0.66,555.5,M,36.5,M,,0000*48
340 $GNGSA,A,3,22,17,194,06,14,02,19,195,196,21,41,03,1.27,0.66,1.08*24
404 $GNGSA,A,3,75,86,85,69,71,76,,,,,,,1.27,0.66,1.08*18
468 $GPGSV,4,1,16,01,,,34,02,28,060,29,03,66,078,23,04,11,133,*40
533 $GPGSV,4,2,16,06,16,261,32,08,12,118,19,09,01,165,22,14,57,229,35*74
612 $GPGSV,4,3,16,17,57,326,37,19,31,310,23,21,19,065,15,22,57,274,36*7D
692 $GPGSV,4,4,16,41,19,247,29,194,53,188,34,195,85,334,28,196,38,170,20*4A
756 $GLGSV,3,1,09,69,20,036,33,70,43,109,,71,17,159,20,75,31,226,39*6D
821 $GLGSV,3,2,09,76,34,297,38,77,07,336,,84,13,071,,85,51,016,26*6F
852 $GLGSV,3,3,09,86,36,305,28*5B******************************* 1PPS *************************************
16 $GNGLL,36xx.00346,N,137xx.79170,E,144444.00,A,D*78
151 $GNRMC,144445.00,A,36xx.00344,N,137xx.79170,E,0.014,,071223,,,D*62
180 $GNVTG,,T,,M,0.014,N,0.026,K,D*39++++++++++++++++++++++++++++++++++++++++++++++++++++
283 $GNGGA,144445.00,36xx.00344,N,137xx.79170,E,2,12,0.66,555.4,M,36.5,M,,0000*4A
340 $GNGSA,A,3,22,17,194,06,14,02,19,195,196,21,41,03,1.27,0.66,1.08*24
表 4 は、（通信速度の割に）表示行数が多すぎて、同一秒内（次秒の PPS 信号まで）にすべての行が読み切れない場合を示している。+++++ は、一連の NMEA 行の区切りを示している。+++++ の下の行が最初の行である。捕捉衛星数の増加に伴い GSV の行数が増えたため
末尾の GLL と RMC、VTG は 1PPS 後に押し出されてしまっている。HACSTIP は 1PPS 後
も 200msec までは前秒の NMEA 行を処理できるようにしている。表 4 の例では、852msec の$GLGSV の読み取り後、900msec 付近に達した時点で一旦 NMEA 行の読み取りを中止し、1PPS の 30msec 前から 1PPS 信号の検出動作に入る。1PPS の前にもう一行の読み込みを行ったらどうなるかというと、行の文字数が多い場合には読み込み時間がかかり、1PPS 信号にかかってしまう場合が発生する。その場合にはソフトウエア（HACSTIP）側からは 1PPS 信号を検出するチャンスを失い、結局それは次の秒まで持ち越される。その結果、時刻の表示や補正は 2 秒に 1 回という正常ではない動作を招くことになる。この例は正常に動作してはいるが、1PPS 前の文字数の増加によれば、動作不良が起こりかねないことになる。
(2) 解決法
この問題の解決策としては、① 通信速度を高く設定する② 時刻同期に必要でないセンテンスを出力させないように受信機の設定を行うことである。時刻同期には関係しないものの、衛星受信情報を知りたいという場合には、GSV
行出力は必要となる。したがって、機種ごとの NMEA センテンスの出力タイミングを測定して把握し、ユーザの目的（衛星受信状況に関する情報の要・不要）に沿って、それぞれの機種に合った設定を行う必要がある。

(3) HACSTIP による時刻同期に適した設定
時刻同期に利用するためには表 5 に示すような手順で調べ、設定を行うことをお薦めする。
表 5 時刻補正のための設定法① NMEA センテンスの最終行の出力タイミングが、1PPS 正秒から測って 700msec 台
以下となるように設定を行えば、時刻補正を正常に動作させることができる。
②

各受信機の出荷時設定では GSV 行の出力が ON になっているため出力行数が多い。最終行出力開始が 700msec 台後半またはそれ以上であるような場合で出荷時設定のまま使うためには、通信速度(Baudrate)を高い値に設定すればよい。
☆

ただし、Baudrate を 100000bps を超えるような高い状態にすると、通信不良のためと考えられる時刻同期動作の不良が起こる場合がある。HACSTIP は 57600bps までの範囲で設定できる。
①の条件を充分に満たすような値とするが、無闇に大きな値にする必要はない。

③ 時刻同期のみの用途で用いる（衛星の詳しい情報等は不要）のであれば GSV は特に必要なく、GSV の出力を停止させればよい。しかし、観測地での衛星電波の受信状況を知るための重要な情報ともなるので、可能な限り ② で対応することが望ましい。
HACSTIP は、Log の出力を Receiver’s Sentence に変更することで、NMEA の出力タイミ
ングを調べることができる。例を図 2 に示す。
116 $GNRMC,023358.00,A,36xx.00385,N,137xx.79671
164 $GNVTG,,T,,M,0.293,N,0.542,K,A*36
236 $GNGGA,023358.00,36xx.00385,N,137xx.79671,
308 $GNGSA,A,3,28,25,15,10,32,194,196,12,24,23,,
356 $GNGSA,A,3,76,75,65,,,,,,,,,,1.96,1.10,1.62*17
421 $GPGSV,4,1,15,10,54,244,22,12,58,067,19,15,11,
501 $GPGSV,4,2,15,24,24,066,16,25,70,167,21,28,24,
565 $GPGSV,4,3,15,31,03,258,,32,50,318,28,41,19,247
628 $GPGSV,4,4,15,194,56,163,22,195,04,185,23,196,
694 $GLGSV,2,1,06,65,82,118,25,72,24,141,,74,03,039
740 $GLGSV,2,2,06,76,58,241,10,77,12,226,20*6E
788 $GNGLL,36xx.00385,N,137xx.79671,E,023358.00
上の例は時刻同期動作にとっての「限界」例。
最終行の出力始めが 700msec の後半である。出力終わりは 800msec を超えることになり、どこかの行で文字数が増えただけでも次の 1PPS の検出処
理の時間を奪うことになってしまう。このBaudrate では、これが限界である。

図 2 HACSTIP の Receiver’s Sentence により NMEA センテンスの出力状況を調べる
左は Receiver’s Sentence に設定した場合の Log の様子を示す。この受信機の最終行である VTG 行について、正秒の 581msec 後にその出力が終了したことを示している。
また、Ver.2.0.0.5 には、一連の NMEA 文の処理が済んだことを Time when a set of NMEA is complete の値として表示している。上記の最終行よりもわずかに大きな数値となる。この値が 800msec 以上にならない
ように各受信機用の設定ソフトを用いて Baudrate を設定する必要がある。なお、HACSTIP はこの値が750msec 以上になると文字を赤く表示して警告するようになっている。まれに赤い文字にであればなるのであればよいが、常に、あるいは頻繁に赤い文字になるような場合には、必ず高い Baudrate に設定を変更すること。

表 6 に機種別の推奨 Baudrate を示す。PC の環境によっても異なるので図 2 の方法で使用する PC について動作状況を調べることをお薦めする。

表 6 機種別通信速度推奨設定値
Garmin 18xLVC
GHS-OSD(Garmin 15)
GT902PMGG
GT502MGG-N
太陽誘電 GYSFDMAXBGSV ON
9600bps
9600bps
19200bps
38400bps
19200bps, 38400bps

GSV OFF4800bps, 9600bps
9600bps
9600bps
9600bps, 19200bps
9600bps, 19200bps(↑秋月電子通商 GPS 受信機キット)

UESCSN RoHS IPx6

9600bps

9600bps(4) GSV 文の活用 … 受信環境の把握 （HACSTIP Ver.2.0.0.5 による活用）
これまで観測地で衛星電波の受信環境が悪化して GPS 受信機の動作が停止するなどの現象が起こっていた。受信環境を示す C/N 値*5 は受信状況を知る上で重要な情報である。それら
は u-center や miniGPS などの専用ソフトウエアで見ることができるが、一つの受信機について HACSTIP と同時に使うことはできない。そこで、HACSTIP も 2.0.0.5 には各衛星のC/N を把握できる機能が追加された。CMOS カメラを USB3.0 で接続して用いた場合について、どの程度電波の受信状況（C/N）が悪化するのかを調べてみた。T502MGG-N を使い、電波が多少届きにくい観測場所（環境）を想定して、木造平屋の建物内で実験を行った。図 3
は CMOS カメラを様々なケーブルで使用した場合について、カメラのないときと比べたものである。カメラ関連機器と GPS 関連機器の距離を離すことが大切であることがわかる。

カメラ受信機(アンテナ) 20cm の場合

CMOS カメラなし

シールド付 USB3.0 ケーブル USB3-AB20BK/RS
フェライトコアあり
フェライトコアなし

ASI290MM 付属ケーブル

カメラ受信機(アンテナ) 60cm の場合

CMOS カメラなし

シールド付 USB3.0 ケーブル USB3-AB20BK/RS
フェライトコアあり
フェライトコアなし

図3

ASI290MM 付属ケーブル

カメラとケーブルの受信 C/N に与える影響

CMOS カメラ（ASI290MM）を USB3.0 接続で使用した場合についての測定結果。CMOS カメラは受信機から水平で東（方位角 90°）方向に置いた。
CMOS カメラを接続すると C/N が低下する。シールド付きのケーブルにフェライトコアをつけるとある程度改善できる。CMOS カメラと受信機との距離を大きくとることにより不具合を回避できる。

(5) 受信状況を表す C/N 値
受信状況を表す数値 C/N の値について以下に説明する。
衛星から発信される情報はキャリアとよばれる一定の周波数を持った電波を変調させる形で送られる。C はそのキャリアを指す。受信機が出力する C/N の値は dB（対数）で表される。
ある受信機におけるある衛星 i についての受信状況 Li を
Li = 10 log10 Ci/Niのように表現できる。キャリアとノイズの大きさが同じときは Li = 0, キャリアがノイズの10 倍の時は Li = 10dB, 100 倍では Li=20dB、1000 倍で Li = 30dB、10000 倍で Li=40dB である。大きなノイズ発生源である CMOS カメラを PC につなげたときに C/N が 40dB から
30dB に低下したとすれば（つまり 10dB 低下したとすれば）、CMOS カメラによりノイズが10 倍に増えたことを示している。CMOS カメラと GPS 受信機の距離について考えてみると、室内やドーム内などによる電波の反射がないと仮定したとき、雑音電波の強度は距離の二乗に反比例するから、たとえば距離が 1/3 になるように近づけたとして、32 =9≒10 で概算す
ると、Li は 10dB 低下することになる。図 3 の上下の図を右端のグラフで比べてみると、ほぼそのような関係にあることがわかる。 （グラフの * は一つで 5dB を表す。
）
シュミットカセグレン式の鏡筒先端部にアンテナ一体式の受信機を取り付けた場合、接眼部の CMOS カメラとは約 60cm の距離がある。それだけ離れていても図 3 の下のような影響が現れることから、他の形式、たとえば筒先付近に接眼部があるニュートン反射望遠鏡であっても、できるだけカメラと受信機の距離を離しておく必要がある。ただ、ケーブル同士の接近でも影響は現れるので、ケーブル配置も観測において留意すべきことがらとなる。
なお、カメラによるノイズの影響は、USB3.0 の端子に接続し、且つ、USB3.0 対応の USB
ケーブルを用いた場合に現れる。USB2.0 の端子への接続、または USB3.0 端子であってもケーブルが USB2.0 のみの対応であった場合にはノイズの発生はない。しかし、ノイズが発生しない代わりに、フレーム露光時間を短くしようとしたときに、フレームレートが PC と USBの環境に合わせて勝手に設定されてしまい、観測に重大な影響を及ぼすことになる。USB3.0に接続しつつ、ノイズ対策を行って観測に臨む必要がある。
(5) GPS 受信機の処理に必要な衛星数の確保について捕捉できる衛星数について考えると、図 3 は、設置位置がカメラと受信機で同じ高さであった場合で且つカメラと受信機の距離が小さい場合には、カメラの設置された方向の衛星の
C/N が極端に悪化して処理に利用できなくなってしまう様子を表している。図 3 の上の図の場合には、カメラを ON にしただけで利用できる衛星は 3 分の２または半分ほどに減る。最
近の高性能な受信機は、通常 12～20 機ほどの衛星を利用しているが、古いエンジンを積んだ機種（VK172 や Ren He GY-NEO-6MV2 など）だと通常でも 8 機ほどであることが多く、そのときに利用できる衛星が半分に減ったとすると最低限必要な 4 機を下回ることになる。周囲の建物などで視界が狭まっているときや、雲や雨滴など空中にあるときは、その方向にある衛星の電波の強度が低下することから、8 機より少ない衛星しかとらえられていないところにCMOS カメラを USB3.0 で使用して、しかもカメラと受信機（ケーブルも含めて）の距離が近いような場合には、4 機を利用することができず、受信機は動作を停止してしまう。

4. 受信機の設定を変更するためのソフトウエアと使用法
受信機の設定に用いるソフトウエアは処理エンジンの開発元から提供されている。同じ設定項目であっても処理エンジンが異なると命令文が異なるので、通信速度の変更のコマンドを送っても、受信機側に無視される。各社の受信機の設定ソフトウエアでは、画面構成だけでなく操作法も設定がなされたのかの確認法も大きく異なっている。受信機の設定を行う上での要点を表 6 に示すので参考にしていただきたい。
表 6 GPS 受信機設定用のソフトウエアの操作法の基本事項(1) 処理エンジン開発元から提供されているソフトウエアを設定に使用する。
(2) 接続するときは、あらかじめ COM ポートと通信速度(Baudrate)を確かめておき、それをソフトウエアに設定した後で接続する。（図 4）(3) 設定の概念がソフトウエアにより異なる。
・Set と Confirm ともに

設定＋一定時間保存の意味で使われている・・・miniGPS

・Send(一時的な設定) Save（次回起動時も有効な設定）・・・・・・・u-center
・受信機の電源を OFF にしないと設定が有効にならない・・・・Garmin SNSRCFG(4) 設定ソフトウエアのボタンクリックをしても、反映されるまでに時間がかかる場合がある。RS232C という速度の遅い通信手段を使用しているためである。処理過程が示されている場合はその表示が終わるまで待つ必要がある。また、全般に「クリックしてから一呼吸おいて」次の操作をする、というように扱うことをお薦めする。
(5) 各衛星の電波の状況などについて知りたい時は（設定を行わず、表示だけであれば）開発元が異なるエンジンに対しても利用することができる。(u-center, miniGPS)

図 4 COM ポートの確認〇通信速度の設定はこの画面では行わず、各受信機設定ソフトで行うこと。
〇ポート番号を変更するときは右の図の「詳細設定」から行う。通常は不要だが、大きなポート番号に割り振られてしまった場合には、空いている小さな番号に手動で変更する、などのときに用いる。

4-1 MediaTec 社のソフトウエア miniGPS[対象機種: 秋月電子通商扱い

GT502MGG-N (現行), GPS 受信機キット(販売終了)]

このソフトウエアは、取り扱いが容易で便利である。それは、単に画面が単純だからということだけではない。設定部分とそれを受信機に反映するボタンが近くにあり、指示する単語の意味がわかりやすいからである（後に述べるように、そうでないものもある）。
また、表 4 に述べた基本事項を理解するためにも有用である。残念ながら対象機種を所有していない読者には実際に操作していただくことはできないのだが、下記の記述からも操作の概念を把握していただけると思うので一読することをお薦めする。
(1) ダウンロード
下記よりダウンロードすることができる。
https://akizukidenshi.com/download/ds/akizuki/GPS_GNSS_Software_Package.zip
解凍してできたフォルダ Mini GPS_r1.20 の中にあるMiniGPS_1.7.1.exe が実行ファイルである。同梱の説明書（PDF ファイル）は丁寧に書かれておりわかりやすいので、最図 5 MiniGPS のファイル

初に目を通しておくことをお薦めする。

(2) 起動と接続
まず最初に、受信機を PC に接続してから、以下の操作を行うことをお薦めする。
MiniGPS_1.7.1.exe をダブルクリックして起動する。初期画面では受信機設定はできない。
CTRL – Alt – S キーを同時押しすると、図 4 のように最上部のタブが増える。この状態にしておく。
次いで、COM port と Baudrate を設定してから、 Open ボタンをクリックすると受信機に接続することができる。接続すると、GSV 行が出力される設定の場合（受信機の出荷時
設定ではそうなっている）
接続すると●が点滅
CTRL-Alt-S

各衛星の位置
各衛星の受信状況〇上の数字が C/N。搬
送波 C(キャリア)とノイズの比を表す。
値が大きいほど良好
な受信状況であることを表す。
〇下の数字はが衛星番号。時刻補正のためには衛星が 4 機以上
必要〇青く塗られたものが測位・時刻取得に利用されている衛星。

Hot Start: エフェメリス（衛星の詳細情報）とアルマナック（概要情報）がともに記憶された状態で起動。動作までの時間が短い。
Warm Start: アルマナックのみで起動。
Cold Start: 記憶した衛星情報を使用せずに起動し、起動後に衛星の情報を受信して処理に用いる。動作開始まで時間がかかる。

図 6 MiniGPS

受信機に接続〇□ で説明されている Hot Start ～ Cold Start のボタンは、通常は使う必要はない。

〇

GSV 行が出力されていないときには衛星位置と棒グラフは表示されない。

(3) 設定
SetUp というタブをクリックして、設定画面を表示する。図 7 の左上から右（下）方向に向かって操作することで、通信速度と NMEA センテンスの設定を変更することができる。
☆

画面下の方にある Log 領域には、NMEA センテンスが流れるように表示されていく。
後に述べる設定操作を行うと、この表示が数秒間消えた後、設定された値にそって再び表示が始まる。そのようすを見ることにより、設定が確実になされたのかの判断を行うことができる。GPS 受信機はあくまで速度の遅い通信線で繋がっている外部機器である、ということを念頭に操作することが大切である。

miniGPS を起動した時に GSV が出力されているとき（=
衛星が表示されているとき）は、GSV を 0 に設定しても衛星表示は残ってしまう。ただし、GSV＝１のときのよ
うにグラフの高さが更新されていくことはないことを見る
ことで、GSV の出力が停止されていることがわかる。
確認ダイアログはしばらく経ってか
ら表示される

終了時には Status 画
面には反映されないが、設定はなされている。そのことは次回起動時に確認することができる。

図 7 miniGPS による通信速度[Baudrate](上)と NMEA センテンス出力(下) の変更（設定）
利用しようとする NMEA センテンスを 1 に。

不要なセンテンスを 0 に設定。

☆ 2 以上の数値に設定すると、毎秒ではなく「ときどき」の表示となるので注意。
NMEA の変更時には、Confirm ボタンを押してから数秒経って NMEA Setting OK! が表示されるので、OK ボタンをクリック。
（通信速度設定の場合はこの操作は不要。
）

☆ ここで、図 5 の〇で囲んだ部分に注目いただきたい。この数値は 1 秒間の中で NMEA
センテンスが出力されるのに使われる時間の割合を意味している。これが 60％の場合にはゆとりがあるようにも見えるが、NMEA の出力開始が 1PPS 後 400msec 以上であれば、次の秒の 1PPS を超えてしまうことになり、時刻補正の動作に異常が生じる元となる。
時刻補正以外の用途であっても、すべての行の出力が 1 秒を超えることのないように、
miniGPS は、この数値が 100%以上となるような設定はできないようになっている。
4-2 Garmin 社のソフトウエア Garmin sensor configuration software[対象機種: Garmin18xLVC, Garmin1/L, GHS-OSD ]Garmin 社のソフトウエアはテキスト表示のみであり、衛星の状況を把握するなどの用途には向いていない。その一方で設定ソフトとしては、画面も整理されており、設定の様子も把握
しやすくなっている。
(1) インストール
https://www8.garmin.com/support/download_details.jsp?id=925
より、Download ボタンから SNSRCFG_320.exe をダウンロードする。この exe ファイルがプログラム本体であるので、そのまま任意のフォルダに置いて使うことができる。
(2) SNSRCFG_320.exe をダブルクリック してソフトウエアを起動
最初に機種選択の画面が現れる。GHS-OSD の場合は GPS 15
H/L を選択する。
ここでは Garmin18xLVC の場合で説明する。 OK で、該当機種用の設定画面（右）が現れる。
図 8 SNSRCFG の起動と受信機の選択(3) 受信機に接続
Baudrate を Auto に設定しておくと、Baudrate を自動的に変えながら接続を試みる。

図 9 接続の手順
SNSRCFG は、COM Port (Serial Port) を設定すれば、Baudrate を Auto に設定することにより、 Connect ボタンをクリックすると Baudrate を自動的に変えながら適切な Baudrateを見つけて接続してくれるので便利である。もちろん Manual にして手動で Baudrate を設定することもできる。SNSRCFG は、処理の過程をひとつずつダイアログに表示して伝えてくれるのが特徴であり、他の場面でも見られる。

(3) 通信速度の設定
Garmin18xLVC は通信速度(Baudrate)が 4800bps と低い値に設定されている。
Garmin18xLVC は捕捉（利用）できる衛星数が少ないことから、GSV 行を出力したとしても NMEA センテンスの行数はあまり多くはならない。そのため通信速度が遅くても、時刻補
正ソフトでは不具合の原因になることはなかった。HACSTIP では「読み残し」行について
は、1PPS 後の 200msec までは「読み残しを読む」処理を行って対応していたためであるが、様々な機器に対応するためには好ましいことではない。そこで、GSV 文を出力するのであれ
ば、より確実な動作環境とするために 9600bps に設定を変更しておきたい。図 10 に手順を示す。

Sensor Configuration 画面
は、通信速度のほかに（NMEA を除く）いくつかの基本動作の設定をすることができる。
設定後
OK → Send config to GPS
これで、設定項目が受信機に次々と送信されていく様
子をダイアログボックスで見ることができる。

受信機の電源を一旦 OFFにすると設定が反映される。次回の起動から有効

図 10 通信速度(Baudrate)設定の手順☆

Garmin 社の受信機は、設定の信号が通信により受信機に送られただけではその設定が有効にならない。
有効にするには、いったん受信機の電源を OFF にする必要がある。図は、USB から電源を供給している場合であるので、コネクタを抜き差しすることで有効にできる。通信用の USB の抜き差しでは有効にならないことに注意すること。

(4) 通信速度の設定

図 11 NMEA センテンスの出力有無の変更手順
例えば GSV センテンスを出力させないように変更するには、NMEA Sentence Selections
画面で GSV についているチェックを図のように外す。それ以降は通信速度の変更と同じ。

4-3 Ublox 社のソフトウエア U-center[対象機種: 秋月電子通商扱い

GT902PMGG (販売終了), VK172(1PPS 補正はできない)]

u-center は多機能のソフトウエアである。それだけに設定可能な項目がたいへん多く表示されるので、活用するには操作法*7 についてよく理解しておく必要がある。
(1) インストール☆

インストールしても動作しない事例もあるので、その場合には、下記を参考に対処していただきたい。

https://itojisan.xyz/trouble/21947/ MSVCP120.dll が見つからないエラーが出た時の対処法
https://itojisan.xyz/trouble/20062/

インストールは、

MSVCP100/MSVCP140.dll が見つからないエラーが出る時の対処法

https://www.u-blox.com/en/product/u-centerから Download ボタンをクリックするとインストールファイルがダウンロードされる。
u-centersetup_v2x.xx .zip
u-centersetup_v2x.xx .exe

使用言語を設定した後、自動的にインストールが行われる。

図 12 u-blox 社のソフトウエアダウンロードページ
前述の 2 社と異なり、u-centersetup_v2x.xx .exe を起動することにより Program Files(x86) の中の u-blox フォルダに自動インストールされる。後に述べるように、多くの情報も表示できるので、他のエンジンを積んだ機種で使用するときも（設定はできないが）便利に使用できる。

(2) 起動すべてのアプリ から u-blox フォルダの中の u-center_v22x.xx.exe をクリック

図 13 u-blox 社のソフトウエアダウンロードページ
プログラム本体の起動は、ショートカットをデスクトップに置くか、またはすべてのアプリから u-blox を選択して起動する、あるいは、ショートカットをスタートメニューやタスクバーにピン止めてもよい。

(3) 接続図 14 u-center の起動
最初に Baudrate ラジオボタンを設定し、その後で Connect/Disconnect プルダウンメニューから受信機のCOM ポート番号を選択する。受信機に接続すると、衛星の状況を示す棒グラフが現れる（初期設定ではそうなっている）が、後述するように GSV 行を出力しない、という設定になっていると、グラフ領域は現れても、棒グラフは表示されない。
ウインドウの最下部右側にのようにプラグが繋がっている表示がなされる。これにより接続状態を確認することができる。

(4) 通信速度の変更

クリック

クリック
して変更

クリック
して設定・
保存
数秒待ってグラフの更新が始まったら

図 15 通信速度の変更
設定（Configuration view）項目がたいへん多い（図中央のウインドウ参照）。abc 順に並んでいるので、ス
クロールして PRT(Port の意)をクリックすると通信速度等を変更する画面が現れる。Baudrate をコンボボッ
クスから選択する。この値は、メイン画面の左上にある Save current receiver config*11 （現在の設定を受信機に保存）ボタンをクリックした後、接続/切断ボタン（緑色のプラグアイコン）をクリックして切断・終了する。
*11 これは正しくは Save current config to receiver と表記すべきである。

(5) NMEA 出力の変更

右クリック

図 16

NMEA 出力の変更

NMEA についても細かい設定が可能である。変更したいセンテンスで右クリックする。 Enable (出力)、Desable (出力しない) を選んで左クリックすると反映される。ただし、ここで変更しても受信機の接続を
OFF にすれば設定項目は失われてしまう。必ず Save current receiver config ボタンをクリックして受信機の不揮発メモリに書き込むこと。
*

受信機に対する設定の変更がどのタイミングでなされるのかは受信機によって異なる。u-center では、各設定ウインドウ上での変更は変更時点あるいは Send ボタンが押された時点で受信機動作を変更させることができるが、次回立ち上げには反映されない。Save current receiver config (正しくは Save current config

to receiver) ボタンをクリックすることにより受信機に保存されて受信機が次回接続（HACTIP などの他ソフトから）されたときからも有効となる。

5. 良好な動作であるかどうかの見極め方
3(3) でも述べたが、ここでは詳しく説明する。
図 17 は、Baudrate を変えて NMEA 最終行の出
力終了のタイミングを見たものである。
38400bps では 576msec と良好な値となっており、それ以上通信速度を高速化しても(57600bps)あまり大きな改善は見られない。
一方、19200bps では最終行の処理が終わったのが 800msec を超えており、これだと場合によっては 1PPS 信号待ち受けの動作にも影響を及ぼしかねない。更に 9600bps では 1PPS 信号をまたぎ越してしまうことが 2 秒連続で起きており、それを検知して HACSTIP の動作も synchronize エラーを表示して停止している。
図 17

HACSTIP の動作環境の調べ方

以上から、38400bps が最適値であると言える。

4-4 u-center の活用
HACTIP Ver.2.0.0.5 も最低限の衛星受信情報の表示機能を持っている。もっと詳しい情報を得たいという人には、u-center をお薦めしたい。
u-center は多くの機能と見やすい表示を持ち、様々な場面で活用しやすいソフトウエアである。上記は他社(MediaTek 社)の受信エンジンを搭載した GT502MGG-N の動作状況を見たところである。NMEA で出力されているこれらの情報は、開発会社が異なっても表示することができる。
（ただし受信機の設定はできないことに注意。
）
最新機種の GT502MGG-N は多くのシステムの衛星を高 C/N で利用することができる。この例では GPS(米国)、SBAS(日本のみちびき衛星)、GLONASS(ロシア)、Galileo(欧州)など
多くの衛星の電波を受信し利用している。
（その分、GSV の行数が増えることから通信速度
Baudrate を高めに設定する必要があることは上述のとおりである。）
GLONASS のシステムはうるう秒の情報について考慮されており、それを活用可能な受信機は、動作開始後（1PPS の LED が点滅を始めた時点で）うるう秒が補正されていることから、12.5 分を待つことなく正しい UTC を出力する。上記の場合もそれに当たる。
図 18 の例では木造平屋の建物内に受信機を設置しているが、C/N が 45dB の衛星もあり、高品質な電波受信状況であることがわかる。良好な受信環境の目安として「仰角 60 度以上の高度にある衛星が 45dB 以上」との記述のある資料*5 もあるが、掩蔽観測では CMOS カメラの発するノイズに妨害されるため受信状況が悪化することからその条件を満たすことができな
いこともある。GPS を時刻同期に用いる場合には、「30db 以上の衛星を 4 個以上確保する」というのが最低限の受信環境である、というのが筆者の経験上の見極め方である。

図 18 u-center の画面
上： Ublox 社の第 7 世代の処理エンジンを搭載した受信機（VK172）の受信状況例。GPS(USA)とGLONASS（ロシア）では周波数帯が異なっているが、その両者を同時に使うことができない* 6。そのため
GPS と GLONASS を切り替えてどちらかを使うようになっている（出荷時設定では GPS のみ）。利用衛星数が少ないことから、受信環境がよくない環境では、処理に必要な衛星数（4 機）が確保されない状態になる確率が高い。
下： MediaTec 社の新しい処理エンジンを搭載した受信機（GT502MGG-N）の受信状況例。GPS,GLONASS, GALILEO(ヨーロッパ)などを利用可能で、みちびき（日本）にも対応している。
Ublox 社の第 8 世代のエンジンを搭載した機種(GT902PMGG)では、これと同様に多くの衛星を利用でき、また、u-center で利用衛星系の切り替えが可能だが、GLONASS と BEIDOU はどちらか一方しか使えない。
GLONASS はうるう秒が適用された時刻を常時発信していることから、時刻同期の目的では GLONASS を利用することが望ましい。

5. まとめ最新の GPS 受信機は多くの GNSS(衛星測位)システムを活用できることから、それを用いることで安定した受信を行うことが可能になってきた。しかしそれは、一方で NMEA センテ
ンスの出力開始が遅くなったり(GT502MGG-N) 、GSV や GSA 行が増加して出力終了がおそくなったりすることで、1PPS を使った精密時刻同期をおこなうソフトウエア(HACSTIP)にとってはたいへん厳しい状況にもなってきた。位置測定を主目的とする GPS にとって、メーカーにとっても一般のユーザにとっても時刻同期は「副産物」に過ぎないから、NMEA の行数に見合った通信速度の出荷時設定値を高くしようなどとは夢にも考えないのだろう。
そのような状況に対してセンテンスの出力タイミングを精密に測定することで解決策を探す
ことを試み、その結果、57600bps を上限とした適切な Baudrate を設定することにより衛星電波の受信状況を把握することと時刻同期を両立した動作が可能であることが明らかになった。
GPS を適切な環境と設定により用いることで、より確実で精度の高い掩蔽・星食の観測が可能となる。観測者の皆様におかれては、GPS 利用について理解を深めていただき、よりよい観測ができるようにしていただければ幸いである。
謝辞
渡辺裕之、渡部勇人、真砂礼宏の各氏には、本稿の内容が明らかになる前の不安定なバージ

ョンを使って動作試験や実際の観測をしていただきました。不具合でご迷惑をおかけしたことをお詫びいたしますとともに、心より感謝申し上げる次第です。
参考文献(1) Satk ドキュメント
http://www2.synapse.ne.jp/haya/ghsosd/Satk.html(2) GPS による汎用時刻保持装置の開発, 早水他, 国立天文台報 第 5 巻 7379 (2001)
https://www.nao.ac.jp/contents/about-naoj/reports/report-naoj/p73.pdf(3) HACSTIP Ver. 2 の開発とそれを用いた時刻補正の精度の検証
https://astro-limovie.info/limovie/cmos/Verification_of_software_and_hardware_%20using_ne
w_version_of_HACSTIP.pdf(4) NMEA フォーマット（GPS データ）について
https://skyrail.tech/archives/433(5) GNSS 信号レベル確認のススメ (C/N 値についての記載あり。)
https://www.enabler.co.jp/topics/gnss-signal-1(6) THETA プラグインで GPS/GNSS レシーバーと連携する
https://qiita.com/KA-2/items/711c76fa86e16a5e83c3(7) 高精度衛星測位, RTK-GNSS チュートリアル, 2019/09/06, 静岡大学 総合科学技術研究
科 情報学専攻木谷研究室( u-center の使用法 )https://swest.toppers.jp/SWEST21/program/pdfs/s5a_public.pdf(8) 方位角･仰角･偏波角の解説
http://www.satellite.co.jp/houikaku-gyoukaku.html(9) 掩蔽現象観測用 GPS 受信＋1PPS-LED 発光装置ちょうちんコバンザメ(Lantern
Sharksucker)の製作
https://astro-limovie.info/limovie/cmos/Lantern-Sharksucker.pdf(10) GPS 受信機による不完全な PC 時刻同期値の補正・修正
https://astro-limovie.info/limovie/cmos/CorrectionForLeapSecond.pdf