AOYAMA KOJI's PROGRAMMING BLOG

フーリエ変換による周波数成分への分解と合成

2025/03/02
フーリエ変換による周波数成分への分解と合成

 本記事では、音の圧縮体験ツールに使用したフーリエ変換による周波数成分への分解について解説します。 各周波数成分の合成するツールも用意しています。


フーリエ変換


 フーリエ変換では、波はすべて基本的な波の合成で表せるという理論に従い、 元データを周波数成分に分解します。

波の合成の例


 実際に周波数成分に分解された波を見てみましょう。
フーリエ変換による周波数成分への分解と合成 fig.2
 例えば、この、ややふにゃっとした線ですが、これは以下の3種類の波の合成で表せます。 つまり、この線を周波数成分に分解すると、以下の波が得られます。
フーリエ変換による周波数成分への分解と合成 fig.3
 合成された波と、各周波数成分の波、すべて重ねてみるとこんな感じです。
フーリエ変換による周波数成分への分解と合成
 この3種類だけというのがちょっと意外というか、 波の合成で色々な形が作れるものだなと思います。

フーリエ変換で得られる要素


 フーリエ変換で得られる要素は、各周波数ごとに、振幅位相です。 これが周波数「0」から「データ量-1」まで得られます。
 ここでいう周波数は、波が上下に一回ずつ動いて戻って来るのを1つと数えた場合に、データ全体に対して波がいくつあるか、という意味で使用しています。 周波数1なら波1つ、2なら波2つ。0は横一直線の波です。横一直線が波と呼べるかはわかりませんが。
  • 振幅
  • 位相

振幅


 振幅は波の高さを表します。 図では縦方向の大きさです。

位相


 位相は波の位置を表します。 図では横方向の移動量です。

波の合成体験ツール


 3つの波の合成を体験できるツールを作成しました。 簡易的なものではありますが、ぜひ触って、波の合成を資格的に確認してみてください。
 波の1番が、2番が、3番がで表現されています。 黒い波が合成されたものです。 パラメーター次第で特徴のある波が作れると思います。



まとめ


 本記事では、フーリエ変換による周波数成分への分解の理解のため、波の合成を視覚的に確認することで解説しました。
 次回の記事では、フーリエ変換の高速化について、プログラミングの最適化の一般論を交えて解説します。

補足


・今回説明したフーリエ変換は、厳密には離散フーリエ変換です。これはデジタルデータを処理するフーリエ変換です。

カテゴリー:オーディオ推し,Webアプリケーション
[PR]