请选择 进入手机版 | 继续访问电脑版
快捷导航
0 59

mips交叉编译FFTW库

小亮 于 2018-10-23 10:27 发表在 [技术分享] [复制链接]
本帖最后由 小亮 于 2018-10-23 10:40 编辑

1.下载FFTW3.3.8, www.fftw.org/download.html2.解压:tar -zxvf fftw-3.3.8.tar.gz
  1. chmod +x bootstrap.sh
  2. ./bootstrap.sh  
  3. ./configure CXX=mipsel-openwrt-linux-gnueabihf-g++ CC=mipsel-openwrt-linux-gcc --host=mipsel-linux LIBS="-lm"
复制代码
2.执行命令make,make install
3.安装完成后能看见fftw3.h,libfftw.a

4.测试代码
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <errno.h>
  5. #include "fftw3.h"
  6. #define N 8
  7. int main()
  8. {        
  9.         int i = 0;
  10.     fftw_complex *in,*out;
  11.     fftw_plan p;

  12.     in = (fftw_complex *) fftw_malloc (sizeof(fftw_complex) * N);
  13.     out = (fftw_complex *) fftw_malloc (sizeof(fftw_complex) * N);
  14.    
  15.     if (in == NULL || out == NULL)
  16.     {
  17.             printf("Error in or out NULL\n");
  18.     }else
  19.     {
  20.             for (i = 0; i < N; ++i)
  21.             {
  22.                     in[i][0] = i+1.0;
  23.                     in[i][1] = 0.0;
  24.                     // printf("%.2f ",in[i]);
  25.             }
  26.     }
  27.     p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
  28.     fftw_execute(p);
  29.     for (i = 0; i < N; ++i)
  30.     {
  31.             printf("%f,%f\n",in[i][0],in[i][1]);
  32.     }
  33.     printf("\r\n");
  34.     for (i = 0; i < N; ++i)
  35.     {
  36.             printf("%f,%f\n",out[i][0],out[i][1]);
  37.     }
  38.     printf("\r\n");
  39.     fftw_destroy_plan(p);
  40.     fftw_free(in);
  41.     fftw_free(out);
  42.         return 0;
  43. }

复制代码
5.编译

  1. mipsel-openwrt-linux-gcc -L/usr/local/lib -I /usr/local/include -o fftw fftw.c -lfftw3 -lm
复制代码
6.在MT7688上正确执行结果
  1. root@ZhuoTK:/mnt# ./fftw
  2. 1.000000,0.000000
  3. 2.000000,0.000000
  4. 3.000000,0.000000
  5. 4.000000,0.000000
  6. 5.000000,0.000000
  7. 6.000000,0.000000
  8. 7.000000,0.000000
  9. 8.000000,0.000000

  10. 36.000000,0.000000
  11. -4.000000,9.656854
  12. -4.000000,4.000000
  13. -4.000000,1.656854
  14. -4.000000,0.000000
  15. -4.000000,-1.656854
  16. -4.000000,-4.000000
  17. -4.000000,-9.656854
复制代码
参考博客:https://blog.csdn.net/zz603976046/article/details/78063210

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Connecting & Messaging from Any.

共 0 个关于本帖的回复 最后回复于 2018-10-23 10:27

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐板块

精彩推荐

热门排行

明星用户

手机版|小黑屋|AnyMSG ( ©AnyMSG 2009 - 2017 · ICP备16009991号 )

GMT+8, 2019-4-25 12:36