Quantcast
Channel: OSQZSS
Viewing all 643 articles
Browse latest View live

NEO-M8Tのケース

$
0
0
CSG Shopのu-blox NEO-M8T受信機が増えてきた.



屋外で実験することも多くなり,基板むき出しで使うのがちょっと不安.

誰か3Dプリンタでつくれるケースを公開してくれないかなと,ねだってみる.

マルチパスのシミュレーション

$
0
0
bladeGPSでGPS信号シミュレータを長時間動かし続けることが
できるようになったので,次のステップとして任意のマルチパスを
生成できるようにしてみます.

これは,従来の直達波に対して,反射などによる時間遅延を模擬した
コード遅延を加えたレンジのを生成するチャンネルを,マルチパスの
数だけ加えることになります.

まずは試験的に,各直達波に対して,1つのマルチパスを加える
ことにしました.正しくマルチパスが生成されているかどうかを確認
するために,意図的に直達波とマルチパスの搬送波は同位相とし,
信号強度も同じにしています.つまり,2つの同じ相関波形が,
時間遅延分だけ離れて観測できることになります.

受信側には,もう1台,別のbladeRFを準備して,シミュレータから
送信された信号をサンプリングし,I/Qデータをファイルに保存します.

OSQZSS: bladeRFで再挑戦

シミュレータ側の帯域は2.5MHzしかありませんが,相関波形の形状が
判りやすいように,受信側のサンプリン周波数は16MHzにしています.

 (クリックで拡大)

コード遅延は,PRN番号の早い順に50mづつ加算しています.
遅延が小さなマルチパスは,直達波と同位相で加算される
ことになり,相関値が2倍になります.

 (クリックで拡大)

時間遅延が増え,2つの相関波形が離れて行くと,それに応じて
相関値も線形的に減少します.そして,1チップ分(300m)離れると,
一方の相関波形の頂点にもう一方の相関波形が重ならなくなり,
相関値はそれ以上小さくなりません.

それが,上図ではPRN21にあたります.このときの相関波形は,
理想的には台形になります.

 (クリックで拡大)

マルチパスが直達波から1チップ以上離れると,相関値のピークが
2つ観測されるようになります.

 (クリックで拡大)

それらが次第に離れて行く様子も確認できました.

 (クリックで拡大)

同じはずの直達波とマルチパスの信号強度に,多少差がありますが,
ほぼ意図した通りの理想的なマルチパスの生成が確認できました.
マルチパスの時間遅延や搬送波の位相差が一定ということは
実環境ではありえませんので,より現実的なマルチパスモデルを
組み込んで行きたいと思います.

シミュレータが生成する信号の数は,単純に倍になっていますが,
CPUの処理能力にはまだまだ余裕があります.直達波ごとの
マルチパスも,複数生成できそうです.

さて,マルチパスのシミュレーションで,直達波をライブのGPS信号,
マルチパスをspoofing信号と仮定すれば,spooferによるGPS信号の
乗っ取りも模擬できることになります.

電波法により,spoofing信号を屋外で送信し,ライブのGPS信号と
同時に受信させることは難しいので,シミュレータによる模擬的な
環境で,各種受信機のspoofing耐性を評価したいなと妄想中.

QuBit Conference 2016

HITBSecConf 2016

$
0
0
Qihoo360のUnicorn TeamによるGPS NTP serverへの攻撃に関する講演.

Yuwei Zheng and Haoqi Shan: Time is on my side

プレゼンテーションのスライドはこちら

航空機のGPS Jamming

$
0
0
具体的にどのような脅迫があったのか不明ですが,
カイロ空港において航空機をターゲットにした
GPS Jammingの可能性がNOTAMで警告されています.

A0183/16 NOTAMN
Q) HECC/QGAXX/I/NBO/A/000/999/3007N03125E010
A) HECA B) 1605240810 C) 1608230800 EST
E) DUE TO GPS JAMMING WI RADIUS 10NM CENTRE CAIRO ARP 300641N0312450E,
RNAV (GNSS) APCH SHOULD NOT BE PLANNED AT CAIRO INTL AP.

EgyptAir Flight 804の事故の直後ということもあり,
嫌なニュースです.

Mirror: Fresh terror fears as hackers trying to disable planes at Cairo Airport

RTL-SDRとAirSpy

$
0
0
高須さんの日記でRTL-SDRによるGPS信号受信が紹介されています.
RTKLIBにSDRの機能が実装されることを妄想しながら,少し情報を補足.

RTL-SDRに搭載されているフロントエンドのR820Tは,IF信号の帯域として
3.2MHzあるのですが,それをADCでサンプリングしているRTL2832Uにおいて,
I/Q信号の帯域がLPFでそれぞれ0.8MHzにカットされてしまいます.そのため,
全体で1.6MHzの帯域しか確保できず,GPS信号を受信するには微妙に狭いです.

