エントリー

タグ「SDR」の検索結果は以下のとおりです。

ページ移動

  • ページ
  • 1
  • 2

NOAA受信システムの不具合確認中

運用開始して1年ちょっと経過

最近発生している不具合と検討したい件があり合間を見て確認しているが時間も掛かりそうなので整理

不規則なシステム停止

次項のSleepモードの件と同じと考えていたがログの解析からシステムダウンが稀に発生している

2024/3/3以降の頻度が高いことからアップデートの影響と考えられる

直接の原因が不明のため,こまめにアップデートを確認している状態

CPUボードの異常も考えられ予備機で確認も予定(もう秋月での在庫が無くなっているので多発するようで別ボードが必要になると辛いな)

Sleepモードからの復帰異常

不規則で夜間運転の時間指定サスペンドが復帰しない

電力供給が行われる昼間のサスペンドは停止中

週2回位で発生しているようだが不規則なため原因不明

現状は朝方に起動チェックを行い停止しているようなら遠隔電源制御で復帰させている

最悪サスペンドしなければ対応可能

ケース内温度監視異常

BMP280の異常と考え交換したが解決せず,制御ボードの再試験が必要なのだが天候の問題で実施できてない

ログを参照すると異常が発生した日は徐々に計測温度が上昇しておりデジタルとしては不可解な現象である

ss20240303.png

温度監視で影響するのはFAN制御であるが,いまのところ高温になることがないため助かっている

BMP280は新規に調達して動作を確認,通番として㉑~㉔を付けた

IMG_20240303_135809.jpg

室内気温:21.9(℃)
室外気圧:1009(hPa)

= 21
TEMP : 24.37 DegC PRESS : 1009.21 hPa HUM : 0.00 %
TEMP : 23.75 DegC PRESS : 1009.29 hPa HUM : 0.00 %
TEMP : 23.27 DegC PRESS : 1009.36 hPa HUM : 0.00 %
TEMP : 22.97 DegC PRESS : 1009.37 hPa HUM : 0.00 %
TEMP : 22.79 DegC PRESS : 1009.29 hPa HUM : 0.00 %

= 22
TEMP : 23.82 DegC PRESS : 1008.90 hPa HUM : 0.00 %
TEMP : 23.37 DegC PRESS : 1009.06 hPa HUM : 0.00 %
TEMP : 22.99 DegC PRESS : 1009.11 hPa HUM : 0.00 %
TEMP : 22.71 DegC PRESS : 1009.09 hPa HUM : 0.00 %
TEMP : 22.53 DegC PRESS : 1009.16 hPa HUM : 0.00 %

= 23
TEMP : 22.91 DegC PRESS : 1010.27 hPa HUM : 0.00 %
TEMP : 22.74 DegC PRESS : 1010.31 hPa HUM : 0.00 %
TEMP : 22.54 DegC PRESS : 1010.35 hPa HUM : 0.00 %
TEMP : 22.41 DegC PRESS : 1010.34 hPa HUM : 0.00 %
TEMP : 22.32 DegC PRESS : 1010.32 hPa HUM : 0.00 %

= 24
TEMP : 23.09 DegC PRESS : 1010.37 hPa HUM : 0.00 %
TEMP : 22.91 DegC PRESS : 1010.35 hPa HUM : 0.00 %
TEMP : 22.80 DegC PRESS : 1010.29 hPa HUM : 0.00 %
TEMP : 22.70 DegC PRESS : 1010.34 hPa HUM : 0.00 %
TEMP : 22.63 DegC PRESS : 1010.32 hPa HUM : 0.00 %
NOAA受信感度の向上

「rtl_fm」より「SDRSharp」や「HDSDR」で受信した方が感度が良いように思われる

なので,改良されているかもしれない最新の「rtl_fm」を使いたいが「sox」との組み合わせでは動作しない(以下)

「sox FAIL formats: can't open input `-': WAVE: RIFF header not found」

※) soxのオプション指定で対処できるのか?試してみたが期待通りにならない (追加:2024.03.24)→ 対処できた(下記)

そこで「rtl_fm」の旧版とソースを比べてみると「-E wav」が無くなっていることが判明

ならばということで最新版に「-E wav」を追加したところ上記のエラーは無くなったがまともな音ではなかった(つまり駄目)

音から判断するにサンプリングレートが異なるようなのだが対処が不明で暫く考えることになる

数日して「sox」がヘッダーを見ても8000Hzでしか受けていないことが判り,「rtl_fm」の出力レートと「sox」の受信レートを指定することで解決

