Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto 4
DETECCION DE SEÑALES
________________________________________
El Algoritmo de Pan-Tompkins para la detección del complejo QRS
Pan and Tompkins propusieron un algoritmo para la detección del complejo QRS en
tiempo real basado en el análisis de la pendiente, amplitud y anchura de los
complejos QRS. El algoritmo incluye una serie de filtros y métodos pasa bajas, pasa
altas, derivadas, operaciones al cuadrado, integración, umbral adaptativo, y
búsqueda de procedimientos. La figura 1 ilustra los pasos del algoritmo en forma
esquemática.
Figura 1. Diagrama de boques del algoritmo Pan Tompkins para la detección QRS
Proyecto
Fig 2. Resultado del algoritmo Pan Tompkins para los datos de ECG3.
Fig 3. Resultado del algoritmo Pan Tompkins para los datos de ECG4.
Fig 4. Resultado del algoritmo Pan Tompkins para los datos de ECG5.
Fig 5. Resultado del algoritmo Pan Tompkins para los datos de ECG6.
Estas diferencias podrían deberse al “delay” que se da por el filtrado de las señales,
por el método en sí, o por el ruido en las señales. Es por este tipo de errores que la
prueba de oro sigue siendo la inspección visual de las señales ECG.
ANEXO Codigo en Matlab
clear all
clc
load 'ECG3.dat'
load 'ECG4.dat'
load 'ECG5.dat'
load 'ECG6.dat'
fs=200;
ecg = ECG3;
t=[1:length(ecg)]/fs;
gr = 1;
figure (1)
subplot (5,1,1);
ecg = ecg/ max( abs(ecg));
plot(t,ecg);
ecg_h = filtfilt(a,b,ecg);
ecg_h = ecg_h/ max( abs(ecg_h));
subplot (5,1,2);
plot (t, ecg_h);
title ('ECG Filtrado');
%Derivative operator
h_d = [-1 -2 0 2 1]*(1/8);%1/8*fs
ecg_d = conv (ecg_h ,h_d);
ecg_d = ecg_d/max(ecg_d);
ecg_d([4001: 4004],:)=[]
subplot (5,1,3);
plot (t, ecg_d);
title ('ECG Derivado');
%elevar al cuadrado
ecg_s = ecg_d.^2;
subplot (5,1,4);
plot (t, ecg_s);
title ('ECG al Cuadrado');
%Integracion
ecg_i = conv(ecg_s ,ones(1 ,round(0.150*fs))/round(0.150*fs));
ecg_i([4001: 4029],:)=[]
subplot (5,1,5);
plot (t, ecg_i);
title ('ECG Integrado');
xlabel ('tiempo');
[qrs_amp_raw,qrs_i_raw,delay]=pan_tompkins(ecg,fs,gr)