Содержание
RMS 4-полосный компрессор — одинарная точность (ADAU145x)
RMS 4-полосный компрессор — это многополосный компрессор с 4 уникальными полосами фильтров, каждая из которых имеет свою кривую компрессии и настройки. Полосы фильтров настраиваются, что позволяет пользователю регулировать частоты, подаваемые на каждую кривую компрессии. Каждая кривая компрессора настраивается индивидуально с помощью графика и параметров: атака (attack), удержание (hold) после отпускания и колено (knee). Компрессия применяется путем обнаружения среднеквадратичного значения (RMS) входного сигнала и умножения его на соответствующее усиление, заданное на графике.
Входные пины
| Name | Format [int/dec/float] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Input Signal | decimal(ADAU145x)- audio\\ | Входной сигнал, который необходимо сжать |
Выходные пины
| Name | Format [int/dec/float] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Compressor Out | decimal(ADAU145x)- audio- audio | Выход компрессора |
Алгоритм расширения (Grow)
Модуль поддерживает функцию расширения (growth). Добавление (Add) не поддерживается.
Элементы управления GUI
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| corner frequency low | 40Hz | 10-10000Hz | Частота кроссовера на пересечении полосы ФНЧ и midband1 |
| corner frequency mid | 600Hz | 10-10000Hz | Частота кроссовера на пересечении средних полос (midbands) |
| corner frequency high | 8000Hz | 10-10000Hz | Частота кроссовера на пересечении полосы ФВЧ и midband2 |
| Filter Type | 0(linkwitz riley 24) | 0-10 | Тип фильтра (linkwitz, butterworth, Bessel) |
| Link channels | disabled | enable/disable | Связывает межканальные rms усиления |
| attack | 72 ms | 1- 500 (ms) | Время атаки — время, за которое компрессия вступает в действие, когда входной сигнал пересекает порог |
| hold | 72 ms | 1- 500 (ms) | Время удержания |
| release | 868 ms | 1- 2000 (ms) | Время восстановления (release) — время, за которое компрессия отключается, когда входной сигнал падает ниже порога |
| knee | 1 | 1-75 | Мягкость вступления компрессии, определяемая коленом (knee) |
| indicator | disable | enable/disable | Включает или отключает индикаторы отображения усиления |
| compression curve | - | - | Позволяет пользователю задать кривую компрессии, перемещая точки на кривой вдоль графика |
| Channel display | 0 | 0-7 | Отображает индикаторы уровня для выбранного канала |
| band select | 0 | 0-3 | Отображает полосы компрессии |
| pregain | 0 | -90 to 6dB | Предварительное усиление (pre-gain) для каждой кривой компрессора |
| level indicators(out,in,comp) | - | - | Отображает уровни входного, выходного сигналов и примененного усиления |
Информация о DSP-параметрах
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| tc_n | RMS4BandCompS300Alg1tc_n(ADAU145x) | Время атаки (существует n значений для n кривых) |
| hold_n | RMS4BandCompS300Alg1hold_n(ADAU145x) | Время удержания (существует n значений для n кривых) |
| decay_n | RMS4BandCompS300Alg1decay_n(ADAU145x) | Время восстановления (существует n значений для n кривых) |
| B1_1 | RMS4BandCompS300Alg1B1_1(ADAU145x) | Коэффициенты фазового фильтра (всепропускающего) (3 набора фильтров первого порядка) (b1,b0,a1), всего 9 коэффициентов. |
| points_n | RMS4BandCompS300Alg1points_n(ADAU145x) | Таблица, содержащая массив точек усиления из графика кривой компрессора |
| B2_filterIndex | RMS4BandCompS300Alg1B2_filterIndex(ADAU145x) | Коэффициент B2 IIR-фильтра полосы фильтра |
| B1_filterIndex | RMS4BandCompS300Alg1B1_filterIndex(ADAU145x) | Коэффициент B1 IIR-фильтра полосы фильтра |
| B0_filterIndex | RMS4BandCompS300Alg1B0_filterIndex(ADAU145x) | Коэффициент B0 IIR-фильтра полосы фильтра |
| A2_filterIndex | RMS4BandCompS300Alg1A2_filterIndex(ADAU145x) | Коэффициент A2 IIR-фильтра полосы фильтра |
| A1_filterIndex | RMS4BandCompS300Alg1A1_filterIndex(ADAU145x) | Коэффициент A1 IIR-фильтра полосы фильтра |
Описание алгоритма
Алгоритм реализует многополосный компрессор, в котором входной сигнал разделяется на различные полосы фильтров в зависимости от заданных частот кроссовера. Сигналы с этих фильтров подаются на отдельные компрессоры с уникальными кривыми и настройками времени атаки, восстановления и удержания. Обнаруженное усиление умножается на выходные сигналы отдельных фильтров и суммируется в единый выходной сигнал.
Пример
На примере показан модуль, настроенный на конфигурацию с одним входом и одним выходом. Входной сигнал представляет собой синусоидальную развертку (sine sweep) с линейным изменением частоты от 50 Гц до 20 кГц. Полосы многополосного компрессора настроены на обеспечение компрессии 12 дБ, 0 дБ, 5 дБ и 30 дБ при входном уровне 0 дБ.
Поддерживаемые ИС
1. ADAU145x
Примечание: Модуль использует фильтры одинарной точности, из-за чего точность модуля ограничена при низких уровнях амплитуды входных данных.