ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

fft2

2 次元の高速フーリエ変換

構文

Y = fft2(X)
Y = fft2(X,m,n)

説明

Y = fft2(X)X の 2 次元離散フーリエ変換 (DFT) を返します。DFT は、高速フーリエ変換 (FFT) アルゴリズムを使用して計算されます。結果の Y は、X と同じサイズになります。

X の次元が 2 より大きい場合は、関数 fft2X の高次元のスライスそれぞれに 2 次元 DFT を返します。たとえば、size(X) = [100 100 3] の場合は、関数 fft2X(:,:,1)X(:,:,2) および X(:,:,3) の DFT を計算します。

Y = fft2(X,m,n) は、変換を行う前に、X を打ち切るか X にゼロを付加することにより、mn 列の配列を作成します。この結果は、mn 列の行列です。

データ型のサポート

関数 fft2 では、入力のデータ型として double および single をサポートしています。関数 fft2 の呼び出しに構文 y = fft2(X, ...) を使用する場合、出力 y は入力 X と同じデータ型になります。

アルゴリズム

fft2(X) は、単純に次のような計算を行います。

fft(fft(X).').'

この関数は、X の列ごとに 1 次元 DFT を計算し、次に、その結果の行ごとに FFT を計算します。関数 fft の実行時間は、変換する長さに依存します。長さが 2 のべき乗の場合、最も高速です。そして、小さな素因数のみの組み合わせからなるものが、次に高速になります。一般に、素数の長さ、または大きな素因数を含む長さの場合は、数倍遅くなります。

    メモ:   ユーティリティ関数 fftw を使用することにより、関数 fft2 の速度を向上できる可能性があります。このユーティリティ関数は、特定のサイズと次元の FFT 計算に使用されるアルゴリズムを MATLAB® ソフトウェアが最適化する方法を制御します。

参考

| | | |

R2006a より前に導入

この情報は役に立ちましたか?