Enumerations | Functions
Discrete Gabor Transform analysis-synthesis

Enumerations

enum  phaseret_dgtreal_hint { phaseret_dgtreal_auto, phaseret_dgtreal_long, phaseret_dgtreal_fb }
 

Functions

phaseret_dgtreal_params * phaseret_dgtreal_params_allocdef ()
 
int phaseret_dgtreal_params_set_phaseconv (phaseret_dgtreal_params *params, ltfat_phaseconvention ptype)
 
int phaseret_dgtreal_params_set_fftwflags (phaseret_dgtreal_params *params, unsigned fftw_flags)
 
int phaseret_dgtreal_params_set_hint (phaseret_dgtreal_params *params, phaseret_dgtreal_hint hint)
 
int phaseret_dgtreal_params_free (phaseret_dgtreal_params *params)
 
int dgtreal_init (const LTFAT_REAL g[], ltfat_int gl, ltfat_int L, ltfat_int W, ltfat_int a, ltfat_int M, LTFAT_COMPLEX c[], phaseret_dgtreal_params *params, dgtreal_plan **p)
 
int dgtreal_execute_proj (dgtreal_plan *p, const LTFAT_COMPLEX cin[], LTFAT_COMPLEX c[])
 
int dgtreal_execute_syn (dgtreal_plan *p, const LTFAT_COMPLEX c[], LTFAT_REAL f[])
 
int dgtreal_execute_ana (dgtreal_plan *p, const LTFAT_REAL f[], LTFAT_COMPLEX c[])
 
int dgtreal_done (dgtreal_plan **p)
 

Detailed Description

Function Documentation

int dgtreal_done ( dgtreal_plan **  p)

Destroy transform plan

Parameters
[in]pTransform plan

Versions

phaseret_dgtreal_done_d(phaseret_dgtreal_plan_d** p);

phaseret_dgtreal_done_s(phaseret_dgtreal_plan_s** p);

Returns
int dgtreal_execute_ana ( dgtreal_plan *  p,
const LTFAT_REAL  f[],
LTFAT_COMPLEX  c[] 
)

Perform DGTREAL analysis

M2 = M/2 + 1, N = L/a

Parameters
[in]pTransform plan
[in]fInput signal, size L x W
[out]cCoefficients, size M2 x N x W

Versions

phaseret_dgtreal_execute_ana_d(phaseret_dgtreal_plan_d* p, const double f[], ltfat_complex_d c[]);

phaseret_dgtreal_execute_ana_s(phaseret_dgtreal_plan_s* p, const float f[], ltfat_complex_s c[]);

Returns
int dgtreal_execute_proj ( dgtreal_plan *  p,
const LTFAT_COMPLEX  cin[],
LTFAT_COMPLEX  c[] 
)

Perform DGTREAL synthesis followed by analysis

Note
This function CAN work inplace.

M2 = M/2 + 1, N = L/a

Parameters
[in]pTransform plan
[in]cinInput coefficients, size M2 x N x W
[out]cCoefficients after projection, size M2 x N x W

Versions

phaseret_dgtreal_execute_proj_d(phaseret_dgtreal_plan_d* p, const ltfat_complex_d cin[], ltfat_complex_d c[]);

phaseret_dgtreal_execute_proj_s(phaseret_dgtreal_plan_s* p, const ltfat_complex_s cin[], ltfat_complex_s c[]);

Returns
int dgtreal_execute_syn ( dgtreal_plan *  p,
const LTFAT_COMPLEX  c[],
LTFAT_REAL  f[] 
)

Perform DGTREAL synthesis

M2 = M/2 + 1, N = L/a

Parameters
[in]pTransform plan
[in]cInput coefficients, size M2 x N x W
[out]fReconstructed signal, size L x W

Versions

phaseret_dgtreal_execute_syn_d(phaseret_dgtreal_plan_d* p, const ltfat_complex_d c[], double f[]);

phaseret_dgtreal_execute_syn_s(phaseret_dgtreal_plan_s* p, const ltfat_complex_s c[], float f[]);

Returns
int dgtreal_init ( const LTFAT_REAL  g[],
ltfat_int  gl,
ltfat_int  L,
ltfat_int  W,
ltfat_int  a,
ltfat_int  M,
LTFAT_COMPLEX  c[],
phaseret_dgtreal_params *  params,
dgtreal_plan **  p 
)

Note c can be NULL if FFTW_ESTIMATE is used in flags

Returns
Status code Description
LTFATERR_SUCCESS No error occurred
LTFATERR_NULLPOINTER g or p was NULL or c was NULL and flags != FFTW_ESTIMATE
LTFATERR_BADSIZE Signal length L is less or equal to 0.
LTFATERR_NOTPOSARG At least one of W, a, M, gl was less or equal to zero.
LTFATERR_NOTAFRAME System does not form a frame
LTFATERR_BADTRALEN L is not divisible by both a and M.
LTFATERR_INITFAILED The FFTW plan creation failed
LTFATERR_NOTSUPPORTED This is a non-painless system but its support was not compiled
LTFATERR_CANNOTHAPPEN hint does not have a valid value from phaseret_dgtreal_hint or ptype is not valid value from ltfat_phaseconvention enum
LTFATERR_NOMEM Signalizes memory allocation error
phaseret_dgtreal_params* phaseret_dgtreal_params_allocdef ( )

Allocate dgtreal_params structure and initialize to default values

Warning
The structure must be freed using phaseret_dgtreal_params_free()
Returns
Allocated struct (or NULL if the memory allocation failed
See also
phaseret_dgtreal_params_free
int phaseret_dgtreal_params_free ( phaseret_dgtreal_params *  params)

Destroy struct

Returns
Status code Description
LTFATERR_SUCESS No error occured
LTFATERR_NULLPOINTER params was NULL
int phaseret_dgtreal_params_set_fftwflags ( phaseret_dgtreal_params *  params,
unsigned  fftw_flags 
)

Set FFTW flags

Returns
Status code Description
LTFATERR_SUCESS No error occured
LTFATERR_NULLPOINTER params was NULL
int phaseret_dgtreal_params_set_hint ( phaseret_dgtreal_params *  params,
phaseret_dgtreal_hint  hint 
)

Set algorithm hint

Returns
Status code Description
LTFATERR_SUCESS No error occured
LTFATERR_NULLPOINTER params was NULL
int phaseret_dgtreal_params_set_phaseconv ( phaseret_dgtreal_params *  params,
ltfat_phaseconvention  ptype 
)

Set DGT phase convention

Returns
Status code Description
LTFATERR_SUCESS No error occured
LTFATERR_NULLPOINTER params was NULL