14、Qt使用fftw(1)

一、下载fftw

FFTW Installation on Windows

1、我用的32位Qt,所以下载的这个

14、Qt使用fftw(1)_第1张图片

2、可以新建一个项目,在cpp中加入下面的代码去判断Qt是32位的还是64位的

#ifdef _WIN64 //64位 win
    qDebug() << "Windows X64" << endl;
#else
    qDebug() << "Windows X86" << endl;
#endif

3、下载好了,解压,包含如下东西 

14、Qt使用fftw(1)_第2张图片

二、 使用

1、创建一个测试项目

14、Qt使用fftw(1)_第3张图片

2、在项目目录下创建一个fftw目录,把如下两个文件拷贝过来

14、Qt使用fftw(1)_第4张图片

3、在.pro中添加

LIBS += -L$$PWD/fftw3 -llibfftw3-3

14、Qt使用fftw(1)_第5张图片

4、在.cpp中添加如下代码

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "./fftw3/fftw3.h"
#include 
#define N 5

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    /**********************一维复数DFT变换,复数到复数**********************/
    fftw_complex *in1_c, *out1_c;//声明复数类型的输入数据in1_c和FFT变换的结果out1_c
    fftw_plan p;//声明变换策略
    in1_c = (fftw_complex*)fftw_malloc(sizeof(fftw_complex)* N);//申请动态内存,这里构造二维数组的方式值得学习
    out1_c = (fftw_complex*)fftw_malloc(sizeof(fftw_complex)* N);
    p = fftw_plan_dft_1d(N, in1_c, out1_c, FFTW_FORWARD, FFTW_ESTIMATE);//返回变换策略

    int n;
    for (n = 0; n

14、Qt使用fftw(1)_第6张图片

5、构建->运行,查看输出结果

14、Qt使用fftw(1)_第7张图片

你可能感兴趣的:(Qt小功能-Windows,qt,windows,c++)