• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-09
  • 语言: 其他
  • 标签: fft  base2  DIF  频域  

资源简介

之前下载了某位大神的基2fft时间抽取的算法,我将其改了一下变成了一个测频的小实验,我觉得自己动手写fft代码能加深理解,现在很多地方要用到fft,不过频域抽取是主要的,所以我基于时间抽取法改了一下,改成了频域抽取,结果应该是大致一样的。但由于是自己改的,(大家也知道时间抽取和频域抽取的蝶形运算是不一样的)所以我自己改的代码有可能会有小bug,但是运行试验是完全没有问题的。能更优化的画希望大家提意见,然后哪位大神指导一下基4和分裂基的蝶形程序怎么写,想试试,在这里感激不尽!

资源截图

代码片段和文件信息

//base2fft-DIF  编译器 GCC 32  debug 
#include 
#include 
#include 
#include 
#define N 2048   //用 fft点数    
#define M 256    //generate序列点数 
#define ts 0.0005   //周期 
#define Fs (1/ts)   //频率 
/*定义复数类型*/
typedef struct
{
  double real;
  double img;
}complex;

typedef struct 
{
  double value;      //值 
  double position;   //所在位置 
}Spectrum_analysis;   //频谱分析 
 
 
Spectrum_analysis y[N];
complex x[N]*W;
double fre[N];
double xn[M];
double frequency=0.0;

   /*输入序列变换核*/
int size_x=N;      /*输入序列的大小,在本程序中仅限2的次幂*/
float PI=3.1415;         /*圆周率*/
void fft();     /*快速傅里叶变换*/
void initW();   /*初始化变换核*/
void change(); /*变址*/
void add(complex complex complex *); /*复数加法*/
void mul(complex complex complex *); /*复数乘法*/
vo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-08 20:30  基2fft频域抽取法\
     文件        6105  2019-05-08 20:28  基2fft频域抽取法\base2fft-DIF.c

评论

共有 条评论