ΣSigmaStudio English

Modified FXLMS(ADAU145x)

Этот модуль реализует алгоритм Modified Filtered-X LMS, который представляет собой адаптивный КИХ-фильтр (FIR), основанный на минимизации среднеквадратичного значения сигнала ошибки. Алгоритм применяется в задачах шумоподавления, где учитывается тот факт, что точка подавления находится не на выходном динамике противошума, а в месте расположения микрофона ошибки. Модуль предоставляет режим обучения (training mode), который позволяет обучать и оценивать вторичные пути (secondary paths) между выходными динамиками и микрофонами ошибки в виде коэффициентов КИХ-фильтра. Эти коэффициенты затем используются в режиме выполнения (run-time mode) модуля для учета этих путей и обеспечения эффективного шумоподавления на основе опорных входных сигналов.
Модуль можно найти в дереве инструментов по следующему пути:

Modified FXLMS(ADAU145x)
Modified FXLMS(ADAU145x)

Modified FXLMS(ADAU145x)
На приведенном выше рисунке показана блок-схема системы MFxLMS, где:

  • P(z) — система, которую необходимо смоделировать (источник шума)
  • S(z) — вторичный путь в акустической области
  • W'(z) — LMS фильтр
  • S'(z) — смоделированный вторичный путь
  • x(n) — опорный входной сигнал
  • d(n) — сигнал шума в акустической области
  • error — остаточный сигнал после деструктивной интерференции между шумом и противошумовым сигналом в акустической области
  • y(n) — выходной сигнал после фильтрации опорного входа коэффициентами LMS
  • yf(n) — выходной сигнал после фильтрации y(n) коэффициентами фильтра вторичного пути
  • xf(n) — выходной сигнал после фильтрации x(n) коэффициентами фильтра вторичного пути
  • y'(n) — результат фильтрации xf(n) коэффициентами LMS
  • e(n) — полная ошибка обратной связи для LMS-системы, вычисляемая как e(n) = error + yf(n) - y'(n)

уравнение обновления коэффициентов задается как:
W(n)= W(n-1)+ step size *(e(n-1)* xf(n-1))

Входные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Referencedec- audioОпорный сигнал шума.
Pin 1: Errordec- audioСигнал ошибки.

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

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Anti-Noisedecimal - audioСигнал противошума.
Pin 1: Mean Square Errordecimal - audioСигнал среднеквадратичной ошибки.

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

Опорный сигнал, сигнал ошибки и противошум могут быть расширены независимо. Функции «Отменить» (Undo) и «Повторить» (Redo) не поддерживаются для функции расширения этого модуля.
Алгоритм расширения (Grow)

Конфигурации

Модуль имеет два режима:

  1. Режим обучения (Training mode) — в этом режиме выполняется оценка вторичного пути с использованием внутреннего генератора белого шума для каждого выбранного выхода.
  2. Режим выполнения (Run-time mode) — в этом режиме адаптивный фильтр сходится, чтобы обеспечить выходной сигнал противошума, противоположный по фазе подавляемому сигналу шума.

Режимы можно выбрать, выбрав соответствующую вкладку режима в форме настроек MFXLMS.


Конфигурации

ПРИМЕЧАНИЕ: Для смены режима требуется выполнить повторную загрузку (re-download).

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

Обучение

GUI Control NameDefault ValueRangeFunction Description
Current Output 0 0-Number of Outputs-1 Выбор выхода, для которого должны быть оценены вторичные пути
Step Size 0.90.000001- 0.999999 Размер шага LMS
Start 0 0/1 Запускает или останавливает обучение вторичного пути
Upload - - Открывает форму коэффициентов SP, откуда можно сохранить коэффициенты SP
Secondary Path Filter Length32 8-256 Длина фильтра (количество отводов) LMS вторичного пути

Режим выполнения

GUI Control NameDefault ValueRangeFunction Description
Filter Length 32 8-256 Длина фильтра MFXLMS
Step Size 0.90.000001- 0.999999 Размер шага LMS
Pause 0 0/1 Приостановить или возобновить обновление коэффициентов MFXLMS
Reset 0 0/1 Сбрасывает коэффициенты и состояния фильтра MFXLMS
Initial LMS Coefficients -- Открывает форму коэффициентов LMS, откуда можно загрузить начальные коэффициенты LMS
Current LMS Coefficients -- Открывает форму коэффициентов LMS, откуда можно сохранить текущие сходящиеся коэффициенты LMS в текстовый файл

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

Обучение

GUI Control NameCompiler NameFunction Description
coeffsSPMFxLMSS300Alg1coeffsSP1Набор коэффициентов LMS-фильтра вторичного пути
StepSizeSPMFxLMSS300Alg1StepSizeSP1Размер шага LMS-фильтра вторичного пути
StartMFxLMSS300Alg1Start1Запуск обучения LMS вторичного пути
currentOutputMFxLMSS300Alg1CurrentOutput1Выбор выхода для обучения вторичного пути

