小波變換和motion信號處理(一)

2021-01-10 電子產品世界

這是《小波變換和motion信號處理》系列的第一篇,基礎普及。第二篇我準備寫深入小波的東西,第三篇講解應用。

本文引用地址:http://www.eepw.com.cn/article/201612/327996.htm

記得我還在大四的時候,在申請出國和保研中猶豫了好一陣,骨子裡的保守最後讓我選擇了先保研。當然後來也退學了,不過這是後話。當時保研就要找老闆,實驗室,自己運氣還不錯,進了一個在本校很牛逼的實驗室幹活路。我們實驗室主要是搞圖像的,實力在全國也是很強的,進去後和師兄師姐聊,大家都在搞什麼小波變換,H264之類的。當時的我心思都不在這方面,盡搞什麼作業系統移植,ARM+FPGA這些東西了。對小波變換的認識也就停留在神秘的「圖像視頻壓縮算法之王」上面。

後來我才發現,在別的很廣泛的領域中,小波也逐漸開始流行。比如話說很早以前,我們接觸的信號頻域處理基本都是傅立葉和拉普拉斯的天下。但這些年,小波在信號分析中的逐漸興盛和普及。這讓人不得不感到好奇,是什麼特性讓它在圖象壓縮,信號處理這些關鍵應用中更得到信賴呢?說實話,我還在國內的時候,就開始好奇這個問題了,於是放狗搜,放毒搜,找遍了中文講小波變換的科普文章,發現沒幾個講得清楚的,當時好奇心沒那麼重,也不是搞這個研究的,懶得找英文大部頭論文了,於是作罷。後來來了這邊,有些項目要用信號處理,不得已接觸到一些小波變換的東西,才開始硬著頭皮看。看了一些材料,聽了一些課,才發現,還是那個老生常談的論調:國外的技術資料和國內真TNND不是一個檔次的。同樣的事情,別人說得很清楚,連我這種並不聰明的人也看得懂; 國內的材料則繞來繞去講得一塌糊塗,除了少數天才沒幾個人能在短時間掌握的。

牢騷就不繼續發揮了。在這個系列文章裡,我希望能簡單介紹一下小波變換,它和傅立葉變換的比較,以及它在移動平臺做motion detection的應用。如果不做特殊說明,均以離散小波為例子。考慮到我以前看中文資料的痛苦程度,我會儘量用簡單,但是直觀的方式去介紹。有些必要的公式是不能少的,但我儘量少用公式,多用圖。另外,我不是一個好的翻譯者,所以對於某些實在翻譯不清楚的術語,我就會直接用英語。我並不claim我會把整個小波變換講清楚,這是不可能的事,我只能盡力去圍繞要點展開,比如小波變換相對傅立葉變換的好處,這些好處的原因是什麼,小波變換的幾個根本性質是什麼,背後的推導是什麼。我希望達到的目的就是一個小波變換的初學者在看完這個系列之後,就能用matlab或者別的工具對信號做小波變換的基本分析並且知道這個分析大概是怎麼回事。

最後說明,我不是研究信號處理的專業人士,所以文中必有疏漏或者錯誤,如發現還請不吝賜教。

要講小波變換,我們必須了解傅立葉變換。要了解傅立葉變換,我們先要弄清楚什麼是」變換「。很多處理,不管是壓縮也好,濾波也好,圖形處理也好,本質都是變換。變換的是什麼東西呢?是基,也就是basis。如果你暫時有些遺忘了basis的定義,那麼簡單說,在線性代數裡,basis是指空間裡一系列線性獨立的向量,而這個空間裡的任何其他向量,都可以由這些個向量的線性組合來表示。那basis在變換裡面啥用呢?比如說吧,傅立葉展開的本質,就是把一個空間中的信號用該空間的某個basis的線性組合表示出來,要這樣表示的原因,是因為傅立葉變換的本質,是。小波變換自然也不例外的和basis有關了。再比如你用Photoshop去處理圖像,裡面的圖像拉伸,反轉,等等一系列操作,都是和basis的改變有關。

既然這些變換都是在搞基,那我們自然就容易想到,這個basis的選取非常重要,因為basis的特點決定了具體的計算過程。一個空間中可能有很多種形式的basis,什麼樣的basis比較好,很大程度上取決於這個basis服務於什麼應用。比如如果我們希望選取有利於壓縮的話,那麼就希望這個basis能用其中很少的向量來最大程度地表示信號,這樣即使把別的向量給砍了,信號也不會損失很多。而如果是圖形處理中常見的線性變換,最省計算量的完美basis就是eigenvector basis了,因為此時變換矩陣T對它們的作用等同於對角矩陣( Tv_n = av_n,a是eigenvalue )。總的來說,拋開具體的應用不談,所有的basis,我們都希望它們有一個共同的特點,那就是,容易計算,用最簡單的方式呈現最多的信號特性。

