From a738c69c3b2711ba1095d41221e06f6ee9329d4d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 13 Jun 2014 07:39:55 +0200 Subject: ewma: simplify --- ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp b/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp index 1a09cee3..c073bfa4 100644 --- a/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp +++ b/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp @@ -108,11 +108,9 @@ void FTNoIR_Filter::FilterHeadPoseData(const double *target_camera_position, // Calculate the alpha from the normalized noise. // TODO(abo): change kSmoothingScaleCurve to a float where 1.0 is sqrt(norm_noise). alpha = 1.0/(s.kMinSmoothing+(1.0-pow(norm_noise,s.kSmoothingScaleCurve/20.0))*(s.kMaxSmoothing-s.kMinSmoothing)); - new_camera_position[i] = alpha*target_camera_position[i] + (1.0-alpha)*current_camera_position[i]; - } - // Update the current camera position to the new position. - for (int i = 0; i < 6; i++) { - current_camera_position[i] = new_camera_position[i]; + // Update the current camera position to the new position. + double pos = alpha*target_camera_position[i] + (1.0-alpha)*current_camera_position[i]; + new_camera_position[i] = current_camera_position[i] = pos; } } -- cgit v1.2.3