離散傅里葉變換(DFT)


目錄 

    一、研究的意義

    二、DFT的定義

    三、DFT與傅里葉變換和Z變換的關系

    四、DFT的周期性

    五、matlab實驗

        五.1 程序   

           五.2 實驗結果

一、研究的意義

    DTFT計算公式,中的w取值是連續的而且從負無窮大到正無窮大,對於計算機處理是不可能的,需要無限細分無限區間。即使在DTFT小節中用matlab實現計算,也只是將(-pi,pi)區間划分成1600份來逼近DTFT的效果。

    實際上真正用的是DFT,離散傅里葉變換。離散傅里葉變換可以將連續的頻譜轉化成離散的頻譜去計算,這樣就易於計算機編程實現傅里葉變換的計算。FFT算法的出現,使得DFT的計算速度更快。

二、DFT的定義

    由上邊的定義可知,w=(2*pi/N)*k ,k=0,1,......,N-1,所以w的范圍為[0,(N-1/N)*2*pi]。因為是離散取值,實際的區間長度為N,但不含第N個點,w的范圍就是[0,2*pi)。

    也就是說DFT變換的頻譜范圍是在豎軸的右側(>0),而且取了FT變換的一個周期(0,2*pi)。

三、DFT與傅里葉變換和Z變換的關系

四、DFT的周期性

    以下的四個式子,在程序設計和理解程序中經常用到,wd、wa分別為數字角頻率和其對應的模擬角頻率。

(1),描述了模擬角頻率、數字角頻率以及DFT變換的k之間的對應關系

(2),描述了數字角頻率與模擬角頻率之間的關系

(3),描述了數字角頻率和DFT變換的k之間的關系

(4),描述了模擬角頻率和DFT變換的k之間的關系

五、matlab實驗

1、程序     

 1 M=4;                         %原離散信號有4點
 2 n=[0:1:M-1];                 %原信號是1行4列的矩陣
 3 xn=[1 1 1 1];                %構建原始信號 
 4 subplot(3,1,1);
 5 stem(n,xn);                  %畫圖
 6 title('原始信號');
 7 
 8 N=16;                        %16點DFT變換
 9 k=[0:1:N-1];                 %k取值為0,1,2,···,15
10 Wn=exp(-j*2*pi/N);           %求Wn
11 X=xn*(Wn.^(n'*k));           %求DFT變換,原始定義的方法,對復指數分量求和而得
12 subplot(3,1,2);
13 stem(k,abs(X));
14 title('原信號的16點DFT變換');
15 
16 N1=8;                        %8點DFT變換
17 k1=[0:1:N1-1];               %k取值為0,1,2,···,7  
18 Wn1=exp(-j*2*pi/N1);         %求Wn1
19 X1=xn*(Wn1.^(n'*k1));        %求DFT變換,采用原始定義的方法,對復指數分量求和而得
20 subplot(3,1,3);
21 stem(k1,abs(X1));
22 title('原信號的8點DFT變換');

 說明:

(1)DFT的計算利用的是定義法

(2)程序第10行

       程序第11行計算過程

 

2、實驗結果

 

 說明:上圖結果證明了離散傅里葉變化是對FT變化在區間(0,2*pi)的等間距N點采樣。

 

參考:西電《數字信號處理》第三版   

        用matlab對信號進行傅里葉變換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM