Это старая редакция документа!
Содержание
IdxSelectable Indp. Multiple Band Filter
Фильтр IdxSelectable Indp. Multiple Band имеет два варианта
- IdxSelectable Indp. Multiple Band Filter (No Slew)
- IdxSelectable Indp. Multiple Band Filter (Slew)
IdxSelectable Indp. Multiple Band Filter (No Slew)
Входные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
| Pin 0: Index Input | int - control | Вход Index выбирает строку фильтров для использования. Значение этого индекса должно быть в диапазоне от 0 до количества строк минус 1 |
| Pin 1: Audio Input 1 | decimal - audio | Аудио левого канала |
| Pin 1: Audio Input 2 | decimal - audio | Аудио правого канала |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
| Pin 0: Audio Output 1 | decimal - audio | Выход левого канала после фильтрации |
| Pin 0: Audio Output 2 | decimal - audio | Выход правого канала после фильтрации |
Элементы управления GUI — верхний уровень управления
| GUI Control Name | Default Value | Range | Function Description |
| Radio Button Select | Unselected | [Unselected, Selected] | Выбирает строку фильтров для отображения в окне передаточной функции Probe/Stimulus. Примечание: это не имеет функции DSP, а предназначено только для отображения. |
| Number of Biquads | 1 | [1, 30] | Устанавливает количество биквадов в строке фильтра. Это число может быть разным для каждой строки. |
| Filter Editor Button | n/a | n/a | Нажатие этой кнопки открывает новое окно для редактирования значений фильтра. |
Элементы управления GUI — редактор фильтров
| GUI Control Name | Default Value | Range | Function Description |
| Filter Type (Icon) | Parametric Low Shelf Hi Shelf Low Pass Hi Pass] | [Parametric | Нажатие на значок фильтра в окне редактора позволяет прокручивать доступные структуры фильтров. |
| Boost | 0 | [-20, 20] dB | Срез или усиление центральной частоты |
| Frequency | 1000 | [20, 20000] Hz | Устанавливает центральную частоту или частоту среза |
| Q/Slope | 1.41 | [0.1, 15] | Устанавливает Q или наклон |
| Gain | 0 | [-15, 15] dB | Общее усиление фильтра |
Информация о параметрах DSP
| GUI Control Name | Compiler Name | Function 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 Path | Filters - Second Order - Lookup - Double Precision - 2 Ch - IdxSelectable Indp. Multiple Band Filter |
| Cores Supported | ADAU144x ADAU176x ADAU178x |
| “Grow Algorithm” Supported | yes - See Algorithm Growth for more information |
| “Add Algorithm” Supported | no |
| Subroutine/Loop Based | yes |
| Program RAM | 22* (+16 subroutine code) - See Subroutine/Loop Information |
| Data RAM | 20* - Based on 1 Row 1 Biquad |
| Parameter RAM | 11* - Based on 1 Row 1 Biquad |
*Числа основаны на одном экземпляре алгоритма без дополнительного «add» или «grow». В зависимости от количества фильтров в данной строке будет использоваться больше Data RAM и Parameter RAM. Для наиболее точного подсчета RAM, используемой для вашего экземпляра этого алгоритма, проверьте окно Output в SigmaStudio для получения полного отчета. Каждый дополнительный биквад в данной строке добавит 12 Data RAM и 5 Parameter RAM.
Информация о росте алгоритма
Информация о подпрограммах/циклах
Этот алгоритм использует возможности ядра GEN3 как для подпрограмм, так и для циклов. Благодаря использованию этих функций достигается экономия Program RAM; однако важно учитывать использование MIPS/циклов, чтобы не превысить предел ядра. Подпрограмма, используемая для этого алгоритма, называется «BiquadLoopingDP» и содержит 16 инструкций. Количество MIPS зависит от максимального количества биквадов в данной строке фильтров. Окно Output в SigmaStudio сообщает как количество использованных инструкций, так и MIPS для подпрограммы.
IdxSelectable Indp. Multiple Band Filter (Slew)
Configurations
Выходы текущего и ранее выбранного индексов фильтров подвергаются слей-обработке (slew), чтобы предотвратить щелчки и помехи (pops/clicks) во время перехода.
Информация о параметрах DSP
| GUI Control Name | Compiler Name | Function 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 |
| NA | IdxSelIndpBandsAlgMDPSlewAlg1alpha | Значение слей (Slew Value) |

