CSVスイープデータ ボード線図プロッター
ここに `monitor.html` からダウンロードしたCSVファイルをドラッグ&ドロップ
→
【解析の前提条件】
・CSVの1行目はヘッダー(列名)であること
・時刻データは「TIME_MS」列を自動検索して使用します
・データ例をこちらからDLできます → 20260630155820.csv
・CSVの1行目はヘッダー(列名)であること
・時刻データは「TIME_MS」列を自動検索して使用します
・データ例をこちらからDLできます → 20260630155820.csv
ゲイン特性 (Gain [dB])
位相特性 (Phase [deg])
📝 本プロッターの解析アルゴリズム解説
このボード線図プロッターは、ノイズの多い実機データから高精度にゲイン・位相特性を抽出するため、単純なピーク比較や時間差測定ではなく、「動的周波数適合型の離散フーリエ変換 (DFT)」を使った数理的アプローチを採用しています。
1. 周波数決定(ゼロクロス周期)
1秒間の時間窓(ウィンドウ)内において、入力信号がマイナスからプラスへ切り替わる「ゼロクロス点」の間隔から、その瞬間の基本周波数 f (freq)
を高精度に割り出します。
2. 振幅(ゲイン)と位相の算出(直交基底との内積とノルム)
割り出した周波数 f に合わせて、瞬時値の sin, cos 計算値からなる単位ベクトル(複素平面上の直交基底)を動的に生成します。波形データ全体とこの単位ベクトル列との内積(ドット積)を計算することで、目的の周波数成分のみをピンポイントで射影・抽出します(順方向DFTの特定1次成分の算出に相当)。
- 振幅 (ノルム): 内積によって得られた cos 成分と sin
成分の平方根(L2ノルム)から、各信号の本質的な振幅エネルギー(
U_amp,Y_amp)を算出します。最大値・最小値の単純比較ではないため、局所的なスパイクノイズに極めて頑健です。 - 位相角: 直交成分の比率から
Math.atan2を用いて複素平面上の位相角(u_phase,y_phase)を決定し、その差分を位相差として評価します。
3. 不連続面(±180degジャンプ)の縦線カット
位相が -180° と +180° の境界を跨いで折り返す(ラップする)際の急激な変化(しきい値 180° 超のジャンプ)をループ処理で検知し、該当ポイントのデータを null
に置き換えることで、Chart.jsの描画特性を利用して不要な縦線をきれいに切り離しています。
関連する分野:線形代数 複素関数論 フーリエ解析 制御工学 計算数学/数値解析
Programmed with Gemini