Limiter

Ограничитель динамического диапазона

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

Описание

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

Порты

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

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

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

  • 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

Вывод

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

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

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

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

Этот порт без имени, пока вы не выбираете параметр Output gain (dB).

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

Зависимости

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 – Усиление состава применяется при выходе блока Limiter, таким образом, что установившийся вход на 0 дБ имеет выход на 0 дБ.

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

Типы данных

double | single

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

no

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

no

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

yes

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

no

Алгоритмы

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

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

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

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

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

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

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

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

    xкв/см(xдБ)={xдБxдБ<TTxдБT

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

    gc[n]=xкв/см[n]xдБ[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(журнал(9)Fs×TA).

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

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

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

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

    M=xкв/см(xдБ=0)

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

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

    gm[n]=gs[n]+M

  7. Расчетное усиление в дБ, g m [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