• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: C/C++
  • 标签: FFT  算法  C语言  

资源简介

快速傅里叶变换 (fast Fourier transform), 即利用计算机计算离散傅里叶变换(DFT)的高效、快速计算方法的统称,简称FFT。本程序以C语言为平台,实现了按时间抽取的基-2FFT算法(蝶形算法)。具体见https://blog.csdn.net/SXGY_07/article/details/87902235

资源截图

代码片段和文件信息

#include 
#include 
#include “myfft.h“
#define Ns 128
#define Fs 50
/* run this program using the console pauser or add your own getch system(“pause“) or input loop */
int main(int argc char *argv[]) {
int i;
float xr[Ns]xi[Ns]y1r[Ns]y1i[Ns]y2r[Ns]y2i[Ns];//输入信号和输出信号的实部虚部
float y1[Ns]y2[Ns];//傅里叶变换结果的幅度 
for(i=0;i xr[i]=mysin(2*3.1415926*i/Fs);
xi[i]=0;
}
dft(xry1ry1iNs1);
fft(xrxiy2ry2iNs1);
for(i=0;i y1[i]=mysqrt(y1r[i]*y1r[i]+y1i[i]*y1i[i]);
y2[i]=mysqrt(y2r[i]*y2r[i]+y2i[i]*y2i[i]);
}
printf(“傅里叶变换结果\n“); 
for(i=0;i printf(“X[%-2d] = (%- 6.3f+j%- 6.3f)\t(%- 6.3f+j%- 6.3f)\n“iy1r[i]y1i[i]y2r[i]y2i[i]);
}
printf(“幅度\n“);
for(i=0;i float f=1.0*i*Fs/Ns;
printf(“F = %-10.3fA = X[%-2d] = %-10.3f%-10.3f\n“fiy1[i]y2[i]);
}
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        920  2019-02-24 11:59  main.c

     文件       3053  2019-02-24 11:43  myfft.c

     文件       2595  2019-02-23 21:36  data.h

     文件        409  2019-02-24 11:43  myfft.h

----------- ---------  ---------- -----  ----

                 6977                    4


评论

共有 条评论