從傅里葉級(jí)數(shù)到快速傅里葉變換

在計(jì)算機(jī)上編程做信號(hào)處理時(shí),我們通常用的是FFT, 但是開始學(xué)信號(hào)處理時(shí),一般是從FS開始的。所以這里整理一下從FS到FFT“演變”的過程。以下是傅里葉“家族”的一些名稱:

  • FS(Fourier Series) 連續(xù)時(shí)間周期信號(hào)的傅里葉級(jí)數(shù)
  • FT(Fourier Transform) 連續(xù)時(shí)間非周期信號(hào)的傅里葉變換
  • DFS(Discrete Fourier Series) 離散傅里葉級(jí)數(shù)
  • DTFT(Discrete Time Fourier Transform) 離散時(shí)間傅里葉變換
  • DFT(Discrete Fourier Transform) 離散傅里葉變換
  • FFT(Fast Fourier Transform) 快速傅里葉變換

FS

首先,要從FS說起的。假設(shè)有一個(gè)正弦信號(hào)sin(w0t),那么在頻域它是什么呢?就是在w0處有一條豎線!如果有一個(gè)信號(hào)是sin(w0t)+sin(w1t),那么在頻域,它是兩條豎線(w0處和w1處)。如果是更為復(fù)雜的周期信號(hào),那么相應(yīng)得,在頻域有好多條豎線!(好像說了一堆廢話)。不過,我們可以通過這些豎線,知道這個(gè)復(fù)雜的周期信號(hào)的成分,也可以通過抹掉一些頻率的方法改變周期信號(hào)的成分(濾波)??傊?,F(xiàn)S給我們提供了一種方法,使我們可以用來分析連續(xù)時(shí)間周期信號(hào)的成分。需要提一下,在時(shí)間上連續(xù)的周期信號(hào),在頻域是離散的!

FT

但是,在實(shí)際中,大部分信號(hào)是非周期的,于是就FT就到來了。如何將周期信號(hào)推廣到非周期信號(hào)呢?高人們是這么做的:先假設(shè)這個(gè)信號(hào)是周期的,周期為T,于是可以得到該周期信號(hào)的FS, 然后領(lǐng)T->無窮大,這時(shí),相應(yīng)的FS就變成了FT。具體在頻域上的反映是,原本有間隔的豎條在T->無窮大時(shí)連在了一起,在頻域變成了連續(xù)的!所以在時(shí)間上的非周期信號(hào),在頻域上是連續(xù)的!

如果我們對(duì)一個(gè)周期信號(hào)x(t)抽取它的一個(gè)周期xT(t)做FT, 那么頻域是連續(xù)的,而該原始信號(hào)x(t)在頻域(FS)的那些豎條相當(dāng)于是對(duì)FT的采樣. x(t)的周期越小,豎條的間隔越寬,x(t)的周期越大,豎條的間隔越窄,如果x(t)的周期是無窮大,那么這時(shí)豎條的間隔就趨于0了,也就是頻域的波形連在了一起,F(xiàn)S變成了FT。

什么?為什么x(t)周期越小,豎條的間隔越寬?因?yàn)樨Q條的間隔其實(shí)就是周期信號(hào)的基頻,周期T越小,基頻越大,所以豎條的間隔就越寬。

DFS

好了,連續(xù)時(shí)間的說完了,但是對(duì)我們來說并沒有什么卵用,因?yàn)槲覀冇?jì)算機(jī)中的數(shù)據(jù)是離散的x[n],根本不是x(t)。所以,接下來說的就是離散時(shí)間的傅里葉級(jí)數(shù)DFS。

正如連續(xù)周期信號(hào)x(t)可以用一系列正弦波疊加來表示(這里只考慮收斂的情況),離散周期信號(hào)x[n]也可以用一系列“正弦序列”疊加來表示。那么在頻域,這一系列“正弦序列”就對(duì)應(yīng)了一堆豎線。每個(gè)豎線的高低就反應(yīng)了原始序列x[n]中該頻率成分的強(qiáng)弱。這就是DFS,時(shí)域的信號(hào)x[n],在頻域是一堆豎線,如果我們想去掉一個(gè)頻率成分,在頻域把這條豎線抹掉就好了,然后反變換回去。這時(shí)的時(shí)域序列y[n]就沒有該頻率的成分了,過程如下:

