Масштабируемый регулятор громкости (Growable Single Volume Control)
| Алгоритм «Growable Single Vol Ctrl» (или «Масштабируемый регулятор громкости») применяет усиление к входному сигналу. Усиление обновляется с использованием кривой нарастания RC-типа. Количество входных каналов масштабируется — каждый вход направляется на соответствующий выходной пин. Одно и то же усиление применяется ко всем входным каналам одновременно. |  |
| Name | Format [int/dec] - [control/audio] | Function Description |
| Pin 0: Audio Input | decimal - audio | Аудиовход — канал 0 |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
| Pin 0: Audio Output | decimal - audio | Аудиовыход — канал 0 |
Элементы управления GUI
| GUI Control Name | Default Value | Range | Function Description |
| Volume Slider (dB) | 0 | -144 to +24 | Управляет целевым уровнем выходного усиления |
| GUI Control Name | Compiler Name | Function Description |
| Volume Control Slider | GainS200AlgGrowDP1gain_target | Целевое значение выходного усиления. |
| N/A | GainS200AlgGrowDP1alpha | Скорость, с которой выходное усиление плавно изменяется (slew) к целевому значению. Значения alpha и 1-alpha хранятся в последовательных ячейках памяти. Примечание: этот параметр хранится в не-модульной data RAM. |
Описание алгоритма
Масштабируемый регулятор громкости применяет усиление к любому количеству входных сигналов. Он реализован с использованием кривой нарастания, аппроксимирующей RC-кривую. Одно и то же мгновенное значение усиления применяется ко всем входным сигналам одновременно.
На этом графике показана реакция входного сигнала при изменении усиления с нуля (линейное) до единицы (полная шкала, линейное):
На этом графике показана реакция входного сигнала при изменении усиления с единицы (полная шкала, линейное) до нуля (линейное):
Пример
В этом примере показана обработка 4 цифровых аудиоканалов с помощью ячейки «Growable Single Volume Control». При перемещении ползунка усиление всех 4 каналов будет изменяться равномерно, следуя RC-кривой нарастания.
Детали алгоритма
| Toolbox Path | Volume Controls - Adjustable Gain - Single/Multiple Controls - Clickless SW Slew - Growable Single Vol Ctrl |
| Cores Supported | ADAU144x
ADAU1761
ADAU1781 |
| “Grow Algorithm” Supported | yes - see Algorithm Growth Information |
| “Add Algorithm” Supported | yes - see Algorithm Addition Information |
| Subroutine/Loop Based | no |
| Program RAM | 7* |
| Data RAM | 3* |
| Parameter RAM | 3* |
*Числа основаны на одном экземпляре алгоритма без дополнительных операций «add» или «grow»
| Description | Добавляется дополнительный канал. Применение усиления к каждому каналу выполняется с помощью одного и того же вычисления. |
| Program RAM Repetition | 2 per growth |
| Data RAM Repetition | 1 per growth |
| Parameter RAM Repetition | none |
| Description | Добавляется дополнительный канал. Расчет усиления выполняется отдельно для каждого канала, поэтому требования к program, data и parameter RAM удваиваются. |
| Program RAM Repetition | 7 per add |
| Data RAM Repetition | 3 per add |
| Parameter RAM Repetition | 3 per add |
Growable Single Volume Control в SigmaStudio: настройка и параметры
Growable Single Volume Control (Масштабируемый регулятор громкости) — это алгоритм из раздела Volume Controls среды разработки SigmaStudio, предназначенный для процессоров семейства SigmaDSP (ADAU). Его ключевая особенность — возможность масштабирования количества обрабатываемых каналов при использовании единого механизма управления уровнем сигнала. Принцип работы блока основан на применении общего усиления ко всем входным каналам одновременно. Изменение уровня происходит не скачкообразно, а плавно, по кривой, аппроксимирующей заряд и разряд RC-цепи. Это исключает щелчки и артефакты при регулировке громкости. Каждый входной канал направляется на соответствующий выходной пин, а мгновенное значение усиления всегда одинаково для всех каналов, что обеспечивает согласованное изменение громкости без расхождения уровней между каналами. В графическом интерфейсе SigmaStudio основным элементом управления является ползунок Volume Slider. Диапазон регулировки целевого выходного усиления составляет от -144 дБ до +24 дБ. За плавность перехода отвечает параметр alpha, который определяет скорость нарастания (slew) усиления к заданному целевому значению. Значения alpha и 1-alpha хранятся в последовательных ячейках не-модульной data RAM, что важно учитывать при планировании распределения памяти проекта. Для практического применения алгоритм удобен при обработке многоканальных аудиосигналов, например, при работе с четырьмя цифровыми каналами. При перемещении ползунка громкость всех каналов будет изменяться равномерно и синхронно.