Адаптивное шумоподавление (ANC), применяемое к электрокардиографии плода

Этот пример показывает, как применить адаптивные фильтры к удалению шума с помощью адаптивного шумоподавления. В примере используется пользовательский интерфейс (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 запускает пользовательский интерфейс, предназначенный для взаимодействия с симуляцией. Он также запускает временными возможностями, чтобы просмотреть измеренное сердцебиение плода, а также измеренное сердцебиение матери и извлеченное сердцебиение плода.

Использование сгенерированного файла MEX

Используя MATLAB Coder, можно сгенерировать файл MEX для основного алгоритма обработки, выполнив команду HelperANCCodeGeneration. Можно использовать сгенерированный файл MEX, выполнив команду adaptiveNoiseCancellationExampleApp (true).