网站大量收购独家精品文档,联系QQ:2885784924

2D-FFT及IFFT(C语言实现(转载).pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2D-FFT及及IFFT ((C语语⾔⾔实实现现 ((转转载载)) 2D-FFT及IFFT (C语⾔实现) 图像处理 2010-06-01 16:48:52 阅读727 评论0 字号:⼤中中⼩ 订阅 前⾯编过2D-FFT的程序 现在把2D-IFFT的程序整合到⼀起 便于后⾯做图像变换反变换使 ⽤。 FFT与IFFT有如下关系: 相应的2D-FFT与2D-IFFT的关系如下: 所以可以利⽤⼀个FFT核⼼函数实现2D-FFT与2D-IFFT。代码如下: #include stdio.h #include stdli .h #include math.h #define intsize sizeof(int) #define complexsize sizeof(complex) #define PI 3.1415926 int *a,* ; int nLen,init_ nLen,mLen,init_ mLen,N,M; FILE *dataFile; typedef struct{ float real; float image; }complex ; complex *A ,*A_ In,*W; complex Add(complex, complex); complex Su (complex, complex); complex Mul(complex, complex); int calculate_ M(int); void reverse(int,int); void readData(); void fft(int,int); void Ifft(); void printResult_fft(); void printResult_ Ifft(); int main() { int i,j ; readData(); A = (complex *)malloc(complexsize*nLen); reverse(nLen,N); for(i=0; imLen; i++) { for(j =0; j nLen; j ++) { A[j].real = A_ In[i*nLen+ [j]].real; A[j].image = A_ In[i*nLen+ [j]].image; } fft(nLen,N); for(j =0; j nLen; j ++) { A_ In[i*nLen+j].real = A[j].real; A_ In[i*nLen+j].image = A[j].image; } } free(a); free( ); free(A); A = (complex *)malloc(complexsize*mLen); reverse(mLen,M); for(i=0; inLen; i++) { for(j =0; j mLen; j ++) { A[j].real = A_ In[ [j]*nLen+i].real; A[j].image = A_ In[ [j]*nLen+i].image; } fft(mLen,M); for(j =0; j mLen; j ++) { A_ In[j*nLen+i].real = A[j].real; A_ In[j*nLen+i].image = A[j].image; } } free(A);

文档评论(0)

147****4268 + 关注
实名认证
内容提供者

认真 负责 是我的态度

1亿VIP精品文档

相关文档