小波通用函数
一、biorfilt函数 双正交小波滤波器组
① [Lo_D,Hi_D,Lo_R,Hi_R]=biorfilt(DF,RF)
② [Lo_D1,Hi_D1,Lo_R1,Hi_R1,Lo_D2,Hi_D2,Lo_R2,Hi_R2]=biorfilt(DF,RF,'8')
DF——分解滤波器 RF——重构滤波器
Lo_D——分解低通滤波器;Hi_D——分解高通滤波器;Lo_R——重构低通滤波器;Hi_R——重构高通滤波器
二、wavefun函数 小波和尺度函数
① [PHI,PSI,XVAL]=wavefun('wname',ITER) 对于正交小波,返回尺度函数和小波函数。
② [PHI1,PSI1,PHI2,PSI2,XVAL]=wavefun('wname',ITER) 对于双正交小波,返回分别用于分解和重构的尺度函数和小波函数,前面为分解,后面为重构。
③ [PSI,XVAL]=wavefun('wname',ITER) 对没有尺度函数的小波,如Morlet小波、Mexcian小波、Gaussian derivatives小波和复小波。
④ [...]=wavefun('wname',A,B) A,B都是整数,等价于[...]=wavefun('wname',max(A,B))
三、wavefun2函数 二维小波函数和尺度函数 只用于正交小波
① [S,W1,W2,W3,XYVAL]=wavefun2('wname',ITER)
② [S,W1,W2,W3,XYVAL]=wavefun2('wname',ITER,'plot')
③ [S,W1,W2,W3,XYVAL]=wavefun2('wname',A,B)
四、wavemnger小波管理器
① Wavemnger('add',FN,FSN,WT,NUMS,FILE)
② Wavemnger('add',FN,FSN,WT,NUMS,FILE,B)
③ Wavemnger('del',N)
④ Wavemnger('restore')
⑤ Wavemnger('restore',IN2)
⑥ OUT1=Wavemnger('read')
⑦ OUT1=Wavemnger('read',IN2)
⑧ OUT1=Wavemnger('read_asc')
五、wfilters函数 小波滤波器
① [Lo_D,Hi_D,Lo_R,Hi_R]=wfilters('wname') 用来计算正交小波或双正交小波
② [F1,F2]=wfilters('wname','type') 'type'='d',返回分解滤波器;'type'='r',返回重构滤波器;'type'='l',返回低通滤波器;'type'='h',返回高通滤波器。
六、wmaxlev函数 小波分解的最大尺度
① L=wnaxlev(S,'wname') 该函数是一维或者二维小波函数或小波包的导向函数,它返回信号或者图像的最大分解尺度,它可以帮助避免分解时超过这个值。
二维离散小波变换
一、dwt2函数 二维单尺度小波变换
① [cA,cH,cV,cD]=dwt2(X,'wname')
② [cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) Lo_D和Hi_D的长度必须相同。
cA——低频系数矩阵;cH——水平方向;cV——垂直方向;cD——对角方向
二、wavedec2函数 二维多尺度分解
① [C,S]=wavedec2(X,N,'wname')
② [C,S]=wavedec2(X,N,Lo_D,Hi_D)
C向量的形式为:
C=[A(N)|H(N)|V(N)|D(N)|...H(N-1)|V(N-1)|D(N-1)|...|H(1)|V(1)|D(1)|] 其中A,H,V,D是行向量。A是低频系数,H是高频水平方向系数,V是高频垂直方向系数,D是高频对角方向系数,每个向量都是以列的形式存储于矩阵C中。
S矩阵为:
S(1,:)——尺度为N的低频系数的长度;
S(i,:)——尺度为N-i+2时的高频系数的长度,其中i=2,...,N+1;
S(N+2,:)=size(X)。
三、idwt2函数——二维小波单尺度逆变换
① X=idwt2(cA,cH,cV,cD,'wname')
② X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)
③ X=idwt2(cA,cH,cV,cD,'wname',S)
④ X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)
⑤ X=idwt2(...,'mode',MODE)
四、waverec2函数——多尺度二维小波重构
① X=waverec2(C,S,'wname')
② waverec2(C,S,Lo_R,Hi_R) 等同于 X=appcoef2(C,S,'wname',0)
五、wrcoef2函数——由二维小波系数重构单支
① X=wrcoef2('type',C,S,'wname',N) 计算尺度为N时的重构系数矩阵
② X=wrcoef2('type',C,S,Lo_R,Hi_R,N) N必须是整数,如果'type'='a',0≤N≤size(S,1)-2。如果'type'='h'、'v'、'd',1≤N≤size(S,1)-2。
③ X=wrcoef2('type',C,S,'wname') 重构最大尺度N=size(S,1)-2的系数
④ X=wrcoef2('type',C,S,Lo_R,Hi_R) 重构最大尺度N=size(S,1)-2的系数
六、upcoef2函数——二维小波系数的直接重构
① Y=upcoef2(O,X,'wname',N,S) O='a'、'h'、'v'、'd'
② Y=upcoef2(O,X,Lo_R,Hi_R,N,S)
③ Y=upcoef2(O,X,'wname',N)
④ Y=upcoef2(O,X,Lo_R,Hi_R,N)
⑤ Y=upcoef2(O,X,'wname') 等同于 Y=upcoef2(O,X,'wname',1)
⑥ Y=upcoef2(O,X,Lo_R,Hi_R) 等同于 Y=upcoef2(O,X,Lo_R,Hi_R,1)
七、detcoef2函数——提前二维高频系数
① D=detcoef2(O,C,S,N) N必须是整数,且1≤N≤size(S,1)-2。
② 函数[H,V,D]=detcoef2('all',C,S,N)返回尺度为N时的水平高频系数H,垂直高频系数V,对角高频系数V。等同于detcoef2('a',C,S,N)。
③ 函数D=[H,V,D]=detcoef2('compact',C,S,N)返回值为N时的高频系数,以行方式存储。等同于detcoef2('c',C,S,N)。
八、appcoef2函数——提取二维低频系数
① A=appcoef2(C,S,'wname',N) N必须为整数,且0≤N≤size(S,1)-2。
② A=appcoef2(C,S,'wname') 提取最后一层size(S,1)-2的低频系数
③ A=appcoef2(C,S,Lo_R,Hi_R,N)
④ A=appcoef2(C,S,Lo_R,Hi_R)
九、upwlev2函数——二维小波分解的单尺度重构
① [NC,NS,cA]=upwlev2(C,S,'wname') 对小波分解结构[C,S]进行单尺度重构,返回新的分解结构[NC,NS],并提取最后尺度n的低频系数矩阵cA。[C,S]是尺度n=size(S,1)-2的分解结构,因此[NC,NS]使尺度n-1的分解结构,cA是相应的记录矩阵。
② [NC,NS,cA]=upwlev2(C,S,Lo_R,Hi_R)
二维离散平稳小波变换
一、swt2函数——二维离散平稳小波变换
① SWC=swt2(X,N,'wname') N必须是严格的正整数,size(X,1)和size(X,2)必须是2N的倍数。
② [A,H,V,D]=swt2(X,N,'wname') 输出[A,H,V,D]是三维矩阵,其中A(:,:,i)包含第i层的低频系数,H(:,:,i)、V(:,:,i)和D(:,:,i)分别包含第i层的水平方向、垂直方向、对角方向的高频系数。这里1≤i≤N。SWC=[H(:,:,1:N);V(:,:,1:N);D(:,:,1:N);A(:,:,N)]
③ SWC=swt2(X,N,Lo_D,Hi_D)
④ [A,H,V,D]=swt2(X,N,Lo_D,Hi_D)
二、iswt2函数——二维离散平稳小波逆变换
① X=iswt2(SWC,'wname')
② X=iswt2(A,H,V,D,'wname')
③ X=iswt2(SWC,Lo_R,Hi_R)
④ X=iswt2(A,H,V,D,Lo_R,Hi_R)