好,現在我們對變換有了基本的認識,知道他們其實就是在搞基。當然,搞基也是分形式的,不同的變換,搞基的妙處各有不同。接下來先看看,傅立葉變換是在幹嘛。

傅立葉級數最早是Joseph Fourier 這個人提出的,他發現,這個basis不僅僅存在與vector space,還存在於function space。這個function space本質上還是一個linear vector space,可以是有限的,可以是無限的,只不過在這個空間裡,vector就是function了,而對應的標量就是實數或者複數。在vector space裡,你有vector v可以寫成vector basis的線性組合,那在function space裡,function f(x)也可以寫成對應function basis的線性組合,也有norm。你的vector basis可以是正交的,我的function basis也可以是正交的(比如sin(t)和sin(2t))。唯一不同的是,我的function basis是無窮盡的,因為我的function space的維度是無窮的。好,具體來說,那就是現在我們有一個函數,f(x)。我們希望將它寫成一些cos函數和一些sin函數的形式,像這樣

again,這是一個無限循環的函數。其中的1,cosx, sinx, cos2x …..這些,就是傅立葉級數。傅立葉級數應用如此廣泛的主要原因之一,就是它們這幫子function basis是正交的,這就是有趣的地方了。為什麼function basis正交如此重要呢?我們說兩個vector正交,那就是他倆的內積為0。那對於function basis呢?function basis怎麼求內積呢?

現在先複習一下vector正交的定義。我們說兩個vector v,w如果正交的話,應符合:

那什麼是function正交呢?假設我們有兩個函數f(x)和g(x),那是什麼?我們遵循vector的思路去想,兩個vector求內積,就是把他們相同位置上對應的點的乘積做一個累加。那移過來,就是對每一個x點,對應的f和g做乘積,再累加。不過問題是,f和g都是無限函數阿,x又是一個連續的值。怎麼辦呢?向量是離散的,所以累加,函數是連續的,那就是…….積分!

我們知道函數內積是這樣算的了,自然也就容易證明,按照這個形式去寫的傅立葉展開,這些級數確實都是兩兩正交的。證明過程這裡就不展開了。好,下一個問題就是,為什麼它們是正交basis如此重要呢?這就牽涉到係數的求解了。我們研究了函數f,研究了級數,一堆三角函數和常數1,那係數呢?a0, a1, a2這些係數該怎麼確定呢?好,比如我這裡準備求a1了。我現在知道什麼?信號f(x)是已知的,傅立葉級數是已知的,我們怎麼求a1呢?很簡單,把方程兩端的所有部分都求和cosx的內積,即:

然後我們發現,因為正交的性質,右邊所有非a1項全部消失了,因為他們和cosx的內積都是0!所有就簡化為

這樣,a1就求解出來了。到這裡,你就看出正交的奇妙性了吧:)

好,現在我們知道,傅立葉變換就是用一系列三角波來表示信號方程的展開,這個信號可以是連續的,可以是離散的。傅立葉所用的function basis是專門挑選的,是正交的,是利於計算coefficients的。但千萬別誤解為展開變換所用的basis都是正交的,這完全取決於具體的使用需求,比如泰勒展開的basis就只是簡單的非正交多項式。

有了傅立葉變換的基礎,接下來,我們就看看什麼是小波變換。首先來說說什麼是小波。所謂波,就是在時間域或者空間域的震蕩方程,比如正弦波,就是一種波。什麼是波分析?針對波的分析拉(囧)。並不是說小波分析才屬于波分析,傅立葉分析也是波分析,因為正弦波也是一種波嘛。那什麼是小波呢?這個」小「,是針對傅立葉波而言的。傅立葉所用的波是什麼?正弦波,這玩意以有著無窮的能量,同樣的幅度在整個無窮大區間裡面振蕩,像下面這樣:

那小波是什麼呢?是一種能量在時域非常集中的波。它的能量是有限的,而且集中在某一點附近。比如下面這樣:

這種小波有什麼好處呢?它對於分析瞬時時變信號非常有用。它有效的從信號中提取信息,通過伸縮和平移等運算功能對函數或信號進行多尺度細化分析,解決了傅立葉變換不能解決的許多困難問題。恩,以上就是通常情況下你能在國內網站上搜到的小波變換文章告訴你的。但為什麼呢?這是我希望在這個系列文章中講清楚的。不過在這篇文章裡,我先點到為止,把小波變換的重要特性以及優點cover了,在下一篇文章中再具體推導這些特性。

