ΣSigmaStudio English

Пул FIR-фильтров

Модуль «Пул FIR-фильтров» — это расширенная версия стандартного FIR-фильтра, позволяющая пользователям выбирать вход и набор FIR-коэффициентов и направлять выбранный вход через набор коэффициентов на конкретный выход. Он также позволяет пользователю инвертировать выход и обращать набор коэффициентов. Модуль также позволяет пользователю задавать пользовательские метки фильтров и входов с помощью формы пула фильтров.


Пул FIR-фильтров Пул FIR-фильтров

Пул FIR-фильтров

Входные пины

NameFormat [int/dec/float] - [control/audio]Function Description
Pin 0: Inputdecimal(ADAU145x)- audio
float(214xx) - audio
Входной сигнал для фильтрации

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

NameFormat [int/dec/float] - [control/audio]Function Description
Pin 0: Outputdecimal(ADAU145x)- audio
float(214xx) - audio
Отфильтрованный выходной сигнал

Алгоритм расширения

Модуль поддерживает функцию расширения. Добавление не поддерживается.

Элементы управления GUI

GUI Control NameDefault ValueRangeFunction Description
Tap Size1010-10000Этот предварительный/последующий скаляр определяет количество отводов FIR-фильтра
Input Selection Combo box00-31Этот предварительный/последующий скаляр определяет выбранный вход для конкретного выхода
Filter Selection Combo box00-15Этот предварительный/последующий скаляр определяет выбранный набор FIR-коэффициентов для конкретного выхода
Reverse Selection 00/1Этот предварительный/последующий скаляр определяет, должен ли выбранный набор FIR-коэффициентов для конкретного выхода быть обращён; набор обращается в обратном порядке, когда маленький кружок включен (1)
Invert Selection 00/1Этот предварительный/последующий скаляр определяет, должен ли конкретный выход быть инвертирован; выход инвертируется (-выход), когда маленький кружок включен (1)

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

GUI Control NameCompiler NameFunction Description
NumFiltModFirFiltPoolS300Alg1Numfilt_1(ADAU145x) FIRFiltPoolModBlkAlg1Numfilt_1(214xx)Количество наборов коэффициентов фильтра
TapSizeModFirFiltPoolS300Alg1TapSize_1(ADAU145x) FIRFiltPoolModBlkAlg1TapSize_1
Количество отводов фильтра в каждом наборе коэффициентов
InIndxModFirFiltPoolS300Alg1InIndx_1(ADAU145x) FIRFiltPoolModBlkAlg1InIndx_1(214xx)
Индекс выбранного входа
FiltIndxModFirFiltPoolS300Alg1FIltIndx_1(ADAU145x) FIRFiltPoolModBlkAlg1FiltIndx_1(214xx)
Индекс выбранного набора коэффициентов фильтра
RevIndxModFirFiltPoolS300Alg1RevIndx_1(ADAU145x) FIRFiltPoolModBlkAlg1RevIndx_1(214xx)
Выбранный индекс обращения; если установлен (значение=1), порядок доступа к коэффициентам для фильтрации изменяется на обратный
InvIndxModFirFiltPoolS300Alg1InvIndx_1(ADAU145x) FIRFiltPoolModBlkAlg1InvIndx_1(214xx)
Выбранный индекс инвертирования; если установлен (значение=1), выходное значение отрицается
FirCoeffModFirFiltPoolS300Alg1FirCoeff1(ADAU145x) FIRFiltPoolModBlkAlg1FirCoeff1(214xx)
Выбранный набор коэффициентов фильтра


Здесь,

  • Зеленый — Имя алгоритма
  • Красный — Номер экземпляра (изменяется для каждого экземпляра)
  • Синий — Имя параметра
  • Коричневый — Номер каскада

Примечание: Имена алгоритмов для различных алгоритмов 214xx для этого модуля:
1.FIRFiltPoolModBlkAlg (для размещения линии задержки на выходах)
2.FIRFiltPoolIpBlkAlg (для размещения линии задержки на входах)

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

Пул FIR-фильтров (ADAU145x)

