FFT 算法的实质是把一长序列的 DFT 计算分割为较短序列的 DFT 计算,对于基2算法而言,是把序列每次一分为二,最后分割成两点 DFT,也可以采用别的分割法,每次一分为三,四,五等,就得到了基3,基4,基5等算法,其中基4算法由于具备某些优点,应用价值较大;


离散傅里叶变换(DFT)

为了再科学计算和数字信号处理等领域使用计算机进行傅里叶变换,必须将函数定义在离散点而非连续域内,且满足有限性或周期性条件,这种情况下,使用离散傅里叶变换 :

基2与基4时分FFT算法浅析及其比较


快速离散傅里叶变换(FFT)

快速傅里叶变换计算离散傅里叶变换的一种快速算法,简称FFT;快速傅里叶变换是1965年由J.W库利和T.W.图基提出的,采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著 ;

基2时分蝶式运算定理 

基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较 利用旋转因子的周期性简化!!


DFT的直接算法 

直接按DFT的定义式进行计算,按照DFT的定义式有:

基2与基4时分FFT算法浅析及其比较

复杂度分析 

在整个计算过程中,若不考虑正弦函数和余弦函数的计算量,则直接计算N 点DFT所需要的复数乘法次数M,和复数加法次数A,容易求得

  M=N2 

  A=N(N- 1)≈N 2


基2时分FFT算法基本思想与原理

基2 FFT 算法是把长度N的序列-一分为二,将N点D FT 表示为两个N /2 点D FT的线性组合,然后再把N/2点DFT一分为二,表示为4个N/4点的DFT;如此重复下去,直至分解成两点DFT 的运算,两点DFT实际上只是加减运算 ;

 基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较 8点DFT的蝶形图

基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较

 基2与基4时分FFT算法浅析及其比较

 基2与基4时分FFT算法浅析及其比较

N = 16为例,基4FFT分解过程:

 基2与基4时分FFT算法浅析及其比较

一个4点序列的DFT运算流图:

 基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较

倒位序规则 

FFT算法的输入序列为倒位序,输出序列为自然序列.由于N = 4L ,所以顺序可用2L位二进制数(n2L-1 n2L-2….. n1 n0)表示,则倒位序为: n0 n1….. n2L-2 n2L-1,具体如下图所示:

基2与基4时分FFT算法浅析及其比较

基2与基4时分FFT算法浅析及其比较

基2时分FFT算法和基4时分FFT算法的比较

基2与基4时分FFT算法浅析及其比较

分别比较(5.2.1)式和(4.3.4)式与(5.2.2)式和(4.3.5)式,可以看出,基2时分FFT算法和基4时分FFT算法有相同的复数加法次数,但基4时分FFT算法的复数乘法仅为基2时分FFT算法的3/4;由此可见,基4时分FFT算法最好,基2时分FFT算法次之,DFT的直接算法最差;但由于基4时分FFT算法要求N=4’,相应的变换长度N更少,灵活性就不如基2时分FFT算法 ;

相关文章:

  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2022-02-03
  • 2022-01-22
  • 2022-12-23
  • 2021-09-23
猜你喜欢
  • 2021-10-19
  • 2021-08-08
  • 2022-02-24
  • 2021-07-16
  • 2021-07-08
  • 2021-12-02
  • 2021-05-09
相关资源
相似解决方案