• 大小: 336KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Html/CSS
  • 标签: FFT  

资源简介

本压缩包包含7种不同的FFT代码和测试程序,并给出各个FFT程序的性能对比数据。更详细的信息请参见http://topic.csdn.net/t/20060328/11/4644901.html。 这7种FFT代码包括。 1. galois_godel()给出的程序 2. http://topic.csdn.net/t/20060222/13/4570436.html中的程序 3. 朱志刚的FFT程序。 4. 我自己(liangbch)写的两个程序 5. mixfft,来自http://hjem.get2net.dk/jjn/fft.htm 6. http://momonga.t.

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
void four1(double data[] int nn int isign)
{
    int njimmmaxistep;
    double temprtempithetawprwpiwrwiwtemp;
    n = 2 * nn;
    j = 1;
    for (i = 1; i<=n; i=i+2)
    {
        if(j > i)
        {
            tempr = data[j];
            tempi = data[j + 1];
            data[j] = data[i];
            data[j + 1] = data[i + 1];
            data[i] = tempr;
            data[i + 1] = tempi;
        }
        m = n / 2;
        while (m >= 2 && j > m)
        {
            j = j - m;
            m = m / 2;
        }
        j = j + m;
    }
    mmax = 2;
    while(n > mmax)
    {
        istep = 2 * mmax;
        theta = 6.28318530717959 / (isign * mmax);
        wpr = -2.0 * sin(0.5 * theta)*sin(0.5 * theta);
        wpi = sin(theta);
        wr = 1.0;
        wi = 0.0;
        for(m = 1; m<=mmax; m=m+2)
        {
            for (i = m; i<=n; i=i+istep)
            {
                j = i + mmax;
                tempr=double(wr)*data[j]-double(wi)*data[j+1];
                tempi=double(wr)*data[j+1]+double(wi)*data[j];
                data[j] = data[i] - tempr;
                data[j + 1] = data[i + 1] - tempi;
                data[i] = data[i] + tempr;
                data[i + 1] = data[i + 1] + tempi;
            }
            wtemp = wr;
            wr = wr * wpr - wi * wpi + wr;
            wi = wi * wpr + wtemp * wpi + wi;
        }
        mmax = istep;
    }
}
 
/*
void twofft(double data1[] double data2[] double fft1[] double fft2[] int& n)
{
    int jn2j2;
    double c1rc1ic2rc2iconjrconjih1rh1ih2rh2i;
    c1r = 0.5;
    c1i = 0.0;
    c2r = 0.0;
    c2i = -0.5;
    for (j = 1; j<=n; j++)
    {
        fft1[2 * j - 1] = data1[j];
        fft1[2 * j] = data2[j];
    }
    four1(fft1 n 1);
    fft2[1] = fft1[2];
    fft2[2] = 0.0;
    fft1[2] = 0.0;
    n2 = 2 * (n + 2);
    for (j = 2; j<=n / 2 + 1; j++)
    {
        j2 = 2 * j;
        conjr = fft1[n2 - j2 - 1];
        conji = -fft1[n2 - j2];
        h1r=c1r*(fft1[j2-1]+conjr)-c1i*(fft1[j2]+conji);
        h1i=c1i*(fft1[j2-1]+conjr)+c1r*(fft1[j2]+conji);
        h2r=c2r*(fft1[j2-1]-conjr)-c2i*(fft1[j2]-conji);
        h2i=c2i*(fft1[j2-1]-conjr)+c2r*(fft1[j2]-conji);
        fft1[j2 - 1] = h1r;
        fft1[j2] = h1i;
        fft1[n2 - j2 - 1] = h1r;
        fft1[n2 - j2] = -h1i;
        fft2[j2 - 1] = h2r;
        fft2[j2] = h2i;
        fft2[n2 - j2 - 1] = h2r;
        fft2[n2 - j2] = -h2i;
    }
}
 

int cint(double x)
{
    int temp;
    double iprt;
    if (x>0)
    {
        x=modf(x&iprt);
        if(fabs(x)<0.5)
            temp=int(iprt);
        else
            temp=int(iprt+1);
    }
    else if(x==0)
        temp=0;
    else
    {
        x=modf(x&iprt);
       

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

     文件        645  2006-04-11 06:42  ffttest\test result\ooura_benchmark.txt

     文件        645  2006-04-11 06:43  ffttest\test result\mixfft_benchmark.txt

     文件        645  2006-04-11 06:44  ffttest\test result\lbcfft2_benchmark.txt

     文件        645  2006-04-11 06:44  ffttest\test result\lbcfft1_benchmark.txt

     文件        646  2006-04-11 06:47  ffttest\test result\galois_benchmark.txt

     文件        832  2006-04-11 06:48  ffttest\test result\zhu_benchmark.txt

     文件        645  2006-04-11 06:53  ffttest\test result\csdn_benchmark.txt

     文件        645  2006-04-11 06:44  ffttest\test\lbcfft1_benchmark.txt

     文件     118784  2006-04-11 06:35  ffttest\test\test_FFT.exe

     文件         28  2006-04-05 08:06  ffttest\test\config.h

     文件       3857  2006-04-11 06:38  ffttest\test\test_FFT.dsp

     文件        539  2006-04-11 06:38  ffttest\test\test_FFT.dsw

     文件       6340  2006-04-11 06:35  ffttest\test\test_FFT.c

     文件        645  2006-04-11 06:44  ffttest\test\lbcfft2_benchmark.txt

     文件        171  2006-04-04 22:51  ffttest\test\test_FFT.h

     文件      58368  2006-07-05 20:32  ffttest\test\test_FFT.ncb

     文件      48640  2006-07-05 20:32  ffttest\test\test_FFT.opt

     文件       8724  2000-10-30 21:58  ffttest\mix_fft\Fftbench.c

     文件      98304  2006-04-11 06:40  ffttest\mix_fft\test_speedFFT.exe

     文件       3626  2006-04-11 00:44  ffttest\mix_fft\test_speedFFT.dsp

     文件       1322  2006-04-11 00:45  ffttest\mix_fft\test_speedFFT.cpp

     文件        549  2006-04-11 00:29  ffttest\mix_fft\test_speedFFT.dsw

     文件      21118  2006-04-11 00:31  ffttest\mix_fft\Mixfft.c

     文件        645  2006-04-11 06:43  ffttest\mix_fft\benchmark.txt

     文件      23362  2005-06-29 21:58  ffttest\ooura_fft\fft4g.c

     文件      35849  1999-10-29 02:16  ffttest\ooura_fft\fft4g_h.c

     文件      47879  1999-10-25 02:15  ffttest\ooura_fft\fft8g.c

     文件      45573  1999-10-29 02:16  ffttest\ooura_fft\fft8g_h.c

     文件      89157  2001-10-30 02:17  ffttest\ooura_fft\fftsg.c

     文件      89749  2006-04-05 07:40  ffttest\ooura_fft\fftsg_h.c

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

评论

共有 条评论

相关资源