Compressor

Компрессор динамической области значений

  • Библиотека:
  • Audio Toolbox/Динамическое управление областью значений

  • Compressor block

Описание

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

Порты

Вход

расширить все

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

  • 1-D векторный вход -- Вход рассматривается как один канал.

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Выход

расширить все

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

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

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

Типы данных: 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 для параметра.

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

  • Property - Коэффициент усиления макияжа устанавливается на значение, заданное параметром 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 выводит коэффициент усиления, примененный к каждому входному каналу в дБ.

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

Когда вы выбираете этот параметр, к блоку добавляется дополнительный SC входного порта. Порт SC позволяет динамическое сжатие входного сигнала x с помощью отдельного бокового сигнала.

Тип данных и (система координат) длина входа для порта SC должны совпадать с входом для порта x.

Количество каналов входного сигнала боковой цепи должно быть равно количеству каналов x или равен единице.

  • Sidechain channel count is equal to one - Вычисленный коэффициент усиления, G, на основе этого канала применяется ко всем каналам x.

  • Sidechain channel count is equal to channel count of x - Вычисленный коэффициент усиления, G, для каждого бокового канала применяется к соответствующему каналу x.

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

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

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

Примеры моделей

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

Типы данных

double | single

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

no

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

no

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

yes

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

no

Алгоритмы

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

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

    xdB[n]=20×log10|x[n]|

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

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

    xsc(xdB)={xdBxdB<(TW2)xdB+(1R1)(xdBT+W2)22W(TW2)xdB(T+W2)T+(xdBT)RxdB>(T+W2),

    где T - порог, R - степень сжатия, а W - ширина колена.

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

    xsc(xdB)={xdBxdB<TT+(xdBT)RxdBT

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

    gc[n]=xsc[n]xdB[n].

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

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

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

    αA=exp(log(9)Fs×TA).

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

    αR=exp(log(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=xsc|xdB=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] Джаннулис, Димитриос, Майкл Массберг и Джошуа Д. Рейсс. Digital Dynamic Range Compressor Design -- A Tutorial And Analysis (неопр.) (недоступное руководство). Журнал Общества Аудиотехники. Том 60, Выпуск 6, 2012, стр. 399-408.

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

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

.
Введенный в R2016a