Алгоритм Пана–Томпкинса [1] обычно используется для обнаружения комплексов QRS в электрокардиографических сигналах ( ЭКГ ). Комплекс QRS представляет собой деполяризацию желудочков и главный спайк, видимый в сигнале ЭКГ (см. рисунок). Эта особенность делает его особенно подходящим для измерения частоты сердечных сокращений , первого способа оценки состояния здоровья сердца. В первом выводе Эйнтховена физиологического сердца комплекс QRS состоит из нисходящего отклонения (зубец Q), высокого восходящего отклонения (зубец R) и конечного нисходящего отклонения (зубец S).
Алгоритм Пана–Томпкинса применяет ряд фильтров для выделения частотного содержания этой быстрой деполяризации сердца и удаляет фоновый шум . Затем он возводит сигнал в квадрат для усиления вклада QRS, что упрощает идентификацию комплекса QRS. Наконец, он применяет адаптивные пороги для обнаружения пиков отфильтрованного сигнала. Алгоритм был предложен Джиапу Паном и Уиллисом Дж. Томпкинсом в 1985 году в журнале IEEE Transactions on Biomedical Engineering. [1] Эффективность метода была протестирована на аннотированной базе данных аритмии (MIT/BIH [2] [3] ) и оценена также в присутствии шума. Пан и Томпкинс сообщили, что 99,3 процента комплексов QRS были обнаружены правильно. [1]
В качестве первого шага применяется полосовой фильтр для увеличения отношения сигнал/шум . Предлагается полоса пропускания фильтра 5–15 Гц для максимизации вклада QRS и снижения мышечного шума, дрейфа базовой линии, помех от линий электропередач и частотного содержания зубцов P / T. [1] В оригинальном алгоритме, предложенном в 1985 году, полосовой фильтр был получен с помощью фильтра нижних частот и фильтра верхних частот в каскаде для снижения вычислительных затрат и обеспечения обнаружения в реальном времени, при этом обеспечивая полосу пропускания 3 дБ в диапазоне частот 5–12 Гц, что достаточно близко к цели проектирования.
Для сигнала, дискретизированного с частотой 200 Гц, Пан и Томпкинс в обновленной версии своей статьи предложили фильтры со следующими передаточными функциями : [4]
В качестве третьего шага применяется производный фильтр для предоставления информации о наклоне QRS. Для сигнала, дискретизированного на частоте 200 Гц, Пан и Томпкинс предложили следующую передаточную функцию : [4]
для 5-точечного производного фильтра с усилением 0,1 и задержкой обработки 2 отсчета.
Отфильтрованный сигнал возводится в квадрат для усиления доминирующих пиков (QRS) и снижения вероятности ошибочного распознавания зубца T как пика R. Затем применяется фильтр скользящего среднего для предоставления информации о длительности комплекса QRS. Количество выборок для усреднения выбирается таким образом, чтобы усреднение выполнялось в окнах по 150 мс. [1] Полученный таким образом сигнал называется интегрированным сигналом.
Для обнаружения комплекса QRS находят локальные пики интегрированного сигнала. Пик определяется как точка, в которой сигнал меняет направление (с возрастающего направления на убывающее). После каждого пика пик не может быть обнаружен в течение следующих 200 мс (т. е. времени блокировки). Это физиологическое ограничение из-за рефрактерного периода , в течение которого деполяризация желудочков не может произойти даже при наличии стимула. [1]
Каждая реперная метка рассматривается как потенциальный QRS. Чтобы уменьшить вероятность ошибочного выбора пика шума в качестве QRS, амплитуда каждого пика сравнивается с порогом ( Порог I ), который учитывает имеющуюся информацию об уже обнаруженном QRS и уровне шума:
где NoiseLevel I — текущая оценка уровня шума в интегрированном сигнале, а SignalLevel I — текущая оценка уровня сигнала в интегрированном сигнале.
Порог автоматически обновляется после обнаружения нового пика на основе его классификации как пика сигнала или шума:
(если ПИК I является пиком сигнала)
(если ПИК I — шумовой пик)
где ПИК I — новый пик, обнаруженный в интегрированном сигнале.
В начале обнаружения QRS требуется 2-секундная фаза обучения для инициализации SignalLevel I и NoiseLevel I в процентах от максимальной и средней амплитуды интегрированного сигнала соответственно.
Если новый PEAK I находится ниже порога I , уровень шума обновляется. Если PEAK I находится выше порога I , алгоритм выполняет дополнительную проверку перед подтверждением пика как истинного QRS, принимая во внимание информацию, предоставленную полосовым фильтром сигнала.
В отфильтрованном сигнале ищется пик, соответствующий пику, оцененному на интегрированном сигнале, и сравнивается с порогом, рассчитанным аналогично предыдущему шагу:
(если PEAK F — пик сигнала)
(если PEAK F — шумовой пик)
где последняя буква F обозначает отфильтрованный сигнал.
Алгоритм учитывает возможность установки слишком высоких значений ThresholdI I и ThresholdI F. Проверка выполняется для непрерывной оценки интервалов RR (а именно временного интервала между двумя последовательными пиками QRS) для решения этой проблемы. Средний RR вычисляется двумя способами для учета как регулярного, так и нерегулярного сердечного ритма. В первом методе RRaverage1 вычисляется как среднее значение последних интервалов RR. Во втором методе RRaverage2 вычисляется как среднее значение последних интервалов RR, которые попали в пределы, указанные как:
Если QRS не обнаружен в окне 166% от среднего RR ( RRaverage1 или RRaverage2 , если сердечный ритм регулярный или нерегулярный, соответственно) , алгоритм добавляет максимальный пик в окне как потенциальный QRS и классифицирует его с учетом половины значений порогов (как ThresholdI I, так и ThresholdI F ). Эта проверка реализована, поскольку временное расстояние между двумя последовательными ударами не может физиологически изменяться быстрее, чем это.
Алгоритм в частности учитывает возможность ложного обнаружения зубцов T. Если потенциальный QRS падает до окна 160 мс после рефрактерного периода от последнего правильно обнаруженного комплекса QRS, алгоритм оценивает, может ли это быть зубцом T с особенно высокой амплитудой. В этом случае его наклон сравнивается с наклоном предшествующего комплекса QRS. Если наклон меньше половины предыдущего, текущий QRS распознается как зубец T и отбрасывается, а также обновляется NoiseLevel ( как в отфильтрованном сигнале, так и в интегрированном сигнале).
После успешного распознавания комплекса QRS частота сердечных сокращений вычисляется как функция расстояния в секундах между двумя последовательными комплексами QRS (или пиками R):
где bpm означает удары в минуту. HR часто используется для вычисления вариабельности сердечного ритма (HRV) — меры вариабельности временного интервала между ударами сердца. HRV часто используется в клинической области [6] для диагностики и мониторинга патологических состояний и их лечения, а также в исследованиях аффективных вычислений для изучения новых методов оценки эмоционального состояния людей. [7]