The following give the filter parameters for each:
/* Implement a filter which calculates velocity given position.
* (this is the numdd / dendd filter)
*/
/* Tested OK 8-12-2010 */
/* Tested OK 1-30-2014 (to 2.09E-7) */
struct sos_info *
sos_vel_init ( void )
{
static double a_data[6] = { 5.4339722579649870E+00, -1.2323933999816752E+01, 1.4932970989366085E+01,
-1.0196735972380264E+01, 3.7203798044981644E+00, -5.6665418371664267E-01 };
static double c_data[6] = { -2.1211305009828152E+01, 9.7139573942412653E+01, -1.7841465511416345E+02,
1.6431763855865029E+02, -7.5899825782665289E+01, 1.4068412605619130E+01 };
static double d_data = 1.4564101417467634E+02;
return sos_init ( a_data, c_data, d_data, 6 );
}
And here is the setup for the newer DTF implementation.
struct dtf_info *
vel_init ( void )
{
static double num[7] =
{ 145.64101417467634, -812.62053565690485, 1892.0098202975, -2353.26769464646,
1649.3806068475164, -617.73971362476209, 96.596502608434335 };
static double den[7] =
{ 1.0, -5.433972257964987, 12.323933999816752, -14.932970989366085,
10.196735972380264, -3.7203798044981644, 0.56665418371664267 };
return dtf_init ( num, den, 7 );
}