PPT

GNSS-SDRLIB: オープンソースソフト
ウェア受信機によるマルチGNSS測位
東京海洋大学
日本学術振興会特別研究員 (PD)
鈴木 太郎
東京海洋大学
久保 信明
ソフトウェア受信機 / SDR
-1-
SDR(Software Defined Radio)
• ここ10年ほどで大学などの研究機関でもソフトウェア受信機に
よるGNSSの研究・開発というコンセプトが一般化
Antenna
Analog
IF
LNA
ADC
Local
Oscillator
Front-End
Digital
IF
Code and Carrier
Measurements
Signal
Acquisition
Signal
Tracking
PVT
Estimation
PVT
Navigation Decoding
Baseband Processing
ソフトウェア受信機のメリット
• 新しい衛星システム,測位信号への対応や評価などが容易
• 信号捕捉や追尾,マルチパスの解析などの研究用途に非常に有用
• Ultra Tightly Coupling,マルチパス解析・・・
GNSSの研究・教育用途に非常に有効
オープンソースSDRプロジェクト
-2-
GNSS-SDR(http://gnss-sdr.org/) GNU Radioを用いたリアルタイムSDR
自分で使う/勉強するには自分で作るしかない・・・
動画リンク: http://youtu.be/vVHOFs93vlU
GNSS-SDRLIB
の特徴
• RTKLIBとの連携 • RINEX/RTCM出力
• 信号処理の可視化 • リアルタイム処理
GNSS-SDRLIBのロードマップ
-3-
高機能・高性能化
Ver. 3?
SDRだけで
LEX-PPP
・INS対応
(Ultra Tight Coupling)
SDR2台で
RTK-GNSS
マルチGNSS化
LEXデコーダ
・センサフュージョン
・ビームフォーミング
・Anti-Jamming
・2周波/3周波観
・Simulator機能搭載
測対応
・MATLAB版公開
Ver. 2.2
Ver. 2.1
・1周波RTK対応
・多くのFEサポート
・全衛星L1測位対応
・QZSS LEX/L1SAIF
デコード対応
Ver. 2.0
Ver. 1.0
Ver. 1.0
Beta
2013/5
・GPS/L1CA
・リアルタイム処理
2013/6 現在 2014/5
2014/9?
2014/E?
2015?
マルチGNSSの現状
GPS(12)
GLONASS(9)
Galileo(4)
BeiDou(11)
QZSS(1)
SBAS(4)
41機!
GNSS-Radar: taroz.net/GNSS-Radar.html
-4-
各衛星信号の特徴
-5-
GPS/QZS
GLONASS
Galileo
BeiDou
(MEO/IGSO)
BeiDou
(GEO)
SBAS
信号
L1CA
G1
E1B
B1I
B1I
L1CA
中心周波数
1575.42
MHz
1602+0.5625K
MHz
1575.42
MHz
1561.098
MHz
1561.098
MHz
1575.42
MHz
コード長
1ms
1ms
4ms
1ms
1ms
1ms
航法メッ
セージ
LNAV
NAV
I/NAV
G1
G2
SBAS
航法メッ
セージレー
ト
20ms
(50bps)
10ms
(50bps)
4ms
(125bps)
2ms
(500bps)
20ms
(50bps)
1ms
(500bps)
オーバーレ
イコード
-
-
-
-
NH20
-
誤り検出
/訂正
ハミング符
号
ハミング符号
BCH+
インター
リーブ
½畳込み+
CRC
プリアンブ
ル
8bit
30bit
11bit
(8x3) bit
Encoded
BCH+
インターリーブ+ インターリーブ
CRC
½畳込み+
10bit
11bit
フロントエンドの問題
-6-
DVB-Tドングル (RTL-2832U)
・$10, 周波数24M-1.7GHz, サンプリング2.56MHz
・クロックのノイズ大,1周波
Nuand BladeRF (LMS6002D)
・$420, 周波数300Hz~3.8GHz, サンプリング~40Msps
・Txもついている,1周波
SiGe GN3S sampler V2/V3 (SiGe4120)
・$450, 周波数1575.42MHz, サンプリング4MHz
・GPS L1用の設計,1周波
NSL STEREO (MAX2769b+MAX2112)
・$1100, 周波数300Hz~3.8GHz, サンプリング~40MHz
・2周波(MAX2769, MAX2112)
2周波フロントエンドではGLONASS/BeiDouは排他的利用
GNSS-SDRLIBの構成
-7-
SDR
GNSS
Frontend
RCV stereo.h stereo.lib
IF data
sdrplot.c
GNUPLOT
FFT
fftw.h
fftw.lib
TCP/IP
sdr.h
sdrmain.c
sdrcmn.c
RTKLIB
rtklib.h
rtkcmn.c
rinex.c
…
・Display acquisition
result and correlation
output
Pipe
RTKNAVI
RTKPLOT
・Position computation
・Display solution
…
FEC
fec.h
fec.lib
RTCM
MSM
Obs. and
Nav. data
FILE
RINEX
・Generation of
RINEX navigation
and observation file
・ブラックボックスで問題ないところは外部ライブラリを利用(FFT,FEC)
・できるかぎりシンプルに,わかりやすく
信号捕捉・追尾方法概要
-8-
レプリカコード生成
IFデータ
Acquisition
フロントエンド
初期コード位相
ドップラ周波数
・FFTによるサーキュラコリレーション
・ノンコヒーレント積分
・200Hzステップ
Tracking
・二次のPLL+1次FLL
・誤差検出器(PLL)
atan(Qp/Ip)
PLL/FLL
DLL
・二次のループフィルタ
・キャリア支援
・誤差検出器
(E-L)/(E+L)/2
航法メッセージビット同期
航法メッセージデータビット
航法メッセージデコード
擬似距離・搬送波位相算出
RINEX出力
マルチGNSS処理
-9-
• 1スレッドに1つの衛星を割り当ててリアルタイム処理
• 1つの同期スレッドで観測値生成
フロントエンド (NSL STEREO)
Max2769
Max2112
GNSS-SDRLIB
GPS/QZS L1CA
信号捕捉
1ms
ビット同期
20ms
信号追尾
Galileo E1B
信号捕捉
4ms
½FECデコード
4ms
信号追尾
GLONASS G1
信号捕捉
1ms
ビット同期
10ms
信号追尾
6000ms
2000ms
2000ms
LNAVデコード
I/NAVデコード
NAVデコード
BeiDou GEO
信号捕捉
1ms
ビット同期
2ms
信号追尾
600ms
D2NAVデコード
擬似距離・搬送波位相・ドップラ・信号強度計算
測位計算(RTKLIB)
BeiDou MEO/IGSO
信号捕捉
1ms
NH20同期
20ms
信号追尾
6000ms
D1NAVデコード
リアルタイム性能
-10-
高速化のポイント
• 信号補捉
• FFTの性能に依存,現在はFFTW3.3.3を64bit,Single精度で利用
• 信号追尾
• 相関器計算にはSIMDを利用(SSE2,AVX2)
リアルタイム性能(20Msps, Core i7-3770, SSE2)
80
3 correlators (E-P-L)
13 correlators
70
CPU Load (%)
60
50
40
30
20
10
0
10
15
20
25
30
35
Number of channels
40
45
50
E-P-L コリレータならば45chで動作可能!
デモ:マルチGNSS
リアルタイム測位
マルチGNSS測位デモ
2014/4/17,海洋大屋上,GPS/QZS/Galileo/BeiDou
動画リンク: http://youtu.be/N5tScnlQzkI
-11-
RTKLIBでのマルチGNSS測位
-12-
RTKLIB2.4.2p4の改造
• BeiDou観測データ読み込み機能追加
• BeiDou航法メッセージのRTCM規格を(勝手に)追加
• GPS-BeiDou間,GPS-Galileo間のバイアス推定を追加
• 未知数(x, y, z, t, tGPS-GLO , tGPS-BDS , tGPS-GAL )の7個
HDOP: 0.7
X STD:0.51m
Y STD: 0.66m
Z STD: 1.52m
GNSS-SDRLIBでのマルチGNSS測位を確認
まとめ
-13-
GNSS-SDRLIB: リアルタイムソフトウェアGNSS受信機の開発
GNSS-SDRLIBでのマルチGNSS測位を確認
GNSS-SDRLIB v2.0
・マルチGNSSのL1測位に対応
・QZSS L1SAIF,LEX信号のデコードに対応
・新たにDVB-T, BladeRF, GN3S v2をサポート
・Linux環境(Ubuntu)での動作に対応
GNSS-SDRLIB: taroz.net/gnsssdrlib.html
[email protected]