Time frequency filtering of a signal.
Y=tffilter(TFR,X,T) Y=tffilter(TFR,X,T,TRACE)
a M by N array: the Wigner-Ville distribution of the filter frequency axis is graduated from 0.0 to 0.5.
a complex vector of size N: the input signal (must be analytic).
a real vector with elements in [1 N]: the time instant(s)(default : 1:length(X)).
if nonzero, the progression of the algorithm is shown (default : 0).
a vector with same sizes as X: the filtered signal.
tffilter filters the signal X with a non stationary filter.
clf;gcf().color_map= jetcolormap(128); Nt=128; t=1:Nt; sig=fmlin(Nt,0.05,0.3)+fmlin(Nt,0.2,0.45); sig(Nt/2)=sig(Nt/2)+8; [TFR,T,F]=tfrwv(sig,t); subplot(221);grayplot(T,F,TFR'); Nf=128;freqs=0.5*(0:Nf-1).'/Nf; H=[]; for tloop=1:Nt, rate=0.2*(tloop-1)/(Nt-1); H(:,tloop)=(0+rate<freqs).*(freqs<0.1+rate); end; y=tffilter(H,sig,t); [TFR,T,F]=tfrwv(y,t); subplot(222);grayplot(T,F,TFR'); Nt=128; t=1:Nt; sig=atoms(128,[64 0.25 round(sqrt(128)) 1],0); [TFR,T,F]=tfrwv(sig,t); subplot(223);grayplot(T,F,TFR'); Nf=64; H=zeros(Nf,Nt);H(Nf/4+(-15:15),Nt/2+(-15:15))=ones(31); y=tffilter(H,sig,t); [TFR,T,F]=tfrwv(y,t); subplot(224);grayplot(T,F,TFR'); | ![]() | ![]() |