このページのねらい

フーリエ変換は、信号(時間・空間関数)を周波数(波数)領域へ写す道具です。 化学では 分光法(IR・ラマン・NMR の周波数解析)拡散の k 空間解(\( e^{-Dk^2 t} \))画像・信号処理(フィルタリング) に直結します。 このページでは 定義と性質離散変換(DFT/FFT)窓関数とエイリアシング周波数フィルタ拡散方程式の k 空間解 をミニツールで体感します。

※ このページは「大学で化学を学ぶための数学」を補う 参考書的な解説ページです。数学としての厳密な証明よりも、 「化学でフーリエ変換をどう使うか」「式の各記号・単位が何を表すか」を 直感的に理解することを目的としています。

フーリエ変換の基本

ここでは「時間 \( t \) [s]」を入力、「角周波数 \( \omega \) [rad/s]」を出力とする フーリエ変換を用います。信号の「形」を、その中に含まれる周波数成分の 「強さ」と「位相」に分解する操作だと思ってください。

項目 式(角周波数 \( \omega \)) ポイント 化学での例
定義 \[ \mathcal{F}\{f(t)\} = F(\omega) = \int_{-\infty}^{\infty} f(t)\,e^{-i\omega t}\,dt \] \[ f(t) = \frac{1}{2\pi}\int_{-\infty}^{\infty} F(\omega)\,e^{i\omega t}\,d\omega \] 時間領域の信号 \( f(t) \) を周波数領域のスペクトル \( F(\omega) \) に写す写像。
\( t \):時間 [s]、\( \omega \):角周波数 [rad/s] で、 互いにフーリエ双対の関係にあります。
IR・ラマン・NMR のスペクトル密度
線形性・時間シフト 線形性: \[ \mathcal{F}\{a f(t) + b g(t)\} = a F(\omega) + b G(\omega) \] 時間シフト: \[ f(t - t_0) \;\leftrightarrow\; e^{-i\omega t_0} F(\omega) \] 和は和に、定数倍は定数倍に写る(線形)。
時間シフトは周波数領域で位相因子 \( e^{-i\omega t_0} \) として現れます。
信号の位相補正、時間原点のずれの補正
畳み込み \[ (f * g)(t) = \int_{-\infty}^{\infty} f(\tau)\,g(t-\tau)\,d\tau \] \[ \mathcal{F}\{(f * g)(t)\} = F(\omega)\,G(\omega) \] 時間領域の「平滑化」や「フィルタ」は、 周波数領域では単なる掛け算になります。 ノイズ除去、分解能とノイズのトレードオフ解析
パーセバルの定理 \[ \int_{-\infty}^{\infty} |f(t)|^2\,dt = \frac{1}{2\pi} \int_{-\infty}^{\infty} |F(\omega)|^2\,d\omega \] 時間領域と周波数領域で エネルギー(パワー)が等しいことを表します。 信号パワー、S/N 比の評価
DFT(離散) \[ X[k] = \sum_{n=0}^{N-1} x[n]\, e^{-i 2\pi nk/N}, \quad k = 0,1,\dots,N-1 \] サンプル列 \( x[n] \) から、 周波数ビン \( k \) ごとのスペクトル \( X[k] \) を計算します。
実装では FFT を用いると \( N = 2^m \) のとき特に高速です。
数値分光データ、NMR 生データの処理
記号と単位の整理
・\( t \):[s](時間)、\( f(t) \):時間領域の信号
・\( \omega \):[rad/s](角周波数)、\( F(\omega) \):周波数スペクトル
・\( x[n] \):時刻 \( n/f_s \) でサンプリングした値(\( n = 0,\dots,N-1 \))
・\( X[k] \):離散周波数ビン \( k \) の複素スペクトル
・エネルギー \( \int |f|^2 dt \) は、化学ではピーク面積や吸収エネルギーの評価と結びつきます。

DFT/FFT エクスプローラ(窓関数・エイリアシング)

