⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tfrview.m

📁 最新时频分析处理软件
💻 M
📖 第 1 页 / 共 2 页
字号:
   [cmin,cmax]=caxis; colorvect=linspace(cmax,cmin,Ncolors);   imagesc(colorvect'); axis('off');    if issig,                          % there is a signal    possig=get(axsig,'Position');    set(axsig,'Position',[possig(1) possig(2) possig(3)-0.03 possig(4)]);   end   else                                % there is already a color bar   pos=get(axtfr,'Position');   set(axtfr,'Position',[pos(1) pos(2) pos(3)+0.03 pos(4)]);   axes(axcb); cla reset; set(gca,'Visible','off');    if issig,                          % there is a signal    possig=get(axsig,'Position');    set(axsig,'Position',[possig(1) possig(2) possig(3)+0.03 possig(4)]);   end  end  iscolorbar=1-iscolorbar; end; if (layout<5 & iscolorbar),		% Updating of the colorbar  pos=get(axtfr,'Position');  set(axtfr,'Position',[pos(1) pos(2) pos(3)-0.03 pos(4)]);  set(axcb,'Position',[pos(1)+pos(3)-0.01 pos(2) 0.01 pos(4)]);  axes(axcb);   Ncolors=length(colormap);   [cmin,cmax]=caxis; colorvect=linspace(cmax,cmin,Ncolors);  imagesc(colorvect'); axis('off');   if issig,                          % there is a signal   possig=get(axsig,'Position');   set(axsig,'Position',[possig(1) possig(2) possig(3)-0.03 possig(4)]);  end  end set(gcf,'UserData',[axcb,axsig,axspec,axtfr]); axes(axtfr);endif (access==0|access==1|access==3), % Display the tfr if (tcol==1),   plot(freqr,tfr(1:Nf2)); else   if strcmp(computer,'MAC'),     tfr=flipud(tfr(1:Nf2,:));   else     tfr=tfr(1:Nf2,:);   end;    indmin=find(tfr<mini);   tfr(indmin)=mini*ones(1,length(indmin));    indmax=find(tfr>maxi);   tfr(indmax)=maxi*ones(1,length(indmax));      if display==1,     contour(tfr,levels,ts,freqr);   elseif display==2,    if linlogtfr==0,     imagesc(ts,freqr,tfr);axis('xy');    else     imagesc(ts,freqr,log10(tfr));axis('xy');    end   elseif display==3,    if linlogtfr==0,     pcolor(ts,freqr,tfr); shading interp;    else     pcolor(ts,freqr,log10(tfr)); shading interp;    end   elseif display==4,    if linlogtfr==0,     surf(ts,freqr,tfr); shading interp;     if comp(1:2)=='PC', set(gca,'fontsize',10); end     zlabel('Amplitude');     axis([ts(1) ts(tcol) freqr(1) freqr(Nf2) mini maxi]);    else     surf(ts,freqr,log10(tfr)); shading interp;     if comp(1:2)=='PC', set(gca,'fontsize',10); end     zlabel('Positive values');     axis([ts(1) ts(tcol) freqr(1) freqr(Nf2) log10(mini) log10(maxi)]);    end   elseif display==5,    if linlogtfr==0,     mesh(ts,freqr,tfr); shading interp;     if comp(1:2)=='PC', set(gca,'fontsize',10); end     zlabel('Amplitude');     axis([ts(1) ts(tcol) freqr(1) freqr(Nf2) mini maxi]);    else     mesh(ts,freqr,log10(tfr));shading interp;     if comp(1:2)=='PC', set(axtfr,'fontsize',10); end     zlabel('Positive values');     axis([ts(1) ts(tcol) freqr(1) freqr(Nf2) log10(mini) log10(maxi)]);    end   end end;  % Define the title and check the input arguments depending on 'method' if comp(1:2)=='PC',  set(axsig  ,'fontsize',10);   set(axspec ,'fontsize',10);   set(axtfr  ,'fontsize',10);  end method=method(4:length(method)); if nargin==6,  title([method, Strlinlog,...         ', Threshold=',num2str(threshold),'%']); elseif strcmp(method,'WV') | strcmp(method,'MH') | ...   strcmp(method,'PAGE'),  title([method,', Nf=',num2str(Nf2), Strlinlog,...        ', Threshold=',num2str(threshold),'%']); elseif strcmp(method,'PWV'  )|strcmp(method,'PMH'  )| ...        strcmp(method,'SP'   )|strcmp(method,'PPAGE')| ...        strcmp(method,'RSP'  )|strcmp(method,'RPPAG')| ...        strcmp(method,'RPWV' )|strcmp(method,'RPMH' ),  h=p1;[hrow,hcol]=size(h); Lh=(hrow-1)/2;  if (hcol~=1)|(rem(hrow,2)==0),   error('h must be a smoothing window with odd length'); end;  title([method, ', Lh=',num2str(Lh), ', Nf=',num2str(Nf2),...        Strlinlog,', Threshold=',num2str(threshold),'%']);  elseif strcmp(method,'STFT'),  h=p1;[hrow,hcol]=size(h); Lh=(hrow-1)/2;  if (hcol~=1)|(rem(hrow,2)==0),   error('h must be a smoothing window with odd length'); end;  title(['|',method, '|^2, Lh=',num2str(Lh),...        ', Nf=',num2str(Nf2), Strlinlog,', Thld=',...        num2str(threshold),'%']);  elseif strcmp(method,'SPWV' ) | strcmp(method,'MHS'  )| ...        strcmp(method,'RSPWV') | strcmp(method,'RMHS' )| ...        strcmp(method,'ZAM'  ) | strcmp(method,'RIDBN')|...        strcmp(method,'BJ'   ) | strcmp(method,'RIDB' )| ...        strcmp(method,'RIDH' ) | strcmp(method,'RIDT' ),  g=p1; [grow,gcol]=size(g); Lg=(grow-1)/2;  if (gcol~=1)|(rem(grow,2)==0),   error('g must be a smoothing window with odd length'); end;  h=p2; [hrow,hcol]=size(h); Lh=(hrow-1)/2;   if (hcol~=1)|(rem(hrow,2)==0),   error('h must be a smoothing window with odd length'); end;  title([method,', Lg=',num2str(Lg),', Lh=',num2str(Lh),...         ', Nf=',num2str(Nf2),Strlinlog,...         ', Threshold=',num2str(threshold),'%']);  elseif strcmp(method,'MMCE'),  h=p1;[hrow,hcol]=size(h); Lh=(hrow-1)/2;  if (rem(hrow,2)==0),   error('h must be a smoothing window with odd length'); end;  title([method, ', Lh=',num2str(Lh), ', Nf=',num2str(Nf2),...        Strlinlog,', Threshold=',num2str(threshold),'%']);  elseif strcmp(method,'CW' ) | strcmp(method,'BUD'),  g=p1; [grow,gcol]=size(g); Lg=(grow-1)/2;  if (gcol~=1)|(rem(grow,2)==0),   error('g must be a smoothing window with odd length'); end;  h=p2; [hrow,hcol]=size(h); Lh=(hrow-1)/2;   if (hcol~=1)|(rem(hrow,2)==0),   error('h must be a smoothing window with odd length'); end;  sigma=p3;  title([method,', Lg=',num2str(Lg),', Lh=',num2str(Lh),...         ' sigma=',num2str(sigma),', Nf=',num2str(Nf2),...         Strlinlog, ', Threshold=',num2str(threshold),'%']);  elseif strcmp(method,'GRD')  g=p1; [grow,gcol]=size(g); Lg=(grow-1)/2;  if (gcol~=1)|(rem(grow,2)==0),   error('g must be a smoothing window with odd length'); end;  h=p2; [hrow,hcol]=size(h); Lh=(hrow-1)/2;   if (hcol~=1)|(rem(hrow,2)==0),   error('h must be a smoothing window with odd length'); end;  title([method,', Lg=',num2str(Lg),', Lh=',num2str(Lh),...         ', rs =',num2str(p3), ', M/N =',num2str(p4), ...         ', Nf =',num2str(Nf2), ...         Strlinlog, ', Threshold=',num2str(threshold),'%']);  elseif strcmp(method,'MSC' ) | strcmp(method,'RMSC' )  f0T=p1; if (f0T<=0), error('f0T must be positive'); end;  title([method, ', f0T=',num2str(f0T), ', Nf=',num2str(Nf2),...        Strlinlog, ', Threshold=',num2str(threshold),'%']);  elseif strcmp(method,'RGAB' )  Nh=p1; if (Nh<=0), error('Nh must be positive'); end;  title([method, ', Nh=',num2str(Nh), ', Nf=',num2str(Nf2),...        Strlinlog, ', Threshold=',num2str(threshold),'%']);   elseif strcmp(method,'DFLA' ) | strcmp(method,'UNTER' )| ...        strcmp(method,'BERT' ),  N=p1;   if (N<=0),                error('N must be positive'); end;  title([method, ', N=',num2str(N), Strlinlog, ', Threshold=',...         num2str(threshold), '%']);    elseif strcmp(method,'SCALO'),  Nh0=p1; N=p2;   if (Nh0<0),               error('Nh0 must be positive'); end;  if (N<=0),                error('N must be positive'); end;  if (Nh0>0),    title([method, ', Morlet wavelet, Nh0=', num2str(Nh0), ...         ', N=',num2str(N), Strlinlog, ', Thld=',...         num2str(threshold), '%']);    else    title([method, ', Mexican hat, N=',num2str(N), Strlinlog, ', Thld=',...         num2str(threshold), '%']);    end  elseif strcmp(method,'ASPW'),  Nh0=p1; Ng0=p2; N=p3;   if (Nh0<0),               error('Nh0 must be positive'); end;  if (Ng0<0),               error('Ng0 must be positive'); end;  if (N<=0),                error('N must be positive'); end;  if (Nh0>0),    title([method, ', Morlet wlt, Nh0=', num2str(Nh0), ', Ng0=',...         num2str(Ng0), ', N=',num2str(N), Strlinlog, ', Thld=',...         num2str(threshold), '%']);    else    title([method, ', Mexican hat, Ng0=',num2str(Ng0),...           ', N=',num2str(N), Strlinlog, ', Thld=',...          num2str(threshold), '%']);    end  elseif strcmp(method,'SPAW'),  K=p1; Nh0=p2; Ng0=p3; N=p4;   if (Nh0<0),               error('Nh0 must be positive'); end;  if (Ng0<0),               error('Ng0 must be positive'); end;  if (N<=0),                error('N must be positive'); end;  if (Nh0>0),    title([method, ', K=', num2str(K), ', Morlet wlt, Nh0=',...         num2str(Nh0), ', Ng0=',...         num2str(Ng0), ', N=',num2str(N), Strlinlog, ', Thld=',...         num2str(threshold), '%']);    else    title([method, ', K=', num2str(K), ', Mexican hat, Ng0=',...         num2str(Ng0),', N=',num2str(N), Strlinlog, ', Thld=',...         num2str(threshold), '%']);    end   elseif strcmp(method,'GABOR'),  N=p1; Q=p2; h=p3; [hrow,hcol]=size(h); Lh=(hrow-1)/2;  if (hcol~=1)|(rem(hrow,2)==0),   error('h must be a smoothing window with odd length'); end;  title([method, ', Lh=',num2str(Lh), ', Nf=',...         num2str(Nf2),', N=',num2str(N),', Q=',num2str(Q),...         Strlinlog,', Thld=',num2str(threshold),'%']);  end;endif unitHz==1, xlabel('Time [s]'); ylabel('Frequency [Hz]');elseif unitHz==2, xlabel('Time [ms]'); ylabel('Frequency [kHz]');elseif unitHz==3, xlabel('Time [祍]'); ylabel('Frequency [MHz]');endif (isgridsig & issig),		% Updating of the grids axes(axsig); grid on	elseif (~isgridsig & issig), axes(axsig); grid offend if (isgridspe & isspec), axes(axspec); grid onelseif (~isgridspe & isspec), axes(axspec); grid offend if access~=2, if (isgridtfr),			% upating of the grid on the tfr  axes(axtfr); grid on   elseif (~isgridtfr),  axes(axtfr); grid off end endif (access==0), colormap(map);end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -