24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 367  |  回复: 2
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

winner00

铁杆木虫 (著名写手)

[交流] 【求助】求助C++算法 互相关 FFT变换【已完结】

求助C++算法 互相关   FFT变换
求两个信号的互相关函数数据,并且如果是两个数据之间存在时间漂移 得到漂移量。   对两个信号量的 FFT 变换
请高手指点一二
谢谢
有程序最好啦
谢谢你大虾


yufeng8121@sina.com.cn

[ Last edited by 波不动 on 2009-11-26 at 13:02 ]
回复此楼

» 猜你喜欢

上天可以赐食于鸟,但决不会置食于鸟巢;只有自己亲自去寻找,才会得到那最美味的“佳肴”!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

波不动

木虫 (正式写手)

Wave No Move

★ ★ ★
余泽成(金币+1,VIP+0):辛苦了! 11-25 23:32
winner00(金币+2,VIP+0):感谢啦 11-26 13:00
如果两个相同信号存在时移,输出时移量的问题,其实就是相当于求得的相关结果的极大值对应的时间值,就是回波信号的延迟时间。
只要将程序改一下就可以实现了!你可以自己试一下,判断得到的相关结果y的极大值的时间然后输出来!!

[ Last edited by 波不动 on 2009-11-25 at 22:57 ]
端好自己的碗,吃好自己的饭。
3楼2009-11-25 22:54:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

波不动

木虫 (正式写手)

Wave No Move

