小波变换和motion信号处理一 这是《小波变换和motion信号处理》系列的第一篇基础普及。第
二篇我准备写深入小波的东西第三篇讲解应用。

记得我还在大四的时候在申请出国和保研中犹豫了好一阵骨子里

的保守最后让我选择了先保研。当然后来也退学了不过这是后话。

当时保研就要找老板实验室自己运气还不错进了一个在本校很

牛逼的实验室干活路。我们实验室主要是搞图像的实力在全国也是

很强的进去后和师兄师姐聊大家都在搞什么小波变换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中文是尺度函数也被成为父

小波。任何小波变换的basis函数其实就是对这个母小波和父小波

缩放和平移后的集合。下面这附图就是某种小波的示意图

从这里看出这里的缩放倍数都是2的级数平移的大小和当前其缩

放的程度有关。这样的好处是小波的basis函数既有高频又有低频

同时还覆盖了时域。对于这点我们会在之后详细阐述。

小波展开的形式通常都是这样注意这个只是近似表达严谨的展

开形式请参考第二篇

其中的 就是小波级数这些级数的组合就形成了小波变换中的

基basis。和傅立叶级数有一点不同的是小波级数通常是orthonormal basis也就是说它们不仅两两正交还归一化了。小

波级数通常有很多种但是都符合下面这些特性

1. 小波变换对不管是一维还是高维的大部分信号都能cover很好。

这个和傅立叶级数有很大区别。后者最擅长的是把一维的类三角波

连续变量函数信号映射到一维系数序列上但对于突变信号或任何高

维的非三角波信号则几乎无能为力。

2. 围绕小波级数的展开能够在时域和频域上同时定位信号也就是

说信号的大部分能量都能由非常少的展开系数比如a_{j,k}决

定。这个特性是得益于小波变换是二维变换。我们从两者展开的表达

式就可以看出来傅立叶级数是 而小波级数是 。

3. 从信号算出展开系数a需要很方便。普遍情况下小波变换的复

杂度是O(Nlog(N))和FFT相当。有不少很快的变换甚至可以达到

O(N)也就是说计算复杂度和信号长度是线性的关系。小波变换的

等式定义可以没有积分没有微分仅仅是乘法和加法即可以做到

和现代计算机的计算指令完全match。

可能看到这里你会有点晕了。这些特性是怎么来的为什么需要有

这些特性具体到实践中它们到底是怎么给小波变换带来比别人更

强的好处的计算简单这个可能好理解因为前面我们已经讲过正交

特性了。那么二维变换呢频域和时域定位是如何进行的呢恩我

完全理解你的感受因为当初我看别的文章也是有这些问题就是看不到答案。要说想完全理解小波变换的这些本质需要详细的讲解

所以我就把它放到下一篇了。

接下来上几张图我们以一些基本的信号处理来呈现小波变换比傅

立叶变换好的地方我保证你看了这个比较之后大概能隐约感受

到小波变换的强大并对背后的原理充满期待:)

假设我们现在有这么一个信号

看到了吧这个信号就是一个直流信号。我们用傅立叶将其展开会

发现形式非常简单只有一个级数系数不是0其他所有级数系数都

是0。好我们再看接下来这个信号

简单说就是在前一个直流信号上增加了一个突变。其实这个突变

在时域中看来很简单前面还是很平滑的直流后面也是很平滑的直

流就是中间有一个阶跃嘛。但是如果我们再次让其傅立叶展开呢

所有的傅立叶级数都为非0了为什么因为傅立叶必须用三角波来

展开信号对于这种变换突然而剧烈的信号来讲即使只有一小段变

换傅立叶也不得不用大量的三角波去拟合就像这样

看看上面这个图。学过基本的信号知识的朋友估计都能想到这不就

是Gibbs现象么Exactly。用比较八股的说法来解释Gibbs现象是

由于展开式在间断点邻域不能均匀收敛所引起的即使在N趋于无

穷大时这一现象也依然存在。其实通俗一点解释就是当变化太

sharp的时候三角波fit不过来了就凑合出Gibbs了:)

接下来我们来看看如果用刚才举例中的那种小波展开之后是这样

的

看见了么只要小波basis不和这个信号变化重叠它所对应的级数

系数都为0也就是说假如我们就用这个三级小波对此信号展开

那么只有3个级数系数不为0 。你可以使用更复杂的小波不管什

么小波大部分级数系数都会是0。原因由于小波basis的特殊性

任何小波和常量函数的内积都趋近于0。换句话说选小波的时候

就需要保证母小波在一个周期的积分趋近于0。正是这个有趣的性质

让小波变换的计算以及对信号的诠释比傅立叶变换更胜一筹原因在

于小波变换允许更加精确的局部描述以及信号特征的分离。一个傅立叶系数通常表示某个贯穿整个时间域的信号分量因此即使是临

时的信号其特征也被强扯到了整个时间周期去描述。而小波展开的

系数则代表了对应分量它当下的自己因此非常容易诠释。

小波变换的优势不仅仅在这里。事实上对于傅立叶变换以及大部分

的信号变换系统他们的函数基都是固定的那么变换后的结果只能

按部就班被分析推导出来没有任何灵活性比如你如果决定使用傅

立叶变换了那basis function就是正弦波你不管怎么scale它都

是正弦波即使你举出余弦波它还是移相后的正弦波。总之你就只

能用正弦波没有任何商量的余地。而对于小波变换来讲基是变的

是可以根据信号来推导或者构建出来的只要符合小波变换的性质和

特点即可。也就是说如果你有着比较特殊的信号需要处理你甚至

可以构建一个专门针对这种特殊信号的小波basis function集合对其

进行分析。这种灵活性是任何别的变换都无法比拟的。总结来说傅

立叶变换适合周期性的统计特性不随时间变化的信号; 而小波变换

则适用于大部分信号尤其是瞬时信号。它针对绝大部分信号的压缩

去噪检测效果都特别好。

看到这里你应该大概了解了小波变换针对傅立叶变换的优点了。你

也许对背后的原因还存在一些疑问并希望深入了解一些小波的构建

等知识请移步本系列第二篇傅立叶变换小波变换和motion信

号处理二 小波变换和motion信号处理二 这是《小波变换和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。所以如果有深入下去研究的同学好好买一本书来看吧。而只是希望用小波变换来服务自己的应用

的同学个人觉得这些知识已经足够让你用来起步了。

版权声明:本文为skyofbitbit原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/skyofbitbit/p/4437456.html