DFT計算過程詳解


DFT計算過程詳解

平時工作中,我們在計算傅里葉變換時,通常會直接調用Matlab中的FFT函數,或者是其他編程語言中已經為我們封裝好的函數,很少去探究具體的計算過程,本文以一個具體的例子,向你一步一步展示DFT的計算過程。

眾所周知,傅里葉變換的計算公式為:

 

對時域信號進行離散化:

 

根據歐拉定理:

 

DFT方程改寫為:

 

為第mDFT輸出值,

 

 

 

為采樣點輸入,

 

 假設N=4

 

 

 則:

m=0

 

m=1

 

 

 m=2

 

m=3

 

這里需要補充一個采樣率的概念。

假設對原始信號的采樣率為:

 

對原始信號做16DFT進行分析,則基頻為:

 

則:

X(0) = 1st   frequency term ,with analysis frequency = 0 .31.25 = 0Hz;

X(1) = 2nd  frequency term ,with analysis frequency = 1.31.25 = 31.25Hz;

X(2) = 3rd  frequency term ,with analysis frequency = 2 .31.25 = 62.5Hz;

X(3) = 4th  frequency term ,with analysis frequency = 3 .31.25 = 93.75Hz;

分析頻率的公式可以計為:

 

下面進入正題,對一個特定信號進行DFT分析。

原始信號為:

 

可以看出此信號包含1kHz2kHz的信號,現在一步一步的對此信號做8DFT分析。

假設采樣率為,即每秒采集一個點,由於N=8,因此我們需要8個輸入采樣點來計算DFT,即對原始信號進行離散化為:

 

 

 如果采樣率samples/s,DFT的結果將計算的是輸入信號x(n)在分析頻率0KHz,1kHz,2KHz,...,7kHz處的梯度值。

則:

 

m=1時,即計算原始信號在1kHz下的梯度值:

 

 

 

m=2時,即計算原始信號在2kHz下的梯度值:

 

m=3時,即計算原始信號在3kHz下的梯度值:

 

m=4時,即計算原始信號在4kHz下的梯度值:

 

m=5時,即計算原始信號在5kHz下的梯度值:

 

m=6時,即計算原始信號在6kHz下的梯度值:

 

m=7時,即計算原始信號在7kHz下的梯度值:

 

8個梯度值計算完成:

 


免責聲明!

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



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