SSブログ

「トランジスタ技術」2019年2月号 執筆記事の補足 [GNSS]

少し前になりますが、CQ出版社の雑誌「トランジスタ技術」2019年2月号で、恒例のGPS特集が組まれました。
みちびき×GPS! 世界最強1cmナビ体験DVD
cover_2019-02.jpg
実は、このGPS特集の中で、記事をひとつ執筆させていただいています。
82~87ページ Appendix
サブメータ補強サービス信号「L1S」を受信! Arduino ARMマイコン「SPRESENSE」

SONY製のコンピュータボード「SPRESENSE」とそのサンプルプログラムを使ってGNSS測位を行う記事になりますが、その後のArduinoライブラリの更新によってサンプルプログラムに変更が生じたため、記事の内容に実情と少し異なる部分が出てきました。ここでは、その差異の部分について、以下のとおり補足説明させていただきます。

--------------------
トランジスタ技術 2019年2月号 84~85ページ
「ステップ4:サンプル・スケッチの改造」の内容変更について

記事の中で説明しているサンプル・スケッチ「gnss.ino」は,記事執筆時点(2018年11月)でのSPRESENSE Arduino Library最新版(v1.1.0)に同梱されているものを使用しています.
その後,上記ライブラリが数回更新され,2019年1月16日にv1.1.3がリリースされました.
(2019年7月4日時点での最新版はv1.3.0)
その際に上記サンプル・スケッチ「gnss.ino」にも修正が加えられ,内部の構造が若干変更されたために,スケッチの改造についても,記事とは異なる方法を取る必要があります.

(1) 受信衛星システムの選択
v1.1.2以前のサンプル・スケッチでは,GPSは常に受信し,その他の衛星システム(GLONASS/QZSS/SBAS)については,関数Gnss.select()にて個別に追加する方式を取っていました.記事中のリスト1は,QZSS(L1C/A),QZSS(L1S)およびGLONASSを追加する例になっています。
新しいV1.1.3以降でのスケッチでは,この部分の構造が変更され,下記引用のように,使用する衛星システムの7通りの組み合わせがあらかじめ列挙型変数に割り当てられる方式になりました.
---------- gnss.ino (v1.1.3以降) 41~56行目 引用 ----------
/**
 * @enum ParamSat
 * @brief Satellite system
 */
enum ParamSat {
  eSatGps,            /**< GPS                     World wide coverage  */
  eSatGlonass,        /**< GLONASS                 World wide coverage  */
  eSatGpsSbas,        /**< GPS+SBAS                North America        */
  eSatGpsGlonass,     /**< GPS+Glonass             World wide coverage  */
  eSatGpsQz1c,        /**< GPS+QZSS_L1CA           East Asia & Oceania  */
  eSatGpsGlonassQz1c, /**< GPS+Glonass+QZSS_L1CA   East Asia & Oceania  */
  eSatGpsQz1cQz1S,    /**< GPS+QZSS_L1CA+QZSS_L1S  Japan                */
};

/* Set this parameter depending on your current region. */
static enum ParamSat satType =  eSatGps;

--------------------- 引用終わり ---------------------

上記7通りの組み合わせの中から1つ選択し,その変数を56行目に設定します.上記ではGPSのみ(eSatGps)ですが,例えば,GPS+QZSS(L1C/A)+QZSS(L1S)を受信する場合には次のように記述します.

static enum ParamSat satType =  eSatGpsQz1cQz1S;


(参考)
上記受信衛星システムの組み合わせを使用した場合のそれぞれの測位誤差(参考値)が,SPRESENSE公式サポート・サイト(下記URL)に記載されています.
Select positioning and augmentation satellite systems
各衛星組合せでの測位誤差(95%)
GPS: <5m
GPS + QZSS(L1C/A): <5m
GPS + GLONASS: 7.8m
GPS + QZSS(L1C/A) + QZSS(L1S): <2m

(2) 衛星の受信状況を1秒おきに出力させる
こちらの改造方法については,変更がありません.記事中のリスト2のとおりに修正します.
ただし,該当箇所の行番号が変わりましたので,85ページの記載は以下のように読み替えてください.
288行目 ⇒ 347行目
291行目 ⇒ 350行目

以上です.
nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

