Limiter

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

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

  • Limiter block

Описание

Блок 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 усиление, примененное на каждый вход, образовывают канал в дБ.

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

Когда вы выбираете этот параметр, дополнительный входной порт, 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

Алгоритмы

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

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

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

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

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

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

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

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

    xsc(xdB)={xdBxdB<TTxdBT

  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).

    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=xsc(xdB=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
Для просмотра документации необходимо авторизоваться на сайте