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' | ![]() | ![]() |