<< Linear Time-Frequency Processing Linear Time-Frequency Processing tfrgabor >>

Time Frequency Toolbox >> Time Frequency Toolbox > Linear Time-Frequency Processing > tffilter

tffilter

Time frequency filtering of a signal.

Calling Sequence

Y=tffilter(TFR,X,T)
Y=tffilter(TFR,X,T,TRACE)

Parameters

TFR :

a M by N array: the Wigner-Ville distribution of the filter frequency axis is graduated from 0.0 to 0.5.

X :

a complex vector of size N: the input signal (must be analytic).

T :

a real vector with elements in [1 N]: the time instant(s)(default : 1:length(X)).

TRACE :

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

Y:

a vector with same sizes as X: the filtered signal.

Description

tffilter filters the signal X with a non stationary filter.

Examples

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

See also:

tfristft

Authors


Report an issue
<< Linear Time-Frequency Processing Linear Time-Frequency Processing tfrgabor >>