首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt Creator中的FFTW

Qt Creator中的FFTW
EN

Stack Overflow用户
提问于 2020-02-17 21:48:18
回答 1查看 339关注 0票数 0

我试着写一个从IQ数据计算FFTW的程序。Windows 10 64位。Qt Creator 4.8.2基于Qt 5.12.2 (MSVC 2015,32位)当我使用

代码语言:javascript
复制
fftw_plan_dft_1d(N, in, out, FFT_FORWARD, FFTW_ESTIMATE);

我下载了fftw-3.3.5-dll64和dll32,结果是一样的。

.pro

代码语言:javascript
复制
INCLUDEPATH += $$PWD/fftw-3.3.5-dll32
QMAKE_LIBDIR += $$PWD/fftw-3.3.5-dll32
LIBS += $$PWD/fftw-3.3.5-dll32/ -llibfftw3-3
LIBS += $$PWD/fftw-3.3.5-dll32/ -llibfftw3f-3
LIBS += $$PWD/fftw-3.3.5-dll32/ -llibfftw3l-3

.cpp

代码语言:javascript
复制
include "fftw3.h"

int main()
{
    int N;
    fftw_complex *in, *out;
    fftw_plan myPlan;

    in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)* N);
    out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)* N);


    fftw_plan_dft_1d(N, in, out, FFT_FORWARD, FFTW_ESTIMATE);  //this line crashed the program.

    fftw_execute(myPlan);

    fftw_destroy_plan(myPlan);
    fftw_free(in);
    fftw_free(out);
}

我希望有人能帮助我。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-02-17 23:14:06

这与Windows无关,也与QtCreator无关。你必须正确地编写程序。

fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE); //this line crashed the program.

这不是崩溃的那条线。这条线很好。下一个将完全意料之中地崩溃,因为您从未分配过myPlan

myPlan = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);

将更正您的问题。前提是您将N设置为合理的值。我相信你至少也应该设置in。当然,你想要傅立叶变换,在你的随机存储器中,任何发生在in上的东西。这是件很酷的事情。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60263887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档