当前位置:
文档之家› 第六章 基于MATLAB的小波分析
第六章 基于MATLAB的小波分析
6.1 小波分析中的通用函数
举例: %计算与bior3.5相关联分解滤波器DF和重构滤波器RF [RF,DF]=biorwavf('bior3.5'); %计算所需的四个滤波器 [Lo_D,Hi_D,Lo_R,Hi_R]=biorfilt(DF,RF); subplot(221);stem(Lo_D); title('分解低通滤波器');grid; subplot(222);stem(Hi_D); title('分解高通滤波器');grid; subplot(223);stem(Lo_R); title('重构低通滤波器');grid; subplot(224);stem(Hi_R); title('重构高通滤波器');grid; 输出结果(如图6.1所示);
6.1 小波分析中的通用函数
举例: uam=dyadup(a,0,'m')%插值矩阵a的偶数行或偶数列 uam = 1 0 2 0 0 0 3 0 4 0 0 0 5 0 6 0 0 0 7 0 8
6.1 小波分析中的通用函数
4.wavefun 功能:小波函数和尺度函数 格式:①[phi,psi,Xval]=wavefun(‘wname’,iter) ②[phi1,hsi1,phi2,psi2,Xval]=wavefun(‘wname’,iter) ③[psi,Xval]=wavefun(‘wname’,iter) ④wavefun(‘wname’,a,b) 说明:该函数用来返回小波函数和相应的尺度函数(在尺度函数存在的 情况下)的近似值。正整数iter决定了反复计算的次数,从而确定了近 似值的精确程度。 对于一个正交小波,格式①返回尺度函数和小波函数,X在支撑空间上 有2iter个点。 对于一个双正交小波,格式②返回分别用于分解的尺度函数(1)和小 波函数(1) 即重构的尺度函数(2)和小波函数(2)。 对于一个Meyer小波,有:[phi,psi,Xval]=wavefun( ‘wname’,iter)。 对 于 一 个 M o r l e t 小 波 或 M e x i c a n H a t 小 波 , 有 [psi,Xval]=wavefun(‘wname’,iter)。 对 于 格 式 ④ , a , b 是 正 整 数 , 且 格 式 ④ 等 价 于 wavefun(‘wname’,max(a,b))。它计算尺度函数和小波函数的近似值 并画出图形。
use = uso =
a
=
1
3 5 7
2
4 6 8
6.1 小波分析中的通用函数
举例: uar=dyadup(a,0,'r')%插值矩阵a的偶数行 uac=dyadup(a,1,'c')%插值矩阵a的奇数列 输出结果: uar = 1 2 0 0 3 4 0 0 5 6 0 0 7 8 uac = 0 1 0 2 0 0 3 0 4 0 0 5 0 6 0 0 7 0 8 0
波函数(扩展名为*.inf或*.asc);对于②、③,该函数可以把一个新的小波函 数加到工具箱里,Fn是Family Name的缩写,Fsn是Family Short Name的缩写, Wt是Wavelet Type的缩写。当Wt=1时,为正交小波,当Wt=2时,为双正交小波, 当Wt=3时,为带尺度函数的小波,当Wt=4时,为不带尺度函数的小波。Nums为字 符串的个数,File为小波函数名,对于Wt为3、4的情况B为小波有效支撑的上下 边界;对于④,该函数是用来删除一小波,N为小波函数名;对于⑤、⑥,该函 数用来保存先前的小波函数;对于⑦、⑧、⑨,该函数是用来读取小波函数。
第六章 基于MATLAB的小波分析
主讲人:第四组 庞爽爽
第六章 基于MATLAB的小波分析
MATLAB 是美国 Mathworks 公司的产品, MATLAB 是矩阵 (Matrix)和实验室(Laboratory )的缩写,其强大的 科学计算与可视化功能、简单易用的开放式可扩展环境 以及多达30多个面向不同领域而扩展的工具箱(Toolbox) 支持,使得MATLAB 在许多学科领域中成为计算机辅助设 计与分析、算法研究和应用开发的基本工具和首选平台。 MATLAB小波分析工具箱是在MATLAB中实现各种小波变换 的基础。 MATLAB 小波分析工具箱中提供了两种处理方式, 命令行和图形界面,命令行提供了灵活的处理方式,而 且可以和 Matlab 的强大接口功能连接,使用户方便地导 出各种小波工具。而图形界面方式(GUI)则具有操作简 便、界面友好的特点。
6.1 小波分析中的通用函数
举例: iter=10;wav='sym4';%设置小波的名字和计算的次数 %下面用迭代算法计算小波函数的近似值并画出波形图 for I=1:iter [phi,psi,Xval]=wavefun(wav,I); plot(Xval,psi); hold on end title('小波函数sym4的近似值(iter从1到10)'); hold off 输出结果:(如图6.2所示)
6.1 小波分析中的通用函数
%下面列出在MATLAB中存在的所有的小波函数 wavemngr('read',1) 输出结果: ans = =================================== Haar haar =================================== Daubechies db -----------------------------db1 db2 db3 db4 db5 db6 db7 db8 db9 db10 db** =================================== BiorSplines bior -----------------------------bior1.1 bior1.3 bior1.5 bior2.2 bior2.4 bior2.6 bior2.8 bior3.1 bior3.3 bior3.5 bior3.7 bior3.9 bior4.4 bior5.5 bior6.8 ===================================
6.1 小波分析中的通用函数
3.dyadup 功能:二元插值 格式:①Y= dyadup(X,evenodd) ②Y= dyadup(X) ③Y= dyadup(X,evenodd,’type’) ④Y= dyadup(X,’type’, evenodd) 说明:该函数是用来从向量X中每隔一个元素填充一个0元素组成向量Y, 该函数在小波重构算法中非常有用。对于格式①,如果evenodd为偶数, 则进行偶插值,即Y(2k-1)=X(k);Y(2k)=0;如果evenodd为奇数, 则进行奇插值,即Y(2k-1)0,Y(2k)=X(k);如果省略evenodd的值 (即格式②),则evenodd=0,Y(2k-1)=X(k),Y(2k)=0。对于格式 ③④的情况,X是一个矩阵,如果type=c,则插值矩阵X偶(或奇)数列, 如果type=r, 则插值矩阵X偶(或奇)数行,如果type=m, 则抽取矩阵X 偶(或奇)数行和偶(或奇)数列。
6.1 小波分析中的通用函数
图6.1 与bior3.5相关联的分解滤波器和重构滤波器
6.1 小波分析中的通用函数
2.dyaddown
功能:二元取样 格式:①Y= dyaddown(X,evenodd) ②Y= dyaddown(X) ③Y= dyaddown(X,evenodd,’type’) ④Y= dyaddown(X,’type’, evenodd) 说明:该函数是用来从向量X中每隔一个元素抽取一个元素 组成向量 Y。对于格式①,如果evenodd 为偶数,则进行偶 取样,即Y(k)=X(2k);如果evenodd为奇数,则进行奇取 样,即 Y ( k ) =X(2k+1) ,如果省略 evenodd 的值(即格式 ②),则evenodd=0,Y(k)=X(2k)。对于格式③④的情况, X是一个矩阵,如果type=c,则抽取矩阵X偶(或奇)数列, 如果type=r, 则抽取矩阵 X 偶(或奇)数行,如果 type=m, 则抽取矩阵X偶(或奇)数行和偶(或奇)数列。
6.1 小波分析中的通用函数 小波分析中的通用函数
5.wavemngr 功能:小波管理 格式:①wavemngr(‘create’) ②wavemngr(‘add’,Fn,Fsn,Wt,Nums,File) ③wavemngr(‘add’,Fn,Fsn,Wt,Nums,File,B) ④wavemngr(‘del’,N) ⑤wavemngr(‘restore’) ⑥wavemngr(‘restore’,In2) ⑦Out1=wavemngr(‘read’) ⑧Out1=wavemngr(‘read’,In2) ⑨Out1=wavemngr(‘read_asc’) 说明:该函数是一个用于小波管理的函数,它可以对小波进行新建、添 加、删除、存储和读取操作。对于格式①,该函数可以用来创造一个新的小
6.1 小波分析中的通用函数
举例: s=1:5%定义一个元素有1到5的向量s use=dyadup(s,0)%进行偶数序号插值 uso=dyadup(s,1)%进行奇数序号插值 a=[1,2;3,4;5,6;7,8]%定义一个矩阵a 输出结果:
s
=
1
1 0
2
0 1 0
3
2 2
4
0 0
5
3 3 0 0 4 4 0 0 5 5 0
6.1 小波分析中的通用函数
用户可以实现与小波相关的滤波器组进行信号的插值和 采样、计算小波函数和尺度函数以及小波管理等功能。 表6.1 通用小波变换函数
6.1 小波分析中的通用函数
1.biorfilt 功能:双正交小波滤波器组