問題タブ [gnuradio-companion]
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.
signal-processing - GNU RADIO で補助ケーブルを使用してデータを受信する
2 台のラップトップ間で AUX ケーブルと GNU RADIO を使用してデータを送受信しています。
PSK mod ブロックを使用して DQPSK を実装しました。
問題は、受信中に、0、1、2 などの整数値の遅延を提供する必要があることです。
毎回違います。
適切な遅延値またはこの状況に対する他の回避策を動的にチェックする方法はありますか?
「開始」と書きました。送信されるデータの開始時と「終了時」。最後に。
このプロジェクトのデモを提供する必要があり、実行時の遅延を手動で変更したくありません。
GNU RADIO でファイル シンクの .cc ファイルが見つかりません。必要に応じて C++ コードを変更できますが、そのようなファイルはありません。
以下は、受信側の grc ファイルのスクリーンショットです。
どんな助けでも大歓迎です。
gnuradio - GNU Radio スクランブラーとデスクランブラーの使用
GNU Radio デスクランブリング ブロックを使用しようとしています。デスクランブルを行う第三者によって書かれたブロックがあります。使用される多項式は x 17 + x 12 + 1 です。
コードを以下に示します
ここで、GNU Radio デスクランブラー ブロックを使用したいと考えています。
このリンクから、デスクランブリング パラメータを次のように計算しました。シード - 0x00; 長さ - 24。
残念ながら、上記のコードの対応するものとしては機能していません。これが機能しない理由について誰かがガイダンスを提供できますか?
python - XMLRPC サーバー ブロックをサポートする GNU Radio で実行時に変数 `payloadmod=digital.constellation_qpsk()` を変更する
payloadmod
GNURadio で変数を変更する際に問題があります。私は GNURadio をリモートで実行し、実行時に変数を変更しています。これは、XMLRPC サーバー ブロックによってサポートされています。
まず、次の XML のバリエーションを使用して、ランタイム シナリオの変数をリモートで簡単に変更できます(各変数名の前に必ず指定してfreq
ください) 。packetlen
bandwidth
ipaddress
gain
set_
ただし、set_payloadmod
変数に問題があります。
gnuradio-companion には、次の変数セットがあります。
次の XML を送信してpayloadmod
変数を変更します。
そして、次のエラーが表示されます。
XML 文字列タグは好きではありません。XML タグを次のように変更しようとしましたが、成功しませんでした。
gnuradio-companion では、次のように 2 つの変数も作成してみました。
in payloadmod 変数はeval(str(……).replace("'","")
、次の XML で渡された payloadmodfrnt 変数文字列から一重引用符を削除します。
変数はpayloadmodfrnt
とpayloadmod
(GUI で表示可能) の両方で変化します。ただし、payloadmod 変数は bpsk に変更されません。bpsk ではなく qpsk を送信し続けます (受信機でコンスタレーションが変更されていないことがわかります)。
戻る/入力するか、何かを押す必要があります。基本的に、ペイロード変数をキックするか、何かを変更する必要があります。または (最も単純なオプション)、payloadmod 変数を正しく変更するには、適切な XML タグが必要ですか?
gnuradio - gr-osmosdr: 'osmosdr_sink' 'osmosdr_source' 'rtlsdr_source' の読み込み中にクラッシュしました
ソースから gnuradio(3.7.9.2) をインストールしました。これで問題ありません。ソースからrtl-sdrとgr-osmosdrをインストールしました。rtl-sdr は問題ありません。cmake ../
for gr-osmosdrを実行すると、次のように出力されます。
そして私はそれらを実行します:
全て大丈夫。gnuradio-companion
CLI で実行すると、次のように出力されます。
RTL-SDR ソースをフローグラフにドラッグすると、次のように出力されます。
そして終了します。
gr-osmosdr が gnuradio-companion を壊したのはなぜですか?
gnuradio-companion - GNURadio: 繰り返しオプションが「いいえ」に設定されている場合、ファイルが受信されない
「こんにちは、みんな!」という文を含む単純なテキスト ファイル (txF.txt と呼ばれる) を送信しようとしている単純な GNURadio プロジェクトを作成しました。使用したブロックは次のとおりです。
File Source -> Packet Encoder -> GMSK Mod -> Throuttle -> GMSK Demod -> Packet Decoder -> File Sink
ブロックの設定は次のとおりです。
ファイル ソース: txF.txt、繰り返し = はい
パケット エンコーダー: サンプル/シンボル = 1、ビット/シンボル = 1
GMSK Mod: サンプル/シンボル = 4
ファイル シンク: rxF.txt、バッファなし = オン
ソース ファイルで繰り返しオプションを「はい」に設定すると、「Hello everyone!」と表示されます。受信したファイル rxF.txt で何度も繰り返されます。しかし、ソース ファイルの繰り返しオプションを「いいえ」に設定すると、受信したファイル「rxF.txt」が作成されますが、その中には何も含まれていません (プロジェクトを停止するまでの時間に関係なく)。 .
ソース ブロックとシンク ブロックのテキスト ファイルを .png 写真に置き換え、繰り返しオプションを [いいえ] に設定すると、ソース写真の一部 (通常は写真の 4 分の 3 以上) しか受信せず、残りはの写真が受信されません (どれだけ待っても)。
- なぜこうなった?
- ファイル (テキストまたは写真) を 1 回送信する方法はありますか?
- また、ソースファイルの受信が完了した時点でプロジェクトを停止する方法はありますか?
gnuradio - GNU Radio: Python ブロックの最小入出力バッファー サイズを設定する
Python で独自の GNU Radio ブロックを作成しており、そのブロックの入力バッファーと出力バッファーの両方 (またはいずれか) に最小バッファー サイズを設定したいと考えています。
これを行うことができる関数またはコードはありますか?
python - 信号の dB レベルを測定する方法は?
受信信号が復調器ブロックに渡される前に、信号の強度/dBレベルを測定するのを手伝ってくれませんか?
信号の dB レベルをユーザー定義の「しきい値」レベルと比較する必要があります。以下にその理由を説明する。
GNU Radio Companion (およびかなり基本的な python) を使用して、ユーザーが 2 種類のスキャンを作成し、それらのスキャンを実行できるようにするプログラムを作成しました。
バンド スキャンにより、ユーザーは開始周波数、停止周波数、およびステップ周波数を指定できます。Python で記述された関数は、SDR (HackRF One) に開始周波数 (たとえば 90MHz) に合わせてから、停止周波数 (たとえば 110MHz) に達するまですべてのステップを順番に調整するように指示します。ステップ周波数は、各チューニング ステップの周波数距離を定義します。したがって、ステップ周波数が 50KHz で、開始周波数と停止周波数が上記のとおりである場合、スキャンは停止周波数に達するまで 90MHz、90.05MHz、90.10MHz、90.15MHz などで開始されます。これはうまくいきます。
チャネル スキャンでは、スキャンする離散周波数をいくつでも指定できます。たとえば、88.4MHz、98.9Mhz、102.5Mhz、103.8Mhz です。繰り返しになりますが、Python で記述された関数は、SDR に各「チャネル」に順番にチューニングするよう指示します。これもうまくいきます。
ユーザー定義の「しきい値」値を格納する変数を作成しました。ユーザーは、GNU RC で生成された wxGUI FFT シンクを使用してスペクトルを見て、ノイズ フロアが垂直軸 (パワー dB) のどこにあるかを観察し、dB の読み取り値 (-45 など) をテキスト ボックスに入力することで、適切なしきい値を定義できます。ボタンをクリックしてしきい値を設定します (テキスト ボックスの値をしきい値変数に格納します)。シンプルな..
私がする必要があるのは、FFT シンクに入る信号の dB レベルを測定することです。これにより、少しの Python を使用して、SDR が現在調整されている周波数の RF エネルギーが、定義されたしきい値を上回っているか下回っているかを確認できます。比較を行うことができれば、その周波数をアクティブな周波数のリストに追加する、またはユーザーが信号を聞くことができるようにスキャンを停止するなど、スキャンに特定の結果を持たせることができます。
私はウェブのダックダックゴーイングを何度も行ってきましたが、解決策が見つかりません。GNU RC のさまざまなブロックも試してみましたが、必要なことを実行できる 1 つまたは組み合わせが見つかりません。
私は GNU RC / SDR の初心者なので、単純なもの (それほどではない) が欠けていることを願っています..
ありがとう。
gnuradio-companion - 2 台のコンピューター間の Gnuradio ストリーミング?
標準ブロック セットを使用して、GNURadio を実行している 2 台のコンピューター間で通信を実装する簡単な方法はありますか?
私が今持っているのはこれです:
Linux コンピューターでは、GNUradio が実行されており、ラジオ周辺機器からの入力を受信しています。そのコンピュータでは、受信した波形を WX スコープで見ることができます。スライダーや入力ボックスを使用して、受信機の周波数などを変更することもできます。
私がやりたいことはこれです:
Windows コンピューターには、WX スコープとスライダーがあります。スライダーを動かしたり、入力ボックスを変更したりすると、そのデータが Linux に送信されます。Linux はまだ Gnuradio でラジオ受信機を実行しています。受信した信号はストリームを介してウィンドウに戻り、Windows の WX スコープに表示されます。
他の誰かが ZMQ ブロックの使用を提案しましたが、Linux から Windows に正弦波を送信するために PUSH/PULL をセットアップしようとしたとき、何も起こりませんでした。そのアプローチを推奨した人も同じことを試みましたが、うまくいかなかったので、ブロックが壊れているのではないでしょうか?
それで、私がやろうとしていることを実行できる代替ブロックはありますか? できれば、よく文書化されていて、GNUradio-companion で入手できるもの。