⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fft2.cpp

📁 基2 fft的基本原理
💻 CPP
字号:
#include "fft2.h"


void reverse(complex *X,int N)
{
    //complex *X1=new complex [N];
    int i=0,j=0,k=0;
    complex temp(0,0);
    for(i=0;i<N-1;i++)
    {
        if(i<j)
        {
           temp=X[i];
           X[i]=X[j];
           X[j]=temp;
        }
        k=N>>1;
        while(k<=j)
        {
            j-=k;
            k>>=1;
        }
        j+=k;
    }
}


void fft2(complex *X,int N)
{
    complex WNR(1,1);
    int i=0,r=0,k=0,m=0,M=0;
    M=(int)log2(N);
    reverse(X,N);
    for(m=0;m<M;m++)
    {
        k=(int)pow(2.0,m);
        for(r=0;r<k;r++)
        {
            complex temp(cos(r*PI/k),-sin(r*PI/k));
            for(i=r;i<N;i+=k*2)
            {
                WNR=X[i+k]*temp;
                X[i+k]=X[i]-WNR;
                X[i]=X[i]+WNR;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -