exponenta event banner

Расширитель

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

  • Библиотека:
  • Панель звуковых инструментов/динамическое управление диапазоном

  • Expander block

Описание

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

Порты

Вход

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

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

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

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

Чтобы включить этот порт, для параметра Ширина колена (dB) выберите значение Указать из входного порта.

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Продукция

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

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

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

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

Этот порт не называется до тех пор, пока не будет выбран параметр Output gain (dB).

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

Зависимости

Для активизации этого порта выберите параметр Output gain (dB).

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

Параметры

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

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

Главная вкладка

Коэффициент расширения - это отношение вход/выход для сигналов, которые не соответствуют пороговому значению операции.

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

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

  • y [n] - выходной сигнал в дБ.

  • x [n] - входной сигнал в дБ.

  • T - пороговое значение в дБ.

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

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

Рабочий порог - это уровень, ниже которого коэффициент усиления применяется к входному сигналу.

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

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

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

y = x + (1 R) × (x T − W2) 2 (2 × W)

для диапазона (2 × | x T |) ≤W, где

  • y - выходной уровень в дБ.

  • x - входной уровень в дБ.

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

  • T - пороговое значение в дБ.

  • W - ширина колена в дБ.

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

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

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

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

Время атаки - это время, в течение которого коэффициент усиления расширителя увеличивается с 10% до 90% от его конечного значения, когда входной сигнал опускается ниже порогового значения. Параметр Время атаки сглаживает приложенную кривую усиления.

Чтобы указать время (и) атаки из входного порта, выберите параметр Указать из входного порта.

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

Время освобождения - это время, в течение которого коэффициент усиления расширителя падает с 90% до 10% от его конечного значения, когда входной сигнал выходит за пороговое значение. Параметр Время освобождения сглаживает приложенную кривую усиления.

Чтобы указать время (и) выхода из порта ввода, выберите параметр «Указать из порта ввода».

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

Время удержания - это период, в течение которого (отрицательный) коэффициент усиления удерживается перед тем, как начать уменьшаться в направлении его установившегося значения, когда входной уровень опускается ниже порогового значения.

Чтобы указать время (и) удержания для входного порта, выберите параметр Указать для входного порта.

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

При выборе этого параметра блок наследует частоту дискретизации от входного сигнала. При сбросе этого параметра укажите частоту дискретизации в параметре Частота дискретизации на входе (Гц).

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

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

Зависимости

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

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

При выборе этого параметра к блоку добавляется дополнительный выходной порт 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 ® генерирует код C для блока. Код C используется повторно для последующего моделирования, если модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующего моделирования сравнима сInterpreted execution.

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

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

Типы данных

double | single

Прямой проход

no

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

no

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

yes

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

no

Алгоритмы

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

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

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

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

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

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

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

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

    xsc (xdB) = {T + (xdB T) ×RxdB<TxdBxdB≥T

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

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

  4. gc [n] сглаживается с использованием заданных параметров атаки, освобождения и времени удержания:

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

    CA - счетчик удержания для атаки. Предел TH определяется параметром Hold time (s).

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

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

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

    αR = exp (− log (9) Fs × TR).

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

  5. Сглаженный коэффициент усиления в дБ, gs [n], преобразуется в линейную область:

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

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

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

Ссылки

[1] Джаннулис, Димитриос, Майкл Массберг и Джошуа Д. Рейсс. «Проектирование цифрового компрессора динамического диапазона - учебное пособие и анализ». Журнал Общества аудиотехники. Том 60, выпуск 6, 2012, стр. 399-408.

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2016a