matlab小波分析工具箱常用函数

来源:互联网 发布:seo的优化 编辑:程序博客网 时间:2024/05/01 13:04

matlab小波分析工具箱常用函数  


1.Cwt :一维连续小波变换

格式:coefs=cwt(s,scales,'wavename')

           coefs=cwt(s,scales,'wavename','plot')

scales:尺度向量,可以为离散值,表示为[a1,a2,a3……],也可为连续值,表示为[amin:step:amax]

2.dwt:单尺度一维离散小波变换

格式:[ca,cd]=dwt(x,'wavename') %使用小波'wname'对信号X进行单层分解,求得的近似系数存放在数组cA中,细节系数存放在数组cD中

          [ca,cd]=dwt(x,lo-d,hi-d)

先利用小波滤波器指令wfilters求取分解用低通滤波器lo-d和高通滤波器hi-d。

[lo-d,hi-d]=wfilters('haar','d');

[ca,cd]=dwt(s,lo-d,hi-d)

  DWT2是二维单尺度小波变换,其可以通过指定小波或者分解滤波器进行二维单尺度小波分解
  DWT2的一种语法格式是[cA,cH,cV,cD]=dwt2(X,'wname')

  WAVEDEC2是二维多尺度小波分解
  WAVEDEC2的语法格式是[C,S]=wavedec2(X,N,'wname'),其中N为大于1的正整数

  也就是说DWT2只能对某个输入矩阵X进行一层分解,而WAVEDEC2可以对输入矩阵X进行N层分解


3.idwt:单尺度一维离散小波逆变换

4.wfilters

格式:[lo-d,hi-d,lo-r,hi-r]=wfilters('wname')

           [f1,f2]=wfilters('wname','type')

type=d(分解滤波器)、R(重构滤波器)、l(低通滤波器)、h(高通滤波器)

5.dwtmode 离散小波变换模式

格式:dwtmode

          dwtmode('mode')

mode:zdp补零模式,sym对称延拓模式,spd平滑模式

6.wavedec多尺度一维小波分解

格式:[c,l]=wavedec(x,n,'wname')%利用小波'wname'对信号X进行多层分解,n:尺度。

          [c,l]=wavedec(x,n,lo-d,hi-d)

 [C,L]=wavedec(X,1,’wname’)中返回的近似和细节都存放在C中,即C=[cA,cD],L存放是近似和各阶细节系数对应的长度

7.appcoef 提取一维小波变换低频系数

格式:A=appcoef(c,l,'wavename',N);%  利用小波'wname'从分解系数[c,l]中提取第N层近似系数

          A=appcoef(c,l,lo-d,hi-d,N)  N是尺度,可省略

例:

load leleccum;

s=leleccum(1:2000)

subplot(421)

plot(s);

title('原始信号')

[c,l]=wavedec(s,3,'db1');

ca1=appcoef(c,l,'db1',1);

subplot(445)

plot(ca1);

ylabel('ca1');

ca2=appcoef(c,l,'db1',2);

subplot(4,8,17)

plot(ca2);

ylabel('ca2');

8.detcoef  提取一维小波变换高频系数

格式:d=detcoef(c,l,N),N尺度的高频系数

          d=detcoef(c,l,) 最后一尺度的高频系数

 例:

load leleccum;

s=leleccum(1:2000)

subplot(421)

plot(s);

title('原始信号')

[c,l]=wavedec(s,3,'db1');

cd1=detcoef(c,l,1);

subplot(445)

plot(cd1);

ylabel('cd1');

cd2=detcoef(c,l,2);

subplot(4,8,17)

plot(cd2);

ylabel('cd2');

9.waverec 多尺度一维小波重构

格式:x=waverec(c,l,'wavename')

          x=waverec(c,l,lo-r,hi-r)

         x=waverec(waverec(c,l,'wavename'),'wavename')

10.upwlev 单尺度一维小波的重构

格式:[nc,na,ca]=upwlev(c,l,'wname')

         [nc,na,ca]=upwlev(c,l,lo-r,hi-r)

返回上一尺度的分解结构并提取最后一尺度的低频分量,等价于[c,l]=wavedec(x,N-1,'wavename')

11.wrcoef 对一维小波系数进行单支重构

格式:x=wrcoef('type',c,l,'wavename',N)

           x=wrcoef('type',c,l,'wavename')

          x=wrcoef('type',c,l,lo-r,hi-r,N)

          x=wrcoef('type',c,l,lo-r,hi-r)

 12.upcoef一维系数的直接小波重构
格式:y=wrcoef('o',x,'wavename',N,L)
          y=wrcoef('o',x,'wavename',N)
          y=wrcoef('o',x,lo-r,hi-r,N,L)
用来计算向量X(信号系数)向上N步的重构小波系数,N为正整数。O=a低频重构,d高频重构,L是对向量中间长度L进行重构。
13.wpdec 一维小波包分解
格式:T=wpdec(X,N,'wavename',E,P)
14.wprec  一维小波包重构
格式:X=wpdec(T)
15.wpcoef 计算小波系数
格式:X=wpdec(t,n)
          X=wpdec(t)
16.wprcoef 小波包分解系数的重构,一维或二维小波包分析函数,每次只能对一个节点重构。多个节点可重复调用来实现
格式:X=wprdec(t,n)
          X=wprdec(t)
17.wpfun 小波包函数
格式:[wpms,x]=wpfun('wname',num,prec)
18.wpsplt 分解小波包
格式:t=wpsplt(t,n)
          [t,ca,cd]=wpsplt(t,n)
          [t,ca,ch,cv,cd,]=wpsplt(t,n)
19.wpjoin 重新组合小波包
格式:t=wpjoin(t,n)
          [t,x]=wpjoin(t,n)        
          [t,x]=wpjoin(t)

20.wpcutree 剪切小波包分解树

格式:t=wpcutree(t,L)  L层对t树剪切

21.besttree  计算最佳树

格式:t=besttree(t)

         [T,E]=besttree(t)

         [T,E,N]=besttree(t)

22.bestlevt  计算完整最佳小波包树

格式:t=bestlevt(t)

           [T,E]=bestlevt(t)

23.wp2wtree 从小波包树中提取小波树

格式:t=wp2wtree(t)

转自:http://blog.csdn.net/baijingjing425/article/details/7671870

0 0
原创粉丝点击