Алгоритм реализует FIR-фильтр порядка N с N+1 отводами фильтра. В модуль можно добавить несколько наборов коэффициентов, что позволяет направлять несколько входов через несколько независимых FIR-фильтров на заданную линию выбора выхода. Форма «Пул FIR-фильтров» имеет несколько вкладок, каждая из которых содержит определенный выбор маршрутизации и параметры между входами и выходами. Алгоритм реализует функцию инвертирования, которая инвертирует выходные сэмплы, и функцию обращения (Reverse), которая обращает порядок доступа к загруженному набору коэффициентов фильтра для конкретного выбора.
Пул FIR-фильтров (ADAU145x)
Модуль также предлагает опции, которые позволяют выполнить следующие настройки:

  1. Линия задержки FIR-фильтра может быть выделена на каждый входной канал или на каждый выходной канал. Щелкните правой кнопкой мыши по ячейке, чтобы выбрать эту опцию; по умолчанию линии задержки поддерживаются на каждый вход. В конфигурациях, где количество входов велико по сравнению с количеством выходов, линии задержки могут поддерживаться на каждый выход путем выбора этой опции.
  2. Алгоритм FIR-фильтра имеет компромисс между памятью и MIPS. Опция «Оптимизировать для MIPS/Памяти» позволяет оптимизировать алгоритм для одного из этих параметров. По умолчанию алгоритм оптимизирован для MIPS.


Пул FIR-фильтров (ADAU145x)

Пул FIR-фильтров (ADSP-214xx, ADSP-SC5xx)

Алгоритм реализует FIR-фильтр порядка N с N+1 отводами фильтра. В модуль можно добавить несколько наборов коэффициентов, что позволяет направлять несколько входов через несколько независимых FIR-фильтров на заданную линию выбора выхода. Форма «Пул FIR-фильтров» имеет несколько вкладок, каждая из которых содержит определенный выбор маршрутизации и параметры между входами и выходами. Алгоритм реализует функцию инвертирования, которая инвертирует выходные сэмплы, и функцию обращения (Reverse), которая обращает порядок доступа к загруженному набору коэффициентов фильтра для конкретного выбора.
Пул FIR-фильтров (ADSP-214xx, ADSP-SC5xx)
Модуль имеет два варианта, как показано ниже:
Линия задержки FIR-фильтра может быть выделена на каждый входной канал или на каждый выходной канал. Модуль «Пул FIR-фильтров» с линией задержки на входе поддерживает линию задержки FIR на каждый входной канал, тогда как модуль «Пул FIR-фильтров» с линией задержки на выходе поддерживает линию задержки FIR на каждый выходной канал. В конфигурациях, где количество входов велико по сравнению с количеством выходов, линии задержки могут поддерживаться на каждый выход путем выбора соответствующего модуля.
Пул FIR-фильтров (ADSP-214xx, ADSP-SC5xx)

Пример


В примере показан модуль, сконфигурированный на два входа и три выходных канала с тремя независимыми наборами FIR-коэффициентов. Три набора коэффициентов представляют собой фильтры нижних частот FIR с частотами среза 2,4 кГц, 4,8 кГц и 7,2 кГц. Графики выходных сигналов для этой конфигурации показаны ниже.
Пример

Пример

Поддерживаемые ИС

1. ADAU145x
2. ADSP-214XX
3. ADSP-213xx
4. ADSP-SC5xx

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

Модуль «Пул FIR-фильтров» (FIR Filter Pool) в среде SigmaStudio представляет собой расширенную версию стандартного FIR-фильтра для цифровых сигнальных процессоров Analog Devices семейства ADAU. Его ключевое отличие — возможность динамически выбирать источник сигнала и набор FIR-коэффициентов для каждого конкретного выхода, что делает его гибким инструментом для построения многоканальных и перестраиваемых схем обработки. Принцип работы модуля заключается в коммутации входных потоков и наборов коэффициентов. Пользователь может направить выбранный вход через определенный набор коэффициентов на выход, а также инвертировать выходной сигнал или обратить порядок следования коэффициентов. Такая архитектура позволяет реализовывать кроссоверы, динамическую эквализацию и другие алгоритмы, где требуется оперативное переключение режимов фильтрации без изменения всей сигнальной цепочки. Настройка в проекте SigmaStudio выполняется через элементы GUI. Параметр Tap Size задает число отводов фильтра в диапазоне от 10 до 10000. Выпадающие списки Input Selection и Filter Selection определяют, какой из входов (0–31) и какой набор коэффициентов (0–15) будут задействованы для конкретного выхода. Опции Reverse Selection и Invert Selection позволяют обратить набор коэффициентов или инвертировать выход соответственно. При использовании модуля важно учитывать, что он поддерживает функцию расширения (growth), но не поддерживает добавление (add).