五种常用小波基含MATLAB实现.docx
《五种常用小波基含MATLAB实现.docx》由会员分享,可在线阅读,更多相关《五种常用小波基含MATLAB实现.docx(11页珍藏版)》请在冰豆网上搜索。
五种常用小波基含MATLAB实现
1.给出五种常用小波基的时域和频域波形图。
与标准的傅里叶变换相比,小波分析中使用到的小波函数具有不唯一性,即小波函数
具有多样性。
小波分析在工程应用中,一个十分重要的问题就是最优小波基的选择问题,因为用不同的小波基分析同一个问题会产生不同的结果。
目前我们主要是通过用小波分析方法处理信号的结果与理论结果的误差来判定小波基的好坏,由此决定小波基。
常用小波基有Haar小波、Daubechies(dbN)小波、MexicanHat(mexh)小波、Morlet小波、Meyer小波等5种。
(1)Haar小波
Haar函数是小波分析中最早用到的一个具有紧支撑的正交小波函数,也是最简答的一个小波函数,它是支撑域在
围的单个矩形波。
Haar函数的定义如下:
Haar小波在时域上是不连续的,所以作为基本小波性能不是特别好。
但它也有自己的优点,如:
①计算简单;
②
不但与
正交,而且与自己的整数位移正交。
因此,在
的多分辨率系统中Haar小波构成一组最简单的正交归一的小波族。
的傅里叶变换是:
Haar小波的时域和频域波形图
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频域')
(2)Daubechies(dbN)小波
Daubechies小波是世界著名的小波分析学者InridDaubechies构造的小波函数,简写为dbN,N是小波的阶数。
小波
和尺度函数
中的支撑区为
,
的消失矩为N。
除
外,dbN不具有对称性(即非线性相位)。
dbN没有明确的表达式(除
外),但转换函数h的平方模是明确的。
Daubechies小波系是由法国学者Daubechies提出的一系列二进制小波的总称,在Matlab中记为dbN,N为小波的序号,N值取2,3,…,10。
该小波没有明确的解析表达式,小波函数φ与尺度函数Φ的有效支撑长度为2N-1.当N取1时便成为Haar小波。
令
,其中
为二项式的系数,则有
式中,
。
Daubechies小波具有以下特点:
(1)在时域是有限支撑的,即
长度有限。
(2)在频域
在
=0处有N阶零点。
(3)
和它的整数位移正交归一,即
。
(4)小波函数
可以由所谓“尺度函数”
求出来。
尺度函数
为低通函数,长度有限,支撑域在t=0~(2N-1)围。
Daubechies小波的时域和频域波形图
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频域')
注意
Daubechies小波常用来分解和重构信号,作为滤波器使用。
波形如下:
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('重构高通滤波器');
(3)MexicanHat(mexh)小波
MexicanHat函数为Gauss函数的二阶导数:
因为它的形状像墨西哥帽的截面,所以也称为墨西哥帽函数。
MexicanHat(mexh)小波的时域和频域波形图
d=-6;
h=6;
n=100;
[g1,x]=mexihat(d,h,n);
subplot(2,2,1);plot(x,g1,'-r','LineWidth',1.5);
xlabel('t')
title('Mexihat时域');
g2=fft(g1);
g3=(abs(g2));
subplot(2,2,2);plot(g3);
xlabel('f')
title('mexihat频域');
特点:
墨西哥帽函数在时间域与频率域都有很好的局部化,并且满足
。
由于它不存在尺度函数,所以小波函数不具有正交性。
(4)Morlet小波
它是高斯包络下的单频率副正弦函数:
C是重构时的归一化常数。
Morlet小波没有尺度函数
,而且是非正交分解。
Morlet小波的时域波形图和频域波形图
d=-6;
h=6;
n=100;
[g1,x]=morlet(d,h,n);
subplot(2,2,1);plot(x,g1,'-r','LineWidth',1.5);
xlabel('t')
title('Morlet时域');
g2=fft(g1);
g3=abs(g2);
subplot(2,2,2);plot(g3);
xlabel('f')
title('Morlet频域')
(5)Meyer小波
Meyer小波的小波函数和尺度函数都是在频率域中进行定义的,其定义为:
其中,v(a)为构造Meyer小波的辅助函数,具有
Meyer小波不是紧支撑的,但它收敛的速度很快:
无限可微。
Meyer小波的时域和频域波形图
d=-6;
h=6;
n=128;
[psi,x]=meyer(d,h,n,'psi');
subplot(2,1,1),plot(x,psi,'-r','LineWidth',1.5)
xlabel('t')
title('Meyer时域');
PSI=fft(psi);
PSII=abs(PSI);
subplot(2,1,2),plot(PSII);
xlabel('f')
title('meyer频域')
2、在信号x(t)=sin(2π*30t)+cos(2π*50t)加上噪音后分别进行FFT和CWT变换。
解:
引入随机噪声randn(1,N)
N=100;fs=1000;
n=0:
N-1;
t=n/fs;
x=sin(60*pi*t)+cos(100*pi*t);%原信号
subplot(3,2,1);
plot(x,'-r','LineWidth',1.5);
xlabel('t')
ylabel('x(t)')
title('原信号x(t)波形图')
F1=fft(x);
m1=abs(F1);
subplot(3,2,2);plot(m1);
xlabel('f')
title('x(t)的fft变换图')
x1=randn(1,N);%加入噪声
x2=x+x1;
F2=fft(x2);
m2=abs(F2);
subplot(3,2,3);plot(m2);
xlabel('f')
title('x(t)加噪声后fft变换图')
scale=[1246];%设置尺度
subplot(3,2,4);x3=cwt(x2,scale,'morl','plot');
title('morlet');%加噪声后CWT变换结果图
subplot(3,2,5);plot(x3(1,:
));title('尺度为1');
subplot(3,2,6);plot(x3(2,:
));title('尺度为2');