• 大小: 31KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-07-22
  • 语言: 其他
  • 标签:

资源简介

与同步挤压时频分析工具箱类似,此工具箱可处理多元信号,具有极高的时频分辨率,使有效信号在噪声背景中能够被有效增强与提取。

资源截图

代码片段和文件信息

function   [Wtw1asdWt]=cwavelet_transform(xnvwavelet)


%x input signal
%nv: voice number typically 32 
%wavelet: type of mother wavelet. 0 or 1. Where 0 is morlet and 1 is the
%bump wavelet. 
 

%implemented from  the following work:
%G. Thakur E. Brevdo N.S. Fukar and H-T. Wu “The Synchrosqueezing algorithm for time-varying spectral analysis: 
%robustness properties and new paleoclimate applications“ Submitted 2012.
%I. Daubechies J. Lu and H.-T. Wu “Synchrosqueezed wavelet transforms: 
%An empirical mode decomposition-like tool“ Applied and Computational Harmonic Analysis 2010.

%%

[m1n1]=size(x);
if m1>n1
    x=x‘;
end
[mn]=size(x);

%reflecting boundary coefficient 
t1=fliplr(x);
xn=[t1xx];


N=length(xn);
L=floor(log2(N))-1;


 na = L*nv;
 as = 2.^((1:1:na)./nv);
    
 Wt1 = zeros(na N);
  dWt1= zeros(na N);
 Xw=fft(xn);
 for i=1:length(as)
     
     
     
     
   if wavelet==0  %morlet wavelet 
        w=as(i)*linspace(0N-1N)*2*pi/N;
        mu=2*pi;
        cmu = (1+exp(-mu^2)-2*exp(-3/4*mu^2)).^(-1/2);
        kmu = exp(-1/2*mu^2);
        morlet =cmu*pi^(-1/4)*(exp(-1/2*(mu-w).^2)-kmu*exp(-1/2*w.^2));
        morlet=sqrt(as(i))*morlet;
      
           dmorlet = 2*pi*(1i*w) .* morlet;
            dWt1(i:)=ifft(dmorlet.*Xw);
         temp = (ifft(abs(morlet) .*Xw));
         Wt1(i :) = temp;
        temp1=diff(unwrap(angle(Wt1(i:))))/(2*pi);
       w1(i:)=temp1‘;
   else   %bump wavelet 
       w=as(i)*linspace(0N-1N)*2*pi/N;
        mu=5;
        si=1;
               bump = exp(-1./(1-(((w-mu)/si).^2))) .* (abs(w)>(mu-si) & abs(w)<(mu+si));

       bump(isnan(bump))=0; 
        bump=sqrt(as(i))*bump;
      
           dbump = 2*pi*(1i*w) .* bump;
            dWt1(i:)=ifft(dbump.*Xw);
         temp = (ifft(abs(bump) .*Xw));
         Wt1(i :) = temp;
        temp1=diff(unwrap(angle(Wt1(i:))))/(2*pi);
       w1(i:)=temp1‘;
   end
        
 
 end
 
 
 Wt=Wt1(:n+1:n+n);
  dWt=dWt1(:n+1:n+n);
  w1=w1(:n+1:n+n);
 %   w = imag(dWt ./ Wt / (2*pi));

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-23 08:36  Multivariate_SST_code\
     文件        2107  2014-12-01 14:31  Multivariate_SST_code\cwavelet_transform.m
     文件        9495  2014-12-01 12:04  Multivariate_SST_code\doppler_car.mat
     文件        2018  2014-12-01 14:52  Multivariate_SST_code\example_code.m
     文件       15350  2014-12-01 12:01  Multivariate_SST_code\float.mat
     文件         752  2014-12-01 11:13  Multivariate_SST_code\multi_bandwidth.m
     文件        1016  2014-12-01 11:13  Multivariate_SST_code\multi_bandwidth_check.m
     文件        6221  2014-12-01 14:44  Multivariate_SST_code\multi_sst_TF_main.m
     文件        1111  2014-12-01 14:35  Multivariate_SST_code\readme.txt
     文件        1120  2014-12-01 14:31  Multivariate_SST_code\sst_wavelet_linear.m

评论

共有 条评论

相关资源