extract from a time-frequency representation the biggest energy dots
[tfr2,OrderedSurfaces]=tfrsurf(tfr); [tfr2,OrderedSurfaces]=tfrsurf(tfr,threshold); [tfr2,OrderedSurfaces]=tfrsurf(tfr,threshold,keep); [tfr2,OrderedSurfaces]=tfrsurf(tfr,threshold,keep,trace);
time-frequency representation.
a positive scalar: the energy threshold, in %
a positive integer value: the number of dots to keep
if nonzero, the progression of the algorithm is shown (default : 0).
N=256; sig=fmlin(N,0.1,0.3)+fmlin(N,0.3,0.4)+2*fmlin(N,0.05,0.2).*amgauss(N,190,70); clf;gcf().color_map= jetcolormap(128); ax1=gca(); ax1.axes_bounds = [0,0,1,1/3];ax1.tight_limits="on"; plot(sig);title('Signal') [tfr,t,f]=tfrwv(sig,1:N,128); ax2=newaxes();ax2.axes_bounds = [0,1/3,1/3,2/3]; ax2.tight_limits="on"; grayplot(t,f,tfr') title('original tfr'); [tfr2,OrderedSurfaces]=tfrsurf(tfr,5,3); ax3=newaxes();ax3.axes_bounds = [1/3,1/3,1/3,2/3]; ax3.tight_limits="on"; grayplot(t,f,tfr2') title('modified tfr'); ax4=newaxes();ax4.axes_bounds = [2/3,1/3,1/3,2/3]; ax4.tight_limits="on"; plot(1:10,OrderedSurfaces(1:10),'-',1:10,OrderedSurfaces(1:10),'o'); //semilogy title('number of points of the 10 biggest dots'); | ![]() | ![]() |