1. 程式人生 > 資訊 >國產軟體萬興神剪手 Filmora /PDF 上架微軟 Win11 應用商店

國產軟體萬興神剪手 Filmora /PDF 上架微軟 Win11 應用商店

周期函式的傅立葉變換

傅立葉變換最開始需要從傅立葉級數開始講起

  • 傅立葉級數

    一個週期訊號\(f(t)\), 週期為\(T\), 角頻率為 \(w_0 = 2\pi f_0 = \frac{2\pi}{T}\),可以展開成如下形式:

    \[\begin{align*} 三角函式基的傅立葉展開: f(t) &= a_0 + a_1\cos w_0 t + a_2\cos 2w_0 t + a_3\cos 3w_0 t + ... \\ & \hspace{1.2cm} + b_1\sin w_0 t + b_2\sin 2w_0 t + b_3\sin 3w_0 t + ... \\ &= a_0 + \sum_{n=1}^{\infty}(a_n\cos nw_0t+b_n\sin nw_0t) \end{align*} \]

從含義上理解,我們知道是用無線個縮放週期去擬合這個模擬函式,如下圖:

但從數學上解釋,仔細觀察,就知道就可以體會到\(f(t)\)\(cosnw_0 t\)以及\(\sin nw_0t\)做分解,之所以能這麼分解是因為正餘弦組成了一組正交基

介紹正交基之前要先知道函式的正交性: 高中知識告訴我們 一個二維空間的向量是由x, y軸的單位向量\(\vec{x}=(1,0), \vec{y}=(0,1)\)構成,這倆個向量具有正交性,因為它們的內積(投影)為:\(\vec{x} · \vec{y}= 1 * 0 + 0 * 1 = 0\), 同樣把正交擴充套件至函式,當函式的內積如果為0那麼兩個函式正交,比如說兩個函式 \(f(x) 和 g(x)\)

, 那麼$ \int_{-\infty}^{+\infty}f(x)g(x)dx = 0$, 則它們正交,向量空間的內積是對應每一維相乘然後算總和,而函式可以微分化後看成無線維,所以函式的內積運算是積分

\(cosnw_0 t\)以及\(\sin nw_0t\)實際上構成的正交函式,它們之中任意兩個內積為0(很好證明),所以可以用他們來做基分量然後組合成\(f(t)\)

\[ \{1, \cos w_0x, \sin w_0x, \cos 2w_0x, \sin 2w_0x, \cos 3w_0x, \sin 3w_0x, \cos 4w_0x, \sin 4w_0x ...\} \\ \]

由於這組正交函式所對應的定義域\(x \in[-\infty, +\infty]\)

, 值域\(f(x) \in[-\infty, +\infty]\), 所以可以進行線性組合為\(f(t)\)同時這組三角函式的角頻率必為\(w_0\)倍數,很好理解,是因為需要同倍數週期的函式進行疊加, 而\(a_n, b_n\)可以理解成這些維度的係數,或者說\(f(t)\)在這些維度上的投影,要想確定這些值實際上是一個投影的過程,將會在下面得到

  • 復指數形式的傅立葉級數

為什麼要引入這個復指數基,邏輯是這樣子的,對於一個普通周期函式

\[f(x) = k\cos(x + θ) \]

如果單純用餘弦/正弦函式去表示的話,θ無法表示出來的, 因為相位θ的存在,正確的構造思路應該是從這個高中公式開始去入手構造,那麼就有正餘弦了:

\[acosx + bsinx = \sqrt{a^2 +b^2}sin(x + θ)\\ θ=arctan\frac{b}{a} \]

所以需要搞一個sin和cos同時構成的基序列,使得相位θ存在,這是三角基傅立葉級數為什麼既有正弦也有餘弦的原因(雖然正弦和餘弦是可以轉換的)

而復指數傅立葉級數,則是說既然你同時要有\(a\cos{x} + b\sin{x}\),但是兩個東西我看著礙眼,我可以利用尤拉公式\(e^{ix} = \cos x + j\sin x\)一個去表示你這兩個東西,只要把\(e^{ix}\)係數構造好,那就可以\(jsinx\)轉成\(bsinx\),這就是它的思想。

所以我們更習慣使用下面這麼一組復指數正交基去表示,其中\(j\)是虛數單位也就是我們常見的\(i\)

\[ \{e^{-jnw_0x}, ..., e^{-j3w_0x}, e^{-2jw_0x}, e^{-jw_0x}, e^{j0w_0x}, e^{jw_0x}, e^{j2w_0x}, e^{j3w_0x},...,e^{j4w_0x}\} \]

這組正交基的定義域\(x \in[-\infty, +\infty]\), 值域\(f(x)\) 除了是\([-\infty, +\infty]\), 同時還在一個複數空間上,所以用來表示一個實數空間的東西沒有問題(三維變量表示二維變數,只需要把多出的維度消除掉即可), 在這組正交基下,\(f(t)\)可以在區間\([-\frac{T}{2}, \frac{T}{2}]\)展開成如下形式:

\[復指數基的傅立葉展開: f(t) = \sum_{k = -\infty}^{+\infty}c_ke^{jkw_0t} \]
  • 投影的計算

我們知道\(c_k\)相當於f(t)在各個分量上的係數,或者說f(t)在\(e^{jnw_0t}\)上的投影,投影的計算方式在二維向量中內積已經做過計算:

