Компрессор

Компрессор динамического диапазона

  • Библиотека:
  • Audio Toolbox / Управление Динамическим диапазоном

Описание

Блок Compressor выполняет сжатие динамического диапазона независимо через каждый входной канал. Сжатие динамического диапазона ослабляет объем громких звуков, которые пересекают данный порог. Использование блока заданные времена нападения и релиза, чтобы достигнуть сглаженной прикладной кривой усиления.

Порты

Входной параметр

развернуть все

  • Матричный вход – Каждый столбец входа обработан как независимый канал.

  • 1D векторный вход – вход обработан как один канал.

Этот порт без имени, если вы не задаете дополнительные входные порты.

Типы данных: single | double

Зависимости

Чтобы включить этот порт, выберите Specify from input port для Порога (дБ) параметр.

Типы данных: single | double

Зависимости

Чтобы включить этот порт, выберите Specify from input port для параметра Отношения.

Типы данных: single | double

Зависимости

Чтобы включить этот порт, выберите Specify from input port для ширины Колена (дБ) параметр.

Типы данных: single | double

Зависимости

Чтобы включить этот порт, выберите Specify from input port для параметра Времени (времени) атаки.

Типы данных: single | double

Зависимости

Чтобы включить этот порт, выберите Specify from input port для параметра времени (времен) Релиза.

Типы данных: single | double

Вывод

развернуть все

Блок Compressor выводит сигнал с совпадающим типом данных как входной сигнал. Размер вывода зависит от размера входа:

  • Матричный вход – блок выводит матрицу тот же размер и тип данных как входной сигнал.

  • 1D векторный вход – блок выводит N-by-1 матрица (вектор-столбец), где N является числом элементов в 1D векторе.

Типы данных: single | double

Зависимости

Чтобы включить этот порт, выберите параметр Output gain (dB).

Типы данных: single | double

Параметры

развернуть все

Если параметр перечислен как настраиваемый, то можно изменить его значение во время симуляции.

Основная вкладка

Operation threshold является уровнем, выше которого усиление применяется к входному сигналу.

Чтобы задать Threshold (dB) от входного порта, выберите Specify from input port для параметра.

Настраиваемый: да

Compression ratio является отношением ввода/вывода для сигналов, которые промахиваются по порогу операции.

Принятие твердой характеристики колена и установившегося входа, таким образом, что x [n] дБ> Threshold (dB), коэффициент сжатия задан как R=(x[n]T)(y[n]T), где

  • R является коэффициентом сжатия.

  • x [n] является входным сигналом в дБ.

  • y [n] является выходным сигналом в дБ.

  • T является порогом в дБ.

Чтобы задать Ratio от входного порта, выберите Specify from input port для параметра.

Настраиваемый: да

Для мягких характеристик колена область перехода задана отношением

y=x+(1R1)×(xT+W2)2(2×W)

для области значений (2×|xT|)W, где

  • y является уровнем на выходе в дБ.

  • x является уровнем на входе в дБ.

  • R является коэффициентом сжатия.

  • T является порогом в дБ.

  • W является шириной колена в дБ.

Чтобы задать Knee width (dB) от входного порта, выберите Specify from input port для параметра.

Настраиваемый: да

График обновляется автоматически, когда параметры блока Compressor изменяются.

Настраиваемый: да

Attack time является временем, которое усиление компрессора занимает, чтобы повыситься с 10% до 90% его окончательного значения, когда вход выходит за предел порога. Параметр Attack time (s) сглаживает прикладную кривую усиления.

Чтобы задать Attack time (s) от входного порта, выберите Specify from input port для параметра.

Настраиваемый: да

Release time является временем, которое усиление компрессора занимает, чтобы понизиться с 90% до 10% его окончательного значения, когда вход понижается порог. Параметр Release time (s) сглаживает прикладную кривую усиления.

Чтобы задать Release time (s) от входного порта, выберите Specify from input port для параметра.

Настраиваемый: да

  • Свойство Усиление состава установлено в значение, заданное параметром Make-up gain (dB).

  • 'auto' Усиление состава применяется при выводе блока Compressor, таким образом, что установившийся вход на 0 дБ имеет вывод на 0 дБ.

