Параметрический метод компенсации трендов электрокардиограммы в реальном времени
29.10.2012
А.В. Крамаренко, Ю.А. Крамаренко, И.М. Гафтонюк
Несмотря на то, что после прочтения глянцевых рекламных проспектов различных фирм принято считать, что никаких проблем при регистрации ЭКГ не существует, в суровой практике постсоветских (и не только) лечебных учреждений где-то, кое-где, у нас порой, тренды имеют место быть. Особенно при холтеровских исследованиях. И они немало затрудняют врачебный анализ. Что же касается радиомониторинговых систем и прикроватных мониторов, то для них тренды особенно неприятны, т.к. анализ идет в реальном времени по определению. Тем более, что оператор реагирует на то, что видит на экране здесь и сейчас. А когда кривые разъехались по экрану, или, что еще хуже, дошли до его границ, – ситуация получается довольно неприятная.
Причиной возникновения трендов электрокардиограммы могут быть как сами электроды, так и контакт электрода с соединительным кабелем. Теоретически, при качественном современном электроде и нормальном состоянии контакта, трендов не должно быть. Однако эти условия крайне редко выполняются при реальной практической эксплуатации приборов.
Необходимо учитывать, что пользователи:
Никогда не проверяют сопротивление электрода после установки его на тело.
Никогда не списывают электроды с просроченной годностью.
Никогда (до полного отказа) не меняют соединительные кабели.
Никогда не учитывают тип и особенности электрода – они просто не знают, что существуют электроды разных типов (для длительной и кратковременной записи и т.п.).
Опаснее «дремучих» только «продвинутые» пользователи, которые очищают кожу спиртом перед установкой электрода вопреки прямому запрету производителя (они его не читали) или самостоятельно перепаивают поврежденные электродные кабели. Однако, всякого рода упреки в адрес пользователей бесполезны, это объективная реальность, с которой постоянно сталкиваются разработчики и производители аппаратуры.
Итак, причиной трендов при записи ЭКГ может быть переменное сопротивление электрода, дрейф поляризационного потенциала и третье состояние соединителя электрод-кабель. Учтем также, что в результате указанных причин могут возникать не только плавные тренды, но и броски напряжения, сопровождающиеся последующим трендом.
При рассмотрении вопроса компенсации трендов нужно учесть величину помехи: если она превышает динамический диапазон первого каскада электрокардиографа, то решить задачу можно только устранением причины помехи, т.е. привести электроды и кабель в нормальное состояние. Но необходимость этих действий вызывает труднообъяснимое раздражение у большинства пользователей. Они скорее объявят аппаратуру «негодящей», будут пытаться выловить фрагменты ЭКГ из помех, но никогда не пойдут на обучение и контроль среднего медперсонала, который в большинстве случаев и ответственен за безобразное качество записи. Впрочем, так было всегда: выражение «Закон Мэрфи», ставшее в Америке популярной поговоркой, появилось в 1949 году, когда исследовались причины аварий самолетов. Капитан Мэрфи, оценивая работу техников одной из лабораторий, мрачно утверждал, что если можно сделать что-то неправильно, то эти техники непременно только так и сделают.
Если же величина помехи меньше критической, и динамический диапазон первого каскада «не выбран», т.е. «рули на упор не стали», то возникший тренд можно попытаться скомпенсировать. Понятно, что с броском, в отличие от тренда, сделать ничего не удастся, но вернуть изоэлектрическую линию ЭКГ на место можно и нужно, причем, чем быстрее, тем лучше.
Т.о. борьба с возникшим трендом должна начаться со второго каскада усилителя, т.е. конденсатор дифференцирующей RC цепи между первым и вторым каскадами, имеющей постоянную времени более 3.2 сек. должен быть разряжен. Этот метод использовался в «ручном» варианте еще на самых старых электрокардиографах (кнопка называлась «успокоитель»). Однако ручной вариант в холтеровском регистраторе по понятным причинам неприемлем, и мгновенный полный разряд конденсатора также не самое лучшее решение вследствие неизбежного возникновения дополнительного броска на кривой.
Единственным выходом будет параметрическое устройство, которое при обнаружении недопустимого смещения на выходе первого каскада снижает постоянную времени RC цепи. Причем закон изменения постоянной времени не имеет существенного значения, достаточно подключать дополнительный резистор, который снизит τ цепи в четыре-восемь раз. Т.е. при броске или большом тренде (модуль которого превышает 1/3 динамического диапазона) управляющий процессор через аналоговый ключ подключает дополнительный резистор, а он в свою очередь, уменьшает постоянную времени. В результате изолиния быстро возвращается на свое место, дополнительного броска не возникает, а электрокардиограмма при этом остается пригодной для анализа и сам процесс интуитивно понятен оператору.
Описанное решение просто реализуется и не требует больших вычислительных ресурсов, однако в ряде случаев такой обработки сигнала оказывается недостаточно. Если на ЭКГ будут наблюдаться тренды, но их амплитуда будет меньше по модулю 1/3 динамического диапазона, система подавления не включится, и, как следствие, тренд устранен не будет. Такие тренды могут возникать, например, при движении пациента с неверно наложенными электродами. И для полноценной компенсации трендов необходимо вместе с описанным алгоритмом, реализуемым аппаратно, использовать дополнительную программную обработку сигнала.
Программный компенсатор трендов должен удовлетворять следующим требованиям. При отсутствии бросков и низкочастотных (менее 2 Гц) колебаний постоянная времени должна быть не менее 3.2 с., а при возникновении броска или тренда он должен быть подавлен так, чтобы было повреждено наименьшее число QRS комплексов. То есть, чтобы не затруднять анализ ЭКГ, тренд или бросок должен быть подавлен за наименьшее время.
Авторами статьи был предложен следующий алгоритм обработки сигнала (см. Рис. 1).
Исходный сигнал, имеющий броски или тренды, поступает на ВЧ фильтр и на детектор постоянной составляющей, который представляет собой обычный КИХ фильтр, имеющий все коэффициенты равные 1, т.е. выполняющий усреднение за время 1.0 с.
Полученный после усреднения сигнал берется по модулю и используется для определения в каждый момент времени частоты среза ВЧ фильтра. При нулевой постоянной составляющей частота среза равна 0.01 Гц, при постоянной составляющей величиной 3 мВ и более - 2 Гц (см. Рис. 2).
Рис. 2. Зависимость частоты среза ВЧ фильтра от модуля постоянной составляющей.
В качестве ВЧ фильтра используется фильтр Бесселя первого порядка.
На Рис. 3 представлена зависимость АЧХ описываемого параметрического фильтра от модуля постоянной составляющей входного сигнала.
Таким образом, предложенный фильтр удовлетворяет всем поставленным требованиям. При отсутствии трендов обеспечивается постоянная времени не менее 3.2 с, а при наличии трендов частота среза ВЧ фильтра увеличивается, компенсируя возникшие броски или низкочастотные колебания.
Примеры работы фильтра на реальных электрокардиограммах
Рис. 4. Пример обработки ЭКГ с искусственно добавленным броском. На обоих графиках представлен сигнал отведения II.
Как видно из Рис. 4., бросок был успешно подавлен с минимальным количеством возникших артефактов, а изолиния возвращена на место за минимальное время.
Ниже представлена та же ЭКГ с указанием наблюдаемой дорожки (области, которую видит пользователь при регистрации).
Рис. 5. Исходный фрагмент ЭКГ с указанием видимой области.
В проиллюстрированном случае при возникновении броска сигнал ЭКГ будет находиться за пределами наблюдаемой полосы в течение еще десятка секунд, что может существенно затруднить анализ.
Рис. 6. Тот же фрагмент ЭКГ с выполненной параметрической фильтрацией.
В случае применения параметрического фильтра, часть ЭКГ, которая раньше находилась вне наблюдаемого окна, теперь доступна для анализа, а поврежденным оказался лишь один QRS комплекс. При этом последние три сокращения записаны с постоянной времени не менее 3 секунд.
Параметрический фильтр может использоваться также для подавления малых трендов, что существенно улучшает качество восприятия электрокардиограммы и упрощает ее анализ.
Рис. 7. Пример фильтрации фрагмента электрокардиограммы с искусственно добавленным трендом.
При регистрации электрокардиограммы в реальных условиях (особенно в случаях с некачественно установленными электродами) возникающие броски превышают величину динамического диапазона регистрирующего оборудования. В ситуации, проиллюстрированной ниже, бросок, вызванный обрывом электродов, был подавлен программной системой компенсации, но поскольку последующий тренд выходил за динамический диапазон электрокардиографа, программной системы подавления оказалось недостаточно, и часть данных была потеряна.
Рис. 8. Результат фильтрации фрагмента ЭКГ, соответствующего моменту обрыва электрода. Величина броска превышала динамический диапазон прибора, поэтому после артефакта видно отсутствие ЭКГ сигнала в течение нескольких секунд.
На приведенном фрагменте электрокардиограммы в момент обрыва электрода была также автоматически задействована аппаратная система компенсации трендов, в результате работы которой количество потерянных отсчетов сигнала было существенно уменьшено.
В процессе эксплуатации электрокардиографа со встроенным параметрическим фильтром было выполнено много записей, на которых сопротивление электродов достигало 1-2 МОм. Ниже приведено несколько фрагментов электрокардиограмм пациентов, записанных при выполнении физических упражнений, что видно по наличию мышечных артефактов.
Рис. 9. Два фрагмента ЭКГ с мышечными артефактами.
Активные движения пациентов вызывают помимо мышечных артефактов большие тренды, которые были подавлены программной системой компенсации, в результате чего сигнал ЭКГ не выходит за пределы видимой полосы и пригоден для анализа.
Рис. 10. Еще одна запись, полученная при физических нагрузках пациента. Сопротивление электродов было недопустимо высоко (порядка 0.5 МОм). Тем не менее, существенные тренды отсутствуют (они подавлены), ЭКГ пригодна для анализа, автоматический детектор сокращений(показано красными треугольниками сверху) работал корректно.
Выводы
Авторы считают, что параметрическая фильтрация бросков и трендов электрокардиограммы существенно облегчает и упрощает ее анализ. Нам представляется, что никакой другой метод при сравнимых вычислительных затратах такого результата обеспечить не может.
Приложение
AntitrendFilter.zip – архив с исходным кодом одной из реализаций описанного параметрического фильтра на С++. Использует библиотеку DspFilter.
Боюсь в таком виде работать не будет. На вход детектора постоянной состовляющей, после скоачка все время будет поступатьв величина смещения базовой линии, что вызовет уменьшение постоянной времени, что для ST смерти подобно. Ну и фильтры первого порядка не могут адекватно отработать ситуацию с монотонно меняющимся уровнем нуля - они асимптотически к нему приближаются (в стандарте для аналоговых регистраторов это крутёлкой тонкой настройки решается), и при некоторых граничных скоростях просто не успевают(но вы и так это знаете).
Я могу предложить такой вариант:
Фильтр второго порядка. Сигнал детектора постоянной составляющей берется с его выхода.
Рисунок 3 вообще ни в какие ворота. Не уверен, что такая схема пройдет тесты 60601-2 для ступеньки 3мВ/100мс в любом варианте. До 5 мВ частота среза должна быть фиксирована, а у вас явная нелинейность.
Комментарии
N.D.
31.07.2020 - 17:54
Постоянная ссылка (Permalink)
Боюсь в таком виде работать не будет. На вход детектора постоянной состовляющей, после скоачка все время будет поступатьв величина смещения базовой линии, что вызовет уменьшение постоянной времени, что для ST смерти подобно. Ну и фильтры первого порядка не могут адекватно отработать ситуацию с монотонно меняющимся уровнем нуля - они асимптотически к нему приближаются (в стандарте для аналоговых регистраторов это крутёлкой тонкой настройки решается), и при некоторых граничных скоростях просто не успевают(но вы и так это знаете).
Я могу предложить такой вариант:
Фильтр второго порядка. Сигнал детектора постоянной составляющей берется с его выхода.
Рисунок 3 вообще ни в какие ворота. Не уверен, что такая схема пройдет тесты 60601-2 для ступеньки 3мВ/100мс в любом варианте. До 5 мВ частота среза должна быть фиксирована, а у вас явная нелинейность.
N.D.
31.07.2020 - 18:02
Постоянная ссылка (Permalink)
Не верно написал. Сигнал для детектора берется с выхода фильтра. Нам же сигнал разсогласования нужен?