FFTW

定义一种用于确定FFT算法

描述

方法= FFTW( '规划器')返回快速傅立叶变换函数的方法FFTFFT2FFTNIFFTifft2ifftn用它来确定变换算法。默认的方法是'估计',其确定基于所述数据的大小的算法。

以前= FFTW( '计划者',方法设置方法和任选地返回先前的方法。例如,FFTW( '计划者', '测量')选择基于所述数据的大小和类型最快的算法。

fftinfo= FFTW(智慧返回最佳变换建立在当前MATLAB参数®会议的精度在指定智慧。例如,fftinfo = FFTW( 'dwisdom')保存当前的双精度转换参数。

以前= FFTW(智慧fftinfo适用于参数fftinfo到变换算法中指定的精度智慧

例子

全部收缩

FFTW功能可以提高傅立叶的性能通过尝试优化计算基于所述数据的大小和类型的变换函数。

清除任何现有的双精度转换参数。

FFTW('dwisdom',[]);

设置方法为当前MATLAB®会话中优化傅立叶变换到'测量'

FFTW(“规划师”'测量');

定义一个随机向量,并使用FFT函数来计算傅立叶变换。FFT使用一种算法会尝试优化计算为500×1变换。第一次调用FFT可以比正常的要慢,但后续调用将显著加快。

X =兰特(500,1);抽动;FFT(X);TOC;
经过时间是0.013077秒。
抽动;FFT(X);TOC;
经过时间是0.000126秒。

分配当前的双精度变换算法参数,以可变fftinfo以备后用。

fftinfo = FFTW('dwisdom');

应用存储在变量的参数信息fftinfo未来的变换函数调用。

FFTW('dwisdom',fftinfo);

输入参数

全部收缩

方法,用于设置参数的变换,指定为以下情况之一:

  • '估计'- 确定最佳猜测变换算法基于问题的大小。

  • '测量'- 查找计算多个变换和测量的运行时间更好的算法。

  • '患者'- 运行更宽范围的测试相比的'测量',从而更好的变换算法,但在更高的计算成本为代价来确定参数。

  • “详尽”- 运行所有测试,包括那些不太可能是最佳的,导致最好的算法,但最高计算成本来确定参数。

  • “混合”- 使用的组合'测量'用于与维长度8192或更小的和变换'估计'用于与维长度大于8192大的变换。

数据类型:烧焦|

变换参数的精度,指定为'swisdom'要么'dwisdom'。选项'swisdom'指定变换为单精度计算参数,并'dwisdom'指定参数,双精度计算。

数据类型:烧焦

变换参数,指定为的变换由返回的参数的字符阵列FFTW(智慧)或空数组[]。空数组[]清除该数据库。

数据类型:烧焦

提示

  • 通过变换返回的参数FFTW保存并使用相同版本的MATLAB每届会议一台计算机上应用时是最有用的。在计算机之间传输保存的参数可能会导致性能下降,即使两台计算机具有相同的操作系统和MATLAB版本。

算法

  • 用于变换的长度是2/2之间的权力14和222,MATLAB使用来自其内部数据库预先加载的信息以优化变换计算。除非您使用命令清空数据库不为2确切的权力执行调整FFTW(智慧,[])

参考

[1] FFTW(http://www.fftw.org

扩展功能

也可以看看

|||||

R2006a前推出