Monado OpenXR Runtime
m_filter_euro_vec3 Struct Reference

One Euro filter for a 3D float measurement. More...

#include <math/m_filter_one_euro.h>

Collaboration diagram for m_filter_euro_vec3:

Public Member Functions

void m_filter_euro_vec3_init (struct m_filter_euro_vec3 *f, double fc_min, double fc_min_d, double beta)
 Initialize a 3D filter. More...
 
void m_filter_euro_vec3_run (struct m_filter_euro_vec3 *f, uint64_t ts, const struct xrt_vec3 *in_y, struct xrt_vec3 *out_y)
 Filter a measurement and commit changes to filter state. More...
 

Data Fields

struct m_filter_one_euro_base base
 Base/common data. More...
 
struct xrt_vec3 prev_y
 The most recent measurement, after filtering. More...
 
struct xrt_vec3 prev_dy
 The most recent sample derivative, after filtering. More...
 

Detailed Description

One Euro filter for a 3D float measurement.

Member Function Documentation

◆ m_filter_euro_vec3_init()

void m_filter_euro_vec3_init ( struct m_filter_euro_vec3 f,
double  fc_min,
double  fc_min_d,
double  beta 
)

Initialize a 3D filter.

Parameters
fself pointer
fc_minMinimum frequency cutoff for filter
fc_min_dMinimum frequency cutoff for derivative filter
betaBeta value for "responsiveness" of filter

◆ m_filter_euro_vec3_run()

void m_filter_euro_vec3_run ( struct m_filter_euro_vec3 f,
uint64_t  ts,
const struct xrt_vec3 in_y,
struct xrt_vec3 out_y 
)

Filter a measurement and commit changes to filter state.

Parameters
[in,out]fself pointer
tsmeasurement timestamp
in_yraw measurement
[out]out_yfiltered measurement

References base, filter_one_euro_compute_alpha_d(), filter_one_euro_handle_first_sample(), prev_dy, prev_y, and U_ZERO.

Field Documentation

◆ base

struct m_filter_one_euro_base m_filter_euro_vec3::base

Base/common data.

Referenced by m_filter_euro_vec3_run().

◆ prev_dy

struct xrt_vec3 m_filter_euro_vec3::prev_dy

The most recent sample derivative, after filtering.

Referenced by m_filter_euro_vec3_run().

◆ prev_y

struct xrt_vec3 m_filter_euro_vec3::prev_y

The most recent measurement, after filtering.

Referenced by m_filter_euro_vec3_run().


The documentation for this struct was generated from the following file: