Guía 7 1 Facultad: Ingeniería Escuela: Ingeniería Biomédica Asignatura: Procesamiento de Señales Biomédicas Filtros Digitales Objetivo 1. Construir un filtro WINDOWED-SINC pasabajos y aplicar a una señal biomédica 2. Construir un filtro WINDOWED-SINC pasa altos. 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 Introducción Teórica Los filtros que son WINDOWED-SINC son utilizados para separar una banda de frecuencias de otra. Son muy estables, producen algunos efectos, y pueden ser forzados a diferentes niveles de rendimiento. Las características especiales del dominio de la frecuencia son obtenidas en detrimento de sus funcionalidades dentro del dominio del tiempo, incluyendo una ondulación excesiva y un overshoot en la respuesta de step. Este tipo de filtro es muy fácil de programar, pero tienen una ejecución muy lenta. Guía 7 Procedimiento 1. Construya un kernel WINDOWED-SINC, según la teoría sobre este filtro, para ello utilizará la función SINC y la ventana HAMMING. >>t=-5*pi:0.1:3*pi; >>x=sinc(t+6); >>figure(1), plot(x), title('funcion sinc desplazada') >>y=hamming(252); >>figure(2), plot(y), title('ventana hamming') >>ytrans=y'; >>w=x.*ytrans; >>figure(3), plot(w), title('windowed sinc') >>W=fft(w); 2 Guía 7 >>Wabs=abs(W); >>figure(4),plot(Wabs), title('filtro pasabajos con función sinc de ventana') 2. Construir una señal senoidal con ruido (Construir una señal con componente frecuencial de línea o construir una señal de ruido y sumarla a la señal) y obtener su espectro. >> FS=1000; >>T=1/FS; >>L=1000; >>t=(0:L-1)*T; >>sen=sin(2*pi*14*t)+sin(2*pi*60*t); %Señal seno con interferencia de linea >>SEN=fft(sen); >>SENabs=abs(SEN); >>figure(5), plot(SENabs(1:300)), title('espectro de frecuencias de la suma de los senos') 3. Obtener la Transformada de Fourier del Kernel >> a=convn(sen,w); >>A=fft(a); >>absA=abs(A); >>figure(6), plot(absA(1:300)), title('Espectro de la señal al aplicar windowed sinc, se elimina la señal seno de 60Hz') 4. Tomar una señal de ECG con ruido y aplicar el filtro >> load A01m >> z=val; >>figure(7),plot(z(1:500)), title('señal de ECG') >>noise=randn(size(val)); >>ECGruido=z+10*noise; >>figure(8),plot(ECGruido),title('ECG con ruido') >>fftECGruido=fft(ECGruido); >>absECGruido=abs(fftECGruido); >>figure(9),plot(absECGruido(1:500)),title('Espectro de la señal de ECG con ruido ') >>ECGclean=convn(ECGruido,w); >>figure(10),plot(ECGclean),title('Señal de ECG filtrada') >>fftECGclean=fft(ECGclean); >>absECGclean=abs(fftECGclean); >>figure(11),plot(absECGclean(1:400)),title('Espectro de la señal de ECG filtrada') 3 Guía 7 Investigación complementaria 1. Construir un kernel basado en WINDOWED-SINC que realice un filtrado pasaalto. 2. Realizar un filtro pasa-banda, utilizando los dos kernel en cascada (filtro pasa bajos del desarrollo de la guia y el pasa altos de la investigación complementaria) 3. Investigar paso a paso como opera un filtro WIENER-KOLMOGOROFF 4. Investigar en qué consisten los filtros optimizados. 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 4
© Copyright 2024