從連續時間傅利葉級數到快速傅利葉變換

2021-08-16 07:16:24 字數 2431 閱讀 8082

在計算機上程式設計做訊號處理時,我們通常用的是fft, 但是開始學訊號處理時,一般是從fs開始的。所以這裡整理一下從fs到fft「演變」的過程。以下是傅利葉「家族」的一些名稱:

fs(fourier series)  連續時間週期訊號的傅利葉級數

ft(fourier transform)  連續時間非週期訊號的傅利葉變換

dtft(discrete time fourier transform) 離散時間傅利葉變換

dfs(discrete fourier series) 離散傅利葉級數

dft(discrete fourier transform) 離散傅利葉變換

fft(fast fourier transform) 快速傅利葉變換

首先,要從fs說起的。假設有乙個正弦訊號sin(w0t),那麼在頻域它是什麼呢?就是在w0處有一條豎線!如果有乙個訊號是sin(w0t)+sin(w1t),那麼在頻域,它是兩條豎線(w0處和w1處)。如果是更為複雜的週期訊號,那麼相應得,在頻域有好多條豎線!(好像說了一堆廢話)。不過,我們可以通過這些豎線,知道這個複雜的週期訊號的成分,也可以通過抹掉一些頻率的方法改變週期訊號的成分(濾波)。總之,fs給我們提供了一種方法,使我們可以用來分析連續時間週期訊號的成分。需要提一下,在時間上連續的週期訊號,在頻域是離散的!

但是,在實際中,大部分訊號是非週期的,於是就ft就到來了。如何將週期訊號推廣到非週期訊號呢?高人們是這麼做的:先假設這個訊號是週期的,週期為t,於是可以得到該週期訊號的fs, 然後領t->無窮大,這時,相應的fs就變成了ft。具體在頻域上的反映是,原本有間隔的豎條在t->無窮大時連在了一起,在頻域變成了連續的!所以在時間上的非週期訊號,在頻域上是連續的!

如果我們對乙個週期訊號x(t)抽取它的乙個週期xt(t)做ft, 那麼頻域是連續的,而該原始訊號x(t)在頻域(fs)的那些豎條相當於是對ft的取樣. x(t)的週期越小,豎條的間隔越寬,x(t)的週期越大,豎條的間隔越窄,如果x(t)的週期是無窮大,那麼這時豎條的間隔就趨於0了,也就是頻域的波形連在了一起,fs變成了ft。

什麼?為什麼x(t)週期越小,豎條的間隔越寬?因為豎條的間隔其實就是週期訊號的基頻,週期t越小,基頻越大,所以豎條的間隔就越寬。

好了,連續時間的說完了,但是對我們來說並沒有什麼卵用,因為我們計算機中的資料是離散的x[n],根本不是x(t)。所以,接下來說的就是離散時間的傅利葉級數dfs。

正如連續週期訊號x(t)可以用一系列正弦波疊加來表示(這裡只考慮收斂的情況),離散週期訊號x[n]也可以用一系列「正弦序列」疊加來表示。那麼在頻域,這一系列「正弦序列」就對應了一堆豎線。每個豎線的高低就反應了原始序列x[n]中該頻率成分的強弱。這就是dfs,時域的訊號x[n],在頻域是一堆豎線,如果我們想去掉乙個頻率成分,在頻域把這條豎線抹掉就好了,然後反變換回去。這時的時域序列y[n]就沒有該頻率的成分了,過程如下:

時域x[n]-->計算dfs頻域係數-->頻域x[w]-->去掉某些頻率成分(讓對應係數為0)-->頻域y[w]-->從頻域係數回到時域-->時域y[n]

很好!但是,現實很殘酷,這是不可能的!

因為,既然x[n]是週期的,那麼在時域就是無限的,從古至今一直存在的,真的有這樣的訊號嗎?我不知道。當然,你可以造乙個n點的訊號x1[n],並且想當然認為這個訊號是週期的,(n為週期,也就是x[n]=x1[n+kn]),這時,你認為你造的訊號x1[n]就是週期訊號x[n]的乙個週期。因為dfs計算過程只需要乙個週期,所以你可以按上述處理過程從x1[n]得到y1[n],也就是在你的想象中從x[n]的到了y[n]。當然,這樣做在實際中是完全沒用的,因為實際中我們處理的訊號肯定是非週期的。於是,dtft出場了。

因為我們實際中處理的訊號是非週期的,就需要得到這種非週期的離散訊號的頻域表示,然後進一步處理。正如連續時間訊號由週期變為非週期的處理一樣,我們可以先把非週期離散時間序列x[n]當成是週期為n的訊號x'[n]的乙個週期,然後領n->無窮大。這樣,就得到了非週期離散訊號的頻域表示,這就是dtft。

但是,很不幸的是,正如連續時間非週期訊號一樣,它在頻域上是連續的!我們在計算機上怎麼表示這個連續的頻域?回想一下,我們的離散時間訊號是**來的?好像也是從連續時間訊號來的。怎麼來的呢?取樣!對了,我們可以對頻域也進行取樣!這樣,連續的頻譜被我們取樣成了離散頻點的頻譜。時域的取樣間隔相對於取樣週期,由奈奎斯特定律給出,那麼頻域的取樣間隔該選多少呢?高人們說了,為了恢復n點的離散時間間隔,頻率的取樣點在乙個週期內(離散時間訊號的頻域是週期的)也應該是n!那麼取樣間隔就是2π/n!這樣,我們就可以由n點的輸入序列x[n]得到它的頻域表示: n點的x[k], 其中k=0,1,...,n-1.分別對應頻間隔為2π/n的n個頻率,這樣就可以在計算機中處理了。這就是dft。

fft是為了速度而生的,正如它的名字一樣。為了計算更快,高人們對dft的計算方法進行了改進,就是fft。我們在計算機世界使用的也是fft。

所以fs到fft的演變,其實就是理論分析到實際應用的演變。

以下是一些相關的公式:

fs: 

ft:dfs:

dtft:

dft:

從傅利葉級數到傅利葉轉換公式

1 考慮到乙個函式可以展開成乙個多項式的和,可惜多項式並不能直觀的表示週期函式,由於正余弦函式是週期函式,可以考慮任意乙個週期函式能否表示成為一系列正余弦函式的和。假設可以,不失一般性,於是得到 f t a 0 n 1 a nsin n t n 2 將後面的正弦函式展開 an sin n t n a...

傅利葉級數

微積分 總結自課本基礎知識 三角函式與正交性 特別注意三角函式系1,cosx sin x,co s2x,sin2 x,cos nx,s innx 在區間 上正交,指的是該函式系中任何兩個不用的函式積在 上的積分為0.這是乙個很奇妙的特性,特別驗證一下。給定的是對稱區間,因此,如果被積函式是奇函式,則...

傅利葉級數

如上圖所示,傅利葉級數的思想是把乙個週期函式 分解成一系列的三角函式 f t a 0 n 1 a nsin n t 其中原函式f t 的週期t 2 應該說,傅利葉是個天才,能夠想到用無數個三角函式來表示任意的週期函式。但傅利葉認為,式子右邊一大堆的函式,其實都是最簡單的正弦函式,有利於後續的分析和計...