天天看點

從傅裡葉變換到加窗傅裡葉變換從傅裡葉變換到加窗傅裡葉變換如何實作加窗傅裡葉變換(WFT)時頻局域化與不确定性定理從“原子”的角度來了解WFT關于高斯窗

最近結束了一門課,叫《基于波動理論的目标探測》。名字如此高深,實際上還是還是在講信号處理的一些知識。其中的核心内容是加窗傅裡葉變換(或者叫短時傅裡葉變換)。這裡也想說一說自己的一些了解。

從傅裡葉變換到加窗傅裡葉變換

傅裡葉變換是我們所熟悉的,它把我們所要分析的信号從時間域變換到了頻率域,這樣最大的好處是能讓我們看的更清楚信号是由哪些些基本的“原子”所組成的。這些“原子”其實就是三角級數,或者說是我們所熟悉的: ejωt ,這樣的變換能夠告訴我們原始信号的頻譜,這無疑是非常好的工具。但我們現在來看個例子:

在matlab的指令視窗中輸入xpsound我們觀察其中的任意一個信号都會發現,盡管我們能夠從時間上一眼看處聲音的頻率其實是在一個局部有一個固定的頻率而在另外的一個局部又有另外一個固定的頻率。然而在其中我們看每一個信号的幅度譜(或者能量譜)都無法看處這一點。

我們再來說的更形象一些,如果一個美妙的音樂片段,它是在不同的時間由不同的音符所組成的,我們清楚地知道在不同位置(時間)有不同的音符(頻率)。然而我們卻不能夠通過傅裡葉變換的手段來輕松獲得這一分析。原因正是因為我們取得的時間片段太長了,以至于這些不同頻率的内容都混雜在了一起是以不能夠區分開來。那麼解決的辦法也很簡單,就是把原來的片段“切成”每個音符的大小(假定每個音符持續的時間都一樣)的小片段,再在每個小片段上做傅裡葉變換。這樣我們能夠直接定位到頻率随時間的變化。這種想法和思路實際上就是加窗傅裡葉變換。從傅裡葉變換到加窗傅裡葉變換就是這樣過度過來的。

如何實作加窗傅裡葉變換(WFT)

後面為了書寫友善,我們暫時都把加窗傅裡葉變換叫做是WFT。有了上面的一些基礎的加窗傅裡葉變化的由來,其實還是很容易想到實作加窗傅裡葉變換的方法的。

我們還是從傅裡葉變換(FT)出發來導出WFT的表達式,在FT中我們熟悉它的表達式是

F(jω)=∫∞−∞f(t)e−jωtdt

根據上面所說的WFT的由來,其實我們是不難推出它的表達式的:

首先,待分析的信号是 f(t)∈L2(R) 它的意思就是說 f(t) 是一個能量有限的信号,窗函數 g(t)∈L2(R) 也是能量有限的信号。我們記 g¯(t) 是窗函數 g(t) 的共轭(這裡我們可以先把窗了解成是一個實函數,它的共轭和它本身是一回事兒,寫成共轭形式對于一會兒另外一個概念有用)。

那麼WFT的思路就是,先用窗的不同的時移去截取信号,即

ft(u)=g¯(u−t)f(u)

再對截取的信号取傅裡葉變換,我們把變換的結果記為 f˜(ω,t) ,則變換結果為(這裡的頻率機關是Hz,并且我們還是記為 ω ,下同)

f˜(ω,t)=∫∞−∞g¯(u−t)f(u)e2πjωudu

這樣我們可以想象得來此時的 f˜(ω,t) 是一個二維信号,并且它能夠從頻率和時間兩個次元去刻畫一個信号。而且一個直覺的感受是,我們所說的“窗”如果取得越細密,那麼好像可以刻畫出信号的刻畫的更加完美,但實際上一個極端特例就是“窗”細的不能更細,變成了一個沖擊,那麼不就變成了連續不斷的采樣?這麼來說在t這個次元上看,每個t都是一個白譜,那麼WFT也就失去了意義。這告訴我們,顯然不可以把這個時間的“窗”開的很細,否則頻率域去看會是很大一片(分辨率極低),這也從另一個角度刻畫了時間和頻率隻能折衷,而不能二者都取得性能極佳!

時頻局域化與不确定性定理

實際上從數學的表達式上,也可以去刻畫上面我們所描述的時頻分辨率這一特性。

我們先定義兩個概念:時間的“重心”和頻率的“重心”。

對于窗函數 g(t) 以及它對應的傅裡葉變換 g^(ω) 分别有如下的定義:

t0=1∥g(t)∥2∫∞−∞t|g(t)|2dt

ω0=1∥g^(ω)∥2∫∞−∞ω|g^(ω)|2dω

窗嘛一般來說都是有一個能量聚集中心的,不可能是像噪聲那樣不規則分布的,是以有一個名額就很重要了,它能夠從某種角度說明“分辨率”這個概念,它就是标準差。直覺的想如果标準差越大,那麼在這個次元上它的能量是分散,是以分辨率自然也不會高,反之亦然。

時間和頻率的标準差分别如下

T2=∫∞−∞(t−t0)2|g(t)|2dt∫∞−∞|g(t)|2dt

Ω2=∫∞−∞(ω−ω0)2|g^(ω)|2dω∫∞−∞|g^(ω)|2dω

