OSQZSS

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

bladeRFでGPS信号の受信

2013-08-31 09:42:02 | ソフトウェア受信機
bladeRF-cliの動作が確認できましたので,GPS信号を受信してみました.
bladeRFの設定は以下の通り.

bladeRF> set frequency 1575420000
Set RX frequency: 1575420000Hz
Set TX frequency: 1575420000Hz
bladeRF> set samplerate 16368000
Setting RX sample rate - req: 16368000Hz, actual: 16368000Hz
Setting TX sample rate - req: 16368000Hz, actual: 16368000Hz
bladeRF> set bandwidth 2000000
Set RX bandwidth - req: 2000000Hz actual: 2500000Hz
Set TX bandwidth - req: 2000000Hz actual: 2500000Hz
bladeRF> rx config file=gps.bin format=bin n=163680
bladeRF> rx start

帯域はあまり自由に選べないようで,2.5MHzに設定されます.
その他の周波数は指定通りのようです.

bladeRF-cliのrxコマンドでbinファイルを指定すると,
int16のI/Q信号がI,Qの順番で保存されます.

また,保存されたデータの始めの1ms程度は,何やら固定値が
記録されているだけので,削除します.

サンプリングされた信号のhistogramをプロットしてみると,
12ビットのADCのはずですが,4ビット程度しか有効ではなく,
しかもオフセットが大きいです.取りあえず平均値を引いて
中心をゼロにしました.



逆拡散前のGPS信号は雑音と同じですが,histogramのばらつきは
ガウシアンではありません.

PSDをプロットしてみると,指定の帯域で綺麗に切れています.



しかし,帯域内の信号に500kHzの倍数でスプリアスが出ているのが
気になります.



とりあえずGPS信号は捕捉できるようですが,SNが悪いです.
8msのインコヒーレント積分で,やっと一般的なGPSフロントエンド
並みの性能です.



ADCの出力があきらかに異常なので,ゲインの設定など
もう少し細かく調整してみたいと思います.

正直なところ,微妙な性能でヘコみました…
本命のtxに期待します.

【追記】サンプリングデータと解析用のMatlabコードを公開します.

http://www.sensorcomm.co.jp/osqzss/bladerf/matlab.zip (149kB)
コメント (2)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« MicroZed | トップ | TECによる地震予知 »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
Unknown (TT@北海道)
2013-08-31 15:44:29
ヘコむお気持ちわかります。私もちょっとヘコみました。その後まだ追試できていないのですが。。。

ライブラリのAPIとgr-osmosdrの設定にはLNAゲインがあるのですが、
https://github.com/Nuand/bladeRF/blob/master/host/libraries/libbladeRF/src/lms.c#L198
bladeRF-cliのコマンドとしては存在しないようです。その代わりLMSのレジスタ設定コマンドがあるので、これでやれってことかもしれません。
gnuradioで試したときにはLNAゲインとRXVGA2ゲインは効果がありました。
まだまだ発展途上な感じです。御健闘を祈ってます。
返信する
Re: Unknown (osqzss)
2013-08-31 16:38:30
ヘコんではいますが,あきらかに異常と思われるところもありますので,まだソフトで改善の余地ありと希望を持っています.ただ,ADCやスプリアスの問題がハードの問題だと,完全にヘコみそうです.ソースを読みながら,いろいろ試してみたいと思います.
返信する

コメントを投稿

ソフトウェア受信機」カテゴリの最新記事