Режим выполнения

GUI Control NameCompiler NameFunction Description
coeffsMFxLMSS300Alg1coeffs1Набор коэффициентов LMS-фильтра во время выполнения
coeffsSPMFxLMSS300Alg1coeffsSP1Набор коэффициентов LMS-фильтра вторичного пути
StepSizeLMSMFxLMSS300Alg1StepSizeLMS1Размер шага LMS-фильтра во время выполнения
PauseMFxLMSS300Alg1Pause1Приостановка/возобновление обучения LMS
ResetMFxLMSS300Alg1Reset1Сброс LMS-фильтра



Здесь,

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

Пример

Активное шумоподавление с использованием фильтра MFXLMS

В этом разделе демонстрируется активное шумоподавление с использованием модуля фильтра MFXLMS. Модуль работает на более низкой частоте дискретизации 2000 Гц с помощью модуля понижающей дискретизации; выходной сигнал затем повышается до входной частоты дискретизации с помощью модуля повышающей дискретизации. Цепочка модулей понижающей и повышающей дискретизации построена в иерархических платах, как показано ниже. В сигнальную цепочку включены фильтры защиты от наложения спектров (Anti-aliasing filters).
Активное шумоподавление с использованием фильтра MFXLMS
Активное шумоподавление с использованием фильтра MFXLMS
На приведенной ниже схеме показан модуль в режиме обучения. Входы заглушены. Чтобы получить коэффициенты вторичного пути, откройте вкладку «Обучение» (Training) в форме, установите длину фильтра (tap length), размер шага (step size) и выбор выхода, затем загрузите модуль в режиме обучения. Для запуска обучения нажмите кнопку «Пуск» (Start). Обучение останавливается нажатием кнопки «Стоп» (Stop). Затем нажмите кнопку «Загрузить» (Upload) — коэффициенты будут отображены в окне. Их можно сохранить в текстовый файл.
Активное шумоподавление с использованием фильтра MFXLMS
На приведенной ниже схеме показан модуль в режиме выполнения. Устанавливаются длина фильтра (tap-length) и размер шага (Step size) LMS во время выполнения. Коэффициенты вторичного пути можно задать, используя файл, экспортированный в режиме обучения. Входной опорный сигнал аппроксимирует сигнал ошибки, который необходимо подавить. Выход микрофона ошибки подается на пин ошибки (этот вход ошибки является остаточным сигналом после деструктивной интерференции между шумом и противошумовым сигналом в акустической области). Пин противошума (Anti noise) подключается к динамику компенсации для подавления шума в акустической области. Схема компилируется и загружается. Пин среднеквадратичной ошибки контролируется для наблюдения за снижением уровней ошибки, что указывает на шумоподавление.
После сходимости коэффициенты LMS могут быть считаны и сохранены в текстовый файл нажатием кнопки «Текущие коэффициенты LMS» (current LMS coefficients). Эти коэффициенты могут быть загружены как начальные коэффициенты LMS с помощью кнопки «Начальные коэффициенты LMS» (initial LMS coefficients) для более быстрой сходимости.
Активное шумоподавление с использованием фильтра MFXLMS

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

  1. ADAU145x

Modified FXLMS(ADAU145x) в SigmaStudio: настройка и параметры

Modified FXLMS (ADAU145x) — это модуль адаптивной фильтрации в среде SigmaStudio, предназначенный для систем активного шумоподавления (ANC) на процессорах семейства SigmaDSP Analog Devices. В отличие от стандартного LMS-фильтра, алгоритм Modified Filtered-X LMS учитывает акустический вторичный путь между динамиком противошума и микрофоном ошибки, что делает его эффективным для реальных акустических систем. В основе работы модуля лежит адаптивный КИХ-фильтр, который минимизирует среднеквадратичное значение сигнала ошибки. Система использует опорный сигнал шума x(n) и сигнал ошибки error. Внутренняя логика вычисляет полную ошибку обратной связи e(n) как комбинацию сигнала ошибки и отфильтрованных сигналов, после чего обновляет коэффициенты фильтра по формуле W(n) = W(n-1) + step size * (e(n-1) * xf(n-1)). Такая схема позволяет генерировать противошум, который компенсирует нежелательный шум именно в точке расположения микрофона ошибки. Модуль имеет два ключевых режима работы. В режиме обучения (Training mode) выполняется оценка вторичных путей S(z) между выходами и микрофонами ошибки с использованием внутреннего генератора белого шума. Полученные коэффициенты КИХ-фильтра сохраняются и затем применяются в режиме выполнения (Run-time mode), где адаптивный фильтр сходится для подавления шума в реальном времени. Входные пины Reference и Error принимают аудиосигналы, а выходы Anti-Noise и Mean Square Error предоставляют сигнал противошума и значение среднеквадратичной ошибки соответственно.