From 2d0052fb14c741aac3a6ac687b48dff0ef95de64 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Mon, 7 Dec 2015 09:58:08 -0800 Subject: [PATCH] Generalize ERT offset tracking a little. --- firmware/baseband/proc_ert.cpp | 6 +++--- firmware/baseband/proc_ert.hpp | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/firmware/baseband/proc_ert.cpp b/firmware/baseband/proc_ert.cpp index 97fd63073..b9daa9527 100644 --- a/firmware/baseband/proc_ert.cpp +++ b/firmware/baseband/proc_ert.cpp @@ -51,9 +51,9 @@ void ERTProcessor::execute(buffer_c8_t buffer) { average_i += src->real(); average_q += src->imag(); average_count++; - if( average_count == 2048 ) { - offset_i = static_cast(average_i) / 2048.0f; - offset_q = static_cast(average_q) / 2048.0f; + if( average_count == average_window ) { + offset_i = static_cast(average_i) / average_window; + offset_q = static_cast(average_q) / average_window; average_i = 0; average_q = 0; average_count = 0; diff --git a/firmware/baseband/proc_ert.hpp b/firmware/baseband/proc_ert.hpp index fa38d286a..0bb3d0c3c 100644 --- a/firmware/baseband/proc_ert.hpp +++ b/firmware/baseband/proc_ert.hpp @@ -96,6 +96,7 @@ private: float sum_period[3]; float manchester[3]; + const size_t average_window { 2048 }; int32_t average_i { 0 }; int32_t average_q { 0 }; size_t average_count { 0 };