ΣSigmaStudio English

Это старая редакция документа!


IdxSelectable Indp. Multiple Band Filter


Фильтр IdxSelectable Indp. Multiple Band имеет два варианта

  1. IdxSelectable Indp. Multiple Band Filter (No Slew)
  2. IdxSelectable Indp. Multiple Band Filter (Slew)

IdxSelectable Indp. Multiple Band Filter (No Slew)

Фильтр IdxSelectable Indp. Multiple Band позволяет использовать управляемый данными индексный вход для выбора банка фильтров для обработки. Количество строк возможных фильтров определяется «ростом» (growth) алгоритма. Количество биквадов в строке определяется числом в числовом текстовом поле для каждой «строки» фильтра. Нажатие на красную кнопку открывает редактор фильтров. Эта версия алгоритма представляет собой фиксированный 2-канальный стереофонический фильтр.IdxSelectable Indp. Multiple Band Filter (No Slew)

Входные пины

NameFormat
[int/dec] - [control/audio]
Function Description
Pin 0: Index Inputint - controlВход Index выбирает строку фильтров для использования. Значение этого индекса должно быть в диапазоне от 0 до количества строк минус 1
Pin 1: Audio Input 1decimal - audioАудио левого канала
Pin 1: Audio Input 2decimal - audioАудио правого канала

Выходные пины

NameFormat
[int/dec] - [control/audio]
Function Description
Pin 0: Audio Output 1decimal - audioВыход левого канала после фильтрации
Pin 0: Audio Output 2decimal - audioВыход правого канала после фильтрации

Элементы управления GUI — верхний уровень управления

GUI Control NameDefault ValueRangeFunction Description
Radio Button SelectUnselected[Unselected, Selected]Выбирает строку фильтров для отображения в окне передаточной функции Probe/Stimulus. Примечание: это не имеет функции DSP, а предназначено только для отображения.
Number of Biquads1[1, 30]Устанавливает количество биквадов в строке фильтра. Это число может быть разным для каждой строки.
Filter Editor Buttonn/an/aНажатие этой кнопки открывает новое окно для редактирования значений фильтра.

Элементы управления GUI — редактор фильтров

