- リンクを取得
- ×
- メール
- 他のアプリ
- リンクを取得
- ×
- メール
- 他のアプリ
概要
USRP-RIOで送信と受信を同じタイミングで行うための方法を調査しまとめました。
ハードウェア | NI USRP-2943R (40MHz BW) |
LabVIEW | 2015 SP1 |
NI-USRP | NI USRP 15.0 |
サンプルソフト | Simple USRP Streaming |
スタートトリガの種類
このサンプルではスタートトリガとして以下の種類が定義されています。
トリガ名 | 内容 |
Software | ホスト側ソフトが最初の受信もしくは送信の直前のタイミングで、トリガをかけます。 |
Digital Edge | USRP-RIOフロントパネルのGPIOコネクタのトリガを使用します。 |
Rx Start Triger | 送信側でRx Start Trigerを指定すると、受信が開始したタイミングで送信も開始します。送受信タイミングを合わせることができます。 |
Tx Start Triger | 受信側でTx Start Trigerを指定すると、送信が開始したタイミングで受信も開始します。 |
Immediate | 即座に送受信を開始します。具体的にはConfigure Start Trigger.viの実行時のようです。 その証拠にトリガ設定後に500ms程度疑似ウェイトを入れるとタイムアウトエラーが発生しました。 |
Future Time Event | 指定時間後にスタートトリガをかけます。 |
Rx, Tx 両方ともImmediateの挙動
以下は、TxとRxをループバック接続し受信データをプロットしたものです。
Immediateだと、送受信のタイミングはバラバラ。ソフトの実行タイミングでトリガが掛かるので、実行する毎に受信位置が異なってしまいます。
データが受信できているのが、受信開始後350~400us程度なので送信が遅れているようですね。
Rx, Tx 両方ともSoftwareの挙動
Softwareも送受信のタイミングはバラバラ。ソフトの実行タイミングでトリガが掛かるので、実行する毎に受信位置が異なってしまいます。
Rx はImmediate or Software, Tx は Rx Start triggerの挙動
Rx Start Triggerは、受信が開始されたタイミングで発生するトリガで、送信側のスタートトリガとして設定すると、受信が開始→送信もトリガが掛かって送信開始、という動作になります。
上記のSoftware, Immediateトリガでは、データを受信するまで350us程掛かっていますが、Rx Start Triggerを使用すると、以下のグラフのように受信開始直後から波形を受信しています。よって送受信が同期して居ることが確認できます。
さらに拡大してみます。送信開始後5us程度で波形が落ち着いているようです。
さらに拡大してみるとトリガが掛かってから、1.3usで波形が立ち上がり始めています。これは毎回実行しても同じ1.3us程度で立ち上がっていますので、これがUSRP-RIOのハードウェア性能ですね。
Tx はImmediate or Software, Rx は Tx Start triggerの挙動
先ほどは、受信トリガが掛かってから送信トリガを掛けていましたが、今回は逆で試してみます。すると全く同じく1.3usで毎回立ち上がっていることが確認できました。
以上、ドルフィンシステム福島でした。
コメント
コメントを投稿