Активное управление шумом с Simulink Real-Time

Создайте активную систему контроля шума в реальном времени, используя цель Speedgoat Simulink Real-Time.

Активное управление шумом (ANC)

Цель активного контроля шума состоит в том, чтобы уменьшить нежелательный звук путем создания «антишумового» сигнала, который отменяет нежелательную звуковую волну. Этот принцип был успешно применен к широкому кругу приложений, таких как шумоподавляющие наушники, активный звуковой проект в салонах автомобилей, и шумоподавление в вентиляционных каналах и вентилируемых корпусах.

В этом примере мы применяем принципы основанного на модели дизайна. Во-первых, мы проектируем ANC без какого-либо оборудования, используя простую акустическую модель в нашей симуляции. Затем мы завершаем наш прототип, заменив моделируемый акустический путь на Speedgoat Целевые компьютеры и Speedgoat Support (Simulink Real-Time) и его IO104 аналоговый модуль. Speedgoat является внешней целью реального времени для Simulink, которая позволяет нам выполнять нашу модель в реальном времени и наблюдать любые интересующие данные, такие как коэффициенты адаптивного фильтра, в реальном времени.

Этот пример имеет сопутствующее видео: Active Noise Control - От моделирования до прототипирования в реальном времени.

Модель Feedforward ANC

Следующий рисунок иллюстрирует классический пример feedforward. Источник шума на входе в канал, такой как вентилятор, «отменяется» громкоговорителем. Источник шума b (n) измеряется ссылкой микрофоном, и сигнал, присутствующий на выходе системы, контролируется микрофоном ошибки e (n). Обратите внимание, что чем меньше расстояние между микрофоном ссылки и громкоговорителем, тем быстрее ANC должен уметь вычислять и воспроизводить «антишум».

Основной путь является передаточной функцией между двумя микрофонами, W (z) является адаптивным фильтром, вычисленным из последнего доступного сигнала ошибки e (n), а вторичный путь S (z) является передаточной функцией между выходом ANC и микрофоном ошибки. Оценка вторичного пути S '(z) используется для фильтрации входов функции обновления NLMS. Кроме того, акустическая обратная связь F (z) от громкоговорителя ANC к опорному микрофону может быть оценена (F '(z)) и удалена из опорного сигнала b (n).

Чтобы реализовать успешную систему ANC, мы должны оценить и основной, и вторичный пути. В этом примере мы сначала оцениваем вторичный путь и акустическую обратную связь, а затем сохраняем его постоянным, в то время как система ANC адаптирует основной путь.

Модель Filtered-X ANC

С Simulink и основанным на модели дизайном можно начать с базовой модели нужной системы и моделируемого окружения. Затем можно улучшить реализм этой модели или заменить моделируемое окружение реальным. Можно также выполнить итерацию путем уточнения моделируемого окружения, когда вы узнаете больше о проблемах реальной системы. Для примера можно добавить акустическую обратную связь или измерение шум к моделируемому окружению, если это элементы, которые ограничивают эффективность реальной системы.

Начните с модели системы ANC Filtered-X NLMS, включая как контроллер ANC, так и акустическое окружение канала. Предположим, что у нас уже есть оценка вторичного пути, поскольку мы спроектируем систему, чтобы измерить это позже. Симулируйте сигнал микрофона ошибки как сумму источника шума, отфильтрованного первичным акустическим путем и выходом ANC, отфильтрованным вторичным акустическим путем. Используйте блок «LMS Update» в строении, которая минимизирует сигнал, захваченный микрофоном ошибки. В системе Filtered-X вход обновления NLMS является источником шума, отфильтрованным оценкой вторичного пути. Чтобы избежать алгебраического цикла, существует задержка одной выборки между расчетом новых коэффициентов фильтра и их использованием фильтром LMS.

Установите вторичный путь на s (n) = [0,5 0,5 -.3 -.3 -.2 -.2] и первичный путь на conv (s (n), f (n)), где f (n) = [.1 -.1 .2 -.2 .3 -.3 .15 -.15]. Проверьте, что адаптивный фильтр правильно сходится к f (n), в этом случае он соответствует первичному пути в нашей модели после свертки с вторичным путем. Обратите внимание, что s (n) и f (n) были установлены произвольно, но мы могли попробовать любые передаточные функции конечные импульсные характеристики, такие как фактическое измерение импульсной характеристики.

Модель оценки вторичного пути

Разработайте модель, чтобы оценить вторичный путь. Используйте адаптивный фильтр в строении, подходящей для идентификации неизвестной системы. Затем можно проверить, что он сходится к f (n).

Реализация в реальном времени с помощью Speedgoat

