• 大小: 56KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 定点FFT  

资源简介

32位整数的1024点FFT变换,总结网上资料,比较适合16或32位单片机使用!

资源截图

代码片段和文件信息

#include 
#include “fft.h“

struct compx    //定义一个复数结构体
{
  float real; 
  float imag;
};

// 冒泡法排序函数
void BubbleSort(float pt[] int Cnt)
{
int k      = 0;
        float temp = 0;
while (Cnt > 0)
{
for (k=0; k {
if (pt[k] < pt[k+1])
{
temp    = pt[k];
pt[k]   = pt[k+1];
pt[k+1] = temp;
}
}
Cnt--;
}
}

//复数乘法
struct compx EE(struct compx b1 struct compx b2)
{
struct compx b3;
b3.real = b1.real*b2.real - b1.imag*b2.imag;
b3.imag = b1.real*b2.imag + b1.imag*b2.real;
return (b3);
}

//快速傅立叶变换-FFT
void FFT(struct compx *xin int Num)
{
int f m LH nm i k j L;
double p ps ;
int le B ip;
float pi;
struct compx w t;

LH = Num / 2; 
f  = Num;
for (m=1; (f=f/2)!=1; m++);     // 2^m=N
{
for (L=m; L>=1; L--)          // 这里和时域的也有差别

le = (int)pow(2 L);
B  = le / 2;                // 每一级碟形运算间隔的点数
pi = 3.1415926;
for (j=0; j<=B-1; j++)
{
p  = pow(2 m-L) * j;
ps = 2*pi/Num*p;
w.real = cos(ps);
w.imag = -sin(ps);
for (i=j; i<=Num-1; i=i+le)
{
ip = i+B;  
t  = xin[i];
xin[i].real = xin[i].real + xin[ip].real;
xin[i].imag = xin[i].imag + xin[ip].imag;  
xin[ip].real = xin[ip].real - t.real;
xin[ip].imag = xin[ip].imag - t.imag;     
xin[ip] = EE(xin[ip] w);
}
}
}
}
// 变址运算
nm = Num - 2;   
j  = Num / 2;
for (i=1; i<=nm; i++)
{
if (i < j)
{
t = xin[j];
xin[j] = xin[i];
xin[i] = t;
}
k = LH;
while (j >= k)
{
j -= k;
      k /= 2;
}
j += k;
}
}

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

     文件       1977  2013-08-24 15:12  fft_int\BoardConfig.h

     文件      28672  2013-11-17 19:57  fft_int\fft.aps

     文件       1699  2013-08-24 14:41  fft_int\fft.c

     文件       2289  2013-11-17 20:53  fft_int\fft.clw

     文件       4155  2013-09-11 08:42  fft_int\fft.cpp

     文件       3101  2013-08-24 18:12  fft_int\fft.dep

     文件       4617  2013-11-17 21:46  fft_int\fft.dsp

     文件        531  2013-09-11 08:42  fft_int\fft.dsw

     文件      52202  2013-08-24 13:50  fft_int\fft.ewp

     文件       1323  2013-09-11 08:42  fft_int\fft.h

     文件     132096  2013-11-20 21:42  fft_int\fft.ncb

     文件      50688  2013-11-20 21:42  fft_int\fft.opt

     文件       4102  2013-11-20 21:41  fft_int\fft.plg

     文件      10502  2013-09-11 08:42  fft_int\fft.rc

     文件       1682  2013-09-11 08:42  fft_int\fftDoc.cpp

     文件       1442  2013-09-11 08:42  fft_int\fftDoc.h

     文件       4057  2013-11-17 20:43  fft_int\fftint.cpp

     文件       1295  2013-11-18 21:35  fft_int\fftint.h

     文件      15728  2013-11-20 21:12  fft_int\fftView.cpp

     文件       2296  2013-11-19 20:36  fft_int\fftView.h

     文件       2464  2013-08-24 16:11  fft_int\main.c

     文件       2504  2013-09-11 08:42  fft_int\MainFrm.cpp

     文件       1581  2013-09-11 08:42  fft_int\MainFrm.h

     文件       4239  2013-09-11 08:42  fft_int\ReadMe.txt

     文件       1078  2013-09-11 08:42  fft_int\res\fft.ico

     文件        395  2013-09-11 08:42  fft_int\res\fft.rc2

     文件       1078  2013-09-11 08:42  fft_int\res\fftDoc.ico

     文件       1078  2013-09-11 08:42  fft_int\res\Toolbar.bmp

     文件        488  2013-09-11 08:42  fft_int\Resource.h

     文件        205  2013-09-11 08:42  fft_int\StdAfx.cpp

............此处省略6个文件信息

评论

共有 条评论

相关资源