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