つまり,RTL2832Uでは,フロントエンドの帯域を生かしきれていません.
そこで,その部分をLPC4370マイコンに置き換えたものが,AirSpyになります.
AirSpyでは,LPC4370の高速なADCとUSBインターフェイスが,RTL-SDRより
周波数の高い広帯域なサンプリングを可能にしています.

さらにAirSpy R2には,新しいフロントエンドであるR820T2が搭載されています.

airspy.com: AirSpy R2

R820T2の帯域は,ユーザの実験などから(非公式に)10MHz程度と確認されています.
ノイズフロアも数dBほど改善されているようです.

superkuh.com: RTL-SDR and GNU Radio with Realtek RTL2832U software defined radio receivers

そのため,AirSpy R2では,最大9MHzの帯域でalias-freeな観測を実現しています.
RFポートからの給電も,ホスト側のソフトウェアでON/OFFできて便利そう.

しかし,お値段は$199と,RTL-SDRの$19.95の10倍…

itead.cc: AirSpy R2

高額なデバイスに手を出す前に,まずは安価なR820Tのワンセグチューナを購入して,
SDRを体験してみるのが良いかもしれません.

aitendo.com: ワンセグRX DVB-T+DAB+FM R820T高性能受信機

GPS Interference Notam

$
0
0
カリフォルニア州全域を含む西海岸で,大規模なGPS信号干渉の
実験があるらしく,注意を呼びかけるNOTAMが出ている.

FAA: GPS Interference Testing, CHLK GPS 16-08, 07-30 June, 2016, China Lake, California



どうやらミリタリーの実験らしいけど,やることが派手だな.
SDR持ち込んでログ取りたい.

【追記】本当にGPS信号をロストしている



いくつか記事が出ているけれど,実験の詳細は不明.
中心地付近には,海軍のAir Weapons StationやWeapons Centerがあるらしい.

GIZMODO: FAA Warns of GPS Outages This Month During Mysterious Tests on the West Coast

【追記2】redditのスレッド.GPS信号をロストした写真もあり.

reddit.com: GPS Interference NOTAM For Southwest US



【追記3】ちょっと調べてみたら,軍事演習で頻繁にGPS jammingをしてる.

ofcom.org.uk: GPS jamming exercises

それでも,ここまで大規模なのは,今回が初めてだろうな.

AndroidでRAWデータにアクセス

$
0
0
これは楽しみ.

gpsworld.com: Google opens up GNSS pseudoranges

記事のタイトルはpseudorangesになっているけれど,
Googleのアナウンスはraw GPS measurementsだ.

搬送波位相にもアクセスできて,RTKとか試せるといいな.

GPS jamming実験の中止

複数のu-blox受信機を同時接続

$
0
0
やっと重い腰を上げてWindows 10にアップグレードしたら,
u-bloxのNEO-M8T受信機が接続できなくなる不具合発生.

これまでCOMポートとして認識されていたに,なにやら
u-blox GNSS Location Sensorというデバイスになってしまう.
もちろんu-centerにも繋がらない.

 (クリックで拡大)

Google先生に質問しても,解決法が見つからずハマる…

高須さんの方法だと,一旦はCOMポートになるものの,
再接続するとGNSS Location Sensorに上書きされてしまう.
また,複数の受信機を接続した場合,COMポートに変更
できるのは,ひとつだけだ.

日記・備考録:2016/01/30

試行錯誤のすえ,なんとか解決したのでメモ.

まず,GNSS Location Sensorデバイスを右クリックして,
「ドライバーソフトウェアの更新」を選択.

 (クリックで拡大)

「コンピュータを参照してドライバーソフトウェアを検索」を選択.

 (クリックで拡大)

「コンピュータ上のデバイスドライバーの一覧から選択」をクリック.

 (クリックで拡大)

ここで,u-bloxが提供するドライバではなく,Microsoft標準の
「USBシリアルデバイス」を選択します.

 (クリックで拡大)

これで,ドライバの更新が完了.

 (クリックで拡大)

デバイスドライバの一覧には,COMポートとして認識されるようになりました.

 (クリックで拡大)

複数の受信機を接続したときも,同じことを繰り返すことで,
同時接続もできるようになります.

 (クリックで拡大)

u-centerからも,問題なく接続できます!



ちなみに,COMポートの番号は,個々の受信機ではなく,
USBのポートに割り振られるみたい.

OpenTsiolkovskyを試す

$
0
0
OpenTsiolkovskyによるSS-520観測ロケット4号機の軌道予測が
紹介されていたので,自分でも試してみる.

