Ограничитель (Limiter)
Входные пины (Input Pins)
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Audio Input | dec - audio | Аудиосигнал, который необходимо ограничить. |
Выходные пины (Output Pins)
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 1: Audio Output | dec - audio | Ограниченный выходной аудиосигнал. |
| Pin 2: Limiter Ratio | dec - control | Значение, представляющее текущий коэффициент усиления, применяемый к аудиосигналу. |
| Pin 3: Limiter Active Flag | int - control | Флаг, выводящий 1, если ограничитель активен, или 0, если ограничитель не активен. По сути, это показывает, превысил ли входной сигнал порог или нет. Число имеет формат беззнакового целого. |
Элементы управления GUI (GUI Controls)
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| RMS TC (dB/s) | 50 | 1 to 10000 | Управляет скоростью отслеживания аппроксимации RMS, используемой для отслеживания входного уровня. |
| Decay (dB/s) | 12 | 5 to 23 | Управляет скоростью, с которой коэффициент сжатия сигнала будет спадать после того, как уровень входного сигнала упадет ниже порога ограничителя. Большие значения приводят к более длительному спаду, при значении 23 восстановление до исходного усиления не происходит. |
| Threshold (dB) | 0 | -24 to 24 | Устанавливает пороговую точку. Если аппроксимированный RMS-уровень входного сигнала превышает пороговую точку, ограничитель применит сжатие, чтобы предотвратить превышение сигналом этого уровня. Этот пороговый уровень не обязательно должен быть целым числом; его разрешение может быть установлено с шагом менее 0,01 dB. Полномасштабная синусоида имеет уровень -3 dB из-за измерения RMS. |
Информация о параметрах DSP (DSP Parameter Information)
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| N/A | limiterAlg1slope_1 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1inter_1 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1slope_2 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1inter_2 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1slope_3 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1inter_3 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1slope_4 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1inter_4 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1comp_1 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1comp_2 | Внутренний параметр. Не изменять. |
| N/A | limiterAlg1comp_3 | Внутренний параметр. Не изменять. |
| Threshold (dB) | limiterAlg1threshold | Порог ограничителя в десятичном формате. |
| RMS TC (dB/s) | limiterAlg1RMS_MONO_TCONST | Постоянная времени для расчета аппроксимации RMS. |
| Decay (dB/s) | limiterAlg1decay | Значение спада (decay). |
| Decay (dB/s) | limiterAlg1decaycomplement | Дополнение к значению спада (decay). |
Описание алгоритма (Algorithm Description)
Блок «Ограничитель» (Limiter) — это экстремальный компрессор, полностью предотвращающий превышение сигналом порога. Всякий раз, когда уровень сигнала начинает превышать его, ограничитель немедленно останавливает его и удерживает на пороге.
Этот блок может управлять обнаруженным значением rms и постоянной времени атаки (TC), а также спадом (decay) процессора.
Следующий график показывает зависимость входа/выхода для тона 1 кГц с порогами, увеличивающимися с шагом 6 дБ.

Выходной сигнал вычисляется по следующей формуле:

Сигналы ниже порога остаются без изменений; сигналы выше порога ослабляются с фиксированным коэффициентом, показанным выше.
На рисунке блока, вверху справа, синий пин выводит динамически ограниченный входной сигнал. Второй красный пин (нижний из трех пинов) выводит НОЛЬ (флаг), когда значение rms входного сигнала ниже порога. Если значение rms превышает порог, он выведет ЕДИНИЦУ, давая вам возможность считать, активен ли ограничитель.
Первый красный пин (средний из трех пинов) выводит мгновенный коэффициент ограничения, и вы можете использовать это значение для получения сжатого сигнала, используя блок умножителя для измерения огибающей сигнала и входа. Индикаторы сжатого сигнала широко используются в профессиональном аудиооборудовании.
Расчет значений параметров (Calculating Parameter Values)
Уравнения для параметров ограничителя:
Значение RMS dB/s, хранящееся в RAM = abs(1.0 - 10^(rms/10*fs)), где «rms» — это значение, введенное в блоке, а «fs» — частота дискретизации в Гц.
Значение спада (Decay) dB/s, хранящееся в RAM = (fs / 26373 * Decay), где «Decay» — это значение, введенное в блоке.
Дополнение к спаду (Decay complement), хранящееся в RAM = 1.0 - 2^(-1.0*(23 + DecayRAM)), где «DecayRAM» — это значение, рассчитанное по предыдущей формуле.
Дополнение к спаду используется только для определения флага выхода ограничителя и не используется в процессе ограничения.
Примечание: Для процессоров Griffin/Sharc, decay = Math.Pow(10, (double)decay / (fs + 0.000001) / 10), где «Decay» — это значение, введенное в блоке, а «fs» — частота дискретизации в Гц.
Пример (Example)
Пример проекта с использованием этого блока см. в разделе Пример процессора динамики (Dynamics Processor Example).
Детали алгоритма (Algorithm Details)
| Toolbox Path | Dynamics Processors - RMS - Limiter |
| Cores Supported | AD194x ADAU170x ADAU144x ADAU176x ADSP214xx ADSP 215xx ADSP-SC5xx |
| “Grow Algorithm” Supported | no |
| “Add Algorithm” Supported | no |
| Subroutine/Loop Based | no |
| Program RAM (ADAU144x and ADAU176x) | 77 |
| Data RAM (ADAU144x and ADAU176x) | 13 |
| Parameter RAM (ADAU144x and ADAU176x) | 15 |


