В этом примере показано, как обнаружить комплекс QRS электрокардиограммы сигнал (ECG) в режиме реального времени. Основанный на модели проект используется, чтобы помочь в разработке, тестировании и развертывании алгоритма.
Электрокардиограмма (ECG) является записью потенциалов поверхности тела, сгенерированных электрическим действием основы. Клиницисты могут оценить сердечное условие индивидуума и полное здоровье от записи ECG и выполнить дальнейший диагноз.
Нормальная форма волны ECG проиллюстрирована в следующем рисунке [1]. Из-за физиологической изменчивости составных типов QRS и различных типов шума, существующего в действительном сигнале ECG, это сложно, чтобы точно обнаружить комплекс QRS.
Источники шума, которые повреждают необработанные сигналы ECG, включают:
Базовое блуждание
Интерференция линии электропередачи (50 Гц или 60 Гц)
Электромиографический (EMG) или шум мышц
Артефакты из-за движения электрода
Шум контакта электрода
Сигналы ECG, используемые в разработке и тестировании биомедицинских алгоритмов обработки сигналов, в основном из трех источников: 1) базы данных Biomedical (например, База данных Аритмии MIT-BIH) или другие записанные заранее данные о ECG; 2) Средство моделирования ECG; 3) Сбор данных ECG в реальном времени.
В этом примере используются следующие записанные заранее и симулированные сигналы ECG. Сигналы у всех есть частоты дискретизации 360 Гц.
один набор записанных действительных данных о ECG, произведенных от здорового волонтера со средним сердечным ритмом 82 ударов в минуту (bpm). Эти данные о ECG были предварительно отфильтрованы и усилены аналоговым фронтэндом прежде, чем накормить им ADC на 12 битов.
четыре набора синтезируемого ECG сигнализируют с различным средним сердечным ритмом в пределах от 45 bpm к 220 bpm. ECGSYN используется, чтобы сгенерировать синтетические сигналы ECG в MATLAB.
Вот настройки для генерации синтезируемых данных о ECG:
Частота дискретизации: 360 Гц;
Аддитивный равномерно распределенный шум измерения: 0,005 мВ;
Стандартное отклонение сердечного ритма: 1 bpm.
Алгоритм обнаружения QRS в реальном времени, какие ссылки [1, лаборатория одна], [3] и [4], разрабатываются в Simulink учитывая, что частота дискретизации сигнала входа ECG всегда - 200 Гц (или 200 выборок/с). Однако записанные действительные данные о ECG могут иметь различные частоты дискретизации в пределах от 200 Гц к 1 000 Гц, например, 360 Гц в этом примере. Чтобы соединить различные частоты дискретизации, блок конвертера частоты дискретизации используется, чтобы преобразовать частоту дискретизации в 200 Гц. Буферный блок вставляется, чтобы гарантировать, что длина сигнала входа ECG является кратной расчетному фактору децимации блока конвертера частоты дискретизации.
Сигнал ECG отфильтрован, чтобы сгенерировать оконную оценку энергии в диапазоне частот QRS. Операция фильтрации имеет эти шаги:
1. КИХ-Полосовой фильтр с полосой передачи от 5 до 26 Гц
2. Взятие производной полосы пропускания отфильтрованный сигнал
3. Принимая абсолютное значение сигнала
4. Усреднение абсолютного значения более чем окно на 80 мс
Блок обнаружения QRS обнаруживает peaks отфильтрованного сигнала ECG в режиме реального времени. Порог обнаружения автоматически настроен на основе средней оценки среднего пика QRS и среднего шумового пика. Обнаруженный пик классифицируется как комплекс QRS или как шум, в зависимости от того, является ли это выше порога.
Следующие правила обнаружения QRS ссылаются на основанный на PIC детектор QRS, реализованный в [4].
Правило 1. Проигнорируйте весь peaks, который предшествует или следует за большим peaks меньше чем на 196 мс (306bpm).
Правило 2. Если пик происходит, проверяйте, чтобы видеть, содержит ли необработанный сигнал и положительные и отрицательные наклоны. Если это правда, сообщите о находимом пике. В противном случае пик представляет базовый сдвиг.
Правило 3. Если пик является более крупным, чем порог обнаружения, классифицируйте его как комплекс QRS. В противном случае классифицируйте его как шум.
Правило 4. Если никакой QRS не был обнаружен в 1,5 R-to-R интервалах, но существует пик, который был более крупным, чем половина порога обнаружения, и что пик следовал за предыдущим обнаружением по крайней мере на 360 мс, классифицируйте тот пик как комплекс QRS.
1. Откройте модель в качестве примера.
2. Измените свою текущую папку в MATLAB® к перезаписываемой папке.
3. На полосе инструмента модели нажмите Run, чтобы запустить симуляцию. Наблюдайте отображение HeartRate и сырые данные и отфильтрованный сигнал ECG в осциллографе, который также иллюстрирует обновление peaks, порога и оценил средний сердечный ритм.
4. Откройте диалоговое окно блока Селектора Сигнала ECG. Выберите средний сердечный ритм сигнала ECG в выпадающем меню. Нажмите Apply и наблюдайте результаты обнаружения в реальном времени в отображении HeartRate и осциллографах.
5. Нажмите Stop, чтобы закончить симуляцию.
6. После выбора целевого компьютера можно сгенерировать код от подсистемы ECGSignalProcessing и развернуть его в цель.
[2] ECGSYN: реалистический генератор формы волны ECG
[3] Дж. Пэн и В. Томпкинс, алгоритм обнаружения QRS в реальном времени, транзакции IEEE на биоинженерии, 32 (3): 230-236, март 1985
[4] Патрик С. Гамильтон, ограниченный EP: аналитическое программное обеспечение ECG с открытым исходным кодом, 2002