ここでは、時間間隔 \( 1/f_s \) ごとにサンプリングした データ列 \( x[n] \)(\( n = 0,\dots,N-1 \))から、 離散フーリエ変換(DFT)を計算してスペクトル \( X[k] \) を描きます。
fs:サンプリング周波数 \( f_s \) [Hz]
N:サンプル点数(周波数分解能は \( \Delta f = f_s/N \))
・窓関数:有限長データの「端」をなめらかにして、 サイドローブ(にじみ)を抑えるために使います。

1 側スペクトル(0 ~ \( f_s/2 \))を振幅スケールで表示しています。 窓のコヒーレント利得で補正し、DC と Nyquist を除く各ビンは ×2 しています。
信号の最高周波数 \( f_{\max} \) を \( f_{\max} > f_s/2 \) に設定すると、 サンプリング定理を破るため エイリアシング(折り返し)が観察できます。

周波数フィルタ(ガウシアン Low-pass)

カットオフ周波数 \( f_c \) [Hz] より高い成分をなめらかに削る ガウシアン型ローパスフィルタを使っています。
周波数領域でフィルタ関数 \( H(f) \) を掛け算することは、 時間領域で信号を「ぼかす(畳み込み)」ことに対応します。

\[ H(f) = \exp\!\left\{ -\left(\frac{f}{f_c}\right)^2 \right\} \]
ここで \( f \) は周波数 [Hz]、\( f_c \) はカットオフ周波数 [Hz] です。 \(|f|\) が大きくなるほど \( H(f) \) の値は 0 に近づき、 高周波成分が強く抑えられます。

ガウシアン特性のローパスフィルタ \( H(f) \) を周波数領域で掛け算することで、 時間領域では信号が平滑化されます(畳み込みによるぼかし効果)。

拡散方程式をフーリエで解く(k 空間)

\[ u_t = D\,u_{xx}, \quad 0 \le x \le L \] \[ k = \frac{2\pi n}{L},\quad \hat{u}(k,t) = \hat{u}(k,0)\,e^{-D k^2 t} \]
拡散方程式 \( u_t = D u_{xx} \) をフーリエ展開すると、 各モード \( k \) ごとに \( \hat{u}(k,t) = \hat{u}(k,0)e^{-Dk^2 t} \) の形で指数関数的に減衰します。 波数 \(|k|\) が大きい(細かい構造)ほど \( k^2 \) が大きく、より速く減衰します。

・\( u(x,t) \):濃度や温度などの分布
・\( D \):拡散係数 [m\(^2\)/s](物質ごとに決まる)
・\( L \):系の長さ [m]、\( k \):波数 [1/m]
スライダーで時間 \( t \) を動かすと、 高波数モードほど \( e^{-Dk^2 t} \) により速く消えていき、 分布がなめらかになっていく様子が確認できます。

t=0.30

高波数(\(|k|\) が大きい)ほど \( e^{-Dk^2 t} \) で速く減衰し、分布は時間とともに滑らかになります。

練習問題(クリックで採点)

ここまでに出てきたフーリエ変換の性質・DFT の基本量・エイリアシング条件・ 拡散方程式のモード減衰について、要点を確認する小テストです。
式の意味が思い出せないときは、上の表や解説ボックスを見直しながら解いてみてください。

  1. Q1:連続フーリエ変換で、時間シフト \( f(t - t_0) \) は周波数領域でどう表れる? 
  2. Q2:DFT でサンプリング周波数 \( f_s \) [Hz]、点数 \( N \) のとき、 周波数分解能は?(Hz) 
  3. Q3:折り返し(エイリアシング)を避ける条件は \( f_{\max} \le ? \) 
  4. Q4:畳み込みは周波数領域で何に対応? 
  5. Q5:拡散方程式のモード減衰は \( e^{-Dk^2 t} \)。\( D = 0.01 \)、\( k = 20\pi \) のとき、 指数の係数は?(\(-?\))