fft2
2 次元の高速フーリエ変換
説明
例
2 次元変換
2 次元フーリエ変換は、2 次元信号やイメージなどその他の 2 次元データを処理する場合に役立ちます。
ブロックの繰り返しを含む 2 次元データを作成してプロットします。
P = peaks(20); X = repmat(P,[5 10]); imagesc(X)
データの 2 次元フーリエ変換を計算します。ゼロ周波数成分を出力の中心にシフトし、結果の 100 行 200 列の行列をプロットします。これは X
と同じサイズです。
Y = fft2(X); imagesc(abs(fftshift(Y)))
X
をゼロでパディングして、128 行 256 列の変換を計算します。
Y = fft2(X,2^nextpow2(100),2^nextpow2(200)); imagesc(abs(fftshift(Y)));
入力引数
X
— 入力配列
行列 | 多次元配列
入力配列。行列または多次元配列として指定します。X
の型が single
である場合、fft2
はネイティブ レベルの単精度で計算し、Y
の型も single
になります。それ以外の場合、Y
は double
型として返されます。
データ型: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
複素数のサポート: あり
m
— 変換する行数
正の整数スカラー
変換する行数。正の整数スカラーとして指定します。
データ型: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
n
— 変換する列数
正の整数スカラー
変換する列数。正の整数スカラーとして指定します。
データ型: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
詳細
2 次元フーリエ変換
次の式は、m 行 n 列の行列 X の離散フーリエ変換 Y を定義します。
ωm と ωn は 1 の複素根です。
i は虚数単位、p と j は 0 から m–1 までのインデックス、q と k は 0 から n–1 までのインデックスです。この式では、MATLAB® の行列インデックスを反映して、X と Y のインデックスを 1 シフトしています。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
MEX 出力の場合、MATLAB Coder™ は MATLAB が FFT アルゴリズムに使用するライブラリを使用します。スタンドアロン C/C++ コードの場合、コード ジェネレーターは既定で、FFT ライブラリの呼び出しを生成する代わりに FFT アルゴリズムのコードを生成します。特定のインストールされた FFTW ライブラリの呼び出しを生成するには、FFT ライブラリ コールバック クラスを指定します。FFT ライブラリ コールバック クラスの詳細については、
coder.fftw.StandaloneFFTW3Interface
(MATLAB Coder) を参照してください。MATLAB Function ブロックのシミュレーションの場合、シミュレーション ソフトウェアは MATLAB が FFT アルゴリズムに使用するライブラリを使用します。C/C++ コード生成の場合、コード ジェネレーターは既定で、FFT ライブラリの呼び出しを生成する代わりに FFT アルゴリズム用のコードを生成します。特定のインストールされた FFTW ライブラリの呼び出しを生成するには、FFT ライブラリ コールバック クラスを指定します。FFT ライブラリ コールバック クラスの詳細については、
coder.fftw.StandaloneFFTW3Interface
(MATLAB Coder) を参照してください。コード置換ライブラリ (CRL) を使用して、Neon 拡張を含む ARM® Cortex®-A Processors で実行される最適化されたコードを生成できます。最適化されたコードを生成するには、Embedded Coder® Support Package for ARM Cortex-A Processors (Embedded Coder Support Package for ARM Cortex-A Processors) をインストールしなければなりません。ARM Cortex-A で生成されたコードは Ne10 ライブラリを使用します。詳細については、Ne10 Conditions for MATLAB Functions to Support ARM Cortex-A Processors (Embedded Coder Support Package for ARM Cortex-A Processors) を参照してください。
コード置換ライブラリ (CRL) を使用して、ARM Cortex-M Processors で実行される最適化されたコードを生成できます。最適化されたコードを生成するには、Embedded Coder Support Package for ARM Cortex-M Processors (Embedded Coder Support Package for ARM Cortex-M Processors) をインストールしなければなりません。ARM Cortex-M で生成されたコードでは、CMSIS ライブラリを使用します。詳細については、CMSIS Conditions for MATLAB Functions to Support ARM Cortex-M Processors (Embedded Coder Support Package for ARM Cortex-M Processors) を参照してください。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
虚数部がすべてゼロであっても、出力
Y
は常に複素数です。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)