みちびき3号機(QZS-3)アラート解除 [GNSS]

(メール投稿のテストを兼ねて)
ちょっと投稿が遅くなりましたが、先週9/14(金)にみちびき3号機(QZS-3)のアラートフラグが解除され正常運用に復帰しました。
自宅のKiwiSDRでもアラートがOFFになっていることが確認できました。昨日9/18の9:40ごろの画面を貼っておきます。4機同時受信できています。
数か月前に発生した機器トラブルの対策として、QZS-3は送信電力をやや落とした状態での運用になったために、他の衛星と比べて受信レベルが低くなっています。
2018-09-19T10:17:47.jpg

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

みちびき 久しぶりの4機同時受信 [GNSS]

9月7日に、みちびき(準天頂衛星システムQZSS)の3号機が久しぶりに運用再開するとの予告が公式サイトで発表されました。(下記)
準天頂衛星の試験運用の再開について(内閣府宇宙開発戦略推進事務局)

また、本日(9月10日)夕方になって、高須先生のところで3号機(QZS-3 L1C/A PRN199)の送信再開を確認したとの一報が入りました。
高須先生の日記・備考録
これまでは通常よりも10dB以上信号レベルが低く、また航法データも乗っていない状態になっていたそうですが、これでとりあえず正常復帰したことになります。ただし公式発表にもあるとおり、送信出力がやや低い状態はこれからも継続するようです。

私の自宅にあるKiwiSDRでも3号機(QZS-3 PRN199)の受信が確認できました。約3ヵ月ぶりです。下の絵は本日17:00JSTごろに画面キャプチャしたものです。
KiwiSDR_GNSS_201809101700_.jpg
信号レベル(RSSI)は低いものの、正常に航法データが復調され、しっかり受信できています。ただしアラートフラグ"A"が立っているので、通常の受信機では測位演算には使用されません。しかしこのKiwiSDRの場合は、アラートお構いなしに測位に使う設定にすることができるので、測位結果がおかしな値になることがあります。
そして、これはたまたまですが、みちびきQZSSの衛星を4機同時に受信している瞬間をキャプチャすることができました。(Q193・194・199・195)
KiwiSDRは、最近のソフト更新でGalileo・GPS・QZSSという3つの測位衛星システムを受信できるようになりましたが、「指定席」が12個と非常に少ないため、席の奪い合いが激しく、QZSSを4機同時受信するタイミングはめったに現れません。非常にラッキーな場面に出くわしました。
nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

GNSS受信モジュールを試す(4) u-bloxコレクション [GNSS]

GNSS受信モジュールといえば安定の「u-blox」がデファクトスタンダードかと思います。いつの間にか、手元にu-blox社製のモジュールがたくさんあることに気付いたので、ここでひとつご紹介しつつ、情報をまとめておきます。(記事にさほど需要があるとも思えないので、あくまでも自分用の備忘録です…)

(1) NEO-6M
NEO-6M_.jpg
2世代前の「u-blox 6」シリーズの定番モジュールです。受信衛星はGPS+SBASのみですが、非公認な裏コマンドを叩くと、RTK測位に必要なrawデータを出力させることができます。いろんな店舗でかなり安く売っていますが、模造品もけっこう出回っており、u-blox社も頭を痛めているとの話を最近知りました。中華パワーおそるべし。上の2台も中国系のショップで入手したものですが、表面の型名シールとか見た目が粗雑なので、もしかするとニセものなのかもしれません。ただ、今のところ挙動に変なところはなく、rawデータも問題なく出ます。

(2) LEA-6H
LEA-6H_.jpg
これも「u-blox 6」シリーズです。かなり以前に入手したもので、基板反対側にパッチアンテナが付いています(取り外し可能)。ファームウェアの書き換えができるタイプで、NEO-6Mの上位機種にあたります。受信衛星はデフォルトではGPS+SBASのみですが、のちにリリースされたファームウェアを適用すると、QZSSとGLONASSも受信可能になります(ただし排他的)。また、rawデータを出力できるようにする非公認ファームウェアも出回っています。

