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) |
int dgtreal_done | ( | dgtreal_plan ** | p | ) |
Destroy transform plan
[in] | p | Transform plan |
phaseret_dgtreal_done_d(phaseret_dgtreal_plan_d** p);
phaseret_dgtreal_done_s(phaseret_dgtreal_plan_s** p);
int dgtreal_execute_ana | ( | dgtreal_plan * | p, |
const LTFAT_REAL | f[], | ||
LTFAT_COMPLEX | c[] | ||
) |
Perform DGTREAL analysis
M2 = M/2 + 1, N = L/a
[in] | p | Transform plan |
[in] | f | Input signal, size L x W |
[out] | c | Coefficients, size M2 x N x W |
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[]);
int dgtreal_execute_proj | ( | dgtreal_plan * | p, |
const LTFAT_COMPLEX | cin[], | ||
LTFAT_COMPLEX | c[] | ||
) |
Perform DGTREAL synthesis followed by analysis
M2 = M/2 + 1, N = L/a
[in] | p | Transform plan |
[in] | cin | Input coefficients, size M2 x N x W |
[out] | c | Coefficients after projection, size M2 x N x W |
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[]);
int dgtreal_execute_syn | ( | dgtreal_plan * | p, |
const LTFAT_COMPLEX | c[], | ||
LTFAT_REAL | f[] | ||
) |
Perform DGTREAL synthesis
M2 = M/2 + 1, N = L/a
[in] | p | Transform plan |
[in] | c | Input coefficients, size M2 x N x W |
[out] | f | Reconstructed signal, size L x W |
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[]);
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
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
int phaseret_dgtreal_params_free | ( | phaseret_dgtreal_params * | params | ) |
Destroy struct
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
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
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
Status code | Description |
---|---|
LTFATERR_SUCESS | No error occured |
LTFATERR_NULLPOINTER | params was NULL |