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

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


离散傅里叶变换(DFT)

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

基2与基4时分FFT算法浅析及其比较_第1张图片


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

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

基2时分蝶式运算定理 

基2与基4时分FFT算法浅析及其比较_第2张图片

基2与基4时分FFT算法浅析及其比较_第3张图片

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


DFT的直接算法 

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

基2与基4时分FFT算法浅析及其比较_第5张图片

复杂度分析 

在整个计算过程中,若不考虑正弦函数和余弦函数的计算量,则直接计算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算法浅析及其比较_第6张图片

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

基2与基4时分FFT算法浅析及其比较_第8张图片

基2与基4时分FFT算法浅析及其比较_第9张图片

基2与基4时分FFT算法浅析及其比较_第10张图片

基2与基4时分FFT算法浅析及其比较_第11张图片

 基2与基4时分FFT算法浅析及其比较_第12张图片

 基2与基4时分FFT算法浅析及其比较_第13张图片

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

 基2与基4时分FFT算法浅析及其比较_第14张图片

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

 基2与基4时分FFT算法浅析及其比较_第15张图片

基2与基4时分FFT算法浅析及其比较_第16张图片

倒位序规则 

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

基2与基4时分FFT算法浅析及其比较_第17张图片

基2与基4时分FFT算法浅析及其比较_第18张图片

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

基2与基4时分FFT算法浅析及其比较_第19张图片

分别比较(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算法 ;

你可能感兴趣的:(数字信号处理)