(3) MAX-7Q
MAX-7Q_.jpg
MAX-7Q+RPi_.jpg
1世代前の「u-blox 7」シリーズです。受信衛星はGPS、QZSS、SBAS、GLONASSですが、GPS系とGLONASSとの同時受信はできません(排他受信)。このモジュールにもrawデータを出力させるための非公認裏コマンドがあります。
写真の基板はRaspberry Piのピンヘッダにそのまま差せる構造になっており、ラズパイのケースにも収まるのでナニげに便利です。ラズパイにRTKLIBをインストールすれば、お手軽RTK測位システムが構築できます。

(4) NEO-M8T
NEO-M8T_.jpg
こちらはもう何度も登場していますが、現世代の「u-blox M8」シリーズの超定番モジュールです。受信衛星はGPS、QZSS、SBAS、GLONASS、Beidou、Galileoと世界中の主な測位衛星システムにほとんどすべて対応しています(ただし一部は排他的受信)。しかも、rawデータ出力に正式対応しているので、ある意味、現時点で「最強」のモジュールです。RTK測位するには「NEO-M8T + RTKLIB」の組み合わせが一般的な用途では最適だと思われます。
こんなすごいモジュールですが、日本国内では商用利用ばかりで、一般人が基板の形で入手するのが少し難しくなっています。下記の海外通販を利用するのがベストのようです。
CSG Shop:
UBLOX NEO-M8T TIME & RAW RECEIVER BOARD WITH SMA (RTK READY)

(5) NEO-M8P
NEO-M8P_.jpg
これも「u-blox M8」シリーズの最新モジュールです。受信衛星はGPS、QZSS、GLONASS、Beidouで、現時点ではGalileoには対応していません。前述のMEO-M8Tとの大きな違いは、RTK測位エンジンをモジュール自体が持っている、ということです。したがって、RTKLIBのような外部ソフトを使わなくても、モジュール単独でRTK測位ができる、というのが最大の売りになります。当然ながら、u-blox社はこちらのモジュールの使用を強く推奨しています。(RTK測位で使うには設定が複雑で、使おうとするとけっこう気合が必要なんだけど…)
「トラ技」2018年1月号でRTK測位特集が組まれた流れで、CQ出版社で取り扱いがあります。前述の海外通販(CSG Shop)でも買えます。ただ、このモジュールはライセンス料が上乗せされている関係から、非常にお高いです。ゼロが1個多い…個人で買うにはちょっとためらわれるお値段です。上の画面のやつは、自分持ちではなく某所からお借りしているものです。

この他にも、買っただけでまだ実装・評価をしていないモジュールもあります。(下記 NEO-7M、MAX-M8Q) こんなにモジュールばっかり買い漁っていったいどうすんだ、って感じですね。いつの間にかu-bloxがこんなに増殖してるとは…
こちらは評価できしだい、また別途ご紹介していこうかと思います。
NEO-7M_MAX-M8Q.jpg

u-blox社は今年中に次世代の「u-blox F9」シリーズのモジュールを発売する予定にしているとのこと。マルチGNSSに完全対応、かつ初めての2周波受信対応ということで、測位性能向上にかなり期待が持てます。なんか提灯記事みたいになっちゃったな…別に私はu-blox関係者乙じゃなく、ただの衛星測位マニアですw
nice!(1)  コメント(8) 
共通テーマ:趣味・カルチャー

GNSS受信モジュールを試す(3) GE-612T [GNSS]

GNSS受信モジュール編、3回目は「GE-612T」です。
GE-612T_aitendo.jpg
これもaitendoさんで入手しました。セール期間中に半額で購入。
台湾のNaviSys Technology製のモジュールで、大きさがほぼ1センチ角で非常に小さいものです。受信チップはu-blox社の「u-blox 6」シリーズ。もう2世代前の測位エンジンで、この世代のものは基本的にGPSとSBASにしか受信対応していません。
GE-612T.jpg
別売りの変換基板に実装し、ピンヘッダを取り付けます。入力の同軸コネクタは小さいI-PEXコネクタなので変換ケーブルが必要です。
「u-blox 6」シリーズなので、今回はu-bloxの評価ソフトu-centerを使用します。
まずはNMEAフォーマット出力で動作確認です。
GE612T_u-center_20180807-1.JPG
9個のGPS衛星と2個のSBAS衛星(42/50)が受信できました。C/Nがやや低めで値がふらついているので、さほど感度は良くなく周囲の影響を受けやすいようです。

