fftw3使用方法,方便简单,有兴趣的可以来学习一下!
方法/步骤
1、下载输入可以为实数序列也可以为复数序列的C语言的子函数库,
2、安装安装lib.exe,其实这是VC、VS系列自带的工具,在VC6.0和VS2013中都有的,我机器上安装了VC6.及VS2013,lib.exe的路径如下:D:\ProgramFiles\MicrosoftVisualStudio\VC98\Bin(VC6.0的目录)D:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\bin(VS2013的目录)打开Windows的命令提示行窗口(CMD窗口),改变当前目录到D:\ProgramFiles\MicrosoftVisualStudio12\VC\bin(使用cd命令)
3、把下载的文件夹中的libfftw3-3.def,libfftw3f-3.def,libfftw3l-3.def也拷到bin文件夹中。运行下列代码。注意这里默认指定machine为X86架构,所以可能和网上其他的代码有些不一样。lib/def:libfftw3-3.deflib/def:libfftw3f-3.deflib/def:libfftw3l-3.def
4、将libfftw3f-3.dlllibfftw3-3.dlllibfftw3l-3.dll放入windows/system32中,然后将生成的库文件libfftw3-3.liblibfftw3f-3.liblibfftw3l-3.lib放入VS中的lib文件夹,把fftw3.h放入include文件夹。
5、在新建工程的时候,记得#include”fftw3.h“,然后设置参数:”项目“==>”项目属性”==>”配置属性”==>”链接器”==>”输入”==>”附加依赖项”,将以下三项添加进去:[这一步很重要!!!]libfftw3-3.liblibfftw3f-3.liblibfftw3l-3.lib
6、2.测碍测行臬试与使用示例2.1代码测试下面是一段测试代码:#include"fftw3.h"intmain(){fftw_complex*i荏鱿胫协n,*out;fftw_planp;intN=8;inti;intj;in=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*N);out=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*N);for(i=0;i<N;i++){in[i][0]=1.0;in[i][1]=0.0;printf("%6.2f",in[i][0]);}printf("\n");p=fftw_plan_dft_1d(N,in,out,FFTW_FORWARD,FFTW_ESTIMATE);fftw_execute(p);/*repeatasneeded*/for(j=0;j<N;j++){printf("%6.2f",out[j][0]);}printf("\n");fftw_destroy_plan(p);fftw_free(in);fftw_free(out);system("pause");//暂停return0;}
7、2.2蜣贺鱿柢代码使用示例使用FFTW编程的结构如下:#include<fftw3.h>...{fftw_complex*in,*out;fftw_p造婷用痃lanp;...in=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*N);out=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*N);//输入数据in赋值p=fftw_plan_dft_1d(N,in,out,FFTW_FORWARD,FFTW_ESTIMATE);fftw_execute(p);//执行变换...fftw_destroy_plan(p);fftw_free(in);fftw_free(out);}