FFT算法学习心得

本文介绍了快速傅立叶变换(FFT)算法的核心思想,包括复数运算、蝶形变换及旋转因子的计算。通过详细解析基2的FFT算法,阐述了数组排序、翅间距变化及其在时分和频分变换中的不同。同时提到了更复杂的基4和其他基的FFT算法,表达了作者深入学习混合基FFT算法的愿望。
摘要由CSDN通过智能技术生成
 1。通常的FFT算法: 直接计算离散傅立叶变换具有n^2的复杂度,而cooley   和tukey在1965年发现了一种计算离散傅立叶变换的快速算法(即通常所说的FFT算法),这个算法在计算变换长度n=2^k的离散傅立叶变换时,具有   n*k   的复杂度,即O(n)=n*log2(n),   下面以此为例,讲讲快FFT的特点。  
      1)复数运算:傅立叶变换是基于复数的,因此首先知道复数的运算规则,在FFT算法中,只涉及复数的加、减和乘法三种运算。一个复数可表示为   c=(  x,yi),   x   为复数的实部,y为复数的虚部,i为虚数单位,等于-1的平方根。复数的运算规则是:若c1   表示为   (x1,y1),c2   表示为(x2,y2),   则   (x1+x2,y1+y2)和(x1-x2,y1-y2)分别等于c1+c2的和,c1-c2的差,复数的乘法相对复杂一些,c1*c2   的积为   (x1*x2-y1*y2,x1*y2+x2*y1).  
       
        2)蝶形变换:普通的FFT算法称为基2的FFT算法,这种算法的核心是蝶形变换   长度为n=2^k1的变换共需要做   k1   *   n/2   次蝶形变换,若需变换数据表示为一个复数数组c[],则每次蝶形变换有2个输入   c[i],c[i+s],两个输出:c[i],c[i+s],s成为翅间距。   每个变换的基本算法是:  
       
      t=wr   *   c[i+s];    
      c[i+s]=c[i]-t;  
      c[i]=c[i]+t;  
   
        前
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值