zhangheu 发表于 2007-5-11 11:08

请问这是vc++的傅立叶转换程序吗?

本帖最后由 wdhd 于 2016-9-6 13:26 编辑

  VOID WINAPI FFT(complex * TD, complex * FD, int r)
  {
  // 付立叶变换点数
  LONG count;
  // 循环变量
  int i,j,k;
  // 中间变量
  int bfsize,p;
  // 角度
  double angle;
  complex *W,*X1,*X2,*X;
  // 计算付立叶变换点数
  count = 1 << r;
  // 分配运算所需存储器
  W = new complex;
  X1 = new complex;
  X2 = new complex;
  // 计算加权系数
  for(i = 0; i < count / 2; i++)
  {
  angle = -i * PI * 2 / count;
  W = complex (cos(angle), sin(angle));
  }
  // 将时域点写入X1
  memcpy(X1, TD, sizeof(complex) * count);
  // 采用蝶形算法进行快速付立叶变换
  for(k = 0; k < r; k++)
  {
  for(j = 0; j < 1 << k; j++)
  {
  bfsize = 1 << (r-k);
  for(i = 0; i < bfsize / 2; i++)
  {
  p = j * bfsize;
  X2 = X1 + X1;
  X2 = (X1 - X1) * W[i * (1<
  }
  }
  X = X1;
  X1 = X2;
  X2 = X;
  }
  // 重新排序
  for(j = 0; j < count; j++)
  {
  p = 0;
  for(i = 0; i < r; i++)
  {
  if (j&(1<
  {
  p+=1<<(r-i-1);
  }
  }
  FD=X1;
  }
  // 释放内存
  delete W;
  delete X1;
  delete X2;
  }
  上面这段程序,是用vc++编写的吗?
  能够实现傅立叶变换吗?
  能够直接用而不经过过任何修改吗?
  要是需要修改,怎么修改亚?
  还请各位大侠相助亚??
  十万火急!!!!!!

zhangheu 发表于 2007-5-11 21:29

请大家帮忙亚

:'( :'( :'(



这些人都要郁闷死 了:'( :'( :'( :'(
页: [1]
查看完整版本: 请问这是vc++的傅立叶转换程序吗?