時(shí)域x[n]-->計(jì)算DFS頻域系數(shù)-->頻域X[w]-->去掉某些頻率成分(讓對(duì)應(yīng)系數(shù)為0)-->頻域Y[w]-->從頻域系數(shù)回到時(shí)域-->時(shí)域y[n]

很好!但是,現(xiàn)實(shí)很殘酷,這是不可能的!

因?yàn)?,既然x[n]是周期的,那么在時(shí)域就是無限的,從古至今一直存在的,真的有這樣的信號(hào)嗎?我不知道。當(dāng)然,你可以造一個(gè)N點(diǎn)的信號(hào)x1[n],并且想當(dāng)然認(rèn)為這個(gè)信號(hào)是周期的,(N為周期,也就是x[n]=x1[n+kN]),這時(shí),你認(rèn)為你造的信號(hào)x1[n]就是周期信號(hào)x[n]的一個(gè)周期。因?yàn)镈FS計(jì)算過程只需要一個(gè)周期,所以你可以按上述處理過程從x1[n]得到y(tǒng)1[n],也就是在你的想象中從x[n]的到了y[n]。當(dāng)然,這樣做在實(shí)際中是完全沒用的,因?yàn)閷?shí)際中我們處理的信號(hào)肯定是非周期的。于是,DTFT出場(chǎng)了。

DTFT

因?yàn)槲覀儗?shí)際中處理的信號(hào)是非周期的,就需要得到這種非周期的離散信號(hào)的頻域表示,然后進(jìn)一步處理。正如連續(xù)時(shí)間信號(hào)由周期變?yōu)榉侵芷诘奶幚硪粯?,我們可以先把非周期離散時(shí)間序列x[n]當(dāng)成是周期為N的信號(hào)x'[n]的一個(gè)周期,然后領(lǐng)N->無窮大。這樣,就得到了非周期離散信號(hào)的頻域表示,這就是DTFT。

DFT

但是,很不幸的是,正如連續(xù)時(shí)間非周期信號(hào)一樣,它在頻域上是連續(xù)的!我們?cè)谟?jì)算機(jī)上怎么表示這個(gè)連續(xù)的頻域?回想一下,我們的離散時(shí)間信號(hào)是哪里來的?好像也是從連續(xù)時(shí)間信號(hào)來的。怎么來的呢?采樣!對(duì)了,我們可以對(duì)頻域也進(jìn)行采樣!這樣,連續(xù)的頻譜被我們采樣成了離散頻點(diǎn)的頻譜。時(shí)域的采樣間隔相對(duì)于采樣周期,由奈奎斯特定律給出,那么頻域的采樣間隔該選多少呢?高人們說了,為了恢復(fù)N點(diǎn)的離散時(shí)間間隔,頻率的采樣點(diǎn)在一個(gè)周期內(nèi)(離散時(shí)間信號(hào)的頻域是周期的)也應(yīng)該是N!那么采樣間隔就是2π/N!這樣,我們就可以由N點(diǎn)的輸入序列x[n]得到它的頻域表示: N點(diǎn)的X[k], 其中k=0,1,...,N-1.分別對(duì)應(yīng)頻間隔為2π/N的N個(gè)頻率,這樣就可以在計(jì)算機(jī)中處理了。這就是DFT。

FFT

FFT是為了速度而生的,正如它的名字一樣。為了計(jì)算更快,高人們對(duì)DFT的計(jì)算方法進(jìn)行了改進(jìn),就是FFT。我們?cè)谟?jì)算機(jī)世界使用的也是FFT。

所以FS到FFT的演變,其實(shí)就是理論分析到實(shí)際應(yīng)用的演變。

正負(fù)變換的公式

FS



FT



DFS



DTFT



DFT



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容