Чтобы экспериментировать с ANC в окружение реального времени, мы создали классический пример воздуховода. На следующем изображении справа налево у нас есть громкоговоритель, воспроизводящий источник шума, эталонный микрофон, громкоговоритель ANC и микрофон ошибки.

Задержка очень важна: система должна записать ссылку микрофон, вычислить ответ и воспроизвести его обратно на громкоговорителе ANC за время, необходимое для перемещения звука между этими точками. В этом примере расстояние между микрофоном ссылки и началом секции «Y» составляет 34 см. Скорость звука составляет 343 м/с, таким образом, наша максимальная задержка составляет 1 мс или 8 выборки со частотой дискретизации 8 кГц, используемой в этом примере.

Мы будем использовать цель Speedgoat в реальном времени в Simulink, с IO104 платой аналогового интерфейса ввода-вывода. Speedgoat позволяет нам достичь задержки до одной или двух выборок.

Чтобы реализовать нашу модель реального времени, мы используем базовые блоки, которые тестировали ранее, и просто заменяем акустические модели блоками ввода-вывода Speedgoat. Мы также включили измерение акустической обратной связи от громкоговорителя ANC к эталонному микрофону, и мы добавили некоторую логику, чтобы автоматически измерить вторичный путь в течение 10 секунд перед переходом в фактический режим ANC. В течение первых 10 секунд на громкоговорителе ANC воспроизводится белый шум и включаются два фильтра NLMS, по одному на микрофон. Затем «источник шума» воспроизводится моделью для удобства, но фактический вход системы ANC является ссылкой микрофоном (это воспроизведение могло быть заменено реальным источником шума, таким как вентилятор в правом конце канала). Система записывает эталонный микрофон, адаптирует фильтр ANC NLMS и вычисляет сигнал для громкоговорителя ANC. Мы позаботимся о том, чтобы настроить наши свойства модели так, чтобы IO104 карта управляла каденцией модели Simulink (см. IO104 в управляемом прерыванием режиме). Чтобы получить доступ к папке модели, откройте пример, нажав кнопку «Открыть скрипт». Имя файла модели - «Speedgoat_FXLMS_ANC_model.slx.»

Эффективность снижения шума

Мы измерили эффективность этого прототипа ANC как с двумя тонами, так и с фактической записью приглушенной стиральной машины. Мы получили уменьшение шума на 20-30 дБ для двойных тонов и 8-10 дБ для записи, что является более реалистичным, но и более сложным случаем. Темп сходимости для фильтра меньше нескольких секунд с тонами, но требует гораздо больше времени для реального случая (одна-две минуты).

Измерения задержки

Другим аспектом эффективности является задержка системы, поскольку это определяет минимальное расстояние между микрофоном ссылки и громкоговорителем ANC. В нашем прототипе активный громкоговоритель ANC, который мы используем, может ввести задержку, поэтому мы можем убедиться, что это не проблема, сравнивая ответ между двумя микрофонами и ответом между выходным сигналом ANC и микрофоном ошибки. Различие между этими двумя задержками является максимальное время, которое система имеет для вычисления сигнала против шума от ссылки микрофона. Используя тот же метод идентификации NLMS, мы получаем следующий ответ от микрофона ссылки на микрофон ошибки:

Затем можно сравнить этот ответ с оценкой вторичного пути:

Различие составляет всего две -три выборки, поэтому используя наш текущий активный громкоговоритель и Speedgoat, мы не можем существенно уменьшить расстояние между ссылкой микрофоном и громкоговорителем ANC в нашем прототипе. Чтобы уменьшить расстояние, нам нужен громкоговоритель, который не вводит никаких дополнительных задержек. Мы также могли бы увеличить частоту дискретизации модели Simulink (задержка Speedgoat установлена на одну или две выборки, независимо от частоты дискретизации).

Ссылки

С. М. Куо и Д. Р. Morgan, «Active noise control: a tutorial review», в трудах IEEE, том 87, № 6, стр. 943-973, июнь 1999.

K.-C. Чен, К.-Ю. Чанг, и С. М. Куо, «Активный контроль шума в канале для отмены широкополосного шума», в IOP Conference Series: Materials Science and Engineering, vol. 237, no. 1, 2017. https://iopscience.iop.org/article/10.1088/1757-899X/237/1/012015.

Целевые компьютеры Speedgoat и поддержка Speedgoat (Simulink Real-Time)

Настройка модуля IO104 в Simulink

Настройка IO104 в управляемом прерыванием режиме

Смотрите также: Активный контроль шума с использованием фильтра Filtered-X LMS конечной импульсной характеристики Adaptive Filter