Настраиваемый: нет

Make-up gain компенсирует усиление, потерянное во время сжатия. Это применяется при выводе блока Compressor.

Настраиваемый: да

Зависимости

Чтобы включить этот параметр, установите параметр Make-up gain mode на Property.

Когда вы выбираете этот параметр, блок наследовал свою частоту дискретизации от входного сигнала. Когда вы очищаете этот параметр, задаете частоту дискретизации в параметре Input sample rate (Hz).

Настраиваемый: нет

Настраиваемый: да

Зависимости

Чтобы включить этот параметр, очистите параметр Inherit sample rate from input.

Вкладка "Дополнительно"

Когда вы выбираете этот параметр, дополнительный выходной порт, G, добавляется к блоку. Выходы порта G усиление, примененное на каждый вход, образовывают канал в дБ.

Настраиваемый: нет

  • Модель Interpreted execution - Simulate с помощью интерпретатора MATLAB®. Эта опция сокращает время запуска и имеет скорость симуляции, сопоставимую с Code generation. В этом режиме можно отладить исходный код блока.

  • Модель Code generation - Simulate с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution.

Настраиваемый: нет

Образцовые примеры

Характеристики блока

Типы данных

double | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

yes

Обнаружение пересечения нулем

no

Алгоритмы

Блок Compressor обрабатывает кадр сигнала кадром и поэлементно.

  1. N - сигнал точки, x [n], преобразован в децибелы:

    xдБ[n]=20×журнал10|x[n]|

  2. ДБ x [n] проходит через компьютер усиления. Компьютер усиления использует статическую характеристику сжатия блока Compressor, чтобы ослабить усиление, которое является выше порога.

    Если вы задали мягкое колено, компьютер усиления имеет следующую статическую характеристику:

    xкв/см(xдБ)={xдБxдБ<(TW2)xдБ+(1R1)(xдБT+W2)22W(TW2)xдБ(T+W2)T+(xдБT)RxдБ>(T+W2),

    где T является порогом, R является коэффициентом сжатия, и W является шириной колена.

    Если вы задали твердое колено, компьютер усиления имеет следующую статическую характеристику:

    xкв/см(xдБ)={xдБxдБ<TT+(xдБT)RxдБT

  3. Вычисленное усиление, g c [n], вычисляется как

    gc[n]=xкв/см[n]xдБ[n].

  4. g c [n] сглаживается с помощью заданных параметров времени нападения и релиза:

    gsn]={αAgs[n1]+(1αA)gc[n],gc[n]gs[n1]αRgsn1]+(1αR)gc[n],gc[n]>gs[n1]

    Коэффициент времени атаки, α A, вычисляется как

    αA=exp(журнал(9)Fs×TA).

    Коэффициент времени релиза, α R, вычисляется как

    αR=exp(журнал(9)Fs×TR).

    T A является периодом времени атаки, заданным параметром Attack time (s). T R является периодом времени релиза, заданным параметром Release time (s). Fs является входным уровнем выборки, заданным Inherit sample rate from input или параметром Input sample rate (Hz).

  5. Если Make-up gain (dB) установлен в Auto, усиление состава вычисляется как отрицание вычисленного усиления для входа на 0 дБ:

    M=xкв/см|xдБ=0.

    Учитывая установившийся вход 0 дБ, эта настройка достигает установившегося вывода 0 дБ. Усиление состава определяется Threshold (dB), Ratio и параметрами Knee width (dB). Это не зависит от входного сигнала.

  6. Усиление состава, M, добавляется к сглаживавшему усилению, gs [n]:

    gm[n]=gs[n]+M

  7. Расчетное усиление в дБ, gdB [n], переводится в линейную область:

    glin[n]=10(gm[n]20)

  8. Вывод компрессора динамического диапазона дан как

    y[n]=x[n]×glin[n].

Ссылки

[1] Giannoulis, Димитриос, Михаэль Массберг и Джошуа Д. Рейсс. "Цифровой Проект Компрессора Динамического диапазона – Пример И Анализ". Журнал Общества звукоинженеров. Издание 60, Выпуск 6, 2012, стр 399–408.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2016a