F16
F16(2.7182818), F16(1.1331485), F16(1.0157477), F16(1.0019550)};
F16(0.3678794), F16(0.8824969), F16(0.9844964), F16(0.9980488)};
if (x >= F16(10.3972))
if (x <= F16(-11.7835))
params->mVoc_Index_Offset = F16(VocAlgorithm_VOC_INDEX_OFFSET_DEFAULT);
F16(VocAlgorithm_TAU_MEAN_VARIANCE_HOURS);
F16(VocAlgorithm_GATING_MAX_DURATION_MINUTES);
params->mSraw_Std_Initial = F16(VocAlgorithm_SRAW_STD_INITIAL);
params->mUptime = F16(0.);
params->mSraw = F16(0.);
params, state0, state1, F16(VocAlgorithm_PERSISTENCE_UPTIME_GAMMA));
if ((params->mUptime <= F16(VocAlgorithm_INITIAL_BLACKOUT))) {
(params->mUptime + F16(VocAlgorithm_SAMPLING_INTERVAL));
if ((params->mVoc_Index < F16(0.5))) {
params->mVoc_Index = F16(0.5);
if ((params->mSraw > F16(0.))) {
*voc_index = (fix16_cast_to_int((params->mVoc_Index + F16(0.5))));
VocAlgorithm__mean_variance_estimator__set_parameters(params, F16(0.),
F16(0.), F16(0.));
params->m_Mean_Variance_Estimator___Mean = F16(0.);
params->m_Mean_Variance_Estimator___Sraw_Offset = F16(0.);
(fix16_div(F16((VocAlgorithm_MEAN_VARIANCE_ESTIMATOR__GAMMA_SCALING *
F16((VocAlgorithm_SAMPLING_INTERVAL / 3600.)))));
F16(((VocAlgorithm_MEAN_VARIANCE_ESTIMATOR__GAMMA_SCALING *
params->m_Mean_Variance_Estimator___Gamma_Initial_Variance = F16(
params->m_Mean_Variance_Estimator__Gamma_Mean = F16(0.);
params->m_Mean_Variance_Estimator__Gamma_Variance = F16(0.);
params->m_Mean_Variance_Estimator___Uptime_Gamma = F16(0.);
params->m_Mean_Variance_Estimator___Uptime_Gating = F16(0.);
params->m_Mean_Variance_Estimator___Gating_Duration_Minutes = F16(0.);
uptime_limit = F16((VocAlgorithm_MEAN_VARIANCE_ESTIMATOR__FIX16_MAX -
F16(VocAlgorithm_SAMPLING_INTERVAL));
F16(VocAlgorithm_SAMPLING_INTERVAL));
params, F16(1.), F16(VocAlgorithm_INIT_DURATION_MEAN),
F16(VocAlgorithm_INIT_TRANSITION_MEAN));
(F16(VocAlgorithm_GATING_THRESHOLD) +
F16((VocAlgorithm_GATING_THRESHOLD_INITIAL -
params, F16(1.), gating_threshold_mean,
F16(VocAlgorithm_GATING_THRESHOLD_TRANSITION));
params, F16(1.), F16(VocAlgorithm_INIT_DURATION_VARIANCE),
F16(VocAlgorithm_INIT_TRANSITION_VARIANCE));
(F16(VocAlgorithm_GATING_THRESHOLD) +
F16((VocAlgorithm_GATING_THRESHOLD_INITIAL -
params, F16(1.), gating_threshold_variance,
F16(VocAlgorithm_GATING_THRESHOLD_TRANSITION));
(fix16_mul(F16((VocAlgorithm_SAMPLING_INTERVAL / 60.)),
((fix16_mul((F16(1.) - sigmoid_gating_mean),
F16((1. + VocAlgorithm_GATING_MAX_RATIO)))) -
F16(VocAlgorithm_GATING_MAX_RATIO)))));
F16(0.))) {
params->m_Mean_Variance_Estimator___Gating_Duration_Minutes = F16(0.);
params->m_Mean_Variance_Estimator___Uptime_Gating = F16(0.);
params->m_Mean_Variance_Estimator___Mean = F16(0.);
if (((params->m_Mean_Variance_Estimator___Mean >= F16(100.)) ||
(params->m_Mean_Variance_Estimator___Mean <= F16(-100.)))) {
params->m_Mean_Variance_Estimator___Mean = F16(0.);
F16(VocAlgorithm_MEAN_VARIANCE_ESTIMATOR__GAMMA_SCALING)));
if ((delta_sgp < F16(0.))) {
additional_scaling = F16(1.);
if ((c > F16(1440.))) {
additional_scaling = F16(4.);
(F16(VocAlgorithm_MEAN_VARIANCE_ESTIMATOR__GAMMA_SCALING) -
F16(VocAlgorithm_MEAN_VARIANCE_ESTIMATOR__GAMMA_SCALING),
params, F16(0.), F16(0.), F16(0.));
if ((x < F16(-50.))) {
} else if ((x > F16(50.))) {
return F16(0.);
(F16(1.) + fix16_exp(x))));
VocAlgorithm__mox_model__set_parameters(params, F16(1.), F16(0.));
F16(VocAlgorithm_SRAW_STD_BONUS))))),
F16(VocAlgorithm_VOC_INDEX_GAIN)));
VocAlgorithm__sigmoid_scaled__set_parameters(params, F16(0.));
x = (fix16_mul(F16(VocAlgorithm_SIGMOID_K),
(sample - F16(VocAlgorithm_SIGMOID_X0))));
if ((x < F16(-50.))) {
return F16(VocAlgorithm_SIGMOID_L);
} else if ((x > F16(50.))) {
return F16(0.);
if ((sample >= F16(0.))) {
(F16(VocAlgorithm_SIGMOID_L) -
(fix16_mul(F16(5.), params->m_Sigmoid_Scaled__Offset))),
F16(4.)));
return ((fix16_div((F16(VocAlgorithm_SIGMOID_L) + shift),
(F16(1.) + fix16_exp(x)))) -
F16(VocAlgorithm_VOC_INDEX_OFFSET_DEFAULT))),
(fix16_div(F16(VocAlgorithm_SIGMOID_L),
(F16(1.) + fix16_exp(x))))));
F16((VocAlgorithm_SAMPLING_INTERVAL /
F16((VocAlgorithm_SAMPLING_INTERVAL /
((fix16_mul((F16(1.) - params->m_Adaptive_Lowpass__A1),
((fix16_mul((F16(1.) - params->m_Adaptive_Lowpass__A2),
if ((abs_delta < F16(0.))) {
F1 = fix16_exp((fix16_mul(F16(VocAlgorithm_LP_ALPHA), abs_delta)));
((fix16_mul(F16((VocAlgorithm_LP_TAU_SLOW - VocAlgorithm_LP_TAU_FAST)),
F16(VocAlgorithm_LP_TAU_FAST));
a3 = (fix16_div(F16(VocAlgorithm_SAMPLING_INTERVAL),
(F16(VocAlgorithm_SAMPLING_INTERVAL) + tau_a)));
((fix16_mul((F16(1.) - a3), params->m_Adaptive_Lowpass___X3)) +