exponenta event banner

Управление активным шумом с помощью Simulink в реальном времени

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

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

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

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

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

Модель прямой связи ANC

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

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

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

Отфильтрованная модель - X ANC

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

Начните с модели системы ANC NLMS Filtered-X, включая как контроллер 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) были установлены произвольно, но мы могли бы попробовать любые функции переноса FIR, такие как измерение фактической импульсной характеристики.

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

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

Внедрение в реальном времени с помощью Speedgoat

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

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

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

Для реализации нашей модели в реальном времени мы используем строительные блоки, протестированные ранее, и просто заменяем акустические модели блоками ввода-вывода Speedgoat. Мы также включили измерение акустической обратной связи от громкоговорителя ANC к опорному микрофону, и мы добавили некоторую логику для автоматического измерения вторичного тракта в течение 10 секунд перед переключением в фактический режим ANC. В течение первых 10 секунд на громкоговорителе ANC воспроизводится белый шум и включаются два фильтра NLMS, по одному на микрофон. Затем «источник шума» воспроизводится моделью для удобства, но фактическим входом системы ANC является опорный микрофон (это воспроизведение может быть заменено реальным источником шума, таким как вентилятор на правом конце воздуховода). Система записывает опорный микрофон, адаптирует фильтр NLMS ANC и вычисляет сигнал для громкоговорителя 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: Материаловедение и инженерия, том 237, № 1, 2017. https://iopscience.iop.org/article/10.1088/1757-899X/237/1/012015.

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

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

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

См. также: Активное управление шумом с помощью адаптивного фильтра FIR Filtered-X LMS