2026年5月22日金曜日

327. FFT画像を用いたノイズ測定の手法比較

先月、TS-990 のバンドスコープ(FFT画像)を用いてノイズ低減効果を評価する際、マルチモーダルAIで画像の“見た目の変化”を観測した。

その後、同じ画像をプログラム言語の Python を用いて解析したところ、算定した数値(px/dB)に差異があり、また、ノイズの変化量自体が小さいため目視との比較でどの程度の変動があったのか判り難かった。

そこで今回は、肉眼でも明確に差が見える画像を用いて、
①目視、②AI視覚推定、③Python解析
の三手法でどの程度一致するのか(変化を捉えられるのか)を検証した。

■使用画像


使用した画像は、TS-990 で 50.350 MHz を受信した際の FFT 表示で、 上段がダミーロード終端、下段がアンテナ(CL6DXZ)接続時のもの。

ダミーロード接続時は無線機の内部ノイズ(スパイク成分)のみであり、 アンテナ接続時は内部ノイズに外来ノイズが加算され、ノイズ床全体が持ち上がっていることが肉眼で確認で
きる。


測定条件は以下のとおり。
・測定時間帯:深夜 1 時(信号の入感がなく伝搬状態が安定している)
・TS-990:AGC Off / P.AMP On / NB・NR Off / Filter 2.4 kHz
・SCP:Grid 10 dB / Span 20 kHz / Averaging 2 / REF LEVEL 固定
・アンテナ系:コモンモードフィルタ、フェライトコア装着

■目視による観測


撮影した2枚の画像を拡大して凝視すると、 ダミーロード時のノイズは最下段の基準グリッドから 1 グリッド(10 dB)以内に収まっており、全帯域(2,000Hz)の面積でみるとノイズが占める割合は2 割程度。

アンテナ接続時は同じ領域でノ
イズが 8~9 割を占め、 さらに 1 グリッドラインを超えるノイズ成分もある。感覚的には 7~9 dB 程度ノイズレベルが上昇しているように見える。


■AI による視覚推定


AIはFFT画像のノイズ帯を画像認識で検出し、横方向の各位置ごとにノイズの“上端”を読み取って、その高さを線として可視化する。AIの推定結果にはわずかな揺らぎが生じるため、同じ条件で2回観測し、そのばらつきの範囲を確認した。

・FFT下端を基準(0 px)として評価
・青色ノイズ帯+白色波形線・白色ピーク線をノイズ成分として扱う
・10 dB/div(1グリッド=30px)を基準とし、1 px = 0.33 dB として換算
・「中央値包絡線」「90%包絡線」「高レベル側包絡線」の3軸で比較
 ※包絡線=各列のノイズ上端を統計的に代表させた線


■Python による解析


AIによる視覚推定と同じ基準となるよう算定条件を定め、FFT表示領域(ROI)からノイズ成分の上端位置を抽出して統計処理を行った。

包絡線の定義や換算条件はAI側と同一で、各列の上端位置から中央値や上位側の代表値を求め、複数の指標で比較した。

■算定結果


AI/Pythonの両者によるノイズ差分(DL→ANT接続時)測定結果は以下のとおり。



どの指標軸を用いるかにより結果が異なるが、AI/Pythonともノイズ差分は5〜9 dB前後となった。これは、ノイズ帯のどの部分を“代表的な高さ”として読むか(中央値・上側の高さなど)の違いによって数値が変動するためで想定内といえる。

■まとめ


AI視覚推定およびPython解析とも、肉眼で感じられたノイズ増加傾向と概ね整合する結果となった。

この範囲内で更に精緻な値を求める場合は、ノイズレベル(dBm
)を直接測定できる安価なスペクトラムアナライザ (例:TinySA Ultra)を使用するのが妥当であろう。

今回の主な目的は、AI による画像分析手法と Python解析に慣れることであった。学術的な研究ではないにせよ、AIを用いて定量的な評価を行う場合、AIは過去の算定結果やこちらが目指そうとしている方向性を会話から敏感に読み取り、アンカリングやハルシネーションを起こす可能性が高い。これはAIが“学習”しているわけではなく、あくまで会話の流れに引きずられる傾向が構造的にあるということ。

そのため、先入観を排除する指示を冒頭に必ず入れることが不可欠であり、検出した結果の再現性を確認(複数回、同じ条件で実施)したり、結果を他のAIで検証するなど二重三重の安全策が必要あった。

因みに今回使ったAIは Chat GPT Plus (GPT-5.4 Thinking 標準)である。最新の推論モデルでコーディング・数学・資料作成に強いとのこと。

前回試した他のマルチモーダルAI(無償版)では、AIが作成したPythonコードをPC側のPython環境(事前インストール・パス設定・コマンド操作が必要)で動かす必要であったが、ChatGPT PlusではAI側にPython実行環境(サンドボックス)があり、プロンプトだけで解析が完結した。