<< tfrstft Linear Time-Frequency Processing Modification >>

Time Frequency Toolbox >> Time Frequency Toolbox > Linear Time-Frequency Processing > tfrsurf

tfrsurf

extract from a time-frequency representation the biggest energy dots

Calling Sequence

[tfr2,OrderedSurfaces]=tfrsurf(tfr);
[tfr2,OrderedSurfaces]=tfrsurf(tfr,threshold);
[tfr2,OrderedSurfaces]=tfrsurf(tfr,threshold,keep);
[tfr2,OrderedSurfaces]=tfrsurf(tfr,threshold,keep,trace);

Parameters

TFR :

time-frequency representation.

THRESHOLD :

a positive scalar: the energy threshold, in %

KEEP :

a positive integer value: the number of dots to keep

TRACE :

if nonzero, the progression of the algorithm is shown (default : 0).

Examples

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');

See also

imextract

Authors


Report an issue
<< tfrstft Linear Time-Frequency Processing Modification >>