fft的使用方法

简介: fft的使用方法

具体代码如下:

#include "mainwindow.h"
#include "math.h"
#include "fftw/fftw3.h"
#include <QApplication>
#include <stdio.h>
#define N 16
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    int i;
    fftw_complex *din,*out;
    fftw_plan p;
    din  = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
    out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
    if((din==NULL)||(out==NULL))
    {
        qDebug("Error:insufficient available memory\n");
    }
    else
    {
        for(i=0; i<N; i++)/*测试数据*/
        {
            din[i][0] = i+1;
            din[i][1] = 0;
        }
    }
    p = fftw_plan_dft_1d(N, din, out, FFTW_FORWARD,FFTW_ESTIMATE);
    fftw_execute(p); /* repeat as needed */
    fftw_destroy_plan(p);
    fftw_cleanup();
    for(i=0;i<N;i++)/*OUTPUT*/
    {
        qDebug("%f,%fi\n",din[i][0],din[i][1]);
    }
    qDebug("\n");
    for(i=0;i<N;i++)/*OUTPUT*/
    {
        qDebug("%f,%fi\n",out[i][0],out[i][1]);
    }
    if(din!=NULL) fftw_free(din);
    if(out!=NULL) fftw_free(out);
    getchar();
    MainWindow w;
    w.show();
    return a.exec();
}

执行效果如下:

相关文章
|
2月前
|
存储 Serverless Python
`quad()` 函数是 `scipy.integrate` 模块中的一个函数,用于计算一维函数的数值积分。其基本语法如下:
`quad()` 函数是 `scipy.integrate` 模块中的一个函数,用于计算一维函数的数值积分。其基本语法如下:
|
4月前
|
存储 计算机视觉 Python
【python版CV】-直方图 & 傅里叶变换
【python版CV】-直方图 & 傅里叶变换
|
存储 编译器
[Eigen中文文档] 编写以特征类型为参数的函数(二)
Eigen使用表达式模板的方式导致每个表达式的类型可能都不同。如果将这样的表达式传递给一个需要Matrix类型参数的函数,则表达式将隐式地被评估为一个临时Matrix,然后再传递给函数。这意味着失去了表达式模板的好处。
73 0
|
机器学习/深度学习 数据可视化 PyTorch
visdom的用法,详细的介绍torch相关案例
Visdom是一款用于创建交互式可视化的Python库,通常在深度学习中用于监视训练进度和可视化结果。在PyTorch中,可以使用Visdom轻松地创建图形和可视化数据。在这个例子中,我们首先使用 torchvision.utils.make_grid 方法加载了一批随机生成的图像,并使用 visdom.image 方法将其可视化。然后,我们创建了一些随机的二维数据,并使用 visdom.scatter 方法将其可视化为散点图。 需要注意的是,Visdom的Web界面支持实时更新,这意味着在训练模型或执行其他任务时,可以使用Visdom实时监视进度和结果。
225 0
|
Python
python以三维tensor为例详细理解unsqueeze和squeeze函数
python以三维tensor为例详细理解unsqueeze和squeeze函数
221 0
python以三维tensor为例详细理解unsqueeze和squeeze函数
python SMAP_level2c nc 文件做线性拟合:y=ax+b
最近再处理卫星盐度数据时,通过时空匹配以及质量控制之后,需要对所得数据进行拟合分析。进而分析其误差分布、原因等。 根据学习,python中自带线性拟合的函数,使用起来较为方便快捷~
python SMAP_level2c nc 文件做线性拟合:y=ax+b
|
PyTorch 算法框架/工具
pytorch中meter.ClassErrorMeter()使用方法
pytorch中meter.ClassErrorMeter()使用方法
160 0
|
存储 机器学习/深度学习 计算机视觉
Python编程:cv2模块对图像处理的基本操作(2)
Python编程:cv2模块对图像处理的基本操作
148 0
Python编程:cv2模块对图像处理的基本操作(2)
|
计算机视觉 Python
Python编程:cv2模块对图像处理的基本操作(1)
Python编程:cv2模块对图像处理的基本操作
213 0
Python编程:cv2模块对图像处理的基本操作(1)
|
计算机视觉
基于梵·高《向日葵》的 图像阈值处理专题(二值处理、反二值处理、截断处理、自适应处理及Otsu方法)【Python-Open_CV系列(六)】(上))
基于梵·高《向日葵》的 图像阈值处理专题(二值处理、反二值处理、截断处理、自适应处理及Otsu方法)【Python-Open_CV系列(六)】
343 0
基于梵·高《向日葵》的 图像阈值处理专题(二值处理、反二值处理、截断处理、自适应处理及Otsu方法)【Python-Open_CV系列(六)】(上))