小波變換的本質理解
這是《小波變換和motion訊號處理》系列的第二篇,深入小波。第一篇我進行了基礎知識的鋪墊,第三篇主要講解應用。
在上一篇中講到,每個小波變換都會有一個mother wavelet,我們稱之為母小波,同時還有一個father wavelet,就是scaling function。而該小波的basis函式其實就是對這個母小波和父小波縮放和平移形成的。縮放倍數都是2的級數,平移的大小和當前其縮放的程度有關。
還講到,小波系統有很多種,不同的母小波,衍生的小波基就完全不同。小波展開的近似形式是這樣:
其中的就是小波級數,這些級數的組合就形成了小波變換中的基basis。和傅立葉級數有一點不同的是,小波級數通常是orthonormal basis,也就是說,它們不僅兩兩正交,還歸一化了。
我們還講了一般小波變換的三個特點,就是小波級數是二維的,能定位時域和頻域,計算很快。但我們並沒有深入講解,比如,如何理解這個二維?它是如何同時定位頻域和時域的?
在這一篇文章裡,我們就來討論一下這些特性背後的原理。
首先,我們一直都在講小波展開的近似形式。那什麼是完整形式呢?之前講到,小波basis的形成,是基於基本的小波函式,也就是母小波來做縮放和平移的。但是,母小波並非唯一的原始基。在構建小波基函式集合的時候,通常還要用到一個函式叫尺度函式,scaling function,人們通常都稱其為父小波。它和母小波一樣,也是歸一化了,而且它還需要滿足一個性質,就是它和對自己本身週期平移的函式兩兩正交:
另外,為了方便處理,父小波和母小波也需要是正交的。可以說,完整的小波展開就是由母小波和父小波共同定義的。
其中是母小波,是父小波。需要提醒一點的是,這個正交純粹是為了小波分析的方便而引入的特性,並不是說小波變換的基就一定必須是正交的。但大部分小波變換的基確實是正交的,所以本文就直接預設正交為小波變換的主要性質之一了。引入這個父小波呢,主要是為了方便做多解析度分析(multiresolution analysis, MRA)。說到這裡,你的問題可能會井噴了:好好的為什麼出來一個父小波呢?這個scaling function是拿來幹嘛的?它背後的物理意義是什麼?wavelet function背後的物理意義又是什麼?這個多解析度分析又是什麼呢?不急,下面,我們圍繞一個例子來鞏固一下前面的知識,同時再引出新的特性。
假設我們有這樣一個訊號:
該訊號長度為8,是離散的一維訊號。我們要考慮的,就是如何用小波將其展開。為了方便講解,我們考慮最簡單的一種小波,哈爾小波。下面是它的一種母小波:
那如何構建基於這個母小波的基呢?剛才提到了,要縮放,要平移。我們先試試縮放,那就是ψ(2n):
但這樣的話,它與自己的內積就不是1了,不符合小波基orthonormal的要求,所以我們要在前面加一個係數根號二,這樣我們就得到了另一個哈爾小波的basis function:
同理,我們可以一直這樣推廣下去做scale,得到4n,8n,…….下的basis function。當然在這個例子裡,我們訊號長度就是8,所以做到4n就夠了。但推廣來說,就是這種scaling對母小波的作用為
,這是歸一化後的表示形式。
平移的話也很簡單,我們可以對母小波進行平移,也可以對scale之後的basis function進行平移。比如對上一幅圖中的basis function進行平移,就成了
看得出來,平移後的basis function和母小波以及僅僅scale過的小波,都是正交的,附合小波basis的特點。如果我們用ψ(n)來表示這個mother wavelet,那麼這些orthonormal basis函式可以寫成:
這裡的k是可以看成時域的引數,因為它控制著小波基時域的轉移,而j是頻域的引數,因為它決定了小波基的頻率特性。看到這裡,你應該會感覺很熟悉,因為這裡的平移和變換本質和剛才對scaling function的平移變換是一模一樣的。
這樣,我們就有了針對此訊號space的哈爾小波basis組合:
圖1
可以看出,我們用到了三層頻率尺度的小波函式,每往下一層,小波的數量都是上面一層的兩倍。在圖中,每一個小波基函式的表達形式都寫在了波形的下面。
等等,你可能已經發現了,有問題。這裡為什麼多了個沒有函式表示式的波形呢?這貨明顯不是wavelet function阿。沒錯,它是之前提到的scaling function,也就是父小波。然後你可能就會問,為啥這個憑空插了一個scaling function出來呢?明明目標訊號已經可以用純的小波基組合表示了。是,確實是,就算不包括scaling function,這些小波函式本身也組成了正交歸一基,但如果僅限於此的話,小波變換也就沒那麼神奇的功效了。引入這個scaling function,才能引入我們提到的多解析度分析的理論,而小波變換的強大,就體現在這個多解析度上。那在這裡,我們怎麼用這個多解析度呢?這個哈爾小波basis組合是怎麼通過多解析度推匯出來的呢?
話說在數學定義中,有一種空間叫Lebesgue空間,對於訊號處理非常重要,可以用L^p(R)表示,指的是由p次可積函式所組成的函式空間。我們在小波變換中要研究的訊號都是屬於L^2(R)空間的,這個空間是R上的所有處處平方可積的可測函式的集合,這樣就等於對訊號提出了一個限制,就是訊號能量必須是有限的,否則它就不可積了。小波變換的定義都是基於但不限於L^2(R)中的訊號的。這玩意的特性要具體解釋起來太數學了,牽涉到太多泛函知識,我就不在這裡詳述了。而且老實說我也沒能力完全講清楚,畢竟不是學這個的,有興趣可以參考wiki。總之你記住,小波變換研究中所使用的訊號基本都是平方可積的訊號,但其應用不限於這種訊號,就行了。
對L^2(R)空間做MRA是在幹嘛呢?就是說,在L^2(R)空間中,我們可以找出一個巢狀的空間序列,並有下列性質:
(i)
(ii)
(iii)
(iv)
(v) 有這樣一個方程,是的orthonormal basis。
我來簡單解釋一下這些性質。這個V_j都是L^2(R)空間中的子空間,然後他們是由小到大的,交集是{0},因為這是最小的子空間,並集就是L空間。是不是有點難以理解?沒關係,看看下面這個圖就清楚了:
這個圖是圈圈套圈圈,最裡面的圈是V0,之後分別是V1,V2,V3,V4 。那他們有趣的性質就是,假如有一個函式f(t)他屬於一個某空間,那你將其在時域上平移,它還是屬於這個空間。但如果你對它頻域的放大或縮小,它就會相應移到下一個或者上一個空間了。
同時我們還知道,你要形容每一個空間的話,都需要有對應的orthonormal basis,這是必然的,那對於V0來講,它的orthonormal basis就是
這一系列函式是什麼呢?是的時域變換,而且我們剛才也說了,時域上平移,是不會跳出這個空間的。這樣,我們就可以說,由這一系列basis所定義的L^2(R)子空間V0被這些basis所span,表示成:
k從負無窮到正無窮。上面的bar表示這是一個閉包空間,也就是說
這樣,我們就定義了基本的V0這個子空間。剛才說了,這個子空間的基都是對的整數時域變換,這裡我們稱
為scaling function,所以換個說法,就是說這裡整個子空間V0,由scaling function和其時域變換的兄弟們span。
當然,如果這個scaling function只是用來代表一個子空間的,那它的地位也就不會這麼重要了。剛才我們提到,這個巢狀空間序列有一個性質,
。這就是這個函式,如果你對它頻域的放大或縮小,它就會相應移到下一個或者上一個空間了。這個性質就有意思了,它代表什麼呢?對於任何一個包含V0的更上一層的空間來講,他們的基都可以通過對scaling function做頻域的scale後再做時域上的整數變換得到!推廣開來就是說,當
我們有
這也就意味著,對於任何屬於V_j空間的函式f(t),都可以表示為:
到這裡,我們就明白這些個子空間和那個憑空冒出來的scaling function的作用了。scaling的構建這些不同的子空間的基礎,當j越大的時候,每一次你對頻率變換後的scaling function所做的時域上的整數平移幅度會越小,這樣在這個j子空間裡面得到的f(t)表示粒度會很細,細節展現很多。反之亦然。通俗點說,就是對scaling function的變換平移給你不同的子空間,而不同的子空間給你不同的解析度,這樣你就可以用不同的解析度去看目標訊號。
下面就是時候看看什麼是MRA equation了,這是更加有趣,也是更加核心的地方。通過剛才的講解,V0屬於V1,那scaling function是在V0中的,自然也在V1中了。我們把他寫成V1的基的線性組合,那就是
其中的h(n)是scaling function的係數,也叫做scaling filter或者scaling vector,可以是實數,也可以是虛數。根號2是為了維持norm為1的。看,在這個公式裡,我們就把屬於V0的函式用V1的基表示出來了。同理,我們可以迴圈如此,把屬於V0的在V2, V3, …, Vn中表示出來。這些方程就是MRA equation,也叫refinement equation,它是scaling function理論的基礎,也是小波分析的基礎之一。
好,稍微總結一下。到現在,已經講了關於scaling function的基本理論知識,知道了訊號空間可以分為不同精細度的子空間,這些子空間的basis集合就是scaling function或者頻率變換之後的scaling function,如下圖所示:
上圖就是四個子空間的basis集合的展覽。通過前面的討論,我們還知道,一開始的scaling function可以通過更精細的子空間的scaling function(它們都是對應子空間的basis)來構建。比如
對於更加finer的scale:
圖2
依此類推。實際上,對於任何scale和translate過的scaling function,都可以用更加精細的scale層面上的scaling function構建出來。
然後,我們有各種scale下的scaling function了,該看看它們分別所對應的巢狀的空間序列
了。先看看V0,自然就是以基本的scaling function為基礎去span出來的:
這個不新鮮,剛才就講過了。這個子空間代表什麼樣的訊號?常量訊號。道理很簡單,這個scaling function在整個訊號長度上,沒有任何變化。繼續往下看:
這個相比V0更加finer的子空間,代表著這樣一種訊號,它從1-4是常量,從5-8是另一個常量。同理我們有:
V2代表的訊號,是分別在1,2; 3,4; 5,6; 7,8上有相同值的訊號。那麼V3呢?則表示任何訊號,因為對於V3來講,任何一個時間刻度上的值都可以不一樣。而且現在,我們也可以通過上面的一些scaling functions的波形驗證了之前提到的多解析度分析中的一個核心性質,那就是:
我們之前講了一堆多解析度的理論,但直到現在,通過這些圖形化的分析,我們可能才會真正理解它。那好,既然我們有一個現成的訊號,那就來看看,對這個訊號作多解析度分析是啥樣子的:
你看,在不同的子空間,對於同一個訊號就有不同的詮釋。詮釋最好的當然是V3,完全不損失細節。這就是多解析度的意義。我們可以有巢狀的,由scaling function演變的basis function集合,每一個集合都提供對原始訊號的某種近似,解析度越高,近似越精確。
說到這裡,可能你對scaling function以及多解析度分析已經比較理解了。但是,我們還沒有涉及到它們在小波變換中的具體應用,也就是還沒有回答剛才那個問題:憑空插了一個scaling function到小波basis組合中幹嘛。也就是說,我們希望理解scaling function是怎麼和小波函式結合的呢,多解析度能給小波變換帶來什麼樣的好處呢。這其實就是是小波變換中的核心知識。理解了這個,後面的小波變換就是純數學計算了。
好,我們已經知道,對於子空間V0,basis是scaling function:
對應的小波函式是:
然後子空間V1的basis集合是這倆哥們:
看出什麼規律了麼?多看幾次這三個圖,你會驚訝地發現,在V0中的scaling function和wavelet function的組合,其實就是V1中的basis!繼續這樣推導,V1本來的的basis是:
然後V1中對應的wavelet function是
他們的組合,本質上也就是V2的basis(參考圖2)。你繼續推導下去,會得到同樣的結論:在scale j的wavelet function,可以被用來將Vj的basis擴充套件到V(j+1)中去!這是一個非常非常關鍵的性質,因為這代表著,對任何一個子空間Vj,我們現在有兩種方法去得到它的orthonormal basis:
1. 一種就是它本來的basis
,對任意k。
2. 第二種就是它上一個子空間的basis
,對任意k,以及上一級子空間的wavelet function
,對任意k。
第二種選擇能給我們帶來額外的好處,那就是我們可以迴圈不斷地用上一級子空間的scaling function以及wavelet function的組合來作為當前子空間的基。換句話說,如果針對V3這個子空間,它實際上就有四種不同的,但是等價的orthonormal basis:
1. 本級(V3)的scaling function basis set
2. 上一級(V2)的scaling function + wavelet function;
3 . 上上一級(V1)的scaling function + 上上一級(V1)的wavelet function + 上一級(V2)的wavelet function;
4. 上上上一級(V0)的scaling function + 上上上一級(V0)的wavelet function + 上上一級(V1)的wavelet function + 上一級(V2)的wavelet function
好,看看最後一種選取方式,有沒有感到眼熟?對了,它就是我們之前提到的“針對此訊號space的哈爾小波basis組合”,參見圖1。現在我們知道了,這個scaling function不是憑空插進去的,而是通過不斷的巢狀迭代出來的:)
那為什麼我們最後選定的是這種選取方式呢?實際上,剛才介紹的這個性質已經告訴我們,對於任何的scale j0,我們都可以給我們的signal space找到一組orthonormal basis,這個basis是通過組合scale j0上的scaling function以及所有在scale j,j>j0上的wavelets得到的。這樣,基於這個orthonormal basis,所有訊號空間中的訊號都可以寫成組成這個basis的functions的線性組合:
對應的係數的計算和平常一樣:
這,就是最終的,也是最核心的,小波變換形式。不管是訊號壓縮,濾波,還是別的方式處理,只要是用小波變換,都逃不出這個基礎流程:
1. 選取合適的wavelet function和scaling function,從已有的訊號中,反算出係數c和d。
2. 對係數做對應處理
3. 從處理後的係數中重新構建訊號。
這裡的係數處理是區別你的應用的重點。比如影象或者視訊壓縮,就希望選取能將能量聚集到很小一部分系數中的小波,然後拋棄那些能量很小的小波係數,只保留少數的這些大頭係數,再反變換回去。這樣的話,影象訊號的能量並沒有怎麼丟失,影象體積卻大大減小了。
還有一個沒有解釋的問題是,為什麼要強調尺度函式和小波函式組成一個orthonormal basis呢?計算方便是一方面,還有一個原因是,如果他們滿足這個性質,就滿足瑞利能量定理,也就是說,訊號的能量,可以完全用每個頻域裡面的展開部分的能量,也就是他們的展開係數表示:
到這裡,我們對小波變換的形式就講完了。雖然是用的最簡單的哈爾小波為例子,但舉一反三即可。我們著重介紹了多解析度分析以及它給小波變換帶來的殺手鐗:時域頻域同時定位。結束之前,再多說幾句小波變換的意義。我們拿剛才例子中V3子空間的第二種可選擇的orthonormal basis作為例子:
左邊這四個basis組成元素,也就是scaling functions,的係數,表徵的是訊號的local平均(想想它們和訊號的內積形式),而右邊的這四個basis組成元素,也就是wavelet functions,的係數則表徵了在local平均中丟失的訊號細節。得益於此,多解析度分析能夠對訊號在越來越寬的區域上取平均,等同於做低通濾波,而且,它還能保留因為平均而損失的訊號細節,等同於做高通濾波!這樣,我們終於可以解釋了wavelet function和scaling function背後的物理意義了:wavelet function等同於對訊號做高通濾波保留變化細節,而scaling function等同於對訊號做低通濾波保留平滑的shape!
對小波變換的基礎知識,我們就講到這裡。需要注意的是,這只是小波變換最基本最基本的知識,但也是最核心的知識。掌握了這些,代表你對小波變換的物理意義有了一定的瞭解。但對於小波變換本身的講解,一本書都不一定能將講透,還有很多的基礎知識我都沒有講,比如如何構建自己的scaling function,選取合適的係數集h[k],並由此構建自己的wavelet functions。所以,如果有深入下去研究的同學,好好買一本書來看吧。而只是希望用小波變換來服務自己的應用的同學,個人覺得這些知識已經足夠讓你用來起步了。
相關推薦
初學小波變換的理解
小波變換的起源:傅立葉變換-短時傅立葉變換-小波變換 (1)傅立葉變換的缺點:無法分析非平穩訊號 (2)短時傅立葉變換(STFT)的缺點:窄視窗時間解析度高、頻率解析度低,寬視窗時間解析度低、頻率解析度高。對於時變的非穩態訊號,高頻適合小視窗,低頻適合大視窗。然而STFT的視窗是固定的,在一
小波變換的本質理解
這是《小波變換和motion訊號處理》系列的第二篇,深入小波。第一篇我進行了基礎知識的鋪墊,第三篇主要講解應用。 在上一篇中講到,每個小波變換都會有一個mother wavelet,我們稱之為母小波,同時還有一個father wavelet,就是scaling functi
小波變換之初步理解
從2018年10月份,開始接觸小波變換,從網上查了很多資料,有幾個部落格講得很生動形象,學到了很多,今天在這裡總結一下。 在最一開始,最困擾我的,也是我最想去了解的,就是為什麼要用小波變換而不用傅立葉變換。 後來才知道,我們在實際應用中分析訊號的時候,不僅僅需要
小波變換的簡單理解(1)
小波變換是對於訊號處理產生的一種分析方法。 1、在此之前,對於訊號分析應用的是傅立葉變換,但是傅立葉存在一定侷限性,不具備區域性化分析能力、不能分析非平穩訊號等。 2、基於傅立葉變換的侷限性,產生了短時傅立葉變換STFT,採用滑動視窗對訊號分段取樣,分段的訊號具
小波變換(wavelet transform)的通俗解釋(一)
edi spa jpeg 疊加 空間 只知道 內容 信號分析 長度 小波變換 小波,一個神奇的波,可長可短可胖可瘦(伸縮平移),當去學習小波的時候,第一個首先要做的就是回顧傅立葉變換(又回來了,唉),因為他們都是頻率變換的方法,而傅立葉變換是最入門的,也是
頻域處理:傅立葉變換及小波變換
頻域處理:傅立葉變換及小波變換 引言 1、傅立葉變換 2、小波變換 3、程式 引言 影象處理–>頻域處理–>傅立葉變換、小波變換。用另一種方法來觀察世界的話,你會發現世界是永恆不變的。
小波變換原理及在影象處理的應用
Part1-Introduction To The Wavelet Transform(簡介) 1、Origin of the wavelet transform: The theories of Wavelet originate from diffierent areas of st
CSI資料處理中的小波變換
[c,l] = wavedec(y(:,i),3,'db4'); wavedec函式用於一維小波變換,對訊號進行多層分解 [c,l]=wavedec(x,N,’wname’,),c表示各層分量,包括近似係數和細節係數,l表示各層分量長度,x表示原始訊號,N分解的層
中值形態小波變換的OpenCV程式碼
/////////////////////////////////////////////////////////////////////////////// //-MWT.H #pragma once #include "cv.h" #include "highgui.h" usi
形態S+p型小波變換
這裡要講到形態S+p型小波變換,它的一維的形式如下: 整型序列c[n],n=0,1,...N-1,N為偶數,可以分解成以下兩個序列: l[n] = INT[(c[2n]+c[2n+1])/2]; n=0,1,...N/2-1 h[n] =
小波變換由來 https://blog.csdn.net/zhaomengszu/article/details/72628015
https://blog.csdn.net/zhaomengszu/article/details/72628015 目錄(?)[+] 小波的發展歷史與驅動 傅立葉變換 短時傅立葉變換 小波變換
小波變換基礎理論
小波與小波變換_圖文_百度文庫 https://wenku.baidu.com/view/d55626d9ac51f01dc281e53a580216fc700a5361.html 影象Haar小波變換 - HanFeiKei的部落格 - CSDN部落
opencv+小波變換
什麼是小波變換 小波變換,作為影象處理中的一個重要分支,在影象壓縮,醫療影象處理中有著比較好的應用,在一定程度上甚至可以取代傅立葉變換。與傅立葉變換不同,由於小波變換是建立在多尺度上的,因而可以有著更高的靈活度。這裡為了讓各位更好地理解小波,先打個比方。存在一家做產品的公司,該公司
Gabor小波變換處理眼部影象
import cv2 import numpy as np import pylab as pl from PIL import Image import time #構建Gabor濾波器 def build_filters(): filters = []
小波變換和motion訊號處理第二篇
這是《小波變換和motion訊號處理》系列的第二篇,深入小波。第一篇我進行了基礎知識的鋪墊,第三篇主要講解應用。 在上一篇中講到,每個小波變換都會有一個mother wavelet,我們稱之為母小波,同時還有一個father wavelet,就是scaling functi
小波變換學習筆記
一、小波介紹概括(來源於百度) 傳統的訊號理論,是建立在Fourier分析基礎上的,而Fourier變換作為一種全域性性的變化,其有一定的侷限性,如不具備區域性化分析能力、不能分析非平穩訊號等。在實際應用中人們開始對Fourier變換進行各種改進,以
小波變換 完美通俗解讀【轉載
轉自: 這是《小波變換和motion訊號處理》系列的第一篇,基礎普及。第二篇我準備寫深入小波的東西,第三篇講解應用。 記得我還在大四的時候,在申請出國和保研中猶豫了好一陣,骨子裡的保守最後讓我選擇了先保研。當然後來也退學了,不過這是後話。當時保研就要找老闆,實驗室,自己運
大白話講解小波變換由來
本文首先介紹了從傅立葉變換到小波變換的發展史,然後著重強調了小波變換的兩種作用——時頻分析和多解析度分析,最後講了一下吉布斯效應等相關知識。 小波的發展歷史與驅動 傅立葉變換 FT(傅立葉變換),通過將訊號分解成正餘弦函式(把三角函式當做函式空間的基),將時域訊號轉化為頻域訊號。缺點是隻適用
離散小波變換(DWT)
離散小波變換(Discrete Wavelet Transformation) 一、定義(摘自百度百科): 首先我們定義一些需要用到的訊號及濾波器。x[n]:離散的輸入訊號,長度為N。g[n]:low pass filter低通濾波器,可以將輸入訊號的高頻部份濾掉而輸出低
小波變換和小波閾值法去噪
小波變換和小波閾值法去噪 Q: 328333568 Q群:168691634 1. 小波變換 小波變換是一種訊號的時間——尺度(時間——頻率)分析方法,它具有多分辨分析的特點,而且在時頻兩域都具有表徵訊號區域性特徵的能力,是一種視窗大小固定不變但其形狀可改變,時間窗和頻率窗都可以改變