(例)rtl_fm -f 92.6M -s 192k -r 48k -g 48 -p 55 -E wav -E deemp -F 9 - | sox -r 48000 - x.wav rate 11025

ようはオプション指定の意味を理解していなかったってことだ(-s はHWのサンプリングレートで,-r がrtl_fmから出力するサンプリングレートとなる)

→ 「sox」で11025に変換しているのは「rtl_fm」で直接「WXtoimg」が認識できる形式にできないため

ここで新旧rtl_fmを(ぎりぎり受信できる遠距離FM局で)受信確認していみたところ聞き取り易いとか感度の変化は無い

次にステレオ対応で感度が良いらしい「softfm」を試行しようとしたが元が既に閉鎖されていたので派生で障害対応との「ngsoftfm」を試してみる

情報が少ないので開発者の公開サイト(https://github.com/f4exb/ngsoftfm)を参照

$ git clone https://github.com/f4exb/ngsoftfm

$ sudo apt-get install cmake pkg-config libusb-1.0-0-dev libasound2-dev libboost-all-dev

$ sudo apt-get install librtlsdr-dev
$ sudo apt-get install libhackrf-dev
$ sudo apt-get install libairspy-dev
$ sudo apt-get install libbladerf-dev

$ mkdir build
$ cd build
$ cmake ..

$ make -j4

$ sudo make install

しかしライブラリ等の不整合によりコンパイルは以下のとおりエラーとなる

$ make
[ 28%] Built target sfmbase
[ 42%] Built target sfmrtlsdr
[ 57%] Built target sfmhackrf
[ 71%] Built target sfmairspy
Consolidate compiler generated dependencies of target sfmbladerf
[ 78%] Building CXX object CMakeFiles/sfmbladerf.dir/sfmbase/BladeRFSource.cpp.o
In file included from ngsoftfm/include/BladeRFSource.h:26,
from ngsoftfm/sfmbase/BladeRFSource.cpp:29:
ngsoftfm/sfmbase/BladeRFSource.cpp: In constructor ‘BladeRFSource::BladeRFSource(const char*)’:
ngsoftfm/sfmbase/BladeRFSource.cpp:96:54: error: invalid conversion from ‘bladerf_channel’ {aka
‘int’} to ‘bladerf_channel_layout’ [-fpermissive]
96 | if ((status = bladerf_sync_config(m_dev, BLADERF_MODULE_RX, BLADERF_FORMAT_SC16_Q11, 64,
8192, 32, 10000)) < 0)
| ^~~~~~~~~~~~~~~~~
| |
| bladerf_channel {aka int}
/usr/include/libbladeRF.h:2625:58: note: initializing argument 2 of ‘int bladerf_sync_config(bladerf*, bl
aderf_channel_layout, bladerf_format, unsigned int, unsigned int, unsigned int, unsigned int)’
2625 | bladerf_channel_layout layout,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
make[2]: *** [CMakeFiles/sfmbladerf.dir/build.make:76: CMakeFiles/sfmbladerf.dir/sfmbase/BladeRFSource.cpp.o
] Error 1
make[1]: *** [CMakeFiles/Makefile2:197: CMakeFiles/sfmbladerf.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
$

armbianではライブライの不整合もあるかもしれないのでrasbianとamd64 ubuntu 22.04 LTSでもコンパイルしてみたが同じ

ソースの修正は一筋縄では出来そうにないし「rtl-sdr」を使用する場合においては関係ない部分なのでコメントアウトしてコンパイルを完了させた

以下のコマンドラインでFM受信できている

$ softfm -t rtlsdr -M -c freq=92600000,gain=48.0,agc -R - | aplay -f S16_LE -r 48000 -D plughw:1

受信時の微調整データが文字出力されているのでサスペンドして「rtl_fm 」と比較

$ rtl_fm -f 92.6M -s 192k -r 48k -g 48 -p 55 -E wav -E deemp -F 9 - | aplay -D plughw:1

こちらも受信の差が感じられなかった(残念)

NOAAの受信ができるかどうかは未確認,調整して実施予定

(追加:2024.03.24)

soxのオプション指定方法がやっと判った(-t で嵌った)

これで「-E wav」が無くても動作可能

grainはautoでも問題なさそうなので修正

$ rtl_fm -f 92.6M -s 192k -r 48k -p 55 -E deemp -F 9 - | sox -t raw -r 48000 -e signed -b 16 -c 1 - out.wav rate 11025
or
$ softfm -t rtlsdr -M -c freq=92600000,gain=auto,agc -R - | sox -t raw -r 48000 -e signed -b 16 -c 1 - out.wav rate 11025

※)受信周波数と出力ファイル名は確認用,rateはNOAA用

sox -r 48000 -e signed -b 16 -c 1 in.raw out.wav
-r 48000 rate
-e signed sign bit
-b 16 bits
-c 1 channels(1: mono, 2: stereo)
sox -t raw -r 48000 -e signed -b 16 -c 1 - out.wav
-t raw stdin format

注)soxで入力ファイル名を指定する場合は「.raw」でないと入力エラーとなる

