FFTW编译使用过程
来源:互联网 发布:员工管理系统数组java 编辑:程序博客网 时间:2024/05/16 14:30
现在时间是2017.09.22
FFTW号称是世界上最快的FFT变换,因为算法优化需要,现在移植记录一下使用过程
1.下载FFTW3.3.6
www.fftw.org/download.html
chmod +x bootstrap.sh./bootstrap.sh ./configure CXX=arm-hisiv300-linux-g++ CC=arm-hisiv300-linux-gcc --host=arm-linux LIBS="-lm" make make install
fft.c: In function 'fftw3_fft':
fft.c:1221:14: error: subscripted value is neither array nor pointer nor vector
in[i][0] = xr[i];
^
fft.c:1222:14: error: subscripted value is neither array nor pointer nor vector
in[i][1] = xi[i];
^
fft.c:1230:24: error: subscripted value is neither array nor pointer nor vector
xr[i] = out[i][0];
^
fft.c:1231:24: error: subscripted value is neither array nor pointer nor vector
xi[i] = out[i][1];
解决:看文档上说一下定义
//typedef double fftw_complex[2];
如果在#include "fftw3.h"前添加了#include <complex.h>表示需要你的编译器支持C99,否则请不要加#include <complex.h>(我是ARM,不支持c99,不要加#include <complex.h>)
//FFT_Tables没什么用,下面是使用案例//FFTW使用//#include <complex.h> //HI3531A不支持C99 不需要加这个头#include "fftw3.h"void fftw3_fft( FFT_Tables *fft_tables, double *xr, double *xi, int logm){// fftw_complex *in, *out;// fftw_plan p;int N = 1<<logm;int i = 0;fftw_complex *fftw_in, *fftw_out;fftw_plan fftw_p;fftw_in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 1024 );fftw_out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 1024 );// 输入数据in赋值for (i = 0; i<N; i++) {fftw_in[i][0] = xr[i];fftw_in[i][1] = xi[i];}fftw_p = fftw_plan_dft_1d(N, fftw_in, fftw_out, FFTW_FORWARD, FFTW_MEASURE);fftw_execute(fftw_p); // 执行变换for (i = 0; i<N; i++) {xr[i] = fftw_out[i][0]; //实部xi[i] = fftw_out[i][1]; //虚部}fftw_destroy_plan(fftw_p);fftw_free(fftw_in);fftw_free(fftw_out);}
- FFTW编译使用过程
- FFTW编译以及使用
- fftw 使用
- FFTW库在ARM平台上的使用(1) 交叉编译FFTW库
- fftw 编译安装说明
- fftw库的使用
- fftw的使用
- FFTW使用小结
- vs2010 fftw安装使用
- FFTW的使用
- fftw的使用
- FFTW使用小结
- FFTW 库使用
- fftw
- 在Mac OS X 10.9 上使用 NDK r9c 编译 FFTW 3.3.3
- fftw 的安装和使用
- Windows安装和使用fftw
- fftw windows 下安装使用
- 服务器双通道与单通道的差别
- Adaboost人脸检测介绍(都是大白话)
- 3. 微信支付的配置:
- Cesium应用篇:3控件(4)Geocoder
- 欢迎使用CSDN-markdown编辑器
- FFTW编译使用过程
- 使用python编写csv转parquet脚本
- Cesium应用篇:3控件(5)CesiumInspector
- CentOs环境下配置SMTP
- NYOJ 1058 部分和问题(dfs)
- vector和list的使用
- 系统间通信——RPC实例Apache Thrift
- 解决SQLSERVER查询连接数据库表问题:OLE DB 访问接口 "MSDASQL" 为列提供的元数据不一致
- 转载 基于bayer型阵列的空间域插值