23、Qt使用fftw3.3.5

一、下载

FFTW Installation on Windows

23、Qt使用fftw3.3.5_第1张图片

二、使用fftw

新建一个Qt项目,把“fftw3.h”和“libfftw3-3.dll”两个文件拷贝到项目目录下

23、Qt使用fftw3.3.5_第2张图片

在.pro中添加如下代码

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

23、Qt使用fftw3.3.5_第3张图片

右击项目名称,选择“添加现有文件”,选择“fftw3.h”

23、Qt使用fftw3.3.5_第4张图片

23、Qt使用fftw3.3.5_第5张图片

更改mainwindow.cpp中的代码如下

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "fftw3.h"
#include 
#include 

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

    fftw_complex *in;
    fftw_complex *out;
    fftw_plan p;
    int N = 10;
    int i;

    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] = i + 1;
        in[i][1] = 0;
    }

    p = fftw_plan_dft_1d(N,in,out, FFTW_FORWARD, FFTW_ESTIMATE);
    fftw_execute(p); /* repeat as needed*/

    fftw_destroy_plan(p);
    fftw_cleanup();

    for( i=0; i < N; i++)
    {
        qDebug() << out[i][0] << out[i][1];
    }

    fftw_free(in);
    fftw_free(out);
}

MainWindow::~MainWindow()
{
    delete ui;
}

三、运行测试

重新构建,运行程序,输出框输出如下内容

23、Qt使用fftw3.3.5_第6张图片

你可能感兴趣的:(Qt小功能,qt,开发语言)