- リンクを取得
- ×
- メール
- 他のアプリ
- リンクを取得
- ×
- メール
- 他のアプリ
保有しているUSRP-RIOの対応周波数では対応できない場合どうするのが良いでしょうか?
NI USRP-2944であれば10MHz~6GHzと幅広く対応できますが、USRP-2943Rは1.2GHz~6GHzと1.2GHz以下に対応してません。
このような場合にもしRFドーターボードを持っていたら、交換することで対応周波数を変えることが出来ます。
ドルフィンシステムでは2010年からUSRPに取り組んでいますので、ノウハウもかなり蓄積していますがドーターボードなども負けず劣らず蓄積しています。
今回は、ありあまるドーターボードを使用してUSRP-RIOのドーターボードを載せ替えたときの挙動を調べてみます。
動作環境 : LabVIEW 2015 SP1, NI-USRP 15.0
ドーターボードの載せ替えとは
USRP、USRP-RIOシリーズには、対応周波数に応じて2943Rや2942Rなど型番がありますが、基本的には搭載されているドーターボードが違うだけです。
なのでUSRP-RIOのドーターボードを交換してしまえば、対応周波数を変えることができます(もちろん保証外)。
例えば、USRP-2943RはCBX(40MHz)というドーターボードが2枚搭載されています。これをSBX(40MHz)というドーターボードに載せ替えると2942R相当になります。
余っているUSRP-RIOがある場合、Ettusから2枚同じドーターボードを注文すれば違う型番のUSRP-RIOに早変わりですね。
※但し帯域幅が違う40MHz BWタイプと160MHz BWタイプの違いはドーターボードも違うし、本体側も違います。
※ドーターボードの一覧は開発元のEttusに行けば分かります。
弊社保有のNI USRP-2943R(1.2GHz~6GHz対応)で900Mを受信したいことがあり、在庫のドーターボード(SBX)に載せ変えてみました。
ただしSBXは1枚しかありませんでしたので、SBXとCBXの混載です。
uhd_usrp_probeでもSBXとCBXを認識している
NI-USRPドライバでの挙動を確認する
USRP NシリーズもUSRP-RIOシリーズも共通でプログラミングできるNI-USRPドライバで動作確認しています。
受信サンプルの"niUSRP EX Rx Multiple Inputs (Single Device, Multi Channel).vi"で、
- SBX側 400MHz
- CBX側 5GHz
で受信し、RFSGで400Mと5GのCWを送信します。
すると以下のように、400M, 5G別々に受信することが出来ました。
受信周波数を逆にするともちろん受信はできません。
問題発生
USRPシリーズは中心周波数とは別にLO周波数を指定することが出来ます。
受信周波数の中心にLO(DC オフセット)が来てしまうので、中心周波数を設定した後にLOを設定すると、受信帯域外にDCオフセットをずらす事が出来ます。
問題は、
- CH0, CH1側に別々のLOを設定して
- LO Frequencyプロパティを読み込む
場合に発生します。
LO Frequencyプロパティを読み込むとエラー発生する
LO Frequencyを設定した場合は、読み込まないようにすれば良いですね。
同じドーターボードを搭載したUSRP-RIOの場合、別々のLOを設定しLOプロパティを読み込んでもエラーは発生しませんでしたので、混載時だけの現象ですね。
USRP-RIO (IDL)の挙動を確認する
次にUSRP-RIOのIDLでの挙動を調べます。サンプルプロジェクト"NI USRP-RIO Streaming"の"Rx Streaming(Host).vi"を使ってみます。
先ほどと同じようにCH0側400M、CH1側5Gとします。
すると以下のように"Timeout waiting for operation to complete."というエラーが"Wait until Done.vi"で発生しました。
LOがロックしなかったというエラーです。
どうもIDLの場合は、ドーターボードが2枚同一でないとLOがロックしない仕様のようですね。
全く動作しませんでしたので、IDLで動かす場合は2枚のドーターボードを合わせる必要があります。
以上、ドルフィンシステム福島でした。
コメント
コメントを投稿