如何编写快速傅里叶变换的程序(FFT)

longman 2000-02-11 05:39:00
希望得到您的帮助,THANK YOU VERY MUCH!

注:C程序也行。
...全文
399 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
蚊子王 2001-09-23
  • 打赏
  • 举报
回复
gz
茂奇软件 2000-03-13
  • 打赏
  • 举报
回复
here is the asm forum.
hope you can put it in the C/C++

thanks.
asm master.
yours jansen.
longman 2000-02-21
  • 打赏
  • 举报
回复
非常感激您的回复。我将认真地研究您的程序。希望能提供汇编程序的FFT程序。
如有任何问题,希望能进一步请教!谢谢。
NowCan 2000-02-15
  • 打赏
  • 举报
回复
void __fastcall fft1(complex<double> a[],complex<double> b[],int n,int k)
{
//n是采样点数,n=2^k,a[]是原始序列,b[]是变换后的序列
const PI=3.14159;
int it,m,ii,j,i,me,l,lpk;
complex<double> u,w,t;
for(it=0;it<n;it++){
m=it;ii=0;
for(i=0;i<k;i++){
j=m/2;ii=2*ii+(m-2*j);
m=j;
}
//printf("%d %d\n",it,ii);
b[it]=a[ii];
//cout<<b[it]<<"\n";
}
for(m=1;m<=k;m++){
u=complex<double>(1.0,0.0);
me=pow(2,m);
ii=me/2;
w=complex<double>(cos(PI/ii),-sin(PI/ii));
for(j=0;j<ii;j++){
for(l=j;l<n;l+=me){
lpk=l+ii;t=b[lpk]*u;
b[lpk]=b[l]-t;b[l]=b[l]+t;
}
u*=w;
}
}
}
这个子程序在BCB3中调试通过,是上学时编的,如有错误,本人概不负责!
kxy 2000-02-11
  • 打赏
  • 举报
回复
把分给我,我给你发邮件,c的和一些网址:)

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