小波變換的本質和傅立葉變換類似,也是用精心挑選的basis來表示信號方程。每個小波變換都會有一個mother wavelet,我們稱之為母小波,同時還有一個scaling function,中文是尺度函數,

相關焦點

  • 小波變換和motion信號處理:第一篇
    這是《小波變換和motion信號處理》系列的第一篇,基礎普及。第二篇我準備寫深入小波的東西,第三篇講解應用。比如話說很早以前,我們接觸的信號頻域處理基本都是傅立葉和拉普拉斯的天下。但這些年,小波在信號分析中的逐漸興盛和普及。這讓人不得不感到好奇,是什麼特性讓它在圖象壓縮,信號處理這些關鍵應用中更得到信賴呢?說實話,我還在國內的時候,就開始好奇這個問題了,於是放狗搜,放毒搜,找遍了中文講小波變換的科普文章,發現沒幾個講得清楚的,當時好奇心沒那麼重,也不是搞這個研究的,懶得找英文大部頭論文了,於是作罷。
  • 小波變換和motion信號處理(二)
    這是《小波變換和motion信號處理》系列的第二篇,深入小波。第一篇我進行了基礎知識的鋪墊,第三篇主要講解應用。另外,為了方便處理,父小波和母小波也需要是正交的。可以說,完整的小波展開就是由母小波和父小波共同定義的。
  • 小波變換和motion信號處理:第二篇
    這是《小波變換和motion信號處理》系列的第二篇,深入小波。第一篇我進行了基礎知識的鋪墊,第三篇主要講解應用。看到這裡,你應該會感覺很熟悉,因為這裡的平移和變換本質和剛才對scaling function的平移變換是一模一樣的。
  • 小波變換在差動熱分析儀信號處理中的應用
    由於小波分析方法是在傅立葉變換基礎上發展起來的,具有多解析度的特點,在去噪方面有明顯的優勢,既能有效地去除噪聲,又能較好地保留信號的突變部分,因此,在LabVIEW環境下,結合MATLAB小波工具箱提供的小波分析功能函數,將5種可用於噪聲處理的小波函數對熱分析信號DSC曲線進行了預處理,並對處理結果進行了分析。
  • 小波變換原理與應用_小波變換的基本原理_小波變換的應用
    小波變換(wavelet transform,WT)是一種新的變換分析方法,它繼承和發展了短時傅立葉變換局部化的思想,同時又克服了窗口大小不隨頻率變化等缺點,能夠提供一個隨頻率改變的「時間-頻率」窗口,是進行信號時頻分析和處理的理想工具。
  • 小波變換教程(一):為什麼需要小波變換
    連結:http://users.rowan.edu/~polikar/WTtutorial.html該教程的目錄如下,主要分為四個部分:1)概覽:為什麼需要小波變換;2)基礎:傅立葉變換及短時傅立葉變換;3)多尺度分析:連續小波變換;4)多尺度分析:離散小波變換這是一篇引導性的教程,作者將給出小波變換的基本原理,而不會涉及公式和理論的證明。
  • Matlab傅立葉變換、餘弦變換和小波變換
    'wname' 為所選的小波函數X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重構濾波器 Lo_R 和 Hi_R 經小波反變換重構原始信號 X 。X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信號 X 中心附近的 L 個點。1.
  • 小波變換 完美通俗解讀
    我們實驗室主要是搞圖像的,實力在全國也是很強的,進去後和師兄師姐聊,大家都在搞什麼小波變換,H264之類的。當時的我心思都不在這方面,盡搞什麼作業系統移植,ARM+FPGA這些東西了。對小波變換的認識也就停留在神秘的「圖像視頻壓縮算法之王」上面。後來我才發現,在別的很廣泛的領域中,小波也逐漸開始流行。比如話說很早以前,我們接觸的信號頻域處理基本都是傅立葉和拉普拉斯的天下。
  • 完美通俗解讀小波變換,終於搞懂小波是什麼東東了
    很多處理,不管是壓縮也好,濾波也好,圖形處理也好,本質都是變換。變換的是什麼東西呢?是基,也就是basis。如果你暫時有些遺忘了basis的定義,那麼簡單說,在線性代數裡,basis是指空間裡一系列線性獨立的向量,而這個空間裡的任何其他向量,都可以由這些個向量的線性組合來表示。那basis在變換裡面啥用呢?
  • 小波變換通俗解釋
    關於傅立葉變換的基本概念在此我就不再贅述了,默認大家現在正處在理解了傅立葉但還沒理解小波的道路上。下面我們主要將傅立葉變換的不足。即我們知道傅立葉變化可以分析信號的頻譜,那麼為什麼還要提出小波變換?答案「對非平穩過程,傅立葉變換有局限性」。看如下一個簡單的信號:
  • 小波的秘密1-小波變換概況與綜述
    當對信號做對稱周期延拓後再做傅立葉變換得到的正弦係數全部為0,也就是任何對稱函數可以寫成餘弦的線性組合,同樣按照離散的思路構造得到的是離散塊餘弦基,即DCT變換,雖然DCT可以通過對稱後周期延拓再變換減少了邊界效應(兩邊信號接上了,但不一定平滑),但也不能消除塊效應,尤其是圖像變換中人為將圖像分成8*8處理後塊效應更加明顯。
  • 小波變換通俗解釋版
    一、傅立葉變換關於傅立葉變換的基本概念在此我就不再贅述了,默認大家現在正處在理解了傅立葉但還沒理解小波的道路上。下面我們主要將傅立葉變換的不足。即我們知道傅立葉變化可以分析信號的頻譜,那麼為什麼還要提出小波變換?答案「對非平穩過程,傅立葉變換有局限性」。看如下一個簡單的信號:
  • 基於小波變換與DSP的實時音頻視頻處理系統
    面對龐大的音/視頻數據量,作為語音及圖像處理的壓縮技術便在多媒體通信中顯得極為重要。隨著多媒體通信技術和超大規模集成電路(vlsi)技術的飛速發展,這一技術將會在眾多領域得到更為廣泛的應用。本文引用地址:http://www.eepw.com.cn/article/20901.htm 1 音/視頻實時處理系統 低碼率視頻通信的主要技術問題是音/視頻壓縮編碼技術,即用來實現在滿足足夠質量和硬體成本的條件下降低所需的碼率。小波變換充分利用人眼的視覺特性,克服了重構圖像會出現的塊效應、蚊子效應、模糊等現象。
  • 完全搞懂傅立葉變換和小波(1)——總綱
    無論是學習信號處理,還是做圖像、音視頻處理方面的研究,你永遠避不開的一個內容,就是傅立葉變換和小波。但是這兩個東西其實並不容易弄懂,或者說其實是非常抽象和晦澀的!
  • 小波變換教程(1):基本原理
    許多其他的變換也常為工程師和數學家們所用,如希爾伯特變換、短時傅立葉變換(下文會有更多介紹)、魏格納分布和雷登變換,當然還有教程的主角——小波變換,而這些也僅是工程師和數學家們所用變換中的一小部分。每種變換都有其應用領域,也有其優缺點,小波變換也不例外。為了更好地理解為什麼需要小波變換,我們需要更深刻地認識傅立葉變換。
  • 基於SI濾波器的一種小波變換的實現
    仿真結果顯示,該研究成果為實時小波信號處理提供了新的途徑,拓寬了集成電路的應用範圍。關鍵字:對數域積分器;小波變換;濾波器;低電壓;低功耗 目前模擬集成電路設計的主要研究方向是低電壓、低功耗電路的實現。對數域電路的設計採用了瞬時縮展技術,很好地解決了在低電源電壓下保持動態範圍和高頻率工作點的問題。
  • 一種基於小波變換的圖像壓縮方法與實現
    小波理論在近三十年發展迅速,成為圖像處理的核心理論。圖像壓縮的國際新標準JPEG2000就是採用基於小波理論的新一代壓縮技術。2 小波變換2.1 小波及相關概念小波是一類在有限區間內快速衰減到0的函數。小波分析就是將信號分解為原小波(也叫小波基)函數不同位移和膨脹的小波。而小波變換就是採用小波理論,將原始信號進行處理,使其具有某些更適合後續處理的時頻特性。
  • 連續小波變換開關電流電路的實現
    本文引用地址:http://www.eepw.com.cn/article/21107.htm 小波變換是80年代後期發展起來的應用數學分支[4-6]。最近幾年,它已廣泛應用於信號檢測、特徵提取、故障診斷與定位、數據壓縮等方面,是信號處理的前沿課題。由於用軟體方法實現小波分析,計算工作量大,耗時多,因而不能用於實時信號處理,而現實中,很多信號處理工作要求實時地進行。
  • 二維9/7小波變換VLSI設計
    JPEG2000標準給出兩種雙正交小波濾波器,即有損壓縮和無損壓縮,前者採用CDF9/7小波,後者採用5/3小波。CDF9/7小波是圖像壓縮的首選濾波器,自然圖像壓縮性能好於5/3小波。 目前圖像二維離散小波變換的硬體實現方法有兩種:一種是採用分離的一維小波變換,另一種是設計非離散的二維小波變換結構。
  • 圖像的二維提升小波變換的FPGA實現
    小波分析理論以其良好的時頻區域性和多解析度分析能力,開闢了圖像處理的嶄新領域。小波變換是一種很好的圖像分解方法,非常適合於分析突變信號而用於靜止圖像邊緣的提取和壓縮。