次に、u-blox独自のUBXフォーマットで出力させてみました。モジュールのデータシートでは出力はNMEAフォーマット対応とだけ書いてありましたが、試しに設定してみたところ、UBXフォーマットでも出力できました。
GE612T_u-center_20180807-2.JPG
ファームウェアのバージョンは「7.03」でu-bloxのモジュールNEO-6Mと同じです。
GE612T_u-center_20180807-3.JPG

さらに、rawデータを出力させるための非公式コマンドを試しに送信してみました。
GE612T_u-center_20180807-4.JPG
コマンドは受け付けられ、rawデータが出力されるようになりました。ということは、このGE-612TモジュールでRTK測位が一応できる、ということになります。ただ、衛星がGPS(+SBAS)だけなので、RTKのfix条件としてはだいぶ厳しいですが…
このモジュールは設定を記憶するためのメモリを持っていないので、電源を切るともとのデフォルト設定(NMEA出力)に戻ってしまいます。
nice!(1)  コメント(0) 
共通テーマ:趣味・カルチャー

みちびき3号機(QZS-3)の尻尾を掴む [GNSS]

8/2に書いた記事で、みちびき3号機(QZS-3 PRN199)のL1C/A信号は現在停止している、と述べましたが、高須先生からコメントがあり、実際には信号自体は送信再開されているとの情報をいただきました。(高須さん、ありがとうございます)
ただし、信号強度が通常よりも10dB以上低く、かつ航法データも載っていないとのことです。したがって、研究開発向けの高感度受信機でないと受信できない状態になっているのが実情のようです。
参考:高須先生の日記・備忘録(2018/08/01)
当然ながら我が家のKiwiSDRではかなり受信が難しいレベルなわけですが、今日、たまたまGPS受信画面にPRN199が捕捉されているのを発見しました。
KiwiSDR_GNSS_20180806_.jpg
ごくたまにしか捕捉しないような頻度なので、上の画面をキャプチャするのに苦労しました。でもなんとか証拠をゲット。
受信レベル(RSSI:真値)はやはり非常に低い(141)ですね。他の衛星と比べると1ケタ程度低いので、だいたい10~20dB落ちのレベルです。KiwiSDRは、SNR(真値)が16(=24dB)以上でないと捕捉しない仕様なので、なかなか画面に現れません。たまに現れてきても航法データが載っていないので復調できず、タイムアウトですぐに画面から消えてしまいます。なんとも不安定な受信状況…
でもまあ、なんとか尻尾は掴んでいるので「そこにいる」ということだけは実感できました。正式運用開始まであと3ヵ月。
nice!(2)  コメント(0) 
共通テーマ:趣味・カルチャー

GNSS受信モジュールを試す(2) ATGM332D [GNSS]

GNSS受信モジュール第2弾は中華製「ATGM332D-5N-31」です。
ATGM332D-5N31_aitendo.jpg
aitendoさんで販売しています。メーカーは「中科微電子(Hangzhou ZhongKe Microelectronics)」という浙江省杭州市にある会社だそうです。初めて聞きました。受信チップは自社製の「AT6558」を使っているようなので、衛星測位についてはかなり技術力のある会社なんだと思います。モジュール自体は受信対応する衛星システムの組み合わせによって何種類かラインナップがありますが、aitendoさんで売られているのはGPS + Beidouの組み合わせのものです。まあそりゃ当然か…
このモジュールにはもうひとつ特徴があって、サイズとピン配置がu-blox社のNEO-7シリーズのモジュールと全くのコンパチだということです。データシートにも「u-bloxからそのまま置き換えられるよ~」とあからさまに書いてあります。
ATGM332D-5N31.jpg
モジュール単品の発売なので、別売りの変換基板に自分ではんだ付けする必要があります。SMAコネクタ用のランドはかろうじてありましたが、残念ながらその他の周辺部品用のランドはほとんど無いので、アンテナへの電源供給回路はチップ部品の空中配線で付けました。(かなり苦しい…) さらにバックアップ用電池とかPPS信号を光らせるLEDも付けたいところですが、これはとりあえず後回し。
ATGM332D-5N31_20180805.JPG
出力信号はNMEAがデフォルトのようなので、とりあえずNMEAモニタソフトをつないでみました。特に問題なくあっさりとGPSとBeidouが受信できました。S/Nの高さから見て、受信感度もけっこう良さそうです。
データシートにはみちびき(QZSS)にも対応してるような書き方がされていたので、ちょっと期待したのですが、衛星番号193/194/195は見当たりません。なんだ残念~と一瞬思いましたが、よく見るとGPSのところに33/34/35という見慣れない番号の衛星がいました。(GPSは32までのはず) 実はこれがQZSSの衛星だった、というオチです。スカイプロットの位置からしておそらくそうでしょう。このモジュール(というか受信チップ)はQZSSを「GPS衛星の一部」と見なしてNMEA出力する仕様になっているようです。
結果として、この「ATGM332D」は、みちびき(QZSS)が受信できるGNSSモジュールであることが確認されました。
nice!(0)  コメント(17) 
共通テーマ:趣味・カルチャー