ina111's blog: 衛星打上げロケットSS-520 4号機の予測(妄想)

軌道予測から,bladeGPS(またはgps-sdr-sim)用のモーション
ファイルを生成するのが目的です.

Windows 10なので,OpenTsiolkovskyのwikiを参考にMSYS2をインストール.
しかし,「$ pacman -Su」の途中でこんな警告が出て,止まってしまいます.

 (クリックで拡大)

警告メッセージにしたがって,一旦terminalを閉じてから,
スタートメニューのショートカットを編集.

Qiita: MSYS2の更新に伴う起動用ショートカットの修正

再度「MinGW-w64 Win64 Shell」を起動して,
パッケージのアップデートとインストールを進めます.

その後,OpenTsiolkovskyをcloneしてmake.
binフォルダに,「OpenTsiolkovsky.exe」ができました.

SS-520観測ロケット4号機のパラメータをbinフォルダにコピー.

 (クリックで拡大)

OpenTsiolkovskyを実行すると,outputフォルダに予測軌道が
csvファイルで出力されます.

 (クリックで拡大)

続いて,Google Earthで軌道を表示するKMLファイルを生成するために,
pythonや関連ツールをインストール.

$ pacman -Sy mingw-w64-x86_64-python2-pip
$ pacman -Sy mingw-w64-x86_64-python2-numpy

KMLファイルの生成に必要なsimplekmlモジュールもインストールします.

$ pip install simplekml

これでKMLファイルを生成する準備が整いました.

 (クリックで拡大)

KMLファイルもoutputフォルダに出力されます.
Google Earthで開くと,それらしい軌道が!

 (クリックで拡大)

グリグリ廻して眺めると,とても楽しいです.
動作も確認できたので,次はモーションファイルをつくろう.

SS-520の軌道でfireflyを試す

$
0
0
OpenTsiolkovskyでSS-520観測ロケット4号機の予測軌道が生成できたので,
これからGPS信号シミュレータ用のモーションファイルをつくります.

OpenTsiolkovskyの出力は,各段の軌道に分かれていますが,
全行程をシミュレーションできるよう,1段目から3段目までの軌道を
分離時間ごとに繋げます.

さらに,射点でGPS信号が補足できるよう,発射前の1分間は
初期位置に留まっていることにします.

この予測軌道をss520-4.csvというuser motion fileとして,
リアルタイム版のGPS信号シミュレータであるbladeGPSに入力します.

github.com / osqzss / bladeGPS

gps-sdr-simは,SDRデバイスに入力するI/Q信号のサンプリングデータが
巨大になり,長時間のシミュレーションには向いていませんでした.
しかし,bladeGPSでは,user motion fileの位置情報から,リアルタイムで
I/Q信号を計算するため,データ量を気にすることなく,長時間の連続した
シミュレーションが可能です.

シミュレータから出力されるGPS信号は,firefly GNSS受信機で受信します.



予測軌道の加速度をみてみると,3段目が20Gを超える高ダイナミクス.

 (クリックで拡大)

しかし,fireflyは,ロケット搭載も考慮して,最大25Gの加速度でも
信号を追尾できるように設計しています.シミュレーションの結果も,
打ち上げから一度も信号を失うことなく,測位できています.

 (クリックで拡大)

測位誤差をみてみると,大きな加速度の変化に関係なく,測位精度は
5m以下を維持しています.

 (クリックで拡大)

bladeGPSもfireflyも,控えめに言って最高だ!

観測ロケットとfirefly

$
0
0
宇宙研はfirefly GNSS受信機の大口ユーザだったりします.
これまでも,観測ロケットやミッションペイロードに搭載していただいていますが,
宇宙研から特にアナウンスはなく,こちらとしても公にすることは控えていました.

ところが,ペーパー出てるじゃないですか!

田中他,S520-30号機用 GPS受信システムの開発と飛翔結果
永田他,小型飛翔体実験におけるイリジウム衛星通信の活用とデータ配信システムの開発
山田他,ISSからの放出衛星(EGG)の搭載機器の動作確認及び運用確認試験(B-EGG)の報告

しかも去年だよ.全然知らなかった.

S520-30号機での飛翔結果では,真空試験,温度試験,振動試験,衝撃試験
などの環境試験にすべてパスしていると報告されています.実フライトでの
測位結果も,時折可視衛星数が低下して測位できなくっているものの,
加速度,高度に関係なく,ほぼ全パスで位置情報が得られています.

しかし,スピンしているとはいえ,衛星数が少ないような?
fireflyはGPS+GLONASSのGNSS受信機なので,もう少し可視衛星が多くても
良い気がします.GPSのみのモードでフライトさせたのかな?

