exponenta event banner

Шумоподавление в Simulink с использованием нормализованного адаптивного фильтра LMS

Создание акустической среды в Simulink

Адаптивные фильтры - это фильтры, коэффициенты или веса которых изменяются с течением времени для адаптации к статистике сигнала. Они используются в различных областях, включая связь, управление, радар, гидролокатор, сейсмологию и биомедицинскую инженерию.

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

  1. В командной строке MATLAB ® введитеdspanc.

    Откроется пример системы DSP Toolbox™ акустическим шумоподавлением.

  2. Скопируйте и вставьте подсистему акустической среды в новую модель.

  3. Дважды щелкните подсистему акустической среды.

    Гауссовый шум используется для создания сигнала, посылаемого на выходной порт внешнего микрофона. Если вход в порт фильтра изменяется с 0 на 1, блок цифрового фильтра изменяется с фильтра нижних частот на полосовой фильтр. Отфильтрованный шум, выходящий из блока цифрового фильтра, добавляется к сигналу, поступающему от .wav для формирования сигнала, посылаемого на выходной порт Mic пилота.

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

Конфигурация фильтра LMS для адаптивного подавления шума

В предыдущем разделе Создание акустической среды в Simulink была создана система, которая создала два выходных сигнала. Выходной сигнал порта Exterior Mic состоит из белого шума. Выходной сигнал порта Mic пилота состоит из цветного шума, добавляемого к сигналу от .wav файл. В этом разделе описывается создание адаптивного фильтра для удаления шума из микрофонного сигнала пилота. В этом разделе предполагается, что вы работаете с операционной системой Windows ®:

  1. Если модель, созданная в разделе Создание акустической среды в Simulink, не открыта на рабочем столе, можно открыть эквивалентную модель, введя

    ex_adapt1_audio

    в командной строке MATLAB.

  2. Из библиотеки фильтрации панели системных инструментов DSP, а затем из библиотеки адаптивных фильтров перетащите блок фильтра LMS в модель, содержащую подсистему акустической среды.

  3. Дважды щелкните на блоке фильтра LMS. Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Алгоритм = Normalized LMS

    • Длина фильтра = 40

    • Размер шага (mu) = 0.002

    • Коэффициент утечки (от 0 до 1) = 1

    Блок использует нормализованный алгоритм LMS для вычисления сорока коэффициентов фильтра. Установка для параметра Коэффициент утечки (0 - 1) значения 1 означает, что текущие значения коэффициентов фильтра зависят от начальных условий фильтра и всех предыдущих входных значений.

  4. Щелкните и перетащите следующие блоки в модель.

    БлокБиблиотекаКоличество

    Постоянный

    Simulink ®/Источники

    2

    Ручное переключение

    Одновременная маршрутизация/маршрутизация сигналов

    1

    Терминатор

    Симулинк/раковины

    1

    Субдискретизировать

    Сигнальные операции

    1

    Устройство записи аудиоустройств

    Сливы

    1

    Область применения водопада

    Сливы

    1

  5. Соедините блоки таким образом, чтобы модель напоминала следующий рисунок.

  6. Дважды щелкните на блоке «Константа». Задайте для параметра Constant value значение 0 и нажмите кнопку ОК.

  7. Дважды щелкните блок Downsample. Задайте для параметра Downsample factor, K значение 32. Нажмите кнопку ОК.

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

  8. Дважды щелкните на блоке «Область водопада». Откроется окно области видимости водопада.

  9. Нажмите кнопку Параметры области.

    Откроется окно Параметры (Parameters).

  10. Перейдите на вкладку Оси (Axes). Установите следующие параметры:

    • Y Мин = -0.188

    • Y Max = 0.179

  11. Перейдите на вкладку История данных. Установите следующие параметры:

    • Трассировка журнала = 50

    • Регистрация данных = All visible

  12. Закройте окно Параметры, оставив все остальные параметры по умолчанию.

    Для просмотра графиков может потребоваться скорректировать оси в окне области видимости водопада.

  13. Нажмите кнопку «Вписать для просмотра» в окне области видимости «Водопад». Затем щелкните и перетащите оси так, чтобы они напоминали следующий рисунок.

  14. На вкладке Моделирование (Modeling) щелкните Параметры модели (Model Settings). На панели Решатель (Solver) задайте параметры следующим образом и нажмите кнопку ОК.

    • Время остановки = inf

    • Тип = Fixed-step

    • Решатель = Discrete (no continuous states)

  15. Запустите моделирование и просмотрите результаты в окне области «Водопад». Можно также прослушать моделирование с помощью динамиков, подключенных к компьютеру.

  16. Поэкспериментируйте с изменением ручного переключателя таким образом, чтобы вход в подсистему акустической среды был равен 0 или 1.

    Когда значение равно 0, гауссов шум в сигнале фильтруется фильтром нижних частот. Когда значение равно 1, шум фильтруется полосовым фильтром. Адаптивный фильтр может удалить шум в обоих случаях.

