Этот пример показывает, как применить адаптивные фильтры к удалению шума с помощью адаптивного шумоподавления. В примере используется пользовательский интерфейс (UI), который можно запустить, введя команду adaptiveNoiseCancellationExampleApp
. Для получения дополнительной информации смотрите 'Пример архитектуры' ниже.
При адаптивном шумоподавлении измеренный сигнал d (n) содержит два сигнала: - неизвестный сигнал интереса v (n) - сигнал интерференции u (n) Цель состоит в том, чтобы удалить сигнал интерференции из измеренного сигнала с помощью опорного сигнала x (n), который сильно коррелирует с сигналом интерференции. Рассмотренным здесь примером является применение адаптивных фильтров к электрокардиографии плода, в которой материнский сигнал сердцебиения адаптивно удаляется из сигнала датчика сердцебиения плода. Этот пример адаптирован из Widrow et al., «Adaptive noise canceling: Principles and applications», Proc. IEEE ®, vol. 63, no. 12, pp. 1692-1716, December 1975.
В этом примере мы моделируем формы электрокардиограммы как для матери, так и для плода. Мы используем частоту дискретизации 4000 Гц. Частота сердечных сокращений для этого сигнала составляет приблизительно 89 ударов в минуту, а пиковое напряжение сигнала составляет 3,5 милливольта.
Сердце плода бьется заметно быстрее, чем у его матери, со скоростью от 120 до 160 ударов в минуту. Амплитуда электрокардиограммы плода также намного слабее, чем у материнской электрокардиограммы. Пример создает электрокардиограммный сигнал, соответствующий частоте сердечных сокращений 139 ударов в минуту и пиковому напряжению 0,25 милливольт для симуляции сердцебиения плода.
Материнский электрокардиограммный сигнал получается из грудной клетки матери. Цель адаптивного шумоподавителя в этой задаче состоит в том, чтобы адаптивно удалить материнский сигнал сердцебиения из сигнала электрокардиограммы плода. Для выполнения этой задачи компенсатору требуется опорный сигнал, сгенерированная из материнской электрокардиограммы. Так же, как и сигнал электрокардиограммы плода, сигнал электрокардиограммы матери будет содержать некоторый аддитивный широкополосный шум.
Измеренный сигнал электрокардиограммы плода от брюшной полости матери обычно преобладает материнский сигнал сердцебиения, который распространяется от грудной полости к брюшной полости. Мы опишем этот путь распространения как линейный конечная импульсная характеристика с 10 рандомизированными коэффициентами. В сложение, мы добавим небольшое количество некоррелированного Гауссова шума, чтобы симулировать любые широкополосные источники шума в рамках измерения.
Адаптивный шумоподавитель может использовать большинство любых адаптивных процедур для выполнения своей задачи. Для простоты мы будем использовать адаптивный фильтр с наименьшим средним квадратом (LMS) с 15 коэффициентами и размером шага 0,00007. С этими настройками адаптивный шумоподавитель сходится достаточно хорошо через несколько секунд адаптации - достаточно разумного периода, чтобы ждать, учитывая это конкретное диагностическое приложение.
Выходной сигнал y (n) адаптивного фильтра содержит оцененный материнский сигнал сердцебиения, который не является интересующим конечным сигналом. То, что остается в сигнале ошибки e (n) после сходимости системы, является оценкой сигнала сердцебиения плода вместе с остаточным шумом измерения. Используя сигнал ошибки, можно оценить сердечный ритм плода.
Команда adaptiveNoiseCancellationExampleApp запускает пользовательский интерфейс, предназначенный для взаимодействия с симуляцией. Он также запускает временными возможностями, чтобы просмотреть измеренное сердцебиение плода, а также измеренное сердцебиение матери и извлеченное сердцебиение плода.
Используя MATLAB Coder, можно сгенерировать файл MEX для основного алгоритма обработки, выполнив команду HelperANCCodeGeneration. Можно использовать сгенерированный файл MEX, выполнив команду adaptiveNoiseCancellationExampleApp (true).