問題タブ [software-defined-radio]
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++ - C++ でのファイル書き込み速度の改善/最適化
ファイルへの書き込みでいくつかの問題が発生しました。つまり、十分な速度で書き込めません。
説明すると、私の目標は、ギガビット イーサネット経由で受信するデータ ストリームをキャプチャし、単純にファイルに保存することです。
生データは 10MS/s のレートで受信され、バッファに保存され、続いてファイルに書き込まれます。
以下は、コードの関連セクションです。
私が直面している問題は、サンプルをファイルに書き込むのに時間がかかりすぎることです。約 1 秒後、サンプルを送信するデバイスは、バッファがオーバーフローしたことを報告します。std::copy(...)
コードの簡単なプロファイリングの後、実行時間のほぼすべて(正確には時間の 99.96%)が費やされます。この行を削除すると、オーバーフローが発生することなく、プログラムを何時間も実行できます。
とはいえ、書き込み速度を向上させる方法についてはかなり困惑しています。このサイトのいくつかの投稿に目を通しましたが、(速度に関して) 最も一般的な提案は、私が既に行ったように、std::copy
.
お役に立てれば、このプログラムを Ubuntu x86_64 で実行しています。任意の提案をいただければ幸いです。
gnuradio - GNU ラジオ - BFSK
GNU Radio の BFSK/M-FSK 変調について質問がありますが、一般的な問題になる可能性があります :)
シンボル 1 または 0 があり、64 サンプル (sin/cos の 2 周期) があり、2 つの異なる周波数で変調したい場合:
問題は、0 または 1 のバイナリが同じ幅であることです。64 サンプルですが、cos/sin 周期の幅が異なり、長い周期は短いシンボルでカットされます。
0 または 1 に対して 2 つの異なるシンボル幅を生成する必要がありますか? より大きなM-FSKではどうですか?
gnuradio - CCC の hackrf 互換 rad1o バッジを使用して、FM Radio Capture で GNU Radio オーディオ アンダーラン
http://greatscottgadgets.com/sdr/1/の 1 回目のレッスンを正常に終了できません。この例は実行されますが、チューニングされたラジオ局をキャプチャすることはできず、ノイズしか発生しません。GNU Radio コンパニオンは、オーディオ アンダーラン エラーを出力し続けます。
16Gb の Mac OS X i7 の Kali VM で GNURadio を使用しています
matlab - 不規則な波形の包絡線を見つける方法
RF トランシーバーから取得した位相シフト情報を含む波形があります。規則的な波形ではなく、下の写真のように凹凸があります。ペイントを使用してエンベロープを説明しましたが、MATLAB でそれを行うにはどうすればよいですか?
また、waveform.csv を添付しました。私の MATLAB コードでは、生の信号を平滑化するために既に平均化フィルターを使用しています。
エンベロープ.m :
matlab - phase assignment in an OFDM signal
I have an OFDM signal which is giving me half the power spectrum (half the bandwidth) I am meant to have. I am been told the phase assignment is what is causing it but I have been twitching on it for days.... still not having the right answer
installation - Osmo Trx でエラーを起こす
Beaglebone Black のプロジェクトに取り組んでいて、問題が発生しました。プロジェクトの一環として、OpenBTS を使用して GSM ネットワーク経由で通信したいと考えています。ただし、Beaglebone は ARM ベースであるため、OpenBTS に同梱されている Transceiver52M は使用できません。したがって、ARM フレンドリーなトランシーバーをインストールする必要があります。私が最もうまくいくと思うトランシーバーはOsmo-Trxです。
私は彼らのウェブサイトの指示に従いました: http://openbsc.osmocom.org/trac/wiki/OsmoTRX
しかし、プロジェクトの作成に関しては、エラーが発生し、本当に行き詰まっています。「./configure --with-neon」の後に「make」コマンドを実行すると、次のエラーが表示されます。
make: *** 'Makefile.in' が必要とするターゲット '/Makefile.common' を作成する規則はありません。止まる。
誰でも私がこれを修正するのを手伝ってくれるでしょうか。私は周りを検索しましたが、該当する答えが見つかりません。とても感謝しております。よろしくお願いします!
PS OsmoTRX のすべてのソース コードは、https ://github.com/osmocom/osmo-trx にあります。
gnuradio - gnuradio で 4 象限 atan2 関数を実装する方法
私は最近 SDR の実験を始め、GNU Radio プラットフォームを使用しています。
具体的には、'gnuradio-companion' グラフィカル インターフェイスです。
4 象限の arcTangent 関数を決定する必要があり、問題が発生しました。「GRC」ファイル内で ATAN 関数を正常に評価できましたが、Python は ATAN2 をサポートしていますが、この関数を実装する方法を理解できませんでした。
fast_atan2f と呼ばれる GNU Radio に含まれるルックアップ テーブル関数があることを読みましたが、これが標準の gnuradio-companion セットアップに含まれるブロック内からアクセスできるかどうかはわかりません。定数ソース ブロック内から Python 式 'math.atan2(arg1,arg2)' にアクセスできましたが、これを定数値として必要としません。2 つの浮動小数点入力 (またはATAN2 関数を適切に評価するために、フロー グラフ内に収まる単一の複雑な入力)。
説明が不明確な場合に備えて、問題を説明するのに役立つサンプルの「GRC」ファイルを含めました。
linux - RFID FX7500でアンテナの無線信号(アナログ)入力サンプルを抽出することはできますか?
RFIDリーダーで非標準信号処理操作を行う必要があるため、アンテナの個々のアナログ(実際にはADCの直後のデジタルサンプル)入力信号サンプルをMotorola FX7500で抽出できるかどうかを知りたい(これが FX7400 または FX9500 でどのように機能するかを知っている場合は、教えてください。役に立つかもしれません)。サンプルは、JAVA ベースのホスト コンピューター プログラムで処理されます。
私がすでに試したこと:
モトローラ独自の RFID3 API の可能性を調査すると、入力アナログ信号サンプルと実際に接触するほど深くはなりません。
LLRP を最大限に使用すると、アナログ信号のサンプル アクセスも許可されません。RFsurvey 機能があればある程度は役に立ちますが、FX7500 もサポートしていません。
RFID リーダーの Linux ターミナルにアクセスし、入力サンプル ストリームをリッスンできるドライバー関数を見つけようとしています。現在の入力サンプルを入力ストリームから抽出できれば、(理論的には) スクリプトを作成して、タグ インベントリ ラウンド中にホスト コンピューターの txt ファイルにこれらのサンプル値のいくつかを保存できます。私のLinuxスキルはちょっと悪いので、この質問をします.
唯一の現実的な解決方法は、Linux ターミナルを使用することのようです。そのため、何かアイデア (どこを調べて何をすべきか) がある場合は、アドバイスしてください。
リーダーの内容: