フーリエ変換ビジュアライザー 戻る
信号処理

フーリエ変換ビジュアライザー

信号タイプ・窓関数・周波数をスライダーで操作しながら、時間域・振幅スペクトル・位相スペクトルをリアルタイムで確認。FFTの本質を直感的に理解できます。

信号設定

高調波振幅(基本波 = 1次)

FFT設定

プリセット

計算結果
主周波数
SNR (dB)
スペクトル重心
THD (%)
FFT 振幅スペクトル
FFT 位相スペクトル
理論・主要公式

$$X(f) = \int_{-\infty}^{\infty} x(t) e^{-j2\pi ft} dt$$

フーリエ変換:時間信号 $x(t)$ から周波数スペクトル $X(f)$ へ変換。

$$x(t) = \int_{-\infty}^{\infty} X(f) e^{j2\pi ft} df$$

逆フーリエ変換:スペクトル $X(f)$ から時間波形 $x(t)$ を復元する。

$$|X(f)|^2 \leftrightarrow R_{xx}(\tau)$$

パーセバルの定理:時間域のエネルギー(積分)は周波数域と等価。パワースペクトル密度と自己相関の対。

フーリエ変換ビジュアライザーとは

🙋
このツールで「窓関数」を選べますけど、そもそも窓って何ですか?信号に窓をかけるってどういうこと?
🎓
大まかに言うと、無限に続く信号を有限の長さで切り取る時に、切り口を滑らかにするための「ふちどり」だね。例えば、上の「信号タイプ」でサイン波を選んで、窓関数を「矩形(なし)」にしてみて。グラフの両端が急に切れてるのがわかるかな?この切り口のギザギザが、FFTの結果に余計な周波数成分(リーケージ)を作ってしまうんだ。
🙋
え、そうなんですか!じゃあ「Hann窓」を選ぶと、このリーケージが減るということ?でも、何かデメリットはあるんですか?
🎓
その通り!Hann窓をかけると信号の端を滑らかにゼロに近づけるから、リーケージは大きく減るよ。右のスペクトル表示を見比べてみて。ただ、トレードオフとして、窓の形が広がる分、周波数のピークが少しぼやける(分解能が落ちる)んだ。実務では、測定したい信号の種類によって、Hann、Hamming、Blackmanなどを使い分けることが多いね。
🙋
なるほど!ところで、下の方に「THD」って数値が出てますけど、あれは何を見てるんですか?
🎓
THD(全高調波歪み率)は、信号がどれだけ「純粋なサイン波」からずれているかを表す重要な指標だよ。例えば「信号タイプ」を矩形波やノコギリ波に変えてみて。基本波以外にたくさんの高調波(整数倍の周波数成分)が出るでしょう?THDはそれらの高調波の強さを全部足して、基本波に対する比率(%)で示してるんだ。オーディオ機器の性能評価なんかでよく使われる数値だね。

物理モデルと主要な数式

このツールの根幹は、離散信号 $x[n]$ を離散周波数成分 $X[k]$ に変換する離散フーリエ変換(DFT)です。コンピュータで計算する際は、この計算を高速化したアルゴリズムであるFFT(高速フーリエ変換)が用いられています。

$$X[k] = \sum_{n=0}^{N-1}x[n] \cdot e^{-i 2\pi k n / N}$$

$x[n]$: 時間領域の離散信号(n=0,1,...,N-1)
$X[k]$: 周波数領域の複素スペクトル(k=0,1,...,N-1)
$N$: サンプル数(このツールでは512)
$e^{-i 2\pi k n / N}$: 複素正弦波(オイラーの公式により $\cos - i\sin$ を表す)

窓関数 $w[n]$ は、有限長に切り取られた信号 $x[n]$ に乗算され、両端の不連続性を緩和します。これにより、スペクトル漏れ(リーケージ)を抑制します。

$$x_{windowed}[n] = x[n] \cdot w[n]$$

$w[n]$: 窓関数(例:Hann窓 $0.5 - 0.5\cos(2\pi n / (N-1))$)
$x_{windowed}[n]$: 窓関数が適用された後の信号
窓をかけることは、元の信号のスペクトルと窓関数のスペクトルの「畳み込み」を計算することに相当し、トレードオフとして周波数分解能が低下します。

よくある質問

信号タイプが「矩形波」や「のこぎり波」など複数の周波数成分を含む場合、基本周波数のスライダーは全体の周期を変えます。単一の正弦波を確認したい場合は、信号タイプを「正弦波」に切り替えてください。
窓関数は信号の両端を滑らかに0に近づけるため、信号全体のエネルギーが減少します。その結果、振幅スペクトルのピーク値も低下します。これは「スペクトル漏れ」を抑えるためのトレードオフです。
位相スペクトルは各周波数成分の時間的なずれを示します。単一正弦波では直線的な変化、複合波では不連続な跳び(±π)が現れます。まずは正弦波で位相の意味を掴み、その後複雑な信号に進むと理解しやすいです。
本ツールではリアルタイム表示のパフォーマンスを優先し、サンプル数を512に固定しています。一般的にサンプル数が多いほど周波数分解能は向上しますが、計算負荷も増大します。より高精度な解析が必要な場合は、専用の解析ソフトウェアをご利用ください。

