ΣSigmaStudio English

General Eq (2nd order) Slew Ext-(ADAU145x)

General Eq (2nd order) Slew Ext-(ADAU145x)
Блок General (2nd-Order) Slew Ext предоставляет доступ к широкому спектру алгоритмов фильтров 2-го порядка (биквадратных). Время слейва (slew) может быть задано модулю через внешний управляющий пин в секундах (0-1) для плавного перехода от начального набора коэффициентов к целевому значению при изменении любого параметра фильтра.

  • Доступные типы фильтров:
  • Параметрический (Parametric)
  • Шельфовый (Shelving)
  • Универсальный фильтр верхних частот (General High-Pass)
  • Универсальный фильтр нижних частот (General Low-Pass)
  • Универсальный полосовой фильтр (General Band-Pass)
  • Универсальный режекторный фильтр (General Band-Stop)
  • Фильтр Баттерворта нижних/верхних частот (Butterworth Low-Pass / High-Pass)
  • Фильтр Бесселя нижних/верхних частот (Bessel Low-Pass / High-Pass)
  • Регулятор тембра (Tone Control)
  • Фильтр 1-го порядка нижних/верхних частот (1st-Order Low-Pass / High-Pass)
  • Всепропускающий фильтр (All-pass)
  • Фильтр с подъёмом АЧХ (Peaking)
  • Режекторный фильтр (Notch)
  • Фильтр Чебышева нижних/верхних частот (Chebyshev Low-Pass / High-Pass)

Функция слейва (slewing) добавлена для плавного перехода от одного набора коэффициентов фильтра к другому при изменении параметров фильтра. Слейв происходит приблизительно за время слейва, заданное пользователем. Время слейва может быть задано путем подачи значения lambda на управляющий пин. Параметр lambda определяет скорость слейва. При увеличении количества каскадов фильтра к модулю добавляется новый управляющий пин для значения lambda для каждого каскада. Вычисление слейва всегда выполняется в одинарной точности.

Чтобы открыть окно управления фильтром, нажмите на кнопку-иконку: Выберите желаемый тип фильтра из раскрывающегося списка. Элементы управления фильтром и изображение кнопки-иконки изменятся, чтобы отразить выбранный тип фильтра.

General Eq (2nd order) Slew Ext-(ADAU145x)


Алгоритмы этого блока используют биквадратные конструкции фильтров (Прямая форма I), основанные на работе Роберта Бристоу-Джонсона в этой области.

H(z)={b_0 + b_1 z^-1 + b_2 z^-2}/{1 + a_1 z^-1 + a_2 z^-2}

общие переменные:

  • omega_0 = {2 pi f_0}/{F_s}
  • gainLinear = 10^{gain/20}


General Eq (2nd order) Slew Ext-(ADAU145x)

Обратите внимание, что коэффициенты b0 и b2 для фильтра верхних частот, показанного ниже, инвертированы по сравнению с тем, что хранится в RAM. Правильные уравнения для b0, b1 и b2 для фильтра верхних частот следующие:
b0 = -(1 + cos(ω0)) * gainLinear / 2
b1 = -(1 + cos(ω0)) * gainLinear
b2 = -(1 + cos(ω0)) * gainLinear / 2

General Eq (2nd order) Slew Ext-(ADAU145x)

Обратите внимание, что знаки минус у значений b0 и b2 ошибочны для фильтров верхних частот Баттерворта и Бесселя. Их не следует учитывать. См. https://ez.analog.com/message/4769

General Eq (2nd order) Slew Ext-(ADAU145x)

Slew function:
lambda= e^{-1/{timeconstant*F_s}}
Current Coefficient= Current Coffcicient* lambda + Target Coefficient * (1-lambda)

Вышеуказанная функция слейва реализует RC-слейв. Параметр lambda рассчитывается на основе постоянной времени слейва. Вычисления для слейва коэффициентов фильтра выполняются на DSP.

Для всех вышеперечисленных фильтров коэффициенты делятся на a0, нормализуя их и делая a0 = 1, так что необходимо хранить только 5 коэффициентов. В реальной реализации на DSP, когда коэффициенты сохраняются в parameter RAM, a1 и a2 должны быть инвертированы. Это делается автоматически, в программном обеспечении, перед записью параметров в память.

Q отображается со скорректированным значением (от классического определения в электротехнике), так что подъём на N dB с последующим срезом на N dB при одинаковых Q и f0/Fs дает точно плоский фильтр с единичным усилением или «провод». Это равно A*Q, где A = 10^(dBgain/40).

Примечание: Некоторые фильтры General 2nd order (те, что в дереве Type2) основаны на реализации Прямой формы II, которая используется в следующем HW ADSP-215xx & SC5xx. Пожалуйста, см. изображение ниже.

General Eq (2nd order) Slew Ext-(ADAU145x)

Generaleq2ndorderslewext в SigmaStudio: настройка и параметры

General Eq (2nd order) Slew Ext — это блок биквадратных фильтров второго порядка в среде SigmaStudio для сигнальных процессоров ADAU145x семейства SigmaDSP от Analog Devices. Его ключевая особенность — возможность плавного перехода между наборами коэффициентов при изменении параметров фильтра, что позволяет избежать щелчков и артефактов в звуковом тракте. Внутри модуля доступен широкий набор алгоритмов: параметрический и шельфовый фильтры, универсальные фильтры нижних и верхних частот, полосовые и режекторные, фильтры Баттерворта, Бесселя и Чебышева, регулятор тембра, всепропускающий фильтр и другие. Все они построены на биквадратной структуре прямой формы I. Коэффициенты нормализуются делением на a0, поэтому в памяти хранится только пять значений. Время слейва задается в секундах (диапазон 0–1) через внешний управляющий пин. При изменении любого параметра фильтра DSP выполняет расчет промежуточных коэффициентов, обеспечивая плавный переход от начального состояния к целевому. Вычисления слейва всегда выполняются в одинарной точности. Если в цепочке используется несколько каскадов, для каждого из них добавляется отдельный управляющий пин. Для настройки откройте окно управления фильтром и выберите нужный тип из раскрывающегося списка — элементы управления и иконка блока обновятся автоматически. Обратите внимание на особенности расчета коэффициентов для фильтров верхних частот: знаки минус у b0 и b2 в документации ошибочны для вариантов Баттерворта и Бесселя, их следует игнорировать.