「rtl_fm」と「softfm」の受信比較(rateは48k)

(rtl_fm)

(softfm)

試しに以下の下側(青い方)の受信機でも試してみたが上側の方が(はっきり判るくらい)感度が良い

IMG_20240323_200013.jpg

RTL2832を追加購入

RTL2832

NOAAの受信画像が悪いのがチューナーの異常かもしれなかったので,再度AliexpressからRTL2832を購入していたら1Wで届いた

店が良かったのか¥2,081×2で2023/2/17注文で2/24に届く(驚き!)

IMG_20230228_182015.jpg

まずは中身を確認

IMG_20230228_181618.jpg

基板上は問題なさそうなので簡単にHDSDRで受信確認

IMG_20230228_200805.jpg

貧弱なアンテナなので感度はそこそこだが問題なし

WS_20230228_001.png

NOAA受信でチューナーの問題はなかったので購入した分は予備品となるが,勿体ないのでUSB電源の問題を解決させダブルチューナーを検討してみるか

周波数カウンタ

数日後に意外に評価が高い周波数カウンタが面白そうなので購入したのが届いた

IMG_20230228_182237.jpg

こちらは¥1,787で2023/2/7注文で2/26に届く(普通)

2/28現在,まだ未評価

SDRサーバ(RTL-SDR)を試す

いつのまにかラジオ関係で楽しんでいるが,本来の目的はNOAA画像受信である(NOAAのカテゴリを作ることにした)

現在NOAA受信用のQFHアンテナはTV(衛星+地デジ)アンテナのケーブルと共用して室内に送っているためノイズが多く受信状態が良好でない場合がある

本来どのくらいの感度があるのか確認するため直接QFHアンテナで受信確認することにした(もっと早くやるべきだったのだけど休日の明るい時にNOAAが近づく事が無かったので遅くなった)

受信試験

衛星の位置が良かったこともあってか感度も良く良好に受信できた

SA_01300114.jpg

(選択にて元の画像が表示される)

受信音もクリアだったのでTVとケーブルを共用しているせい(後日,TVアンテナを外して受信してみたところ室内でもノイズが減ったので間違いない)か経路でノイズを拾っている疑いがある

対策としては,

①QFHアンテナは野外に受信サーバを設置して直接接続