GUI Control NameDefault ValueRangeFunction Description
Filter Type (Icon)Parametric
Low Shelf
Hi Shelf
Low Pass
Hi Pass]
[ParametricНажатие на значок фильтра в окне редактора позволяет прокручивать доступные структуры фильтров.
Boost0[-20, 20] dBСрез или усиление центральной частоты
Frequency1000[20, 20000] HzУстанавливает центральную частоту или частоту среза
Q/Slope1.41[0.1, 15]Устанавливает Q или наклон
Gain0[-15, 15] dBОбщее усиление фильтра

Информация о параметрах DSP

GUI Control NameCompiler NameFunction Description
Filter Type (Icon)
Boost
Frequency
Q/Slope
Gain
IdxSelIndpBandAlg100b2
IdxSelIndpBandAlg100b1
IdxSelIndpBandAlg100b0
IdxSelIndpBandAlg100a2
IdxSelIndpBandAlg100a1
Изменение любого из 5 элементов управления GUI фильтра приведет к записи 5 параметров DSP в DSP. Это коэффициенты фильтра (b2, b1, b0, -a2, -a1), которые определяются формулами, приведенными в разделе алгоритмов для General 2nd Order Filters

Описание алгоритма

Используемый алгоритм фильтра — это General 2nd Order Filter (Double Precision) на основе структуры Direct Form I. Рост алгоритма позволяет создавать несколько строк или банков эквалайзера. Входной пин индекса алгоритма позволяет управляющему сигналу данных выбирать, какая строка фильтров используется для обработки входного сигнала. Индекс данных должен находиться в диапазоне от 0 до количества строк фильтров минус 1. Каждая строка фильтров имеет независимое управление, что позволяет иметь разное количество биквадов в строке и разные настройки фильтров. Количество биквадов в строке определяется числовым текстовым полем. На изображении ниже показаны верхний уровень управления и соответствующее окно редактора фильтров:
Описание алгоритма
Фильтр IdxSelectable Indp. Multiple Band использует возможности ядра GEN3 SigmaDSP для экономии program и parameter RAM. Код структуры фильтра является частью подпрограммы и вызывается несколько раз для количества биквадов в выбранной строке. Циклическая структура также повторяет код подпрограммы для нескольких биквадов. Это приводит к значительной экономии program RAM по сравнению с традиционными фильтрами в библиотеке.

Пример

На следующем изображении показано сравнение фильтра IdxSelectable Indp Multiple Band с традиционными General 2nd order фильтрами, настроенными аналогичным образом. Основное различие между двумя методами заключается в том, что для фильтра IdxSelectable индекс входных данных выбирает, какие фильтры используются для обработки. В традиционном случае параметр коэффициента от mux-переключателя выбирает используемые фильтры. Кроме того, благодаря циклическим и подпрограммным структурам в коде алгоритма, экономия program и parameter для фильтра IdxSelectable значительно больше, чем для комбинации традиционных фильтров.
Пример
Запись DC-Input имеет целочисленный формат (28.0), чтобы выбрать строку фильтров для использования. Поскольку значение равно «2», для обработки будет использоваться последний набор фильтров (с 2 биквадами). Выбор радиокнопки находится на строке «0», поэтому при использовании окна Probe/Stimulus будет отображаться передаточная функция для первой строки фильтров с 3 биквадами. Mux-переключатель позволяет сравнивать обработку фильтров между General 2nd Order и Index Selectable Band Filter.

Детали алгоритма

Toolbox PathFilters - Second Order - Lookup - Double Precision - 2 Ch - IdxSelectable Indp. Multiple Band Filter
Cores SupportedADAU144x
ADAU176x
ADAU178x
“Grow Algorithm” Supportedyes - See Algorithm Growth for more information
“Add Algorithm” Supportedno
Subroutine/Loop Basedyes
Program RAM22* (+16 subroutine code) - See Subroutine/Loop Information
Data RAM20* - Based on 1 Row 1 Biquad
Parameter RAM11* - Based on 1 Row 1 Biquad

*Числа основаны на одном экземпляре алгоритма без дополнительного «add» или «grow». В зависимости от количества фильтров в данной строке будет использоваться больше Data RAM и Parameter RAM. Для наиболее точного подсчета RAM, используемой для вашего экземпляра этого алгоритма, проверьте окно Output в SigmaStudio для получения полного отчета. Каждый дополнительный биквад в данной строке добавит 12 Data RAM и 5 Parameter RAM.

Информация о росте алгоритма

DescriptionКогда алгоритм расширяется (grow), к управлению добавляется новая строка фильтров. Входные/выходные пины остаются прежними, так как это по-прежнему стереофонический фильтр. Рост влияет только на количество возможных строк фильтров.Информация о росте алгоритма
Program RAM Repetition0 per growth - Based on 1 Biquad for the growth
Data RAM Repetition0 per growth - Based on 1 Biquad for the growth
Parameter RAM Repetition7 per growth - Based on 1 Biquad for the growth

Информация о подпрограммах/циклах

Этот алгоритм использует возможности ядра GEN3 как для подпрограмм, так и для циклов. Благодаря использованию этих функций достигается экономия Program RAM; однако важно учитывать использование MIPS/циклов, чтобы не превысить предел ядра. Подпрограмма, используемая для этого алгоритма, называется «BiquadLoopingDP» и содержит 16 инструкций. Количество MIPS зависит от максимального количества биквадов в данной строке фильтров. Окно Output в SigmaStudio сообщает как количество использованных инструкций, так и MIPS для подпрограммы.

IdxSelectable Indp. Multiple Band Filter (Slew)

IdxSelectable Indp. Multiple Band Filter (Slew)

Configurations

Выходы текущего и ранее выбранного индексов фильтров подвергаются слей-обработке (slew), чтобы предотвратить щелчки и помехи (pops/clicks) во время перехода.

Информация о параметрах DSP

GUI Control NameCompiler NameFunction Description
Filter Type (Icon)
Boost
Frequency
Q/Slope
Gain
IdxSelIndpBandAlg100b2
IdxSelIndpBandAlg100b1
IdxSelIndpBandAlg100b0
IdxSelIndpBandAlg100a2
IdxSelIndpBandAlg100a1
Изменение любого из 5 элементов управления GUI фильтра приведет к записи 5 параметров DSP в DSP. Это коэффициенты фильтра (b2, b1, b0, -a2, -a1), которые определяются формулами, приведенными в разделе алгоритмов для General 2nd Order Filters
NAIdxSelIndpBandsAlgMDPSlewAlg1alphaЗначение слей (Slew Value)

IdxSelectable Indp. Multiple Band Filter в SigmaStudio: настройка и параметры

IdxSelectable Indp. Multiple Band Filter — это многополосный фильтр в среде SigmaStudio для сигнальных процессоров Analog Devices семейства ADAU, который позволяет переключать банки фильтров в реальном времени. Его ключевая особенность — управляемый данными индексный вход: в отличие от статичной настройки, выбор строки фильтров происходит динамически, по значению целочисленного сигнала. Алгоритм доступен в двух вариантах: с плавным переходом (Slew) и без него (No Slew), при этом версия No Slew представляет собой фиксированный 2-канальный стереофонический фильтр. Принцип работы основан на матрице биквадов. Количество строк в этой матрице определяется «ростом» алгоритма, а число биквадов в каждой строке задается отдельно через числовое поле. Входной пин Index принимает целочисленное управляющее значение от 0 до (количество строк минус 1) и коммутирует сигнал на соответствующую строку фильтров. Аудиосигнал подается на два входа (левый и правый каналы), обрабатывается выбранной конфигурацией и выводится через соответствующие выходы. Такой подход позволяет реализовать переключаемые пресеты эквалайзера или адаптивную обработку без разрыва аудиопотока. Настройка в проекте SigmaStudio начинается с верхнего уровня GUI. Для каждой строки фильтра указывается количество биквадов в диапазоне от 1 до 30 — это число может различаться для разных строк.