Похоже, вы заинтересованы в краткосрочном сглаженном среднеквадратичном измерении амплитуды. Обычно для этого вы берете исправленную версию входного сигнала, а затем применяете фильтр низких частот, например,
x1 = abs(x); // x2 = rectified input signal
x2 = k * x2 + (1 - k) * x1; // simple single pole low pass recursive filter
x2 - амплитуда сигнала x. k - коэффициент <1,0, который определяет постоянную времени сглаживающего фильтра. </p>
Тогда у вас будет какое-то пороговое значение, которое вы используете, чтобы решить, молчите ли вы (x2 < threshold
) или говорите (x2 >= threshold
).