短時間フーリエ変換

短時間フーリエ変換(STFT)とは



短時間フーリエ変換(Short-Time Fourier Transform, STFT)は、時間とともに変化する信号の周波数特性を解析するための手法です。特に、音声信号のように時間的に周波数が変動する信号の分析に有効です。STFTは、信号に窓関数を適用し、その窓関数を時間軸上でずらしながらフーリエ変換を行うことで、時間的な周波数変化を捉えます。

STFTの原理



フーリエ変換は、理論的には無限の区間にわたる積分を必要としますが、現実の信号は有限な時間範囲でしか観測できません。そのため、ある時間範囲の信号に対してフーリエ変換を行う際、その範囲外の信号は周期的に繰り返されると仮定して計算します。しかし、この仮定は信号の不連続性を生み、正確な周波数解析を妨げる可能性があります。そこで、窓関数を用いて信号を切り出すことで、不連続性の影響を軽減します。窓関数は、中央付近で大きな値を持ち、範囲外でゼロに近づく関数です。この窓関数を信号に掛けることで、信号の端での不連続性を緩和し、より正確な周波数解析を可能にします。

STFTの数式表現



STFTは以下の数式で表現できます。

$$ \mathrm{STFT}_{x,w}(t,\omega) = \int_{-\infty}^{\infty} x(\tau) w(\tau - t) e^{-j\omega\tau} d\tau $$

ここで、\( x(t) \)は変換対象の信号、\( w(t) \)は窓関数、\( t \)は時間、\( \omega \)は角周波数、\( j \)は虚数単位です。窓関数 \( w(t) \)は、通常 \( t=0 \)付近を中心とした山型の関数で、\( t=0 \)から離れると0に収束します。 \( \mathrm{STFT}_{x,w}(t,\omega) \)は、時刻 \( t \)における角周波数 \( \omega \)のスペクトルを表す複素数です。

離散時間信号に対するSTFTは以下のようになります。

$$ \mathrm{STFT}_{x,w}[n,\omega] = \sum_{m=-\infty}^{\infty} x[m] w[m-n] e^{-j\omega m} $$

ここで、\( x[n] \)は離散時間信号、\( w[n] \)は窓関数、\( n \)は離散時間です。\( \omega \)は連続値でも構いませんが、実際には計算機で高速フーリエ変換(FFT)を用いて計算されるため、\( \omega \)も離散化されます。

STFTの絶対値の二乗はパワースペクトル、偏角は位相スペクトルを表します。これらの時間変化を調べることで、信号の時間的な周波数特性を把握できます。


不確定性原理



STFTには、フーリエ変換に起因する不確定性原理が影響します。不確定性原理とは、時間分解能と周波数分解能の間にはトレードオフの関係があるという原理です。つまり、時間分解能を高くしようとすると周波数分解能が低くなり、逆に周波数分解能を高くしようとすると時間分解能が低くなります。

具体的には、窓関数の幅を広くすると周波数分解能が向上しますが、時間分解能は低下します。逆に、窓関数の幅を狭くすると時間分解能は向上しますが、周波数分解能は低下します。このトレードオフの関係は、時間変化する信号の解析において重要な考慮事項となります。

この不確定性原理は、数式で以下のように表されます。

$$ \Delta t \Delta \omega \geq \frac{1}{2} $$

ここで、\( \Delta t \)は時間の不確定さ、\( \Delta \omega \)は周波数の不確定さです。

この不確定性原理は、量子力学におけるハイゼンベルクの不確定性原理とも関連があります。量子力学では、運動量位置の不確定さの間に同様の不確定性原理が存在しますが、これはフーリエ変換不確定性原理に由来します。



例えば、10 Hz、25 Hz、50 Hz、100 Hzと5秒ごとに周波数が変化する信号を考えます。この信号に対して、窓関数幅を25msと1000msでSTFTを行った場合、25msの窓では時間分解能が高いため、信号の周波数変化のタイミングは正確に捉えられますが、周波数はぼやけてしまいます。一方、1000msの窓では周波数分解能が高いため、周波数は正確に特定できますが、周波数が変化したタイミングはぼやけてしまいます。


逆短時間フーリエ変換(ISTFT)



逆短時間フーリエ変換(Inverse Short-Time Fourier Transform, ISTFT)は、STFTによって得られた時間周波数表現を時間表現に戻す操作です。ISTFTでは、各フレームのフーリエ係数を逆変換して時間表現に戻し、合成窓関数を掛けてフレーム群を重ね合わせます。この時、信号を完全に再構成するための条件(完全再構成条件)が存在します。

しかし、一般的には、時間的に重なった信号を重畳加算するため、元の信号を完全に再構成することは難しい場合があります。特に、矩形窓を使い複数フレームを重ねた場合、元の信号よりも振幅が大きくなってしまうことからも明らかです。

まとめ



短時間フーリエ変換(STFT)は、時間変化する信号の周波数特性を分析する上で非常に重要なツールです。窓関数を用いることで、信号の不連続性による影響を低減し、時間と周波数分解能の間でトレードオフを考慮する必要があります。この技術は、音声処理、音楽分析、画像処理など、幅広い分野で活用されています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。