Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El algoritmo desarrollado posee dos partes bien diferenciables, una de ellas es la de filtrado de la seal ECG, esta se basa en lo descrito en la umbralizacion, y la otra, es la etapa de deteccin de los picos de la seal filtrada. La deteccin puede realizarse con uno o dos canales. En el caso de utilizar dos canales se toma uno como principal y otro como alternativo, de forma que cuando la seal filtrada en el canal principal no es apta para la deteccin se pasa a buscar los picos en el canal alternativo.
det1 = detcoef(c,l,1); % matrix determinante=coefientes de detalle del nivel 1 det2 = detcoef(c,l,2); % matrix determinante=coefientes de detalle del nivel 2 det3 = detcoef(c,l,3); % matrix determinante=coefientes de detalle del nivel 3 det4 = detcoef(c,l,4); % matrix determinante=coefientes de detalle del nivel 4 det5 = detcoef(c,l,5); % matrix determinante=coefientes de detalle del nivel 5 det6 = detcoef(c,l,6); % matrix determinante=coefientes de detalle del nivel 6
d1d=wthresh(det1,'h',0.5); %umbralizacin det1 d2d=wthresh(det2,'h',0.5); %umbralizacin det2 d3d=wthresh(det3,'h',0.5); %umbralizacin det3 d4d=wthresh(det4,'h',0.5); %umbralizacin det4 %Caprox4=wthresh(Caprox4,'h',0.35); Figuras de los detalles
%Crear la figura objeto grfico %Definicin de las propiedades de objeto grafico %Crear ejes en los puntos (3,2,1)
plot(det1),xlabel('det1'),subplot(3,2,2),plot(det2),xlabel('det2'),subplot(3,2,3),plot(de t3),xlabel('det3') subplot(3,2,4),plot(det4),xlabel('det4'),subplot(3,2,5),plot(det5),xlabel('det5'),subplot (3,2,6),plot(det6),xlabel('det6') Umbralizacion coeficiente de detalle El umbral tambin se actualiza luego de la deteccin de cada pico con la siguiente formula: umbral = (umbral + altura pico/4)/2)) Este umbral luego se compara con el umbral mnimo calculado para el minuto en el cual se esta detectando, no pudiendo ser menor que el umbral mnimo fijado caso en que se toma el umbral igual al umbral mnimo. El umbral mnimo en cambio se actualiza una vez por minuto, como un porcentaje de la estimacin de la altura promedio de los picos que se detectarn en el minuto siguiente y para ello se toman en cuenta las siguientes variables:
rea de la seal en el minuto anterior Nmero de picos detectados y altura de estos en el minuto anterior rea de la seal en el minuto a estimar el umbral.
Conteo de picos
El algoritmo de deteccin de picos funcionando en rgimen consta de las siguientes etapas: a) Bsqueda del primer punto de la seal filtrada que supere el umbral de deteccin b) Bsqueda del mximo absoluto en una ventana de la seal filtrada c) Determinacin del punto R en la seal ECG d) Actualizacin del salto e) Actualizacin del umbral a) Bsqueda del primer punto de la seal filtrada que supere al umbral de deteccin Una vez detectado un pico R en la seal filtrada se actualizan las variables salto y salto mnimo. Ambas indican el nmero de muestras que debern adicionarse al ndice de la muestra R para encontrar el punto de comienzo de bsqueda del nuevo pico. Luego se realiza el salto (Figura 4.11) y se comienza a buscar cual es el prximo punto en que la seal filtrada supera el umbral de deteccin. Esta bsqueda no se realiza punto por punto ya que tendra un costo computacional muy alto, por lo que se opt por realizar la comparacin cada 16ms (4 muestras a 250 Hz).
Cuando se detecta el punto cuya seal filtrada supera el umbral, se pasa al punto b). En caso de que no se encuentre ese punto dentro de un intervalo de una vez y media el promedio de los ltimos ocho intervalos RR (RRpromedio) el algoritmo entra en fase de rebsqueda (searchback), suponiendo que se ha perdido un pico, por lo que vuelve a comenzar la bsqueda pero realiza dos cambios fundamentales: toma como salto el salto mnimo, ya que es posible que el uso del salto promedio (detallado en el punto d) haya sido excesivo para el tipo de arritmia que presenta la seal. disminuye el umbral de deteccin al umbral mnimo para de poder encontrar QRSs de baja energa.
%un condicional
k=1; dat=0; QRS=0 while k<=length(y1)-1 if y1(k)>0 if dat==0 QRS=QRS+1 dat=1; end end k=k+1; if y1(k)==0 dat=0; end end QRS plot (ecg) hold on plot (y1,'r')
%declaramos variables %iniciamos un while %control de flujo %%control de flujo %%variable %variable %Terminamos el if %Terminamos el if
%graficar (ecg) %Conserve grfico actual al aadir nuevos grficos %graficar y1 en color rojo.