主要内容

fftw

定义确定FFT算法的方法

描述

方法= fftw(“计划”)返回快速傅里叶变换函数的方法fftfft2fftn传输线ifft2,ifftn用于确定转换算法。默认方法是“估计”,它根据数据的大小决定算法。

例子

以前= 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.072485秒。
抽搐;fft (X);toc;
经过的时间是0.000179秒。

将当前双精度转换算法参数赋值给变量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