# fftw

fftwライブラリに基づく高速フーリエ変換

## 呼び出し手順

    [y]=fftw(x)
                [y]=fftw(x,sign)
                [y]=fftw(x,sign,dim,incr)
                [y]=fftw(x,sign,[dim1 dim2 ...dimN],[incr1 incr2 ...incrN])

## パラメータ

y,x

  実数/複素数データの行列/ベクトル. 変換される入出力データ.

sign

  整数. 1 または -1. 直接または間接変換を指定します.

dim

  整数. 変換の次元(長さ)を指定します.

incr

  整数. 変換の幅を設定します.

## 説明

この関数は, FFTWライブラリにより順方向/逆方向の離散フーリエ変換 (DFT) を行います.

この関数によりベクトル, 2次元, 多次元変換を計算できます.

fftw 構文の詳細については, fft scilab 関数を参照ください.

FFTWライブラリの詳細については,FFTW Web サイトを参照ください : http://www.fftw.org

注意: fftw 関数は,再利用するために 最新のパラメータを自動的にメモリに保存します.

これにより，連続的なコールを行った場合の 所要時間が大幅に改善されます.

## 例

    //simple vector direct transform
    a = rand(50,1)+%i*rand(50,1);
    y = fftw(a);
    y = fftw(a,-1);
    //inverse transform
    b = fftw(y,1);

    //2D transform
    a = rand(512,512)+%i*rand(512,512);
    y = fftw(a);

    //M-D transform -old calling sequence-
    a = rand(120,1);
    y = a;
    dim=[5 6 4];incr=[1 5 30];
    for i=1:3
      y = fftw(y,-1,dim(i),incr(i));
    end

    //M-D transform -new calling sequence-
    //More efficient than old
    y = fftw(a,-1,[5 6 4],[1 5 30]);
    b = fftw(y,1,[5 6 4],[1 5 30]);

## 参照

- fftw_flags
- get_fftw_wisdom
- set_fftw_wisdom
- fftw_forget_wisdom

## 参考文献

Matteo Frigo and Steven G. Johnson, "FFTW Documentation" http://www.fftw.org/#documentation