PlutoSDR #82018/10/28 18:16

GNU Radio + PlutoSDR でFM送信

leaniiorxはスタックしているので,leaniiotxで遊んでみた。

いきなりDATV送信はあり得ないので,r4d10nさんのgithubを参考にFM送信してみた。LeanIIOTx+PlutoSDRで送信するにはIQファイルが必要なんだが,Process RXSamples.wav in GRC for upsampling to 1 MSps and FM modulation (File Source -> Throttle -> Rational Resampler -> NBFM -> Filesink).だけでGRCの添付なし。

自分ではフローグラフを描けず,undertugaさんのをPlutoSDR用に改造した。先ずはGNU Radio+PlutoSDRで送信して,IC-910で受信&音が鳴るのを確認した(添付画像はtone信号を注入したときの画面コピー。Waterfallは流れているのだが,信号は判別できず)。

IQファイルを作るには,フローグラフ中のPlutoSDR sinkをFile sinkに切り替えれば良く,出来上がったIQファイルをGNU RadioでFile sourceから読み込んでNBFM Receiverに食わせたらキッチリ鳴った。

しかし,そのIQファイルをleaniiotx@PlutoSDRに食わせたらエラーになった。症状は下記URLのコメント欄と同じだ...

# ./leaniiotx -s 1000000.0 --bw 200000.0 -f 145400000.0 -v -d --bufsize 0x8000 --nbufs 32 < /tmp/TXSample-test.iq 
Using AD936x FIR interpolator x4
Setting RF bandwidth 200 kHz
** IIO: out_voltage_filter_fir_en failed with Unknown error -22

だが,IQファイルをleaniiorx@PlutoSDRで受信して作成し,そのIQファイルをleaniiotx@PlutoSDRで送信→IC-910で受信したら,キッチリ再生できた。

# ./leaniiorx --bufsize 65536 --nbufs 32 -f 145400000 -s 1000000.0 --bw 200000.0  -v  > /tmp/foo.iq 
Using AD936x FIR decimator /4
Setting RF bandwidth 200 kHz
Setting sampling rate 1000 kHz
Tuning to 145.400000 MHz
...
^C
# ./leaniiotx --bufsize 65536 --nbufs 32 -f 145400000 -s 1000000.0 --bw 200000.0  -v  < /tmp/foo.iq 
Using AD936x FIR interpolator x4
Setting RF bandwidth 200 kHz
Setting sample rate 1000 kHz
Upconverting to 145.400000 MHz
...
Shutting down TX channels

どうやらIQファイルの互換性が問題みたい。予想通り,このIQファイルはGNU Radioでは復調できなかった(音は鳴らず)。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://jh4xsy.asablo.jp/blog/2018/10/28/8984969/tb