From b9d0c6e532b277e11438b5ffe4ebac60f9162850 Mon Sep 17 00:00:00 2001 From: Geoffrey Merck Date: Tue, 4 Feb 2020 22:23:06 +0100 Subject: [PATCH] Add AGC clamping constant, turn AGC on, reduce target energy --- ambed/cagc.cpp | 8 +++++--- ambed/main.h | 7 ++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ambed/cagc.cpp b/ambed/cagc.cpp index 55294db..d5cd58c 100644 --- a/ambed/cagc.cpp +++ b/ambed/cagc.cpp @@ -38,11 +38,13 @@ CAGC::CAGC(float initialLeveldB) // set internal gain appropriately m_Gain = pow(10.0f, initialLeveldB/20.0f); //+- 10dB Margin, TODO Move margin to constant - m_GainMax = pow(10.0f, (initialLeveldB + 10.0f)/20.0f); - m_GainMin = pow(10.0f, (initialLeveldB - 10.0f)/20.0f); + m_GainMax = pow(10.0f, (initialLeveldB + AGC_CLAMPING)/20.0f); + m_GainMin = pow(10.0f, (initialLeveldB - AGC_CLAMPING)/20.0f); m_EnergyPrime = 1.0f; - m_targetEnergy = 32767.0f;//TODO : Move to parameter ? + + // We do not target full scale to avoid stauration + m_targetEnergy = 32767.0f/2.0f;//TODO : Move to parameter ? m_Bandwidth = 1e-2f;//TODO : Move to parameter ? m_Alpha = m_Bandwidth; diff --git a/ambed/main.h b/ambed/main.h index ef60a2b..c66b70c 100644 --- a/ambed/main.h +++ b/ambed/main.h @@ -68,11 +68,12 @@ #define CODEC_AMBE2PLUS 2 // Transcoding speech gains -#define CODECGAIN_AMBEPLUS -10 // in dB -#define CODECGAIN_AMBE2PLUS +10 // in dB +#define CODECGAIN_AMBEPLUS -16 // in dB +#define CODECGAIN_AMBE2PLUS +16 // in dB // Transcoding Tweaks -#define USE_AGC 0 +#define USE_AGC 1 +#define AGC_CLAMPING 3 //clamps the AGC gain to +- this value #define USE_BANDPASSFILTER 1 // Timeouts -----------------------------------------------------