GNSS受信モジュールを試す(1) GYDFDMAXB [GNSS]

市販されているGPS(GNSS)受信モジュールや基板をいろいろ買っては試して楽しんでいます。そんなに高尚なものではなく、あくまで趣味のレベルですが…
手元にあるモジュール・基板がかなり増えてきたので、自分の備忘録代わりとして情報を整理しながら、ここでご紹介していきたいと思います。
まずは最近入手した「GYSFDMAXB」です。
K-09991.jpg
GPS受信機キットとして秋月電子で取り扱っています。受信機基板は太陽誘電製、受信チップは台湾Mediatek製の「MT3339」です。MediatekはAndroidスマホやタブレットのSoCチップセットメーカーとして知られてますね。
つい最近のファームウェアアップデートでみちびき(QZSS)3機受信に対応した、ということなので、今回買ってみました。
GYSFDMAXB.jpg
受信モジュール本体はパッチアンテナと一体になっていて、周辺部品も含めて基板に実装済みの状態です。これにピンヘッダとCR2032電池ホルダー(裏側)をはんだ付けするだけで完成です。出力信号はNMEAフォーマットのUART出力なので、USB-シリアル変換器(基板)を介してPCと接続してモニタします。まずは汎用的なソフトを使ってみます。
信号モニタソフト:NMEAモニタ for Windows
GYSFDMAXB_NMEA_20180805.JPG
GPSとSBAS、QZSSが受信できています。QZSSもちゃんと3機見えますね。
衛星番号193・194・195がQZSS、50がSBAS、その他がGPSになります。上の画面では受信機を屋外(ベランダ)に出した状態にしていますが、屋内でもそこそこの数の衛星をつかんでいたので、アンテナ一体型にしては受信感度は良さそうです。
GYSFDMAXB_20180805.JPG
次に、秋月の販売サイトにリンクされているMediatekの純正ソフト「MiniGPS」も使ってみました。こちらでもQZSSが3機ちゃんと見えています。こちらのソフトを使うと、NMEA以外にMediatekの独自フォーマットでも信号の扱いができるので、細かい設定をすることも可能です。


nice!(1)  コメント(1) 
共通テーマ:趣味・カルチャー

みちびき2号機・4号機 送信再開 [GNSS]

6月初旬から信号停止していたみちびき2号機(QZS-2 PRN194)と4号機(QZS-4 PRN195)が、7/31夜に送信を再開しました。58日ぶりの復活です。ただし、衛星の運用状況を示すNAQU情報(2018415)によると、通常よりも送信電力を2dBほど落とした減力放送の状態は継続しています。
我が家でも久しぶりに3機状態で受信できました。

受信モジュール NEO-M8T(u-blox)による受信
NEO-M8T_20180802.JPG
L1C/A信号3つとL1S信号3つで6個の日の丸が並んでいます。

