【】Matlab 小波工具箱入门

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用 MATLAB 小波工具箱进行小波分析:

如上图所示的小波分解过程,可以调用 wfilters 来获得指定小波的分解和综合滤波器系数,例如:

以上例子,得到’db5’小波的分解和综合滤波器系数,并显示出来。下面是wfilters的具体用法:

Wname 可指定为列表中的任意一种小波,直接调用

[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('wname')

会返回分解和综合滤波器系数。如果只想返回其中的一些而不是全部,可以调用

[F1,F2] = wfilters('wname','type')

其中’type’可指定为4种类型,每种类型的具体意义详见matlab wfilters 帮助。

查看具体小波的信息

waveinfo(‘wname’)

获得一个标准的正交变换/双正交变换的尺度和小波函数(数字近似值)

[PHI,PSI,XVAL] = wavefun('wname',ITER)

[PHI1,PSI1,PHI2,PSI2,XVAL] = wavefun('wname',ITER)

例如

如果已知小波分解滤波器系数,计算小波变换的最简单方法就是

[C,S] = wavedec2(X,N,'wname')

[C,S] = wavedec2(X,N,Lo_D,Hi_D)

反过来,已知小波综合滤波器系数,计算反小波变换,只需

X = waverec2(C,S,'wname')

X = waverec2(C,S,Lo_R,Hi_R)

subplot(224),imagesc(cD);

其中C是小波变换后的结果数据,以一维矢量的形式组织,S是二维数组,记录了C中数据的分布形式,详见matlab 的帮助文档。此外,dwtmode可以设定输入的边界处理方式。

提取小波的系数。前面使用的wavedec2得到的[C,S]不是非常的直观,可以利用小波工具箱中的函数 appcoef2和detcoef2来提取近似矩阵和的n级的某一个细节矩阵。

A = appcoef2(C,S,'wname',N)

A = appcoef2(C,S,'wname')

D = detcoef2(O,C,S,N)

针对特定的小波系数矩阵进行阈值化处理

NC = wthcoef2('type',C,S,N,T,SORH)

NC = wthcoef2('type',C,S,N)

NC = wthcoef2('a',C,S)

NC = wthcoef2('t',C,S,N,T,SORH)

使用 wave2gray来显示小波分解的结果

关于wave2gray更多用法详见dipum_1.1.4 toolbox 的说明文档[官方网站]。

小波综合(重建):waverec2

X = waverec2(C,S,'wname')

X = waverec2(C,S,Lo_R,Hi_R)

[C,S]是使用小波分解函数wavedec2得到的小波矢量和矢量描述矩阵,或者符合这种规定形式的数据。返回X是实数图像矩阵,由于计算误差,可能需要经过一些处理才能正常显示。

相关文档
最新文档