問題タブ [usrp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 同じチャネルから送受信すると、x310 でバッファ アンダーランが発生する
デュアル 10 ギガビット イーサネットを介して x310 を実行しており、ツインのベーシック tx rx ドーターボードが装備されています。UHD バージョン 3.11.0 で実行しています。理想的には、送受信に両方のチャネルを利用して、2 つの同時送受信ストリームが必要です。2 つの受信ストリームと送信ストリームに 2 つの x310 を使用する必要はありません。
同じチャネルで同時に送信と受信を行うと、レートに関係なく、多くの U がコンソール シグナリング アンダーフローに出力されます。ただし、別々のチャネル (tx_streamer にはチャネル 1 に stream_args があり、rx_streamer にはチャネル 0 に stream_args があります) で送受信すると、問題なく動作します。
うまくいけば私の問題を実証する、完全だが単純なプログラムのソースコードを添付しました。このプログラムでは、送信スレッドと受信スレッドの 2 つのスレッドが作成されます。受信スレッドは常にバッファにデータを受信し、そのバッファを新しいデータで上書きしています。送信スレッドは、事前に入力されたバッファーから常に 0 を送信しています。
誰かが 10Gbps イーサネットで x310 を実行している場合、私のプログラムをコンパイルして実行し、この問題が私だけの問題ではないかどうかをテストできますか?
すでにテスト済みのものは次のとおりです。
私は、2 つの 12 コア Intel Xeon プロセッサを搭載したサーバー システムで実行しています。( https://ark.intel.com/products/91767/Intel-Xeon-Processor-E5-2650-v4-30M-Cache-2_20-GHz )。私のネットワーク カードは、推奨される x520 da2 です。誰かが以前に NUMA が問題であると示唆していましたが、送信と受信を別々のチャネルに切り替えるとプログラムが機能するため、これは当てはまらないと思います。
送信と受信を別々のチャネルで行っている場合、プログラムは正常に動作するため、これは CPU パワーの問題ではないと思われます。
送信のみと受信のみをテストしました。両方のチャネルで 200MS/s で送信でき、両方のチャネルで 200MS/s で受信できますが、同じチャネルから送受信することはできません。これは、ネットワーク カードが正常に動作しており、高いレートを処理できることを示しています。
UHD 3.10.2 でプログラムを試しましたが、まだ問題が発生します
送信する前に 2 秒待機する tx_metadata を設定しようとしました。問題はまだ発生します。
サンプル プログラム txrx_loopback_from_file を実行してみましたが、これは同時受信と送信で機能しますが、その理由がわかりません。
最後の点から、uhd API を間違って呼び出していると思われるようになりましたが、エラーの場所がわかりません。どんな助けでも大歓迎です。
ありがとう、
ジェイソン
python - カスタム ブロックの問題 GNU RADIO
GNU Radio のフローグラフに問題があります。私のアプリケーションではネイティブ ブロックがうまく機能しなかったため、Delay ブロックとしてカスタム ブロックを作成しました。カスタム ブロックの前に UHD ソースがあります。4M のサンプルレートで動作しています。しかし、シミュレーションを開始すると、オーバーフロー ("O") が生成されます。UHD ソースの出力をファイルに保存し、「オフライン」モードでシミュレーションを再度再生すると、オーバーフローのエラーが発生しないため、これは奇妙だと思います。つまり、「オンライン」モードで作業しているときだけ問題が発生します。UHD ソースで以前に保存されたファイルではなく、UHD ソースで作業している場合のみ。
Delay_amostra_sync ブロック コード:
numpy をインポート
gnuradio import grから
class Delay_amostra_sync(gr.sync_block): """ ブロック Delay_amostra_sync の docstring """ def init (self, var): gr.sync_block. init (self, name="Delay_amostra_sync", in_sig=[numpy.complex64], out_sig=[numpy.complex64]) self.var = var self.cont = 0
self.buffer = numpy.array([])
self.c = 1
return len(output_items[0])
gnuradio - GNURadio のユニキャスト メッセージ
USRP B210 と E312 が 1 つずつあり、それらの間で転送されるすべてのメッセージはブロードキャスト メッセージ経由です。
GNURadio でユニキャスト メッセージ (ポイント ツー ポイント) を送信する方法はありますか?
はいの場合、例を教えてください。