【DWT筆記】傅裡葉變換與小波變換
一、前言
我們經常接觸到的信号,正弦信号,餘弦信号,甚至是複雜的心電圖、腦電圖、地震波信号都是時域上的信号,我們也成為原始信号,但是通常情況下,我們在原始信号中得到的資訊是有限的,是以為了獲得更多的資訊,我們就需要對原始信号進行數學變換,得到變換域的信号,通常接觸到的變換主要有傅裡葉變換、拉普拉斯變換、Z變換、小波變換等等,今天主要讨論下傅裡葉變換與小波變換。
二、平穩信号與非平穩信号
在介紹主體之前,先要說下平穩信号與非平穩信号的差別。
平穩信号是指分布參數或者分布律随時間不發生變化的信号。也就是說,平穩信号的統計特性不随時間變化而變化。如下圖所示:

而與之相反的是非平穩信号是指分布參數或者分布律随時間發生變化的信号。也就是說,非平穩随機信号的統計特征是時間的函數(随時間變化),如下圖所示:
放在信号的時頻分析中,我們可以簡單地了解為,平穩信号的頻率不随時間發生改變,而非平穩信号的頻率随時間發生變化。
三、多分辨率分析
海森堡曾經推出一個不确定原理,是說移動的粒子和位置不能同時确定,因為時域與頻域概念本身就是從實體學中沿用過來的,是以,時頻關系也滿足不确定性原理,也就是說,在時頻平面内的一個确切的點上,信号的頻率和發生時間不能同時确定。在任意一個時間點,我們不能确定哪個頻譜分量存在,我們能做到的是在一個給定的時間段内确定哪個頻譜分量存在。
這是一個涉及到分辨率的問題。
拿圖像信号來舉例子,我們大家都知道,圖像的低頻部分顯示的是圖像的基本資訊,而高頻部分更多是細節資訊。就好比我們用谷歌地圖一樣,尺度高(低頻)就意味着沒有細節,是一個整體的視圖;尺度低(高頻)意味着更多的細節資訊。
在實際應用中,圖像中的高頻部分一般持續的時間是比較短的,一般是以短時突變或者尖峰的形式出現,比如說圖像的邊緣資訊和一些噪點資訊,在時域中,我們可以了解高頻對應着在這些地方圖像的變化比較大。而低頻資訊在大部分地方存在,反應在一些背景或内容資訊,在時域上表現為變換不是很明顯的地方。
是以,這樣一來,我們在分析信号的低頻部分的時候,隻需要較大的頻率分辨率和較小的時域分辨率就能夠很好的展現低頻的資訊,而在高頻部分,就需要較大的時間分辨率和較小的頻率分辨率就能夠很好的展現高頻的資訊。
其實,基本的傅裡葉變換不存在分辨率的問題,因為,傅裡葉變換在時域裡面頻域的分辨率為0,同樣在頻域裡面,時域的分辨率也為0,是以說,傅裡葉變換其實沒有分辨率;而短時傅裡葉變換是通過加窗的方式對時域不同時間段的信号進行分析,但是由于窗長是固定的,是以,分辨率是固定的,并且根據窗長的選擇在時域和頻域的分辨率上是一個沖突;而小波變換可以根據尺度的變換和偏移在不同的頻段上給出不同的分辨率,這在實際中是非常有用的,在後面,我們會具體介紹。
四、傅裡葉變換
直覺上,我們都知道頻率意味着某種事物的變化速率。如果某種東西(用正确的技術術語來說是一個數學或實體變量)變化的很快,我們說它的頻率高,如果它變換的不快,我們就說它的頻率低。如果這個變量一直保持不變,我們說它的頻率為0,或者說沒有頻率。
傅裡葉變換時時域與頻率之間的轉換,通常,我們可以容易的從頻域中看到一些在時域中看不到的資訊,舉個簡單的例子,在心電圖的時域信号中一般很難找到這些病情。心髒病專家們一般用記錄在錄音帶上的時域心電圖來分析心電信号。最近,新的心電記錄儀/分析儀還可以提供心電圖的頻域資訊,通過這些資訊,他們就可以确定病症是否存在。對頻域圖進行分析能使他們更容易的診斷病情。
傅立葉變換是一種可逆變換,即它允許原始信号和變換過的信号之間互相轉換。不過,在任意時刻隻有一種資訊是可用的,也就是說,在傅立葉變換後的頻域中不包含時間資訊,逆變換後的時域中不包含時間資訊。
這個其實結合傅裡葉變化的公式就非常容易了解,連續傅裡葉變換的公式為:
離散傅裡葉變換的公式為:
我們可以清楚地看到,傅裡葉變換中,因為積分是從負無窮到正無窮的,是以積分在所有時間類都是有效的。意思就是說,無論什麼時候頻率分量發生了改變都會全局性的影響積分的結果,同樣的道理也适用于離散型的傅裡葉變換。這就是為什麼我們說,傅裡葉變換不适合分析非平穩信号。
五、短時傅裡葉變換
之前,我們讨論過,傅立葉變換不适用于非平穩信号。但是如果我們假設信号時平穩的信号,這樣,傅裡葉變換就可以加以應用了。實際上,如果我們假定信号為穩定的這個時間段很短,那麼我們可以從窄窗中來觀察信号,視窗要窄到我們從窗裡看到的信号确實是平穩的。研究者們最終确定的這個數學逼近,作為傅立葉變換的一個修改版本,叫做短時傅立葉變換。
短時傅立葉變換和傅立葉變換隻有一個微小的不同點。在短時傅立葉變換中,信号被分為足夠小的片段,這些片段的信号都可以看成平穩信号。基于這個原因,就需要一個窗函數。窗的寬度必須和信号片段的寬度相等,這樣它的平穩性才有效。
這裡隻讨論基本理論,是以就不在推到加窗的具體過程了。之前,我們說過,短時傅裡葉變換的分辨率是固定的,這是因為,我們加的窗的窗長是固定的,如果我們有了一個無限長的視窗,然後做傅立葉變換,會得到完美的頻率分辨率,但是結果中不包含時間資訊,這中情況是基本的傅裡葉變換。但是,為了獲得信号的平穩性,我們必須要有一個寬度足夠短的窗函數,在這個很短的時間内,信号時平穩的。視窗越短,時間分辨率越高,信号的穩定性越高,但是頻率分别率卻越來越低。下面給出具體的圖形分析:
上圖出師幾種不同尺度的常函數,下圖是窗長最短的情況的時頻分辨率圖,如下所示:
可以很清楚的看到,時域分辨率是比較高的,而頻域出現很多重疊的部分,是以頻率分辨率較差。下面我們看窗長加長的情況,如下圖所示:
很明顯,這個時候,時域上已經出現了部分重疊了,而頻域分辨率明顯比之前好很多了,再繼續看看,窗長最小的顯示圖,如下圖所示:
這個時候時域的分辨率已經非常差了,而頻域分辨率相當高,是以,簡而言之:窄窗=>高時間分辨率,低頻率分辨率;寬窗=>高頻率分辨率,低時間分辨率。是以,在進行短時傅裡葉變換的時候,窗函數長度的選擇是一個非常關鍵的步驟,我們需要在這裡做很大的權衡與取舍。
六、小波變換
“小波”就是小區域、長度有限、均值為0的波形。小波變換就是選擇适當的基本小波或母小波ψ(t),通過對基本小波的平移、伸縮而形成一系列的小波,這簇小波作為基可以構成一系列嵌套的(信号)子空間,然後将欲分析的信号(例如圖像)投影到各個大小不同的(信号)子空間之中,以觀察相應的特性。這樣,就相當于我們用不同的焦距去觀察一個物體,可從宏觀到微觀,從概貌到細節觀察得十分詳盡。是以小波變換又被稱為“數學顯微鏡”。
這種平移、伸縮是小波變換的一個特點,因而可以在不同的頻率範圍,不同的時間(空間)位置對信号進行各種分析,通過這種多分辨率分析,在高頻信号中獲得一個好的時間分辨率和較差的頻率分辨率,低頻信号中獲得較好的頻率分辨率和較高的時間分辨率,明顯的解決了傅裡葉變換應用與非平穩信号的弊端。小波變換提供了信号的時頻混合表示,在衆多的領域都有着非常高效的用途,例如對圖像的去噪、邊緣檢測、壓縮編碼、圖像融合等。
6.1.離散小波變換
平時我接觸的小波變換主要應用在圖像處理領域,在這裡,連續小波變換就直接不在總結了。
離散小波變換(DWT, Discrete Wavelet Transform)并不是簡單的連續變換的采樣,還必須提供很好的備援,這樣可以實作完全的可逆變換。那麼,這些備援便需要更多的計算機資源,并增加它的計算量。離散小波變換能為信号分析與合成提供足夠的資訊,還可降低計算機的資源消耗和計算量。相對于連續小波變換,離散變換更容易實作。
類似于連續小波變換,離散小波變換同樣需要通過數字濾波器技術得到數字信号的時域的尺度表示。别外,連續小波變換是通過不斷改變視窗的尺度計算完成的:在時域移動視窗函數,然後與信号做卷積運算。在離散小波變換中,濾波器将在不同的尺度條件下截斷信号的某些頻率成分:信号通過不同的高通濾波器得到一系列的信号高頻成分,通過不同的低通濾波器得到一系列的低頻成分,這樣便能分析信号的不同頻率成分。
信号的分辨率可以度量信号細節資訊,當信号通過濾波操作後,尺度信号便由于濾波器對信号的上采樣和下采樣操作而發生了變化。信号的子采樣可以通過降低采樣頻率實作,或者從信号中移出某些成分的采樣。信号的上采樣通過往信号中添加新的采樣點來提高采樣的頻率,而添加的采樣點可以是0或者是一個中間值。
數字信号的表達形式通常為,其中為正整數。那麼離散小波變換首先需要将數字信号通過數字低通濾波器,以得到該信号的進一步采樣值。低通濾波通常是做卷積運算,其表達式如下:
低通濾波器将去除信号中所有高于截止頻率的信号成分,例如,信号的最高頻率為1000Hz,那麼經過低通濾波後,将去除信号中高于500Hz的成分。
信号經低通濾波後,信号的一半成分将被去除。但是根據Nyquist定理,因為此時信号的最高頻率為而不是。這樣,經過簡單低通濾波的信号将不滿足Nyquist定理。是以,信号的尺度因子将加倍,此時低通濾波将去除高頻成分,但是能保持可恢複的低頻采樣。此時,分辨率将與信号的資訊總量相聯系,是以,尺度因子将影響信号的濾波操作。由上述的讨論可知道,簡單的低通濾波得到的采樣雖然去除了高頻成分,但是損失了信号的資訊量,是以信号的分辨率也減半了。那麼,為了保證小波變換的可逆性,将在子采樣後将尺度因子加倍,是以信号的低通濾波可由下面等式完成:
完成了信号的濾波後,便能開始小波變換的計算了。首先必須通過濾波器将信号分解為信号的初級估計近似和信号的細節資訊,然後在不同的頻率帶上利用不同的尺度因子對信号進行分析、處理。經過這些步驟,便完成了離散小波變換的計算。離散變換用到了兩組函數:尺度函數和小波函數,它們分别與低通濾波器和高通濾波器相對應。将信号在不同的頻率帶上進行分解——通過将得到的信号在時域上簡單的低通與高通濾波:首先将原始信号通過高通濾波器和低通濾波器,濾波完成後,按照上節講述的尺度因子限制完成最後的濾波,如下面所示:
其中yhigh和ylow分别是高通濾波和低通濾波的輸出。
6.2.圖像的小波變換
之前的東西理論性比較強,但是我覺得還是對應用還是有很大的理論支援的,當然,其實真的不是特别了解,也能夠在matlab上面很簡單的使用小波變換,這裡不得不贊歎下,很多前人做的貢獻真的給我們現在學習和研究帶來很大的幫助。說遠了,接下來說一些具體的東西。
圖像的小波變換是小波應用于圖像處理的基礎,且基于二維離散小波變換。圖像可以看作是二維的矩陣,一般假設圖像矩陣的大小為,且有( 為非負的整數)。那麼每次小波變換後,圖像便分解為4個大小為原來尺寸1/4的子塊區域,分别包含了相應頻帶的小波系數,相當于在水準方向和堅直方向上進行隔點采樣。進行下一層小波變換時,變換資料集中在頻帶上。
小波系數的空間分布同原始圖像的空間分布具有很好的對應關系所示。
LL頻帶是圖像内容的縮略圖,它是圖像資料能量集中的頻帶。
由于經過了小波系數的正則化處理我們基本就可以從系數的顯示能看出圖像的内容。而、和頻帶存放的是圖像的細節資訊,具體關系如下面:
HL頻帶存放的是圖像水準方向的高頻資訊,它反映了圖像水準方向上的變化資訊和邊緣資訊;
LH頻帶存放的是圖像豎直方向的高頻資訊,它反映了圖像在豎直方向上的灰階變化資訊和圖像邊緣資訊;
HH頻帶存放的是圖像在對角線方向的高頻資訊,它反映了水準方向和豎直方向上圖像灰階的綜合變化資訊,同時包含了少量的邊緣資訊。
可以用圖形來展示這個具體的資訊,下圖是一次小波變換的頻率分布圖:
下面是二次小波變換的頻率分布:
不難看出,小波變換将原始圖像和變換系數之間建立了十分好的相關性。是以,在濾波器的設計上(這個涉及到具體實作,不過有現成函數可以調用),可以針對不同頻帶分别設計。例如,需要削弱圖像水準方向上的毛刺或高頻資訊,可以通過處理HL頻帶的小波系數,而不必影響其他方向上的邊緣資訊。并且,對于多層小波變換而言,還能對不同分辨率級的小波系數進行單獨的處理而達到設想的濾波效果。倘若是進行低通濾波,那麼可以通過保留LL頻帶的資料,而将高頻小波系數進行有效的衰減。
小波圖像的各個頻帶分别對應了原圖像在不同尺度和不同分辨率下的細節以及一個由小波變換分解級數決定的最小尺度、最小分辨率下對原始圖像的最佳逼近。從多分辨率分析的角度考慮小波圖像的各個頻帶時,這些頻帶之間并不是純粹無關的,特别是對于各個高頻帶,由于它們是圖像同一個邊緣、輪廓和紋理資訊在不同方向、不同尺度和不同分辨率下由細到粗的描述,它們之間必然存在着一定的關系,其中很顯然的是這些頻帶中對應邊緣與同尺度下高頻子帶中所包含的邊緣之間也有對應關系。由于圖像的邊緣、輪廓等資訊對人眼觀測圖像時的主觀品質影響很大,這種機制無疑會帶來編碼圖像主觀品質上的改善。
七、小結
本次稍微總結了下傅裡葉變換域小波變換,這篇博文相對比較理論,也比較枯燥,涉及到很多具體實作的部分,這部分其實隻需要了解即可,在實際應用中,不會叫我們去設計濾波器等等這些,感謝前人的工作,我們在matlab中隻需要一個函數就可以實作小波變換。
明天會陸續總結下,基于小波變換在圖像的降噪、壓縮、特征提取、圖像增強、圖像融合等領域的具體應用。