一、下载
FFTW Installation on Windows
二、使用fftw
新建一个Qt项目,把“fftw3.h”和“libfftw3-3.dll”两个文件拷贝到项目目录下
在.pro中添加如下代码
LIBS += -L$$PWD/ -llibfftw3-3
右击项目名称,选择“添加现有文件”,选择“fftw3.h”
更改mainwindow.cpp中的代码如下
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "fftw3.h"
#include <QVector>
#include <QDebug>
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;
}
三、运行测试
重新构建,运行程序,输出框输出如下内容