<< tffilter Linear Time-Frequency Processing tfristft >>

stftb >> stftb > 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 >>