chengrangzhuot376 2016-07-12 00:07 采纳率: 0%
浏览 1358

大神帮我看看这个FFT函数(java)的输入和输出都是什么

我对FFT只是了解概念,所以这个函数看不大懂,麻烦各位了。

static void fft(double x[],double y[],int n,int sign)
{
int i,j,k,l,m=0,n1,n2;
double c,c1,e,s,s1,t,tr,ti;
for(j=i=1;i<16;i++)
{
m=i;
j=2*j;
if(j==n)
{
break;
}
}

    for(n1=n-1,j=0,i=0;i<n1;i++)
    {
        if(i<j)
        {
            tr=x[j];
            ti=y[j];
            x[j]=x[i];
            y[j]=y[i];
            x[i]=tr;
            y[i]=ti;
        }
        k=n/2;
        while(k<(j+1))
        {
            j=j-k;
            k=k/2;
        }
        j=j+k;
    }

    for(n1=l=1;l<=m;l++)
    {
        n1=2*n1;
        n2=n1/2;
        e=3.14159265359/n2;
        c=1.0;
        s=0.0;
        c1=Math.cos(e);
        s1=-sign*Math.sin(e);
        for(j=0;j<n2;j++)
        {

            for(i=j;i<n;i+=n1)
            {
                k=i+n2;
                tr=c*x[k]-s*y[k];
                ti=c*y[k]+s*x[k];
                x[k]=x[i]-tr;
                y[k]=y[i]-ti;
                x[i]=x[i]+tr;
                y[i]=y[i]+ti;
            }
            t=c;
            c=c*c1-s*s1;
            s=t*s1+s*c1;
        }
    }
    if(sign==-1)
    {
        for(i=0;i<n;i++)
        {
            x[i]/=n;
            y[i]/=n;
        }
    }
}
  • 写回答

1条回答 默认 最新

  • csxiaoz 2016-07-12 05:14
    关注

    这种输出是什么的问题,为什么不自己运行一下呢

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器