声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1550|回复: 4

[C/C++] 求c++傅立叶变换的源程序

[复制链接]
发表于 2007-12-15 21:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
不知能否给我传一份,谢谢大家
回复
分享到:

使用道具 举报

发表于 2007-12-16 14:11 | 显示全部楼层

回复 #1 t12211017 的帖子

  1. #define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr

  2. fft( double* data, int nn, int isign)
  3. // numerical recipies routine "four1.c"
  4. {
  5.         int n,mmax,m,j,istep,i;
  6.         double wtemp,wr,wpr,wpi,wi,theta;
  7.         double tempr,tempi;

  8.         n=nn << 1;
  9.         j=1;
  10.         for (i=1;i<n;i+=2) {
  11.                 if (j > i) {
  12.                         SWAP(data[j],data);
  13.                         SWAP(data[j+1],data[i+1]);
  14.                 }
  15.                 m=n >> 1;
  16.                 while (m >= 2 && j > m) {
  17.                         j -= m;
  18.                         m >>= 1;
  19.                 }
  20.                 j += m;
  21.         }
  22.         mmax=2;
  23.         while (n > mmax) {
  24.                 istep=2*mmax;
  25.                 theta=6.28318530717959/(isign*mmax);
  26.                 wtemp=sin(0.5*theta);
  27.                 wpr = -2.0*wtemp*wtemp;
  28.                 wpi=sin(theta);
  29.                 wr=1.0;
  30.                 wi=0.0;
  31.                 for (m=1;m<mmax;m+=2) {
  32.                         for (i=m;i<=n;i+=istep) {
  33.                                 j=i+mmax;
  34.                                 tempr=wr*data[j]-wi*data[j+1];
  35.                                 tempi=wr*data[j+1]+wi*data[j];
  36.                                 data[j]=data-tempr;
  37.                                 data[j+1]=data[i+1]-tempi;
  38.                                 data += tempr;
  39.                                 data[i+1] += tempi;
  40.                         }
  41.                         wr=(wtemp=wr)*wpr-wi*wpi+wr;
  42.                         wi=wi*wpr+wtemp*wpi+wi;
  43.                 }
  44.                 mmax=istep;
  45.         }
  46. }

  47. #undef SWAP
复制代码

[ 本帖最后由 风花雪月 于 2007-12-24 11:14 编辑 ]

评分

1

查看全部评分

发表于 2007-12-19 16:21 | 显示全部楼层
我在matlab版发了一个帖子,本人拙作。
发表于 2007-12-24 11:15 | 显示全部楼层
发表于 2008-1-26 15:03 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-11 17:01 , Processed in 0.081778 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表