本文へ移動

G検定(ジェネラリスト検定)

こうそくふーりえへんかん

高速フーリエ変換

FFT

Fast Fourier Transform

高速フーリエ変換(FFT)は、音声などの信号を周波数成分に分ける離散フーリエ変換(DFT)を効率よく計算するアルゴリズムです。Nが2のべき乗のときにだけ使えます。

詳しい説明

周波数で音をとらえるという考え方

音声の波形からは、エネルギー、ピッチ、有声かどうか、閉鎖音や摩擦音があるかどうかといった大まかな音声的特徴を直接読み取れます。しかし、音声認識をはじめとする多くの計算上の応用は、波形そのものではなく、音を構成する周波数成分で表した別の表現に基づいています。人間の聴覚処理も同じく周波数成分に基づいています。

この表現の土台がフーリエ分析です。フーリエ分析の考え方は、どんなに複雑な波も、周波数の異なる多くの正弦波の和として表せる、というものです。複雑に見える音声の波形も、いくつもの単純な正弦波を重ね合わせたものとして分解してとらえられます。

スペクトルという表現

信号を正弦波の成分に分解したとき、それぞれの成分の周波数と振幅をまとめて表したものをスペクトルと呼びます。スペクトルは、信号がどの周波数の成分をどれだけの大きさで含んでいるかを示す表現です。波形が時間の流れに沿って振幅の変化を示すのに対し、スペクトルは周波数ごとに成分の強さを示します。

離散フーリエ変換(DFT)

コンピュータが扱う音声は、一定の間隔で値を取り出した離散的な標本の並びです。このような離散的な信号からスペクトルを求めるための変換が離散フーリエ変換(DFT)です。DFTは、N個の標本からなる信号を入力として受け取り、それを離散的な周波数成分へ分解します。変換の結果として、周波数の番号ごとに、その周波数の成分がどれだけ含まれているかを表す値が得られます。

FFTはDFTを効率よく計算するアルゴリズム

DFTを計算するためによく使われるアルゴリズムが、高速フーリエ変換(FFT)です。ここで押さえておきたいのは、FFTはDFTとは別の変換ではなく、DFTを計算するための実装である、という関係です。求める結果はDFTと同じで、その計算の仕方を工夫したものがFFTです。

FFTによるDFTの実装は非常に効率的です。一方で制約もあり、FFTは標本の数Nが2のべき乗である場合にしか使えません。効率の高さと、Nに対するこの条件は、FFTを理解するうえでの2つの要点です。

音声の特徴量を取り出す処理では、FFTの結果から、周波数帯ごとのエネルギーがわかります。この周波数帯ごとのエネルギーが、その後の音声特徴量の計算へとつながっていきます。

試験で問われること

G検定

  • フーリエ分析の基本的な考え方として、複雑な波をどのように表せるかを説明できますか。
  • スペクトルとは信号の何を表した表現なのか、波形との違いとあわせて説明できますか。
  • 高速フーリエ変換(FFT)と離散フーリエ変換(DFT)はどのような関係にあるかを説明できますか。
  • FFTを使えるのは標本の数Nがどのような値の場合に限られるかを答えられますか。

最終更新日: 2026/09/23