OSQZSS

オープンソース準天頂衛星(QZSS)受信機

GNSS-SDR with bladeRF

2018-02-26 13:13:58 | ソフトウェア受信機
LimeSDRでGNSS-SDRが動作したので,ついでにbladeRFでも
動かしてみます.

Ubuntuには,PPAを使ってbladeRFをインストールできます.

$ sudo add-apt-repository ppa:bladerf/bladerf
$ sudo apt-get update
$ sudo apt-get install bladerf

GNSS-SDRをビルドする際にヘッダファイルも必要ですので,
これらもインストールしておきます.

$ sudo apt-get install libbladerf-dev

GNSS-SDRは,リリース版をインストールするのではなく,
開発用の「next」ブランチをソースからビルドします.

その前に,ビルドに必要なファイルやツールをインストール
しておきます.

$ sudo apt-get install build-essential cmake git libboost-dev \
libboost-date-time-dev libboost-system-dev libboost-filesystem-dev \
libboost-thread-dev libboost-chrono-dev libboost-serialization-dev \
libboost-program-options-dev libboost-test-dev liblog4cpp5-dev \
libuhd-dev gnuradio-dev gr-osmosdr libblas-dev liblapack-dev \
libarmadillo-dev libgflags-dev libgoogle-glog-dev libhdf5-dev \
libgnutls-openssl-dev libmatio-dev python-mako python-six \
googletest

これらのインストールが完了したら,GitHubのレポジトリを
クローンして,「next」ブランチをビルドします.

$ git clone https://github.com/gnss-sdr/gnss-sdr
$ cd gnss-sdr/build
$ git checkout next
$ cmake ‑DENABLE_OSMOSDR=ON ..
$ make
$ sudo make install

GNSS-SDRは,OsmoSDRのドライバを介してbladeRFに接続します.
そのため,cmakeの設定で,OsmoSDRをenableする必要があります.

bladeRFでGPS L1 C/A信号を受信するための設定ファイルは
conf/gnss-sdr_GPS_L1_bladeRF.confになります.

設定ファイルでは,signal sourceとしてbladeRFを選びます.

SignalSource.osmosdr_args=bladerf=0

さらに,微弱なGPS信号が受信できるよう,bladeRRのRXゲインを
適切に設定する必要があります.

bladeRFのRXには,LNA,VGA1,VGA2の3つのゲインが設定できます.
OsmoSDRのゲインマップは,gainがLNAに,if_gainがVGA1とVGA2の
合計に割り振られています.rf_gainは未使用です.

GitHub: Nuand/gr-osmosdr/blob/master/lib/bladerf/bladerf_source_c.cc

gainにはLNAの最大値である6dB,if_gainは高めに48dB程度に設定します.

SignalSource.gain=6
SignalSource.if_gain=48

さらに,bladeRFのRXポートからはDCが供給されないため,
別途bias-Tなどで,GPSアンテナのLNAへの給電が必要です.



tindie: 1575 MHz GPS L1 Bandpass Filter with BIAS-TEE

これでGNSS-SDRの準備が整いました.設定ファイルを指定して
実行します.

$ gnss-sdr --config_file=conf/gnss-sdr_GPS_L1_bladeRF.conf

1分程度でGPS信号を捕捉し,測位が開始されます.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする