Está en la página 1de 6

PROCESAMIENTO DE SEALES MARVIN JAVIER NIETO 2013120028 Algoritmo de Deteccin Desarrollado

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.

Examen de wavelet deteccin de complejos QRS

load('ecg_examen.mat'); %cargar datos de la seal x=ecg; %asignar a x ecg

Deteccion complejos QRS

[c,l] = wavedec(x,6,'db4'); %wavelet decomposicin

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

f1=figure(2); set(f1,'color',[0.4 0.3 0.3]) subplot(3,2,1)

%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.

d3d=wthresh(det3,'h',0.05); %umbralizacin f2=figure(3); %crear la figura de objeto

set(f2,'color',[0.4 0.3 0.3]),subplot(2,1,1),plot(d3d),xlabel('umbralizacion det3')

c1=zeros(size(c)); %Crea una matriz de ceros con un tamao c asignarla a c1 c1(l(1)+l(2)+l(3)+l(4)+1:l(1)+l(2)+l(3)+l(4)+l(5))=d3d;

ecg_rec=waverec(c1,l,'db4'); %wavelet decomposicin asignarla a ecg_rec subplot(2,1,2),plot(ecg_rec),xlabel('seal reconstruida')

Conteo de picos

Algoritmo de deteccin 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.

h=20 for i=h/2:length(ecg_rec)-h/2; %Iniciamos un for de h=20

y(i)=max(ecg_rec(i-h/2+1:h/2+i)); % end % fin del for

for i=1:length(y) if y(i)>=0.20*max(y) y1(i)=max(ecg);

%Iniciamos un for de i=1 %control de flujo

else y1(i)=0; end end plot (y1);

%un condicional

%Terminamos el if %Terminamos el for

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

%control de flujo de y1 %%variable %Terminamos el if %Terminamos el while

%graficar (ecg) %Conserve grfico actual al aadir nuevos grficos %graficar y1 en color rojo.

También podría gustarte