Main Content

高速フーリエ変換関数の生成コードの最適化

高速フーリエ変換 (FFT) 関数の生成コードは複数のターゲット CPU に展開できます。FFT 関数の展開可能なコードを生成するには、いくつかの変更が必要です。ターゲット ハードウェアに必要な FFT の実装とライブラリを使用して、最適化されたコードを生成します。コード ジェネレーターで、MATLAB® FFT 関数 (fftfft2fftnifftifft2ifftn) のコードを生成したり、カスタム FFTW ライブラリを MATLAB FFT 関数と共に使用して生成コードを最適化したりできます。DSP System Toolbox™ 実装 (dsp.FFT (DSP System Toolbox) およびdsp.IFFT (DSP System Toolbox)) のコードを生成することもできます。

FFT ワークフローの固定小数点コードを生成するには、DSP System Toolbox 実装を使用します。これらの実装では、必要な FFT ワークフローに従って固定小数点プロパティが設定されています。dsp.FFT (DSP System Toolbox)を参照してください。

Intel ターゲットのサポート

MATLAB FFT 実装および DSP System Toolbox 実装の生成コードを Intel® ターゲット CPU に展開できます。サポート対象の実装で次の表に示す入力のサポートが提供されます。

FFT 実装入力のサポートリファレンス
スタンドアロン コード内の MATLAB FFT 関数
  • 2 のべき乗、2 のべき乗以外

  • 可変サイズの doublesingle の入力

既定では、コード ジェネレーターは FFT ライブラリ呼び出しを生成するのではなく、FFT アルゴリズムのスタンドアロン コードを生成します。
スタンドアロン コード内の MATLAB FFT 関数とカスタム FFTW ライブラリ

  • 2 のべき乗、2 のべき乗以外

  • 可変サイズの doublesingle の入力

最適化は、いずれもターゲット CPU のデータ型のサポートに依存します。

ターゲット CPU に応じた FFTW ライブラリを使用する方法は次のとおりです。

  • ターゲット CPU 向けにコンパイルされた FFTW ライブラリを入手する。

  • それらのライブラリをサードパーティから入手するか、独自にコンパイルしたものを使用する。

生成されたスタンドアロン コードでの FFTW ライブラリ呼び出しを使用した高速フーリエ変換の高速化を参照してください。

スタンドアロン C コード内の dsp.FFT (DSP System Toolbox) 関数
  • 2 のべき乗

  • 固定サイズの doublesingle の入力

可変サイズの入力は FFTW ライブラリがないとサポートされません。dsp.FFT (DSP System Toolbox) を参照してください。
スタンドアロン C コード内の dsp.FFT (DSP System Toolbox) 関数と FFTW ライブラリ
  • 2 のべき乗、2 のべき乗以外

  • 可変サイズの doublesingle の入力

'FFTImplementation' プロパティを 'FFTW' に設定します。

  • この設定では、プラットフォーム固有のプリコンパイル済みライブラリが使用されます。たとえば、Linux® マシンで生成したコードしか別の Linux マシンで使用できません。

  • 生成コードは MATLAB インストールとは別に実行されます。

ARM ターゲットのサポート

MATLAB FFT 実装および DSP System Toolbox 実装の生成コードを ARM® ターゲット CPU に展開できます。サポート対象の実装で次の表に示す入力のサポートが提供されます。

FFT 実装入力のサポートリファレンス
スタンドアロン コード内の MATLAB FFT 関数
  • 2 のべき乗、2 のべき乗以外

  • 可変サイズの doublesingle の入力

既定では、コード ジェネレーターは FFT ライブラリ呼び出しを生成するのではなく、FFT アルゴリズムのスタンドアロン コードを生成します。詳細は、以下を参照してください。
スタンドアロン コード内の MATLAB FFT 関数とカスタム FFTW ライブラリ
  • 2 のべき乗、2 のべき乗以外

  • 可変サイズの doublesingle の入力

最適化は、いずれもターゲット CPU のデータ型のサポートに依存します。
ターゲット CPU に応じた FFTW ライブラリを使用する方法は次のとおりです。
  • ターゲット CPU 向けにコンパイルされた FFTW ライブラリを入手する。

  • それらのライブラリをサードパーティから入手するか、独自にコンパイルしたものを使用する。

スタンドアロン C コード内の dsp.FFT (DSP System Toolbox) 関数
  • 2 のべき乗

  • 固定サイズの doublesingle の入力

可変サイズの入力は FFTW ライブラリがないとサポートされません。
スタンドアロン C コード内の dsp.FFT (DSP System Toolbox) 関数と CRL/サポート パッケージ
  • 2 のべき乗

  • 可変サイズの single の入力

MEX ターゲットのサポート

高速フーリエ変換関数の MEX コードを生成するときは、サポート対象の実装で次の表に示すサポートが提供されます。

FFT 実装入力のサポートリファレンス
MEX コード内の MATLAB FFT 関数
  • 2 のべき乗、2 のべき乗以外

  • 可変サイズの doublesingle の入力

FFT 関数の MEX 関数を生成した場合、コード ジェネレーターは MATLAB FFT アルゴリズムを使用します。

MEX コード内の dsp.FFT (DSP System Toolbox) 関数
  • 2 のべき乗

  • 固定サイズの doublesingle の入力

可変サイズの入力は FFTW ライブラリがないとサポートされません。
MEX コード内の dsp.FFT (DSP System Toolbox) 関数と FFTW ライブラリ
  • 2 のべき乗、2 のべき乗以外

  • 可変サイズの doublesingle の入力

'FFTImplementation' プロパティを 'FFTW' に設定します。
  • この設定では、プラットフォーム固有のプリコンパイル済みライブラリが使用されます。たとえば、Linux マシンで生成したコードしか別の Linux マシンで使用できません。

  • 生成コードは MATLAB インストールとは別に実行されます。

参考

| | | | | | (DSP System Toolbox) | (DSP System Toolbox)

関連するトピック

外部の Web サイト