SDR動作の負荷状況
先の記事の通り、SDRを使ったラジオ受信をしています。
SDRのUSBダングルを Raspberry Pi 2 B に挿して、そこで rdl_tcp でデータストリームをネット配信し、デスクトップPC(Intel NUCですが)で受信し、SDR#ソフトウェアで聞くという構成です。
それらを稼働させている時のPCの負荷状況について少し書いてみようかと思います(ハードウェア系の記事ではないかもしれませんが…)
まず SDR# 上での設定ですが、この画像で示される設定等で受信しています。
FM802にチューニングを合わせています。
画面上に表示されている波形は、上から順に
- Spectrum Analyser (FFT Display/View)
- Waterfall (FFT Display/View)
- Audio Spectrum (Zoom FFT/Enable Audio)
です。括弧の文字は SDR# アプリでのメニュー設定箇所を表しています。あと、メニューの Radio の所で [FM Stereo] にチェックしていまして、あとは [Audio Noise Reduction] を Enabled にしています。
色々と電磁ノイズが多い環境で使ってますので、これについてはまた改善していきたいと思っています。
この時のデスクトップPCの負荷状況は以下の通りです。
その時の Raspberry Pi 2 側(Ubuntu 22.04 Server LTS)の負荷はこんな感じです。
load average 的には 0.44あたりですかね。受信信号のデータストリームサーバである rdl_tcp が 10.5% ぐらいCPUを使っています。なお、ソフトウェア割り込み処理(ハーフボトム)関係の ksoftirqd で 9.2%、kworker が複数起動されており合計で 7.6% ぐらい使っているのが気になります。実際、Raspberry Pi 2 ではスペック的にしんどいかな、とは感じています。今使っている理由は、
- 手元にあった
- 消費電力が少ない(Pi3やPi4に比べて)
なのですが、
- 性能が少し弱い
ことや、もう一つ、
- 64bit-ARMカーネルが対応しておらず、Ubuntu Pro による Realtime Kernel が使用できない
という問題があります。このような定サンプリングでの受信データを配信するという用途としては、Realtime Kernelを使いたい所ですが、現状の Ubuntu で Realtime Kernel を使いたい場合には、Ubuntu Pro に対応させる必要があり、また Ubuntu Pro は 64bit Kernel のみに対応しているという状況のため、本当なら Pi3なりPi4を使って、64bit ARM Kernel の Ubuntu を使いたい所なのですが。
家庭用ということもあり消費電力を結構気にしてはいますが、どこかのタイミングで SDRサーバ側は Realtime Kernel で試してみたいな、とは思っています。
コメント
コメントを投稿