快速傅里葉變換FFT解析

1、FFT介紹

快速傅里葉變換:理解爲實現DFT的快速算法,只是單純的讓數字信號處理器DSP跑DFT算法更快點。

傅里葉變換將信號轉換到頻域上去分析,學術研究可以用連續信號,模擬域的傅里葉變換去分析問題,但是計算機是無法分析在模擬域分析問題。DFT將頻域離散分析問題,一般書本上都會對FFT做描述,爲什麼有FFT產生,最重要的原因的就是運算量,書本上對DFT的運算複雜度都作了詳細介紹。

2、FFT算法核心

FFT實現的核心在於旋轉因子具有的性質:

1)週期性:W_{N}^{k*n} = W_{N}^{k*(n+N))} = W_{N}^{n*(k+N))}

2)對稱性:W_{N}^{k*(n+N/2))} = -W_{N}^{k*n}   和(W_{N}^{k*n})^{*} = W_{N}^{-k*n} =W_{N}^{k*(N-n)}

3)可約性:W_{N}^{k*n} = W_{m*N}^{m*k*n} 和 W_{N}^{k*n} = W_{N/m}^{k*n/m}

對照下圖理解以上3個性質是理解FFT抽取過程,旋轉因子變化的原理。以8點DFT舉例,e^{(-j*2*pi )/8}連續對應下圖,N=8;

X(k) = \sum_{n = 0}^{ N-1} x(n)e^{(-j*2*\pi*k*n)/N}= \sum_{n = 0}^{ N-1} x(n)W_{N}^{k*n}現在只關心旋轉因子e^{(-j*2*pi )/8}就可以。以k=1爲例

1)週期性應該比較好理解,直觀去看第k*n點,與轉了k圈或是n圈的重合。

2)對稱性從圖上很容易看出,點1與點5滿足第一個公式,點1與點7共軛對稱滿足

3)可約性從旋轉因子的公式容易得出


上述性質就是實現蝶形運算的關鍵。

FFT實現另一個的關鍵點:將長序列分解成短序列計算

 

每一級運算都是2點DFT,經過3級運算最終得到8點DFT結果。

X(1) = x(0)*W_{8}^{1*0} + x(1)*W_{8}^{1*1} + ... +x(7)*W_{8}^{1*7}這是利用理論公式計算出來的結果

以下圖片摘抄網頁,公式敲起來太麻煩了。

 

注意:每級奇偶抽取是針對相對應子序列的自然順序的奇偶,不是n的奇偶。例如第二次抽取x(2),x(6)是對應子序列的奇數項。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章