<< tffilter Linear Time-Frequency Processing tfristft >>

Time Frequency Toolbox >> Time Frequency Toolbox > Linear Time-Frequency Processing > tfrgabor

tfrgabor

Gabor representation of a signal.

Calling Sequence

[TFR,DGR,GAM]=tfrgabor(SIG,N,Q)
[TFR,DGR,GAM]=tfrgabor(SIG,N,Q,H)
[TFR,DGR,GAM]=tfrgabor(SIG,N,Q,H,TRACE)
[TFR,DGR,GAM]=tfrgabor(...,'plot')

Parameters

SIG :

signal to be analyzed (length(SIG)=N1).

N :

number of Gabor coefficients in time (N1 must be a multiple of N) (default : divider(N1)).

Q :

degree of oversampling ; must be a divider of N (default : Q=divider(N)).

H :

synthesis window, which was originally chosen as a Gaussian window by Gabor. Length(H) should be as closed as possible from N, and must be >=N (default : Gauss(N+1)). H must be of unit energy, and CENTERED.

TRACE :

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

'plot':

if one input parameter is 'plot', tfrgabor runs tfrqview. and TFR will be plotted

TFR :

a N1 by N1 real matrix: the Square modulus of the Gabor coefficients.

DGR :

a N1 by N1 complex matrix: the Gabor coefficients.

GAM :

a column vector of size N: the biorthogonal (dual frame) window associated to H.

Description

tfrgabor computes the Gabor representation of signal X, for a given synthesis window H, on a rectangular grid of size (N,M) in the time-frequency plane. M and N must be such that N1 = M * N / Q where N1=length(X) and Q is an integer corresponding to the degree of oversampling. If Q=1, the time-frequency plane (TFP) is critically sampled, so there is no redundancy in the TFP. If Q>1, the TFP is oversampled, allowing a greater numerical stability of the algorithm.

Examples

N1=128;
sig=fmlin(N1);
N=N1/2;q=N/2;
[tfr,dgr,gam]=tfrgabor(sig,N,q);
t=1:2:N1;
nf=size(tfr,1)/2;
f=(0.5*(0:nf-1)/nf);
clf;gcf().color_map= jetcolormap(128);
grayplot(t,f,tfr(1:$/2,:)');

Authors


Report an issue
<< tffilter Linear Time-Frequency Processing tfristft >>