• 大小: 7.04KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: C/C++
  • 标签: c  

资源简介


C语言编写的1024点的FFT,以前做国赛的时候自己写的,分享出来大家一起用吧,里面写了基本的用法,有编程基础的人很快就看懂了,使用查表法做的,内存占用也做了极大优化,目前在STM32上,72M的计算速度为200-300ms,因为用的是1024点全局变量,所以在计算的时候会用到 8 * 1024 B = 8.192k 的内存,建议单片机 RAM 至少在 10 k以上,以免导致程序无法运行,因为点数比较大,内存占用较多,所以建议选用STM32这种运行速度较快的单片机

资源截图

代码片段和文件信息

#include “bsp_fft.h“
#include “bsp_tab_fft.h“

Complex_TypeDef Complex_Mult(Complex_TypeDef com1Complex_TypeDef com2)
{
Complex_TypeDef temp;
temp.real = com1.real * com2.real - com1.image * com2.image;
temp.image = com1.real * com2.image + com1.image * com2.real;
return temp;
}

Complex_TypeDef Complex_Add(Complex_TypeDef com1Complex_TypeDef com2)
{
Complex_TypeDef temp;
temp.real = com1.real + com2.real;
temp.image = com1.image + com2.image;
return temp;
}

Complex_TypeDef Complex_Sub(Complex_TypeDef com1Complex_TypeDef com2)
{
Complex_TypeDef temp;
temp.real = com1.real - com2.real;
temp.image = com1.image - com2.image;
return temp;
}

Complex_TypeDef FFT_Wnk(int nint k)
{
Complex_TypeDef temp;
//temp.real = cos(2 * PI * (float)k / (float)n);
//temp.image = -sin(2 * PI * (float)k / (float)n);
int nk = (int)(FFT_N * k / n); //计算一次,加快运算速度
temp.real = Cos_Wnk_Tab[nk]; //使用查表法,加快运行速度
temp.image

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1255  2017-09-04 21:31  bsp_fft.h
     文件       14077  2017-08-08 14:36  bsp_tab_fft.h
     文件        1148  2017-09-04 21:33  main.c
     文件        3340  2017-09-04 21:20  bsp_fft.c

评论

共有 条评论