Создана модель, способная к адаптивному шумоподавлению. Адаптивный фильтр в модели способен отфильтровывать низкочастотный шум и шум в диапазоне частот. В следующем разделе, «Изменение параметров адаптивного фильтра во время моделирования модели», выполняется изменение блока фильтра LMS и его параметров во время моделирования.

Изменение параметров адаптивного фильтра во время моделирования модели

В предыдущем разделе, Конфигурация фильтра LMS для адаптивного подавления шума, вы создали адаптивный фильтр и использовали его для удаления шума, генерируемого подсистемой акустической среды. В этом разделе рассматривается изменение адаптивного фильтра и настройка его параметров во время моделирования. В этом разделе предполагается, что вы работаете с операционной системой Windows:

  1. Если модель, созданная в разделе Создание акустической среды в Simulink, не открыта на рабочем столе, можно открыть эквивалентную модель, введя

    ex_adapt2_audio 

    в командной строке MATLAB.

  2. Дважды щелкните на блоке фильтра LMS. Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Укажите размер шага через = Input port

    • Начальное значение веса фильтра = 0

    • Установите флажок Adapt port (Адаптировать порт).

    • Сброс порта = Non-zero sample

    Диалоговое окно «Block Parameters: LMS Filter» теперь должно выглядеть аналогично следующему рисунку.

    Порты Step-size, Adapt и Reset отображаются в блоке LMS Filter.

  3. Щелкните и перетащите следующие блоки в модель.

    БлокБиблиотекаКоличество

    Постоянный

    Симулинк/источники

    6

    Ручное переключение

    Одновременная маршрутизация/маршрутизация сигналов

    3

  4. Подключите блоки, как показано на следующем рисунке.

  5. Дважды щелкните на блоке Constant2. Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Постоянное значение = 0.002

    • Установите флажок Интерпретировать векторные параметры как 1-D.

    • Время выборки (-1 для унаследованных) = inf

    • Режим типа выходных данных = Inherit via back propagation

  6. Дважды щелкните на блоке Constant3. Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Постоянное значение = 0.04

    • Установите флажок Интерпретировать векторные параметры как 1-D.

    • Время выборки (-1 для унаследованных) = inf

    • Режим типа выходных данных = Inherit via back propagation

  7. Дважды щелкните на блоке Constant4. Задайте для параметра Constant value значение 0 и нажмите кнопку ОК.

  8. Дважды щелкните на блоке Constant6. Задайте для параметра Constant value значение 0 и нажмите кнопку ОК.

  9. На вкладке Debug выберите Information Overlays > Nonscalar Signals and Signal Dimensions.

  10. Дважды щелкните Manual Switch2, чтобы ввести значение 1 для порта Adapt.

  11. Запустите моделирование и просмотрите результаты в окне области «Водопад». Можно также прослушать моделирование с помощью динамиков, подключенных к компьютеру.

  12. Дважды щелкните блок ручного переключения, чтобы ввести в подсистему акустической среды значение 1. Затем дважды щелкните Manual Switch2, чтобы ввести значение 0 для порта Adapt.

    Веса фильтров, отображаемые в окне области действия Waterfall, остаются постоянными. Если вход порта Adapt равен 0, веса фильтра не обновляются.

  13. Дважды щелкните Manual Switch2, чтобы ввести значение 1 для порта Adapt.

    Блок фильтра LMS обновляет коэффициенты.

  14. Подключите блок ручной Switch1 к блоку константы, который представляет 0,002. Затем измените входные данные в подсистему акустической среды. Повторите эту процедуру с блоком Константа, который представляет 0,04.

    Можно видеть, что система достигает устойчивого состояния быстрее, когда размер шага больше.

  15. Дважды щелкните на блоке Manual Switch3, чтобы ввести в порт сброса значение 1.

    Блок сбрасывает веса фильтра до их начальных значений. В диалоговом окне «Параметры блока: Фильтр LMS» в списке «Сброс порта» выберите Non-zero sample. Это означает, что любой ненулевой вход порта сброса инициирует операцию сброса.

Теперь вы экспериментировали с адаптивным шумоподавлением с помощью блока LMS Filter. Вы скорректировали параметры адаптивного фильтра и просмотрели эффекты изменений во время работы модели.

Дополнительные сведения о адаптивных фильтрах см. на следующих страницах ссылок на блоки:

Ссылки

[1] Хейс, Монсон Х., Статистическая цифровая обработка и моделирование сигналов. Хобокен, Нью-Джерси: John Wiley & Sons, 1996, pp.493-552.

[2] Хайкин, Саймон, теория адаптивных фильтров. Река Верхнее Седло, Нью-Джерси: Прентис-Холл, Инк., 1996.

Связанные темы