Expander

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

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

  • Expander block

Описание

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

Порты

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

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

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

  • 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

Зависимости

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

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

Вывод

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

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

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

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

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

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

Зависимости

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

y=x+(1R)×(xTW2)2(2×W)

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

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

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

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

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

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

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

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

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

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

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 для параметра.

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

Hold time является периодом, в течение которого (отрицательное) усиление сохранено прежде, чем начать уменьшаться к его значению устойчивого состояния, когда уровень на входе опускается ниже порога.

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

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

Когда вы выбираете этот параметр, блок наследовал свою частоту дискретизации от входного сигнала. Когда вы очищаете этот параметр, задаете частоту дискретизации в параметре 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

Алгоритмы

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

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

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

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

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

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

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

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

    xsc(xdB)={T+(xdBT)×RxdB<TxdBxdBT

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

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

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

    gs[n]={αAgs[n1]+(1αA)gc[n](CA>TH)&(gc[n]gs[n1])gs[n1]CATHαRgs[n1]+(1αR)gc[n]gc[n]>gs[n1]

    C A является счетчиком хранения для нападения. Предел, T H, определяется параметром Hold time (s).

    Коэффициент времени атаки, α 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 является входной частотой дискретизации, заданной параметром Input sample rate (Hz) или Inherit sample rate from input.

  5. Сглаживавшее усиление в дБ, g s [n], переводится в линейную область:

    glin[n]=10(gs[n]20).

  6. Выход расширителя динамического диапазона дан как

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

Ссылки

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

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

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

Введенный в R2016a