KiwiSDRによる受信
KiwiSDR_GNSS_20180802_.jpg
こちらも3機(Q193/Q194/Q195)受信できています。確かにQ194/Q195の受信レベル(RSSI)が他の衛星と比べて低めです。
KiwiSDRについては3号機(QZS-3 PRN199)も受信できる能力がありますが、まだ現れていないですね。前述のNAQU情報によると、3号機のL1C/A信号はまだ停止したままのようです。
そういえば、とある大学の著名な先生がご自身のブログで、市販の受信機やスマホでQZS-3が受信できない理由について、正確でない見解を述べておられるのを見つけました。真実を教えてあげたくてウズウズしますが、私のようなシロウトがプロの先生に意見するなど、恐れ多くてそんなことはできましぇん…ヘタレですみません。
nice!(1)  コメント(2) 
共通テーマ:趣味・カルチャー

u-center バージョンアップ [GNSS]

今回は備忘録的な記事になります。興味のある方はだいぶ限られそうな感じ…
u-blox社のGNSSモジュールの評価用ソフトである「u-center」がいつの間にかバージョンアップしていました。
今まで私が使っていたバージョンはVer.8.29でしたが、いきなり番号が飛んで先月初めに「Ver.18.05」となり、さらにいま確認してみたら最新版はすでに「Ver.18.06」になってました。どうやらバージョン番号の命名方法が変わったらしく、リリース時の「年2ケタ.月2ケタ」を表すことになったようです。したがって最新版は2018年6月リリース、という意味合いになります。
今までソフトのバージョンなどはあまり気にしてなかったのですが、リリースノートで変更点をよく確認してみると、私が興味を持っている「みちびき(QZSS)」関連でもいろいろ変更追加されていることがわかりました。

[QZSS サブメータ級測位補強サービス(SLAS)関連の変更]
・QZSS L1-SAIF信号(古い名称)変更 ⇒ L1S信号 (すでにVer.8.29で変更済)
・L1S信号の受信データ復調
・UBX-CFG-SLASコマンド/UBX-NAV-SLASメッセージ追加

この他にも多数変更があり、正直言って内容がよく理解できていないものばかりなのですが、おそらく今年末に新しく発売開始される予定の「u-blox 9」シリーズのGNSS受信モジュール/チップに向けた対応を順次行っているものだと思われます。

手持ちの受信モジュールNEO-M8Tで新バージョンを動かしてみました。下の画面はVer.18.05のソフトです。Ver.18.06でもほぼ同じ動作でした。
UBX-NAV-SAT_20180626_.jpg
画面の右側に各受信衛星の受信レベル(C/N)が出ています。この中に日の丸が2個見えますが、これがみちびき1号機です。以前のバージョンでは1個のみの表示でしたが、L1C/A信号とL1S信号で別々に表示されるように変更されたようです。現在、2~4号機は信号停止中のため受信できませんが、再開されれば2号機と4号機も受信できるようになるため、日の丸が合計6個並ぶことになるはずです。(3号機はNEO-M8Tのファームウェアが非対応のため受信不可)
画面左側はUBX-NAV-SATメッセージ(各衛星の状態)が表示されています。一番下にみちびき1号機が見えます。以前は「Q1」表示でしたが、「QS1」表示に変更されています。

UBX-RXM-SFRBX_20180626_.jpg
こちらの画面の左側には、RTK測位に使用できるrawデータの一部(UBX-RXM-SFRBX)が表示されています。ここにもみちびき(QZSS)の表示が見えます。L1C/A信号に加えて、L1S信号の復調データが表示されるようになりました。L1S信号はサブメータ級測位補強サービス(SLAS)のための信号ですが、データを処理できるハード/ソフトがかなり限定されるため、ここではデータをながめるだけしかありません。

UBX-CFG-SLAS_20180626.jpg
UBX-NAV-SLAS_20180626_.jpg
上の2つの画面の左側は、サブメータ級測位補強サービス(SLAS)関連で新たに追加された設定コマンドUBX-CFG-SLASとメッセージデータUBX-NAV-SLASです。しかし、受信モジュールNEO-M8Tでは非対応のため、設定しても何も反応せず、データも表示されていません。前述のとおり、発売開始直前となっている次世代の「u-blox 9」シリーズからの対応になるものと予想されます。
できることなら、現在の「u-blox M8」シリーズのNEO-M8T/M8Pでもファームウェア更新で対応してもらいたいところです。みちびき3号機(QZS-3)受信可能の対応もぜひぜひ!!
nice!(0)  コメント(1) 
共通テーマ:趣味・カルチャー

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。