Loading...
Searching...
No Matches
19 #define SPA_API_DLL SPA_API_IMPL
21 #define SPA_API_DLL static inline
25#define SPA_DLL_BW_MAX 0.128
26#define SPA_DLL_BW_MIN 0.016
34SPA_API_DLL
void spa_dll_init(
struct spa_dll *dll)
40SPA_API_DLL
void spa_dll_set_bw(
struct spa_dll *dll,
double bw,
unsigned period,
unsigned rate)
42 double w = 2 * M_PI *
bw * period / rate;
43 dll->
w0 = 1.0 - exp (-20.0 * w);
44 dll->
w1 = w * 1.5 / period;
49SPA_API_DLL
double spa_dll_update(
struct spa_dll *dll,
double err)
51 dll->
z1 += dll->
w0 * (dll->
w1 * err - dll->
z1);
52 dll->
z2 += dll->
w0 * (dll->
z1 - dll->
z2);
53 dll->
z3 += dll->
w2 * dll->
z2;
54 return 1.0 - (dll->
z2 + dll->
z3);
double z2
Definition dll.h:38
double z1
Definition dll.h:38
double w2
Definition dll.h:39
double z3
Definition dll.h:38
double w0
Definition dll.h:39
double bw
Definition dll.h:37
double w1
Definition dll.h:39