Guía 4 1 Facultad: Ingeniería Escuela: Ingeniería Biomédica Asignatura: Procesamiento de Señales Biomédicas Tratamiento de Señales con datos Estadísticos Objetivo 1. Manipular las señales y disminuir el ruido en una señal periódica utilizando datos estadísticos. Recomendaciones 1. Tenga orden y aseo para trabajar. 2. Al finalizar el laboratorio se debe dejar en la misma o mejor condición de la que se encontró (Asegúrese de apagar el Equipo antes de retirarse). Materiales y Equipo Computadora Matlab R2009b Procedimiento 1. Genere una señal cuadrada de 10 Voltios pico de amplitud y período de 5 Hz >> t=0:0.001:10; >>y=10*square(2*pi*5*t); 2. Grafique la señal, con sus viñetas respectivas >> figure(1), plot(t,y,'g') >> axis([0 1 -12 12]) >> grid >> title('Señal cuadrada con frecuencia de 5 Hz') >> xlabel('t[seg]') >> ylabel('V[Volt]') Guía 4 3. Añada a la señal, ruido gaussiano de 1 voltio máx. >> noise=rand(size(t)); >> x=noise+y; 4. Grafique la señal, con sus viñetas respectivas. >> figure(2), plot(t,x) >> axis([0 1 -12 12]), grid, title('Señal cuadrada con ruido incorporado') >> xlabel('t[seg]'), ylabel('V[Volt]') 5. Obtenga el valor promedio de los datos correspondientes a los datos de muestra siguientes: n=1, n=1+T, n=1+2T y n=1+3T >> M1=x(1:200); >> M2=x(201:400); >> M3=x(401:600); >> M=[M1;M2;M3]; 6. Obtenga los promedios de todas las muestras (n=2, n=3, n=4, hasta n=T) de un periodo. Utilice operaciones con matrices. >> P=mean(M); 7. Utilice los valores de promedio obtenidos para realizar un nuevo gráfico. ¿Qué características observa en el resultado? >> figure(3), plot(P) 8. Guarde el procedimiento en un archivo .m y nómbrelo adecuadamente. 2 Guía 4 9. Aplíquelo a una señal senoidal con ruido >> t=0:0.001:10; >> y=10*sin(2*pi*5*t); >> figure(4), plot(t,y), axis([0 1 -12 12]), title('Señal senoidal con frecuencia de 5 Hz'), xlabel('t[seg]'), ylabel('V[Volt]'), grid >> noise=rand(size(t)); >> x=noise+y; >> figure(5), plot(t,x), axis([0 1 -12 12]), title('Señal senoidal con ruido incorporado'), grid, xlabel('t[seg]'), ylabel('V[Volt]') >> c=mean_filter(x); >> figure (6), plot(c), grid, title('Señal senoidal promediada') 10. Compare los resultados y obtenga una conclusión en la aplicación de este filtro. 11. Calcule SNR de la señal antes y después del filtro >> SNR=mean(y)/std(y) SNR = 2.7818e-17 >> SNR=mean(c)/std(c) SNR = 0.0714 12. Trate de aplicar el procedimiento a una señal de ECG cualquiera obtenida de la guía anterior ¿es posible? >> [X,Fs,NBITS]=wavread('ecg01.wav'); >> Y=X*100; >> figure (7), plot(Y), axis([0 600 -0.6 1.1]) >> noise=rand(size(X)); >> Z=Y+noise; >> figure (8), plot(Z), grid, title('Señal de ECG con ruido') 13. Habiendo llegado a este punto, realice una modificación al archivo .m donde el vector M3 debe ser de la siguiente manera: M3=x(401:500); Y luego ejecute nuevamente el archivo M para el vector Z que contiene la señal más el ruido, para luego calcular el SNR. >> d=mean_filter(Z); >> SNR=mean(Z)/std(Z) 3 Guía 4 SNR = 1.4205 >> SNR=mean(d)/std(d) SNR = Inf Concluya sobre los resultados. 14. Ahora haciendo el mismo procedimiento sin modificar el archive .m >> [X,Fs,NBITS]=wavread('ecg01.wav'); >> Y=X*100; >> figure (7), plot(Y), axis([0 600 -0.6 1.1]) >> noise=rand(size(X)); >> Z=Y+noise; >> figure (8), plot(Z), grid, title('Señal de ECG con ruido') >> M1=Z(1:200); >> M2=Z(201:400); >> M3=Z(401:500); >> M=[M1;M2;M3]; >> P=mean(M); >> SNR=mean(Z)/std(Z) SNR = 1.4321 >> SNR=mean(P)/std(P) SNR = Inf Investigación complementaria 1. Seleccione una señal adicional de www.physionet.org y repita el procedimiento 12. 2. Aplique un proceso similar (del numeral 1 al 7), pero utilizando la desviación estándar en vez del promedio, en al menos dos señales, una del procedimiento, y otra de physionet. 3. Emita tres conclusiones acerca de los procedimientos realizados y la investigación complementaria. 4 Guía 4 Bibliografía 1. Nakamura, S. Análisis numérico y visualización gráfica con MATLAB, PrenticeHall Hispanoamérica. México DF. 2. http://www.mathworks.com/products/index.html?s_tid=brdcrb 3. www.physionet.org 5