1.给出五种常用小波基的时域和频域波形图。
与标准的傅里叶变换相比,小波分析中使用到的小波函数具有不唯一性,即小波函数?(t) 具有多样性。小波分析在工程应用中,一个十分重要的问题就是最优小波基的选择问题,因为用不同的小波基分析同一个问题会产生不同的结果。目前我们主要是通过用小波分析方法处理信号的结果与理论结果的误差来判定小波基的好坏,由此决定小波基。常用小波基有Haar小波、Daubechies(dbN)小波、Mexican Hat(mexh)小波、Morlet小波、Meyer小波等5种。 (1)Haar小波
Haar函数是小波分析中最早用到的一个具有紧支撑的正交小波函数,也是最简答的一个小波函数,它是支撑域在t?[0,1]范围内的单个矩形波。 Haar
?10?t?1?12函数的定义如下:?(t)??-12?t?1
??0其他 Haar小波在时域上是不连续的,所以作为基本小波性能不是特别好。但它也有自己的优点,如: ?计算简单;
??(t)不但与?(2jt)[j?z]正交,而且与自己的整数位移正交。 因此,在a族。
?(t)的傅里叶变换是:
?2j的多分辨率系统中Haar小波构成一组最简单的正交归一的小波
?(?)=j4?sin2()e?j?/2 ?a
Haar小波的时域和频域波形图
haar 时域1.510.50-0.5-1-1.500.511.5t i=20; wav = 'haar';
[phi,g1,xval] = wavefun(wav,i); subplot(1,2,1);
plot(xval,g1,'-r','LineWidth',1.5); xlabel('t') title('haar 时域'); g2=fft(g1); g3=abs(g2);
subplot(1,2,2);plot(g3); xlabel('f') title('haar 频域')
5haar 频域7x 106543210051015fx 105
(2)Daubechies(dbN)小波
Daubechies小波是世界著名的小波分析学者Inrid Daubechies构造的小波函数,简写为dbN,N是小波的阶数。小波?(t)和尺度函数
?(t)中的支撑区为
除N?1外,dbN不具有对称性(即非线性相位)。2N?1,?(t)的消失矩为N。dbN没有明确的表达式(除N?1外),但转换函数h的平方模是明确的。
Daubechies小波系是由法国学者Daubechies提出的一系列二进制小波的总称,在Matlab中记为dbN,N为小波的序号,N值取2,3,…,10。该小波没有明确的解析表达式,小波函数φ与尺度函数Φ的有效支撑长度为2N-1.当N取1时便成为Haar小波。 令
p(y)??Ck?0N?1N-1?kkyk,其中Ck2N-1?k为二项式的系数,则有
m0(?)?(cos2-jk?k?)p(sin) 222?1式中,m(?)??he22N?1k?00。
Daubechies小波具有以下特点:
(1)在时域是有限支撑的,即?(t)长度有限。 (2)在频域
?(?)在?=0处有N阶零点。
k?(t)?(t-k)dt??。
(4)小波函数?(t)可以由所谓“尺度函数”?(t)求出来。尺度函数?(t)为
(3)?(t)和它的整数位移正交归一,即?低通函数,长度有限,支撑域在t=0~(2N-1)范围内。
Daubechies小波的时域和频域波形图
db4 时域1.510.50-0.5-102468t
i=10; wname = 'db4';
[phi,g1,xval] = wavefun(wname,i); subplot(1,2,1);
plot(xval,g1,'-r','LineWidth',1.5); xlabel('t') title('db4 时域'); g2=fft(g1); g3=abs(g2);
subplot(1,2,2);plot(g3,'-r','LineWidth',1.5); xlabel('f') title('db4 频域')
db4 频域1000900800700600500400300200100002000400060008000f
注意
Daubechies小波常用来分解和重构信号,作为滤波器使用。波形如下:
分解低通滤波器0.80.60.400.20-0.202468-0.5-110.5分解高通滤波器02468重构低通滤波器10.510.500-0.502468-10重构高通滤波器-0.52468
wname = 'db4'; % 计算该小波的4个滤波器
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(wname); subplot(2,2,1); stem(Lo_D); title('分解低通滤波器'); subplot(2,2,2); stem(Hi_D); title('分解高通滤波器'); subplot(2,2,3); stem(Lo_R); title('重构低通滤波器'); subplot(2,2,4); stem(Hi_R); title('重构高通滤波器');
五种常用小波基含MATLAB实现



