ドキュメンテーション

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

ifft

逆フーリエ高速変換

構文

y = ifft(X)
y = ifft(X,n)
y = ifft(X,[],dim)
y = ifft(X,n,dim)
y = ifft(..., 'symmetric')
y = ifft(..., 'nonsymmetric')

説明

y = ifft(X) は高速フーリエ変換 (FFT) アルゴリズムを使ってベクトル X の逆離散フーリエ変換 (DFT) を返します。X が行列の場合、関数 ifft は、行列の各列ごとの逆 DFT を返します。

関数 ifft は、アクティブ次元に沿って X のベクトルが "共役対称" であるかどうかテストします。共役対称である場合、計算が高速になり、出力は実数になります。N 要素のベクトル x は、x の各要素に対して x(i) = conj(x(mod(N-i+1,N)+1)) の場合に、共役対称になります。

X が多次元配列の場合、関数 ifft は、最初に大きさが 1 でない次元に作用します。

y = ifft(X,n) はベクトル Xn 点の逆 DFT を返します。

y = ifft(X,[],dim)y = ifft(X,n,dim) は次元 dimX の逆 DFT を返します。

y = ifft(..., 'symmetric') の場合、関数 ifft はアクティブ次元に沿って X を共役対称として扱います。このオプションは、丸め誤差だけの原因で X が共役対称にならない場合に便利です。

y = ifft(..., 'nonsymmetric') は引数 'nonsymmetric' を使用せずに ifft(...) を呼び出した場合と同様です。

任意の X に対して、ifft(fft(X)) は、丸め誤差内で X と同じです。

データ型のサポート

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

詳細

すべて折りたたむ

アルゴリズム

ifft(X) のアルゴリズムは、符号変更と n = length(X) のスケール係数を除いて、fft(X) と同じアルゴリズムを使っています。fft と同様に、関数 ifft の実行時間は、変換の長さにより異なります。長さが 2 のべき乗の場合、最も高速です。そして、小さな素因数のみの組み合わせからなるものが、次に高速になります。一般に、素数の長さ、または大きな素因数を含む長さの場合は、数倍遅くなります。

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

参考

| | | | |

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