\[\vec{x} · \vec{y}= |\vec{x}||\vec{y}|·\cos {\theta} \\ \vec{x} 在 \vec{y}上的投影為:|\vec{x}| cos {\theta} = \frac{\vec{x}·\vec{y} }{ \vec{y}} \]

所以在函式上也是一樣的定義,內積的值/基分量,對於\(C_k\)的值如下:

\[\begin{align*} c_k &= \frac{<f(t), e^{jkw_0t}>}{<e^{jkw_0t}, e^{jkw_0t}>} \\ &= \frac{\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-jkw_0t}dt}{\int_{-\frac{T}{2}}^{\frac{T}{2}}e^{jkw_0t}e^{-jkw_0t}dt}\\ &= \frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-jnw_0t}dt \end{align*} \]

其中有兩個細節,一是複數的乘法是乘以第二個乘數的共軛的,所以看到\(e^{jkw_0t}\)變成了\(e^{-jkw_0t}\), 第二是關於被除數\({<e^{jkw_0t}, e^{jkw_0t}>}\)的理解上,因為我們這裡算的是以\(e^{jkw_0t}\)為基的係數,所以除的是\(e^{jkw_0t}\)的內基,而不是一個\(e^{jkw_0t}\)

  • 總結

    到這裡其實就很明確了,一個週期為T的函式,可以由週期為nT(n= ..., -3, -2, -1, 0 1, 2, 3, ...)的正餘弦周期函式組合構成,為了表示方便所以用復指數\(e^{jkw_0t}\)方式去代替這些正餘弦,而要求這些分量的係數,實際上就是求f(t)在這些基上投影,計算方式是\(\frac{f(t)與積分量的內積}{基分量與基分量的內積}\), 所以往往能看到這東西\(f(t)e^{-jnw_0t}\), 它實際上就是:f(t)與積分量的內積

非周期函式的傅立葉變換

在上一節已經知道了,對於周期函式\(f(t)\)在區間\([-\frac{T}{2}, \frac{T}{2}]\) 做傅立葉展開得

\[\hspace{4cm} f(t) = \sum_{k = -\infty}^{+\infty}c_ke^{ikw_0t} \hspace{4cm}(2.1)\\ c_n = \frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-jkw_0t}dt \]

對於非周期函式,可以認為\(T→\infty\),此時\(w_0 = \frac{2\pi}{T} →\) 0, 所以微分化後,可以認為是\(w=kw_0, w_0 = \Delta w\), 此時

\[c_n = \frac{\Delta w}{2\pi} \int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-jwt}dt \]

\(c_n\)代入2.1得

\[f(t) = \frac{1}{2\pi} \sum_{k = -\infty}^{+\infty} (\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-jwt}dt) e^{jkw_0t}\Delta w \]

由於\(\Delta w,T→\infty\)

\[f(t) = \frac{1}{2\pi} \int_{-\infty}^{+\infty} (\int_{-\infty}^{+\infty}f(t)e^{-jwt}dt) e^{jkwt}dw \\ 記: F(w) = \int_{-\infty}^{+\infty}f(t)e^{-jwt}dt \hspace{2cm}(傅立葉變換)\\ 則: f(t) = \frac{1}{2\pi} \int_{-\infty}^{+\infty} F(w) e^{jwt}dw \hspace{2cm}(傅立葉逆變換) \]

\(F(w)\)描述的就是\(f(t)在e^{-jwt}分量處的係數 · 2\pi(因為2\pi被提出去了)\), 是函式與在該正交分量相關性,通過\(f(t)\)得到F(w)的過程也被稱之為傅立葉變換,\(F(w)\)又被稱之為f(t)的頻譜密度, 而對於原來的周期函式\(C_n\),因為其分量的頻率不是連續的,所以將\(c_n\)稱為頻譜(與概率分佈函式和概率密度函式的概念一致)

離散時間傅立葉變換

對於一個周期函式\(x(n)\), 我們知道其傅立葉變換,但是如果對其進行取樣後,它的頻率的求解該怎麼做呢?

它的公式如下:

\[離散時間傅立葉級數: \tilde{X}(k) = \sum_{n = 0}^{N -1} \tilde{x}(k) e^{-jk\frac{2\pi}{N}n} \\ 離散時間傅立葉級數逆變換: \tilde{x}(k) = \frac{1}{N} \sum_{k=0}^{N-1} \tilde{X}(k) e^{jk\frac{2\pi}{N}n} \]

離散時間傅立葉級數的公式很好理解,和傅立葉級數一樣,就是計算投影的過程,但是現在函式點變成了取樣點了\(\tilde{x}(k)\) 其它點都沒有都是0,所以不用放過來; 然後基分量\(e^{-jk\frac{2\pi}{N}n}\)和過去的\(e^{-jtw_0n}\) 發生了形式上符號上發生了一點變化,但本質沒有區別,右上角的構成仍然是虛數 · 自變數 · 角頻率· 擴充倍數,唯一有變化的是角頻率這個地方,其它都是一樣的,角頻率在這裡被定義成了\(\frac{2\pi}{N}\), 而且N還是一個變數,表示的是取樣點的數量,角頻率\(w_0\)必須要和原函式保持一直,在這裡取了\(N\)個點,它們可能如上圖屬於多個週期裡面,也可能都在一個週期裡面,那麼這個時候角頻率的範圍就在\([\frac{2\pi}{N}, 2\pi]\),所以就將角頻率對在了最小的\(\frac{2\pi}{N}\)