離散フーリエ変換(DFT) - 三角関数表現

このチュートリアルは、時系列スペクトル分析に関する現在進行中のシリーズの2回目です。今回は、Excelでの離散フーリエ変換、その解釈、そして時間領域での応用についての議論を続けます。

DFTは基本的に数学的な変換であり、少々退屈かもしれないが、このチュートリアルが、NumXLの関数とウィザードを使うことによって、より深い理解と直感を残してくれることを願っている。

背景

DFTに関する最初のエントリーを発表して以来、いくつかの問い合わせがありました。特に、入力データセットを三角正弦関数の和として表現するためにDFTコンポーネントを使用することについてです。問い合わせの動機は、この表現を使って中間値を補間し、場合によっては入力データセットから外挿(予測)することにありました。

原理的には、DFTは離散的な観測値のセットを連続的な三角関数(つまりサインとコサイン)に変換する。つまり、元の信号は次のように表すことができます:

$$x(t)=\frac{1}{N}\left ( A_o+\sum_{i=1}^N A_i\times cos(\omega\times i \times t + \phi_i)\right )$$

どこで:

  • $x(t)$ は時刻 $t$.
  • $t$ は観測が行われた離散時間である。
  • $t \in \left \{ 0,1,2 \cdots N-1 \right \}$.
  • $N$ は、入力データ集合のオブザベーション数である。
  • $\omega = \frac{2\pi}{N}$ は基本周波数または原理周波数である。
  • $A_i\angle \phi_i$ はi番目の離散フーリエ成分の振幅と位相である。

分析

有限級数に近い方のフーリエ変換の成分(振幅と位相)を調べると、次のようなことがわかる:

T/2を中心とした対称性とTに等しい長さの周期を示すDFT振幅のプロット。

OR
$A_k\angle \phi_k = A_{N-k}\angle -\phi_{N-k}$
$A_k\angle \phi_k = A_{N+k}\angle \phi_{N+k}$

 

  1. 振幅の系列は、$N/2$成分を中心に対称です。
  2. $k$成分の位相は、$N-k$成分の位相の負の値です。

要するに、元の入力データセットを復元するために必要なのは、DFT成分の前半部分だけである。元の時間は以下の成分で表される:

$$x(t)=\frac{1}{N}\left( A_o+2\times\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i)\right)$$

証明

$$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) +\sum_{i=N/2+1}^N A_i\times cos(\omega\times i \times t + \phi_i) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) +\sum_{i=N/2+1}^N A_{N-i}\times cos(\omega\times i \times t - \phi_{N-i}) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) +\sum_{i=1}^{N/2} A_i\times cos(\omega\times (N-i) \times t - \phi_i) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) + A_i\times cos(\omega\times (N-i) \times t - \phi_i) \right)$$ $$x(t)=\frac{1}{N}\left( A_o+\sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i) + A_i\times cos(2\pi\times t -(\omega\times i \times t + \phi_i)) \right)$$ $$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2} A_i\times cos(\omega\times i \times t + \phi_i)\right)$$

重要: 入力データセットが偶数サイズの場合、最後のDFT成分は2倍にする必要はありません。したがって、入力データのコサイン表現は次のように表されます:

$$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2-1} A_i\times cos(\omega\times i \times t + \phi_i)+ A_{N/2}\times cos(\omega\times \frac{N}{2} \times t + \phi_{N/2})\right)$$ $$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2-1} A_i\times cos(\omega\times i \times t + \phi_i)+ A_{N/2}\times cos(\pi \times t + \phi_{N/2})\right)$$ $$x(t)=\frac{1}{N}\left( A_o + 2\times \sum_{i=1}^{N/2-1} A_i\times cos(\omega\times i \times t + \phi_i)+ A_{N/2}\times cos(\phi_{N/2})cos(\pi \times t)\right)$$

結論

離散フーリエ変換を用いて、離散入力データセットを決定論的連続三角関数の和として表現する。

離散的な時間インスタンスで定義される元のデータとは異なり、フーリエ表現は連続的であるため、すべての時間値で定義される。この連続的な表現を使って、この範囲内の任意の値を補間することができます(ただし、外挿/予測はできません)。

  添付ファイル

コメント

記事コメントは受け付けていません。

この記事は役に立ちましたか?
4人中3人がこの記事が役に立ったと言っています