Содержание
Modified FXLMS(ADAU145x)
Этот модуль реализует алгоритм Modified Filtered-X LMS, который представляет собой адаптивный КИХ-фильтр (FIR), основанный на минимизации среднеквадратичного значения сигнала ошибки. Алгоритм применяется в задачах шумоподавления, где учитывается тот факт, что точка подавления находится не на выходном динамике противошума, а в месте расположения микрофона ошибки. Модуль предоставляет режим обучения (training mode), который позволяет обучать и оценивать вторичные пути (secondary paths) между выходными динамиками и микрофонами ошибки в виде коэффициентов КИХ-фильтра. Эти коэффициенты затем используются в режиме выполнения (run-time mode) модуля для учета этих путей и обеспечения эффективного шумоподавления на основе опорных входных сигналов.
Модуль можно найти в дереве инструментов по следующему пути:
На приведенном выше рисунке показана блок-схема системы 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))
Входные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Reference | dec- audio | Опорный сигнал шума. |
| Pin 1: Error | dec- audio | Сигнал ошибки. |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Anti-Noise | decimal - audio | Сигнал противошума. |
| Pin 1: Mean Square Error | decimal - audio | Сигнал среднеквадратичной ошибки. |
Алгоритм расширения (Grow)
Опорный сигнал, сигнал ошибки и противошум могут быть расширены независимо. Функции «Отменить» (Undo) и «Повторить» (Redo) не поддерживаются для функции расширения этого модуля.
Конфигурации
Модуль имеет два режима:
- Режим обучения (Training mode) — в этом режиме выполняется оценка вторичного пути с использованием внутреннего генератора белого шума для каждого выбранного выхода.
- Режим выполнения (Run-time mode) — в этом режиме адаптивный фильтр сходится, чтобы обеспечить выходной сигнал противошума, противоположный по фазе подавляемому сигналу шума.
Режимы можно выбрать, выбрав соответствующую вкладку режима в форме настроек MFXLMS.
ПРИМЕЧАНИЕ: Для смены режима требуется выполнить повторную загрузку (re-download).
Элементы управления GUI
Обучение
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Current Output | 0 | 0-Number of Outputs-1 | Выбор выхода, для которого должны быть оценены вторичные пути |
| Step Size | 0.9 | 0.000001- 0.999999 | Размер шага LMS |
| Start | 0 | 0/1 | Запускает или останавливает обучение вторичного пути |
| Upload | - | - | Открывает форму коэффициентов SP, откуда можно сохранить коэффициенты SP |
| Secondary Path Filter Length | 32 | 8-256 | Длина фильтра (количество отводов) LMS вторичного пути |
Режим выполнения
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Filter Length | 32 | 8-256 | Длина фильтра MFXLMS |
| Step Size | 0.9 | 0.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 Name | Compiler Name | Function Description |
|---|
| coeffsSP | MFxLMSS300Alg1coeffsSP1 | Набор коэффициентов LMS-фильтра вторичного пути |
| StepSizeSP | MFxLMSS300Alg1StepSizeSP1 | Размер шага LMS-фильтра вторичного пути |
| Start | MFxLMSS300Alg1Start1 | Запуск обучения LMS вторичного пути |
| currentOutput | MFxLMSS300Alg1CurrentOutput1 | Выбор выхода для обучения вторичного пути |
Режим выполнения
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| coeffs | MFxLMSS300Alg1coeffs1 | Набор коэффициентов LMS-фильтра во время выполнения |
| coeffsSP | MFxLMSS300Alg1coeffsSP1 | Набор коэффициентов LMS-фильтра вторичного пути |
| StepSizeLMS | MFxLMSS300Alg1StepSizeLMS1 | Размер шага LMS-фильтра во время выполнения |
| Pause | MFxLMSS300Alg1Pause1 | Приостановка/возобновление обучения LMS |
| Reset | MFxLMSS300Alg1Reset1 | Сброс LMS-фильтра |
Здесь,
- Зеленый — Имя алгоритма
- Красный — Номер экземпляра (изменяется для каждого экземпляра)
- Синий — Имя параметра
- Коричневый — Номер каскада
Пример
Активное шумоподавление с использованием фильтра MFXLMS
В этом разделе демонстрируется активное шумоподавление с использованием модуля фильтра MFXLMS. Модуль работает на более низкой частоте дискретизации 2000 Гц с помощью модуля понижающей дискретизации; выходной сигнал затем повышается до входной частоты дискретизации с помощью модуля повышающей дискретизации. Цепочка модулей понижающей и повышающей дискретизации построена в иерархических платах, как показано ниже. В сигнальную цепочку включены фильтры защиты от наложения спектров (Anti-aliasing filters).
На приведенной ниже схеме показан модуль в режиме обучения. Входы заглушены. Чтобы получить коэффициенты вторичного пути, откройте вкладку «Обучение» (Training) в форме, установите длину фильтра (tap length), размер шага (step size) и выбор выхода, затем загрузите модуль в режиме обучения. Для запуска обучения нажмите кнопку «Пуск» (Start). Обучение останавливается нажатием кнопки «Стоп» (Stop). Затем нажмите кнопку «Загрузить» (Upload) — коэффициенты будут отображены в окне. Их можно сохранить в текстовый файл.
На приведенной ниже схеме показан модуль в режиме выполнения. Устанавливаются длина фильтра (tap-length) и размер шага (Step size) LMS во время выполнения. Коэффициенты вторичного пути можно задать, используя файл, экспортированный в режиме обучения. Входной опорный сигнал аппроксимирует сигнал ошибки, который необходимо подавить. Выход микрофона ошибки подается на пин ошибки (этот вход ошибки является остаточным сигналом после деструктивной интерференции между шумом и противошумовым сигналом в акустической области). Пин противошума (Anti noise) подключается к динамику компенсации для подавления шума в акустической области. Схема компилируется и загружается. Пин среднеквадратичной ошибки контролируется для наблюдения за снижением уровней ошибки, что указывает на шумоподавление.
После сходимости коэффициенты LMS могут быть считаны и сохранены в текстовый файл нажатием кнопки «Текущие коэффициенты LMS» (current LMS coefficients). Эти коэффициенты могут быть загружены как начальные коэффициенты LMS с помощью кнопки «Начальные коэффициенты LMS» (initial LMS coefficients) для более быстрой сходимости.
Поддерживаемые ИС
- ADAU145x