2011-08-28 21:31:19| 分类: 纸上谈兵|举报|字号 订阅
小波分析里,很容易混淆的一个概念就是小波函数(wavelet function)和尺度函数(scaling function)的关系。本文将不涉及小波分析的由来及发展历史,也不谈小波分析应用,本文主要目标仅是试着解释清楚小波函数和尺度函数两者的关系,同时也解释一些小波分析中的其他必要相关概念。当然,要更好理解小波分析,一些傅里叶变换的知识是必要的。
我们知道,傅里叶变换分三种不同但又紧密相连的形式:
1,积分傅里叶变换,时域频域都连续;
2,傅里叶级数展开,时域连续,频域离散;
3,离散傅里叶变换,时域频域都离散。
同样,在小波分析中,也有三种类似的形式。积分(连续)小波变换(CWT),小波级数展开,以及离散小波变换(DWT)。
先看看连续小波变换,连续小波正变换为[1]:
逆变换为:
其中*号表示复共轭,为小波基函数(basis function)。
不同小波基函数,都是由同一个基本小波(basic wavelet)ψ(t),经缩放和平移生成,即:
傅里叶变换把一个信号f(t)分解为一系列不同频率正弦型信号的叠加,而傅里叶变换系数就代表不同正弦型信号的幅值。其中,所有正弦型基函数都由傅里叶基函数生成。类似于傅里叶基函数,所有小波基函数也由同一个基本小波生成[2]。不同的是,傅里叶基函数是固定的正弦型信号,而基本小波并未指定,需要根据实际的信号形式,在满足基本小波约束条件下进行设计。
可以看到,连续小波变换采用积分形式,而实际应用中,我们计算的都是采样后的信号,也需要通过离散形式来处理和表达,所以更加有用的是时域频域都离散的DWT,离散小波变换。但是离散小波变换的计算将引入三个问题:
1,数据冗余。观察式(1),可以看到,小波变换将一个一维信号变换为二维小波系数。同样,若信号是二维,变换后将得到三维小波系数。这反映了小波变换的优点,变换不仅具有傅里叶变换的频域分辨率,同时具有了时域或空域分辨率。但是一维信号用二维系数来表达,这就意味着必然有很大的冗余性。
2,与数据冗余紧密相连的就是CWT中无限数量小波的问题。从式(3)中看出,即使我们把平移量τ 和缩放量s都离散化,仍将是一个无限的序列,无法实际应用。矩阵形式表达这个问题就是y=Wx,W为小波基函数矩阵,x为小波系数,y为离散信号向量。这种冗余性表现之一就是W中列数远多于行数。相比较,傅里叶变换中的W为一个正交归一矩阵。
3,对大多数信号来说,小波变换得不到解析解,所以只能通过数值算法得到。这样,就需要一个快速计算方法,来进行小波信号分解(decomposition)。
第一个问题,可以通过引入二进小波(Dyadic wavelet)来解决。二进小波,把由基本小波生成小波基函数的方式表达为:
式中j决定缩放,k决定平移幅度。这样得到的二进形式小波基函数。但是问题并没有解决,这样的小波基函数,仍然在j和k两个维度上无限延伸。所以我们进一步引入紧支二进小波(compact dyadic wavelets)的概念。
如果把函数f(t)和基本小波限制为仅在[0,1]区间内有非零值,在[0,1]区间外为零的函数(解释:如果f(t)不满足此条件,可以通过对f(t)的缩放平移,使其满足,然后再设计相应的基本小波。关于为什么强加这样一个区间限制,将在后面讲述)。紧支二进小波表达为:
其中,。j是满足的最大整数。比如n=3时对应着j=1且k=1。相应的函数的表达改为:
这样在小波变换后就不会出现增维现象。但是仍然没有解决无限系数的问题。于是在解决后两个问题的过程中,引入了尺度函数。不过在讨论尺度函数之前,还需要解释其他几个相关概念,包括滤波器族(Filter Bank),子带编码(Subband Coding),多分辨率分析(Multi-Resolution Analysis,MRA)。
滤波器族:
下图是一系列带通滤波器的频域图。
图(1)
一个信号离散信号x(n)经过这一系列带通滤波器滤波后,将得到一组系数Vi(n)。如下图所示:
图(2)
这样,我们就把一个信号分解成了不同频率的分量。只要这些带通滤波器的频率能够覆盖整个原信号x(n)的频谱范围,反变换时,把这些不同频率信号,按其分量大小组合起来,就可得到原信号x(n)。这样一组带通滤波器就称为滤波器族。
滤波器族能实现将信号分为不同频率分量,从而实现分解信号并分析信号的目的。但是在滤波器族的计算中,我们需要指定频域分割方式。研究者们给出了一种分割方式,即均分法,从而引出了子带编码的概念。
子带编码:
子带编码通过使用均分频域的滤波器,将信号分解为若干个子带[2]。这样是可以实现无冗余且无误差地对数据分解及重建目的。但是Mallat在1989年的研究表明,如果只分为2个子带,可以实现更高效的分解效率。从而引入了多分辨率分析(MRA)。
多分辨率分析:
如果子带编码时将信号带宽先对分为高通(实际为带通)和低通两个部分,对应于两个滤波器。然后对低通部分继续等分。下图为子带编码示意图。
图(3)
从图中看出,每次分割保留高通部分的滤波结果,因为这里已经是信号的细节了,而且通常我们分析的信号,其绝大部分能量都在低频部分。所以高频部分的分割可以到此为止,但是低通部分仍然有更多的细节可以划分划分出来,所以将低通部分继续等分。分割迭代进行。
这样做的优点是,我们只需要设计两个滤波器,然后每次迭代将其对分。缺点是,频域的分割方式确定。对于某些信号来说,这样的划分并不是最优的。同时,可以看到,我们上面说的二进小波,使用的正是这样一种多分辨率分析方式。根据傅里叶变换的相似性定理:
则随着式(5)中n的增大,缩放尺度j在增大,此时时域的函数将被压窄,同时对应的频域傅氏变换将带宽加倍同时中心频谱位置也加倍。可由下图表明。图中为j在逐渐增大过程中,对应频谱发生的改变[1]。
图(4)
这里仍然有个问题。每次都将频谱分为剩下的一半,那实际上,我们永远也取不到整个频段。就好比一杯水,每次都只许喝一半,那将永远无法把它完全喝完(除非喝到了原子级别,无法再分为一半)。所以,这样分割后的函数仍然是无限多的。为解决这个问题,终于引出了我们最初想讨论的尺度函数的概念。(由于博客字数限制,尺度函数在中下篇里介绍)
Reference:
[1].A Really Friendly Guide to Wavelets.http://polyvalens.pagesperso-orange.fr/clemens/wavelets/wavelets.html#section7
[2].Kenneth R. Castleman. Digital Image Processing。
[3].Wavelets for Kids. www.diku.dk/~jda/biosignal/kidsA.pdf
[4] A Albert Boggess Francis J. Narcowich. A First Course in Wavelets with Fourier Analysis。