版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章 快速傅里葉變換(FFT) 通信1402班 肖太龍 Contents 從DFT到FFT FFT的基本概念 FFT算法的實現(xiàn)原理 FFT的物理意義 DFT與FFT時間復(fù)雜度比較 從DFT到FFT的緣由 依次類推,N/2個 點的時間復(fù)雜度為 多少呢?N/4呢? 從哪個方面減少運算量呢? 周期性表現(xiàn)為: 對稱性表現(xiàn)為: 1965年庫利和圖基提出一 種DFT的快速算法,以此來 解決DFT變換的效率問題。 算法的提出的初衷主要是為 了減少乘法次數(shù),又因為旋 轉(zhuǎn)因子的對稱性和周期性能 達(dá)到這一目標(biāo),因此在理論 上是可以實現(xiàn)的。 FFT算法就是不斷地把長序 列的DFT分解為短序列的 DFT的算法。最常
2、用的是基 2FFT算法。 22 ()jm lNjm m lNm NN NN WeeW 2 mN mN mm NNNN N m m NN WWWW WW 或者 淺談FFT實現(xiàn)原理 lFT算法基本上分為兩大類: l時域抽取法FFT(Decimation In Time FFT,簡稱DIT-FFT)。 l頻域抽取法FFT(Decimation In Frequency FFT,簡稱 DIFFFT)。 l我們主要來分析DIF-FFT算法。 A 算法理論推導(dǎo) B 一個簡單的算例 8點DFT一次時域抽取分解 C Matlab繪制圖像 DIF-FFT與DIT-FFT算法有什么異同? 算法理論推導(dǎo): 設(shè)序列
3、的長度為N,且滿足N=2M ,M為自然數(shù)。 按n奇偶把 分解為兩個N/2點的子序列 則x(n)的DFT為 ( )x n ( )x n 1 2 ( )(2 ),0,1,1 2 ( )(21),0,1,1 2 N x rxrr N x rxrr /2 1/2 1 2(21) 00 /2 1/2 1 2 12 00 ( )( )( ) (2 )(21) ( )( ) knkn NN nn NN krkr NN rr NN kkr NN rr X kx n Wx n W xr WxrW x rWx r W 奇數(shù)偶數(shù) 因為 所以 2 2 2 2 2 /2 jkr N jkr krkr N NN WeeW
4、 /2 1/2 1 1/22/2 00 12 ( )( )( ) ( )( ) NN krkkr NNN rr k N X kx r WWx r W X kW Xk 0,1,2,1kN 其中X1(k)和X2(k)分別為x1(r)和x2(r)的N/2點DFT,即 /2 1 11/21 0 /2 1 22/22 0 ( )( )( ) ( )( )( ) N kr N r N kr N r X kx r WDFT x r Xkx r WDFT x r 由于X1(k)和X2(k)均以N/2為周期,且 2 N k k NN WW 所以X(k)又可表示為 12 12 ( )( )( )0,1,1 2 (
5、)( )( )0,1,1 22 k N k N N X kX kW Xkk NN X kX kW Xkk 至此,一次時域抽取法的理論推導(dǎo)就完成了。從上面的兩個式子 中,我們定義一種新的運算符蝶形運算符。 C A B A BC A BC N/2點 DFT WN 0 N/2點 DFT WN 1 WN 2 WN 3 x(0) X1(0) x(2) x(4) x(6) x(1) x(3) x(5) x(7) X1(1) X1(2) X1(3) X2(0) X2(1) X2(2) X2(3) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) 8點DFT一次時域抽取分解運算流
6、圖 完成一次蝶形運算需要一次復(fù)數(shù)乘法和兩次復(fù)數(shù)加 法運算。因此在8點DFT一次時域抽取分解中,共需要計 算兩個N/2點DFT運算和N/2個蝶形運算。 所以按照上圖的計算DFT時,總的復(fù)數(shù)乘法次數(shù)為 復(fù)數(shù)加法次數(shù)為 2 2 1 (1) 2() 2222 N NNN NN 2 (1)2 222 NNN N 類似地,我們將 按奇偶分解成兩個N/4點子 序列 ,其表達(dá)式分別如下: 1( ) x r 34 ( )( )x lx l和 31 41 ( )(2 ) ,0,1,1 ( )(21)4 x lxl N l x lxl 那么, 又可表示為 1( ) X k /4 1/4 1 2(21) 11/21/
7、2 00 /4 1/4 1 3/4/24/4 00 3/24 ( )(2 )(21) ( )( ) ( )( ),0,1,/ 2 1 NN klkl NN ii NN klkkl NNN ii k N X kxl WxlW x l WWx l W XkWXkkN 式中 同理,由 的周期性和 的對稱性 最后得到: /4 1 33/43 0 /4 1 44/44 0 ( )( )( ) ( )( )( ) N kl N i N kl N i x kx l WDFT x l x kx l WDFT x l 13/24 13/24 ( )( )( ) ,0,1,1 4 (/ 4)( )( ) k N
8、k N X kXkWXk N k X kNXkWXk 34 ( )( )XkXk和 /2 m N W /4 /2/2 k Nk NN WW 用同樣的方法可以計算出 其中 25/26 25/26 ( )( )( ) ,0,1,/41 (/4)( ) k N k N XkXkWXk kN XkNX kWXk /4 1 55/45 0 /4 1 66/46 0 52 62 ( )( )( ) ( )( )( ) ( )(2 ) ,0,1,/41 ( )(21) N kl N i N kl N i Xkx l WDFT x l Xkx l WDFT x l x lxl lN x lxl N/4點 DF
9、T WN 1 2 WN 1 2 WN 0 WN 1 WN 2 WN 3 X1(0) X1(1) X1(2) X1(3) X2(0) X2(1) X2(2) X2(3) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) x(0) X3(0) X3(1) X4(0) X4(1) x(4) x(2) x(6) x(1) x(5) x(3) x(7) N/4點 DFT N/4點 DFT N/4點 DFT WN 0 2 WN 0 2 8點DFT二次時域抽取分解運算 WN 0 WN 1 WN 2 WN 3 WN 0 WN 2 WN 0 WN 2 WN 0 WN 0 WN 0
10、WN 0 x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) A(0) A(1) A(2) A(3) A(4) A(5) A(6) A(7) A(0) A(1) A(2) A(3) A(4) A(5) A(6) A(7) A(0) A(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) A(0) A(1) A(2) A(3) A(4) A(5) A(6) A(7) 8點DIT-FFT運算流圖 從上面的蝶形算法,當(dāng) 時,其運算應(yīng)該有 M級蝶形,每一級都由N/2個蝶形運算構(gòu)成。因此每一級運算 都需要N/2次復(fù)數(shù)乘法和N次復(fù)數(shù)加法,所以M
11、級蝶形運算的乘 法次數(shù)為: 加法次數(shù): 2MN 2 =log 22 N M NN CM 2 log N A CN MN 一個簡單的算例 計算序列 的8點DFT。分別 用基本的DFT算法和FFT算法實現(xiàn),體會計算過程中的時 間復(fù)雜度。 當(dāng)然針對計算機來說,計算乘法所需要的時間遠(yuǎn)大于加 法。一般的計算機,差不多相差十倍左右。 用計算機產(chǎn)生隨機的1024個點構(gòu)成序列,然后取 N=1024.此時計算時間差距就會加大。N=2048時,時間 差距會更大。 ( )1 1 1 1x n , , , 為了更進(jìn)一步的體會FFT的物理意義,引入一個算例: 假設(shè)對某信號經(jīng)過ADC之后,得到一個序列 ,此時我們 不知道
12、其具體的函數(shù)表達(dá)式。但是我們可以對其做FFT運算。 現(xiàn)在我們做一個驗證: 假設(shè)我們有一個信號,它含有2V的直流分量,頻率為50Hz、相位為- 30度、幅度為3V的交流信號,以及一個頻率為75Hz、相位為90度、 幅度為1.5V的交流信號。用數(shù)學(xué)表達(dá)式就是如下: S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180) 現(xiàn)在對其進(jìn)行變換,取樣點為1024,采樣頻率為1024Hz 注意這里的取樣頻率只要滿足原始頻率的2倍即可,且取樣 點和取樣頻率根據(jù)頻率分辨率來選取。 ( )x n 020040060080010001200 -3 -2
13、 -1 0 1 2 3 4 5 6 7 原 始 信 號 t/s 幅度大小 0100200300400500600 0 0.5 1 1.5 2 2.5 3 X: 0 Y: 2 幅 度 -頻 率 曲 線 圖 f/Hz 幅度 X: 50 Y: 3 X: 75 Y: 1.5 0100200300400500600 -200 -150 -100 -50 0 50 100 150 200 X: 50 Y: -30 相 位 -頻 率 曲 線 圖 f/Hz 相位 X: 75 Y: 90 X: 0 Y: 0 從圖中的結(jié)果可以得出,當(dāng)頻率為0、50、75時,對 應(yīng)的幅度值依次為2、3、1.5,相位依次為0、90、
14、-30。當(dāng) 然,這看上去幾乎是沒有誤差的,因為我們?nèi)宇l率和所取 點數(shù)比較大,當(dāng)N=Fs=256時,會存在誤差,但是這個誤差 完全不影響我們對信號函數(shù)的分析與判斷。從而進(jìn)一步的驗 證了DFT與FFT算法的正確性。 上圖是從模擬信號到頻域離散信號的完整的過程。這其中對 應(yīng)有幾個概念容易混淆。因此對此做出區(qū)分: 數(shù)字頻率、模擬頻率與采樣頻率:模擬頻率通常用 表示,數(shù)字頻率用 表示。此時的數(shù)字頻率主要是針對序列 而言,因此沒有采樣頻率 就不會有數(shù)字頻率的概念,所以 數(shù)字頻率與采樣頻率和模擬頻率一定滿足某種關(guān)系。我們知道 有如下過程: 因此 其中 為取樣間隔。對應(yīng)的采樣頻率 f s F ( )sin(
15、2) a x tft ( )( )sin(2)sin() s as t nT x nx tfnTn 2 s fT s T 1 s s F T DFT取樣點N與采樣頻率和頻率分辨率(步進(jìn)值)的關(guān)系 首先我們根據(jù)奈奎斯特定律得到: , 為連續(xù)信號的截至(最高)頻率(因為它可能有很多頻率 成分)?,F(xiàn)在問題就是取樣點N的選???現(xiàn)在我們從序列的 FT說起! FT完成的任務(wù)就是對時域連續(xù)信號抽樣之后通過序列的傅 里葉變換得到的頻譜關(guān)系,我們知道這個譜是連續(xù)的。此 時的譜是一個周期譜,那么周期是多少呢?是不是與時域 采樣頻率有關(guān)系呢?答案是肯定的,此時的周期就是 (注意此時是頻域,頻譜圖中的橫坐標(biāo)表示的頻率
16、)。 2 sc Ff c f s F 對于周期連續(xù)的譜,計算機還是無法操作,因此我們還 得對FT變換之后的譜進(jìn)行頻域采樣(DFT的實質(zhì))。類似于 時域采樣,頻域FT譜線的采樣頻率為多少合適呢?顯然此時 只需一個周期即可,即在一個周期中取N個點,滿足 : 式中 為頻率分辨率, 為采樣頻率。 因此關(guān)于頻率分辨率和取樣點N的關(guān)系就得出來了。 s FN f f s F 首先必須得畫出序列對應(yīng)的FT譜線圖,橫坐標(biāo)為 ,縱坐 標(biāo)為頻率。此時的FT譜線應(yīng)該是對上圖的周期延拓。這就是 我們一般只取其主值-pi,pi得原因。 得到FT譜線圖之后,接下來就是DFT對其進(jìn)行取樣! 由于DFT的物理意義就是對0,2*
17、pi的等間隔取樣。即 22 0,1,239 40 kkk N 從題目給定的頻譜圖得出模擬頻率應(yīng)該是連續(xù)分 布的。但是離散化之后只能得到離散的模擬頻率, 由 確定。但是不能超過200Hz。 k fk f DFT算法與FFT算法耗時對比基于matlab編程 DFTDFT函數(shù)函數(shù) function Xk=dft(xn,N) n=0:1:N-1; k=0:1:N-1; WN=exp(-j*2*pi/N); nk=n*k; WNnk=WN.nk; Xk=xn*WNnk; end DFTDFT測試代碼:測試代碼: clc clear N=4096; xn=rand(1,4096); tic Xk=dft(
18、xn,4096); toc Elapsed Elapsed time is time is 10.993700 seconds.10.993700 seconds. 由于Matlab工具箱自帶FFT算法,因此調(diào)用庫函數(shù)即可。 但是可能存在一定的問題。庫函數(shù)里面的FFT算法性能可能會 更加優(yōu)化,耗時會更少。 N=4096; xn=rand(1,4096); tic Xk=fft(xn,4096); toc Elapsed time is 0.002649 seconds. 從耗時來看,同樣是4096個點, fft算法所需時間遠(yuǎn)小于DFT算法 時間。(做一次實驗的結(jié)果)由 于FFT具體的算法不得而知,因 此該實驗只能說明,F(xiàn)FT快速算 法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人抵押貸款協(xié)議模板版
- 專業(yè)借款中介服務(wù)協(xié)議2024版B版
- 月度團隊總結(jié)模板
- 2025年度茶葉品牌加盟連鎖經(jīng)營協(xié)議范本4篇
- 個人吊車租賃協(xié)議
- 二零二五年度跨境電商進(jìn)口貿(mào)易合同樣本3篇
- 2025年度智能家居系統(tǒng)定制銷售合同4篇
- 2025年度智能交通管理系統(tǒng)全國代理合同4篇
- 二零二五年度存單質(zhì)押養(yǎng)老產(chǎn)業(yè)金融服務(wù)合同3篇
- 2024版移動通信網(wǎng)絡(luò)建設(shè)與維護(hù)合同
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年突發(fā)事件新聞發(fā)布與輿論引導(dǎo)合同
- 地方政府信訪人員穩(wěn)控實施方案
- 小紅書推廣合同范例
- 商業(yè)咨詢報告范文模板
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 幼兒園籃球課培訓(xùn)
- AQ 6111-2023個體防護(hù)裝備安全管理規(guī)范知識培訓(xùn)
- 老干工作業(yè)務(wù)培訓(xùn)
- 基底節(jié)腦出血護(hù)理查房
評論
0/150
提交評論