実世界での応用

音響・オーディオエンジニアリング:楽器や歌声の周波数特性(倍音構造)を分析したり、スピーカーやアンプから発生する歪み(THD)を測定・評価するためにFFTが日常的に使われています。ノイズ成分(SNR)の特定にも不可欠です。

振動・モニタリング診断:回転機械(モーター、ベアリング、タービン)の振動信号をFFT分析することで、特定の回転周波数に対応する異常ピークを検出し、故障の予兆診断を行います。工場の保全業務で広く応用されています。

通信工学:デジタル通信システム(OFDMなど)では、FFT/IFFT(逆FFT)が信号の変調・復調の核心技術として用いられています。また、受信信号から特定の周波数帯域のノイズや干渉を分析するのにも使われます。

医療画像処理:MRI(磁気共鳴画像法)では、取得された信号(k-spaceデータ)を画像化する際に2次元FFTが必須です。また、心電図(ECG)や脳波(EEG)の波形から、特定の周波数成分(例えばα波)を抽出・解析する際にも応用されます。

よくある誤解と注意点

FFTを使い始めるときに、いくつか陥りがちな落とし穴があるよ。まず一つ目は、「サンプリング周波数と表示される周波数レンジの関係」だ。例えば、サンプリング周波数が44.1kHzの場合、FFTで理論上見える最高周波数はその半分の22.05kHz(ナイキスト周波数)までだ。これ以上の周波数成分は折り返し(エイリアシング)という現象で誤った低周波数として現れ、分析を完全に狂わせる。実務では、測定前に必ずアンチエイリアシングフィルタで高周波成分を除去するのが鉄則だ。

二つ目は、「スペクトルの縦軸(振幅)の値は絶対値ではない」という点。このツールで「振幅スペクトル」を表示しているのは、複素スペクトル $X[k]$ の絶対値 $|X[k]|$ だ。ここには窓関数による影響や、FFT点数Nが正規化係数として含まれる。例えば、振幅1のサイン波を分析しても、表示されるピークの値は単純に「1」にはならない。正確な振幅値を知りたい場合は、使用した窓関数の補正係数(例えばHann窓なら約2倍)を考慮する必要がある。

三つ目は、「分解能と測定時間のトレードオフ」。周波数分解能 $\Delta f$ は、サンプリング周波数 $f_s$ をFFT点数 $N$ で割った値($\Delta f = f_s / N$)で決まる。より細かい周波数を見分けたい($\Delta f$ を小さくしたい)なら、$N$ を大きくする必要があるが、それはより長い時間のデータを取ることを意味する。例えば、回転数が変動する機械の振動を分析する場合、長すぎるデータを取ると周波数が「ぼやけて」しまう。このジレンマを理解しておかないと、現場で有効なデータが取れないことがある。

使い方ガイド

  1. ampValNum(振幅)に0~100の値を入力し、freqValNum(周波数)で1~1000Hzの信号周波数を設定します
  2. fsValNum(サンプリング周波数)を2000~48000Hzの範囲で指定し、ナイキスト周波数の2倍以上に設定してエイリアシングを防止します
  3. noiseValNum(ノイズレベル)を0~50で調整して加算ホワイトノイズを付与し、実測データの条件を模擬します
  4. FFT計算ボタンを実行すると、時間域波形と周波数スペクトル・位相スペクトルがリアルタイムで更新されます

具体的な計算例

振動診断の実例として、機械設備から検出された複合信号を解析します。基本周波数50Hz(商用電源)、第3高調波150Hz、第5高調波250Hzの3成分を含む場合、サンプリング周波数fs=2000Hzで0.1秒間のデータを取得するとFFTは0~1000Hzの周波数解像度2Hzで解析されます。各成分の振幅スペクトルから基本波60V、3倍波15V、5倍波8Vが同定でき、高調波歪率THDは計算値25.7%となります。ノイズレベル10を加えるとS/N比が低下し、フィルタリングの必要性が視覚的に判定できます。

実務での注意点

  1. サンプリング周波数がターゲット周波数の2倍未満の場合、折り返し周波数によるエイリアシングが発生し、150Hzの信号が1850Hzとして誤認識されます
  2. 機械軸受の故障診断では、BPFO(Ball Pass Frequency Outer)やBPFI(Ball Pass Frequency Inner)などの特性周波数が3~10kHz帯に存在するため、fs≥20kHzを推奨します
  3. 加速度センサ信号の積分処理により速度波形を得る場合、直流成分除去(ハイパスフィルタ)を適用して位相スペクトルの歪みを補正してください