初めて投稿いたします。LabVIEWとUSRPをいじりはじめて、約3ヶ月ほどです。
現在、私は大学でUSRP2942Rを送信側にUSRP2922を受信側に使用して仮想アレーを
用いた伝搬路推定システムの開発を行っています。
今回システムを作る過程で問題となっているのが送信側と受信側の位相同期です。
USRP2942Rからのリファレンス信号とPPS信号をUSRP2922に入力して同期しています。
今回添付させていただいたファイルの送信側では、パソコン上にRAMディスクを作成し、
そこに送信する波形(si sq)のファイルを書き込み、それを読み込ませ送信させています。
受信側では同じ区間のサンプルを待機の関数を使用して、ある時間ごと の位相を自動的に
取得しています。送信信号は、1sのPPSの時間内に収 まるよう設計したので、理論的には
位相が一致するはずですが少しづつずれてしまいます。
原因としてはパソコンとUSRPの間でデータの通信が遅く、 データの取りこぼしが存在してし
まうため、毎回異なるデータを受信してしま っているのではないかと考えています。
そこで、今回の問題の解決方法として、USRP上にリアルタイムで処理するFPGAに書き込む
ことによって位相の同期がとれるのではないかと考えています。しかしながら、現在まだ、FPG
Aを行える環境が整ってないので、実行できていません。
ここで1つ目の質問なのですが、位相がずれてしまう原因はパソコンとUSRPをつなぐケーブル
の区間でデータの取りこぼしがあるからなのでしょうか。
二つめの質問ですがデータ落ちサンプル数を確認するUSRPのベンチマークテストを行い
たいのですが、GNURadioのときは下記のようなプログラムがありベンチマ
ークテストを行えたそうです。
ベンチマークソフト(GNURadio) benchmark_rate (UHD)
下記のサイトのようなことをLabVIEW上で行いたいのですができますか。
http://mikioblog.dolphinsystem.jp/2016/06/ni-usrp-2900ettus-b200.html
申し訳ありません。ファイルの容量が大きく圧縮しても添付できなかったので
dropboxにアップロードさせていただきます。
https://www.dropbox.com/s/1snelp5hfwk2gqy/%E4%BD%8D%E7%9B%B8%E5%90%8C%E6%9C%9F.zip?dl=0
よろしくお願い申し上げます。