小波变换的ma ab实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原始信号 高频系数
700
600
500
400
300
200
100 0
200 400 600 800 1000 1200 1400 1600 1800 2000
20
10
0
-10
-20
9
-30 0
200 400 600 800 1000 1200 1400 1600 1800 2000
命令:upcoef 格式:
二Xsy维n =逆idw变t2(换cA1,cH1,cV1,cD1,'bior3.7');
3
3
命令:wavedec2 格式:
1. [C, S]=wavedec2(X,N,’wname’) 2.[C, S]=wavedec2(X,N,Lo_D,Hi_D)
多尺度二维小波
3
4
[C,S] = wavedec2(X,2,'bior3.7'); 3
多尺度一维分解
1
4
[C,L]=wavedec(s,3,'db1');
1600 1400 1200 1000
800 600 400 200
0 -200
0
500 1000 1500 2000 2500 3000 3500 4000
1
5
命令:appcoef 格式:
1. A=appcoef(C,L,’wname’,N) 2. A=appcoef(C,L,’wname’) 3. A=appcoef(C,L,Lo_R,Hi_R,N) 4. A=appcoef(C,L, Lo_R,Hi_R)
逆变换恢复信号
1
2
550
500
450
举例:A0=idwt(cA1,cD1,'db1',ls); 400
350
300
250
200
150
100 0
500 1000 1500 2000 2500 3000 3500 4000
1
3
命令:wavedec 格式:
[C, L]=wavedec(X,N,’wname’) [C, L]=wavedec(X,N,Lo_D,Hi_D)
2 100 200 300 400 500 600 700 800 900 1000 time (or space) b
4
图形接口方式(GUI) 命令:wavemenu
5
6
7
命令:dwt
格式:
[cA1,cD1]=dwt(X,’wname’)
[cA1,cD1]=dwt(X,Lo_D,Hi_D)
重构系数
1
9
A3=wrcoef('a',C,L,'db1',3); D1=wrcoef('d',C,L,'db1',1); D2=wrcoef('d',C,L,'db1',2); D3=wrcoef('d',C,L,'db1',3);
600 400 200
0 0
40 20
0 -20 -40
Approximation A1 75
Detail D1 80
70
60
65 40
60 20
55 0
50 -20
45
-40 40
35
-60
30
-80
0
2
4
6
0
2
4
6
1
1
命令:idwt 格式:
1. X=idwt(cA,cD,’wname’) 2. X=idwt(cA,cD,Lo_R, Hi_R) 3. X=idwt(cA,cD,’wname’,L) 4. X=idwt(cA,cD, Lo_R, Hi_R, L)
im2a.g二e(X维); c离olo散rma小p(m波ap); colorbar;
[cA1,cH1,cV1,cD1]=dwt2(X,’bior3.7’)
2
9
命令:upcoef2 格式:
1. Y=upcoef2(O,X,’wname’,N,S) 2. Y=upcoef2(O,X,Lo_R,Hi_R,N,S) 3. Y=upcoef2(O,X,’wname’,N) 4. Y=upcoef2(O,X,Lo_R,Hi_R,N) 5. Y=upcoef2(O,X,’wname’) 6. Y=upcoef2(O,X,Lo_R,Hi_R) O:‘a’低频;‘h’水平;‘v’垂直;‘d’对角
2000
Approximation cA3
Detail cD1 40
1500
20ห้องสมุดไป่ตู้
1000
0
500
-20
0
-40
0
200
400
600
0 500 1000 1500 2000
Detail cD2 50
Detail cD3 50
0 0
-50
-50 0
-100
500
1000
0
200
400
600
1
8
命令:wrcoef 格式:
一维连续小波
1. coefs = cwt(s,scale,’wname’)
2. coefs = cwt(s,scale,’wname’,’plot’)Absolute Values of Ca,b Coefficients for a = 1 2 3 4 5 ...
1.5
46
c=cwt(noissin,1:48,'db4','plot'); 43
3
1000
C=cwt(noissin,2:2:128,’db4’,’plot’)
scales a
Absolute Values of Ca,b Coefficients for a = 2 4 6 8 10 ...
122 114 106
98 90 82 74 66 58 50 42 34 26 18 10
1. X=wrcoef(‘type’,C,L,’wname’,N) 2. X=wrcoef(‘type’,C,L,Lo_R,Hi_R,N) 3. X=wrcoef(‘type’,C,L,’wname’) 4. X=wrcoef(‘type’,C,L, Lo_R,Hi_R) type=‘a’ 低频, type=‘d’ 高频
50 100 150 200 250
50 100 150 200 250
Diagonal Detail D1
50 100 150 200 250
50 100 150 200 250
3
2
命令:idwt2 格式:
1. X = idwt2(cA1,cH1,cV1,cD1,'bior3.7'); 2. X = idwt2(cA1,cH1,cV1,cD1,'bior3.7'); 3. X = idwt2(cA1,cH1,cV1,cD1,'bior3.7'); 4. X = idwt2(cA1,cH1,cV1,cD1,'bior3.7'); 应用:
数
提取低频系数
3
6
命令:detcoef2
格式:
A= detcoef2(‘type’,C,S,’wname’,N)
说明:
Type: ’h’ 水平;‘v’垂直;‘d’对角
cH2 = detcoef2('h',C,S,2);
cV2 = detcoef2('v',C,S,2);
提cD取2 高= d频et系co数ef2('d',C,S,2);
%图像的多尺度二维小波分解
5
命令:appcoef2 格式:
1. A=appcoef2(C,S,’wname’,N)
2. A=appcoef2(C,S,’wname’)
3. A=appcoef2(C,S,Lo_R,Hi_R)
4. A=appcoef2(C,S,Lo_R,Hi_R,N)
cA2 = appcoef2(C,S,'bior3.7',2); %从上面的C中提取第二层的低频系
低频系数提取
1
6
命令:detcoef 格式:
1. A=detcoef(C,L,N) 2. A=detcoef(C,L)
高频系数提取
1
7
举例
cA3=appcoef(C,L,'db1',3);
cD3=detcoef(C,L,3);
cD2=detcoef(C,L,2);
cD1=detcoef(C,L,1);
系数重构
1
0
举例:
A1=upcoef('a','cA1','db1',1,ls); D1=upcoef('d','cD1','db1',1,ls);
subplot(1,2,1);plot(A1);title('Approximation A1')
subplot(1,2,2);plot(D1);title('Detail D1')
1. Y=upcoef(O,X,’wname’,N) 2. Y=upcoef(O,X,’wname’,N,L) 3. Y=upcoef(O,X,’Lo_R, Hi_R’,N) 4. Y=upcoef(O,X,’Lo_R,Hi_R’,N,L) 5. Y=upcoef(O,X,’wname’) 6. Y=upcoef(O,X,Lo_R,Hi_R) O=‘a’ 低频,O=‘d’ 高频
举例:
load leleccum;
一维离散s=小le波lec分cu解m(1:3920);
ls=length(s);
8
[cA1,cD1]=dwt(s,’db1’);
550 500 450 400 350 300 250 200
低频系数 150 100 0 800
500 1000 1500 2000 2500 3000 3500 4000 30
2
0
命令:waverec 格式:
1.X=waverec(C,L,’wname’) 2.X=waverec(C,L,Lo_R,Hi_R) 例子: A0=waverec(C,L,’db1’); 重构最大误差:
Er重r=m构ax原(ab始s(s-信A0)号)
2
1
original Level 3 Approximation Original Approximation
2
2
图形接口方式(GUI)
2
3
2
4
2
5
2
6
2
7
2
8
单尺度分解——dwt2 格式:
1. [cA1,cH1,cV1,cD1]=dwt2(X,’wname’) 2. [cA1,cH1,cV1,cD1]=dwt2(X,Lo_D,Hi_D) cA1, cH1水平;cV1垂直;cD1对角 应用: load wbarb; figure(1);
1
40
37
34 0.5
31
28
scales a
0
25
22
小-0.5 波分析示例
19 16 13
10 -1
7
4
-1.5 0
100 200 300 400 500 600 700 800 900 1000
1 100 200 300 400 500 600 700 800 900
time (or space) b
第4章 小波变换的matlab实现
1
1.Matlab中小波种类
15种 经典类小波:Harr小波、Morlet小波、Mexican
hat小波、Gaussian小波
正交小波:db小波、对称小波、Coiflets小波、
Meyer小波
双正交小波 查看命令
wavemngr('read',1)
2
重构系数
3
0
A1 = upcoef2('a',cA1,'bior3.7',1);
H1 = upcoef2('h',cH1,'bior3.7',1);
V1 = upcoef2('v',cV1,'bior3.7',1);
D1 = upcoef2('d',cD1,'bior3.7',1);
figure(2);colormap(map); subplot(2,2,1); image(wcodemat(A1,192));
1
image(wcodemat(D1,192));title('Diagonal
Approximation A1
50 100 150 200 250
50 100 150 200 250
Vertical Detail V1
50 100 150 200 250
50 100 150 200 250
Horizontal Detail H1
0
Approximation A3
1000 2000 3000 4000 Detail D2
1000 2000 3000 4000
40 20
0 -20 -40
0
40 20
0 -20 -40
0
Detail D1
1000 2000 3000 4000 Detail D3
1000 2000 3000 4000
title('Approximation A1') subplot(2,2,2); image(wcodemat(H1,192));
title('Horizontal Detail H1') subplot(2,2,3);
image(wcodemat(V1,192));
3
title('Vertical Detail V1')subplot(2,2,4);