matlab小波分析常用函数

参考:https://wenku.baidu.com/view/1973af1a580102020740be1e650e52ea5518ceb8.html

1、连续小波变换

scale=1:200;
cw2=cwt(y,scale,'morl');
[X,Y]=meshgrid(t,centfrq('morl')*Fs./scale);%小波的中心频率*采样频率/尺度=》频率
%scal2frq(scale,'morl',1/Fs)=centfrq('morl')*Fs./scale
mesh(X,Y,abs(cw2));

2、离散小波变换

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

   ss=idwt(cA,cD,'wname') %信号重构

 

   [C,L]=wavedec(X,N,'wname')
   %利用小波'wname'对信号X进行多层分解  ;返回的近似系数和细节系数都存放在C中,即C=[cA,cD],L存放是近似和各阶细节系数对应的长度


   aN=appcoef(C,L,'wname',N)
  % 利用小波'wname'从分解系数[C,L]中提取第N层近似系数
 

 dN=detcoef(c,l,N);% 从分解系数[C,L]中提取第N层细节系数

 

c1=[a3,d3,d2,d1];

s1=waverec(c1,l,'db4');% 用最后一层的近似系数和所有层的细节系数重构信号

figure(4); plot(s1); title('重构信号')

 

[nc,nl,ca]=upwlev(c,l,'wname') %对小波分解结构[c,l]进行单尺度重构,返回上一尺度的分解结构并提取最后一尺度的低频分量。

 

X=wrcoef('type',c,l,'wname',N);% 用小波分解结构[c,l]进行第N层单支重构,'type'='a'重构低频,'type'='d'重构高频。

你可能感兴趣的:(matlab,数学)