いずれにせよ,これでシミュレータの結果だけではなく,高度300kmを超える
ロケットでのフライトレコードありと,堂々と宣伝できます.

【追記】アンテナについては,こちら.

川原他,GPS/イリジウム用コンフォーマル・コンパクトアンテナの開発

GPS L1のみで,GLONASSは受信できないみたい.
S520-30号機のGPS受信システムの構成図をみるとBPFも入っている.
可視衛星数が少ないのは,GPS信号しか受信していないからだろう.
折角のGNSS受信機なのに,もったいない.

Synchronized TRX

$
0
0
bladeRFで多周波数+多システムでのGNSS信号をシミュレートするには,
複数のプラットフォームを同期させる必要がある.

bladeRFの最新のファームウェアでは,この同期機能が実装されている.
bladeRF-cliのサンプルもあるので,試してみよう.

github.com: Nuand / bladeRF / tree / master / host / examples / bladeRF-cli / sync_trx

1台を真のGPS信号,もう1台を偽のGPS信号にして同期させれば,
spoofingの実験もできる.

【追記】J71のピン番号の順番に要注意.



ピンヘッダでこの順番は珍しくない?
危うく間違えるところだった.

【追記2】J71にアクセスできるよう,ケースに穴を開ける.



マスキングテープであたりをつけて,超音波カッターでカット.



厚手のプラスチックだと,切り口が振動による摩擦熱で溶けてバリができる.
穴が開いたらクラフトナイフで切り口を整えて完成.



【追記3】firmwareも最新版にアップデート.

nuand blog: The 2016.06 release is available on GitHub.
github.com: Nuand / bladeRF / wiki / Upgrading-bladeRF-firmware

 (クリックで拡大)

【追記4】sync_trxの例で,masterおよびslaveへ接続するコマンドが間違っている.
正しくは以下の通り.

$ bladeRF-cli -d "*:serial=b74" -s master.txt -i
$ bladeRF-cli -d "*:serial=e93" -s slave.txt

しるこサンド

$
0
0
お土産をいただいた.



HTVの模型と思いきや,しるこサンドとは?



初めて見るお菓子だけど,名古屋じゃメジャーなのね.

デイリーポータルZ:しるこサンドには生もある!

補給物資も,全部しるこサンド!


ちょっとすごいロガー

$
0
0
ちょっとすごいロガーに手を出す.



ちょっとスペシャルである.



プラットフォームもガシガシ組む.



ミスミは何でもつくれるな.

bladeRFの同期

$
0
0
Synchronized TRXがtriggerできないと悩んでいたら,
nuandのforumであっさり解決.

triggerがかかる前にタイムアウトしないよう,configの際に
timeoutのパラメータを長めに設定しておく必要があります.

bladeRF> tx config file=gps.bin timeout=60s

これで2台のbladeRFを同期させてGPS信号をシミュレーション
できるようになりました.



J71のピンアサインは要注意.



2台並べると,SMBのケーブルが邪魔になる.
ストレートではなくて,ライトアングルのケーブルを入手しよう.

Digikey: Amphenol-RF-Division 145104-01-12.00

NEO-M8P

$
0
0
8月に東京海洋大学で開催されるGNSSサマースクールで配布予定の
NEO-M8Pを一足先に入手.





高須さんが評価してくれているので,性能は期待できそう.
サマースクールを受講したいけれど,オープンキャンパスとかぶってしまい,
残念ながら不参加.

評価ボードのマニュアルもなにもないので,まずはデータシートを読むか.

【追記】あれ?これ両方ともM8P-2だ.
RTKのためには,M8P-0とM8P-2がいるような?
M8P-2はローバとベース,どちらとしても使えるみたい.

【追記2】高須さんがサマースクール版を紹介している.
入手したのとは,ちょっと違う.

テトリス

$
0
0
新しいu-centerでGoogle Earthがサポートされなくなってがっかりしていたら,
代わりにテトリスが出来るようになっていた.

 (クリックで拡大)

【追記】Google Earthがサポートされている古いversionはこちら.

u-center 8.16 or previous version (XP compatible)

Interactive mode

$
0
0
bladeRFによるHILS(hardware-in-the-loop simulation)を目指して,
試験的にキー入力によるインタラクティブモードを追加しました.

GitHub: osqzss / bladeGPS

東西南北の4方向だけですが,キーボードからの入力に従って,
リアルタイムにユーザの動きに合わせたGPS信号を生成します.

 (クリックで拡大)

GPSによるロケットの誘導や飛翔安全のHILSを組みたいけれど,
遅延が大きいのが気になる.
Viewing all 643 articles
Browse latest View live