下面這個圖叫時頻盒子圖,它形象地用圖像的形式給出了描述了上述的時間和頻率分辨率的方法

從傅裡葉變換到加窗傅裡葉變換從傅裡葉變換到加窗傅裡葉變換如何實作加窗傅裡葉變換(WFT)時頻局域化與不确定性定理從“原子”的角度來了解WFT關于高斯窗

顯然我們都希望在時間和頻率的分辨率都能夠越高越好,但是瓶頸在于我們已經知道不可能達到兩者的分辨率都很好,是以我們試圖去折衷。

如果能夠讓 TΩ 盡可能的小,那麼我們就認為達到了目的。已經證明了,當窗函數 g(t)=e−t2 中所謂的高斯窗的形式時,能夠讓 TΩ 盡可能的小,譬如 g(t)=(2a)14e−πat2 他滿足能量的歸一化,即 ∥g∥=1 。在這種情況下 g^(ω)=(2a)2e−πω2/a ,并且 TΩ=14π 對于其他形式的窗函數, TΩ>14π 。這也正是我們窗函數為什麼要選擇高斯窗的原因。

從“原子”的角度來了解WFT

在上面我們說道傅裡葉變換是要看看一個信号是由哪些基本的“原子”所構成的。這也從另一個角度說明了傅裡葉變換的本質——做投影。把信号投影在一個個“互相正交”的原子上,就獲得了信号是由每個多大的“原子”所構成的。那麼WFT既然是從FT演化而來的,我們能不能以相同的角度來了解呢?答案是肯定的。

再回到WFT的表達式:

f˜(ω,t)=∫∞−∞g¯(u−t)f(u)e2πjωudu

對比傅裡葉變換的表達式:

F(jω)=∫∞−∞f(t)e−jωtdt

對于FT它的原子是 ejωt ,那麼很自然的WFT的原子就是:

gω,t(u)=e2πjωug(u−t)

同樣的,其實求解WFT的過程也是一個“投影”(内積)的過程,在 L2(R) 空間中,内積的表達式為:

<f,g>=∫∞−∞f(t)g¯(t)dt <script type="math/tex; mode=display" id="MathJax-Element-7436"> = \int^{\infty}_{-\infty}f(t)\bar g(t)dt</script>

他有三個比較重要的性質,分别是三角不等式:

|<f,g>|≤∥f∥∥g∥

Plancherel定理(其實就是能量守恒定理):

∥f∥=∥f^∥

兩個域中的能量是一定的。

以及它的一個推廣Parseval恒等式(時域内積等于頻域内積):

<f,g>=<f^,g^> <script type="math/tex; mode=display" id="MathJax-Element-7439"> = <\hat f,\hat g></script>

有了以上的數學鋪墊,我們可以輕松寫出WFT的投影形式:

f˜(ω,t)=<f(u),gω,t(u)>

并且由Parseval定理,我們還可以得到從頻率域來計算WFT

f˜(ω,t)=<f˜,g˜ω,t>

其中的 f˜ , g˜ω,t 分别是 f(u) , gω,t(u) 對應的傅裡葉變換。

那麼,從頻率域得到WFT可以表述為:

<f˜,g˜ω,t>=∫∞−∞f˜(v)g˜¯ω,t(v)dv <script type="math/tex; mode=display" id="MathJax-Element-7446"><\widetilde f,\widetilde g_{\omega ,t}> = \int^{\infty}_{-\infty}\widetilde f(v)\bar{\widetilde g}_{\omega ,t}(v)dv</script>

=∫∞−∞f˜(v)e−2πjvtg˜¯ω,t(v−ω)dv

看這個形式是不是非常像有一個頻率的窗叫 g˜ω,t ,它在頻率域與原始信号相乘(加窗),然後再做一個傅裡葉變換呢(此時的積分變量是頻率,此處我們用v來表示)?

以上内容說明了一個事實,那就是WFT仍然是一個分解原子的過程,隻不過原子不再是之前FT中簡單的原子了,而變成了窗函數的時移再乘以一個複數調制 e2πjωt 。

關于高斯窗

最後關于WFT,我們再來說說為什麼要選用高斯窗。上面已經給過了一個最有力的條件,但是其實他還有幾個好處。

  1. 它是一種平滑的函數,這相比于一個我們熟悉的矩形窗就要好很多,它能夠避免頻率域的震蕩。
  2. 它是一種從零開始平滑到極值再平滑地衰落到0的函數,這符合一個我們常見信号的特點——平滑到增長到極大值然後再平滑地衰落。
  3. 它的FT也是一個高斯函數。
  4. 它是偶對稱的,有很多非常良好的性質。

其實高斯窗的應用非常廣泛,圖像進行中也經常使用到它。我個人認為,它是一種最接近實際真實信号的一個有力模型,它的很多性質比如平滑,以及增加和衰落的過程都能比其他信号更好地描述真實情況。這是它應用廣泛的原因。

(注:我所說的常見信号,比如像音樂,或者是圖像的亮度信号,他們都有一定的持續期,但是由于慣性,它們都不可能立刻跳到極值(或者穩定值),都有一個充能以及在衰減時候釋放能量的過程。選擇高斯窗應該說會更好地貼合這個特點。)

繼續閱讀