ΣSigmaStudio English

Running Average


Блок огибающей сигнала позволяет вычислять скользящее среднее (running average) входного сигнала. Это не истинное среднеквадратичное значение (RMS), поскольку усреднение управляется абсолютным значением входного сигнала, а не его квадратом. Для определения времени усреднения при вычислении используются постоянные времени.Running Average

Input Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Input Audiodecimal - audioВходной сигнал для вычисления огибающей

Output Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Envelope OutputdecimalВыходной сигнал огибающей

GUI Controls

GUI Control NameDefault ValueRangeFunction Description
RMS TC dB/s1201- 10000Управляет основным временем усреднения, используемым для вычисления огибающей
Hold (ms)00 - 2000Управляет временем удержания сигнала огибающей перед его спадом
Decay dB/s101- RMS TCУправляет скоростью отслеживания сигнала огибающей во время спада. Максимальное значение этого параметра определяется значением RMS TC.

DSP Parameter Information

GUI Control NameCompiler NameFunction Description
RMS TC dB/sMonoRunAvgDetectAlg1RMSПри изменении времени RMS в GUI новое значение записывается в DSP для управления временем усреднения в вычислении: 1 - RMSTC / (10 * Fs)
Hold (ms)MonoRunAvgDetectAlg1HoldПри изменении времени удержания (Hold) в GUI новое значение записывается в DSP для управления временем удержания в вычислении: Fs * Hold / 1000
Decay (dB/s)MonoRunAvgDetectAlg1DecayПри изменении времени спада (Decay) в GUI новое значение записывается в DSP для управления временем спада в вычислении: Decay / (96 * Fs)

Algorithm Description

Блок скользящего среднего (running average) формирует огибающую входного сигнала на основе скользящего среднего. Берется абсолютное значение входного сигнала, которое затем фильтруется для получения усредненного уровня. Постоянные времени RMS TC, Hold и Decay влияют на способ вычисления усреднения. RMS TC в основном влияет на скорость атаки (нарастания) сигнала, а Decay — на скорость спада (затухания) сигнала. Время удержания (Hold) сохраняет предыдущее значение огибающей в течение заданного времени перед реакцией на новое изменение уровня входного сигнала.

Algorithm Description

Example

В следующем примере блок Running Average используется для управления светодиодом через GPIO. В зависимости от уровня входного сигнала в конкретном приложении может потребоваться условное включение или выключение какого-либо устройства. В этом примере выходной сигнал огибающей скользящего среднего подается на блок Tolerance для проверки пределов входного сигнала. Если сигнал находится в заданном диапазоне, на выход GPIO отправляется «1», в противном случае — «0».

Example

Algorithm Details

Toolbox PathDynamics Processors - Envelope - Running Average - Signal Envelope
Cores SupportedAD1940
ADAU170x
ADAU144x
ADAU176x
ADAU178x
“Grow Algorithm” Supportedno
“Add Algorithm” Supportedno
Subroutine/Loop Basedno
Program RAM24
Data RAM11
Parameter RAM3

Running Average в SigmaStudio: настройка и параметры

Running Average — это алгоритм из раздела Dynamics Processors среды SigmaStudio, предназначенный для вычисления огибающей входного сигнала. В отличие от истинного RMS-детектора, блок работает не с квадратом сигнала, а с его абсолютным значением, которое затем усредняется. Такой подход позволяет получить плавную кривую уровня, удобную для дальнейшего управления различными элементами сигнальной цепочки. Принцип работы основан на трех постоянных времени, которые задаются в графическом интерфейсе. Параметр RMS TC (dB/s) определяет основное время усреднения и напрямую влияет на скорость атаки — то есть на то, как быстро огибающая нарастает при появлении сигнала. Параметр Decay (dB/s) задает скорость спада огибающей после прекращения или уменьшения входного уровня. При этом максимальное значение Decay ограничено значением RMS TC. Параметр Hold (мс) позволяет удерживать текущее значение огибающей в течение заданного времени перед тем, как блок начнет реагировать на новое изменение уровня, что полезно для устранения дребезга и кратковременных провалов. В проекте SigmaStudio блок Running Average имеет один аудиовход и один выход управляющего сигнала. При изменении параметров в GUI новые значения автоматически пересчитываются в DSP-регистры с учетом частоты дискретизации Fs. Например, время удержания преобразуется по формуле Fs * Hold / 1000, а скорость спада — через деление на 96 * Fs. Это важно учитывать при точной настройке поведения детектора в реальном времени.