USRP Nシリーズで外部トリガに同期して送受信タイミングを合わせる

1台のUSRP Nシリーズで送受信を同時に開始するために、USRPのPPSINにOctoclockのPPSOUTを入れて、同時に開始できるか確認します。

実験環境

USRP

NI USRP-2922

LabVIEW

2015 SP1 32bit

トリガソース

Octoclock

USRPのTX/RXポートとRX2をSMAでループバック接続。
スタートトリガ発信源は、Function Generatorでも何でも良いと思われますが、今回はOctoclock PPS Outを使用します。
OctoClockはInternal Clockで動作させ、OctoclockのPPSOUTとUSRP PPSINをSMAケーブルで接続します。

image

ソフトウェア

ソースコードはこちら。
動作内容は、USRP RXを初期化した後USRP TXを初期化し、それぞれにスタートトリガの時間とPPS OUTを設定します。その後、送受信を開始し、受信したデータをグラフ表示します。


実行イメージ
clip_image001

送受信結果

以下画像の、グラフ上段が送信データ。グラフ下段が受信データです。

IQ Rate

1MS/s

中心周波数

1GHz

送信データ

CW信号(1KHz)
10000
サンプル分=10ms
(分かりやすいように、CW信号の後半は振幅半分)

受信サイズ

20000サンプル = 20ms
(CW前後の波形も見られるように20000サンプルを受信するように設定)

きっちり10000サンプルが送受信されているので、送受信タイミングは同期して居ることが分かります。
何度か実行しても開始位置はずれることなく実行できたので、PPSで同期して開始していると思われます。

clip_image001[5]

送信タイミングを500us遅くする

送信開始時の瞬間が分かるように、送信タイミングを500us遅くしました。
正しく送信波形が送られているようです。

clip_image001[7]

受信波形の右肩上がりの原因は?

受信波形を見るとCW信号が右肩上がりになっています。これは一体なんでしょうか?

まず送信側と受信側のどちらが原因か?を切り分けます。
送信信号を分配して、リファレンスクロックで同期したNI VSTで受信した波形が以下の画像です。(Octoclock 10MHz RefをUSRPとVSTに入れて同期させている)
送信データとほぼ同じ安定した波形を受信している事が分かります。よって送信側は問題なさそうです。

clip_image001[9]


受信側が悪そうです。
ではどの程度で受信側は安定するのでしょうか?先ほどの10倍である100msをUSRP同士で送受信してみました。

すると以下の画像の用になりました。
幅は100msなので、安定するまで35~40ms程度掛かっているようです。厳密に計測する場合、立ち上がり40ms程度のデータは使用しない方が良さそうです。

clip_image001[11]

ちなみに高精度RFモジュールの NI PXIe-5646Rは、3us程で立ち上がってますので桁が違いますね。
clip_image001[1]

  

異常

以下は、中心周波数915Mで実行した場合の波形です。
1回目と2回目の実行時で波形が異なっています。
どうも915Mや901Mのように中途半端な中心周波数の場合、理由は不明だが初期位相が毎回異なってしまうようです。
1Gや2G、900Mなどぴったりの中心周波数は平気ですが・・・

1回目
clip_image001[13]


2回目
image


以上です。

コメント