五种常用小波基含MATLAB实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.给出五种常用小波基的时域和频域波形图。
与标准的傅里叶变换相比,小波分析中使用到的小波函数具有不唯一性,即小波函数(t)ψ 具有多样性。小波分析在工程应用中,一个十分重要的问题就是最优小波基的选择问题,因为用不同的小波基分析同一个问题会产生不同的结果。目前我们主要是通过用小波分析方法处理信号的结果与理论结果的误差来判定小波基的好坏,由此决定小波基。常用小波基有Haar 小波、Daubechies(dbN)小波、Mexican Hat(mexh)小波、Morlet 小波、Meyer 小波等5种。 (1)Haar 小波
Haar 函数是小波分析中最早用到的一个具有紧支撑的正交小波函数,也是最简答的一个小波函数,它是支撑域在[0,1]∈t
围的单个矩形波。 Haar 函数的
定义如下:其他
1212
1
001-1(t)≤≤≤≤⎪⎩⎪⎨⎧=ψt t
Haar 小波在时域上是不连续的,所以作为基本小波性能不是特别好。但它也有自己的优点,如: 计算简单;
(t)ψ不但与t)2(j ψz][j ∈正交,而且与自己的整数位移正交。
因此,在2j a =的多分辨率系统中Haar 小波构成一组最简单的正交归一的小波
族。
()t ψ的傅里叶变换是:
2/24=sin ()j e a ψ-ΩΩ
ΩΩ()j
Haar 小波的时域和频域波形图
-1.5
-1
-0.5
0.5
1
1.5
t
haar 时域
x 10
5
1
2
3
4
5
6
75
f
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 小波是世界著名的小波分析学者Inrid Daubechies 构造的小波函数,简写为dbN ,N 是小波的阶数。小波(t)ψ和尺度函数(t)φ中的支撑区
为12-N ,(t)ψ的消失矩为N 。除1=N 外,dbN 不具有对称性(即非线性相位)。
dbN 没有明确的表达式(除1=N
外),但转换函数h 的平方模是明确的。
Daubechies 小波系是由法国学者Daubechies 提出的一系列二进制小波的总称,在Matlab 中记为dbN ,N 为小波的序号,N 值取2,3,…,10。该小波没有明确的解析表达式,小波函数φ与尺度函数Φ的有效支撑长度为2N-1.当N 取1时便成为Haar 小波。 令
k
N k k
N k
y
p C
∑-=+=1
1-(y),其中C k
N k
+1-为二项式的系数,则有
)2
)p(sin
2
(cos
)
(2
2
2
0ω
ω
ω=m
式中,e
h jk N k k
ωω-120
2
1
)(m ∑-==。
Daubechies 小波具有以下特点:
(1)在时域是有限支撑的,即(t)ψ长度有限。 (2)在频域
)(ωψ在ω=0处有N 阶零点。
(3)(t)ψ和它的整数位移正交归一,即⎰=δψψk
k)dt -(t (t)。
(4)小波函数(t)ψ可以由所谓“尺度函数”(t)φ求出来。尺度函数(t)φ为
低通函数,长度有限,支撑域在t=0~(2N-1)围。
Daubechies 小波的时域和频域波形图
2
46
8
-1-0.5
0.5
1
1.5
t
db4 时域
2000
40006000
8000
0100
200300
400500
600700
800900
1000f
db4 频域
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 小波常用来分解和重构信号,作为滤波器使用。波形如下:
-0.2
00.20.4
0.60.8分解低通滤波
器
02468
-1-0.50
0.5
1分解高通滤波
器
2
4
6
8
-0.5
0.5
1重构低通滤波
器
2468
-1-0.5
0.51重构高通滤波器
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('重构高通滤波器');