Hola tengo un problemita, estoy tratando de hacer un cardiotacograma en matlab
Tod funciona según yo perfecto, solo que tengo un problema, al final tengo que detectar las ondas R unicamente así que una vez filtrada mi señal ya solo detecto eso, despues busco los indices en donde ya supera un voltaje de umbral y haciendo esto elimino los indices que se "repiten" es decir que detecta la subida y la bajada y para eliminar errores he visto si la diferencia entre esos dos numeros es par e impar y arreglo los indices para que queden enteros, despues de esto le asigno a los indices el valor correspondiente de amplitud. Mi problema ES que ahora que ya hice los indices que no me sirven cero esto a final de cuenta me grafica un cero que puedo hacer para eliminar cuando los valores son cero o decirle que no me los grafique??
les dejo parte de mi codigo para ver si me pueden ayudar
%Deteccion de la Onda R%
indices=find((ECGR2int<=24)&(ECGR2int>=20));
R1=ECGR2int(indices);
f=1;
for i=1:length(indices)-1
x=indices(i+1)-indices(i);
res=rem(x,2);
if res==0
x=x;
else
x=x+1;
end
if x<=10
indices(i)=indices(i)+(x/2);
indices(i+1)=1;
else
indices(i)=indices(i);
end
end
R2=ECGR2int(indices);
figure(6)
subplot(2,1,1)
stem(R2)
title('Grafica de las ondas R sin quitar el error de ECGR2int(0)')
for j=1:length(R2)
if R2(j)<=1
R2(j)=0;
else
R2(j)=R2(j);
end
end
figure(6)
subplot(2,1,2)
stem(R2)
title('Tacograma')