Содержание
Следящий фильтр (ADSP-SC5xx/215xx)
Следящие фильтры полезны для динамического сдвига фильтрации. Следящий фильтр позволяет определять центральную частоту по внешнему входу.
Входные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Input | decimal - Audio | Аудиовход |
| Pin 1: Control Input | decimal - Control | Вход управления (должен быть (2*fc)/fs, где fc — центральная частота, а fs — частота дискретизации схемы) |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Output | decimal - Audio | Фильтрованный выход |
Алгоритм Grow
Модуль не поддерживает добавление и расширение (Add and Growth).
Конфигурация
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Gain | 0 | -15dB to 15dB | Усиление фильтра в дБ |
| QValue | 0.04 | 0.04 to 16 | Добротность (Q) фильтра в состоянии покоя |
| Boost | 0dB | -15dB to 15dB | Значение подъёма фильтра в дБ |
Информация о параметрах DSP
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| Gain | TrackingFilter_SC5xxAlg1Gain | Усиление фильтра в дБ |
| QValue | TrackingFilter_SC5xxAlg1QValue | Добротность (Q) фильтра в состоянии покоя |
| boost | TrackingFilter_SC5xxAlg1boost | Значение подъёма фильтра в дБ |
Здесь,
- Зелёный — Имя алгоритма
- Красный — Номер экземпляра (изменяется для каждого экземпляра)
- Синий — Имя параметра
Описание алгоритма
Следящие фильтры полезны для динамического сдвига фильтрации. Следящий фильтр позволяет определять центральную частоту по внешнему входу. Вход управления рассчитывается как (2*fc)/fs, где fc — центральная частота, а fs — частота дискретизации схемы.
Поддерживаемые ИС
- ADSP215xx
- ADSPSC5xx
Tracking(ADAU145x)
Следящие фильтры полезны для динамического сдвига фильтрации. Этот конкретный следящий фильтр является алгоритмом пикового фильтра (Peaking Filter). Во многих приложениях вместо фиксированной центральной частоты для пикового фильтра полезно иметь подвижную центральную частоту. Например, LFO (низкочастотный генератор) может управлять следящим фильтром для создания эффекта фазового сдвига (phasing). Следящий фильтр позволяет определять центральную частоту по внешнему входу.
Входные пины:
Блок следящего фильтра имеет два входа и один выход. Первый вход — это фактический аудиовход, который вы хотите фильтровать. Второй входной пин — это значение центральной частоты фильтра. Вы заметите, что этот пин оранжевый, что указывает на то, что это пин управления, а не аудиопин. Сюда вы можете подключать блоки LFO или DC Input, чтобы задать желаемую фиксированную или подвижную центральную частоту следящего фильтра.
Описание алгоритма:
Следящий фильтр — это уникальный фильтр в библиотеке фильтров SigmaStudio. Это один из немногих фильтров, в котором коэффициенты динамически рассчитываются процессором DSP. Уравнения встроены в код алгоритма блока, и в зависимости от входной центральной частоты генерируются коэффициенты.
Входная центральная частота, которую ожидает алгоритм следящего фильтра, представляет собой значение в формате 5.23, вычисляемое по формуле: Гц/(fs/2). Например, если вы работаете с fs = 44100 Гц и fc = 500 Гц, отправляемое значение должно быть: 0.0226757 = 500 /(44100/2).
Следящий фильтр основан на генерации коэффициентов для IIR пикового фильтра. Следующие уравнения показывают, как DSP получает 5 биквадратных коэффициентов из элементов управления. Элементами управления следящего фильтра являются overall_gain — значение dB общего усиления фильтра, boost — значение dB среза или подъёма пикового фильтра, и Q — определяет ширину полосы среза или подъёма частоты. Центральная частота fc пикового фильтра задаётся вторым входным пином.
gainLinear = 10^(overall_gain/20) w = 2*pi*fc/Fs alpha = sin(w)/(2*Q) A = 10^(boost/40) a0 = 1 + alpha/A a1 = -2 * cos(w) a2 = 1 - alpha/A b0 = (1 + alpha*A) * gainLinear b1 = -(2 * cos(w)) * gainLinear b2 = (1 - alpha*A) * gainLinear
Использование:
Следящий фильтр может использоваться во многих ситуациях. Его следует применять, когда желательна изменяющаяся центральная частота пикового фильтра. Для приложений с фиксированной центральной частотой следует использовать обычный фильтр второго порядка. Для поддержки изменяющейся центральной частоты в этом алгоритме требуются значительные затраты MIPS/памяти. Однако первый пример здесь использует следящий фильтр с фиксированной центральной частотой только для простоты объяснения формата центральной частоты.
Пример 1:
Здесь блок DC entry подключен ко второму пину следящего фильтра. Значение внутри блока соответствует 500 Гц. Таким образом, аудиосигнал, поступающий на первый пин, будет усилен на 5 дБ на частоте 500 Гц с добротностью Q = 1.71, и ко всей полосе частот будет применена регулировка общего усиления -3 дБ.
![]()
Пример 2:
Вот более сложный пример, показывающий, как следящий фильтр может использоваться с LFO для создания эффекта фазового сдвига. Первый входной пин принимает объединённую версию входного сигнала (по сути, монофоническую версию входного сигнала). Блоки, предшествующие второму входному пину, создают LFO, который качает центральную частоту со скоростью 0.1 Гц. Диапазон качающейся центральной частоты составляет 441–11025 Гц.
Ниже приведены уравнения, объясняющие, как определяется диапазон:
Вход управления Fc = (F2 – F1)*sin(.1Hz) + F2 + F1
Поскольку обычный синусоидальный тон изменяется в диапазоне ±1, этот LFO изменяется в диапазоне от:
+(F2-F1) + F2 + F1 = 2*F2 -(F2-F1) + F2 + F1 = 2* F1
Затем, чтобы выяснить, каким частотам в Гц соответствуют значения .01 и .25 в схеме, используйте следующую формулу:
(44100/2) * Fc = Значение в Гц
Однако имейте в виду, что F1 и F2 — это числа в блоке DC, но диапазон будет от 2*F1 до 2*F2, поэтому сначала умножьте на 2, чтобы получить правильное значение диапазона, а затем используйте приведенную выше формулу, чтобы узнать значение в Гц: