主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

coder.fftw.StandaloneFFTW3Interfaceクラス

パッケージ:coder.fftw
スーパークラス:

生成されたコード内でFFTW呼び出しに対してFFTWライブラリを指定する抽象クラス

説明

coder.fftw.StandaloneFFTW3InterfaceはFFTライブラリコールバッククラスを定義するための抽象クラスです。FFTライブラリコールバッククラスは,MATLAB®高速フーリエ変換関数用に生成されたC / c++コードで使用するFFTライブラリを指定します。FFTWライブラリのFFTコールバッククラスを定義するには,3.2版本以降でcoder.fftw.StandaloneFFTW3Interfaceクラスを使用します。たとえば,useMyFFTWという名前のFFTライブラリコールバッククラスを定義するには,クラス定義ファイルの1行目に次のコードを記述します。

classdef useMyFFTW < code .fftw. standalonefftw3interface . classdef useMyFFTW < code .fftw. standalonefftw3interface . classdef
FFTWライブラリの詳細については,www.fftw.orgを参照してください。

MATLAB高速フーリエ変換関数にはfftfft2fftn传输线ifft2ifftnが含まれます。次の条件がすべて真の場合,コードジェネレーターはこれらの関数に対してFFTWライブラリの呼び出しを生成します。

  • MATLAB编码器™を使用してスタンドアロンのC / c++コード(スタティックライブラリ,ダイナミックリンクライブラリ,または実行可能プログラム)を生成するか,金宝app®编码器を使用してMATLAB函数ブロックからC / c++コードを生成する。

  • FFTWライブラリのインストール(版本3.2以上)にアクセスできる。

  • coder.fftw.StandaloneFFTW3Interfaceから派生するFFTライブラリコールバッククラスでFFTWライブラリインストールを指定する。

  • 適切な構成パラメーターをコールバッククラスの名前に設定する。

    • MATLAB编码器codegenコマンドを使用したコード生成の場合,CustomFFTCallbackを設定する。

    • MATLAB编码器アプリを使用したコード生成の場合,[カスタムFFTライブラリのコールバック]を設定する。

    • 金宝app仿真软件编码器を使用したMATLAB函数ブロックのコード生成の場合,[カスタムFFTライブラリのコールバック]を設定する。

updateBuildInfoメソッドとgetNumThreadsメソッドを実装しなければなりません。

必要に応じて,次のメソッドを実装することができます。

  • getPlanMethod

  • および解锁

すべて静的メソッドです。

メソッド

getNumThreads FFTWライブラリの呼び出しに使用するスレッド数を返す
getPlanMethod FFTWプランメソッドを返す
FFTW計画へのアクセスをロックする
解锁 FFTW計画へのアクセスをロック解除する
updateBuildInfo 特定のFFTWライブラリにリンクするためのビルド情報を更新する

すべて折りたたむ

インストールされた特定のFFTWライブラリをFFTライブラリコールバッククラスで指定します。

この例のFFTライブラリコールバッククラスをテンプレートとして使用します。

The MathWorks, Inc.版权所有classdefuseMyFFTW < coder.fftw.StandaloneFFTW3Interface方法(静态)函数th = getNumThreads code .inline(“总是”);th = int32 (coder.const (1));结束函数updateBuildInfo(buildInfo, ctx) fftwLocation =“/ usr / lib / fftw”;includePath = fullfile (fftwLocation,“包括”);buildInfo.addIncludePaths (includePath);libPath = fullfile (fftwLocation,“自由”);%的两倍libName1 =“libfftw3-3”;[~, libExt] = ctx.getStdLibInfo();libName1 = [libName1 libExt];addLinkObjects(buildInfo, libName1, libPath, 1000, true, true);%的单libName2 =“libfftw3f-3”;[~, libExt] = ctx.getStdLibInfo();libName2 = [libName2 libExt];addLinkObjects(buildInfo, libName2, libPath, 1000, true, true);结束结束结束

テンプレートを変更します。

  • useMyFFTWをコールバッククラスの名前に置き換えます。

  • FFTWのインストールで複数のスレッドを使用する場合,使用するスレッド数を返すようにgetNumThreadsメソッドを変更します。

  • updateBuildInfoメソッドで,次のように設定します。

    • fftwLocationに,ライブラリのインストール場所の絶対パスを設定する。

    • includePathfftw3.hを格納するフォルダーの絶対パスに設定する。

    • libPathに,ライブラリファイルが格納されるフォルダーの絶対パスを設定する。

R2017bで導入