Running Average
Input Pins
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Input Audio | decimal - audio | Входной сигнал для вычисления огибающей |
Output Pins
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Envelope Output | decimal | Выходной сигнал огибающей |
GUI Controls
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| RMS TC dB/s | 120 | 1- 10000 | Управляет основным временем усреднения, используемым для вычисления огибающей |
| Hold (ms) | 0 | 0 - 2000 | Управляет временем удержания сигнала огибающей перед его спадом |
| Decay dB/s | 10 | 1- RMS TC | Управляет скоростью отслеживания сигнала огибающей во время спада. Максимальное значение этого параметра определяется значением RMS TC. |
DSP Parameter Information
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| RMS TC dB/s | MonoRunAvgDetectAlg1RMS | При изменении времени 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) сохраняет предыдущее значение огибающей в течение заданного времени перед реакцией на новое изменение уровня входного сигнала.

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

Algorithm Details
| Toolbox Path | Dynamics Processors - Envelope - Running Average - Signal Envelope |
| Cores Supported | AD1940 ADAU170x ADAU144x ADAU176x ADAU178x |
| “Grow Algorithm” Supported | no |
| “Add Algorithm” Supported | no |
| Subroutine/Loop Based | no |
| Program RAM | 24 |
| Data RAM | 11 |
| Parameter RAM | 3 |
