




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、電 子 科 技 大 學(xué)實 驗 報 告學(xué)生姓名: 學(xué) 號:2010013080 指導(dǎo)教師一、實驗室名稱:數(shù)字信號處理實驗室二、實驗項目名稱:FFT的實現(xiàn)三、實驗原理:一 FFT算法思想:1 DFT的定義:對于有限長離散數(shù)字信號xn,0 £ n £ N-1,其離散譜xk可以由離散付氏變換(DFT)求得。DFT的定義為:,k=0,1,N-1通常令,稱為旋轉(zhuǎn)因子。2 直接計算DFT的問題及FFT的基本思想:由DFT的定義可以看出,在xn為復(fù)數(shù)序列的情況下,完全直接運算N點DFT需要(N-1)2次復(fù)數(shù)乘法和N(N-1)次加法。因此,對于一些相當(dāng)大的N值(如1024)來說,直接計算它的
2、DFT所作的計算量是很大的。FFT的基本思想在于,將原有的N點序列分成兩個較短的序列,這些序列的DFT可以很簡單的組合起來得到原序列的DFT。例如,若N為偶數(shù),將原有的N點序列分成兩個(N/2)點序列,那么計算N點DFT將只需要約(N/2)2 ·2=N2/2次復(fù)數(shù)乘法。即比直接計算少作一半乘法。因子(N/2)2表示直接計算(N/2)點DFT所需要的乘法次數(shù),而乘數(shù)2代表必須完成兩個DFT。上述處理方法可以反復(fù)使用,即(N/2)點的DFT計算也可以化成兩個(N/4)點的DFT(假定N/2為偶數(shù)),從而又少作一半的乘法。這樣一級一級的劃分下去一直到最后就劃分成兩點的FFT運算的情況。3
3、基2按時間抽取(DIT)的FFT算法思想:設(shè)序列長度為,L為整數(shù)(如果序列長度不滿足此條件,通過在后面補零讓其滿足)。將長度為的序列,先按n的奇偶分成兩組:,r=0,1,N/2-1DFT化為:上式中利用了旋轉(zhuǎn)因子的可約性,即:。又令,則上式可以寫成:(k=0,1,N/2-1)可以看出,分別為從中取出的N/2點偶數(shù)點和奇數(shù)點序列的N/2點DFT值,所以,一個N點序列的DFT可以用兩個N/2點序列的DFT組合而成。但是,從上式可以看出,這樣的組合僅表示出了前N/2點的DFT值,還需要繼續(xù)利用表示的后半段本算法推導(dǎo)才完整。利用旋轉(zhuǎn)因子的周期性,有:,則后半段的DFT值表達式:,同樣, (k=0,1,
4、N/2-1),所以后半段(k=N/2,N-1)的DFT值可以用前半段k值表達式獲得,中間還利用到,得到后半段的值表達式為:(k=0,1,N/2-1)。這樣,通過計算兩個N/2點序列的N/2點DFT,可以組合得到N點序列的DFT值,其組合過程如下圖所示: -1 比如,一個N = 8點的FFT運算按照這種方法來計算FFT可以用下面的流程圖來表示:4 基2按頻率抽?。―IF)的FFT算法思想:設(shè)序列長度為,L為整數(shù)(如果序列長度不滿足此條件,通過在后面補零讓其滿足)。在把按k的奇偶分組之前,把輸入按n的順序分成前后兩半:因為,則有,所以:按k的奇偶來討論,k為偶數(shù)時:k為奇數(shù)時:前面已經(jīng)推導(dǎo)過,所以
5、上面的兩個等式可以寫為:通過上面的推導(dǎo),的偶數(shù)點值和奇數(shù)點值分別可以由組合而成的N/2點的序列來求得,其中偶數(shù)點值為輸入xn的前半段和后半段之和序列的N/2點DFT值,奇數(shù)點值為輸入xn的前半段和后半段之差再與相乘序列的N/2點DFT值。令,則有:這樣,也可以用兩個N/2點DFT來組合成一個N點DFT,組合過程如下圖所示: -1 二 在FFT計算中使用到的MATLAB命令:函數(shù)fft(x)可以計算R點序列的R點DFT值;而fft(x,N)則計算R點序列的N點DFT,若R>N,則直接截取R點DFT的前N點,若R<N,則x先進行補零擴展為N點序列再求N點DFT。函數(shù)ifft(X)可以計
6、算R點的譜序列的R點IDFT值;而ifft(X,N)同fft(x,N)的情況。四、實驗?zāi)康模弘x散傅氏變換(DFT)的目的是把信號由時域變換到頻域,從而可以在頻域分析處理信息,得到的結(jié)果再由逆DFT變換到時域。FFT是DFT的一種快速算法。在數(shù)字信號處理系統(tǒng)中,F(xiàn)FT作為一個非常重要的工具經(jīng)常使用,甚至成為DSP運算能力的一個考核因素。本實驗通過直接計算DFT,利用FFT算法思想計算DFT,以及使用MATLAB函數(shù)中的FFT命令計算離散時間信號的頻譜,以加深對離散信號的DFT變換及FFT算法的理解。五、實驗內(nèi)容:a) 計算實數(shù)序列的256點DFT。b) 計算周期為1kHz的方波序列(占空比為50
7、,幅度取為/-512,采樣頻率為25kHz,取256點長度) 256點DFT。六、實驗器材(設(shè)備、元器件):安裝MATLAB軟件的PC機一臺,DSP實驗演示系統(tǒng)一套。七、實驗步驟:(1) 先利用DFT定義式,編程直接計算2個要求序列的DFT值。(2) 利用MATLAB中提供的FFT函數(shù),計算2個要求序列的DFT值。(3) (拓展要求)不改變序列的點數(shù),僅改變DFT計算點數(shù)(如變?yōu)橛嬎?024點DFT值),觀察畫出來的頻譜與前面頻譜的差別,并解釋這種差別。通過這一步驟的分析,理解頻譜分辨力的概念,解釋如何提高頻譜分辨力。(4) 利用FFT的基本思想(基2DIT或基2DIF),自己編寫FFT計算函
8、數(shù),并用該函數(shù)計算要求序列的DFT值。并對前面3個結(jié)果進行對比。(5) (拓展要求)嘗試對其他快速傅立葉變換算法(如Goertzel算法)進行MATLAB編程實現(xiàn),并用它來計算要求的序列的DFT值。并與前面的結(jié)果進行對比。(6) (拓展要求)在提供的DSP實驗板上演示要求的2種序列的FFT算法(基2DIT),用示波器觀察實際計算出來的頻譜結(jié)果,并與理論結(jié)果對比。八、實驗數(shù)據(jù)及結(jié)果分析:程序:(1) 對要求的2種序列直接進行DFT計算的程序%第一種序列的計算N=0:255;X=cos(5*pi*N/16);for a=1:256 Y(a)=0; for b=1:256 Y(a)=Y(a)+X(b
9、)*exp(-j*2*pi*(b-1)*(a-1)/256); endendsubplot(2,1,1)stem(N,abs(Y)title('DFTµÄ½á¹û')subplot(2,1,2)Y2=fft(X);stem(N,Y2)title('FFTµÄ½á¹û')%第二種序列的計算N=0:1/(1000*25):255/(1000*25);X=512*square(2*pi*N*1000);for a=1:256 Y(a)=0; for
10、b=1:256 Y(a)=Y(a)+X(b)*exp(-j*2*pi*(b-1)*(a-1)/256); endendY%»fftºÍÉÏÃæµÄ½á¹ûµÄ¶Ô±Èf=0:255;Y1=fft(X);subplot(2,1,1)stem(f,Y)title('DFTµÄ½á¹û')subplot(2,1,2)stem(
11、f,Y1)title('FFTµÄ½á¹û')(2) 對要求的2種序列進行基2DIT和基2DIF FFT算法程序%基-2DIT-FFT的算法%»ù-2-DIT-FFTclearclctic%½«¶ÔÊäÈëÐòÁÐx²¹ÁãÖÁ2M¸öN=input('ÇëÊ
12、28;ÈëµãÊýN=');x=input('ÇëÊäÈëÐòÁÐx(ÆäÖÐÒѾ¶¨ÒåÁËn=0:N-1)=');M=nextpow2(length(x);N=2M;n=0:N-1;x=x,zeros(1,N-length(x);%¶ÔÊ
13、äÈëµÄÐòÁÐx½øÐÐÖØÐÂÅÅÐòLH=N/2;j1=LH;N1=N-2;for i=1:N1 if(i<j1) T=x(i+1); x(i+1)=x(j1+1); x(j1+1)=T; end k=LH; while(j1>=k) j1=j1-k; k=k/2; end j1=j1+k; end%½øÐе
14、1;ÐÎÔËËãfor L=1:M %¼¶ÊýµÄÑ»· B=2(L-1); for i=0:B-1 %ͬһ¼¶ÐýתÒò×ÓµÄÑ»· p=i*2(M-L); for k=i:2L:(2(M-L)-1)*(2L)+i %
15、5;¬Ò»¼¶Í¬Ò»¸öÐýתÒò×ÓµÄÑ»·.£¨ÔÚL¼¶ÖÐͬһ¸öÐýתÒò×Ó³ö
16、207;Ö2(M-L)´Î£© temp=x(k+1); x(k+1)=temp+x(k+1+B)*exp(-j*2*pi*p/N); x(k+1+B)=temp-x(k+1+B)*exp(-j*2*pi*p/N); end endendstem(n,x)title('»ù-2-DIT-FFTµÄ½á¹û')time=toc %基-2-DIF-FFT的算法%»ù-2-DIT-FFTclearclctic%½«&
17、#182;ÔÊäÈëÐòÁÐx²¹ÁãÖÁ2M¸öN=input('ÇëÊäÈëµãÊýN=');x=input('ÇëÊäÈëÐòÁÐx(ÆäÖÐÒ
18、09;¾¶¨ÒåÁËn=0:N-1)=');M=nextpow2(length(x);N=2M;n=0:N-1;x=x,zeros(1,N-length(x);%¶ÔÊäÈëµÄÐòÁÐx½øÐÐÖØÐÂÅÅÐòLH=N/2;j1=LH;N1=N-2;for i=1:N
19、1 if(i<j1) T=x(i+1); x(i+1)=x(j1+1); x(j1+1)=T; end k=LH; while(j1>=k) j1=j1-k; k=k/2; end j1=j1+k; end%½øÐеûÐÎÔËËãfor L=1:M %¼¶ÊýµÄÑ»· B=2(L-1); for i=0:B-1 %ͬһ
20、;¼¶ÐýתÒò×ÓµÄÑ»· p=i*2(M-L); for k=i:2L:(2(M-L)-1)*(2L)+i %ͬһ¼¶Í¬Ò»¸öÐýתÒò×ÓµÄÑ»·.
21、63;¨ÔÚL¼¶ÖÐͬһ¸öÐýתÒò×Ó³öÏÖ2(M-L)´Î£© temp=x(k+1); x(k+1)=temp+x(k+1+B)*exp(-j*2*pi*p/N); x(k+1+B)=temp-x(k+1+B)*exp(-j*2*pi*p/N); end endendstem(n,x)title('»ù-2-DIT-FFTµÄ½á¹û')time=toc (3) 對要求的2種序列用MATLAB中提供的FFT函數(shù)進行計算的程序N=0:255;w=0:4095;X=512*square(2*pi*1000*N/25000);y1=fft(X)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025秦皇島職業(yè)技術(shù)學(xué)院單招《語文》考前沖刺練習(xí)題及完整答案詳解(奪冠)
- 四年級數(shù)學(xué)(上)計算題專項練習(xí)及答案
- 2024-2025學(xué)年度四川工程職業(yè)技術(shù)學(xué)院單招《物理》??键c試卷及答案詳解【有一套】
- 2024年福建生物工程職業(yè)技術(shù)學(xué)院單招《物理》通關(guān)題庫及參考答案詳解(基礎(chǔ)題)
- 福建省2025年設(shè)計前期場地與建筑設(shè)計:設(shè)備布置要求與方式考試試題
- 義務(wù)教育課程方案和課程標準心得體會2026版
- 2024年長治幼兒師范高等??茖W(xué)校輔導(dǎo)員考試真題
- 2024年濟寧梁山運河城市更新有限公司招聘考試真題
- 2024年貴州師范大學(xué)輔導(dǎo)員考試真題
- 2024年臨汾隰縣開發(fā)公益性崗位招用就業(yè)困難人員筆試真題
- 2025年班組長個人職業(yè)素養(yǎng)知識競賽考試題庫500題(含答案)
- 網(wǎng)絡(luò)題庫財務(wù)會計知識競賽1000題(僅供自行學(xué)習(xí)使用)
- 2025海南中考:歷史必考知識點
- 2024-2025學(xué)年蘇教版七年級生物下冊知識點復(fù)習(xí)提綱
- A0726 非授權(quán)人員進入保密要害部門、部位審批表
- 結(jié)構(gòu)設(shè)計總說明(帶圖完整版)分解
- 第二外語(日語)試卷
- 食品營養(yǎng)標簽的解讀課件
- 二手新能源汽車充電安全承諾書
- 品質(zhì)異常8D報告 (錯誤模板及錯誤說明)指導(dǎo)培訓(xùn)
- 貴陽市建設(shè)工程消防整改驗收申請表
評論
0/150
提交評論