OSQZSS

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

USRP N210でRF Record & Playback

2014-11-30 15:41:47 | GPS Signal Simulator
USRPを開発しているEttus Researchは2010年にNational Instrumentsに買収され,
NIからもNI-USRPとして同じデバイスが販売されています.

NI-USRPのコミュニティーを探してみると,ぴったりのトピックが見つかりました.

NI Community: RF Record and Playback with NI USRP

GPS信号の記録と再生についても取り上げられており,セットアップについても
いくつかヒントがありました.

1. GPS信号のband-pass filterは必要.
2. 16dBのアクティブアンテナに加えて,30dBのアンプも追加.
3. GPSDOなど,より安定した外部クロックを入力.
4. Txのレベルは0dBのゲイン設定で-15dBm.
5. GPS信号のレベルにするには,十分なattenuationが必要.

別の実験で使用したフィルタ付きのLNAが手元にあったので,
1と2はこれで解決.



外部入力に使えそうなクロックはないので,3はあきらめます.
USRP N210は,2.5ppmのTCXOを搭載しているので,短時間での
安定性は,そこまで問題にならないように思えます.

このセットアップで,前回同様にGPS信号をファイルに記録します.
データレートは,GPS L1信号の帯域に合わせて,2.5MHzにしました.

$ ./rx_samples_to_file --file gps.bin --type short --nsamp 250000000 --rate 2500000 --freq 1575420000 --gain 30

LNAを追加したため,14ビットのADCのレンジを有効に使っています.

 (クリックで拡大)

BPFのおかげで,ノイズフロアも安定しています.

 (クリックで拡大)

 (クリックで拡大)


さて,次はファイルに記録されたデータをGPS L1信号の周波数で送信します.

仕様上,地上でのGPS信号の受信レベルは,-130dBmとされています.
オープンスカイであれば,+20dB程度の信号が観測されるので,
Txのレベルが-110dBmになるようにattenuatorを挿入します.



これをubloxのGPS受信機に接続し,送信開始.

$ ./tx_samples_from_file --file gps.bin --type short --rate 2500000 --freq 1575420000 --gain 0
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.000-14-ga90a6af0

Creating the usrp device with: ...
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes
Using Device: Single USRP:
Device: USRP2 / N-Series Device
Mboard 0: N210r4
RX Channel: 0
RX DSP: 0
RX Dboard: A
RX Subdev: WBXv3 RX+GDB
TX Channel: 0
TX DSP: 0
TX Dboard: A
TX Subdev: WBXv3 TX+GDB

Setting TX Rate: 2.500000 Msps...
Actual TX Rate: 2.500000 Msps...

Setting TX Freq: 1575.420000 MHz...
-- Tune Request: 1575.420000 MHz
-- The RF LO does not support the requested frequency:
-- Requested LO Frequency: 1575.420000 MHz
-- RF LO Result: 1575.421245 MHz
-- Attempted to use the DSP to reach the requested frequency:
-- Desired DSP Frequency: -0.001245 MHz
-- DSP Result: -0.001245 MHz
-- Successfully tuned to 1575.420000 MHz
--
Actual TX Freq: 1575.420000 MHz...

Setting TX Gain: 0.000000 dB...
Actual TX Gain: 0.000000 dB...

Checking TX: LO: locked ...

Done!


u-centerで受信を確認してみると,見事に測位しています!

 (クリックで拡大)

これでGNSS信号シミュレータに一歩近づきました.
次は,ベースバンド信号を数値的に生成して送信できるようにしよう.

【追記】メモ

NI Community: GPS Simulation with NI USRP and LabVIEW

NI White Paper: GPS Receiver Testing
コメント (2)    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« USRP N210でGPS信号の受信 | トップ | bladeRFで再挑戦 »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
帯域幅について (Unknown)
2022-09-15 11:17:01
この記事ではGPS L1を収録再生しておりますが、1575.42MHzを中心周波数にしてサンプリングレートが2.5MSとなっております。
GPS L1は24MHz BWと思いますが、何故2.5MSで良いのでしょうか。
素人考えですが、GPS L1 C/Aコード(1.023Mcps)のみを収録再生すれば良いので(軍事用のPコードはいらない)、最低1.023*2=2.046M(x2は標本定理に基づく)は必要。多めに見て2.5Mでサンプリングした、ということでしょうか?
Re: 帯域について (osqzss)
2022-09-15 15:09:06
ご指摘の通り、GPS L1 C/Aのみの記録再生となっています。

コメントを投稿

GPS Signal Simulator」カテゴリの最新記事