②ノイズ元を取り除く(TVのせいならLPFで対応できるかも

③専用のケーブルで室内に引き込む

があり,そもそも①を前提に考えていたので②③は後回しにしていた(①の実施にあたりラズパイZERO2を調達する予定なのだが4か月も技適待ちなのである)

SDRサーバ

丁度良いので運用は先になるがSDRサーバを試す

サーバはarmbianでセットアップされているNano Pi NEO2があるのでRTL-SDRを試す

IMG_20220201_210215.jpg

RTL-SDRは以下で説明されているが簡単には動かない

https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr

いろいろ嵌ったが次の手順で行えば動作する(実行時のメッセージは省略)

開発環境設定

$ sudo apt install cmake
$ sudo apt install libglib2.0-dev

DL&コンパイル

$ mkdir SDR
$ cd SDR
$ git clone git://git.osmocom.org/rtl-sdr.git
(変更あり:https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr
$ git clone https://gitea.osmocom.org/sdr/rtl-sdr.git
$ cd rtl-sdr/
$ mkdir build
$ cd build
$ cmake ../ -DINSTALL_UDEV_RULES=ON
$ make
$ sudo make install

(注)コマンドは「/usr/local/bin」にセットアップされる

動作環境設定

$ sudo ldconfig
$ sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
$ sudo su
# echo 'blacklist dvb_usb_rtl28xxu' > /etc/modprobe.d/blacklist-rtl.conf

(注)「rtl-sdr.rules」は既にコピーされているかもしれない

再起動

$ shutdown -r now

嵌った時

cmakeでエラーになるとか,makeでlibusb.h が無いとかリンクでライブラリが無いとか嵌ることがあるが「libglib2.0-dev」のインストールで解決するようだ

もしエラーが消えないなら追加で以下を試してみると良い(追記:クリーンインストール時,以下が必要であった)

$ sudo apt install libusb-dev
$ sudo apt install libusb-1.0-0-dev

テスト

$ rtl_test

サーバ起動

$ rtl_tcp -a 192.168.xxx.xxx

(追記:以下で良い)
$ rtl_tcp -a 0.0.0.0

(オプション)

Usage: [-a listen address]
[-p listen port (default: 1234)]
[-f frequency to tune to [Hz]]
[-g gain (default: 0 for auto)]
[-s samplerate in Hz (default: 2048000 Hz)]
[-b number of buffers (default: 15, set by library)]
[-n max number of linked list buffers to keep (default: 500)]
[-d device index (default: 0)]
[-P ppm_error (default: 0)]
[-T enable bias-T on GPIO PIN 0 (works for rtl-sdr.com v3 dongles)]

(チューナーが2個の場合)

IMG_20220201_210250.jpg
Found 2 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
1: Realtek, RTL2838UHIDIR, SN: 00000001

(1を選択して起動)

$ rtl_tcp -a 192.168.xxx.xxx -p 1234 -d 1
SDR#

①で「RTL-SDR TCP」を選択して②を実行

WS_001.png

IPアドレスとポート番号(デフォルトが1234)を入力

WS_002.png

SDR#はAGCを選択しても保持されないようなので毎回起動時にチェックする(サーバ起動時に選択もできるようだ)

HDSDR

ExtIO_RTL_TCP.dll」を入手してセットアップ(HDSDRのフォルダーに置く)する

起動して①のSDR-DeviceでIPアドレスとポート番号を入力しようとしても入力できないので②のoptioonsの「select input」→「Realtek RTL2832」を実行すると入力できるようになる

WS_011.png

(起動時は入力できない)

WS_012.png

(「Realtek RTL2832」を実行した後は,先に入力されているIPが選択された状態になる)

WS_013.png

ここで「192.168.xxx.xxx:1234」と入力しようとすると入力途中でハングアップする

ハングアップしたら強制終了しても再起動でハングアップするのでHDSDRのフォルダーにある「delete_settings.cmd」を起動前に実行する

IPアドレスとポート番号の入力はカット&ペーストで行う(入力途中に接続にいってハングアップしていると思われる)

停止して入力すれば問題ないようだ

SDRでHFを受信したかったが類似品で失敗

安価なドングルチューナーでHFを受信するには「RTL-SDR.COM V3」を使えば良いらしい

そこでAliExpressで探して購入したのだが(理由不明で)店が期間内に発送しなかったためクローズになってしまった(返金されるのかな?)

もう待たされたくないのでAmazonで購入したがチョイスミスで類似品を購入

IMG_20211020_212645.jpg

「RTL-SDR.COM V3」ではなく「RTL.SDR」である

パクり物だがFMやNOAAは問題なく受信できた

しかしHFは(Q-inputで対応しているらしいが)簡単アンテナでは駄目で,本物でもダイレクト受信ではそれなりのアンテナが必要とネットでもあるのでHFアンテナを制作

簡単なダイポールで良いと思い,その昔(45年前か?)BLC時代に作ったパイプを使用した短縮アンテナにした(25mに合わせた)

IMG_20211022_164550.jpg

IMG_20211022_164600.jpg

IMG_20211022_164623.jpg

早速受信してみたが変わらず・・・DSPの短波ラジオで確認してみたところ受信感度が上がったのでアンテナの問題ではない

類似品では駄目だと判断し中身を確認してみたところ

これは「SDR+DAB+FM (RTL2832U+R820T2)」を改造した物であることが判明(フォトダイオードあるけど動作するのか?)

IMG_20211023_165936.jpg

裏にQ-branchを書かれた基板があるが(ネットにある改造方法をパクったのだろう)まったく使えないようだ

IMG_20211023_170002.jpg

SMA端子にまで付け替えか(改造しないで販売したほうが売れそうだが)

折角HFアンテナも作ったのでHFも受信したいけど,本物の「RTL-SDR.COM V3」は我慢してアップコンバーターでも作製してみようかと思う

ページ移動

  • ページ
  • 1
  • 2

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

Re:NOAA受信システム復旧
2025/06/11 from admin
Re:NOAA受信システム復旧
2025/06/11 from とおりすがり
Re:SDRplay社RSP1クローンを購入
2025/05/25 from 匿名希望
Re:Mozilla FirefoxではNHKプラスを再生できない件
2025/05/09 from Donabeyaki
Re:ATS-25を作製する
2025/03/23 from kazu

過去ログ

Feed