アルゴリズム (IFFT)

IFFTは、逆フーリエ変換(IDFT)を実行する高速なアルゴリズムで、DFTの処理を元に戻します。データF_nのIDFTは、次の式で定義できます。

x_i=\frac{1}{N}\sum _{n=0}^{N-1}F_ne^{\frac{2\pi j}{N}ni}

OriginのFFTと逆FFTの計算は、FFTWライブラリを使って実行しています。FFTWでは、FFTの計算は、“codelets”と呼ばれるC言語のコードブロックで構成されるエグゼキュータにより実行されます。各codeletは、変換の一部に指定されています。これらのcodeletsを使って、エグゼキュータはCooley-TurkeyのFFTアルゴリズムを実行し、これの考えは入力信号のサイズ(Nで表される)をN_1N_2にファクタリングするものです。再帰的ファクタリングによって、信号は短く分けられます。短く分けられた変換の結果は乗算され、最終的に元の信号の変換が計算されます。FFTWについての詳細は、http://fftw.org/をご覧下さい。

サンプリング間隔の自動計算に関する詳細は、FFTツールのアルゴリズムをご覧下さい。

ウィンドウ法

ウィンドウ法は漏れを抑えるのに使用します。Originで利用できる異なるウィンドウの種類が次のように定義されます。

矩形ウィンドウ

w[n]=1\,\!(0\leq n\leq N-1に対して) それ以外は0です。

Welchウィンドウ

w[n]=1-\left( \frac{n-\frac 12(N-1)}{\frac 12(N+1)}\right) ^2

Triangularウィンドウ

奇数: w(n)=\frac 2{N+1}(\frac {N+1}2-|n+1-\frac {N+1}2|)
偶数: w(n)=\frac 2N(\frac N2-|n+1-\frac {N+1}2|)

Bartlettウィンドウ:

w(n)=\frac 2{N-1}(\frac{N-1}2-|n-\frac{N-1}2|)

Hanningウィンドウ

w[n]=\frac 12[1-\cos (\frac{2\pi n}{N-1})]

Hammingウィンドウ

w[n]=0.54-0.46\cos (\frac{2\pi n}{N-1})

Blackmanウィンドウ

w[n]=0.42-0.5\cos (\frac{2\pi n}{N-1})+0.08\cos (\frac{4\pi n}{N-1})

Gaussianウィンドウ

w[n]=exp(-0.5(Alpha( \frac{2n}{N-1}-1 ))^2) \,\!

Kaiserウィンドウ

w[n]=I(beta*\sqrt{1-(\frac{2n}{N-1}-1)^2}) / I(beta) \,\!