连续⼩波变换、离散⼩波变换、⼆进⼩波变换、离散序列的⼩
波变换、⼩波包
题⽬:连续⼩波变换、离散⼩波变换、⼆进⼩波变换、离散序列的⼩波变换、⼩波包matlab求傅里叶变换
初学⼩波者尤其是有数字信号处理基础的初学者,很容易拿傅⾥叶变换与⼩波变换对⽐着学习,但容易造成越⽐越混乱的现象,⽐如Matlab⾥fft函数所做的事就是离散傅⾥叶变换DFT,但Matlab⾥的dwt函数所做的事可不是离散⼩波变换的定义式,对于不想深⼊了解只想做应⽤的⼈来讲,真⼼挺乱的,“我只是想⽤⼀下⼩波变换⽽已,就像⽤傅⾥叶变换⼀样,⾄于么?”,其实就是因为⼀些概念没区分清楚。
⼀、连续⼩波变换(Continuous Wavelet Transform, CWT)
只要学习⼩波,第⼀个见到的应该就是连续⼩波变换了,这个也好理解,公式如下:
这就是信号f(t)的连续⼩波变换公式,其中参数a和b都是连续变化的参数,a为尺度参数(在某种意义上就是频率的概念),b是时间参数或平移参数。不严谨地讲,W f(a,b)指的是对信号f(t)进⾏⼩波变换后当频率为a时间为b时的变换值。可以看出,⼀维信号f(t)经过⼩波变换后将变成⼆维信号。
⼆、离散⼩波变换(Discrete Wavelet Transform, DWT)
我们关注离散⼩波变换多数情况实际上是得到⼀个类似于离散傅⾥叶变换DFT的变换,时域和变换域都是离散有限长的,⽅便计算机处理。然⽽,DWT指的是将CWT中的尺度参数a和平移参数b离散化。这⾥要特别注意:DWT并没有将信号f(t)和⼩波ψ(t)中的时间变量t 离散化!这与DFT的概念是⾮常不⼀样的!!
在尺度参数a和平移参数b离散过程中,⼀般对尺度进⾏幂数级离散化,即令a=a0m,对b均匀离散,考虑到不同尺度下频率不同,因此不同尺度下参数b的离散间隔不同。
三、⼆进⼩波变换(Dyadic Wavelet Transform)
前⾯提到,离散⼩波变换是对尺度参数a和平移参数b都进⾏了离散化,⼀般对尺度进⾏幂数级离散化,即令a=a0m,若特殊化取
a0=2,然后保持平移参数b仍是连续的,则这类⼩波我们称为⼆进⼩波变换。总结起来,⼆进⼩波变换的概念介于CWT和DWT之间:相⽐于CWT,⼆进⼩波变换的尺度参数是特殊离散化的(a=2m);相⽐于DWT,⼆进⼩波变换的尺度参数不能随意离散,⽽是特殊离散化的(a=2m),平移参数b是保持连续变化。
四、离散序列的⼩波变换
实际上,很多时候我们绕⼀⼤圈是为了研究离散序列的⼩波变换,即类似于DFT的⼩波变换。要彻底说明⽩离散序列的⼩波变换,这就涉及到多分辨率分析(Multi-ResolutionAnalysis, MRA)、尺度函数、⼆尺度⽅程等概念,这就⽐较⿇烦了,我也讲不太好,有兴趣可以看⼀下⼏篇⽹络博客(建议⾃⾏搜索,原链接已不存在@20200814):⼩波分析和尺度函数(上篇、中篇、下篇)、⼩波变换和motion信号处理(⼆)。
到这⾥有必要提⼀下正交⼩波变换,前⾯说了三种⼩波变换,但它们的⼩波基都不是正交的,这会带来⼀些⿇烦,通过它们对信号变换后的信息是有冗余的,因此构建正交⼩波基是有重要意义的。Mallat给出了⼀种在正交⼩波基上的信号分解算法,也就是著明的Mallat算法了。
离散序列的⼩波变换就是基于著明的Mallat算法,实际上Mallat算法也是针对连续信号的,但在每⼀层的分解过程中(这⾥说的每⼀层实际上就是前⾯尺度的概念),各层分解系数之间有着某种关系,什么关系呢?那就看看Mallat算法框图吧,如下图所⽰:
初始系数x(暂且这么称呼)与其第⼀层分解后的⾼频系数D1(细节部分D etail)的关系是x经过⾼通滤波器g滤波后再下采样,与低频系数A1(近似部分A pproximate)的关系是x经过低通滤波器h滤波后再下采样;然后继续对低频系数A1进⾏第⼆层分解,低频系数A1与其第⼆层分解后的⾼频系数D2(细节部分D etail)的关系是A1经过⾼通滤波器g滤波后再下采样,与低频系数A1(近似部
分A pproximate)的关系是A1经过低通滤波器h滤波后再下采样;后⾯依次类推即可。由于⼀直在下采样,所以虽然滤波器系数g和h不变,但其滤波带宽⼀直在减半。初始系数是怎么来的呢?肯定是根据信号得到的,最简单最粗糙的办法就是对信号直接抽样。这是对连续信号进⾏正交⼩波分解,有了这些系数,再利⽤正交⼩波基,就可以表⽰出信号了,这类似于连续周期信号的傅⾥叶级数分解吧。
从Matllat算法的框图可以看出,从始⾄终这是对离散序列x再进⾏变换分解,即初始系数即是离散信号x,经过多层分解后最后各分解系数合起来就是变换的结果。Matlab中的dwt函数可以实现单层分解,相关内容可参见《》。
五、⼩波包(Wavelet Packet)
细⼼的⼈可能会问,在Mallat算法中为什么只对低频系数继续进⾏分解呢?是的,这在很多时候并不是最恰当的分解⽅式,有的时候对⾼频系数进⾏分解更合适,有的时候对低频系数进⾏分解更合适,这要取决于信号的特点。
⼩波包的概念⼤概就是这样⼦:⽆论是低频系数还是⾼频系统都进⾏同样的分解,然后选取⼀个最合适的分解路径。怎么评价分解是否是最优的呢?最⾃然的想法就是利益最⼤化或者是代价最⼩化,构建⼀个代价函数求⼀下看看如分解代价最⼩。代价函数有很多种,具体不说了。
参考⽂献:
【1】魏明果.实⽤⼩波分析[M].北京:北京理⼯⼤学出版社,2005.
【2】葛哲学,沙威.⼩波分析理分与MATLAB R2007实现[M].北京:电⼦⼯业出版社,2007.
【3】董长虹. Matlab⼩波分析⼯具箱原理与应⽤[M].北京:国防⼯业出版社,2004.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论