★ ★ ★ ★ ★ ★ ★ ★ ★
余泽成(金币+1,VIP+0):谢谢应助! 11-25 23:32
winner00(金币+8,VIP+0):非常感谢你的回复 11-26 12:59
这我经常用的两个C++语言的代码,一个是最简单的互相关函数,一个是FFT的函数。有问题的话,请跟帖回复。
CODE:
//相关计算(计算x[n]与h[m]的互相关,结果为y[n])
void cor(double *x,int n,double *h,int m,double *y)
{
        int i,j;
        for(i=0;i         {
                y[i]=0.0;
                for(j=0;j                 {
                        if(i<=j)
                                y[i]+=x[j]*h[j-i];
                }
        }
}

CODE:
//                    一维快速傅里叶变换程序(kfft)                       
// n=采样点数;K=蝶形维数;l=0正变换,1反变换;il=0输出为频谱,1输出振幅谱和相位谱
void kfft(float pr[],float pi[],int n,int k,float fr[],float fi[],int l,int il)
  { int it,m,is,i,j,nv,l0;
    float p,q,s,vr,vi,poddr,poddi;
    for (it=0; it<=n-1; it++)
      { m=it; is=0;
        for (i=0; i<=k-1; i++)
          { j=m/2; is=2*is+(m-2*j); m=j;}
        fr[it]=pr[is]; fi[it]=pi[is];
      }
    pr[0]=1.0; pi[0]=0.0;
    p=6.283185306/(1.0*n);
    pr[1]=cos(p); pi[1]=-sin(p);
    if (l!=0) pi[1]=-pi[1];
    for (i=2; i<=n-1; i++)
      { p=pr[i-1]*pr[1]; q=pi[i-1]*pi[1];
        s=(pr[i-1]+pi[i-1])*(pr[1]+pi[1]);
        pr[i]=p-q; pi[i]=s-p-q;
      }
    for (it=0; it<=n-2; it=it+2)
      { vr=fr[it]; vi=fi[it];
        fr[it]=vr+fr[it+1]; fi[it]=vi+fi[it+1];
        fr[it+1]=vr-fr[it+1]; fi[it+1]=vi-fi[it+1];
      }
    m=n/2; nv=2;
    for (l0=k-2; l0>=0; l0--)
      { m=m/2; nv=2*nv;
        for (it=0; it<=(m-1)*nv; it=it+nv)
          for (j=0; j<=(nv/2)-1; j++)
            { p=pr[m*j]*fr[it+j+nv/2];
              q=pi[m*j]*fi[it+j+nv/2];
              s=pr[m*j]+pi[m*j];
              s=s*(fr[it+j+nv/2]+fi[it+j+nv/2]);
              poddr=p-q; poddi=s-p-q;
              fr[it+j+nv/2]=fr[it+j]-poddr;
              fi[it+j+nv/2]=fi[it+j]-poddi;
              fr[it+j]=fr[it+j]+poddr;
              fi[it+j]=fi[it+j]+poddi;
            }
      }
    if (l!=0)
      for (i=0; i<=n-1; i++)
        { fr[i]=fr[i]/(1.0*n);
          fi[i]=fi[i]/(1.0*n);
        }
    if (il!=0)
      for (i=0; i<=n-1; i++)
        { pr[i]=sqrt(fr[i]*fr[i]+fi[i]*fi[i]);
          if (fabs(fr[i])<0.000001*fabs(fi[i]))
            { if ((fi[i]*fr[i])>0) pi[i]=90.0;
              else pi[i]=-90.0;
            }
          else
            pi[i]=atan(fi[i]/fr[i])*360.0/6.283185306;
        }
    return;
  }

[ Last edited by 波不动 on 2009-11-25 at 22:47 ]
端好自己的碗,吃好自己的饭。
2楼2009-11-25 22:46:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂求院校招收 +5 鹤鲸鸽 2026-03-28 5/250 2026-03-29 01:10 by 我是小康
[考研] 一志愿郑州大学,080500学硕,总分317分求调剂 +5 举个栗子oi 2026-03-24 6/300 2026-03-28 23:03 by lizhi8172
[考研] 学硕274求调剂 +9 Li李鱼 2026-03-26 9/450 2026-03-28 21:42 by bymhappy
[考研] 0703本科郑州大学求调剂 +3 nhj_ 2026-03-25 3/150 2026-03-28 13:24 by Iveryant
[考研] 311求调剂 +9 lin0039 2026-03-26 9/450 2026-03-28 13:05 by 唐沐儿
[考研] 一志愿南京航空航天大学材料学硕求调剂 +3 @taotao 2026-03-28 3/150 2026-03-28 10:26 by JourneyLucky
[考研] 材料与化工考研调剂 +17 孅華 2026-03-22 17/850 2026-03-28 08:35 by WYUMater
[材料工程] 一志愿C9材料与化工专业总分300求调剂 +8 曼111 2026-03-24 9/450 2026-03-28 07:58 by YYYYX1234
[考研] 315分求调剂 +7 26考研上岸版26 2026-03-26 7/350 2026-03-28 04:05 by fmesaito
[考研] 285求调剂 +4 AZMK 2026-03-27 7/350 2026-03-27 20:59 by AZMK
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
[考研] 考研调剂 +4 Sanmu-124 2026-03-26 4/200 2026-03-27 17:49 by kiokin
[考研] 材料与化工085600,总分304,本科有两篇sci参与,求调剂 +10 幸运的酱酱 2026-03-22 12/600 2026-03-27 16:08 by muchong357
[考研] 315调剂 +4 0860求调剂 2026-03-26 5/250 2026-03-27 11:23 by wangjy2002
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-03-26 3/150 2026-03-26 19:57 by nihaoar
[考研] 求调剂 +8 Auroracx 2026-03-22 8/400 2026-03-26 19:55 by 不吃魚的貓
[考研] 081700 调剂 267分 +11 迷人的哈哈 2026-03-23 11/550 2026-03-26 15:41 by zzll406
[考研] 290分调剂求助 +3 吉祥止止陈 2026-03-25 3/150 2026-03-25 19:58 by barlinike
[考研] 0854人工智能方向招收调剂 +4 章小鱼567 2026-03-24 4/200 2026-03-25 13:29 by 2177681040
[考研] 一志愿南航材料专317分求调剂 +5 炸呀炸呀炸薯条 2026-03-23 5/250 2026-03-24 16:52 by 星空星月
信息提示
请填处理意见