はじめに
前回の記事では、電気保安の現場で高圧受変電設備(キュービクル)の放電音をスマホで録音し、絶縁破壊を予知しようとする取り組みの全体像をご紹介しました。
今回は、「録音したただの音声データから、どうやって放電の特徴をあぶり出しているのか?」という、プログラムの裏側のロジック(PRPD解析の概略)を解説します。電気の専門知識がない方にもわかるように図解しました。
- 放電音の正体と「0.01秒」の法則
そもそも、なぜマイクで録音した音から電気の異常がわかるのでしょうか?
日本の商用電源(東日本は50Hz、西日本は60Hz)は、交流(サイン波)で電気が送られています。設備の絶縁が低下してくると、電圧のピーク(山の頂上と谷の底)付近に達した時にだけ「ジリッ」という微小な放電(部分放電)が発生します。
50Hzの場合、1サイクルは0.02秒です。山の頂上と谷の底でそれぞれ放電が起きるため、放電音は「半サイクル=0.01秒間隔」で周期的に鳴り続けることになります。
この「0.01秒の周期性」を見つけ出すことが、ノイズだらけの現場から異常を検知するための鍵になります。
2. 音声データの信号処理プロセス(10分割オーバーラップ)
私がPythonで組んだ解析プログラムは、以下の手順でこの周期性をあぶり出しています。
Step 1: 高速フーリエ変換(FFT)と周波数フィルタリング
スマホで録音した音声のうち、0.4秒分(50Hzで20サイクル分)をFFTにかけ、「時間・周波数・音の大きさ」の3次元データに変換します。
現場にはトランスの唸り音(低周波)が溢れているため、ここで高めの周波数帯(開発初期は10〜17kHz付近を抽出。現在はさらに高域の超音波帯域を狙っています)だけをプログラム上で切り出します。
Step 2: 配列の「10分割」と加算
ここがこのアルゴリズムの肝です。
抽出した0.4秒(20サイクル)の配列データを、10個に分割します。1つあたり0.04秒(2サイクル分)のデータになります。これを10枚重ね合わせて(配列の加算・平均化をして)グラフを描画します。
なぜこんな面倒な配列操作をするのか?
それは、「ランダムに鳴る環境ノイズ」を薄め、「0.01秒間隔で鳴る放電音」だけを増幅させるためです。同じ位相(タイミング)で鳴る音だけが重なって山が高くなるため、放電の兆候が視覚的な「パターン」として浮かび上がってきます。
3. 現場の実測で分かった「限界」(AIが必要な理由)
このアルゴリズムを使って、実際の現場で録音と絶縁抵抗値の測定をひたすら繰り返しました。
その結果、多くの現場で「音の振幅パターン」と「実際の絶縁抵抗値(劣化具合)」に強い相関関係がありそうな手ごたえを感じました。
しかし同時に、単純なアルゴリズムと計算式では越えられない「限界」にも直面しました。
そこで得られた振幅こそが、絶縁抵抗値と線形な関連があるという仮説は崩れ去りました。
4. 次のステップ:ディープラーニングとエッジAIへの挑戦
だからこそ、私はこのプロジェクトに機械学習(CNNなどの画像認識AI)を導入したいと考えています。
10枚重ねて作った「PRPDの波形画像(スペクトログラム)」をAIに読ませれば、「これは放電の特徴だ」「これはただの励磁音だ」と高精度に見分けてくれるはずです。
【現在の構想と募集】
目標は、1万円台のRaspberry PiにこのマイクとAIモデル(TensorFlow Lite等)を載せて現場に設置し、異常を察知して現場へ急行できるシステムを作ることです。
私1人のフィールドワークで、すでにテスト用の生データ(音声と実測値のセット)は蓄積され始めています。
しかし、このデータを捌くパイプラインの構築や、ラズパイ上で動くエッジAIの軽量化実装において、私1人では手が足りていません。
課題はまだあって、サンプリング周波数を96KHZに強化し、実用上48KHZまで測定周波数帯を広げたいのです。
(現在のプロトタイプでは44.1KHZサンプリング)
「社会インフラを守るAI」で卒論・修論を書きたい情報系の学生さん
IoTやエッジAI(TFLite)の泥臭い実装に興味があるエンジニアの方
引き続き、一緒にこの「ゲームチェンジャー」を作ってくれる仲間を募集しています!少しでも興味が湧いた方は、お気軽にコメントやDMをお願いします。

