GNU Radio's TEST Package

Osmocom Complex vectors math header. More...

#include <complex.h>
#include <math.h>
#include <osmocom/dsp/cxvec.h>
Include dependency graph for cxvec_math.h:

Go to the source code of this file.

Macros

#define M_PIf   (3.14159265358979323846264338327f)
 PI value float. More...
 

Enumerations

enum  osmo_cxvec_conv_type { CONV_FULL_SPAN , CONV_OVERLAP_ONLY , CONV_NO_DELAY }
 Various possible types of convolution span. More...
 
enum  osmo_cxvec_peak_alg { PEAK_WEIGH_WIN , PEAK_WEIGH_WIN_CENTER , PEAK_EARLY_LATE }
 Various possible peak finding algorithms. More...
 

Functions

static float osmo_sinc (float x)
 Unnormalized sinc function. More...
 
static float osmo_normsqf (float complex c)
 Squared norm of a given complex. More...
 
struct osmo_cxvecosmo_cxvec_scale (const struct osmo_cxvec *in, float complex scale, struct osmo_cxvec *out)
 
struct osmo_cxvecosmo_cxvec_rotate (const struct osmo_cxvec *in, float freq_shift, struct osmo_cxvec *out)
 
struct osmo_cxvecosmo_cxvec_delay (const struct osmo_cxvec *v, float delay, struct osmo_cxvec *out)
 
struct osmo_cxvecosmo_cxvec_convolve (const struct osmo_cxvec *f, const struct osmo_cxvec *g, enum osmo_cxvec_conv_type type, struct osmo_cxvec *out)
 
struct osmo_cxvecosmo_cxvec_correlate (const struct osmo_cxvec *f, const struct osmo_cxvec *g, int g_corr_step, struct osmo_cxvec *out)
 
float complex osmo_cxvec_interpolate_point (const struct osmo_cxvec *cv, float pos)
 
int osmo_cxvec_peaks_scan (const struct osmo_cxvec *cv, int *peaks_idx, int N)
 
float osmo_cxvec_peak_energy_find (const struct osmo_cxvec *cv, int win_size, enum osmo_cxvec_peak_alg alg, float complex *peak_val_p)
 
struct osmo_cxvecosmo_cxvec_sig_normalize (const struct osmo_cxvec *sig, int decim, float freq_shift, struct osmo_cxvec *out)
 

Detailed Description

Osmocom Complex vectors math header.