久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3973|回復: 0
打印 上一主題 下一主題
收起左側

傅立葉算法的C語言實現

[復制鏈接]
跳轉到指定樓層
樓主
ID:80436 發表于 2015-5-22 00:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/***** 作者  _yuming           *************/

好犀利的傅里葉C算法!。∧ぐ

  1. #include "math.h"
  2.   void kfft(pr,pi,n,k,fr,fi,l,il)
  3.   int n,k,l,il;
  4.   double pr[],pi[],fr[],fi[];
  5.   { int it,m,is,i,j,nv,l0;
  6.     double p,q,s,vr,vi,poddr,poddi;
  7.     for (it=0; it<=n-1; it++)
  8.       { m=it; is=0;
  9.         for (i=0; i<=k-1; i++)
  10.           { j=m/2; is=2*is+(m-2*j); m=j;}
  11.         fr[it]=pr[is]; fi[it]=pi[is];
  12.       }
  13.     pr[0]=1.0; pi[0]=0.0;
  14.     p=6.283185306/(1.0*n);
  15.     pr[1]=cos(p); pi[1]=-sin(p);
  16.     if (l!=0) pi[1]=-pi[1];
  17.     for (i=2; i<=n-1; i++)
  18.       { p=pr[i-1]*pr[1]; q=pi[i-1]*pi[1];
  19.         s=(pr[i-1]+pi[i-1])*(pr[1]+pi[1]);
  20.         pr[i]=p-q; pi[i]=s-p-q;
  21.       }
  22.     for (it=0; it<=n-2; it=it+2)
  23.       { vr=fr[it]; vi=fi[it];
  24.         fr[it]=vr+fr[it+1]; fi[it]=vi+fi[it+1];
  25.         fr[it+1]=vr-fr[it+1]; fi[it+1]=vi-fi[it+1];
  26.       }
  27.     m=n/2; nv=2;
  28.     for (l0=k-2; l0>=0; l0--)
  29.       { m=m/2; nv=2*nv;
  30.         for (it=0; it<=(m-1)*nv; it=it+nv)
  31.           for (j=0; j<=(nv/2)-1; j++)
  32.             { p=pr[m*j]*fr[it+j+nv/2];
  33.               q=pi[m*j]*fi[it+j+nv/2];
  34.               s=pr[m*j]+pi[m*j];
  35.               s=s*(fr[it+j+nv/2]+fi[it+j+nv/2]);
  36.               poddr=p-q; poddi=s-p-q;
  37.               fr[it+j+nv/2]=fr[it+j]-poddr;
  38.               fi[it+j+nv/2]=fi[it+j]-poddi;
  39.               fr[it+j]=fr[it+j]+poddr;
  40.               fi[it+j]=fi[it+j]+poddi;
  41.             }
  42.       }
  43.     if (l!=0)
  44.       for (i=0; i<=n-1; i++)
  45.         { fr[i]=fr[i]/(1.0*n);
  46.           fi[i]=fi[i]/(1.0*n);
  47.         }
  48.     if (il!=0)
  49.       for (i=0; i<=n-1; i++)
  50.         { pr[i]=sqrt(fr[i]*fr[i]+fi[i]*fi[i]);
  51.           if (fabs(fr[i])<0.000001*fabs(fi[i]))
  52.             { if ((fi[i]*fr[i])>0) pi[i]=90.0;
  53.               else pi[i]=-90.0;
  54.             }
  55.           else
  56.             pi[i]=atan(fi[i]/fr[i])*360.0/6.283185306;
  57.         }
  58.     return;
  59.   }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: xnxx 日本免费 | 亚洲欧美综合精品久久成人 | 紧缚调教一区二区三区视频 | 久久狠狠| 最新91在线| 天天拍天天草 | 精品视频在线观看 | 久久精品91久久久久久再现 | 福利视频网站 | 久久99久久99精品免视看婷婷 | 蜜桃官网 | 精品一区av | 亚洲欧美成人 | 欧美成人一区二区 | 亚洲久久 | 一区二区三区久久 | 欧美一级电影免费 | 中文字幕二区三区 | 久久精品视频网站 | 国产成人免费视频网站视频社区 | 91高清视频在线 | 日韩第一区 | 午夜小视频免费观看 | 色婷婷亚洲国产女人的天堂 | 91免费版在线观看 | 中文字幕人成人 | 久久伊人免费视频 | 亚洲日本中文字幕在线 | 91人人看| 99成人 | 国产精品99久久久久久久久久久久 | 亚洲 欧美 精品 | 免费中文字幕日韩欧美 | 成人在线免费av | 日韩精品一区二区三区中文在线 | 久久久久久一区 | 91久久精品国产 | 香蕉婷婷 | 日本一区二区不卡 | 91精品国产综合久久久久久丝袜 | 亚洲一区免费 |